xamarin-macios/src/scenekit.cs

5119 строки
148 KiB
C#
Исходник Обычный вид История

2016-04-21 15:30:02 +03:00
///
// Authors:
// Miguel de Icaza (miguel@xamarin.com)
// Aaron Bockover (abock@xamarin.com)
//
// Copyright 2012-2014 Xamarin, Inc.
//
// TODO:
//
// SpriteKit needs porting to Mac (see SCNSceneRenderer.OverlayScene)
//
// SCNSceneSource's propertyForKey: takes a series of constants,
// perhaps we should just hide that with strongly typed values, and
// not even expose the keys.
//
// Strong types SCNSceneSource's init options
//
// Review docs for "nil" to annotate the various nulls.
//
// Strongly typed dictionary support:
// - SCNTechnique:
// This one requires a strong type with nested components to produce the dictionary
// it is not very obvious.
// - SCNPhysicsShape (VERY IMPORTANT)
// - SCNParticleSystem (not important)
//
using System;
using System.ComponentModel;
using System.Diagnostics;
2016-04-21 15:30:02 +03:00
using XamCore.AVFoundation;
2016-04-21 15:30:02 +03:00
using XamCore.CoreFoundation;
using XamCore.Foundation;
using XamCore.ObjCRuntime;
using NMatrix4 = global::OpenTK.NMatrix4;
using NVector3 = global::OpenTK.NVector3;
using Vector4 = global::OpenTK.Vector4;
using Quaternion = global::OpenTK.Quaternion;
#if !WATCH
2016-04-21 15:30:02 +03:00
using XamCore.CoreAnimation;
using XamCore.CoreImage;
#endif
using XamCore.CoreGraphics;
2016-04-21 15:30:02 +03:00
using XamCore.SpriteKit;
// MonoMac (classic) does not support those 64bits only frameworks
#if (XAMCORE_2_0 || !MONOMAC) && !WATCH
2016-04-21 15:30:02 +03:00
using XamCore.ModelIO;
using XamCore.Metal;
using XamCore.GameplayKit;
2016-04-21 15:30:02 +03:00
#endif
#if MONOMAC
using XamCore.AppKit;
using OpenTK;
using GLContext = global::XamCore.OpenGL.CGLContext;
2016-04-21 15:30:02 +03:00
#else
Merge xcode9 into d15-4[-xi] (#2710) * [FileProvider] Add Xcode 9 Beta 1, 2 & 3 Bindings (#2279) * [FileProvider] Add Xcode 9 Beta 1 Bindings * Better naming * Feedback not related to BindAs * [FileProvider] Removes BindAs, add manual code for it and updated to Beta 3 * [FileProvider] Implement feedback * [CoreSpotlight] Updated spotlight bindings for xcode 9 beta 3. (#2193) Updated spotlight bindings for xcode 9 beta 3. * Fix warning caused by duplicate (#2354) * [FileProviderUI] Add Xcode 9 Beta 1 to 3 bindings (#2356) * Bump to Xcode 9 beta 4 * [arkit] ARLightEstimate does not conform to NSCopying anymore (fix unit test) * [uikit] NSFileProviderExtension.ReparentItem got a new parameter in beta4 (fix unit test) * [coreimage] CIImageAccumulator init returns nil in beta 4 There's no header change to mention `init` is not allowed but it's not clear how this default initializer could be used. Also make public some other API to construct this type (outside of XM). It's not clear why there were `internal` as they are (at least now) part of the header files. * [photos] Add helpers when PHLivePhotoEditingOption/NSDictionary is null (to avoid ambiguous API) (#2360) Adding a strongly typed `PHLivePhotoEditingOption` (a strongly typed version of an `NSDictionary`) can cause a `CS0121` (call is ambiguous) since using a `null` argument is common (only one option exist so far). This PR adds overloads that makes the code nicer in such case, e.g. before Xcode9: > // null is used when no options are given > _foo.SaveLivePhoto (output, null, completion); current (Xcode 9) > // casting required to remove ambiguity with PHLivePhotoEditingOption > _foo.SaveLivePhoto (output, (NSDictionary)null, completion); with this PR > // no option, no argument > _foo.SaveLivePhoto (output, completion); The same applies to `PrepareLivePhotoForPlayback`. * [tests] Disable/tweak two tests that breaks on (almost) all Xcode updates Those tests were not added to validate xOS so just keep the parts that helps us (without constantly checking back the new break flavor) * Disable watchOS to check if this hides others issues * [mapkit] Update for beta 4 * [coredata] Update for beta 4 * [wkwebkit] Update for beta 4 Note: WKWindowFeatures.h is not compiled (part of the framework umbrella) and the `@interface WKWindowFeatures (WKPrivate)` sounds like it should not have been exposed (it's all fields starting with `_`) * [corelocation] Update for beta 4 * Revert "Disable watchOS to check if this hides others issues" This reverts commit fed2249fa43290a1956ab2fe0d48f83ab6db9711. * [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]: https://github.com/xamarin/xamarin-macios/blob/f5956d6cc1eb5dfa7bab16628cf282d40237f64e/src/generator.cs#L5985 * [FinderSync] Update to beta 4 (#2377) * [ImageIO] Update to Xcode 9 (#2353) * [PhotosUI] Move macOS photosui bindings out of photos.cs into photosui.cs (#2358) * [quicklook] Update up to beta 4 (#2374) * [uikit] UIDragInteraction & UIDragInteractionDelegate (Xcode 9 b1,2,3) (#2357) * [safariservices] Update up to beta 4 (#2380) * [coreanimation] Update to beta 4 (#2382) Apple removed (mistake?) some API in beta 1. Filed as rdar 33590997 Internal tracking in https://trello.com/c/J8BDDUV9/86-33590997-coreanimation-quartzcore-api-removals * [storekit] Update up to beta 4 (#2379) * [CoreML] Update to Xcode 9 Beta 4 (#2387) * [uikit] UICollectionView/UITableView Drag & Drop (Xcode 9 b1,2,3 & 4) (#2355) * Update code after radar 32929318 and 32897776 are fixed in b4 (#2394) * [xcode9 CoreAudio] New definitions from Beta1 to Beta3 (#2359) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 (#2397) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 https://bugzilla.xamarin.com/show_bug.cgi?id=58512 Created strong API (VNBarcodeSymbology) on the following properties * VNDetectBarcodesRequest.SupportedSymbologies * VNDetectBarcodesRequest.Symbologies * VNBarcodeObservation.Symbology * Remove modern C# because classic can't do it 😡 * [mediaplayer] Update up to beta 4 (#2388) * [watchkit] Update to beta 4 (#2398) * Bump Visual Studio for Mac max version (#2408) * [coreimage] Add CIBarcodeDescriptor and enabled missing API for VNBarcodeObservation. Fix #58197 (#2411) https://bugzilla.xamarin.com/show_bug.cgi?id=58197 * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 (#2407) * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 * [uikit] Fixes based on comments * [coreimage] CIImageAccumulator API fixes. Fix #58349 (#2412) * Obsolete the default `init`; * XM exposed some older APIs using `int` instead of `CIFormat`. This is fixed and old APIs are obsoleted; * Both new & old APIs are now using `CIFormat` for both XI and XM. https://bugzilla.xamarin.com/show_bug.cgi?id=58349 * [uikit] UIText drag & drop - up to Xcode 9 beta 4 (#2410) * [uikit] UISplitView & UIStackView up to Xcode 9 beta 4 (#2425) * Bump XI/XM versions before preview 4 (#2422) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 (#2378) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 * [PDFKit] Implement feedback * [PDFKit] the forgotten enum * [PDFKit] More feedback * [PDFKit] Add Mac changes * Missing change * Fix test RectangleF VS CGRect * Pass -Wunguarded-availability-new to quiet a new clang warning (#2424) - https://bugzilla.xamarin.com/show_bug.cgi?id=58574 * [mtouch/mmp] Ignore warnings about unguarded code section with regards to availability. (#2441) * [monotouch-test] Remove workaround for fixed Apple bug. (#2445) * Bump to Xcode 9 beta 5. (#2447) * Bump to Xcode 9 beta 5. * [mmp] Disable the partial static registrar, because Apple's macOS SDK is broken. > In file included from Xamarin.Mac.registrar.mobile.i386.m:1: > In file included from ./Xamarin.Mac.registrar.mobile.i386.h:11: > /Applications/Xcode9-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVFoundation.h:88:9: fatal error: 'AVFoundation/AVRouteDetector.h' file not found https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [mmp] Fix partial static registrar removal. * [CallKit] Update to Xcode 9 beta 5. * [ARKit] ARPointCloud doesn't conform to NSCopying anymore in Xcode 9 beta 5. * [ARKit] Update to Xcode 9 beta 5 enough to make tests happy. * [CoreImage] Stub out new filters in Xcode 9 beta 5. * [tests][monotouch] Simplify some MDLMesh asserts since values change a lot between OS versions. * [mmp] Default to the dynamic registrar for release builds again, due to bug #58629. https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [tests][introspection] CXCall started implementing NSCopying without saying so in the headers. * Disable mmp static registrar tests due to 58629 for now * [quicklook] Update to beta 5 (#2450) * [photos] Update for beta 5 (#2452) Also update some existing enum members were added in beta 1 on macOS * [safariservices] Update for beta 5 (#2455) * [mediaplayer] Update to beta 5 (#2456) * [CoreLocation] Update Xcode 9 Beta 5 (#2453) * [CoreML] Update to Xcode 9 Beta 5 (#2454) * [Contacts] Update to Xcode 9 Beta 5 (#2451) * [Vision] Update to Xcode 9 Beta 5 (#2458) * [builds] Tell LLVM to stay away from newer macOS functions. (#2459) Fixes this build problem on Sierra: > ld: weak import of symbol '_futimens' not supported because of option: -no_weak_imports for architecture x86_64 This is a symbol that was (will be?) introduced in High Sierra. Interestingly this only occurs if the Xcode 8.X Command Line Tools haven't been manually installed. Because if the Xcode 8.X Command Line Tools are installed, this happens: 1. llvm's configure script detects that 'futimens' is not usable. 2. llvm's configure script detects that 'futimens' is not usable, because xcrun sets SDKROOT=/ when calling clang. a. When the SDKROOT variable is set, clang passes '-syslibroot /usr/lib' to ld. b. When ld gets '-syslibroot /usr/lib', ld looks in '/usr/lib' for a library that contains 'futimens' in the OS itself, and since we're on Sierra, that fails to link. c. So when llvm's configure script creates a test program that checks if 'futimens' is present, the program fails. This is correct, and makes llvm *not* use futimens. 3. xcrun sets SDKROOT=/ because /usr/share/current-os.sdk/Info.plist exists. If that file does not exist, then xcrun sets SDKROOT to Xcode9's macOS SDK (because that's what xcode-select reports). a. When SDKROOT is set to Xcode9's macOS SDK, the configure check for 'futimens' succeeds, because the macOS 10.13 SDK contains that function. b. llvm happily uses 'futimens', and then the final link fails because we're using a symbol not available on all target platforms. * [arkit] Update for Xcode 9 beta 5 - Part 1 (#2460) * [tests] The container app for watchOS tests should be 64-bit. (#2463) * [xharness] watchOS tests need to run in a clean environment. Works around #58348. (#2462) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [xharness] It watchOS tests don't need to be clean anymore. Fixes #58348. (#2473) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [uikit] UIView/UIScrollView/UIViewController up to Xcode 9 beta 5 (#2431) - Add NSDirectionalEdgeInsets type. - Includes DirectionalEdgeInsetsTest. * [AudioToolbox] Update bindings to Xcode 9 beta3 (not later changes). (#2294) * [xharness] Add a file existence check. (#2478) Fixes this exception: ``` Harness exception for 'introspection': System.IO.FileNotFoundException: Could not find file '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log'. File name: '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log' at System.IO.__Error.WinIOError (System.Int32 errorCode, System.String maybeFullPath) [0x00207] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/__error.cs:188 at System.IO.FileInfo.get_Length () [0x00038] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/fileinfo.cs:171 at xharness.CaptureLog.StopCapture () [0x00021] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Log.cs:252 at (wrapper remoting-invoke-with-check) xharness.CaptureLog:StopCapture () at xharness.AppRunner+<RunAsync>d__68.MoveNext () [0x0127f] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/AppRunner.cs:642 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter`1[TResult].GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:357 at xharness.RunSimulatorTask+<RunTestAsync>d__7.MoveNext () [0x0029d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2894 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.RunTestTask+<ExecuteAsync>d__8.MoveNext () [0x0010b] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2538 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.TestTask+<RunInternalAsync>d__87.MoveNext () [0x0010d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:1870 ``` I'm not sure how this can happen, but it has on the bots [1]. [1] https://jenkins.mono-project.com/job/xamarin-macios-pr-builder/4548/Test_Report/ * Bump versions for preview 5 (#2479) * [passkit] Update to beta 5 (#2481) * [tests] Remove workaround for radar #32688391. (#2486) * [replaykit] Update up to beta 5 (#2484) * Bump maccore to get fix for bug #55064. (#2487) * [apidiff] Update definition to new 10.12 (d15-3) stable release (#2490) * [SceneKit] basic work (#2483) * [coredata] Update to beta 5 (#2488) * [homekit] Update for Xcode 9 beta 5 (#2492) * [Foundation] Update for xcode9 (#2468) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 (#2493) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 * [Intents] Implement feedback * [Intents] Add a generic version for INInteraction.GetParameterValue * [Intents] Missing check * [Contacts] Add missing foundation NSItemProviderWriting protocol to CNContact (#2496) https://bugzilla.xamarin.com/show_bug.cgi?id=58203 This is available on all Contacts supported platforms ``` ./iPhoneOS.platform/Developer/SDKs/iPhoneOS11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchOS.platform/Developer/SDKs/WatchOS4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchSimulator.platform/Developer/SDKs/WatchSimulator4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ``` * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) (#2497) * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) * [IntentsUI] Better use a delegate instead so we have named params * Bump versions before 6th preview (#2514) * [arkit] Add missing MarshalDirective to ARPlaneAnchor (#2517) - Fixes bug #58648: ARPlaneAnchor.Extent property seems incorrect but changes to correct value after Debug access (https://bugzilla.xamarin.com/show_bug.cgi?id=58648) * [xtro-sharpie] Fix a compiler warning. (#2516) Fixes these warnings: Runner.cs(197,5): warning CS0642: Possible mistaken empty statement Runner.cs(199,5): warning CS0642: Possible mistaken empty statement Runner.cs(201,5): warning CS0642: Possible mistaken empty statement Runner.cs(203,5): warning CS0642: Possible mistaken empty statement Runner.cs(205,5): warning CS0642: Possible mistaken empty statement * [uikit] Update for Xcode 9 beta 5 - Part 3 (#2511) - UIKeyCommand - UINavigationBar - UINavigationItem - UIPasteboard - UITableViewHeaderFooterView * [xtro-sharpie] Remove xtro-plugin and misc other fixes. (#2522) * [xtro-sharpie] Build with msbuild and be as quiet as requested when building. * [xtro-sharpie] Must run as a 64-bit process, since the required native libraries are 64-bit. * [xtro-sharpie] Add run configurations to the project file to ease debugging in the IDE. * [xtro-sharpie] Remove xtro-plugin and the related commands. This was needed when there wasn't a 64-bit mono, in order to run xtro-sharpie in a 64-bit process. Now there is a 64-bit mono, so it's not needed anymore. Also improve makefile targets a bit, to auto-build stuff when needed, by setting the right dependencies. * Bump Xcode 9 to beta 6 (#2519) Disable watchOS tests again It seems like the Carousel crash from beta 4 is back to haunt us. This was working fine with beta 5. * Backport d15-3 SR2 fixes (#2515) * [coredata] Update to beta 6 (#2528) This seems to only revert some nullability changes from beta 5. * [coreml] Update to beta 6 (#2531) Fix our rdar 33643011 where additional setters were added in the headers but did not exists. * [videosubscriberaccount] Update to beta 6 (#2533) Only b1 and b2 introduced some additions/changes * [uikit] Update for Xcode 9 beta 6 - Part 4 (#2527) The following headers are now up to date: - UICollectionViewFlowLayout.h - UIDocumentPickerViewController.h - UIFontDescriptor.h - UIImage.h - UIImageView.h - UIImagePickerController.h * [xharness] Re-enable the watchOS tests. (#2534) It works fine for me locally, so let's see what Jenkins says. * [macos] Add new APIs in CoreWlan from Xcode9b3 (#2525) * Update AppKit bindings based on radar 33271241 results (#2518) * Update AppKit bindings based on radar 33271241 results - The header comment was updated to note it was NSSliderTouchBarItem view that has the protocol * Remove NSUserInterfaceCompression where not listed in header * [vision] Update to beta 6 (#2532) Removal of some deprecated (during beta) `init*` selectors. Also sync the versions that were inlined in subclasses - the old ones were not removed and the new ones were not added. * [xtro-sharpie] Many methods don't have selectors in Clang's API, so default to the name if no selector. (#2523) This makes a few more unclassified entries show up (mostly missing designated initializers): https://gist.github.com/rolfbjarne/07aa20f9b50b75bf3e69ac6a825e873a * [macos] Add ExternalAccessory APIs from xcode9 (#2526) * [58851] Disable NSMenuView in AllItemsWithNSMenuShouldAllowNull (#2504) * [arkit] Update for Xcode 9 beta 5 - Part 2 (#2505) - Add last missing selector. - Add tests for manual code. * [monotouch-test] Disable FontDescriptorTest.WithFeature (#2537) Disabled because it looks like the tvOS font we use: "Gujarati Sangam MN" does not have rare ligatures anymore (and the entire test is based on it). Before getting an actual fix for that, let's disable the test so it doesn't break all current builds. See: https://bugzilla.xamarin.com/show_bug.cgi?id=58929 * [xtro-sharpie] Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute. (#2524) Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute to calculate the native name for a TypeDefinition. Unclassified changes: https://gist.github.com/rolfbjarne/828f8ee41eebb0a3b60a38d71822fe59 * [foundation/uikit] Inline NSItemProvider_UIKitAdditions in NSItemProvider (#2538) As suggested here: https://github.com/xamarin/xamarin-macios/pull/2527#discussion_r134670981 * [intents] Fix breaking changes (api-diff) (#2543) Additions of @required members inside `INSpeakable` cannot be `[Abstract]` * [contacts] Fix breaking change (api-diff) (#2542) Type Changed: Contacts.CNPostalAddress Removed method: public static string LocalizeProperty (CNPostalAddressKeyOption option); * [macos] Reenable static registrar since Xcode9b6 un-broke SDK headers (#2544) - Fix a subtle spacing issues in PartialStaticLibrary property * [corebluetooth] Update up to beta 6 and enable it on watchOS (#2540) macOS 10.13 has finally catch up with iOS and this simplifies the bindings a bit. * [foundation] API fixes (apidiff) (#2545) 1. Let's not add new, already [Obsolete] API Type Changed: Foundation.NSDimension Added constructors: [Obsolete ("Not intended to be directly instantiated, this is an abstract class.")] public NSDimension (); 2. Fix inconsistently named API, e.g. Type Changed: Foundation.NSAttributedString Added properties: public static string[] ReadableTypeIdentifiersForItemProvider { get; } public static string[] WritableTypeIdentifiers { get; } * [pdfkit] Do not add already [Obsolete] API in new profiles (#2547) and ensure using the newer, correct API works cross-platforms iOS (before) [Obsolete ("Use 'Find (string, NSStringCompareOptions)' instead.")] public virtual PdfSelection[] Find (string text, nint options); public PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'Find (string, PdfSelection, NSStringCompareOptions)' instead.")] public virtual PdfSelection Find (string text, PdfSelection selection, nint options); public void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string, NSStringCompareOptions)' instead.")] public virtual void FindAsync (string text, nint options); public void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string [], NSStringCompareOptions)' instead.")] public virtual void FindAsync (string[] text, nint options); iOS (after) public virtual PdfSelection[] Find (string text, Foundation.NSStringCompareOptions compareOptions); public virtual PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); * Bump versions for the 7th preview (#2541) * Remove additions of AVKit removed in beta5 (#2536) * NSUrlSessionTask should implement NSProgressReporting for iOS (#2548) NSUrlSessionTask implements NSProgressReporting on iOS as well as Mac, so the #if MONOMAC isn't needed. * Add missing availability attributes causing failures on older iOS versions (#2550) * [vision] Minor fix wrt xtro (#2551) including some things we need to ignore manually !missing-field! VNVisionVersionNumber not bound !missing-pinvoke! VNImagePointForFaceLandmarkPoint is not bound !missing-pinvoke! VNNormalizedFaceBoundingBoxPointForLandmarkPoint is not bound * [uikit] NSFileProviderMessaging was removed in beta 2. Fixes #58222 (#2552) reference: https://bugzilla.xamarin.com/show_bug.cgi?id=58222 * [uikit] Update for Xcode 9 - Part 5 (#2546) Bindings for the following headers: - UIActivity.h - UIActivityItemProvider.h - UIAlertController.h - UIApplication.h - UIBarButtonItem.h - UIButton.h - UICollectionViewLayout.h - UIColor.h - UIControl.h - UIDocumentMenuViewController.h - UIFontMetrics.h - UIGestureRecognizer.h - UIGraphicsImageRenderer.h - UIInputViewController.h * [CoreText] Fix an extraneous free in CTFont.GetDefaultCascadeList. (#2555) We do not own the return value from CFArrayGetValueAtIndex, so don't say we do when creating CTFontDescriptor instances, since that leads to angry dragons: 2017-08-28 20:15:20.293 monotouchtest[33186:2311738] A_FontTest 2017-08-28 20:15:20.294 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithFontDescriptorAndOptions 2017-08-28 20:15:20.295 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithNameAndOptions 2017-08-28 20:15:20.296 monotouchtest[33186:2311738] critical: Stacktrace: at <unknown> <0xffffffff> at (wrapper managed-to-native) CoreText.CTFont.CTFontCopyDefaultCascadeListForLanguages (intptr,intptr) [0x0000a] in <ae65a2b1eea242d2b68fe784749543bf>:0 at CoreText.CTFont.GetDefaultCascadeList (string[]) [0x00013] in /work/maccore/xcode9/xamarin-macios/src/CoreText/CTFont.cs:2185 at MonoTouchFixtures.CoreText.A_FontTest.GetCascadeList () [0x0001e] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/CoreText/FontTest.cs:78 at (wrapper runtime-invoke) object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) [0x0004f] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) System.Reflection.MonoMethod.InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&) [0x00016] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at System.Reflection.MonoMethod.Invoke (object,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo) [0x00032] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/corlib/System.Reflection/MonoMethod.cs:305 at System.Reflection.MethodBase.Invoke (object,object[]) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/referencesource/mscorlib/system/reflection/methodbase.cs:229 at NUnit.Framework.Internal.Reflect.InvokeMethod (System.Reflection.MethodInfo,object,object[]) [0x00009] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Reflect.cs:215 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunNonAsyncTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x00025] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:116 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x0001a] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:90 at NUnit.Framework.Internal.Commands.TestMethodCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:66 at NUnit.Framework.Internal.Commands.SetUpTearDownCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00007] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/SetUpTearDownCommand.cs:84 at NUnit.Framework.Internal.WorkItems.SimpleWorkItem.PerformWork () [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/SimpleWorkItem.cs:64 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at MonoTouch.NUnit.UI.BaseTouchRunner.Run (NUnit.Framework.Internal.Test) [0x0004d] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:442 at MonoTouch.NUnit.UI.BaseTouchRunner.Run () [0x00030] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:171 at MonoTouch.Dialog.StringElement.Selected (MonoTouch.Dialog.DialogViewController,UIKit.UITableView,Foundation.NSIndexPath) [0x00008] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/Elements.cs:765 at MonoTouch.Dialog.DialogViewController.Selected (Foundation.NSIndexPath) [0x00026] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:577 at MonoTouch.Dialog.DialogViewController/Source.RowSelected (UIKit.UITableView,Foundation.NSIndexPath) [0x00016] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:402 at (wrapper runtime-invoke) <Module>.runtime_invoke_void__this___object_object (object,intptr,intptr,intptr) [0x0005d] in <32f0c196c5bc4aa18daea2ee64a7814e>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) UIKit.UIApplication.UIApplicationMain (int,string[],intptr,intptr) [0x0005c] in <ae65a2b1eea242d2b68fe784749543bf>:0 at UIKit.UIApplication.Main (string[],intptr,intptr) [0x00005] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:79 at UIKit.UIApplication.Main (string[],string,string) [0x00038] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:63 at monotouchtest.Application.Main (string[]) [0x00011] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/Main.cs:27 at (wrapper runtime-invoke) <Module>.runtime_invoke_void_object (object,intptr,intptr,intptr) [0x00051] in <30a7f7e09de9467b8b454221034a0e38>:0 Native stacktrace: 0 monotouchtest 0x000000010fca03c4 mono_handle_native_crash + 244 1 monotouchtest 0x000000010fcadd30 mono_sigsegv_signal_handler + 288 2 libsystem_platform.dylib 0x000000011feb3b3a _sigtramp + 26 3 CoreFoundation 0x000000011de035a2 computeSanitizedString + 146 4 CoreText 0x00000001168df314 _ZN15TPurgeableCache19RetainedValueForKeyEPKv + 54 5 CoreText 0x00000001168def85 _ZNK17TDescriptorSource22CopyDescriptorUncachedEPK7__CFURLbPK10__CFString + 55 6 CoreText 0x00000001168df34f _ZNK17TDescriptorSource14CopyDescriptorEPK7__CFURLbPK10__CFString + 27 7 CoreText 0x00000001168e20ad _ZNK17TDescriptorSource35CopyFontDescriptorPerPostScriptNameEPK10__CFStringmm + 297 8 CoreText 0x00000001168dfd9e _ZNK17TDescriptorSource30CopySystemFontDescriptorByNameEPK10__CFString10UIFontFlag + 54 9 CoreText 0x00000001168e54c4 _ZNK14TFontFallbacks17CopyFontFallbacksEPK10__CFStringS2_PK9__CFArray + 652 10 CoreText 0x00000001168e4a00 _ZNK14TFontFallbacks29CopyFontFallbacksForLanguagesEPK10__CFStringPK9__CFArray + 122 11 CoreText 0x00000001168e4971 _ZN17TDescriptorSource39CopyDefaultSubstitutionListForLanguagesEPK10__CFStringPK9__CFArray + 61 12 CoreText 0x00000001169397a7 _ZNK9TBaseFont28CreateSystemDefaultFallbacksEPK10__CFStringPK9__CFArray + 51 13 CoreText 0x000000011693999c _ZNK9TBaseFont15CreateFallbacksE10UIFontFlagPPK16__CFCharacterSetPK9__CFArray + 346 14 CoreText 0x00000001168c1036 _ZNK5TFont24CreateDefaultCascadeListEPK9__CFArray + 242 15 CoreText 0x00000001168b8ff9 CTFontCopyDefaultCascadeListForLanguages + 97 16 ??? 0x0000000140eaefd3 0x0 + 5384105939 17 ??? 0x0000000140eae761 0x0 + 5384103777 18 ??? 0x000000013c9c8e74 0x0 + 5311860340 19 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 20 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 21 monotouchtest 0x000000010fd71bac mono_runtime_try_invoke_array + 1292 22 monotouchtest 0x000000010fd15587 ves_icall_InternalInvoke + 647 23 ??? 0x000000013e9fcd13 0x0 + 5345627411 24 ??? 0x000000013e9fc738 0x0 + 5345625912 25 ??? 0x000000013e9fded5 0x0 + 5345631957 26 ??? 0x000000013e9fbb76 0x0 + 5345622902 27 ??? 0x000000013e9e237e 0x0 + 5345518462 28 ??? 0x000000013e9e237e 0x0 + 5345518462 29 ??? 0x000000013e9e237e 0x0 + 5345518462 30 ??? 0x000000013e9e237e 0x0 + 5345518462 31 ??? 0x000000013e873006 0x0 + 5344014342 32 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 33 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 34 monotouchtest 0x000000010fd6e320 mono_runtime_invoke + 208 35 monotouchtest 0x000000010fe71af1 xamarin_invoke_trampoline + 5617 36 monotouchtest 0x000000010fe79ddd xamarin_arch_trampoline + 189 37 monotouchtest 0x000000010fe7b1a1 xamarin_x86_64_common_trampoline + 110 38 UIKit 0x0000000111b9876b -[UITableView _selectRowAtIndexPath:animated:scrollPosition:notifyDelegate:] + 1810 39 UIKit 0x0000000111b98986 -[UITableView _userSelectRowAtPendingSelectionIndexPath:] + 344 40 UIKit 0x0000000111a6b5c9 _runAfterCACommitDeferredBlocks + 318 41 UIKit 0x0000000111a59dad _cleanUpAfterCAFlushAndRunDeferredBlocks + 280 42 UIKit 0x0000000111a89f68 _afterCACommitHandler + 137 43 CoreFoundation 0x000000011de3ddb7 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23 44 CoreFoundation 0x000000011de3dd0e __CFRunLoopDoObservers + 430 45 CoreFoundation 0x000000011de22324 __CFRunLoopRun + 1572 46 CoreFoundation 0x000000011de21a89 CFRunLoopRunSpecific + 409 47 GraphicsServices 0x0000000121b7e9c6 GSEventRunModal + 62 48 UIKit 0x0000000111a5f7d0 UIApplicationMain + 159 49 ??? 0x000000013c9c4474 0x0 + 5311841396 50 ??? 0x000000013c9c40ad 0x0 + 5311840429 ================================================================= Got a SIGSEGV while executing native code. This usually indicates a fatal error in the mono runtime or one of the native libraries used by your application. ================================================================= * [monotouch-test] Don't subclass MKMapView. (#2556) MKMapView doesn't like being subclassed (Apple says "you should not subclass the MKMapView class itself"). Bad things like this starts happening: Thread 0 name: tid_303 Dispatch queue: com.apple.main-thread Thread 0 Crashed: 0 libsystem_kernel.dylib 0x0000000186b25348 __pthread_kill + 8 1 libsystem_pthread.dylib 0x0000000186c39354 pthread_kill$VARIANT$mp + 396 2 libsystem_c.dylib 0x0000000186a94fd8 abort + 140 3 monotouchtest 0x0000000101c02c14 mono_handle_native_crash + 22047764 (mini-exceptions.c:2548) 4 monotouchtest 0x0000000101c0d02c mono_sigsegv_signal_handler + 22089772 (mini-runtime.c:2886) 5 libsystem_platform.dylib 0x0000000186c33b60 _sigtramp + 52 6 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 7 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 8 CoreFoundation 0x0000000186eda51c -[__NSArrayM dealloc] + 68 9 CoreFoundation 0x000000018703f5c8 __CFBasicHashDrain + 312 10 CoreFoundation 0x0000000186fb5b44 _CFRelease + 224 11 CoreText 0x000000018a808404 TDescriptorSource::PurgeFontFallbacksCache+ 488452 () + 92 12 CoreText 0x000000018a808374 TDescriptorSource::PurgeFromCaches+ 488308 (__CFURL const*) const + 176 13 CoreText 0x000000018a7eec74 CTFontRemoveFromCaches + 168 14 VectorKit 0x0000000196a539b0 +[VKSharedResourcesManager removeResourceUser:] + 324 15 VectorKit 0x0000000196ca27a4 md::MapEngine::~MapEngine+ 2643876 () + 360 16 VectorKit 0x0000000196ca2634 md::MapEngine::~MapEngine+ 2643508 () + 12 17 libobjc.A.dylib 0x000000018651eef4 object_cxxDestructFromClass+ 28404 (objc_object*, objc_class*) + 148 18 libobjc.A.dylib 0x000000018652c638 objc_destructInstance + 88 19 libobjc.A.dylib 0x000000018652c690 object_dispose + 16 20 QuartzCore 0x000000018afca3ac -[CALayer dealloc] + 116 21 VectorKit 0x0000000196a43294 -[VKMapView dealloc] + 940 22 QuartzCore 0x000000018af6aafc CA::release_objects+ 744188 (X::List<void const*>*) + 32 23 QuartzCore 0x000000018afd97d8 CA::Layer::~Layer+ 1198040 () + 276 24 QuartzCore 0x000000018afca37c -[CALayer dealloc] + 68 25 QuartzCore 0x000000018af6b16c CA::Transaction::commit+ 745836 () + 1052 26 UIKit 0x0000000190393290 _afterCACommitHandler + 256 27 CoreFoundation 0x0000000186fb38b8 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 32 28 CoreFoundation 0x0000000186fb1270 __CFRunLoopDoObservers + 412 29 CoreFoundation 0x0000000186fb182c __CFRunLoopRun + 1292 30 CoreFoundation 0x0000000186ed22d8 CFRunLoopRunSpecific + 436 31 GraphicsServices 0x0000000188d58f84 GSEventRunModal + 100 32 UIKit 0x000000019040427c UIApplicationMain + 208 33 monotouchtest 0x000000010106eb90 wrapper_managed_to_native_UIKit_UIApplication_UIApplicationMain_int_string___intptr_intptr + 9907088 (/<unknown>:1) 34 monotouchtest 0x0000000100f0d6ac UIKit_UIApplication_Main_string___intptr_intptr + 8459948 (UIApplication.cs:79) 35 monotouchtest 0x0000000100f0d66c UIKit_UIApplication_Main_string___string_string + 8459884 (UIApplication.cs:63) 36 monotouchtest 0x0000000100b10450 monotouchtest_Application_Main_string__ + 4277328 (Main.cs:27) 37 monotouchtest 0x0000000100e0c244 wrapper_runtime_invoke_object_runtime_invoke_dynamic_intptr_intptr_intptr_intptr + 244 38 monotouchtest 0x0000000101c10048 mono_jit_runtime_invoke + 22102088 (mini-runtime.c:2526) 39 monotouchtest 0x0000000101c75eec do_runtime_invoke + 22519532 (object.c:2829) 40 monotouchtest 0x0000000101c78a3c do_exec_main_checked + 22530620 (object.c:4623) 41 monotouchtest 0x0000000101bf9a1c mono_jit_exec + 22010396 (driver.g.c:1040) 42 monotouchtest 0x0000000101d13d60 xamarin_main + 23166304 (monotouch-main.m:482) 43 monotouchtest 0x00000001007de710 main + 927504 (main.m:67) 44 libdyld.dylib 0x00000001869f656c start + 4 * [introspection] Let SkipDueToAttributeInProperty skip setters too (#2557) `SkipDueToAttributeInProperty` which is used to check the availability attribute of properties when the Availability info only exist on the property and not on the property Getter or Setter was wrong. This lead to `setSpringLoaded` (which was introduced in iOS 11) to not be ignored by the test (making it fail). - Fix bug #59085: [introspection-ios] selector not found for UIKit.UIBarButtonItem : setSpringLoaded: - Broken test (https://bugzilla.xamarin.com/show_bug.cgi?id=59085) * [corevideo][watchos] Enable CoreVideo on watchOS (#2553) * [storekit] Fix CampaignToken typo (#2559) (#2560) - Fixes bug #59078: StoreProductParameters and invalid property for CampaignToken (https://bugzilla.xamarin.com/show_bug.cgi?id=59078) * [coreml][watchos] Enable API using CoreVideo on watchOS. Fix #58097 (#2561) https://bugzilla.xamarin.com/show_bug.cgi?id=58097 * Add missing [MarshalDirective] attributes. (#2558) * [bindings-generator] Improve build & project file. * Add missing [MarshalDirective] attributes. Add missing [MarshalDirective] attributes, which also requires implementing support for out parameters in the binding generator, since one of the signatures missing the [MarshalDirective] contains such an out parameter. Also add tests for all the API I've added [MarshalDirective] to. * [bindings-generator] Remove redundant if check. * [monotouch-test] Rename file to end with 'Test.cs'. * [tests] Fix a few build errors for Xamarin.Mac. * [uikit] Fix UIColor and UIInputViewController tvOS availability (#2569) - Fixes introspection tests on tvOS 10. * [storekit] Fix SKCloudServiceSetupMessageIdentifier and SKProductStorePromotionController tvOS availability (#2568) - Fixes introspection tests on tvOS 10. * [mapkit] Fix MKMapItemTypeIdentifier tvOS availability (#2566) - Also remove double [Mac] availability attribute. - Fixes introspection tests on tvOS 10. * [ARKit] Fix marshalling for ARPointCloud.RawFeaturePoints. (#2565) ARPointCloud.RawFeaturePoints is an array of Vector3, but each vector is 16-byte aligned (as if it were an array of Vector4). This means we need to account for this when creating a managed array from pointer to the native C-style array. * [ModelIO] Fix MDLVoxelIndexExtent struct. (#2564) The MDLVoxelIndexExtent is a struct containing two 4-dimensional vectors of integers (not floats, as originally and incorrectly implemented). Fix this my creating a new MDLVoxelIndexExtent2 struct with the right fields, re-implement all the API that exposes this struct and obsolete the old API. Also add missing [MarshalDirective] attributes. And write a test to make sure it works fine now and forever. * [coredata] Enable new fields since rdar #33878590 is fixed w/beta 6 (#2570) reference: https://trello.com/c/dlSRYPFx * [xtro-sharpie] Add a Simd check class to verify signatures with Simd types. * [Simd] Add simd matrix types. The OpenTK matrices (Matrix2/3/4) has a different memory layout than Apple's matrix_float2x2/matrix_float3x3/matrix_float4x4 matrices: the OpenTK versions are row-major, while Apple's versions are column-major. This means that when blitting memory from one to the other, the matrix will appear to have been transposed. See bug #[58599][2] for an example. Unfortunately we've already bound several API with Apple's matrix_floatXxX matrices using OpenTK's matrices, and although they're bound wrong, and the matrices appear transposed on input/output, we can't change the behavior because we have to maintain compatibility. This means we have to introduce new API, and then also just define new matrix types with the right memory layout (column-major). Additionally, in the future we might be able to mark these matrices as Simd-matrixes, so that the JIT/AOT compiler can generate the correct alignment for them, avoiding having to define a native conversion method (using the [MarshalDirective] hack). The matrices have been designed to match API-wise the matrices in the System.Numerics.Vectors namespace [1], but for the moment with only a few basic operations implemented (Determinant/Transpose/Multiply) defined (we can always add more later if we want to). In addition explicit conversion operators to and from the corresponding OpenTK.MatrixX are implemented, which means any operation defined in the OpenTK matrices can be used by converting back and forth. [1]: https://msdn.microsoft.com/en-us/library/system.numerics.matrix4x4(v=vs.111).aspx [2]: https://bugzilla.xamarin.com/show_bug.cgi?id=58599 * [ARKit] Use the new Simd matrix types. * [Vision] Use the new Simd matrix types. * [ModelIO] Use the new Simd-compatible matrix types, and deprecate the old API. * [GameplayKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [SpriteKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [xtro] Don't report missing [MarshalDirective] for obsolete methods. * [xtro] Remove unnecessary ignores. The implementation changed, and these stayed accidentally. * [wkwebkit] Fix (native) protocol names (#2572) Also ignore xtro's WKSnapshotConfiguration since it's an Apple bug 34185961 reference (xtro) !missing-protocol! WKURLSchemeHandler not bound !missing-protocol! WKURLSchemeTask not bound !unknown-protocol! WKUrlSchemeHandler bound !unknown-protocol! WKUrlSchemeTask bound !unknown-type! WKSnapshotConfiguration bound * [uikit] Fix enums availability attributes (#2575) - Fixes bug #59132: [uikit] Extra types in watchOS (https://bugzilla.xamarin.com/show_bug.cgi?id=59132) * [watchkit] Add missing designated initializers (#2574) references (xtro) !missing-designated-initializer! WKInterfaceController::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! WKUserNotificationInterfaceController::init is missing an [DesignatedInitializer] attribute * [xtro] Reword some of the Simd diagnostic messages according to review. * [tests] Make sure test symbols don't clash between different test libraries. Fixes this build problem for framework-test: clang: error: linker command failed with exit code 1 (use -v to see invocation) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_get_rotation_matrix'. MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticObjectTest.framework/XStaticObjectTest (Location related to previous error) MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticArTest.framework/XStaticArTest(libtest-ar.x86_64.o) (Location related to previous error) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransformcomponent_get_local_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_create_global_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float4x4'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float3x3'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float2x2'. MTOUCH: error MT5209: Native linking error: 6 duplicate symbols for architecture x86_64 MTOUCH: error MT5202: Native linking failed. Please review the build log. * [tests] Since libtest.a need ModelIO now, the corresponding LinkWith attributes need to state that too. * [introspection] Don't check native signatures on obsolete members, and ignore the right simd matrix types. Fixes this introspection/Mac problem: ***** ApiSignatureTest.NativeSignatures Selector: uniformWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: uniformWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: uniformWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: setMatrixFloat2x2Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: setMatrixFloat3x3Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: setMatrixFloat4x4Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: initWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: initWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: initWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded * [monotouch-tests] Include more custom asserts for watchOS to make the build work. Fixes this: Simd/MatrixFloat4x4Test.cs(28,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(29,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(37,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(48,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' [...] * [monotouch-test] Exclude code that requires the binding project from xammac tests. Exclude code that requires the test binding project from xammac tests because there's currently no XM version of the test binding project. Fixes this: tests/monotouch-test/SpriteKit/UniformTest.cs(20,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLMaterialProperty.cs(37,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLTransform.cs(34,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) * Bump version for preview #8 (#2576) * [spritekit] Audit fixes (xtro) (#2577) 1. SKVideoNode is now, partially, available on watchOS and does not require the extra, manual code to swicth selectors depending on the OS version being run. !missing-type! SKVideoNode not bound !missing-selector! SKVideoNode::anchorPoint not bound !missing-selector! SKVideoNode::initWithCoder: not bound !missing-selector! SKVideoNode::initWithFileNamed: not bound !missing-selector! SKVideoNode::initWithURL: not bound !missing-selector! SKVideoNode::setAnchorPoint: not bound !missing-selector! SKVideoNode::setSize: not bound !missing-selector! SKVideoNode::size not bound !missing-selector! +SKVideoNode::videoNodeWithFileNamed: not bound !missing-selector! +SKVideoNode::videoNodeWithURL: not bound 2. SKNodeFocusBehavior is exposed needlessly on watchOS because SpriteKit/Enums.cs was not processed by the generator, so [NoWatch] did not matter. !unknown-native-enum! SKNodeFocusBehavior bound It's also visible on macOS but nothing uses it (so we do not expose it needlessly) !missing-enum! SKNodeFocusBehavior not bound 3. Add missing designated initializer on default `init` !missing-designated-initializer! SKAttributeValue::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! SKNode::init is missing an [DesignatedInitializer] attribute 4. Remove inconsistency for SKNode subclasses wrt XAMCORE_4_0 The trio attributeValues, setAttributeValues and setValue:forAttributeNamed: that was moved from SKNode (deprecated) into its subclasses. This was done using XAMCORE_4_0 but not on every subclasses. This adds them everywhere to be consistent (only SKNode versions are not defined in XAMCORE_4_0) !missing-selector! SKEffectNode::attributeValues not bound !missing-selector! SKEffectNode::setAttributeValues: not bound !missing-selector! SKEffectNode::setValue:forAttributeNamed: not bound !missing-selector! SKEffectNode::valueForAttributeNamed: not bound !missing-selector! SKEmitterNode::attributeValues not bound !missing-selector! SKEmitterNode::setAttributeValues: not bound !missing-selector! SKEmitterNode::setValue:forAttributeNamed: not bound !missing-selector! SKEmitterNode::valueForAttributeNamed: not bound !missing-selector! SKSpriteNode::attributeValues not bound !missing-selector! SKSpriteNode::setAttributeValues: not bound !missing-selector! SKSpriteNode::setValue:forAttributeNamed: not bound !missing-selector! SKSpriteNode::valueForAttributeNamed: not bound * [introspection] Make sure '[FAIL]' is printed before every failure. (#2578) This makes xharness able to list the failures in the inline summary. * [xtro] Reword some of the Simd diagnostic messages according to review. * [xharness] Add a missing IsServerMode check to generate correct html. (#2581) * [SpriteKit] SKTransformNode is new in Xcode 9 so no need to keep the broken (and obsolete) non-simd version of RotationMatrix. * [intents] Fix some (partial) xtro issues and #59156 (#2585) reference https://bugzilla.xamarin.com/show_bug.cgi?id=59156 Remaining issues are filled in https://bugzilla.xamarin.com/show_bug.cgi?id=59183 !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound * [Intents] Confirm* interface methods should be bound as Confirm, Fixes Bug 59164 (#2591) * [Intents] Confirm* interface methods should probably be bound as Confirm, Fixes Bug 59164 https://bugzilla.xamarin.com/show_bug.cgi?id=59164 All Confirm* methods from *IntentHandling interfaces should be named just `Confirm` to avoid confusion because most of them do not directly confirm as an acion, but instead they **ask** for confirmation also we would follow swift's naming by doing this. * [Intents] XAMCORE_4_0 all Confirm* methods from *IntentHandling Turns any Confirm* into just Confirm inside a XAMCORE_4_0 block, * [Intents] Fix breaking changes in Intents added in Xcode 9 Bindings (#2590) Apple added more protocol conformances to INRidesharingDomainHandling and INPaymentsDomainHandling protocols in Xcode 9, I introduced these breaking changes back when I did intents binding so fixing them :) * [Metal] New bindings from Xcode 9 betas (#2457) * [AVFoundation] Updated bindings for xcode9. (#2272) * [Xcode9] Add IOSurface bindings (#2363) * This framework was a private framework before iOS 11. This framework was a private framework before iOS 11, yet the headers claim many API were introduced in iOS 10. So take account of this difference by using the private framework location in iOS 10.3 or earlier. Testing these API from Xcode works fine when run on an iOS 10.3 device, and I've confirmed the IOSurface framework is loaded from the private frameworks path on older devices (and when built using Xcode 9 and linked with the public framework path). * Disable code to make IOSurface work on iOS 10. Disable the code to make IOSurface work on iOS 10, since it may be rejected by the App Store. This also means adjusting the availability attributes, so that the introspection tests pass (and to document that technically these API won't work when used with Xamarin.iOS in iOS 10). I've filed bug #[59201][1] to keep track of this, maybe we can re-enable this later. [1]: https://bugzilla.xamarin.com/show_bug.cgi?id=59201 * [CoreMedia] Fix leak in CMAttachmentBearer.GetAttachments. (#2593) The caller owns the return value from CMCopyDictionaryOfAttachments, so tell Runtime.GetNSObject that. * [Intents] Adds missing API found by xtro, fixes Bug 59183 (#2596) https://bugzilla.xamarin.com/show_bug.cgi?id=59183 Fixes !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !incorrect-protocol-member! INUIHostedViewControlling::configureWithInteraction:context:completion: is OPTIONAL and should NOT be abstract * [xtro] Fix StartWorkingDirectory to enable debugging (#2598) * [iosurface] Enable for tvOS and XM classic (to avoid multiple defines around consumer API) (#2597) * [xtro] Fix EnumCheck (#2600) * [ARKit] Rename a few method to make them nicer. (#2604) * DisplayTransform -> GetDisplayTransform since methods should have verbs. * SessionWasInterrupted -> WasInterrupted and SessionInterruptionEnded -> InterruptionEnded since these names match better with the other names (CameraDidChangeTrackingState / DidFail / DidOutputAudioSampleBuffer: none are prefixed with 'Session'). Additionally, the type is a Model (for the delegate pattern), which means all methods are more-or-less event-like, and the first argument is always the same (the protocol itself), which is another indicator the methods should be named similarly. * [Foundation] Remove 'Key' suffix from some fields. (#2606) Of the 168 fields in NSMetadataItem, only these 5 hadn't removed the 'Key' suffix. So make them all equivalent by removing the 'Key' suffix from these 5 fields. * [ImageIO] Fix API to not duplicate the instance in instance methods. (#2609) An instance method does not need to take the instance as a parameter, so remove the first (instance) parameter for CGImageDestination.AddAuxiliaryDataInfo and CGImageSource.CopyAuxiliaryDataInfo. An alternative solution would be to make the methods static, but I like the instance API better. * [UIKit] De-model UIDataSourceTranslating. (#2603) It's not clear from neither the documentation nor the headers how this protocol is supposed to be used, and since it doesn't correspond to the delegate pattern, remove the [Model] attribute for now. We can always add it back later. * [CoreML] Improve API. (#2592) * [CoreML] Improve API. * The indices, shape and stride properties for MLMultiArray and MLMultiArrayConstraint can logically only be arrays of integers, so type them as such. This means adding overloads for MLMultiArray's constructors, GetObject and SetObject methods, and the indexers that takes nint[] arrays instead of NSNumber[] arrays. * Change MLFeatureValue's static factory methods to be a method ('Create') instead of a preposition, and call all the different factory methods the same, since they can be overloaded nicely. * [tests][monotouch-test] Add version check to MLMultiArrayTest and make sure the arrays we create are big enough for the data we put in them. * [tests][monotouch-test] MLMultiArray's elements aren't zero-initialized, so don't assume that in the tests. * Support overloading Objective-C methods based on static/instance. (#2607) Two Objective-C methods can be named identically as long as one is static and the other instance. We must support this since Apple did just this (in the NSItemProviderReading / NSItemProviderWriting protocols). We solve it by prepending a '+' or '-' to the selector when hashing it (to determine selector uniqueness, and to look the method up again at runtime). * [uikit] Update for Xcode 9 - Part 6 (#2602) NSAttributedString.h NSFileProviderExtension.h NSLayoutAnchor.h UIAccessibility.h UIAccessibilityAdditions.h UIAccessibilityContainer.h UIAccessibilityContentSizeCategoryImageAdjusting.h UIAccessibilityCustomRotor.h UIAccessibilityLocationDescriptor.h UITabBar.h UINavigationBar.h UIScreen.h * Xcode9 scenekit (#2512) * [SceneKit] basic work * Added key * [xcode9] SCNCameraController * [xcode9] SCNCamera updates * [xcode9] SCNMaterial * [xcode9] SCNGeometryTessellator, SCNCameraControlConfiguration, SCNView, small bits * Add trailing commas to last enum value * Remove whitespace noise * [scenekit] Update deprecated attributes messages * Addresses some of Rolf's feedback * Drop the WeakDelegate in SCNCameraController * Rename method to Render, remove ctor from class that can not be constructed in Palygrounds, add typo exception * [AppKit] Rename NSBezierPath.AppendBezierPathWithCGGlyph to match its sibling methods. (#2605) NSBezierPath contains a lot of 'AppendPathWithXXX' methods, that all map to 'appendBezierPathXXX' selectors. So rename AppendBezierPathWithCGGlyph accordingly, to make it more similar to the other methods in the same type. * [uikit] Add all UISpringLoadedInteractionSupporting (#2616) Types do not conform to the protocol but protocol methods work on those types (see monotouch-test). Fixed introspection tests accordingly and tested the selectors in monotouch-test. * [Intents] Add convenience ctor overload and call correct base ctor in manual ctor. (#2613) Add a convenience constructor overload in INGetUserCurrentRestaurantReservationBookingsIntent that uses nint instead of NSNumber, since logically "number of results" will always be some sort of integer. Also call the correct base constructor in INSpeakableString's custom constructor (same as any other generated constructor). Otherwise we end up doing something like this: [[[INSpeakableString alloc] init] initWith ...], i.e. calling two different init methods. * [coreimage] Add new headers API up to beta 6 (#2601) Filters are not complete (ref: #57350) https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * Some new constants are not yet documented (type is known), so they are commented / ignored https://bugzilla.xamarin.com/show_bug.cgi?id=59296 * Filled bug for [Wrap] inside [Category] so strong dictionary helpers can be re-enabled later https://bugzilla.xamarin.com/show_bug.cgi?id=59294 * [foundation] xtro fixes for watchOS (#2586) !missing-enum! NSProcessInfoThermalState not bound !missing-field! NSProcessInfoThermalStateDidChangeNotification not bound !missing-selector! NSProcessInfo::thermalState not bound Headers are wrong and preferredPresentationStyle is not in tvOS and watchOS !missing-selector! NSItemProvider::preferredPresentationStyle not bound !missing-selector! NSItemProvider::setPreferredPresentationStyle: not bound * [uikit] Also remove UIPreferredPresentationStyle enum from platform where it's not used * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. (#2614) * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. * NSItemProviderWriting: * NSItemProviderReading: Implement correctly and completely by uncommenting commented out code. * NSMutableString: * NSAttributedString: remove inlined members, since these classes don't implement NSItemProviderReading / NSItemProviderWriting (according to the headers at least). * NSUrl: all platforms now seem to implement NSItemProviderReading / NSItemProviderWriting. * NSString: all platforms now seem to implement both NSItemProviderReading and NSItemProviderWriting * UIColor: * UIImage: Update inlined protocol members according to the latest beta. Additionally, due to the following conditions: * The protocols all have the correct members now. * In the API definition we tell the generator to inline members from a protocol by inheriting from the corresponding interface. * The generator doesn't inline static members from protocols. several 'new' keywords had to be added to silence a compiler warning that occurrs when we manually inline a static member, since the member would be included in the type both from the inherited interface and the manual implementation. * [Foundation] Comment out NSItemProviderWriting.GetItemProviderVisibility to avoid inlining/generating unusable methods. NSItemProviderWriting.GetItemProviderVisibility is an optional method, and none of the native classes that implements NSItemProviderWriting actually imlements the method. This means inlining the method in those classes ends up creating unusable API; so just comment out the method to avoid generating the unusable API. The introspection tests found this: [FAIL] Foundation.NSString : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Foundation.NSUrl : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Contacts.CNContact : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] MapKit.MKMapItem : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIColor : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIImage : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] iOSApiSelectorTest.ApiSelectorTest.StaticMethods : 6 errors found in 2348 static selector validated: See also https://bugzilla.xamarin.com/show_bug.cgi?id=59308 * [iosurface] Add missing [TV] attributes (#2619) * [opengles] Enable the new API using IOSurface (#2618) The symbol only exists inside device libraries, not on simulator, and the introspection tests were updated to ignore it. Part of https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [avfoundation][watchos] Enable AudioBufferList (fix #59145) + audit (xtro) (#2617) 1. AudioBufferList is part of CoreAudio (wrong namespace, which needs a few changes in the generator) and now available in watchOS 4 https://bugzilla.xamarin.com/show_bug.cgi?id=59145 2. Also fixes xtro found issues: !missing-type! AVAudioRecorder not bound !missing-selector! AVAudioRecorder::averagePowerForChannel: not bound !missing-selector! AVAudioRecorder::channelAssignments not bound !missing-selector! AVAudioRecorder::currentTime not bound !missing-selector! AVAudioRecorder::delegate not bound !missing-selector! AVAudioRecorder::deviceCurrentTime not bound !missing-selector! AVAudioRecorder::format not bound !missing-selector! AVAudioRecorder::initWithURL:format:error: not bound !missing-selector! AVAudioRecorder::initWithURL:settings:error: not bound !missing-selector! AVAudioRecorder::isMeteringEnabled not bound !missing-selector! AVAudioRecorder::isRecording not bound !missing-selector! AVAudioRecorder::peakPowerForChannel: not bound !missing-selector! AVAudioRecorder::recordAtTime: not bound !missing-selector! AVAudioRecorder::recordAtTime:forDuration: not bound !missing-selector! AVAudioRecorder::recordForDuration: not bound !missing-selector! AVAudioRecorder::setChannelAssignments: not bound !missing-selector! AVAudioRecorder::setDelegate: not bound !missing-selector! AVAudioRecorder::setMeteringEnabled: not bound !missing-selector! AVAudioRecorder::settings not bound !missing-selector! AVAudioRecorder::url not bound !missing-protocol! AVAudioRecorderDelegate not bound !missing-selector! AVAudioEngine::inputNode not bound !missing-selector! AVAudioEngine::manualRenderingBlock not bound !missing-selector! AVAudioInputNode::setManualRenderingInputPCMFormat:inputBlock: not bound !missing-selector! AVAudioPlayer::format not bound !missing-selector! AVAudioSession::requestRecordPermission: not bound !unknown-field! AVFileType3GPP bound !unknown-field! AVFileType3GPP2 bound !unknown-field! AVFileTypeAC3 bound !unknown-field! AVFileTypeAIFC bound !unknown-field! AVFileTypeAIFF bound !unknown-field! AVFileTypeAMR bound !unknown-field! AVFileTypeAVCI bound !unknown-field! AVFileTypeAppleM4A bound !unknown-field! AVFileTypeAppleM4V bound !unknown-field! AVFileTypeCoreAudioFormat bound !unknown-field! AVFileTypeDNG bound !unknown-field! AVFileTypeEnhancedAC3 bound !unknown-field! AVFileTypeHEIC bound !unknown-field! AVFileTypeHEIF bound !unknown-field! AVFileTypeJPEG bound !unknown-field! AVFileTypeMPEG4 bound !unknown-field! AVFileTypeMPEGLayer3 bound !unknown-field! AVFileTypeQuickTimeMovie bound !unknown-field! AVFileTypeSunAU bound !unknown-field! AVFileTypeTIFF bound !unknown-field! AVFileTypeWAVE bound * [Metal] Implement API using IOSurface now that IOSurface is implemented. Partially fixes #58054. (#2621) https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [PdfKit] Improve PdfAnnotation.QuadrilateralPoints binding by making it strongly typed. (#2620) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). (#2622) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). * [ARKit/Vision] Use the new simd vector types instead of the OpenTK versions. * [ModelIO] Use the new simd vectors in new API (MDLVoxelIndexExtent2). This way we won't have to create a MDLVoxelIndexExtent3 in the future. * [SpriteKit] Use the new simd vectors in new API. * [metal] Audit (xtro) based fixes (#2623) !extra-protocol-member! unexpected selector MTLArgumentEncoder::newArgumentEncoderForBufferAtIndex: found !extra-protocol-member! unexpected selector MTLComputeCommandEncoder::dispatchThreads:threadsPerThreadgroup: found macos-only !missing-field! MTLDeviceRemovalRequestedNotification not bound !missing-field! MTLDeviceWasAddedNotification not bound !missing-field! MTLDeviceWasRemovedNotification not bound !missing-pinvoke! MTLCopyAllDevices is not bound * [CloudKit] Update bindings to beta 6. (#2615) * [FileProvider] Turn NSFileProviderItemIdentifier enum into a static class, fixes bug 59329 (#2634) https://bugzilla.xamarin.com/show_bug.cgi?id=59329 At the time of binding NSFileProviderItemIdentifier it wasn't clear how it was supposed to be used, I mean apple provides two keys which I thought were the only possible values hence binding it as an smart enum. Unfortunately this wasn't the case and the user can use those two values provided from the SDK or their own NSString Identifier. Swift provides a wrapper unfortunately we can't do the same due to NSFileProviderItemIdentifier is used in the NSFileProviderItem protocol and we currently do not support changing signatures on them. * [mtouch] Teach mtouch about the 'IOSurface' framework for tvOS. Fixes #59333. (#2630) https://bugzilla.xamarin.com/show_bug.cgi?id=59333 * Bump Touch.Unit to get fix for API breakage. (#2631) spouliot/Touch.Unit@8f1e19d [NUnitOutputTextWriter] Reintroduce previous constructor to make sure we don't break binary ABI. spouliot/Touch.Unit@00b0c0b [NUnitOutputTextWriter] Don't write invalid xml comments. spouliot/Touch.Unit@de9fe20 [TouchRunner] Restore the original code path when not wrapping NUnit xml output. * [IOSurface] Add missing availability attributes for tvOS. (#2629) * Bump versions for preview 9 (#2624) * [AVFoundation] Add missing interface AVRouteDetector. (#2637) * [tests] Update xtro to reduce list sizes (#2636) * Skip OpenTK duplicate declaration (we can't change them); * Fix rule name change for ARKit / simd; * Add missing default initializer on `init` to pending actions; * Add note for AVPersistableContentKeyRequest changes wrt tvOS; * [ReplayKit] Make RPBroadcastActivityViewController.LoadBroadcastActivityViewController async-capable. (#2639) * [xcode9] More SceneKit bindings (#2633) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 (#2644) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 https://bugzilla.xamarin.com/show_bug.cgi?id=59380 vector_float3 is 16 bytes, which means the binding is incorrect, because Vector3 is 12 bytes, and our code does not that difference into account. * Add tests * [DeviceCheck] Disable default ctor for DCDevice. (#2642) It doesn't seem to be useful according to the documentation, since it appears that the only way to get an instance is to use the static CurrentDevice property. * [audiounit] Audit (xtro) fixes for tvOS (#2635) Availability attributes in non-generated files don't hide symbols/code. reference: !unknown-pinvoke! AudioUnitExtensionCopyComponentList bound !unknown-pinvoke! AudioUnitExtensionSetComponentList bound * [tests] Make sure tvOS tests don't use the (unexisting) API * [tests] Add all test project variations to tests-mac.sln (#2579) * [xharness] Make sure generated mac projects have different project guids. * [introspection] Change the project guid so that it doesn't match the dontlink-mac project guid. * [tests] Add all test project variations to tests-mac.sln. * [xharness] Fix else condition. * [FileProvider] Adds missing NSFileProviderPage constants, fixes bug 59297. (#2646) https://bugzilla.xamarin.com/show_bug.cgi?id=59297 Adds NSFileProviderInitialPageSortedByName and NSFileProviderInitialPageSortedByDate NSData constants * [Xcode9] Remove NSFileProviderMessage and NSFileProviderMessageInterface (#2647) APIs were removed in beta 2 * [Foundation/UIKit] Provide LoadObject[s] methods that return the expected type in the callback. Fixes #59049. (#2638) The callback for these LoadObject[s] methods take an INSItemProviderReading parameter. This tells our runtime that we must provide an instance of a managed object that implements this interface (but nothing else), so we create a `NSItemProviderReadingWrapper` instance, which complies with the API (since the wrapper type implements the corresponding interface). Unfortunately these methods are supposed to return an instance of the passed- in type, so in order to comply with this soft (documentation-only) requirement, provide a wrapper method that creates instances of the right types. https://bugzilla.xamarin.com/show_bug.cgi?id=59049 * [arkit] Ignore deprecated selectors (#2645) * [FileProvider] Adds missing protocol and keys from audit (#2652) ``` !missing-protocol! NSFileProviderServiceSource not bound !missing-field! NSFileProviderErrorCollidingItemKey not bound !missing-field! NSFileProviderErrorNonExistentItemIdentifierKey not bound !missing-field! NSFileProviderFavoriteRankUnranked not bound ``` Also adds `NSXpcListenerEndpoint` to foundation, needed by `NSFileProviderServiceSource` protocol. * [tests][xtro] Workaround xtro runner dupe entry exception and update data files (#2654) * [AVFoundation] Rename field to match others. (#2657) * [homekit] Audit (xtro) fixes (#2653) - HMCharacteristicEvent conforms to NSMutableCopying on iOS11 which makes it 64 bits only (so adjust intro tests) - Ignore extra setters on HMMutablePresenceEvent, rdar 33883958 !missing-selector! HMMutablePresenceEvent::setPresenceEventType: not bound !missing-selector! HMMutablePresenceEvent::setPresenceUserType: not bound * [xtro] Add missing pinvoke to pending (#2662) - Bug 59422: [uikit] Missing UIContentSizeCategoryCompareToCategory & UIContentSizeCategoryIsAccessibilityCategory (https://bugzilla.xamarin.com/show_bug.cgi?id=59422) * Merge latest d15-3 fixes into xcode9 (#2660) * [msbuild] Re-added wildcard (*) expandsion for application-identifier in Entitlements.plist (#2186) Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=57119 * Bump mono (#2213) * Framework tests were still binding non-linked Simple class which errors now (#2216) (#2218) - Improve Makefile to rebuild when projects build with errors * Bump mono to get cecil fix for bug #56808. (#2222) https://bugzilla.xamarin.com/show_bug.cgi?id=56808 * [msbuild] Use @(ReferencePath) instead of @(ResolvedFiles) (#2188) (#2214) This allows things to work on both xbuild and msbuild. In xbuild, both lists are exactly the same and on msbuild, only @(ReferencePath) exists. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=55147 * NSActivityOptions.IdleDisplaySleepDisabled had wrong value (#2232) (#2239) This was due to an integer overflow. The original value was based on Int32 1 << 40 == 256 The correct value should be based on a UInt64. 1UL << 40 == 1099511627776 * [tests] Fix bug 57699 - [iOS]InternalsTest failure (Linkall) tests on device (#2243) Strip native debugging symbols should not be checked for debug builds * Bump mono to get fix for bug #57780. https://bugzilla.xamarin.com/show_bug.cgi?id=57780 * Update .gitmodules Change branch to d15-3 branch of mono * Bump maccore to get fix for bug #55064. https://bugzilla.xamarin.com/show_bug.cgi?id=55064 * [mono] Bump mono to get the head of cecil/mono-2017-04 and fix IsComObject #57919 Also fix #58789 [1], the typo in tools/mtouch/Tuning.cs showing in MT0000 errors instead MT2102. That's already in master and d15-4 mono bump includes: [2] commit 2a6502cee0df9de5198eafe7c8b5f6ac25106f34 (HEAD -> d15-3, origin/d15-3) Merge: 02457c20fcf 5e05cafc6f1 Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 10:04:06 2017 -0400 Merge pull request #5401 from marek-safar/com [Marshal.IsComObject] Make this predicate return false instead of thr… [3] commit 02457c20fcf57c0610e844d638eb1da82b5d1eb0 Merge: da80840ea55 73fd9a1b82e Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 09:59:06 2017 -0400 Merge pull request #5400 from spouliot/bump-cecil-58834-d15-3 [cecil] Bump to the head of the mono-2017-04 branch and pick the fix for bug #58834 References [1] https://bugzilla.xamarin.com/show_bug.cgi?id=58789 [2] https://bugzilla.xamarin.com/show_bug.cgi?id=57919 [3] https://bugzilla.xamarin.com/show_bug.cgi?id=58834 * [mtouch] Put 'mono_profiler_startup_log' in the symbol list. Fixes #58778. (#2501) We need the 'mono_profiler_startup_log' symbol when profiling is enabled, so make sure to add the symbol to the correct list of symbols we need. Previously we were passing `-u _mono_profiler_startup_log` to clang directly, which is fine, but not complete, since it does not write the symbol to the symbollist file (--symbollist=file), which means it wouldn't be preserved when the MSBuild tasks strip the executable. https://bugzilla.xamarin.com/show_bug.cgi?id=58778 * Bump versions for SR3 https://trello.com/c/EVze08ei * Bump mono to include HttpClientHandler fix #44027 https://trello.com/c/jYFXadH8/8-systemnethttp-close-request-stream-when-httpclienthandler https://bugzilla.xamarin.com/show_bug.cgi?id=44027 * [FileProvider] Add missing API and turn NSString to string (#2663) Turned NSString to string in order to match exisiting API. * [uikit] Add UIPasteConfigurationSupporting and UITextPasteConfigurationSupporting (#2649) - Fixes bug #59363: Missing UIPasteConfigurationSupporting, UITextPasteConfigurationSupporting, UITextDraggable and UITextDroppable on a couple of types (https://bugzilla.xamarin.com/show_bug.cgi?id=59363) * [uikit] Remove 129 types in UIPasteConfigurationSupporting case * [scenekit] Audit (xtro) fixes (#2648) This looks like an Apple breaking change (since `SCNAnimation` is new) but we now have: > typedef void (^SCNAnimationEventBlock)(id<SCNAnimation> animation, id animatedObject, BOOL playingBackward); bound as > delegate void SCNAnimationEventHandler (CAAnimation animation, NSObject animatedObject, bool playingBackward); and `CAAnimation` conforms to `SCNAnimation` but *only* the later is available on watchOS. The delegate is only updated (since it's new) on our watchOS profile. xtro references: (watchos) !unknown-protocol! SCNCameraControlConfiguration bound (tvos/watchos) !missing-selector! SCNAnimation::animationEvents not bound !missing-selector! SCNAnimation::setAnimationEvents: not bound !missing-selector! SCNConstraint::isEnabled not bound !missing-selector! SCNConstraint::setEnabled: not bound !missing-field! SCNSceneSourceConvertToYUpKey not bound !missing-field! SCNSceneSourceConvertUnitsToMetersKey not bound (ios/tvos) !missing-protocol-conformance! SCNNode should conform to UIFocusItem * Bump maccore post 15.3 merge (#2665) * Bump Xcode 9 to GM (#2667) * Force build (on wrench) * [avfoundation] Fix breaking changes (apidiff) (#2664) * [TVServices] Update to Xcode 9 GM (#2675) * [GameController] Update to Xcode 9 GM (#2673) * [LocalAuthentication] Update to Xcode 9 GM (#2671) * [LocalAuthentication] Update to Xcode 9 GM * Remove availability from BiometryNotAvailable, BiometryNotEnrolled and BiometryLockout * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer (#2659) * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer Some of the new added types were already present BUT under a #if MONOMAC, they had to be moved. * [AVFoundation] Set the wrongly added API to be obsolete and ensure it returns logical values. (#2650) * [xtro] The right platform for macOS is 'macos', not 'osx'. (#2677) The platform name is used to filter availability attributes, and if we use the wrong platform, we'll incorrectly skip all availability attributes. The net result in unclassified entries: https://gist.github.com/rolfbjarne/a4474bc2a40c49a85cad495b51bb514f * Various Xcode 9 API improvements and also fixes bug 59433 (#2676) https://bugzilla.xamarin.com/show_bug.cgi?id=59433 While fixing bug 59433 I noticed some additional issues outlined below: AVDepthData: * Renamed **non** static `Create` methods because `Create` only makes sense with the **Static** method in this context. Also by renaming the methods we are now closer to the names that swift uses. * Kept descriptive method names in favor of self-documenting code. `Convert`, `Apply` and `Replace` do not fully give us the intent of the method. * Added a convenience `Create` static method that takes a `CGImageAuxiliaryDataInfo`. * AvailableDepthDataTypes is now an array of `CVPixelFormatType` instead of a `NSNumber` array (The aactual fix for bug 59433). ImageIO: * Refactored `CGImageAuxiliaryDataInfo` to be a `StrongDictionary` in order to avoid most of the manual code and also to avoid reimplementing the `ToDictionary` method (which contained a subtle bug). * Adjusted code to reflect the above change. * Added missing `.ctor (IntPtr, bool)` to `CGImageMetadata` so the class is able to be created by our `Runtime.Get*`. * Simplified `CopyAuxiliaryDataInfo` method by using `CGImageAuxiliaryDataInfo` as a `DictionaryContainer`. Tests: * Added `xamarinmonkey.heic` which is an image that contains depth data needed to test above changes. * Adds `AVDepthDataTests` that touches most of the changes listed here. * Tweak the Simd-compatible matrices and vectors (#2668) * Rename them to be OpenTK.NMatrix# (instead of Simd.MatrixFloat#x#). * Remove the Vector2 and Vector4 variants, we'll use the OpenTK types instead (but we'll keep the NVector3 variant, since it's not identical to the OpenTK version). * Update the API to match their OpenTK counterparts better: * NMatrix2 and NMatrix3 have a 0-based R#C# scheme for their fields. * NMatrix4 has a 1-based M## scheme for its fields (i.e. no change). * [AVFoundation] Use Simd-matrix for API that needs it. (#2679) This also requires implementing the corresponding matrix (NMatrix4x3). Fixes this xtro issue: > !unknown-simd-type-in-signature! OpenTK.Matrix3 AVFoundation.AVCameraCalibrationData::get_GetIntrinsicMatrix(): the native signature has a simd type (matrix_float3x3), while the corresponding managed method is using an incorrect (non-simd) type. * [xtro] Fix checking availability on categories. (#2682) When checking for category availability, check if both the current declaration is a category, and if the current's declaration container is a category. Otherwise this scenario fails: * Category method is available. * Category does not have availability attributes. * Main class is unavailable. with this typical code sequence: ```csharp // don't process methods (or types) that are unavailable for the current platform if (!decl.IsAvailable () || !(decl.DeclContext as Decl).IsAvailable ()) return; ``` In which case we'd: * First check the method (`decl`): * It's available, so no further checks is done on the method. * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container's container is a category (it isn't, it's the namespace). and as such determine that the method is available. With this change, the second step will become: * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container is a category (it is), and if its main class is available (it isn't). and as such determine that the method is unavailable. * Check for attributes on the method's container (no attributes, so we continue). * Check if the method's Unclassified diff: https://gist.github.com/rolfbjarne/8fa80962596978a426eadf9b7ba39dc1 * [uikit] Update for Xcode 9 GM (#2670) * [AVFoundation] Implement AVCapturePhoto. Partially fixes #59388. (#2678) Fixes: > common.unclassified:!missing-type! AVCapturePhoto not bound https://bugzilla.xamarin.com/show_bug.cgi?id=59388 * Use strong dictionaries for AVCapturePhoto.Metadata and AVCapturePhoto.EmbeddedThumbnailPhotoFormat. * [SIMD] Implement Simd double types (VectorDouble3/MatrixDouble4x4). (#2632) The following types will be used by ModelIO bindings * Fix delta to be double * Rename Simd-compatible matrices and vectors to match our final naming. This also means removing the new Vector2 and Vector4 variants (but not Vector3). * [avfoundation] Remove AVAssetDownloadDelegate.DidLoadTimeRange since it was removed in one of the betas (#2687) * [foundation] Move NSUrlSessionMultipathServiceType to a file processed by the generator (for the availability attributes) (#2688) * [arkit] Update for Xcode 9 GM (#2681) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes (#2690) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes Type Changed: Intents.INCarSeatResolutionResult Removed methods: public static INCarSeatResolutionResult GetConfirmationRequired (INCarSeat valueToConfirm); public static INCarSeatResolutionResult GetSuccess (INCarSeat resolvedValue); * [avfoundation] Add missing protocol members and deprecations (#2691) !missing-protocol-member! AVCapturePhotoCaptureDelegate::captureOutput:didFinishProcessingPhoto:error: not found and the selector removed from PR#2687 was actually replaced with this one !missing-protocol-member! AVAssetDownloadDelegate::URLSession:aggregateAssetDownloadTask:didLoadTimeRange:totalTimeRangesLoaded:timeRangeExpectedToLoad:forMediaSelection: not found * [tests][xtro] Map some enums, more fix with protocols and update entries (#2692) * [Tests] Reenable dns tests on the watch. (#2674) * [arkit] Add ARBlendShapeLocationOptions strong dictionary (#2696) * [coreimage] Skip not yet bound filters added in Xcode9 (#2698) Tracked in https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * [Metal] Renamed MTLArgumentDescriptor.ArgumentDescriptor to Create, fixes bug 59498 (#2702) https://bugzilla.xamarin.com/show_bug.cgi?id=59498 From [argumentDescriptor docs](https://developer.apple.com/documentation/metal/mtlargumentdescriptor/2915746-argumentdescriptor?language=objc) > Creates an empty argument descriptor. * [msbuild] Always codesign app bundles if the codesign key is non-null (#2697) ...even if it is a simulator build. Turns out that starting with Xcode9, sim builds need to be codesigned for App Groups entitlements to work properly. Interestingly, the DetectSigningIdentity logic had a comment about needing to codesign simulator builds for some entitlements to work already starting with Xcode 8 but apparently the iOS targets did not respect this. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=59379 * [Foundation] Add NSProxy stub in order to workaround bug 59247 (#2693) https://bugzilla.xamarin.com/show_bug.cgi?id=59247 We need to have a better solution that removes all what NSProxy does not responds to. Right now this works because NSObject implements NSObject protocol just like NSProxy, but NSProxy responds to far less selectors hence doing it internal so it is not a breaking change when we provide the correct fix. * Keep NSProxy around and avoid XML linker description We need to keep NSProxy (avoid linking it) if WKNavigationDelegate or IWKNavigationDelegate is used. We know WKWebView will be there and can hold a reference to it. * [Xcode 9] Update Metal for GM (#2689) * [iosurface] IOSurface is not usable before iOS/tvOS 11. Fixes #59201 (#2706) Apple rejects apps that links with the previously private IOSurface.framework. We were not sure about this [1] and had it disabled (this is removed). However another bug stopped our adjustment logic [2] from being executed. This is needed since `clang` picks up the private framework if it does not find the public one (even when asking for a weak framework), [1] https://bugzilla.xamarin.com/show_bug.cgi?id=59201 [2] Added a while ago for JavascriptCore * Bump maccore to point to commit with the docs fix. (#2703) * Bump XI to 11.0.x (and XM to 3.99.9.x) (#2684) * fix typo
2017-09-16 00:53:16 +03:00
using XamCore.UIKit;
#if WATCH
using GLContext = global::XamCore.Foundation.NSObject; // won't be used -> [NoWatch] but must compile
using NSView = global::XamCore.Foundation.NSObject; // won't be used -> [NoWatch] but must compile
using SCNGeometryTessellator = global::XamCore.Foundation.NSObject; // won't be used -> [NoWatch] but must compile
#else
2016-04-21 15:30:02 +03:00
using XamCore.OpenGLES;
using GLContext = global::XamCore.OpenGLES.EAGLContext;
2016-04-21 15:30:02 +03:00
using NSView = global::XamCore.UIKit.UIView;
#endif
using NSColor = global::XamCore.UIKit.UIColor;
2016-04-21 15:30:02 +03:00
using NSFont = global::XamCore.UIKit.UIFont;
using NSImage = global::XamCore.UIKit.UIImage;
using NSBezierPath = global::XamCore.UIKit.UIBezierPath;
#endif
namespace XamCore.SceneKit {
#if WATCH
// stubs to limit the number of preprocessor directives in the source file
interface CAAnimation {}
interface CALayer {}
interface CAMediaTimingFunction {}
interface MDLAsset {}
interface MDLCamera {}
interface MDLLight {}
interface MDLMaterial {}
interface MDLMesh {}
interface MDLObject {}
interface MDLSubmesh {}
enum MTLPixelFormat {}
enum MTLVertexFormat {}
interface IMTLBuffer {}
interface IMTLCommandBuffer {}
interface IMTLCommandQueue {}
interface IMTLDevice {}
interface IMTLLibrary {}
interface IMTLRenderCommandEncoder {}
interface MTLRenderPassDescriptor {}
#endif
2016-04-21 15:30:02 +03:00
[Mac (10,8), iOS (8,0)]
delegate void SCNSceneSourceStatusHandler (float /* float, not CGFloat */ totalProgress, SCNSceneSourceStatus status, NSError error, ref bool stopLoading);
Merge xcode9 into d15-4[-xi] (#2710) * [FileProvider] Add Xcode 9 Beta 1, 2 & 3 Bindings (#2279) * [FileProvider] Add Xcode 9 Beta 1 Bindings * Better naming * Feedback not related to BindAs * [FileProvider] Removes BindAs, add manual code for it and updated to Beta 3 * [FileProvider] Implement feedback * [CoreSpotlight] Updated spotlight bindings for xcode 9 beta 3. (#2193) Updated spotlight bindings for xcode 9 beta 3. * Fix warning caused by duplicate (#2354) * [FileProviderUI] Add Xcode 9 Beta 1 to 3 bindings (#2356) * Bump to Xcode 9 beta 4 * [arkit] ARLightEstimate does not conform to NSCopying anymore (fix unit test) * [uikit] NSFileProviderExtension.ReparentItem got a new parameter in beta4 (fix unit test) * [coreimage] CIImageAccumulator init returns nil in beta 4 There's no header change to mention `init` is not allowed but it's not clear how this default initializer could be used. Also make public some other API to construct this type (outside of XM). It's not clear why there were `internal` as they are (at least now) part of the header files. * [photos] Add helpers when PHLivePhotoEditingOption/NSDictionary is null (to avoid ambiguous API) (#2360) Adding a strongly typed `PHLivePhotoEditingOption` (a strongly typed version of an `NSDictionary`) can cause a `CS0121` (call is ambiguous) since using a `null` argument is common (only one option exist so far). This PR adds overloads that makes the code nicer in such case, e.g. before Xcode9: > // null is used when no options are given > _foo.SaveLivePhoto (output, null, completion); current (Xcode 9) > // casting required to remove ambiguity with PHLivePhotoEditingOption > _foo.SaveLivePhoto (output, (NSDictionary)null, completion); with this PR > // no option, no argument > _foo.SaveLivePhoto (output, completion); The same applies to `PrepareLivePhotoForPlayback`. * [tests] Disable/tweak two tests that breaks on (almost) all Xcode updates Those tests were not added to validate xOS so just keep the parts that helps us (without constantly checking back the new break flavor) * Disable watchOS to check if this hides others issues * [mapkit] Update for beta 4 * [coredata] Update for beta 4 * [wkwebkit] Update for beta 4 Note: WKWindowFeatures.h is not compiled (part of the framework umbrella) and the `@interface WKWindowFeatures (WKPrivate)` sounds like it should not have been exposed (it's all fields starting with `_`) * [corelocation] Update for beta 4 * Revert "Disable watchOS to check if this hides others issues" This reverts commit fed2249fa43290a1956ab2fe0d48f83ab6db9711. * [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]: https://github.com/xamarin/xamarin-macios/blob/f5956d6cc1eb5dfa7bab16628cf282d40237f64e/src/generator.cs#L5985 * [FinderSync] Update to beta 4 (#2377) * [ImageIO] Update to Xcode 9 (#2353) * [PhotosUI] Move macOS photosui bindings out of photos.cs into photosui.cs (#2358) * [quicklook] Update up to beta 4 (#2374) * [uikit] UIDragInteraction & UIDragInteractionDelegate (Xcode 9 b1,2,3) (#2357) * [safariservices] Update up to beta 4 (#2380) * [coreanimation] Update to beta 4 (#2382) Apple removed (mistake?) some API in beta 1. Filed as rdar 33590997 Internal tracking in https://trello.com/c/J8BDDUV9/86-33590997-coreanimation-quartzcore-api-removals * [storekit] Update up to beta 4 (#2379) * [CoreML] Update to Xcode 9 Beta 4 (#2387) * [uikit] UICollectionView/UITableView Drag & Drop (Xcode 9 b1,2,3 & 4) (#2355) * Update code after radar 32929318 and 32897776 are fixed in b4 (#2394) * [xcode9 CoreAudio] New definitions from Beta1 to Beta3 (#2359) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 (#2397) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 https://bugzilla.xamarin.com/show_bug.cgi?id=58512 Created strong API (VNBarcodeSymbology) on the following properties * VNDetectBarcodesRequest.SupportedSymbologies * VNDetectBarcodesRequest.Symbologies * VNBarcodeObservation.Symbology * Remove modern C# because classic can't do it 😡 * [mediaplayer] Update up to beta 4 (#2388) * [watchkit] Update to beta 4 (#2398) * Bump Visual Studio for Mac max version (#2408) * [coreimage] Add CIBarcodeDescriptor and enabled missing API for VNBarcodeObservation. Fix #58197 (#2411) https://bugzilla.xamarin.com/show_bug.cgi?id=58197 * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 (#2407) * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 * [uikit] Fixes based on comments * [coreimage] CIImageAccumulator API fixes. Fix #58349 (#2412) * Obsolete the default `init`; * XM exposed some older APIs using `int` instead of `CIFormat`. This is fixed and old APIs are obsoleted; * Both new & old APIs are now using `CIFormat` for both XI and XM. https://bugzilla.xamarin.com/show_bug.cgi?id=58349 * [uikit] UIText drag & drop - up to Xcode 9 beta 4 (#2410) * [uikit] UISplitView & UIStackView up to Xcode 9 beta 4 (#2425) * Bump XI/XM versions before preview 4 (#2422) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 (#2378) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 * [PDFKit] Implement feedback * [PDFKit] the forgotten enum * [PDFKit] More feedback * [PDFKit] Add Mac changes * Missing change * Fix test RectangleF VS CGRect * Pass -Wunguarded-availability-new to quiet a new clang warning (#2424) - https://bugzilla.xamarin.com/show_bug.cgi?id=58574 * [mtouch/mmp] Ignore warnings about unguarded code section with regards to availability. (#2441) * [monotouch-test] Remove workaround for fixed Apple bug. (#2445) * Bump to Xcode 9 beta 5. (#2447) * Bump to Xcode 9 beta 5. * [mmp] Disable the partial static registrar, because Apple's macOS SDK is broken. > In file included from Xamarin.Mac.registrar.mobile.i386.m:1: > In file included from ./Xamarin.Mac.registrar.mobile.i386.h:11: > /Applications/Xcode9-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVFoundation.h:88:9: fatal error: 'AVFoundation/AVRouteDetector.h' file not found https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [mmp] Fix partial static registrar removal. * [CallKit] Update to Xcode 9 beta 5. * [ARKit] ARPointCloud doesn't conform to NSCopying anymore in Xcode 9 beta 5. * [ARKit] Update to Xcode 9 beta 5 enough to make tests happy. * [CoreImage] Stub out new filters in Xcode 9 beta 5. * [tests][monotouch] Simplify some MDLMesh asserts since values change a lot between OS versions. * [mmp] Default to the dynamic registrar for release builds again, due to bug #58629. https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [tests][introspection] CXCall started implementing NSCopying without saying so in the headers. * Disable mmp static registrar tests due to 58629 for now * [quicklook] Update to beta 5 (#2450) * [photos] Update for beta 5 (#2452) Also update some existing enum members were added in beta 1 on macOS * [safariservices] Update for beta 5 (#2455) * [mediaplayer] Update to beta 5 (#2456) * [CoreLocation] Update Xcode 9 Beta 5 (#2453) * [CoreML] Update to Xcode 9 Beta 5 (#2454) * [Contacts] Update to Xcode 9 Beta 5 (#2451) * [Vision] Update to Xcode 9 Beta 5 (#2458) * [builds] Tell LLVM to stay away from newer macOS functions. (#2459) Fixes this build problem on Sierra: > ld: weak import of symbol '_futimens' not supported because of option: -no_weak_imports for architecture x86_64 This is a symbol that was (will be?) introduced in High Sierra. Interestingly this only occurs if the Xcode 8.X Command Line Tools haven't been manually installed. Because if the Xcode 8.X Command Line Tools are installed, this happens: 1. llvm's configure script detects that 'futimens' is not usable. 2. llvm's configure script detects that 'futimens' is not usable, because xcrun sets SDKROOT=/ when calling clang. a. When the SDKROOT variable is set, clang passes '-syslibroot /usr/lib' to ld. b. When ld gets '-syslibroot /usr/lib', ld looks in '/usr/lib' for a library that contains 'futimens' in the OS itself, and since we're on Sierra, that fails to link. c. So when llvm's configure script creates a test program that checks if 'futimens' is present, the program fails. This is correct, and makes llvm *not* use futimens. 3. xcrun sets SDKROOT=/ because /usr/share/current-os.sdk/Info.plist exists. If that file does not exist, then xcrun sets SDKROOT to Xcode9's macOS SDK (because that's what xcode-select reports). a. When SDKROOT is set to Xcode9's macOS SDK, the configure check for 'futimens' succeeds, because the macOS 10.13 SDK contains that function. b. llvm happily uses 'futimens', and then the final link fails because we're using a symbol not available on all target platforms. * [arkit] Update for Xcode 9 beta 5 - Part 1 (#2460) * [tests] The container app for watchOS tests should be 64-bit. (#2463) * [xharness] watchOS tests need to run in a clean environment. Works around #58348. (#2462) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [xharness] It watchOS tests don't need to be clean anymore. Fixes #58348. (#2473) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [uikit] UIView/UIScrollView/UIViewController up to Xcode 9 beta 5 (#2431) - Add NSDirectionalEdgeInsets type. - Includes DirectionalEdgeInsetsTest. * [AudioToolbox] Update bindings to Xcode 9 beta3 (not later changes). (#2294) * [xharness] Add a file existence check. (#2478) Fixes this exception: ``` Harness exception for 'introspection': System.IO.FileNotFoundException: Could not find file '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log'. File name: '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log' at System.IO.__Error.WinIOError (System.Int32 errorCode, System.String maybeFullPath) [0x00207] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/__error.cs:188 at System.IO.FileInfo.get_Length () [0x00038] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/fileinfo.cs:171 at xharness.CaptureLog.StopCapture () [0x00021] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Log.cs:252 at (wrapper remoting-invoke-with-check) xharness.CaptureLog:StopCapture () at xharness.AppRunner+<RunAsync>d__68.MoveNext () [0x0127f] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/AppRunner.cs:642 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter`1[TResult].GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:357 at xharness.RunSimulatorTask+<RunTestAsync>d__7.MoveNext () [0x0029d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2894 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.RunTestTask+<ExecuteAsync>d__8.MoveNext () [0x0010b] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2538 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.TestTask+<RunInternalAsync>d__87.MoveNext () [0x0010d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:1870 ``` I'm not sure how this can happen, but it has on the bots [1]. [1] https://jenkins.mono-project.com/job/xamarin-macios-pr-builder/4548/Test_Report/ * Bump versions for preview 5 (#2479) * [passkit] Update to beta 5 (#2481) * [tests] Remove workaround for radar #32688391. (#2486) * [replaykit] Update up to beta 5 (#2484) * Bump maccore to get fix for bug #55064. (#2487) * [apidiff] Update definition to new 10.12 (d15-3) stable release (#2490) * [SceneKit] basic work (#2483) * [coredata] Update to beta 5 (#2488) * [homekit] Update for Xcode 9 beta 5 (#2492) * [Foundation] Update for xcode9 (#2468) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 (#2493) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 * [Intents] Implement feedback * [Intents] Add a generic version for INInteraction.GetParameterValue * [Intents] Missing check * [Contacts] Add missing foundation NSItemProviderWriting protocol to CNContact (#2496) https://bugzilla.xamarin.com/show_bug.cgi?id=58203 This is available on all Contacts supported platforms ``` ./iPhoneOS.platform/Developer/SDKs/iPhoneOS11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchOS.platform/Developer/SDKs/WatchOS4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchSimulator.platform/Developer/SDKs/WatchSimulator4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ``` * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) (#2497) * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) * [IntentsUI] Better use a delegate instead so we have named params * Bump versions before 6th preview (#2514) * [arkit] Add missing MarshalDirective to ARPlaneAnchor (#2517) - Fixes bug #58648: ARPlaneAnchor.Extent property seems incorrect but changes to correct value after Debug access (https://bugzilla.xamarin.com/show_bug.cgi?id=58648) * [xtro-sharpie] Fix a compiler warning. (#2516) Fixes these warnings: Runner.cs(197,5): warning CS0642: Possible mistaken empty statement Runner.cs(199,5): warning CS0642: Possible mistaken empty statement Runner.cs(201,5): warning CS0642: Possible mistaken empty statement Runner.cs(203,5): warning CS0642: Possible mistaken empty statement Runner.cs(205,5): warning CS0642: Possible mistaken empty statement * [uikit] Update for Xcode 9 beta 5 - Part 3 (#2511) - UIKeyCommand - UINavigationBar - UINavigationItem - UIPasteboard - UITableViewHeaderFooterView * [xtro-sharpie] Remove xtro-plugin and misc other fixes. (#2522) * [xtro-sharpie] Build with msbuild and be as quiet as requested when building. * [xtro-sharpie] Must run as a 64-bit process, since the required native libraries are 64-bit. * [xtro-sharpie] Add run configurations to the project file to ease debugging in the IDE. * [xtro-sharpie] Remove xtro-plugin and the related commands. This was needed when there wasn't a 64-bit mono, in order to run xtro-sharpie in a 64-bit process. Now there is a 64-bit mono, so it's not needed anymore. Also improve makefile targets a bit, to auto-build stuff when needed, by setting the right dependencies. * Bump Xcode 9 to beta 6 (#2519) Disable watchOS tests again It seems like the Carousel crash from beta 4 is back to haunt us. This was working fine with beta 5. * Backport d15-3 SR2 fixes (#2515) * [coredata] Update to beta 6 (#2528) This seems to only revert some nullability changes from beta 5. * [coreml] Update to beta 6 (#2531) Fix our rdar 33643011 where additional setters were added in the headers but did not exists. * [videosubscriberaccount] Update to beta 6 (#2533) Only b1 and b2 introduced some additions/changes * [uikit] Update for Xcode 9 beta 6 - Part 4 (#2527) The following headers are now up to date: - UICollectionViewFlowLayout.h - UIDocumentPickerViewController.h - UIFontDescriptor.h - UIImage.h - UIImageView.h - UIImagePickerController.h * [xharness] Re-enable the watchOS tests. (#2534) It works fine for me locally, so let's see what Jenkins says. * [macos] Add new APIs in CoreWlan from Xcode9b3 (#2525) * Update AppKit bindings based on radar 33271241 results (#2518) * Update AppKit bindings based on radar 33271241 results - The header comment was updated to note it was NSSliderTouchBarItem view that has the protocol * Remove NSUserInterfaceCompression where not listed in header * [vision] Update to beta 6 (#2532) Removal of some deprecated (during beta) `init*` selectors. Also sync the versions that were inlined in subclasses - the old ones were not removed and the new ones were not added. * [xtro-sharpie] Many methods don't have selectors in Clang's API, so default to the name if no selector. (#2523) This makes a few more unclassified entries show up (mostly missing designated initializers): https://gist.github.com/rolfbjarne/07aa20f9b50b75bf3e69ac6a825e873a * [macos] Add ExternalAccessory APIs from xcode9 (#2526) * [58851] Disable NSMenuView in AllItemsWithNSMenuShouldAllowNull (#2504) * [arkit] Update for Xcode 9 beta 5 - Part 2 (#2505) - Add last missing selector. - Add tests for manual code. * [monotouch-test] Disable FontDescriptorTest.WithFeature (#2537) Disabled because it looks like the tvOS font we use: "Gujarati Sangam MN" does not have rare ligatures anymore (and the entire test is based on it). Before getting an actual fix for that, let's disable the test so it doesn't break all current builds. See: https://bugzilla.xamarin.com/show_bug.cgi?id=58929 * [xtro-sharpie] Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute. (#2524) Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute to calculate the native name for a TypeDefinition. Unclassified changes: https://gist.github.com/rolfbjarne/828f8ee41eebb0a3b60a38d71822fe59 * [foundation/uikit] Inline NSItemProvider_UIKitAdditions in NSItemProvider (#2538) As suggested here: https://github.com/xamarin/xamarin-macios/pull/2527#discussion_r134670981 * [intents] Fix breaking changes (api-diff) (#2543) Additions of @required members inside `INSpeakable` cannot be `[Abstract]` * [contacts] Fix breaking change (api-diff) (#2542) Type Changed: Contacts.CNPostalAddress Removed method: public static string LocalizeProperty (CNPostalAddressKeyOption option); * [macos] Reenable static registrar since Xcode9b6 un-broke SDK headers (#2544) - Fix a subtle spacing issues in PartialStaticLibrary property * [corebluetooth] Update up to beta 6 and enable it on watchOS (#2540) macOS 10.13 has finally catch up with iOS and this simplifies the bindings a bit. * [foundation] API fixes (apidiff) (#2545) 1. Let's not add new, already [Obsolete] API Type Changed: Foundation.NSDimension Added constructors: [Obsolete ("Not intended to be directly instantiated, this is an abstract class.")] public NSDimension (); 2. Fix inconsistently named API, e.g. Type Changed: Foundation.NSAttributedString Added properties: public static string[] ReadableTypeIdentifiersForItemProvider { get; } public static string[] WritableTypeIdentifiers { get; } * [pdfkit] Do not add already [Obsolete] API in new profiles (#2547) and ensure using the newer, correct API works cross-platforms iOS (before) [Obsolete ("Use 'Find (string, NSStringCompareOptions)' instead.")] public virtual PdfSelection[] Find (string text, nint options); public PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'Find (string, PdfSelection, NSStringCompareOptions)' instead.")] public virtual PdfSelection Find (string text, PdfSelection selection, nint options); public void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string, NSStringCompareOptions)' instead.")] public virtual void FindAsync (string text, nint options); public void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string [], NSStringCompareOptions)' instead.")] public virtual void FindAsync (string[] text, nint options); iOS (after) public virtual PdfSelection[] Find (string text, Foundation.NSStringCompareOptions compareOptions); public virtual PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); * Bump versions for the 7th preview (#2541) * Remove additions of AVKit removed in beta5 (#2536) * NSUrlSessionTask should implement NSProgressReporting for iOS (#2548) NSUrlSessionTask implements NSProgressReporting on iOS as well as Mac, so the #if MONOMAC isn't needed. * Add missing availability attributes causing failures on older iOS versions (#2550) * [vision] Minor fix wrt xtro (#2551) including some things we need to ignore manually !missing-field! VNVisionVersionNumber not bound !missing-pinvoke! VNImagePointForFaceLandmarkPoint is not bound !missing-pinvoke! VNNormalizedFaceBoundingBoxPointForLandmarkPoint is not bound * [uikit] NSFileProviderMessaging was removed in beta 2. Fixes #58222 (#2552) reference: https://bugzilla.xamarin.com/show_bug.cgi?id=58222 * [uikit] Update for Xcode 9 - Part 5 (#2546) Bindings for the following headers: - UIActivity.h - UIActivityItemProvider.h - UIAlertController.h - UIApplication.h - UIBarButtonItem.h - UIButton.h - UICollectionViewLayout.h - UIColor.h - UIControl.h - UIDocumentMenuViewController.h - UIFontMetrics.h - UIGestureRecognizer.h - UIGraphicsImageRenderer.h - UIInputViewController.h * [CoreText] Fix an extraneous free in CTFont.GetDefaultCascadeList. (#2555) We do not own the return value from CFArrayGetValueAtIndex, so don't say we do when creating CTFontDescriptor instances, since that leads to angry dragons: 2017-08-28 20:15:20.293 monotouchtest[33186:2311738] A_FontTest 2017-08-28 20:15:20.294 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithFontDescriptorAndOptions 2017-08-28 20:15:20.295 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithNameAndOptions 2017-08-28 20:15:20.296 monotouchtest[33186:2311738] critical: Stacktrace: at <unknown> <0xffffffff> at (wrapper managed-to-native) CoreText.CTFont.CTFontCopyDefaultCascadeListForLanguages (intptr,intptr) [0x0000a] in <ae65a2b1eea242d2b68fe784749543bf>:0 at CoreText.CTFont.GetDefaultCascadeList (string[]) [0x00013] in /work/maccore/xcode9/xamarin-macios/src/CoreText/CTFont.cs:2185 at MonoTouchFixtures.CoreText.A_FontTest.GetCascadeList () [0x0001e] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/CoreText/FontTest.cs:78 at (wrapper runtime-invoke) object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) [0x0004f] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) System.Reflection.MonoMethod.InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&) [0x00016] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at System.Reflection.MonoMethod.Invoke (object,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo) [0x00032] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/corlib/System.Reflection/MonoMethod.cs:305 at System.Reflection.MethodBase.Invoke (object,object[]) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/referencesource/mscorlib/system/reflection/methodbase.cs:229 at NUnit.Framework.Internal.Reflect.InvokeMethod (System.Reflection.MethodInfo,object,object[]) [0x00009] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Reflect.cs:215 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunNonAsyncTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x00025] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:116 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x0001a] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:90 at NUnit.Framework.Internal.Commands.TestMethodCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:66 at NUnit.Framework.Internal.Commands.SetUpTearDownCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00007] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/SetUpTearDownCommand.cs:84 at NUnit.Framework.Internal.WorkItems.SimpleWorkItem.PerformWork () [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/SimpleWorkItem.cs:64 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at MonoTouch.NUnit.UI.BaseTouchRunner.Run (NUnit.Framework.Internal.Test) [0x0004d] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:442 at MonoTouch.NUnit.UI.BaseTouchRunner.Run () [0x00030] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:171 at MonoTouch.Dialog.StringElement.Selected (MonoTouch.Dialog.DialogViewController,UIKit.UITableView,Foundation.NSIndexPath) [0x00008] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/Elements.cs:765 at MonoTouch.Dialog.DialogViewController.Selected (Foundation.NSIndexPath) [0x00026] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:577 at MonoTouch.Dialog.DialogViewController/Source.RowSelected (UIKit.UITableView,Foundation.NSIndexPath) [0x00016] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:402 at (wrapper runtime-invoke) <Module>.runtime_invoke_void__this___object_object (object,intptr,intptr,intptr) [0x0005d] in <32f0c196c5bc4aa18daea2ee64a7814e>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) UIKit.UIApplication.UIApplicationMain (int,string[],intptr,intptr) [0x0005c] in <ae65a2b1eea242d2b68fe784749543bf>:0 at UIKit.UIApplication.Main (string[],intptr,intptr) [0x00005] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:79 at UIKit.UIApplication.Main (string[],string,string) [0x00038] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:63 at monotouchtest.Application.Main (string[]) [0x00011] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/Main.cs:27 at (wrapper runtime-invoke) <Module>.runtime_invoke_void_object (object,intptr,intptr,intptr) [0x00051] in <30a7f7e09de9467b8b454221034a0e38>:0 Native stacktrace: 0 monotouchtest 0x000000010fca03c4 mono_handle_native_crash + 244 1 monotouchtest 0x000000010fcadd30 mono_sigsegv_signal_handler + 288 2 libsystem_platform.dylib 0x000000011feb3b3a _sigtramp + 26 3 CoreFoundation 0x000000011de035a2 computeSanitizedString + 146 4 CoreText 0x00000001168df314 _ZN15TPurgeableCache19RetainedValueForKeyEPKv + 54 5 CoreText 0x00000001168def85 _ZNK17TDescriptorSource22CopyDescriptorUncachedEPK7__CFURLbPK10__CFString + 55 6 CoreText 0x00000001168df34f _ZNK17TDescriptorSource14CopyDescriptorEPK7__CFURLbPK10__CFString + 27 7 CoreText 0x00000001168e20ad _ZNK17TDescriptorSource35CopyFontDescriptorPerPostScriptNameEPK10__CFStringmm + 297 8 CoreText 0x00000001168dfd9e _ZNK17TDescriptorSource30CopySystemFontDescriptorByNameEPK10__CFString10UIFontFlag + 54 9 CoreText 0x00000001168e54c4 _ZNK14TFontFallbacks17CopyFontFallbacksEPK10__CFStringS2_PK9__CFArray + 652 10 CoreText 0x00000001168e4a00 _ZNK14TFontFallbacks29CopyFontFallbacksForLanguagesEPK10__CFStringPK9__CFArray + 122 11 CoreText 0x00000001168e4971 _ZN17TDescriptorSource39CopyDefaultSubstitutionListForLanguagesEPK10__CFStringPK9__CFArray + 61 12 CoreText 0x00000001169397a7 _ZNK9TBaseFont28CreateSystemDefaultFallbacksEPK10__CFStringPK9__CFArray + 51 13 CoreText 0x000000011693999c _ZNK9TBaseFont15CreateFallbacksE10UIFontFlagPPK16__CFCharacterSetPK9__CFArray + 346 14 CoreText 0x00000001168c1036 _ZNK5TFont24CreateDefaultCascadeListEPK9__CFArray + 242 15 CoreText 0x00000001168b8ff9 CTFontCopyDefaultCascadeListForLanguages + 97 16 ??? 0x0000000140eaefd3 0x0 + 5384105939 17 ??? 0x0000000140eae761 0x0 + 5384103777 18 ??? 0x000000013c9c8e74 0x0 + 5311860340 19 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 20 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 21 monotouchtest 0x000000010fd71bac mono_runtime_try_invoke_array + 1292 22 monotouchtest 0x000000010fd15587 ves_icall_InternalInvoke + 647 23 ??? 0x000000013e9fcd13 0x0 + 5345627411 24 ??? 0x000000013e9fc738 0x0 + 5345625912 25 ??? 0x000000013e9fded5 0x0 + 5345631957 26 ??? 0x000000013e9fbb76 0x0 + 5345622902 27 ??? 0x000000013e9e237e 0x0 + 5345518462 28 ??? 0x000000013e9e237e 0x0 + 5345518462 29 ??? 0x000000013e9e237e 0x0 + 5345518462 30 ??? 0x000000013e9e237e 0x0 + 5345518462 31 ??? 0x000000013e873006 0x0 + 5344014342 32 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 33 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 34 monotouchtest 0x000000010fd6e320 mono_runtime_invoke + 208 35 monotouchtest 0x000000010fe71af1 xamarin_invoke_trampoline + 5617 36 monotouchtest 0x000000010fe79ddd xamarin_arch_trampoline + 189 37 monotouchtest 0x000000010fe7b1a1 xamarin_x86_64_common_trampoline + 110 38 UIKit 0x0000000111b9876b -[UITableView _selectRowAtIndexPath:animated:scrollPosition:notifyDelegate:] + 1810 39 UIKit 0x0000000111b98986 -[UITableView _userSelectRowAtPendingSelectionIndexPath:] + 344 40 UIKit 0x0000000111a6b5c9 _runAfterCACommitDeferredBlocks + 318 41 UIKit 0x0000000111a59dad _cleanUpAfterCAFlushAndRunDeferredBlocks + 280 42 UIKit 0x0000000111a89f68 _afterCACommitHandler + 137 43 CoreFoundation 0x000000011de3ddb7 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23 44 CoreFoundation 0x000000011de3dd0e __CFRunLoopDoObservers + 430 45 CoreFoundation 0x000000011de22324 __CFRunLoopRun + 1572 46 CoreFoundation 0x000000011de21a89 CFRunLoopRunSpecific + 409 47 GraphicsServices 0x0000000121b7e9c6 GSEventRunModal + 62 48 UIKit 0x0000000111a5f7d0 UIApplicationMain + 159 49 ??? 0x000000013c9c4474 0x0 + 5311841396 50 ??? 0x000000013c9c40ad 0x0 + 5311840429 ================================================================= Got a SIGSEGV while executing native code. This usually indicates a fatal error in the mono runtime or one of the native libraries used by your application. ================================================================= * [monotouch-test] Don't subclass MKMapView. (#2556) MKMapView doesn't like being subclassed (Apple says "you should not subclass the MKMapView class itself"). Bad things like this starts happening: Thread 0 name: tid_303 Dispatch queue: com.apple.main-thread Thread 0 Crashed: 0 libsystem_kernel.dylib 0x0000000186b25348 __pthread_kill + 8 1 libsystem_pthread.dylib 0x0000000186c39354 pthread_kill$VARIANT$mp + 396 2 libsystem_c.dylib 0x0000000186a94fd8 abort + 140 3 monotouchtest 0x0000000101c02c14 mono_handle_native_crash + 22047764 (mini-exceptions.c:2548) 4 monotouchtest 0x0000000101c0d02c mono_sigsegv_signal_handler + 22089772 (mini-runtime.c:2886) 5 libsystem_platform.dylib 0x0000000186c33b60 _sigtramp + 52 6 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 7 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 8 CoreFoundation 0x0000000186eda51c -[__NSArrayM dealloc] + 68 9 CoreFoundation 0x000000018703f5c8 __CFBasicHashDrain + 312 10 CoreFoundation 0x0000000186fb5b44 _CFRelease + 224 11 CoreText 0x000000018a808404 TDescriptorSource::PurgeFontFallbacksCache+ 488452 () + 92 12 CoreText 0x000000018a808374 TDescriptorSource::PurgeFromCaches+ 488308 (__CFURL const*) const + 176 13 CoreText 0x000000018a7eec74 CTFontRemoveFromCaches + 168 14 VectorKit 0x0000000196a539b0 +[VKSharedResourcesManager removeResourceUser:] + 324 15 VectorKit 0x0000000196ca27a4 md::MapEngine::~MapEngine+ 2643876 () + 360 16 VectorKit 0x0000000196ca2634 md::MapEngine::~MapEngine+ 2643508 () + 12 17 libobjc.A.dylib 0x000000018651eef4 object_cxxDestructFromClass+ 28404 (objc_object*, objc_class*) + 148 18 libobjc.A.dylib 0x000000018652c638 objc_destructInstance + 88 19 libobjc.A.dylib 0x000000018652c690 object_dispose + 16 20 QuartzCore 0x000000018afca3ac -[CALayer dealloc] + 116 21 VectorKit 0x0000000196a43294 -[VKMapView dealloc] + 940 22 QuartzCore 0x000000018af6aafc CA::release_objects+ 744188 (X::List<void const*>*) + 32 23 QuartzCore 0x000000018afd97d8 CA::Layer::~Layer+ 1198040 () + 276 24 QuartzCore 0x000000018afca37c -[CALayer dealloc] + 68 25 QuartzCore 0x000000018af6b16c CA::Transaction::commit+ 745836 () + 1052 26 UIKit 0x0000000190393290 _afterCACommitHandler + 256 27 CoreFoundation 0x0000000186fb38b8 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 32 28 CoreFoundation 0x0000000186fb1270 __CFRunLoopDoObservers + 412 29 CoreFoundation 0x0000000186fb182c __CFRunLoopRun + 1292 30 CoreFoundation 0x0000000186ed22d8 CFRunLoopRunSpecific + 436 31 GraphicsServices 0x0000000188d58f84 GSEventRunModal + 100 32 UIKit 0x000000019040427c UIApplicationMain + 208 33 monotouchtest 0x000000010106eb90 wrapper_managed_to_native_UIKit_UIApplication_UIApplicationMain_int_string___intptr_intptr + 9907088 (/<unknown>:1) 34 monotouchtest 0x0000000100f0d6ac UIKit_UIApplication_Main_string___intptr_intptr + 8459948 (UIApplication.cs:79) 35 monotouchtest 0x0000000100f0d66c UIKit_UIApplication_Main_string___string_string + 8459884 (UIApplication.cs:63) 36 monotouchtest 0x0000000100b10450 monotouchtest_Application_Main_string__ + 4277328 (Main.cs:27) 37 monotouchtest 0x0000000100e0c244 wrapper_runtime_invoke_object_runtime_invoke_dynamic_intptr_intptr_intptr_intptr + 244 38 monotouchtest 0x0000000101c10048 mono_jit_runtime_invoke + 22102088 (mini-runtime.c:2526) 39 monotouchtest 0x0000000101c75eec do_runtime_invoke + 22519532 (object.c:2829) 40 monotouchtest 0x0000000101c78a3c do_exec_main_checked + 22530620 (object.c:4623) 41 monotouchtest 0x0000000101bf9a1c mono_jit_exec + 22010396 (driver.g.c:1040) 42 monotouchtest 0x0000000101d13d60 xamarin_main + 23166304 (monotouch-main.m:482) 43 monotouchtest 0x00000001007de710 main + 927504 (main.m:67) 44 libdyld.dylib 0x00000001869f656c start + 4 * [introspection] Let SkipDueToAttributeInProperty skip setters too (#2557) `SkipDueToAttributeInProperty` which is used to check the availability attribute of properties when the Availability info only exist on the property and not on the property Getter or Setter was wrong. This lead to `setSpringLoaded` (which was introduced in iOS 11) to not be ignored by the test (making it fail). - Fix bug #59085: [introspection-ios] selector not found for UIKit.UIBarButtonItem : setSpringLoaded: - Broken test (https://bugzilla.xamarin.com/show_bug.cgi?id=59085) * [corevideo][watchos] Enable CoreVideo on watchOS (#2553) * [storekit] Fix CampaignToken typo (#2559) (#2560) - Fixes bug #59078: StoreProductParameters and invalid property for CampaignToken (https://bugzilla.xamarin.com/show_bug.cgi?id=59078) * [coreml][watchos] Enable API using CoreVideo on watchOS. Fix #58097 (#2561) https://bugzilla.xamarin.com/show_bug.cgi?id=58097 * Add missing [MarshalDirective] attributes. (#2558) * [bindings-generator] Improve build & project file. * Add missing [MarshalDirective] attributes. Add missing [MarshalDirective] attributes, which also requires implementing support for out parameters in the binding generator, since one of the signatures missing the [MarshalDirective] contains such an out parameter. Also add tests for all the API I've added [MarshalDirective] to. * [bindings-generator] Remove redundant if check. * [monotouch-test] Rename file to end with 'Test.cs'. * [tests] Fix a few build errors for Xamarin.Mac. * [uikit] Fix UIColor and UIInputViewController tvOS availability (#2569) - Fixes introspection tests on tvOS 10. * [storekit] Fix SKCloudServiceSetupMessageIdentifier and SKProductStorePromotionController tvOS availability (#2568) - Fixes introspection tests on tvOS 10. * [mapkit] Fix MKMapItemTypeIdentifier tvOS availability (#2566) - Also remove double [Mac] availability attribute. - Fixes introspection tests on tvOS 10. * [ARKit] Fix marshalling for ARPointCloud.RawFeaturePoints. (#2565) ARPointCloud.RawFeaturePoints is an array of Vector3, but each vector is 16-byte aligned (as if it were an array of Vector4). This means we need to account for this when creating a managed array from pointer to the native C-style array. * [ModelIO] Fix MDLVoxelIndexExtent struct. (#2564) The MDLVoxelIndexExtent is a struct containing two 4-dimensional vectors of integers (not floats, as originally and incorrectly implemented). Fix this my creating a new MDLVoxelIndexExtent2 struct with the right fields, re-implement all the API that exposes this struct and obsolete the old API. Also add missing [MarshalDirective] attributes. And write a test to make sure it works fine now and forever. * [coredata] Enable new fields since rdar #33878590 is fixed w/beta 6 (#2570) reference: https://trello.com/c/dlSRYPFx * [xtro-sharpie] Add a Simd check class to verify signatures with Simd types. * [Simd] Add simd matrix types. The OpenTK matrices (Matrix2/3/4) has a different memory layout than Apple's matrix_float2x2/matrix_float3x3/matrix_float4x4 matrices: the OpenTK versions are row-major, while Apple's versions are column-major. This means that when blitting memory from one to the other, the matrix will appear to have been transposed. See bug #[58599][2] for an example. Unfortunately we've already bound several API with Apple's matrix_floatXxX matrices using OpenTK's matrices, and although they're bound wrong, and the matrices appear transposed on input/output, we can't change the behavior because we have to maintain compatibility. This means we have to introduce new API, and then also just define new matrix types with the right memory layout (column-major). Additionally, in the future we might be able to mark these matrices as Simd-matrixes, so that the JIT/AOT compiler can generate the correct alignment for them, avoiding having to define a native conversion method (using the [MarshalDirective] hack). The matrices have been designed to match API-wise the matrices in the System.Numerics.Vectors namespace [1], but for the moment with only a few basic operations implemented (Determinant/Transpose/Multiply) defined (we can always add more later if we want to). In addition explicit conversion operators to and from the corresponding OpenTK.MatrixX are implemented, which means any operation defined in the OpenTK matrices can be used by converting back and forth. [1]: https://msdn.microsoft.com/en-us/library/system.numerics.matrix4x4(v=vs.111).aspx [2]: https://bugzilla.xamarin.com/show_bug.cgi?id=58599 * [ARKit] Use the new Simd matrix types. * [Vision] Use the new Simd matrix types. * [ModelIO] Use the new Simd-compatible matrix types, and deprecate the old API. * [GameplayKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [SpriteKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [xtro] Don't report missing [MarshalDirective] for obsolete methods. * [xtro] Remove unnecessary ignores. The implementation changed, and these stayed accidentally. * [wkwebkit] Fix (native) protocol names (#2572) Also ignore xtro's WKSnapshotConfiguration since it's an Apple bug 34185961 reference (xtro) !missing-protocol! WKURLSchemeHandler not bound !missing-protocol! WKURLSchemeTask not bound !unknown-protocol! WKUrlSchemeHandler bound !unknown-protocol! WKUrlSchemeTask bound !unknown-type! WKSnapshotConfiguration bound * [uikit] Fix enums availability attributes (#2575) - Fixes bug #59132: [uikit] Extra types in watchOS (https://bugzilla.xamarin.com/show_bug.cgi?id=59132) * [watchkit] Add missing designated initializers (#2574) references (xtro) !missing-designated-initializer! WKInterfaceController::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! WKUserNotificationInterfaceController::init is missing an [DesignatedInitializer] attribute * [xtro] Reword some of the Simd diagnostic messages according to review. * [tests] Make sure test symbols don't clash between different test libraries. Fixes this build problem for framework-test: clang: error: linker command failed with exit code 1 (use -v to see invocation) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_get_rotation_matrix'. MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticObjectTest.framework/XStaticObjectTest (Location related to previous error) MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticArTest.framework/XStaticArTest(libtest-ar.x86_64.o) (Location related to previous error) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransformcomponent_get_local_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_create_global_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float4x4'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float3x3'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float2x2'. MTOUCH: error MT5209: Native linking error: 6 duplicate symbols for architecture x86_64 MTOUCH: error MT5202: Native linking failed. Please review the build log. * [tests] Since libtest.a need ModelIO now, the corresponding LinkWith attributes need to state that too. * [introspection] Don't check native signatures on obsolete members, and ignore the right simd matrix types. Fixes this introspection/Mac problem: ***** ApiSignatureTest.NativeSignatures Selector: uniformWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: uniformWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: uniformWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: setMatrixFloat2x2Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: setMatrixFloat3x3Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: setMatrixFloat4x4Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: initWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: initWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: initWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded * [monotouch-tests] Include more custom asserts for watchOS to make the build work. Fixes this: Simd/MatrixFloat4x4Test.cs(28,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(29,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(37,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(48,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' [...] * [monotouch-test] Exclude code that requires the binding project from xammac tests. Exclude code that requires the test binding project from xammac tests because there's currently no XM version of the test binding project. Fixes this: tests/monotouch-test/SpriteKit/UniformTest.cs(20,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLMaterialProperty.cs(37,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLTransform.cs(34,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) * Bump version for preview #8 (#2576) * [spritekit] Audit fixes (xtro) (#2577) 1. SKVideoNode is now, partially, available on watchOS and does not require the extra, manual code to swicth selectors depending on the OS version being run. !missing-type! SKVideoNode not bound !missing-selector! SKVideoNode::anchorPoint not bound !missing-selector! SKVideoNode::initWithCoder: not bound !missing-selector! SKVideoNode::initWithFileNamed: not bound !missing-selector! SKVideoNode::initWithURL: not bound !missing-selector! SKVideoNode::setAnchorPoint: not bound !missing-selector! SKVideoNode::setSize: not bound !missing-selector! SKVideoNode::size not bound !missing-selector! +SKVideoNode::videoNodeWithFileNamed: not bound !missing-selector! +SKVideoNode::videoNodeWithURL: not bound 2. SKNodeFocusBehavior is exposed needlessly on watchOS because SpriteKit/Enums.cs was not processed by the generator, so [NoWatch] did not matter. !unknown-native-enum! SKNodeFocusBehavior bound It's also visible on macOS but nothing uses it (so we do not expose it needlessly) !missing-enum! SKNodeFocusBehavior not bound 3. Add missing designated initializer on default `init` !missing-designated-initializer! SKAttributeValue::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! SKNode::init is missing an [DesignatedInitializer] attribute 4. Remove inconsistency for SKNode subclasses wrt XAMCORE_4_0 The trio attributeValues, setAttributeValues and setValue:forAttributeNamed: that was moved from SKNode (deprecated) into its subclasses. This was done using XAMCORE_4_0 but not on every subclasses. This adds them everywhere to be consistent (only SKNode versions are not defined in XAMCORE_4_0) !missing-selector! SKEffectNode::attributeValues not bound !missing-selector! SKEffectNode::setAttributeValues: not bound !missing-selector! SKEffectNode::setValue:forAttributeNamed: not bound !missing-selector! SKEffectNode::valueForAttributeNamed: not bound !missing-selector! SKEmitterNode::attributeValues not bound !missing-selector! SKEmitterNode::setAttributeValues: not bound !missing-selector! SKEmitterNode::setValue:forAttributeNamed: not bound !missing-selector! SKEmitterNode::valueForAttributeNamed: not bound !missing-selector! SKSpriteNode::attributeValues not bound !missing-selector! SKSpriteNode::setAttributeValues: not bound !missing-selector! SKSpriteNode::setValue:forAttributeNamed: not bound !missing-selector! SKSpriteNode::valueForAttributeNamed: not bound * [introspection] Make sure '[FAIL]' is printed before every failure. (#2578) This makes xharness able to list the failures in the inline summary. * [xtro] Reword some of the Simd diagnostic messages according to review. * [xharness] Add a missing IsServerMode check to generate correct html. (#2581) * [SpriteKit] SKTransformNode is new in Xcode 9 so no need to keep the broken (and obsolete) non-simd version of RotationMatrix. * [intents] Fix some (partial) xtro issues and #59156 (#2585) reference https://bugzilla.xamarin.com/show_bug.cgi?id=59156 Remaining issues are filled in https://bugzilla.xamarin.com/show_bug.cgi?id=59183 !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound * [Intents] Confirm* interface methods should be bound as Confirm, Fixes Bug 59164 (#2591) * [Intents] Confirm* interface methods should probably be bound as Confirm, Fixes Bug 59164 https://bugzilla.xamarin.com/show_bug.cgi?id=59164 All Confirm* methods from *IntentHandling interfaces should be named just `Confirm` to avoid confusion because most of them do not directly confirm as an acion, but instead they **ask** for confirmation also we would follow swift's naming by doing this. * [Intents] XAMCORE_4_0 all Confirm* methods from *IntentHandling Turns any Confirm* into just Confirm inside a XAMCORE_4_0 block, * [Intents] Fix breaking changes in Intents added in Xcode 9 Bindings (#2590) Apple added more protocol conformances to INRidesharingDomainHandling and INPaymentsDomainHandling protocols in Xcode 9, I introduced these breaking changes back when I did intents binding so fixing them :) * [Metal] New bindings from Xcode 9 betas (#2457) * [AVFoundation] Updated bindings for xcode9. (#2272) * [Xcode9] Add IOSurface bindings (#2363) * This framework was a private framework before iOS 11. This framework was a private framework before iOS 11, yet the headers claim many API were introduced in iOS 10. So take account of this difference by using the private framework location in iOS 10.3 or earlier. Testing these API from Xcode works fine when run on an iOS 10.3 device, and I've confirmed the IOSurface framework is loaded from the private frameworks path on older devices (and when built using Xcode 9 and linked with the public framework path). * Disable code to make IOSurface work on iOS 10. Disable the code to make IOSurface work on iOS 10, since it may be rejected by the App Store. This also means adjusting the availability attributes, so that the introspection tests pass (and to document that technically these API won't work when used with Xamarin.iOS in iOS 10). I've filed bug #[59201][1] to keep track of this, maybe we can re-enable this later. [1]: https://bugzilla.xamarin.com/show_bug.cgi?id=59201 * [CoreMedia] Fix leak in CMAttachmentBearer.GetAttachments. (#2593) The caller owns the return value from CMCopyDictionaryOfAttachments, so tell Runtime.GetNSObject that. * [Intents] Adds missing API found by xtro, fixes Bug 59183 (#2596) https://bugzilla.xamarin.com/show_bug.cgi?id=59183 Fixes !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !incorrect-protocol-member! INUIHostedViewControlling::configureWithInteraction:context:completion: is OPTIONAL and should NOT be abstract * [xtro] Fix StartWorkingDirectory to enable debugging (#2598) * [iosurface] Enable for tvOS and XM classic (to avoid multiple defines around consumer API) (#2597) * [xtro] Fix EnumCheck (#2600) * [ARKit] Rename a few method to make them nicer. (#2604) * DisplayTransform -> GetDisplayTransform since methods should have verbs. * SessionWasInterrupted -> WasInterrupted and SessionInterruptionEnded -> InterruptionEnded since these names match better with the other names (CameraDidChangeTrackingState / DidFail / DidOutputAudioSampleBuffer: none are prefixed with 'Session'). Additionally, the type is a Model (for the delegate pattern), which means all methods are more-or-less event-like, and the first argument is always the same (the protocol itself), which is another indicator the methods should be named similarly. * [Foundation] Remove 'Key' suffix from some fields. (#2606) Of the 168 fields in NSMetadataItem, only these 5 hadn't removed the 'Key' suffix. So make them all equivalent by removing the 'Key' suffix from these 5 fields. * [ImageIO] Fix API to not duplicate the instance in instance methods. (#2609) An instance method does not need to take the instance as a parameter, so remove the first (instance) parameter for CGImageDestination.AddAuxiliaryDataInfo and CGImageSource.CopyAuxiliaryDataInfo. An alternative solution would be to make the methods static, but I like the instance API better. * [UIKit] De-model UIDataSourceTranslating. (#2603) It's not clear from neither the documentation nor the headers how this protocol is supposed to be used, and since it doesn't correspond to the delegate pattern, remove the [Model] attribute for now. We can always add it back later. * [CoreML] Improve API. (#2592) * [CoreML] Improve API. * The indices, shape and stride properties for MLMultiArray and MLMultiArrayConstraint can logically only be arrays of integers, so type them as such. This means adding overloads for MLMultiArray's constructors, GetObject and SetObject methods, and the indexers that takes nint[] arrays instead of NSNumber[] arrays. * Change MLFeatureValue's static factory methods to be a method ('Create') instead of a preposition, and call all the different factory methods the same, since they can be overloaded nicely. * [tests][monotouch-test] Add version check to MLMultiArrayTest and make sure the arrays we create are big enough for the data we put in them. * [tests][monotouch-test] MLMultiArray's elements aren't zero-initialized, so don't assume that in the tests. * Support overloading Objective-C methods based on static/instance. (#2607) Two Objective-C methods can be named identically as long as one is static and the other instance. We must support this since Apple did just this (in the NSItemProviderReading / NSItemProviderWriting protocols). We solve it by prepending a '+' or '-' to the selector when hashing it (to determine selector uniqueness, and to look the method up again at runtime). * [uikit] Update for Xcode 9 - Part 6 (#2602) NSAttributedString.h NSFileProviderExtension.h NSLayoutAnchor.h UIAccessibility.h UIAccessibilityAdditions.h UIAccessibilityContainer.h UIAccessibilityContentSizeCategoryImageAdjusting.h UIAccessibilityCustomRotor.h UIAccessibilityLocationDescriptor.h UITabBar.h UINavigationBar.h UIScreen.h * Xcode9 scenekit (#2512) * [SceneKit] basic work * Added key * [xcode9] SCNCameraController * [xcode9] SCNCamera updates * [xcode9] SCNMaterial * [xcode9] SCNGeometryTessellator, SCNCameraControlConfiguration, SCNView, small bits * Add trailing commas to last enum value * Remove whitespace noise * [scenekit] Update deprecated attributes messages * Addresses some of Rolf's feedback * Drop the WeakDelegate in SCNCameraController * Rename method to Render, remove ctor from class that can not be constructed in Palygrounds, add typo exception * [AppKit] Rename NSBezierPath.AppendBezierPathWithCGGlyph to match its sibling methods. (#2605) NSBezierPath contains a lot of 'AppendPathWithXXX' methods, that all map to 'appendBezierPathXXX' selectors. So rename AppendBezierPathWithCGGlyph accordingly, to make it more similar to the other methods in the same type. * [uikit] Add all UISpringLoadedInteractionSupporting (#2616) Types do not conform to the protocol but protocol methods work on those types (see monotouch-test). Fixed introspection tests accordingly and tested the selectors in monotouch-test. * [Intents] Add convenience ctor overload and call correct base ctor in manual ctor. (#2613) Add a convenience constructor overload in INGetUserCurrentRestaurantReservationBookingsIntent that uses nint instead of NSNumber, since logically "number of results" will always be some sort of integer. Also call the correct base constructor in INSpeakableString's custom constructor (same as any other generated constructor). Otherwise we end up doing something like this: [[[INSpeakableString alloc] init] initWith ...], i.e. calling two different init methods. * [coreimage] Add new headers API up to beta 6 (#2601) Filters are not complete (ref: #57350) https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * Some new constants are not yet documented (type is known), so they are commented / ignored https://bugzilla.xamarin.com/show_bug.cgi?id=59296 * Filled bug for [Wrap] inside [Category] so strong dictionary helpers can be re-enabled later https://bugzilla.xamarin.com/show_bug.cgi?id=59294 * [foundation] xtro fixes for watchOS (#2586) !missing-enum! NSProcessInfoThermalState not bound !missing-field! NSProcessInfoThermalStateDidChangeNotification not bound !missing-selector! NSProcessInfo::thermalState not bound Headers are wrong and preferredPresentationStyle is not in tvOS and watchOS !missing-selector! NSItemProvider::preferredPresentationStyle not bound !missing-selector! NSItemProvider::setPreferredPresentationStyle: not bound * [uikit] Also remove UIPreferredPresentationStyle enum from platform where it's not used * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. (#2614) * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. * NSItemProviderWriting: * NSItemProviderReading: Implement correctly and completely by uncommenting commented out code. * NSMutableString: * NSAttributedString: remove inlined members, since these classes don't implement NSItemProviderReading / NSItemProviderWriting (according to the headers at least). * NSUrl: all platforms now seem to implement NSItemProviderReading / NSItemProviderWriting. * NSString: all platforms now seem to implement both NSItemProviderReading and NSItemProviderWriting * UIColor: * UIImage: Update inlined protocol members according to the latest beta. Additionally, due to the following conditions: * The protocols all have the correct members now. * In the API definition we tell the generator to inline members from a protocol by inheriting from the corresponding interface. * The generator doesn't inline static members from protocols. several 'new' keywords had to be added to silence a compiler warning that occurrs when we manually inline a static member, since the member would be included in the type both from the inherited interface and the manual implementation. * [Foundation] Comment out NSItemProviderWriting.GetItemProviderVisibility to avoid inlining/generating unusable methods. NSItemProviderWriting.GetItemProviderVisibility is an optional method, and none of the native classes that implements NSItemProviderWriting actually imlements the method. This means inlining the method in those classes ends up creating unusable API; so just comment out the method to avoid generating the unusable API. The introspection tests found this: [FAIL] Foundation.NSString : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Foundation.NSUrl : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Contacts.CNContact : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] MapKit.MKMapItem : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIColor : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIImage : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] iOSApiSelectorTest.ApiSelectorTest.StaticMethods : 6 errors found in 2348 static selector validated: See also https://bugzilla.xamarin.com/show_bug.cgi?id=59308 * [iosurface] Add missing [TV] attributes (#2619) * [opengles] Enable the new API using IOSurface (#2618) The symbol only exists inside device libraries, not on simulator, and the introspection tests were updated to ignore it. Part of https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [avfoundation][watchos] Enable AudioBufferList (fix #59145) + audit (xtro) (#2617) 1. AudioBufferList is part of CoreAudio (wrong namespace, which needs a few changes in the generator) and now available in watchOS 4 https://bugzilla.xamarin.com/show_bug.cgi?id=59145 2. Also fixes xtro found issues: !missing-type! AVAudioRecorder not bound !missing-selector! AVAudioRecorder::averagePowerForChannel: not bound !missing-selector! AVAudioRecorder::channelAssignments not bound !missing-selector! AVAudioRecorder::currentTime not bound !missing-selector! AVAudioRecorder::delegate not bound !missing-selector! AVAudioRecorder::deviceCurrentTime not bound !missing-selector! AVAudioRecorder::format not bound !missing-selector! AVAudioRecorder::initWithURL:format:error: not bound !missing-selector! AVAudioRecorder::initWithURL:settings:error: not bound !missing-selector! AVAudioRecorder::isMeteringEnabled not bound !missing-selector! AVAudioRecorder::isRecording not bound !missing-selector! AVAudioRecorder::peakPowerForChannel: not bound !missing-selector! AVAudioRecorder::recordAtTime: not bound !missing-selector! AVAudioRecorder::recordAtTime:forDuration: not bound !missing-selector! AVAudioRecorder::recordForDuration: not bound !missing-selector! AVAudioRecorder::setChannelAssignments: not bound !missing-selector! AVAudioRecorder::setDelegate: not bound !missing-selector! AVAudioRecorder::setMeteringEnabled: not bound !missing-selector! AVAudioRecorder::settings not bound !missing-selector! AVAudioRecorder::url not bound !missing-protocol! AVAudioRecorderDelegate not bound !missing-selector! AVAudioEngine::inputNode not bound !missing-selector! AVAudioEngine::manualRenderingBlock not bound !missing-selector! AVAudioInputNode::setManualRenderingInputPCMFormat:inputBlock: not bound !missing-selector! AVAudioPlayer::format not bound !missing-selector! AVAudioSession::requestRecordPermission: not bound !unknown-field! AVFileType3GPP bound !unknown-field! AVFileType3GPP2 bound !unknown-field! AVFileTypeAC3 bound !unknown-field! AVFileTypeAIFC bound !unknown-field! AVFileTypeAIFF bound !unknown-field! AVFileTypeAMR bound !unknown-field! AVFileTypeAVCI bound !unknown-field! AVFileTypeAppleM4A bound !unknown-field! AVFileTypeAppleM4V bound !unknown-field! AVFileTypeCoreAudioFormat bound !unknown-field! AVFileTypeDNG bound !unknown-field! AVFileTypeEnhancedAC3 bound !unknown-field! AVFileTypeHEIC bound !unknown-field! AVFileTypeHEIF bound !unknown-field! AVFileTypeJPEG bound !unknown-field! AVFileTypeMPEG4 bound !unknown-field! AVFileTypeMPEGLayer3 bound !unknown-field! AVFileTypeQuickTimeMovie bound !unknown-field! AVFileTypeSunAU bound !unknown-field! AVFileTypeTIFF bound !unknown-field! AVFileTypeWAVE bound * [Metal] Implement API using IOSurface now that IOSurface is implemented. Partially fixes #58054. (#2621) https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [PdfKit] Improve PdfAnnotation.QuadrilateralPoints binding by making it strongly typed. (#2620) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). (#2622) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). * [ARKit/Vision] Use the new simd vector types instead of the OpenTK versions. * [ModelIO] Use the new simd vectors in new API (MDLVoxelIndexExtent2). This way we won't have to create a MDLVoxelIndexExtent3 in the future. * [SpriteKit] Use the new simd vectors in new API. * [metal] Audit (xtro) based fixes (#2623) !extra-protocol-member! unexpected selector MTLArgumentEncoder::newArgumentEncoderForBufferAtIndex: found !extra-protocol-member! unexpected selector MTLComputeCommandEncoder::dispatchThreads:threadsPerThreadgroup: found macos-only !missing-field! MTLDeviceRemovalRequestedNotification not bound !missing-field! MTLDeviceWasAddedNotification not bound !missing-field! MTLDeviceWasRemovedNotification not bound !missing-pinvoke! MTLCopyAllDevices is not bound * [CloudKit] Update bindings to beta 6. (#2615) * [FileProvider] Turn NSFileProviderItemIdentifier enum into a static class, fixes bug 59329 (#2634) https://bugzilla.xamarin.com/show_bug.cgi?id=59329 At the time of binding NSFileProviderItemIdentifier it wasn't clear how it was supposed to be used, I mean apple provides two keys which I thought were the only possible values hence binding it as an smart enum. Unfortunately this wasn't the case and the user can use those two values provided from the SDK or their own NSString Identifier. Swift provides a wrapper unfortunately we can't do the same due to NSFileProviderItemIdentifier is used in the NSFileProviderItem protocol and we currently do not support changing signatures on them. * [mtouch] Teach mtouch about the 'IOSurface' framework for tvOS. Fixes #59333. (#2630) https://bugzilla.xamarin.com/show_bug.cgi?id=59333 * Bump Touch.Unit to get fix for API breakage. (#2631) spouliot/Touch.Unit@8f1e19d [NUnitOutputTextWriter] Reintroduce previous constructor to make sure we don't break binary ABI. spouliot/Touch.Unit@00b0c0b [NUnitOutputTextWriter] Don't write invalid xml comments. spouliot/Touch.Unit@de9fe20 [TouchRunner] Restore the original code path when not wrapping NUnit xml output. * [IOSurface] Add missing availability attributes for tvOS. (#2629) * Bump versions for preview 9 (#2624) * [AVFoundation] Add missing interface AVRouteDetector. (#2637) * [tests] Update xtro to reduce list sizes (#2636) * Skip OpenTK duplicate declaration (we can't change them); * Fix rule name change for ARKit / simd; * Add missing default initializer on `init` to pending actions; * Add note for AVPersistableContentKeyRequest changes wrt tvOS; * [ReplayKit] Make RPBroadcastActivityViewController.LoadBroadcastActivityViewController async-capable. (#2639) * [xcode9] More SceneKit bindings (#2633) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 (#2644) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 https://bugzilla.xamarin.com/show_bug.cgi?id=59380 vector_float3 is 16 bytes, which means the binding is incorrect, because Vector3 is 12 bytes, and our code does not that difference into account. * Add tests * [DeviceCheck] Disable default ctor for DCDevice. (#2642) It doesn't seem to be useful according to the documentation, since it appears that the only way to get an instance is to use the static CurrentDevice property. * [audiounit] Audit (xtro) fixes for tvOS (#2635) Availability attributes in non-generated files don't hide symbols/code. reference: !unknown-pinvoke! AudioUnitExtensionCopyComponentList bound !unknown-pinvoke! AudioUnitExtensionSetComponentList bound * [tests] Make sure tvOS tests don't use the (unexisting) API * [tests] Add all test project variations to tests-mac.sln (#2579) * [xharness] Make sure generated mac projects have different project guids. * [introspection] Change the project guid so that it doesn't match the dontlink-mac project guid. * [tests] Add all test project variations to tests-mac.sln. * [xharness] Fix else condition. * [FileProvider] Adds missing NSFileProviderPage constants, fixes bug 59297. (#2646) https://bugzilla.xamarin.com/show_bug.cgi?id=59297 Adds NSFileProviderInitialPageSortedByName and NSFileProviderInitialPageSortedByDate NSData constants * [Xcode9] Remove NSFileProviderMessage and NSFileProviderMessageInterface (#2647) APIs were removed in beta 2 * [Foundation/UIKit] Provide LoadObject[s] methods that return the expected type in the callback. Fixes #59049. (#2638) The callback for these LoadObject[s] methods take an INSItemProviderReading parameter. This tells our runtime that we must provide an instance of a managed object that implements this interface (but nothing else), so we create a `NSItemProviderReadingWrapper` instance, which complies with the API (since the wrapper type implements the corresponding interface). Unfortunately these methods are supposed to return an instance of the passed- in type, so in order to comply with this soft (documentation-only) requirement, provide a wrapper method that creates instances of the right types. https://bugzilla.xamarin.com/show_bug.cgi?id=59049 * [arkit] Ignore deprecated selectors (#2645) * [FileProvider] Adds missing protocol and keys from audit (#2652) ``` !missing-protocol! NSFileProviderServiceSource not bound !missing-field! NSFileProviderErrorCollidingItemKey not bound !missing-field! NSFileProviderErrorNonExistentItemIdentifierKey not bound !missing-field! NSFileProviderFavoriteRankUnranked not bound ``` Also adds `NSXpcListenerEndpoint` to foundation, needed by `NSFileProviderServiceSource` protocol. * [tests][xtro] Workaround xtro runner dupe entry exception and update data files (#2654) * [AVFoundation] Rename field to match others. (#2657) * [homekit] Audit (xtro) fixes (#2653) - HMCharacteristicEvent conforms to NSMutableCopying on iOS11 which makes it 64 bits only (so adjust intro tests) - Ignore extra setters on HMMutablePresenceEvent, rdar 33883958 !missing-selector! HMMutablePresenceEvent::setPresenceEventType: not bound !missing-selector! HMMutablePresenceEvent::setPresenceUserType: not bound * [xtro] Add missing pinvoke to pending (#2662) - Bug 59422: [uikit] Missing UIContentSizeCategoryCompareToCategory & UIContentSizeCategoryIsAccessibilityCategory (https://bugzilla.xamarin.com/show_bug.cgi?id=59422) * Merge latest d15-3 fixes into xcode9 (#2660) * [msbuild] Re-added wildcard (*) expandsion for application-identifier in Entitlements.plist (#2186) Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=57119 * Bump mono (#2213) * Framework tests were still binding non-linked Simple class which errors now (#2216) (#2218) - Improve Makefile to rebuild when projects build with errors * Bump mono to get cecil fix for bug #56808. (#2222) https://bugzilla.xamarin.com/show_bug.cgi?id=56808 * [msbuild] Use @(ReferencePath) instead of @(ResolvedFiles) (#2188) (#2214) This allows things to work on both xbuild and msbuild. In xbuild, both lists are exactly the same and on msbuild, only @(ReferencePath) exists. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=55147 * NSActivityOptions.IdleDisplaySleepDisabled had wrong value (#2232) (#2239) This was due to an integer overflow. The original value was based on Int32 1 << 40 == 256 The correct value should be based on a UInt64. 1UL << 40 == 1099511627776 * [tests] Fix bug 57699 - [iOS]InternalsTest failure (Linkall) tests on device (#2243) Strip native debugging symbols should not be checked for debug builds * Bump mono to get fix for bug #57780. https://bugzilla.xamarin.com/show_bug.cgi?id=57780 * Update .gitmodules Change branch to d15-3 branch of mono * Bump maccore to get fix for bug #55064. https://bugzilla.xamarin.com/show_bug.cgi?id=55064 * [mono] Bump mono to get the head of cecil/mono-2017-04 and fix IsComObject #57919 Also fix #58789 [1], the typo in tools/mtouch/Tuning.cs showing in MT0000 errors instead MT2102. That's already in master and d15-4 mono bump includes: [2] commit 2a6502cee0df9de5198eafe7c8b5f6ac25106f34 (HEAD -> d15-3, origin/d15-3) Merge: 02457c20fcf 5e05cafc6f1 Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 10:04:06 2017 -0400 Merge pull request #5401 from marek-safar/com [Marshal.IsComObject] Make this predicate return false instead of thr… [3] commit 02457c20fcf57c0610e844d638eb1da82b5d1eb0 Merge: da80840ea55 73fd9a1b82e Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 09:59:06 2017 -0400 Merge pull request #5400 from spouliot/bump-cecil-58834-d15-3 [cecil] Bump to the head of the mono-2017-04 branch and pick the fix for bug #58834 References [1] https://bugzilla.xamarin.com/show_bug.cgi?id=58789 [2] https://bugzilla.xamarin.com/show_bug.cgi?id=57919 [3] https://bugzilla.xamarin.com/show_bug.cgi?id=58834 * [mtouch] Put 'mono_profiler_startup_log' in the symbol list. Fixes #58778. (#2501) We need the 'mono_profiler_startup_log' symbol when profiling is enabled, so make sure to add the symbol to the correct list of symbols we need. Previously we were passing `-u _mono_profiler_startup_log` to clang directly, which is fine, but not complete, since it does not write the symbol to the symbollist file (--symbollist=file), which means it wouldn't be preserved when the MSBuild tasks strip the executable. https://bugzilla.xamarin.com/show_bug.cgi?id=58778 * Bump versions for SR3 https://trello.com/c/EVze08ei * Bump mono to include HttpClientHandler fix #44027 https://trello.com/c/jYFXadH8/8-systemnethttp-close-request-stream-when-httpclienthandler https://bugzilla.xamarin.com/show_bug.cgi?id=44027 * [FileProvider] Add missing API and turn NSString to string (#2663) Turned NSString to string in order to match exisiting API. * [uikit] Add UIPasteConfigurationSupporting and UITextPasteConfigurationSupporting (#2649) - Fixes bug #59363: Missing UIPasteConfigurationSupporting, UITextPasteConfigurationSupporting, UITextDraggable and UITextDroppable on a couple of types (https://bugzilla.xamarin.com/show_bug.cgi?id=59363) * [uikit] Remove 129 types in UIPasteConfigurationSupporting case * [scenekit] Audit (xtro) fixes (#2648) This looks like an Apple breaking change (since `SCNAnimation` is new) but we now have: > typedef void (^SCNAnimationEventBlock)(id<SCNAnimation> animation, id animatedObject, BOOL playingBackward); bound as > delegate void SCNAnimationEventHandler (CAAnimation animation, NSObject animatedObject, bool playingBackward); and `CAAnimation` conforms to `SCNAnimation` but *only* the later is available on watchOS. The delegate is only updated (since it's new) on our watchOS profile. xtro references: (watchos) !unknown-protocol! SCNCameraControlConfiguration bound (tvos/watchos) !missing-selector! SCNAnimation::animationEvents not bound !missing-selector! SCNAnimation::setAnimationEvents: not bound !missing-selector! SCNConstraint::isEnabled not bound !missing-selector! SCNConstraint::setEnabled: not bound !missing-field! SCNSceneSourceConvertToYUpKey not bound !missing-field! SCNSceneSourceConvertUnitsToMetersKey not bound (ios/tvos) !missing-protocol-conformance! SCNNode should conform to UIFocusItem * Bump maccore post 15.3 merge (#2665) * Bump Xcode 9 to GM (#2667) * Force build (on wrench) * [avfoundation] Fix breaking changes (apidiff) (#2664) * [TVServices] Update to Xcode 9 GM (#2675) * [GameController] Update to Xcode 9 GM (#2673) * [LocalAuthentication] Update to Xcode 9 GM (#2671) * [LocalAuthentication] Update to Xcode 9 GM * Remove availability from BiometryNotAvailable, BiometryNotEnrolled and BiometryLockout * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer (#2659) * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer Some of the new added types were already present BUT under a #if MONOMAC, they had to be moved. * [AVFoundation] Set the wrongly added API to be obsolete and ensure it returns logical values. (#2650) * [xtro] The right platform for macOS is 'macos', not 'osx'. (#2677) The platform name is used to filter availability attributes, and if we use the wrong platform, we'll incorrectly skip all availability attributes. The net result in unclassified entries: https://gist.github.com/rolfbjarne/a4474bc2a40c49a85cad495b51bb514f * Various Xcode 9 API improvements and also fixes bug 59433 (#2676) https://bugzilla.xamarin.com/show_bug.cgi?id=59433 While fixing bug 59433 I noticed some additional issues outlined below: AVDepthData: * Renamed **non** static `Create` methods because `Create` only makes sense with the **Static** method in this context. Also by renaming the methods we are now closer to the names that swift uses. * Kept descriptive method names in favor of self-documenting code. `Convert`, `Apply` and `Replace` do not fully give us the intent of the method. * Added a convenience `Create` static method that takes a `CGImageAuxiliaryDataInfo`. * AvailableDepthDataTypes is now an array of `CVPixelFormatType` instead of a `NSNumber` array (The aactual fix for bug 59433). ImageIO: * Refactored `CGImageAuxiliaryDataInfo` to be a `StrongDictionary` in order to avoid most of the manual code and also to avoid reimplementing the `ToDictionary` method (which contained a subtle bug). * Adjusted code to reflect the above change. * Added missing `.ctor (IntPtr, bool)` to `CGImageMetadata` so the class is able to be created by our `Runtime.Get*`. * Simplified `CopyAuxiliaryDataInfo` method by using `CGImageAuxiliaryDataInfo` as a `DictionaryContainer`. Tests: * Added `xamarinmonkey.heic` which is an image that contains depth data needed to test above changes. * Adds `AVDepthDataTests` that touches most of the changes listed here. * Tweak the Simd-compatible matrices and vectors (#2668) * Rename them to be OpenTK.NMatrix# (instead of Simd.MatrixFloat#x#). * Remove the Vector2 and Vector4 variants, we'll use the OpenTK types instead (but we'll keep the NVector3 variant, since it's not identical to the OpenTK version). * Update the API to match their OpenTK counterparts better: * NMatrix2 and NMatrix3 have a 0-based R#C# scheme for their fields. * NMatrix4 has a 1-based M## scheme for its fields (i.e. no change). * [AVFoundation] Use Simd-matrix for API that needs it. (#2679) This also requires implementing the corresponding matrix (NMatrix4x3). Fixes this xtro issue: > !unknown-simd-type-in-signature! OpenTK.Matrix3 AVFoundation.AVCameraCalibrationData::get_GetIntrinsicMatrix(): the native signature has a simd type (matrix_float3x3), while the corresponding managed method is using an incorrect (non-simd) type. * [xtro] Fix checking availability on categories. (#2682) When checking for category availability, check if both the current declaration is a category, and if the current's declaration container is a category. Otherwise this scenario fails: * Category method is available. * Category does not have availability attributes. * Main class is unavailable. with this typical code sequence: ```csharp // don't process methods (or types) that are unavailable for the current platform if (!decl.IsAvailable () || !(decl.DeclContext as Decl).IsAvailable ()) return; ``` In which case we'd: * First check the method (`decl`): * It's available, so no further checks is done on the method. * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container's container is a category (it isn't, it's the namespace). and as such determine that the method is available. With this change, the second step will become: * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container is a category (it is), and if its main class is available (it isn't). and as such determine that the method is unavailable. * Check for attributes on the method's container (no attributes, so we continue). * Check if the method's Unclassified diff: https://gist.github.com/rolfbjarne/8fa80962596978a426eadf9b7ba39dc1 * [uikit] Update for Xcode 9 GM (#2670) * [AVFoundation] Implement AVCapturePhoto. Partially fixes #59388. (#2678) Fixes: > common.unclassified:!missing-type! AVCapturePhoto not bound https://bugzilla.xamarin.com/show_bug.cgi?id=59388 * Use strong dictionaries for AVCapturePhoto.Metadata and AVCapturePhoto.EmbeddedThumbnailPhotoFormat. * [SIMD] Implement Simd double types (VectorDouble3/MatrixDouble4x4). (#2632) The following types will be used by ModelIO bindings * Fix delta to be double * Rename Simd-compatible matrices and vectors to match our final naming. This also means removing the new Vector2 and Vector4 variants (but not Vector3). * [avfoundation] Remove AVAssetDownloadDelegate.DidLoadTimeRange since it was removed in one of the betas (#2687) * [foundation] Move NSUrlSessionMultipathServiceType to a file processed by the generator (for the availability attributes) (#2688) * [arkit] Update for Xcode 9 GM (#2681) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes (#2690) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes Type Changed: Intents.INCarSeatResolutionResult Removed methods: public static INCarSeatResolutionResult GetConfirmationRequired (INCarSeat valueToConfirm); public static INCarSeatResolutionResult GetSuccess (INCarSeat resolvedValue); * [avfoundation] Add missing protocol members and deprecations (#2691) !missing-protocol-member! AVCapturePhotoCaptureDelegate::captureOutput:didFinishProcessingPhoto:error: not found and the selector removed from PR#2687 was actually replaced with this one !missing-protocol-member! AVAssetDownloadDelegate::URLSession:aggregateAssetDownloadTask:didLoadTimeRange:totalTimeRangesLoaded:timeRangeExpectedToLoad:forMediaSelection: not found * [tests][xtro] Map some enums, more fix with protocols and update entries (#2692) * [Tests] Reenable dns tests on the watch. (#2674) * [arkit] Add ARBlendShapeLocationOptions strong dictionary (#2696) * [coreimage] Skip not yet bound filters added in Xcode9 (#2698) Tracked in https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * [Metal] Renamed MTLArgumentDescriptor.ArgumentDescriptor to Create, fixes bug 59498 (#2702) https://bugzilla.xamarin.com/show_bug.cgi?id=59498 From [argumentDescriptor docs](https://developer.apple.com/documentation/metal/mtlargumentdescriptor/2915746-argumentdescriptor?language=objc) > Creates an empty argument descriptor. * [msbuild] Always codesign app bundles if the codesign key is non-null (#2697) ...even if it is a simulator build. Turns out that starting with Xcode9, sim builds need to be codesigned for App Groups entitlements to work properly. Interestingly, the DetectSigningIdentity logic had a comment about needing to codesign simulator builds for some entitlements to work already starting with Xcode 8 but apparently the iOS targets did not respect this. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=59379 * [Foundation] Add NSProxy stub in order to workaround bug 59247 (#2693) https://bugzilla.xamarin.com/show_bug.cgi?id=59247 We need to have a better solution that removes all what NSProxy does not responds to. Right now this works because NSObject implements NSObject protocol just like NSProxy, but NSProxy responds to far less selectors hence doing it internal so it is not a breaking change when we provide the correct fix. * Keep NSProxy around and avoid XML linker description We need to keep NSProxy (avoid linking it) if WKNavigationDelegate or IWKNavigationDelegate is used. We know WKWebView will be there and can hold a reference to it. * [Xcode 9] Update Metal for GM (#2689) * [iosurface] IOSurface is not usable before iOS/tvOS 11. Fixes #59201 (#2706) Apple rejects apps that links with the previously private IOSurface.framework. We were not sure about this [1] and had it disabled (this is removed). However another bug stopped our adjustment logic [2] from being executed. This is needed since `clang` picks up the private framework if it does not find the public one (even when asking for a weak framework), [1] https://bugzilla.xamarin.com/show_bug.cgi?id=59201 [2] Added a while ago for JavascriptCore * Bump maccore to point to commit with the docs fix. (#2703) * Bump XI to 11.0.x (and XM to 3.99.9.x) (#2684) * fix typo
2017-09-16 00:53:16 +03:00
delegate void SCNAnimationDidStartHandler (SCNAnimation animation, SCNAnimatable receiver);
delegate void SCNAnimationDidStopHandler (SCNAnimation animation, SCNAnimatable receiver, bool completed);
[Watch (3,0)]
2016-04-21 15:30:02 +03:00
[Mac (10,8), iOS (8,0)]
[Model, Protocol]
[BaseType (typeof (NSObject))]
interface SCNAnimatable {
#if XAMCORE_2_0
[Abstract]
#endif
[NoWatch]
2016-04-21 15:30:02 +03:00
[Export ("addAnimation:forKey:")]
void AddAnimation (CAAnimation animation, [NullAllowed] NSString key);
#if XAMCORE_4_0
[Abstract]
#endif
[iOS (11,0), TV (11,0), Watch (4,0), Mac (10,13)]
[Export ("addAnimationPlayer:forKey:")]
void AddAnimation (SCNAnimationPlayer player, [NullAllowed] NSString key);
2016-04-21 15:30:02 +03:00
#if XAMCORE_2_0
[Abstract]
#endif
[Export ("removeAllAnimations")]
void RemoveAllAnimations ();
#if XAMCORE_2_0
[Abstract]
#endif
[Export ("removeAnimationForKey:")]
void RemoveAnimation (NSString key);
#if XAMCORE_2_0
[Abstract]
#endif
[Export ("animationKeys")]
NSString [] GetAnimationKeys ();
#if XAMCORE_4_0
[Abstract]
#endif
[return: NullAllowed]
[iOS (11,0), TV (11,0), Watch (4,0), Mac (10,13)]
[Export ("animationPlayerForKey:")]
SCNAnimationPlayer GetAnimationPlayer (NSString key);
2016-04-21 15:30:02 +03:00
#if XAMCORE_2_0
[Abstract]
#endif
[Deprecated (PlatformName.TvOS, 11, 0, message: "Use 'GetAnimationPlayer' instead.")]
[Deprecated (PlatformName.iOS, 11, 0, message: "Use 'GetAnimationPlayer' instead.")]
[Deprecated (PlatformName.MacOSX, 10, 13,message: "Use 'GetAnimationPlayer' instead.")]
[NoWatch]
2016-04-21 15:30:02 +03:00
[Export ("animationForKey:")]
CAAnimation GetAnimation (NSString key);
#if XAMCORE_2_0
[Abstract]
#endif
[Deprecated (PlatformName.WatchOS, 4, 0, message: "Use 'SCNAnimationPlayer.Paused' instead.")]
[Deprecated (PlatformName.TvOS, 11, 0, message: "Use 'SCNAnimationPlayer.Paused' instead.")]
[Deprecated (PlatformName.iOS, 11, 0, message: "Use 'SCNAnimationPlayer.Paused' instead.")]
[Deprecated (PlatformName.MacOSX, 10, 13,message: "Use 'SCNAnimationPlayer.Paused' instead.")]
2016-04-21 15:30:02 +03:00
[Mac (10,9)]
[Export ("pauseAnimationForKey:")]
void PauseAnimation (NSString key);
#if XAMCORE_2_0
[Abstract]
#endif
[Deprecated (PlatformName.WatchOS, 4, 0, message: "Use 'SCNAnimationPlayer.Paused' instead.")]
[Deprecated (PlatformName.TvOS, 11, 0, message: "Use 'SCNAnimationPlayer.Paused' instead.")]
[Deprecated (PlatformName.iOS, 11, 0, message: "Use 'SCNAnimationPlayer.Paused' instead.")]
[Deprecated (PlatformName.MacOSX, 10, 13,message: "Use 'SCNAnimationPlayer.Paused' instead.")]
2016-04-21 15:30:02 +03:00
[Mac (10,9)]
[Export ("resumeAnimationForKey:")]
void ResumeAnimation (NSString key);
#if XAMCORE_2_0
[Abstract]
#endif
Merge xcode9 into d15-4[-xi] (#2710) * [FileProvider] Add Xcode 9 Beta 1, 2 & 3 Bindings (#2279) * [FileProvider] Add Xcode 9 Beta 1 Bindings * Better naming * Feedback not related to BindAs * [FileProvider] Removes BindAs, add manual code for it and updated to Beta 3 * [FileProvider] Implement feedback * [CoreSpotlight] Updated spotlight bindings for xcode 9 beta 3. (#2193) Updated spotlight bindings for xcode 9 beta 3. * Fix warning caused by duplicate (#2354) * [FileProviderUI] Add Xcode 9 Beta 1 to 3 bindings (#2356) * Bump to Xcode 9 beta 4 * [arkit] ARLightEstimate does not conform to NSCopying anymore (fix unit test) * [uikit] NSFileProviderExtension.ReparentItem got a new parameter in beta4 (fix unit test) * [coreimage] CIImageAccumulator init returns nil in beta 4 There's no header change to mention `init` is not allowed but it's not clear how this default initializer could be used. Also make public some other API to construct this type (outside of XM). It's not clear why there were `internal` as they are (at least now) part of the header files. * [photos] Add helpers when PHLivePhotoEditingOption/NSDictionary is null (to avoid ambiguous API) (#2360) Adding a strongly typed `PHLivePhotoEditingOption` (a strongly typed version of an `NSDictionary`) can cause a `CS0121` (call is ambiguous) since using a `null` argument is common (only one option exist so far). This PR adds overloads that makes the code nicer in such case, e.g. before Xcode9: > // null is used when no options are given > _foo.SaveLivePhoto (output, null, completion); current (Xcode 9) > // casting required to remove ambiguity with PHLivePhotoEditingOption > _foo.SaveLivePhoto (output, (NSDictionary)null, completion); with this PR > // no option, no argument > _foo.SaveLivePhoto (output, completion); The same applies to `PrepareLivePhotoForPlayback`. * [tests] Disable/tweak two tests that breaks on (almost) all Xcode updates Those tests were not added to validate xOS so just keep the parts that helps us (without constantly checking back the new break flavor) * Disable watchOS to check if this hides others issues * [mapkit] Update for beta 4 * [coredata] Update for beta 4 * [wkwebkit] Update for beta 4 Note: WKWindowFeatures.h is not compiled (part of the framework umbrella) and the `@interface WKWindowFeatures (WKPrivate)` sounds like it should not have been exposed (it's all fields starting with `_`) * [corelocation] Update for beta 4 * Revert "Disable watchOS to check if this hides others issues" This reverts commit fed2249fa43290a1956ab2fe0d48f83ab6db9711. * [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]: https://github.com/xamarin/xamarin-macios/blob/f5956d6cc1eb5dfa7bab16628cf282d40237f64e/src/generator.cs#L5985 * [FinderSync] Update to beta 4 (#2377) * [ImageIO] Update to Xcode 9 (#2353) * [PhotosUI] Move macOS photosui bindings out of photos.cs into photosui.cs (#2358) * [quicklook] Update up to beta 4 (#2374) * [uikit] UIDragInteraction & UIDragInteractionDelegate (Xcode 9 b1,2,3) (#2357) * [safariservices] Update up to beta 4 (#2380) * [coreanimation] Update to beta 4 (#2382) Apple removed (mistake?) some API in beta 1. Filed as rdar 33590997 Internal tracking in https://trello.com/c/J8BDDUV9/86-33590997-coreanimation-quartzcore-api-removals * [storekit] Update up to beta 4 (#2379) * [CoreML] Update to Xcode 9 Beta 4 (#2387) * [uikit] UICollectionView/UITableView Drag & Drop (Xcode 9 b1,2,3 & 4) (#2355) * Update code after radar 32929318 and 32897776 are fixed in b4 (#2394) * [xcode9 CoreAudio] New definitions from Beta1 to Beta3 (#2359) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 (#2397) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 https://bugzilla.xamarin.com/show_bug.cgi?id=58512 Created strong API (VNBarcodeSymbology) on the following properties * VNDetectBarcodesRequest.SupportedSymbologies * VNDetectBarcodesRequest.Symbologies * VNBarcodeObservation.Symbology * Remove modern C# because classic can't do it 😡 * [mediaplayer] Update up to beta 4 (#2388) * [watchkit] Update to beta 4 (#2398) * Bump Visual Studio for Mac max version (#2408) * [coreimage] Add CIBarcodeDescriptor and enabled missing API for VNBarcodeObservation. Fix #58197 (#2411) https://bugzilla.xamarin.com/show_bug.cgi?id=58197 * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 (#2407) * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 * [uikit] Fixes based on comments * [coreimage] CIImageAccumulator API fixes. Fix #58349 (#2412) * Obsolete the default `init`; * XM exposed some older APIs using `int` instead of `CIFormat`. This is fixed and old APIs are obsoleted; * Both new & old APIs are now using `CIFormat` for both XI and XM. https://bugzilla.xamarin.com/show_bug.cgi?id=58349 * [uikit] UIText drag & drop - up to Xcode 9 beta 4 (#2410) * [uikit] UISplitView & UIStackView up to Xcode 9 beta 4 (#2425) * Bump XI/XM versions before preview 4 (#2422) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 (#2378) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 * [PDFKit] Implement feedback * [PDFKit] the forgotten enum * [PDFKit] More feedback * [PDFKit] Add Mac changes * Missing change * Fix test RectangleF VS CGRect * Pass -Wunguarded-availability-new to quiet a new clang warning (#2424) - https://bugzilla.xamarin.com/show_bug.cgi?id=58574 * [mtouch/mmp] Ignore warnings about unguarded code section with regards to availability. (#2441) * [monotouch-test] Remove workaround for fixed Apple bug. (#2445) * Bump to Xcode 9 beta 5. (#2447) * Bump to Xcode 9 beta 5. * [mmp] Disable the partial static registrar, because Apple's macOS SDK is broken. > In file included from Xamarin.Mac.registrar.mobile.i386.m:1: > In file included from ./Xamarin.Mac.registrar.mobile.i386.h:11: > /Applications/Xcode9-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVFoundation.h:88:9: fatal error: 'AVFoundation/AVRouteDetector.h' file not found https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [mmp] Fix partial static registrar removal. * [CallKit] Update to Xcode 9 beta 5. * [ARKit] ARPointCloud doesn't conform to NSCopying anymore in Xcode 9 beta 5. * [ARKit] Update to Xcode 9 beta 5 enough to make tests happy. * [CoreImage] Stub out new filters in Xcode 9 beta 5. * [tests][monotouch] Simplify some MDLMesh asserts since values change a lot between OS versions. * [mmp] Default to the dynamic registrar for release builds again, due to bug #58629. https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [tests][introspection] CXCall started implementing NSCopying without saying so in the headers. * Disable mmp static registrar tests due to 58629 for now * [quicklook] Update to beta 5 (#2450) * [photos] Update for beta 5 (#2452) Also update some existing enum members were added in beta 1 on macOS * [safariservices] Update for beta 5 (#2455) * [mediaplayer] Update to beta 5 (#2456) * [CoreLocation] Update Xcode 9 Beta 5 (#2453) * [CoreML] Update to Xcode 9 Beta 5 (#2454) * [Contacts] Update to Xcode 9 Beta 5 (#2451) * [Vision] Update to Xcode 9 Beta 5 (#2458) * [builds] Tell LLVM to stay away from newer macOS functions. (#2459) Fixes this build problem on Sierra: > ld: weak import of symbol '_futimens' not supported because of option: -no_weak_imports for architecture x86_64 This is a symbol that was (will be?) introduced in High Sierra. Interestingly this only occurs if the Xcode 8.X Command Line Tools haven't been manually installed. Because if the Xcode 8.X Command Line Tools are installed, this happens: 1. llvm's configure script detects that 'futimens' is not usable. 2. llvm's configure script detects that 'futimens' is not usable, because xcrun sets SDKROOT=/ when calling clang. a. When the SDKROOT variable is set, clang passes '-syslibroot /usr/lib' to ld. b. When ld gets '-syslibroot /usr/lib', ld looks in '/usr/lib' for a library that contains 'futimens' in the OS itself, and since we're on Sierra, that fails to link. c. So when llvm's configure script creates a test program that checks if 'futimens' is present, the program fails. This is correct, and makes llvm *not* use futimens. 3. xcrun sets SDKROOT=/ because /usr/share/current-os.sdk/Info.plist exists. If that file does not exist, then xcrun sets SDKROOT to Xcode9's macOS SDK (because that's what xcode-select reports). a. When SDKROOT is set to Xcode9's macOS SDK, the configure check for 'futimens' succeeds, because the macOS 10.13 SDK contains that function. b. llvm happily uses 'futimens', and then the final link fails because we're using a symbol not available on all target platforms. * [arkit] Update for Xcode 9 beta 5 - Part 1 (#2460) * [tests] The container app for watchOS tests should be 64-bit. (#2463) * [xharness] watchOS tests need to run in a clean environment. Works around #58348. (#2462) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [xharness] It watchOS tests don't need to be clean anymore. Fixes #58348. (#2473) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [uikit] UIView/UIScrollView/UIViewController up to Xcode 9 beta 5 (#2431) - Add NSDirectionalEdgeInsets type. - Includes DirectionalEdgeInsetsTest. * [AudioToolbox] Update bindings to Xcode 9 beta3 (not later changes). (#2294) * [xharness] Add a file existence check. (#2478) Fixes this exception: ``` Harness exception for 'introspection': System.IO.FileNotFoundException: Could not find file '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log'. File name: '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log' at System.IO.__Error.WinIOError (System.Int32 errorCode, System.String maybeFullPath) [0x00207] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/__error.cs:188 at System.IO.FileInfo.get_Length () [0x00038] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/fileinfo.cs:171 at xharness.CaptureLog.StopCapture () [0x00021] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Log.cs:252 at (wrapper remoting-invoke-with-check) xharness.CaptureLog:StopCapture () at xharness.AppRunner+<RunAsync>d__68.MoveNext () [0x0127f] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/AppRunner.cs:642 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter`1[TResult].GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:357 at xharness.RunSimulatorTask+<RunTestAsync>d__7.MoveNext () [0x0029d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2894 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.RunTestTask+<ExecuteAsync>d__8.MoveNext () [0x0010b] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2538 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.TestTask+<RunInternalAsync>d__87.MoveNext () [0x0010d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:1870 ``` I'm not sure how this can happen, but it has on the bots [1]. [1] https://jenkins.mono-project.com/job/xamarin-macios-pr-builder/4548/Test_Report/ * Bump versions for preview 5 (#2479) * [passkit] Update to beta 5 (#2481) * [tests] Remove workaround for radar #32688391. (#2486) * [replaykit] Update up to beta 5 (#2484) * Bump maccore to get fix for bug #55064. (#2487) * [apidiff] Update definition to new 10.12 (d15-3) stable release (#2490) * [SceneKit] basic work (#2483) * [coredata] Update to beta 5 (#2488) * [homekit] Update for Xcode 9 beta 5 (#2492) * [Foundation] Update for xcode9 (#2468) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 (#2493) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 * [Intents] Implement feedback * [Intents] Add a generic version for INInteraction.GetParameterValue * [Intents] Missing check * [Contacts] Add missing foundation NSItemProviderWriting protocol to CNContact (#2496) https://bugzilla.xamarin.com/show_bug.cgi?id=58203 This is available on all Contacts supported platforms ``` ./iPhoneOS.platform/Developer/SDKs/iPhoneOS11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchOS.platform/Developer/SDKs/WatchOS4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchSimulator.platform/Developer/SDKs/WatchSimulator4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ``` * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) (#2497) * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) * [IntentsUI] Better use a delegate instead so we have named params * Bump versions before 6th preview (#2514) * [arkit] Add missing MarshalDirective to ARPlaneAnchor (#2517) - Fixes bug #58648: ARPlaneAnchor.Extent property seems incorrect but changes to correct value after Debug access (https://bugzilla.xamarin.com/show_bug.cgi?id=58648) * [xtro-sharpie] Fix a compiler warning. (#2516) Fixes these warnings: Runner.cs(197,5): warning CS0642: Possible mistaken empty statement Runner.cs(199,5): warning CS0642: Possible mistaken empty statement Runner.cs(201,5): warning CS0642: Possible mistaken empty statement Runner.cs(203,5): warning CS0642: Possible mistaken empty statement Runner.cs(205,5): warning CS0642: Possible mistaken empty statement * [uikit] Update for Xcode 9 beta 5 - Part 3 (#2511) - UIKeyCommand - UINavigationBar - UINavigationItem - UIPasteboard - UITableViewHeaderFooterView * [xtro-sharpie] Remove xtro-plugin and misc other fixes. (#2522) * [xtro-sharpie] Build with msbuild and be as quiet as requested when building. * [xtro-sharpie] Must run as a 64-bit process, since the required native libraries are 64-bit. * [xtro-sharpie] Add run configurations to the project file to ease debugging in the IDE. * [xtro-sharpie] Remove xtro-plugin and the related commands. This was needed when there wasn't a 64-bit mono, in order to run xtro-sharpie in a 64-bit process. Now there is a 64-bit mono, so it's not needed anymore. Also improve makefile targets a bit, to auto-build stuff when needed, by setting the right dependencies. * Bump Xcode 9 to beta 6 (#2519) Disable watchOS tests again It seems like the Carousel crash from beta 4 is back to haunt us. This was working fine with beta 5. * Backport d15-3 SR2 fixes (#2515) * [coredata] Update to beta 6 (#2528) This seems to only revert some nullability changes from beta 5. * [coreml] Update to beta 6 (#2531) Fix our rdar 33643011 where additional setters were added in the headers but did not exists. * [videosubscriberaccount] Update to beta 6 (#2533) Only b1 and b2 introduced some additions/changes * [uikit] Update for Xcode 9 beta 6 - Part 4 (#2527) The following headers are now up to date: - UICollectionViewFlowLayout.h - UIDocumentPickerViewController.h - UIFontDescriptor.h - UIImage.h - UIImageView.h - UIImagePickerController.h * [xharness] Re-enable the watchOS tests. (#2534) It works fine for me locally, so let's see what Jenkins says. * [macos] Add new APIs in CoreWlan from Xcode9b3 (#2525) * Update AppKit bindings based on radar 33271241 results (#2518) * Update AppKit bindings based on radar 33271241 results - The header comment was updated to note it was NSSliderTouchBarItem view that has the protocol * Remove NSUserInterfaceCompression where not listed in header * [vision] Update to beta 6 (#2532) Removal of some deprecated (during beta) `init*` selectors. Also sync the versions that were inlined in subclasses - the old ones were not removed and the new ones were not added. * [xtro-sharpie] Many methods don't have selectors in Clang's API, so default to the name if no selector. (#2523) This makes a few more unclassified entries show up (mostly missing designated initializers): https://gist.github.com/rolfbjarne/07aa20f9b50b75bf3e69ac6a825e873a * [macos] Add ExternalAccessory APIs from xcode9 (#2526) * [58851] Disable NSMenuView in AllItemsWithNSMenuShouldAllowNull (#2504) * [arkit] Update for Xcode 9 beta 5 - Part 2 (#2505) - Add last missing selector. - Add tests for manual code. * [monotouch-test] Disable FontDescriptorTest.WithFeature (#2537) Disabled because it looks like the tvOS font we use: "Gujarati Sangam MN" does not have rare ligatures anymore (and the entire test is based on it). Before getting an actual fix for that, let's disable the test so it doesn't break all current builds. See: https://bugzilla.xamarin.com/show_bug.cgi?id=58929 * [xtro-sharpie] Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute. (#2524) Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute to calculate the native name for a TypeDefinition. Unclassified changes: https://gist.github.com/rolfbjarne/828f8ee41eebb0a3b60a38d71822fe59 * [foundation/uikit] Inline NSItemProvider_UIKitAdditions in NSItemProvider (#2538) As suggested here: https://github.com/xamarin/xamarin-macios/pull/2527#discussion_r134670981 * [intents] Fix breaking changes (api-diff) (#2543) Additions of @required members inside `INSpeakable` cannot be `[Abstract]` * [contacts] Fix breaking change (api-diff) (#2542) Type Changed: Contacts.CNPostalAddress Removed method: public static string LocalizeProperty (CNPostalAddressKeyOption option); * [macos] Reenable static registrar since Xcode9b6 un-broke SDK headers (#2544) - Fix a subtle spacing issues in PartialStaticLibrary property * [corebluetooth] Update up to beta 6 and enable it on watchOS (#2540) macOS 10.13 has finally catch up with iOS and this simplifies the bindings a bit. * [foundation] API fixes (apidiff) (#2545) 1. Let's not add new, already [Obsolete] API Type Changed: Foundation.NSDimension Added constructors: [Obsolete ("Not intended to be directly instantiated, this is an abstract class.")] public NSDimension (); 2. Fix inconsistently named API, e.g. Type Changed: Foundation.NSAttributedString Added properties: public static string[] ReadableTypeIdentifiersForItemProvider { get; } public static string[] WritableTypeIdentifiers { get; } * [pdfkit] Do not add already [Obsolete] API in new profiles (#2547) and ensure using the newer, correct API works cross-platforms iOS (before) [Obsolete ("Use 'Find (string, NSStringCompareOptions)' instead.")] public virtual PdfSelection[] Find (string text, nint options); public PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'Find (string, PdfSelection, NSStringCompareOptions)' instead.")] public virtual PdfSelection Find (string text, PdfSelection selection, nint options); public void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string, NSStringCompareOptions)' instead.")] public virtual void FindAsync (string text, nint options); public void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string [], NSStringCompareOptions)' instead.")] public virtual void FindAsync (string[] text, nint options); iOS (after) public virtual PdfSelection[] Find (string text, Foundation.NSStringCompareOptions compareOptions); public virtual PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); * Bump versions for the 7th preview (#2541) * Remove additions of AVKit removed in beta5 (#2536) * NSUrlSessionTask should implement NSProgressReporting for iOS (#2548) NSUrlSessionTask implements NSProgressReporting on iOS as well as Mac, so the #if MONOMAC isn't needed. * Add missing availability attributes causing failures on older iOS versions (#2550) * [vision] Minor fix wrt xtro (#2551) including some things we need to ignore manually !missing-field! VNVisionVersionNumber not bound !missing-pinvoke! VNImagePointForFaceLandmarkPoint is not bound !missing-pinvoke! VNNormalizedFaceBoundingBoxPointForLandmarkPoint is not bound * [uikit] NSFileProviderMessaging was removed in beta 2. Fixes #58222 (#2552) reference: https://bugzilla.xamarin.com/show_bug.cgi?id=58222 * [uikit] Update for Xcode 9 - Part 5 (#2546) Bindings for the following headers: - UIActivity.h - UIActivityItemProvider.h - UIAlertController.h - UIApplication.h - UIBarButtonItem.h - UIButton.h - UICollectionViewLayout.h - UIColor.h - UIControl.h - UIDocumentMenuViewController.h - UIFontMetrics.h - UIGestureRecognizer.h - UIGraphicsImageRenderer.h - UIInputViewController.h * [CoreText] Fix an extraneous free in CTFont.GetDefaultCascadeList. (#2555) We do not own the return value from CFArrayGetValueAtIndex, so don't say we do when creating CTFontDescriptor instances, since that leads to angry dragons: 2017-08-28 20:15:20.293 monotouchtest[33186:2311738] A_FontTest 2017-08-28 20:15:20.294 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithFontDescriptorAndOptions 2017-08-28 20:15:20.295 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithNameAndOptions 2017-08-28 20:15:20.296 monotouchtest[33186:2311738] critical: Stacktrace: at <unknown> <0xffffffff> at (wrapper managed-to-native) CoreText.CTFont.CTFontCopyDefaultCascadeListForLanguages (intptr,intptr) [0x0000a] in <ae65a2b1eea242d2b68fe784749543bf>:0 at CoreText.CTFont.GetDefaultCascadeList (string[]) [0x00013] in /work/maccore/xcode9/xamarin-macios/src/CoreText/CTFont.cs:2185 at MonoTouchFixtures.CoreText.A_FontTest.GetCascadeList () [0x0001e] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/CoreText/FontTest.cs:78 at (wrapper runtime-invoke) object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) [0x0004f] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) System.Reflection.MonoMethod.InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&) [0x00016] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at System.Reflection.MonoMethod.Invoke (object,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo) [0x00032] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/corlib/System.Reflection/MonoMethod.cs:305 at System.Reflection.MethodBase.Invoke (object,object[]) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/referencesource/mscorlib/system/reflection/methodbase.cs:229 at NUnit.Framework.Internal.Reflect.InvokeMethod (System.Reflection.MethodInfo,object,object[]) [0x00009] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Reflect.cs:215 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunNonAsyncTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x00025] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:116 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x0001a] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:90 at NUnit.Framework.Internal.Commands.TestMethodCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:66 at NUnit.Framework.Internal.Commands.SetUpTearDownCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00007] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/SetUpTearDownCommand.cs:84 at NUnit.Framework.Internal.WorkItems.SimpleWorkItem.PerformWork () [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/SimpleWorkItem.cs:64 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at MonoTouch.NUnit.UI.BaseTouchRunner.Run (NUnit.Framework.Internal.Test) [0x0004d] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:442 at MonoTouch.NUnit.UI.BaseTouchRunner.Run () [0x00030] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:171 at MonoTouch.Dialog.StringElement.Selected (MonoTouch.Dialog.DialogViewController,UIKit.UITableView,Foundation.NSIndexPath) [0x00008] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/Elements.cs:765 at MonoTouch.Dialog.DialogViewController.Selected (Foundation.NSIndexPath) [0x00026] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:577 at MonoTouch.Dialog.DialogViewController/Source.RowSelected (UIKit.UITableView,Foundation.NSIndexPath) [0x00016] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:402 at (wrapper runtime-invoke) <Module>.runtime_invoke_void__this___object_object (object,intptr,intptr,intptr) [0x0005d] in <32f0c196c5bc4aa18daea2ee64a7814e>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) UIKit.UIApplication.UIApplicationMain (int,string[],intptr,intptr) [0x0005c] in <ae65a2b1eea242d2b68fe784749543bf>:0 at UIKit.UIApplication.Main (string[],intptr,intptr) [0x00005] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:79 at UIKit.UIApplication.Main (string[],string,string) [0x00038] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:63 at monotouchtest.Application.Main (string[]) [0x00011] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/Main.cs:27 at (wrapper runtime-invoke) <Module>.runtime_invoke_void_object (object,intptr,intptr,intptr) [0x00051] in <30a7f7e09de9467b8b454221034a0e38>:0 Native stacktrace: 0 monotouchtest 0x000000010fca03c4 mono_handle_native_crash + 244 1 monotouchtest 0x000000010fcadd30 mono_sigsegv_signal_handler + 288 2 libsystem_platform.dylib 0x000000011feb3b3a _sigtramp + 26 3 CoreFoundation 0x000000011de035a2 computeSanitizedString + 146 4 CoreText 0x00000001168df314 _ZN15TPurgeableCache19RetainedValueForKeyEPKv + 54 5 CoreText 0x00000001168def85 _ZNK17TDescriptorSource22CopyDescriptorUncachedEPK7__CFURLbPK10__CFString + 55 6 CoreText 0x00000001168df34f _ZNK17TDescriptorSource14CopyDescriptorEPK7__CFURLbPK10__CFString + 27 7 CoreText 0x00000001168e20ad _ZNK17TDescriptorSource35CopyFontDescriptorPerPostScriptNameEPK10__CFStringmm + 297 8 CoreText 0x00000001168dfd9e _ZNK17TDescriptorSource30CopySystemFontDescriptorByNameEPK10__CFString10UIFontFlag + 54 9 CoreText 0x00000001168e54c4 _ZNK14TFontFallbacks17CopyFontFallbacksEPK10__CFStringS2_PK9__CFArray + 652 10 CoreText 0x00000001168e4a00 _ZNK14TFontFallbacks29CopyFontFallbacksForLanguagesEPK10__CFStringPK9__CFArray + 122 11 CoreText 0x00000001168e4971 _ZN17TDescriptorSource39CopyDefaultSubstitutionListForLanguagesEPK10__CFStringPK9__CFArray + 61 12 CoreText 0x00000001169397a7 _ZNK9TBaseFont28CreateSystemDefaultFallbacksEPK10__CFStringPK9__CFArray + 51 13 CoreText 0x000000011693999c _ZNK9TBaseFont15CreateFallbacksE10UIFontFlagPPK16__CFCharacterSetPK9__CFArray + 346 14 CoreText 0x00000001168c1036 _ZNK5TFont24CreateDefaultCascadeListEPK9__CFArray + 242 15 CoreText 0x00000001168b8ff9 CTFontCopyDefaultCascadeListForLanguages + 97 16 ??? 0x0000000140eaefd3 0x0 + 5384105939 17 ??? 0x0000000140eae761 0x0 + 5384103777 18 ??? 0x000000013c9c8e74 0x0 + 5311860340 19 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 20 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 21 monotouchtest 0x000000010fd71bac mono_runtime_try_invoke_array + 1292 22 monotouchtest 0x000000010fd15587 ves_icall_InternalInvoke + 647 23 ??? 0x000000013e9fcd13 0x0 + 5345627411 24 ??? 0x000000013e9fc738 0x0 + 5345625912 25 ??? 0x000000013e9fded5 0x0 + 5345631957 26 ??? 0x000000013e9fbb76 0x0 + 5345622902 27 ??? 0x000000013e9e237e 0x0 + 5345518462 28 ??? 0x000000013e9e237e 0x0 + 5345518462 29 ??? 0x000000013e9e237e 0x0 + 5345518462 30 ??? 0x000000013e9e237e 0x0 + 5345518462 31 ??? 0x000000013e873006 0x0 + 5344014342 32 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 33 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 34 monotouchtest 0x000000010fd6e320 mono_runtime_invoke + 208 35 monotouchtest 0x000000010fe71af1 xamarin_invoke_trampoline + 5617 36 monotouchtest 0x000000010fe79ddd xamarin_arch_trampoline + 189 37 monotouchtest 0x000000010fe7b1a1 xamarin_x86_64_common_trampoline + 110 38 UIKit 0x0000000111b9876b -[UITableView _selectRowAtIndexPath:animated:scrollPosition:notifyDelegate:] + 1810 39 UIKit 0x0000000111b98986 -[UITableView _userSelectRowAtPendingSelectionIndexPath:] + 344 40 UIKit 0x0000000111a6b5c9 _runAfterCACommitDeferredBlocks + 318 41 UIKit 0x0000000111a59dad _cleanUpAfterCAFlushAndRunDeferredBlocks + 280 42 UIKit 0x0000000111a89f68 _afterCACommitHandler + 137 43 CoreFoundation 0x000000011de3ddb7 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23 44 CoreFoundation 0x000000011de3dd0e __CFRunLoopDoObservers + 430 45 CoreFoundation 0x000000011de22324 __CFRunLoopRun + 1572 46 CoreFoundation 0x000000011de21a89 CFRunLoopRunSpecific + 409 47 GraphicsServices 0x0000000121b7e9c6 GSEventRunModal + 62 48 UIKit 0x0000000111a5f7d0 UIApplicationMain + 159 49 ??? 0x000000013c9c4474 0x0 + 5311841396 50 ??? 0x000000013c9c40ad 0x0 + 5311840429 ================================================================= Got a SIGSEGV while executing native code. This usually indicates a fatal error in the mono runtime or one of the native libraries used by your application. ================================================================= * [monotouch-test] Don't subclass MKMapView. (#2556) MKMapView doesn't like being subclassed (Apple says "you should not subclass the MKMapView class itself"). Bad things like this starts happening: Thread 0 name: tid_303 Dispatch queue: com.apple.main-thread Thread 0 Crashed: 0 libsystem_kernel.dylib 0x0000000186b25348 __pthread_kill + 8 1 libsystem_pthread.dylib 0x0000000186c39354 pthread_kill$VARIANT$mp + 396 2 libsystem_c.dylib 0x0000000186a94fd8 abort + 140 3 monotouchtest 0x0000000101c02c14 mono_handle_native_crash + 22047764 (mini-exceptions.c:2548) 4 monotouchtest 0x0000000101c0d02c mono_sigsegv_signal_handler + 22089772 (mini-runtime.c:2886) 5 libsystem_platform.dylib 0x0000000186c33b60 _sigtramp + 52 6 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 7 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 8 CoreFoundation 0x0000000186eda51c -[__NSArrayM dealloc] + 68 9 CoreFoundation 0x000000018703f5c8 __CFBasicHashDrain + 312 10 CoreFoundation 0x0000000186fb5b44 _CFRelease + 224 11 CoreText 0x000000018a808404 TDescriptorSource::PurgeFontFallbacksCache+ 488452 () + 92 12 CoreText 0x000000018a808374 TDescriptorSource::PurgeFromCaches+ 488308 (__CFURL const*) const + 176 13 CoreText 0x000000018a7eec74 CTFontRemoveFromCaches + 168 14 VectorKit 0x0000000196a539b0 +[VKSharedResourcesManager removeResourceUser:] + 324 15 VectorKit 0x0000000196ca27a4 md::MapEngine::~MapEngine+ 2643876 () + 360 16 VectorKit 0x0000000196ca2634 md::MapEngine::~MapEngine+ 2643508 () + 12 17 libobjc.A.dylib 0x000000018651eef4 object_cxxDestructFromClass+ 28404 (objc_object*, objc_class*) + 148 18 libobjc.A.dylib 0x000000018652c638 objc_destructInstance + 88 19 libobjc.A.dylib 0x000000018652c690 object_dispose + 16 20 QuartzCore 0x000000018afca3ac -[CALayer dealloc] + 116 21 VectorKit 0x0000000196a43294 -[VKMapView dealloc] + 940 22 QuartzCore 0x000000018af6aafc CA::release_objects+ 744188 (X::List<void const*>*) + 32 23 QuartzCore 0x000000018afd97d8 CA::Layer::~Layer+ 1198040 () + 276 24 QuartzCore 0x000000018afca37c -[CALayer dealloc] + 68 25 QuartzCore 0x000000018af6b16c CA::Transaction::commit+ 745836 () + 1052 26 UIKit 0x0000000190393290 _afterCACommitHandler + 256 27 CoreFoundation 0x0000000186fb38b8 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 32 28 CoreFoundation 0x0000000186fb1270 __CFRunLoopDoObservers + 412 29 CoreFoundation 0x0000000186fb182c __CFRunLoopRun + 1292 30 CoreFoundation 0x0000000186ed22d8 CFRunLoopRunSpecific + 436 31 GraphicsServices 0x0000000188d58f84 GSEventRunModal + 100 32 UIKit 0x000000019040427c UIApplicationMain + 208 33 monotouchtest 0x000000010106eb90 wrapper_managed_to_native_UIKit_UIApplication_UIApplicationMain_int_string___intptr_intptr + 9907088 (/<unknown>:1) 34 monotouchtest 0x0000000100f0d6ac UIKit_UIApplication_Main_string___intptr_intptr + 8459948 (UIApplication.cs:79) 35 monotouchtest 0x0000000100f0d66c UIKit_UIApplication_Main_string___string_string + 8459884 (UIApplication.cs:63) 36 monotouchtest 0x0000000100b10450 monotouchtest_Application_Main_string__ + 4277328 (Main.cs:27) 37 monotouchtest 0x0000000100e0c244 wrapper_runtime_invoke_object_runtime_invoke_dynamic_intptr_intptr_intptr_intptr + 244 38 monotouchtest 0x0000000101c10048 mono_jit_runtime_invoke + 22102088 (mini-runtime.c:2526) 39 monotouchtest 0x0000000101c75eec do_runtime_invoke + 22519532 (object.c:2829) 40 monotouchtest 0x0000000101c78a3c do_exec_main_checked + 22530620 (object.c:4623) 41 monotouchtest 0x0000000101bf9a1c mono_jit_exec + 22010396 (driver.g.c:1040) 42 monotouchtest 0x0000000101d13d60 xamarin_main + 23166304 (monotouch-main.m:482) 43 monotouchtest 0x00000001007de710 main + 927504 (main.m:67) 44 libdyld.dylib 0x00000001869f656c start + 4 * [introspection] Let SkipDueToAttributeInProperty skip setters too (#2557) `SkipDueToAttributeInProperty` which is used to check the availability attribute of properties when the Availability info only exist on the property and not on the property Getter or Setter was wrong. This lead to `setSpringLoaded` (which was introduced in iOS 11) to not be ignored by the test (making it fail). - Fix bug #59085: [introspection-ios] selector not found for UIKit.UIBarButtonItem : setSpringLoaded: - Broken test (https://bugzilla.xamarin.com/show_bug.cgi?id=59085) * [corevideo][watchos] Enable CoreVideo on watchOS (#2553) * [storekit] Fix CampaignToken typo (#2559) (#2560) - Fixes bug #59078: StoreProductParameters and invalid property for CampaignToken (https://bugzilla.xamarin.com/show_bug.cgi?id=59078) * [coreml][watchos] Enable API using CoreVideo on watchOS. Fix #58097 (#2561) https://bugzilla.xamarin.com/show_bug.cgi?id=58097 * Add missing [MarshalDirective] attributes. (#2558) * [bindings-generator] Improve build & project file. * Add missing [MarshalDirective] attributes. Add missing [MarshalDirective] attributes, which also requires implementing support for out parameters in the binding generator, since one of the signatures missing the [MarshalDirective] contains such an out parameter. Also add tests for all the API I've added [MarshalDirective] to. * [bindings-generator] Remove redundant if check. * [monotouch-test] Rename file to end with 'Test.cs'. * [tests] Fix a few build errors for Xamarin.Mac. * [uikit] Fix UIColor and UIInputViewController tvOS availability (#2569) - Fixes introspection tests on tvOS 10. * [storekit] Fix SKCloudServiceSetupMessageIdentifier and SKProductStorePromotionController tvOS availability (#2568) - Fixes introspection tests on tvOS 10. * [mapkit] Fix MKMapItemTypeIdentifier tvOS availability (#2566) - Also remove double [Mac] availability attribute. - Fixes introspection tests on tvOS 10. * [ARKit] Fix marshalling for ARPointCloud.RawFeaturePoints. (#2565) ARPointCloud.RawFeaturePoints is an array of Vector3, but each vector is 16-byte aligned (as if it were an array of Vector4). This means we need to account for this when creating a managed array from pointer to the native C-style array. * [ModelIO] Fix MDLVoxelIndexExtent struct. (#2564) The MDLVoxelIndexExtent is a struct containing two 4-dimensional vectors of integers (not floats, as originally and incorrectly implemented). Fix this my creating a new MDLVoxelIndexExtent2 struct with the right fields, re-implement all the API that exposes this struct and obsolete the old API. Also add missing [MarshalDirective] attributes. And write a test to make sure it works fine now and forever. * [coredata] Enable new fields since rdar #33878590 is fixed w/beta 6 (#2570) reference: https://trello.com/c/dlSRYPFx * [xtro-sharpie] Add a Simd check class to verify signatures with Simd types. * [Simd] Add simd matrix types. The OpenTK matrices (Matrix2/3/4) has a different memory layout than Apple's matrix_float2x2/matrix_float3x3/matrix_float4x4 matrices: the OpenTK versions are row-major, while Apple's versions are column-major. This means that when blitting memory from one to the other, the matrix will appear to have been transposed. See bug #[58599][2] for an example. Unfortunately we've already bound several API with Apple's matrix_floatXxX matrices using OpenTK's matrices, and although they're bound wrong, and the matrices appear transposed on input/output, we can't change the behavior because we have to maintain compatibility. This means we have to introduce new API, and then also just define new matrix types with the right memory layout (column-major). Additionally, in the future we might be able to mark these matrices as Simd-matrixes, so that the JIT/AOT compiler can generate the correct alignment for them, avoiding having to define a native conversion method (using the [MarshalDirective] hack). The matrices have been designed to match API-wise the matrices in the System.Numerics.Vectors namespace [1], but for the moment with only a few basic operations implemented (Determinant/Transpose/Multiply) defined (we can always add more later if we want to). In addition explicit conversion operators to and from the corresponding OpenTK.MatrixX are implemented, which means any operation defined in the OpenTK matrices can be used by converting back and forth. [1]: https://msdn.microsoft.com/en-us/library/system.numerics.matrix4x4(v=vs.111).aspx [2]: https://bugzilla.xamarin.com/show_bug.cgi?id=58599 * [ARKit] Use the new Simd matrix types. * [Vision] Use the new Simd matrix types. * [ModelIO] Use the new Simd-compatible matrix types, and deprecate the old API. * [GameplayKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [SpriteKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [xtro] Don't report missing [MarshalDirective] for obsolete methods. * [xtro] Remove unnecessary ignores. The implementation changed, and these stayed accidentally. * [wkwebkit] Fix (native) protocol names (#2572) Also ignore xtro's WKSnapshotConfiguration since it's an Apple bug 34185961 reference (xtro) !missing-protocol! WKURLSchemeHandler not bound !missing-protocol! WKURLSchemeTask not bound !unknown-protocol! WKUrlSchemeHandler bound !unknown-protocol! WKUrlSchemeTask bound !unknown-type! WKSnapshotConfiguration bound * [uikit] Fix enums availability attributes (#2575) - Fixes bug #59132: [uikit] Extra types in watchOS (https://bugzilla.xamarin.com/show_bug.cgi?id=59132) * [watchkit] Add missing designated initializers (#2574) references (xtro) !missing-designated-initializer! WKInterfaceController::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! WKUserNotificationInterfaceController::init is missing an [DesignatedInitializer] attribute * [xtro] Reword some of the Simd diagnostic messages according to review. * [tests] Make sure test symbols don't clash between different test libraries. Fixes this build problem for framework-test: clang: error: linker command failed with exit code 1 (use -v to see invocation) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_get_rotation_matrix'. MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticObjectTest.framework/XStaticObjectTest (Location related to previous error) MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticArTest.framework/XStaticArTest(libtest-ar.x86_64.o) (Location related to previous error) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransformcomponent_get_local_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_create_global_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float4x4'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float3x3'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float2x2'. MTOUCH: error MT5209: Native linking error: 6 duplicate symbols for architecture x86_64 MTOUCH: error MT5202: Native linking failed. Please review the build log. * [tests] Since libtest.a need ModelIO now, the corresponding LinkWith attributes need to state that too. * [introspection] Don't check native signatures on obsolete members, and ignore the right simd matrix types. Fixes this introspection/Mac problem: ***** ApiSignatureTest.NativeSignatures Selector: uniformWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: uniformWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: uniformWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: setMatrixFloat2x2Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: setMatrixFloat3x3Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: setMatrixFloat4x4Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: initWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: initWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: initWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded * [monotouch-tests] Include more custom asserts for watchOS to make the build work. Fixes this: Simd/MatrixFloat4x4Test.cs(28,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(29,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(37,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(48,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' [...] * [monotouch-test] Exclude code that requires the binding project from xammac tests. Exclude code that requires the test binding project from xammac tests because there's currently no XM version of the test binding project. Fixes this: tests/monotouch-test/SpriteKit/UniformTest.cs(20,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLMaterialProperty.cs(37,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLTransform.cs(34,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) * Bump version for preview #8 (#2576) * [spritekit] Audit fixes (xtro) (#2577) 1. SKVideoNode is now, partially, available on watchOS and does not require the extra, manual code to swicth selectors depending on the OS version being run. !missing-type! SKVideoNode not bound !missing-selector! SKVideoNode::anchorPoint not bound !missing-selector! SKVideoNode::initWithCoder: not bound !missing-selector! SKVideoNode::initWithFileNamed: not bound !missing-selector! SKVideoNode::initWithURL: not bound !missing-selector! SKVideoNode::setAnchorPoint: not bound !missing-selector! SKVideoNode::setSize: not bound !missing-selector! SKVideoNode::size not bound !missing-selector! +SKVideoNode::videoNodeWithFileNamed: not bound !missing-selector! +SKVideoNode::videoNodeWithURL: not bound 2. SKNodeFocusBehavior is exposed needlessly on watchOS because SpriteKit/Enums.cs was not processed by the generator, so [NoWatch] did not matter. !unknown-native-enum! SKNodeFocusBehavior bound It's also visible on macOS but nothing uses it (so we do not expose it needlessly) !missing-enum! SKNodeFocusBehavior not bound 3. Add missing designated initializer on default `init` !missing-designated-initializer! SKAttributeValue::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! SKNode::init is missing an [DesignatedInitializer] attribute 4. Remove inconsistency for SKNode subclasses wrt XAMCORE_4_0 The trio attributeValues, setAttributeValues and setValue:forAttributeNamed: that was moved from SKNode (deprecated) into its subclasses. This was done using XAMCORE_4_0 but not on every subclasses. This adds them everywhere to be consistent (only SKNode versions are not defined in XAMCORE_4_0) !missing-selector! SKEffectNode::attributeValues not bound !missing-selector! SKEffectNode::setAttributeValues: not bound !missing-selector! SKEffectNode::setValue:forAttributeNamed: not bound !missing-selector! SKEffectNode::valueForAttributeNamed: not bound !missing-selector! SKEmitterNode::attributeValues not bound !missing-selector! SKEmitterNode::setAttributeValues: not bound !missing-selector! SKEmitterNode::setValue:forAttributeNamed: not bound !missing-selector! SKEmitterNode::valueForAttributeNamed: not bound !missing-selector! SKSpriteNode::attributeValues not bound !missing-selector! SKSpriteNode::setAttributeValues: not bound !missing-selector! SKSpriteNode::setValue:forAttributeNamed: not bound !missing-selector! SKSpriteNode::valueForAttributeNamed: not bound * [introspection] Make sure '[FAIL]' is printed before every failure. (#2578) This makes xharness able to list the failures in the inline summary. * [xtro] Reword some of the Simd diagnostic messages according to review. * [xharness] Add a missing IsServerMode check to generate correct html. (#2581) * [SpriteKit] SKTransformNode is new in Xcode 9 so no need to keep the broken (and obsolete) non-simd version of RotationMatrix. * [intents] Fix some (partial) xtro issues and #59156 (#2585) reference https://bugzilla.xamarin.com/show_bug.cgi?id=59156 Remaining issues are filled in https://bugzilla.xamarin.com/show_bug.cgi?id=59183 !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound * [Intents] Confirm* interface methods should be bound as Confirm, Fixes Bug 59164 (#2591) * [Intents] Confirm* interface methods should probably be bound as Confirm, Fixes Bug 59164 https://bugzilla.xamarin.com/show_bug.cgi?id=59164 All Confirm* methods from *IntentHandling interfaces should be named just `Confirm` to avoid confusion because most of them do not directly confirm as an acion, but instead they **ask** for confirmation also we would follow swift's naming by doing this. * [Intents] XAMCORE_4_0 all Confirm* methods from *IntentHandling Turns any Confirm* into just Confirm inside a XAMCORE_4_0 block, * [Intents] Fix breaking changes in Intents added in Xcode 9 Bindings (#2590) Apple added more protocol conformances to INRidesharingDomainHandling and INPaymentsDomainHandling protocols in Xcode 9, I introduced these breaking changes back when I did intents binding so fixing them :) * [Metal] New bindings from Xcode 9 betas (#2457) * [AVFoundation] Updated bindings for xcode9. (#2272) * [Xcode9] Add IOSurface bindings (#2363) * This framework was a private framework before iOS 11. This framework was a private framework before iOS 11, yet the headers claim many API were introduced in iOS 10. So take account of this difference by using the private framework location in iOS 10.3 or earlier. Testing these API from Xcode works fine when run on an iOS 10.3 device, and I've confirmed the IOSurface framework is loaded from the private frameworks path on older devices (and when built using Xcode 9 and linked with the public framework path). * Disable code to make IOSurface work on iOS 10. Disable the code to make IOSurface work on iOS 10, since it may be rejected by the App Store. This also means adjusting the availability attributes, so that the introspection tests pass (and to document that technically these API won't work when used with Xamarin.iOS in iOS 10). I've filed bug #[59201][1] to keep track of this, maybe we can re-enable this later. [1]: https://bugzilla.xamarin.com/show_bug.cgi?id=59201 * [CoreMedia] Fix leak in CMAttachmentBearer.GetAttachments. (#2593) The caller owns the return value from CMCopyDictionaryOfAttachments, so tell Runtime.GetNSObject that. * [Intents] Adds missing API found by xtro, fixes Bug 59183 (#2596) https://bugzilla.xamarin.com/show_bug.cgi?id=59183 Fixes !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !incorrect-protocol-member! INUIHostedViewControlling::configureWithInteraction:context:completion: is OPTIONAL and should NOT be abstract * [xtro] Fix StartWorkingDirectory to enable debugging (#2598) * [iosurface] Enable for tvOS and XM classic (to avoid multiple defines around consumer API) (#2597) * [xtro] Fix EnumCheck (#2600) * [ARKit] Rename a few method to make them nicer. (#2604) * DisplayTransform -> GetDisplayTransform since methods should have verbs. * SessionWasInterrupted -> WasInterrupted and SessionInterruptionEnded -> InterruptionEnded since these names match better with the other names (CameraDidChangeTrackingState / DidFail / DidOutputAudioSampleBuffer: none are prefixed with 'Session'). Additionally, the type is a Model (for the delegate pattern), which means all methods are more-or-less event-like, and the first argument is always the same (the protocol itself), which is another indicator the methods should be named similarly. * [Foundation] Remove 'Key' suffix from some fields. (#2606) Of the 168 fields in NSMetadataItem, only these 5 hadn't removed the 'Key' suffix. So make them all equivalent by removing the 'Key' suffix from these 5 fields. * [ImageIO] Fix API to not duplicate the instance in instance methods. (#2609) An instance method does not need to take the instance as a parameter, so remove the first (instance) parameter for CGImageDestination.AddAuxiliaryDataInfo and CGImageSource.CopyAuxiliaryDataInfo. An alternative solution would be to make the methods static, but I like the instance API better. * [UIKit] De-model UIDataSourceTranslating. (#2603) It's not clear from neither the documentation nor the headers how this protocol is supposed to be used, and since it doesn't correspond to the delegate pattern, remove the [Model] attribute for now. We can always add it back later. * [CoreML] Improve API. (#2592) * [CoreML] Improve API. * The indices, shape and stride properties for MLMultiArray and MLMultiArrayConstraint can logically only be arrays of integers, so type them as such. This means adding overloads for MLMultiArray's constructors, GetObject and SetObject methods, and the indexers that takes nint[] arrays instead of NSNumber[] arrays. * Change MLFeatureValue's static factory methods to be a method ('Create') instead of a preposition, and call all the different factory methods the same, since they can be overloaded nicely. * [tests][monotouch-test] Add version check to MLMultiArrayTest and make sure the arrays we create are big enough for the data we put in them. * [tests][monotouch-test] MLMultiArray's elements aren't zero-initialized, so don't assume that in the tests. * Support overloading Objective-C methods based on static/instance. (#2607) Two Objective-C methods can be named identically as long as one is static and the other instance. We must support this since Apple did just this (in the NSItemProviderReading / NSItemProviderWriting protocols). We solve it by prepending a '+' or '-' to the selector when hashing it (to determine selector uniqueness, and to look the method up again at runtime). * [uikit] Update for Xcode 9 - Part 6 (#2602) NSAttributedString.h NSFileProviderExtension.h NSLayoutAnchor.h UIAccessibility.h UIAccessibilityAdditions.h UIAccessibilityContainer.h UIAccessibilityContentSizeCategoryImageAdjusting.h UIAccessibilityCustomRotor.h UIAccessibilityLocationDescriptor.h UITabBar.h UINavigationBar.h UIScreen.h * Xcode9 scenekit (#2512) * [SceneKit] basic work * Added key * [xcode9] SCNCameraController * [xcode9] SCNCamera updates * [xcode9] SCNMaterial * [xcode9] SCNGeometryTessellator, SCNCameraControlConfiguration, SCNView, small bits * Add trailing commas to last enum value * Remove whitespace noise * [scenekit] Update deprecated attributes messages * Addresses some of Rolf's feedback * Drop the WeakDelegate in SCNCameraController * Rename method to Render, remove ctor from class that can not be constructed in Palygrounds, add typo exception * [AppKit] Rename NSBezierPath.AppendBezierPathWithCGGlyph to match its sibling methods. (#2605) NSBezierPath contains a lot of 'AppendPathWithXXX' methods, that all map to 'appendBezierPathXXX' selectors. So rename AppendBezierPathWithCGGlyph accordingly, to make it more similar to the other methods in the same type. * [uikit] Add all UISpringLoadedInteractionSupporting (#2616) Types do not conform to the protocol but protocol methods work on those types (see monotouch-test). Fixed introspection tests accordingly and tested the selectors in monotouch-test. * [Intents] Add convenience ctor overload and call correct base ctor in manual ctor. (#2613) Add a convenience constructor overload in INGetUserCurrentRestaurantReservationBookingsIntent that uses nint instead of NSNumber, since logically "number of results" will always be some sort of integer. Also call the correct base constructor in INSpeakableString's custom constructor (same as any other generated constructor). Otherwise we end up doing something like this: [[[INSpeakableString alloc] init] initWith ...], i.e. calling two different init methods. * [coreimage] Add new headers API up to beta 6 (#2601) Filters are not complete (ref: #57350) https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * Some new constants are not yet documented (type is known), so they are commented / ignored https://bugzilla.xamarin.com/show_bug.cgi?id=59296 * Filled bug for [Wrap] inside [Category] so strong dictionary helpers can be re-enabled later https://bugzilla.xamarin.com/show_bug.cgi?id=59294 * [foundation] xtro fixes for watchOS (#2586) !missing-enum! NSProcessInfoThermalState not bound !missing-field! NSProcessInfoThermalStateDidChangeNotification not bound !missing-selector! NSProcessInfo::thermalState not bound Headers are wrong and preferredPresentationStyle is not in tvOS and watchOS !missing-selector! NSItemProvider::preferredPresentationStyle not bound !missing-selector! NSItemProvider::setPreferredPresentationStyle: not bound * [uikit] Also remove UIPreferredPresentationStyle enum from platform where it's not used * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. (#2614) * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. * NSItemProviderWriting: * NSItemProviderReading: Implement correctly and completely by uncommenting commented out code. * NSMutableString: * NSAttributedString: remove inlined members, since these classes don't implement NSItemProviderReading / NSItemProviderWriting (according to the headers at least). * NSUrl: all platforms now seem to implement NSItemProviderReading / NSItemProviderWriting. * NSString: all platforms now seem to implement both NSItemProviderReading and NSItemProviderWriting * UIColor: * UIImage: Update inlined protocol members according to the latest beta. Additionally, due to the following conditions: * The protocols all have the correct members now. * In the API definition we tell the generator to inline members from a protocol by inheriting from the corresponding interface. * The generator doesn't inline static members from protocols. several 'new' keywords had to be added to silence a compiler warning that occurrs when we manually inline a static member, since the member would be included in the type both from the inherited interface and the manual implementation. * [Foundation] Comment out NSItemProviderWriting.GetItemProviderVisibility to avoid inlining/generating unusable methods. NSItemProviderWriting.GetItemProviderVisibility is an optional method, and none of the native classes that implements NSItemProviderWriting actually imlements the method. This means inlining the method in those classes ends up creating unusable API; so just comment out the method to avoid generating the unusable API. The introspection tests found this: [FAIL] Foundation.NSString : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Foundation.NSUrl : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Contacts.CNContact : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] MapKit.MKMapItem : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIColor : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIImage : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] iOSApiSelectorTest.ApiSelectorTest.StaticMethods : 6 errors found in 2348 static selector validated: See also https://bugzilla.xamarin.com/show_bug.cgi?id=59308 * [iosurface] Add missing [TV] attributes (#2619) * [opengles] Enable the new API using IOSurface (#2618) The symbol only exists inside device libraries, not on simulator, and the introspection tests were updated to ignore it. Part of https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [avfoundation][watchos] Enable AudioBufferList (fix #59145) + audit (xtro) (#2617) 1. AudioBufferList is part of CoreAudio (wrong namespace, which needs a few changes in the generator) and now available in watchOS 4 https://bugzilla.xamarin.com/show_bug.cgi?id=59145 2. Also fixes xtro found issues: !missing-type! AVAudioRecorder not bound !missing-selector! AVAudioRecorder::averagePowerForChannel: not bound !missing-selector! AVAudioRecorder::channelAssignments not bound !missing-selector! AVAudioRecorder::currentTime not bound !missing-selector! AVAudioRecorder::delegate not bound !missing-selector! AVAudioRecorder::deviceCurrentTime not bound !missing-selector! AVAudioRecorder::format not bound !missing-selector! AVAudioRecorder::initWithURL:format:error: not bound !missing-selector! AVAudioRecorder::initWithURL:settings:error: not bound !missing-selector! AVAudioRecorder::isMeteringEnabled not bound !missing-selector! AVAudioRecorder::isRecording not bound !missing-selector! AVAudioRecorder::peakPowerForChannel: not bound !missing-selector! AVAudioRecorder::recordAtTime: not bound !missing-selector! AVAudioRecorder::recordAtTime:forDuration: not bound !missing-selector! AVAudioRecorder::recordForDuration: not bound !missing-selector! AVAudioRecorder::setChannelAssignments: not bound !missing-selector! AVAudioRecorder::setDelegate: not bound !missing-selector! AVAudioRecorder::setMeteringEnabled: not bound !missing-selector! AVAudioRecorder::settings not bound !missing-selector! AVAudioRecorder::url not bound !missing-protocol! AVAudioRecorderDelegate not bound !missing-selector! AVAudioEngine::inputNode not bound !missing-selector! AVAudioEngine::manualRenderingBlock not bound !missing-selector! AVAudioInputNode::setManualRenderingInputPCMFormat:inputBlock: not bound !missing-selector! AVAudioPlayer::format not bound !missing-selector! AVAudioSession::requestRecordPermission: not bound !unknown-field! AVFileType3GPP bound !unknown-field! AVFileType3GPP2 bound !unknown-field! AVFileTypeAC3 bound !unknown-field! AVFileTypeAIFC bound !unknown-field! AVFileTypeAIFF bound !unknown-field! AVFileTypeAMR bound !unknown-field! AVFileTypeAVCI bound !unknown-field! AVFileTypeAppleM4A bound !unknown-field! AVFileTypeAppleM4V bound !unknown-field! AVFileTypeCoreAudioFormat bound !unknown-field! AVFileTypeDNG bound !unknown-field! AVFileTypeEnhancedAC3 bound !unknown-field! AVFileTypeHEIC bound !unknown-field! AVFileTypeHEIF bound !unknown-field! AVFileTypeJPEG bound !unknown-field! AVFileTypeMPEG4 bound !unknown-field! AVFileTypeMPEGLayer3 bound !unknown-field! AVFileTypeQuickTimeMovie bound !unknown-field! AVFileTypeSunAU bound !unknown-field! AVFileTypeTIFF bound !unknown-field! AVFileTypeWAVE bound * [Metal] Implement API using IOSurface now that IOSurface is implemented. Partially fixes #58054. (#2621) https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [PdfKit] Improve PdfAnnotation.QuadrilateralPoints binding by making it strongly typed. (#2620) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). (#2622) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). * [ARKit/Vision] Use the new simd vector types instead of the OpenTK versions. * [ModelIO] Use the new simd vectors in new API (MDLVoxelIndexExtent2). This way we won't have to create a MDLVoxelIndexExtent3 in the future. * [SpriteKit] Use the new simd vectors in new API. * [metal] Audit (xtro) based fixes (#2623) !extra-protocol-member! unexpected selector MTLArgumentEncoder::newArgumentEncoderForBufferAtIndex: found !extra-protocol-member! unexpected selector MTLComputeCommandEncoder::dispatchThreads:threadsPerThreadgroup: found macos-only !missing-field! MTLDeviceRemovalRequestedNotification not bound !missing-field! MTLDeviceWasAddedNotification not bound !missing-field! MTLDeviceWasRemovedNotification not bound !missing-pinvoke! MTLCopyAllDevices is not bound * [CloudKit] Update bindings to beta 6. (#2615) * [FileProvider] Turn NSFileProviderItemIdentifier enum into a static class, fixes bug 59329 (#2634) https://bugzilla.xamarin.com/show_bug.cgi?id=59329 At the time of binding NSFileProviderItemIdentifier it wasn't clear how it was supposed to be used, I mean apple provides two keys which I thought were the only possible values hence binding it as an smart enum. Unfortunately this wasn't the case and the user can use those two values provided from the SDK or their own NSString Identifier. Swift provides a wrapper unfortunately we can't do the same due to NSFileProviderItemIdentifier is used in the NSFileProviderItem protocol and we currently do not support changing signatures on them. * [mtouch] Teach mtouch about the 'IOSurface' framework for tvOS. Fixes #59333. (#2630) https://bugzilla.xamarin.com/show_bug.cgi?id=59333 * Bump Touch.Unit to get fix for API breakage. (#2631) spouliot/Touch.Unit@8f1e19d [NUnitOutputTextWriter] Reintroduce previous constructor to make sure we don't break binary ABI. spouliot/Touch.Unit@00b0c0b [NUnitOutputTextWriter] Don't write invalid xml comments. spouliot/Touch.Unit@de9fe20 [TouchRunner] Restore the original code path when not wrapping NUnit xml output. * [IOSurface] Add missing availability attributes for tvOS. (#2629) * Bump versions for preview 9 (#2624) * [AVFoundation] Add missing interface AVRouteDetector. (#2637) * [tests] Update xtro to reduce list sizes (#2636) * Skip OpenTK duplicate declaration (we can't change them); * Fix rule name change for ARKit / simd; * Add missing default initializer on `init` to pending actions; * Add note for AVPersistableContentKeyRequest changes wrt tvOS; * [ReplayKit] Make RPBroadcastActivityViewController.LoadBroadcastActivityViewController async-capable. (#2639) * [xcode9] More SceneKit bindings (#2633) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 (#2644) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 https://bugzilla.xamarin.com/show_bug.cgi?id=59380 vector_float3 is 16 bytes, which means the binding is incorrect, because Vector3 is 12 bytes, and our code does not that difference into account. * Add tests * [DeviceCheck] Disable default ctor for DCDevice. (#2642) It doesn't seem to be useful according to the documentation, since it appears that the only way to get an instance is to use the static CurrentDevice property. * [audiounit] Audit (xtro) fixes for tvOS (#2635) Availability attributes in non-generated files don't hide symbols/code. reference: !unknown-pinvoke! AudioUnitExtensionCopyComponentList bound !unknown-pinvoke! AudioUnitExtensionSetComponentList bound * [tests] Make sure tvOS tests don't use the (unexisting) API * [tests] Add all test project variations to tests-mac.sln (#2579) * [xharness] Make sure generated mac projects have different project guids. * [introspection] Change the project guid so that it doesn't match the dontlink-mac project guid. * [tests] Add all test project variations to tests-mac.sln. * [xharness] Fix else condition. * [FileProvider] Adds missing NSFileProviderPage constants, fixes bug 59297. (#2646) https://bugzilla.xamarin.com/show_bug.cgi?id=59297 Adds NSFileProviderInitialPageSortedByName and NSFileProviderInitialPageSortedByDate NSData constants * [Xcode9] Remove NSFileProviderMessage and NSFileProviderMessageInterface (#2647) APIs were removed in beta 2 * [Foundation/UIKit] Provide LoadObject[s] methods that return the expected type in the callback. Fixes #59049. (#2638) The callback for these LoadObject[s] methods take an INSItemProviderReading parameter. This tells our runtime that we must provide an instance of a managed object that implements this interface (but nothing else), so we create a `NSItemProviderReadingWrapper` instance, which complies with the API (since the wrapper type implements the corresponding interface). Unfortunately these methods are supposed to return an instance of the passed- in type, so in order to comply with this soft (documentation-only) requirement, provide a wrapper method that creates instances of the right types. https://bugzilla.xamarin.com/show_bug.cgi?id=59049 * [arkit] Ignore deprecated selectors (#2645) * [FileProvider] Adds missing protocol and keys from audit (#2652) ``` !missing-protocol! NSFileProviderServiceSource not bound !missing-field! NSFileProviderErrorCollidingItemKey not bound !missing-field! NSFileProviderErrorNonExistentItemIdentifierKey not bound !missing-field! NSFileProviderFavoriteRankUnranked not bound ``` Also adds `NSXpcListenerEndpoint` to foundation, needed by `NSFileProviderServiceSource` protocol. * [tests][xtro] Workaround xtro runner dupe entry exception and update data files (#2654) * [AVFoundation] Rename field to match others. (#2657) * [homekit] Audit (xtro) fixes (#2653) - HMCharacteristicEvent conforms to NSMutableCopying on iOS11 which makes it 64 bits only (so adjust intro tests) - Ignore extra setters on HMMutablePresenceEvent, rdar 33883958 !missing-selector! HMMutablePresenceEvent::setPresenceEventType: not bound !missing-selector! HMMutablePresenceEvent::setPresenceUserType: not bound * [xtro] Add missing pinvoke to pending (#2662) - Bug 59422: [uikit] Missing UIContentSizeCategoryCompareToCategory & UIContentSizeCategoryIsAccessibilityCategory (https://bugzilla.xamarin.com/show_bug.cgi?id=59422) * Merge latest d15-3 fixes into xcode9 (#2660) * [msbuild] Re-added wildcard (*) expandsion for application-identifier in Entitlements.plist (#2186) Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=57119 * Bump mono (#2213) * Framework tests were still binding non-linked Simple class which errors now (#2216) (#2218) - Improve Makefile to rebuild when projects build with errors * Bump mono to get cecil fix for bug #56808. (#2222) https://bugzilla.xamarin.com/show_bug.cgi?id=56808 * [msbuild] Use @(ReferencePath) instead of @(ResolvedFiles) (#2188) (#2214) This allows things to work on both xbuild and msbuild. In xbuild, both lists are exactly the same and on msbuild, only @(ReferencePath) exists. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=55147 * NSActivityOptions.IdleDisplaySleepDisabled had wrong value (#2232) (#2239) This was due to an integer overflow. The original value was based on Int32 1 << 40 == 256 The correct value should be based on a UInt64. 1UL << 40 == 1099511627776 * [tests] Fix bug 57699 - [iOS]InternalsTest failure (Linkall) tests on device (#2243) Strip native debugging symbols should not be checked for debug builds * Bump mono to get fix for bug #57780. https://bugzilla.xamarin.com/show_bug.cgi?id=57780 * Update .gitmodules Change branch to d15-3 branch of mono * Bump maccore to get fix for bug #55064. https://bugzilla.xamarin.com/show_bug.cgi?id=55064 * [mono] Bump mono to get the head of cecil/mono-2017-04 and fix IsComObject #57919 Also fix #58789 [1], the typo in tools/mtouch/Tuning.cs showing in MT0000 errors instead MT2102. That's already in master and d15-4 mono bump includes: [2] commit 2a6502cee0df9de5198eafe7c8b5f6ac25106f34 (HEAD -> d15-3, origin/d15-3) Merge: 02457c20fcf 5e05cafc6f1 Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 10:04:06 2017 -0400 Merge pull request #5401 from marek-safar/com [Marshal.IsComObject] Make this predicate return false instead of thr… [3] commit 02457c20fcf57c0610e844d638eb1da82b5d1eb0 Merge: da80840ea55 73fd9a1b82e Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 09:59:06 2017 -0400 Merge pull request #5400 from spouliot/bump-cecil-58834-d15-3 [cecil] Bump to the head of the mono-2017-04 branch and pick the fix for bug #58834 References [1] https://bugzilla.xamarin.com/show_bug.cgi?id=58789 [2] https://bugzilla.xamarin.com/show_bug.cgi?id=57919 [3] https://bugzilla.xamarin.com/show_bug.cgi?id=58834 * [mtouch] Put 'mono_profiler_startup_log' in the symbol list. Fixes #58778. (#2501) We need the 'mono_profiler_startup_log' symbol when profiling is enabled, so make sure to add the symbol to the correct list of symbols we need. Previously we were passing `-u _mono_profiler_startup_log` to clang directly, which is fine, but not complete, since it does not write the symbol to the symbollist file (--symbollist=file), which means it wouldn't be preserved when the MSBuild tasks strip the executable. https://bugzilla.xamarin.com/show_bug.cgi?id=58778 * Bump versions for SR3 https://trello.com/c/EVze08ei * Bump mono to include HttpClientHandler fix #44027 https://trello.com/c/jYFXadH8/8-systemnethttp-close-request-stream-when-httpclienthandler https://bugzilla.xamarin.com/show_bug.cgi?id=44027 * [FileProvider] Add missing API and turn NSString to string (#2663) Turned NSString to string in order to match exisiting API. * [uikit] Add UIPasteConfigurationSupporting and UITextPasteConfigurationSupporting (#2649) - Fixes bug #59363: Missing UIPasteConfigurationSupporting, UITextPasteConfigurationSupporting, UITextDraggable and UITextDroppable on a couple of types (https://bugzilla.xamarin.com/show_bug.cgi?id=59363) * [uikit] Remove 129 types in UIPasteConfigurationSupporting case * [scenekit] Audit (xtro) fixes (#2648) This looks like an Apple breaking change (since `SCNAnimation` is new) but we now have: > typedef void (^SCNAnimationEventBlock)(id<SCNAnimation> animation, id animatedObject, BOOL playingBackward); bound as > delegate void SCNAnimationEventHandler (CAAnimation animation, NSObject animatedObject, bool playingBackward); and `CAAnimation` conforms to `SCNAnimation` but *only* the later is available on watchOS. The delegate is only updated (since it's new) on our watchOS profile. xtro references: (watchos) !unknown-protocol! SCNCameraControlConfiguration bound (tvos/watchos) !missing-selector! SCNAnimation::animationEvents not bound !missing-selector! SCNAnimation::setAnimationEvents: not bound !missing-selector! SCNConstraint::isEnabled not bound !missing-selector! SCNConstraint::setEnabled: not bound !missing-field! SCNSceneSourceConvertToYUpKey not bound !missing-field! SCNSceneSourceConvertUnitsToMetersKey not bound (ios/tvos) !missing-protocol-conformance! SCNNode should conform to UIFocusItem * Bump maccore post 15.3 merge (#2665) * Bump Xcode 9 to GM (#2667) * Force build (on wrench) * [avfoundation] Fix breaking changes (apidiff) (#2664) * [TVServices] Update to Xcode 9 GM (#2675) * [GameController] Update to Xcode 9 GM (#2673) * [LocalAuthentication] Update to Xcode 9 GM (#2671) * [LocalAuthentication] Update to Xcode 9 GM * Remove availability from BiometryNotAvailable, BiometryNotEnrolled and BiometryLockout * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer (#2659) * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer Some of the new added types were already present BUT under a #if MONOMAC, they had to be moved. * [AVFoundation] Set the wrongly added API to be obsolete and ensure it returns logical values. (#2650) * [xtro] The right platform for macOS is 'macos', not 'osx'. (#2677) The platform name is used to filter availability attributes, and if we use the wrong platform, we'll incorrectly skip all availability attributes. The net result in unclassified entries: https://gist.github.com/rolfbjarne/a4474bc2a40c49a85cad495b51bb514f * Various Xcode 9 API improvements and also fixes bug 59433 (#2676) https://bugzilla.xamarin.com/show_bug.cgi?id=59433 While fixing bug 59433 I noticed some additional issues outlined below: AVDepthData: * Renamed **non** static `Create` methods because `Create` only makes sense with the **Static** method in this context. Also by renaming the methods we are now closer to the names that swift uses. * Kept descriptive method names in favor of self-documenting code. `Convert`, `Apply` and `Replace` do not fully give us the intent of the method. * Added a convenience `Create` static method that takes a `CGImageAuxiliaryDataInfo`. * AvailableDepthDataTypes is now an array of `CVPixelFormatType` instead of a `NSNumber` array (The aactual fix for bug 59433). ImageIO: * Refactored `CGImageAuxiliaryDataInfo` to be a `StrongDictionary` in order to avoid most of the manual code and also to avoid reimplementing the `ToDictionary` method (which contained a subtle bug). * Adjusted code to reflect the above change. * Added missing `.ctor (IntPtr, bool)` to `CGImageMetadata` so the class is able to be created by our `Runtime.Get*`. * Simplified `CopyAuxiliaryDataInfo` method by using `CGImageAuxiliaryDataInfo` as a `DictionaryContainer`. Tests: * Added `xamarinmonkey.heic` which is an image that contains depth data needed to test above changes. * Adds `AVDepthDataTests` that touches most of the changes listed here. * Tweak the Simd-compatible matrices and vectors (#2668) * Rename them to be OpenTK.NMatrix# (instead of Simd.MatrixFloat#x#). * Remove the Vector2 and Vector4 variants, we'll use the OpenTK types instead (but we'll keep the NVector3 variant, since it's not identical to the OpenTK version). * Update the API to match their OpenTK counterparts better: * NMatrix2 and NMatrix3 have a 0-based R#C# scheme for their fields. * NMatrix4 has a 1-based M## scheme for its fields (i.e. no change). * [AVFoundation] Use Simd-matrix for API that needs it. (#2679) This also requires implementing the corresponding matrix (NMatrix4x3). Fixes this xtro issue: > !unknown-simd-type-in-signature! OpenTK.Matrix3 AVFoundation.AVCameraCalibrationData::get_GetIntrinsicMatrix(): the native signature has a simd type (matrix_float3x3), while the corresponding managed method is using an incorrect (non-simd) type. * [xtro] Fix checking availability on categories. (#2682) When checking for category availability, check if both the current declaration is a category, and if the current's declaration container is a category. Otherwise this scenario fails: * Category method is available. * Category does not have availability attributes. * Main class is unavailable. with this typical code sequence: ```csharp // don't process methods (or types) that are unavailable for the current platform if (!decl.IsAvailable () || !(decl.DeclContext as Decl).IsAvailable ()) return; ``` In which case we'd: * First check the method (`decl`): * It's available, so no further checks is done on the method. * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container's container is a category (it isn't, it's the namespace). and as such determine that the method is available. With this change, the second step will become: * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container is a category (it is), and if its main class is available (it isn't). and as such determine that the method is unavailable. * Check for attributes on the method's container (no attributes, so we continue). * Check if the method's Unclassified diff: https://gist.github.com/rolfbjarne/8fa80962596978a426eadf9b7ba39dc1 * [uikit] Update for Xcode 9 GM (#2670) * [AVFoundation] Implement AVCapturePhoto. Partially fixes #59388. (#2678) Fixes: > common.unclassified:!missing-type! AVCapturePhoto not bound https://bugzilla.xamarin.com/show_bug.cgi?id=59388 * Use strong dictionaries for AVCapturePhoto.Metadata and AVCapturePhoto.EmbeddedThumbnailPhotoFormat. * [SIMD] Implement Simd double types (VectorDouble3/MatrixDouble4x4). (#2632) The following types will be used by ModelIO bindings * Fix delta to be double * Rename Simd-compatible matrices and vectors to match our final naming. This also means removing the new Vector2 and Vector4 variants (but not Vector3). * [avfoundation] Remove AVAssetDownloadDelegate.DidLoadTimeRange since it was removed in one of the betas (#2687) * [foundation] Move NSUrlSessionMultipathServiceType to a file processed by the generator (for the availability attributes) (#2688) * [arkit] Update for Xcode 9 GM (#2681) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes (#2690) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes Type Changed: Intents.INCarSeatResolutionResult Removed methods: public static INCarSeatResolutionResult GetConfirmationRequired (INCarSeat valueToConfirm); public static INCarSeatResolutionResult GetSuccess (INCarSeat resolvedValue); * [avfoundation] Add missing protocol members and deprecations (#2691) !missing-protocol-member! AVCapturePhotoCaptureDelegate::captureOutput:didFinishProcessingPhoto:error: not found and the selector removed from PR#2687 was actually replaced with this one !missing-protocol-member! AVAssetDownloadDelegate::URLSession:aggregateAssetDownloadTask:didLoadTimeRange:totalTimeRangesLoaded:timeRangeExpectedToLoad:forMediaSelection: not found * [tests][xtro] Map some enums, more fix with protocols and update entries (#2692) * [Tests] Reenable dns tests on the watch. (#2674) * [arkit] Add ARBlendShapeLocationOptions strong dictionary (#2696) * [coreimage] Skip not yet bound filters added in Xcode9 (#2698) Tracked in https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * [Metal] Renamed MTLArgumentDescriptor.ArgumentDescriptor to Create, fixes bug 59498 (#2702) https://bugzilla.xamarin.com/show_bug.cgi?id=59498 From [argumentDescriptor docs](https://developer.apple.com/documentation/metal/mtlargumentdescriptor/2915746-argumentdescriptor?language=objc) > Creates an empty argument descriptor. * [msbuild] Always codesign app bundles if the codesign key is non-null (#2697) ...even if it is a simulator build. Turns out that starting with Xcode9, sim builds need to be codesigned for App Groups entitlements to work properly. Interestingly, the DetectSigningIdentity logic had a comment about needing to codesign simulator builds for some entitlements to work already starting with Xcode 8 but apparently the iOS targets did not respect this. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=59379 * [Foundation] Add NSProxy stub in order to workaround bug 59247 (#2693) https://bugzilla.xamarin.com/show_bug.cgi?id=59247 We need to have a better solution that removes all what NSProxy does not responds to. Right now this works because NSObject implements NSObject protocol just like NSProxy, but NSProxy responds to far less selectors hence doing it internal so it is not a breaking change when we provide the correct fix. * Keep NSProxy around and avoid XML linker description We need to keep NSProxy (avoid linking it) if WKNavigationDelegate or IWKNavigationDelegate is used. We know WKWebView will be there and can hold a reference to it. * [Xcode 9] Update Metal for GM (#2689) * [iosurface] IOSurface is not usable before iOS/tvOS 11. Fixes #59201 (#2706) Apple rejects apps that links with the previously private IOSurface.framework. We were not sure about this [1] and had it disabled (this is removed). However another bug stopped our adjustment logic [2] from being executed. This is needed since `clang` picks up the private framework if it does not find the public one (even when asking for a weak framework), [1] https://bugzilla.xamarin.com/show_bug.cgi?id=59201 [2] Added a while ago for JavascriptCore * Bump maccore to point to commit with the docs fix. (#2703) * Bump XI to 11.0.x (and XM to 3.99.9.x) (#2684) * fix typo
2017-09-16 00:53:16 +03:00
[Introduced (PlatformName.WatchOS, 3, 0)]
[Deprecated (PlatformName.WatchOS, 4, 0, message: "Use 'SCNAnimationPlayer.Paused' instead.")]
[Introduced (PlatformName.TvOS, 9, 0)]
[Deprecated (PlatformName.TvOS, 11, 0, message: "Use 'SCNAnimationPlayer.Paused' instead.")]
[Introduced (PlatformName.iOS, 8, 0)]
[Deprecated (PlatformName.iOS, 11, 0, message: "Use 'SCNAnimationPlayer.Paused' instead.")]
[Introduced (PlatformName.MacOSX, 10, 9)]
[Deprecated (PlatformName.MacOSX, 10, 13,message: "Use 'SCNAnimationPlayer.Paused' instead.")]
2016-04-21 15:30:02 +03:00
[Export ("isAnimationForKeyPaused:")]
bool IsAnimationPaused (NSString key);
#if XAMCORE_2_0
[Abstract]
#endif
[Deprecated (PlatformName.WatchOS, 4, 0, message: "Use 'RemoveAnimationUsingBlendOutDuration' instead.")]
[Deprecated (PlatformName.TvOS, 11, 0, message: "Use 'RemoveAnimationUsingBlendOutDuration' instead.")]
[Deprecated (PlatformName.iOS, 11, 0, message: "Use 'RemoveAnimationUsingBlendOutDuration' instead.")]
[Deprecated (PlatformName.MacOSX, 10, 13,message: "Use 'RemoveAnimationUsingBlendOutDuration' instead.")]
2016-04-21 15:30:02 +03:00
[Mac (10,10)]
[Export ("removeAnimationForKey:fadeOutDuration:")]
void RemoveAnimation (NSString key, nfloat duration);
#if XAMCORE_4_0
[Abstract]
#endif
[return: NullAllowed]
[iOS (11,0), TV (11,0), Watch (4,0), Mac (10,13)]
[Export ("removeAnimationForKey:blendOutDuration:")]
void RemoveAnimationUsingBlendOutDuration (NSString key, nfloat blendOutDuration);
[Deprecated (PlatformName.WatchOS, 4, 0, message: "Use 'SCNAnimationPlayer.Speed' instead.")]
[Deprecated (PlatformName.TvOS, 11, 0, message: "Use 'SCNAnimationPlayer.Speed' instead.")]
[Deprecated (PlatformName.iOS, 11, 0, message: "Use 'SCNAnimationPlayer.Speed' instead.")]
[Deprecated (PlatformName.MacOSX, 10, 13,message: "Use 'SCNAnimationPlayer.Speed' instead.")]
[TV (10, 0), Mac (10, 12), iOS (10, 0), Watch (3,0)]
[Export ("setSpeed:forAnimationKey:")]
void SetSpeed (nfloat speed, NSString key);
2016-04-21 15:30:02 +03:00
}
[Watch (3,0)]
2016-04-21 15:30:02 +03:00
[iOS(9,0),Mac(10,11)]
[BaseType (typeof(NSObject))]
[DisableDefaultCtor]
interface SCNAudioPlayer
{
[Export ("initWithSource:")]
[DesignatedInitializer]
IntPtr Constructor (SCNAudioSource source);
[Export ("initWithAVAudioNode:")]
[DesignatedInitializer]
IntPtr Constructor (AVAudioNode audioNode);
[Static]
[Export ("audioPlayerWithSource:")]
SCNAudioPlayer FromSource (SCNAudioSource source);
[Static]
[Export ("audioPlayerWithAVAudioNode:")]
SCNAudioPlayer AVAudioNode (AVAudioNode audioNode);
[Export ("willStartPlayback")]
Action WillStartPlayback { get; set; }
[Export ("didFinishPlayback")]
Action DidFinishPlayback { get; set; }
[NullAllowed, Export ("audioNode")]
AVAudioNode AudioNode { get; }
[NullAllowed, Export ("audioSource")]
SCNAudioSource AudioSource { get; }
}
[Watch (3,0)]
2016-04-21 15:30:02 +03:00
[iOS (9,0), Mac(10,11)]
[BaseType (typeof(NSObject))]
[DisableDefaultCtor]
interface SCNAudioSource : NSCopying, NSSecureCoding
{
[Export ("initWithFileNamed:")]
IntPtr Constructor (string filename);
[Export ("initWithURL:")]
[DesignatedInitializer]
IntPtr Constructor (NSUrl url);
[Static]
[Export ("audioSourceNamed:")]
SCNAudioSource FromFile (string fileName);
[Export ("positional")]
bool Positional { [Bind ("isPositional")] get; set; }
[Export ("volume")]
float Volume { get; set; }
[Export ("rate")]
float Rate { get; set; }
[Export ("reverbBlend")]
float ReverbBlend { get; set; }
[Export ("loops")]
bool Loops { get; set; }
[Export ("shouldStream")]
bool ShouldStream { get; set; }
[Export ("load")]
void Load ();
}
[Watch (3,0)]
2016-04-21 15:30:02 +03:00
[Mac (10,8), iOS (8,0)]
[Model, Protocol]
[BaseType (typeof (NSObject))]
interface SCNBoundingVolume {
#if XAMCORE_2_0
[Abstract]
#endif
[Export ("getBoundingBoxMin:max:")]
bool GetBoundingBox (ref SCNVector3 min, ref SCNVector3 max);
[Mac (10,9)] // Yep, Apple broke backwards compatibility in 10.9 by introducing a new required member.
[Abstract]
[Export ("setBoundingBoxMin:max:")]
void SetBoundingBox (ref SCNVector3 min, ref SCNVector3 max);
#if XAMCORE_2_0
[Abstract]
#endif
[Export ("getBoundingSphereCenter:radius:")]
bool GetBoundingSphere (ref SCNVector3 center, ref nfloat radius);
}
[Watch (3,0)]
2016-04-21 15:30:02 +03:00
[Mac (10,8), iOS (8,0)]
[BaseType (typeof (SCNGeometry))]
interface SCNBox {
[Export ("width")]
nfloat Width { get; set; }
[Export ("height")]
nfloat Height { get; set; }
[Export ("length")]
nfloat Length { get; set; }
[Export ("chamferRadius")]
nfloat ChamferRadius { get; set; }
[Export ("widthSegmentCount")]
nint WidthSegmentCount { get; set; }
[Export ("heightSegmentCount")]
nint HeightSegmentCount { get; set; }
[Export ("lengthSegmentCount")]
nint LengthSegmentCount { get; set; }
[Export ("chamferSegmentCount")]
nint ChamferSegmentCount { get; set; }
[Static, Export ("boxWithWidth:height:length:chamferRadius:")]
SCNBox Create (nfloat width, nfloat height, nfloat length, nfloat chamferRadius);
}
[Watch (3,0)]
2016-04-21 15:30:02 +03:00
[Mac (10,8), iOS (8,0)]
[BaseType (typeof (NSObject))]
interface SCNCamera : SCNAnimatable, SCNTechniqueSupport, NSCopying, NSSecureCoding {
[NullAllowed] // by default this property is null
[Export ("name", ArgumentSemantic.Copy)]
string Name { get; set; }
Merge xcode9 into d15-4[-xi] (#2710) * [FileProvider] Add Xcode 9 Beta 1, 2 & 3 Bindings (#2279) * [FileProvider] Add Xcode 9 Beta 1 Bindings * Better naming * Feedback not related to BindAs * [FileProvider] Removes BindAs, add manual code for it and updated to Beta 3 * [FileProvider] Implement feedback * [CoreSpotlight] Updated spotlight bindings for xcode 9 beta 3. (#2193) Updated spotlight bindings for xcode 9 beta 3. * Fix warning caused by duplicate (#2354) * [FileProviderUI] Add Xcode 9 Beta 1 to 3 bindings (#2356) * Bump to Xcode 9 beta 4 * [arkit] ARLightEstimate does not conform to NSCopying anymore (fix unit test) * [uikit] NSFileProviderExtension.ReparentItem got a new parameter in beta4 (fix unit test) * [coreimage] CIImageAccumulator init returns nil in beta 4 There's no header change to mention `init` is not allowed but it's not clear how this default initializer could be used. Also make public some other API to construct this type (outside of XM). It's not clear why there were `internal` as they are (at least now) part of the header files. * [photos] Add helpers when PHLivePhotoEditingOption/NSDictionary is null (to avoid ambiguous API) (#2360) Adding a strongly typed `PHLivePhotoEditingOption` (a strongly typed version of an `NSDictionary`) can cause a `CS0121` (call is ambiguous) since using a `null` argument is common (only one option exist so far). This PR adds overloads that makes the code nicer in such case, e.g. before Xcode9: > // null is used when no options are given > _foo.SaveLivePhoto (output, null, completion); current (Xcode 9) > // casting required to remove ambiguity with PHLivePhotoEditingOption > _foo.SaveLivePhoto (output, (NSDictionary)null, completion); with this PR > // no option, no argument > _foo.SaveLivePhoto (output, completion); The same applies to `PrepareLivePhotoForPlayback`. * [tests] Disable/tweak two tests that breaks on (almost) all Xcode updates Those tests were not added to validate xOS so just keep the parts that helps us (without constantly checking back the new break flavor) * Disable watchOS to check if this hides others issues * [mapkit] Update for beta 4 * [coredata] Update for beta 4 * [wkwebkit] Update for beta 4 Note: WKWindowFeatures.h is not compiled (part of the framework umbrella) and the `@interface WKWindowFeatures (WKPrivate)` sounds like it should not have been exposed (it's all fields starting with `_`) * [corelocation] Update for beta 4 * Revert "Disable watchOS to check if this hides others issues" This reverts commit fed2249fa43290a1956ab2fe0d48f83ab6db9711. * [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]: https://github.com/xamarin/xamarin-macios/blob/f5956d6cc1eb5dfa7bab16628cf282d40237f64e/src/generator.cs#L5985 * [FinderSync] Update to beta 4 (#2377) * [ImageIO] Update to Xcode 9 (#2353) * [PhotosUI] Move macOS photosui bindings out of photos.cs into photosui.cs (#2358) * [quicklook] Update up to beta 4 (#2374) * [uikit] UIDragInteraction & UIDragInteractionDelegate (Xcode 9 b1,2,3) (#2357) * [safariservices] Update up to beta 4 (#2380) * [coreanimation] Update to beta 4 (#2382) Apple removed (mistake?) some API in beta 1. Filed as rdar 33590997 Internal tracking in https://trello.com/c/J8BDDUV9/86-33590997-coreanimation-quartzcore-api-removals * [storekit] Update up to beta 4 (#2379) * [CoreML] Update to Xcode 9 Beta 4 (#2387) * [uikit] UICollectionView/UITableView Drag & Drop (Xcode 9 b1,2,3 & 4) (#2355) * Update code after radar 32929318 and 32897776 are fixed in b4 (#2394) * [xcode9 CoreAudio] New definitions from Beta1 to Beta3 (#2359) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 (#2397) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 https://bugzilla.xamarin.com/show_bug.cgi?id=58512 Created strong API (VNBarcodeSymbology) on the following properties * VNDetectBarcodesRequest.SupportedSymbologies * VNDetectBarcodesRequest.Symbologies * VNBarcodeObservation.Symbology * Remove modern C# because classic can't do it 😡 * [mediaplayer] Update up to beta 4 (#2388) * [watchkit] Update to beta 4 (#2398) * Bump Visual Studio for Mac max version (#2408) * [coreimage] Add CIBarcodeDescriptor and enabled missing API for VNBarcodeObservation. Fix #58197 (#2411) https://bugzilla.xamarin.com/show_bug.cgi?id=58197 * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 (#2407) * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 * [uikit] Fixes based on comments * [coreimage] CIImageAccumulator API fixes. Fix #58349 (#2412) * Obsolete the default `init`; * XM exposed some older APIs using `int` instead of `CIFormat`. This is fixed and old APIs are obsoleted; * Both new & old APIs are now using `CIFormat` for both XI and XM. https://bugzilla.xamarin.com/show_bug.cgi?id=58349 * [uikit] UIText drag & drop - up to Xcode 9 beta 4 (#2410) * [uikit] UISplitView & UIStackView up to Xcode 9 beta 4 (#2425) * Bump XI/XM versions before preview 4 (#2422) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 (#2378) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 * [PDFKit] Implement feedback * [PDFKit] the forgotten enum * [PDFKit] More feedback * [PDFKit] Add Mac changes * Missing change * Fix test RectangleF VS CGRect * Pass -Wunguarded-availability-new to quiet a new clang warning (#2424) - https://bugzilla.xamarin.com/show_bug.cgi?id=58574 * [mtouch/mmp] Ignore warnings about unguarded code section with regards to availability. (#2441) * [monotouch-test] Remove workaround for fixed Apple bug. (#2445) * Bump to Xcode 9 beta 5. (#2447) * Bump to Xcode 9 beta 5. * [mmp] Disable the partial static registrar, because Apple's macOS SDK is broken. > In file included from Xamarin.Mac.registrar.mobile.i386.m:1: > In file included from ./Xamarin.Mac.registrar.mobile.i386.h:11: > /Applications/Xcode9-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVFoundation.h:88:9: fatal error: 'AVFoundation/AVRouteDetector.h' file not found https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [mmp] Fix partial static registrar removal. * [CallKit] Update to Xcode 9 beta 5. * [ARKit] ARPointCloud doesn't conform to NSCopying anymore in Xcode 9 beta 5. * [ARKit] Update to Xcode 9 beta 5 enough to make tests happy. * [CoreImage] Stub out new filters in Xcode 9 beta 5. * [tests][monotouch] Simplify some MDLMesh asserts since values change a lot between OS versions. * [mmp] Default to the dynamic registrar for release builds again, due to bug #58629. https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [tests][introspection] CXCall started implementing NSCopying without saying so in the headers. * Disable mmp static registrar tests due to 58629 for now * [quicklook] Update to beta 5 (#2450) * [photos] Update for beta 5 (#2452) Also update some existing enum members were added in beta 1 on macOS * [safariservices] Update for beta 5 (#2455) * [mediaplayer] Update to beta 5 (#2456) * [CoreLocation] Update Xcode 9 Beta 5 (#2453) * [CoreML] Update to Xcode 9 Beta 5 (#2454) * [Contacts] Update to Xcode 9 Beta 5 (#2451) * [Vision] Update to Xcode 9 Beta 5 (#2458) * [builds] Tell LLVM to stay away from newer macOS functions. (#2459) Fixes this build problem on Sierra: > ld: weak import of symbol '_futimens' not supported because of option: -no_weak_imports for architecture x86_64 This is a symbol that was (will be?) introduced in High Sierra. Interestingly this only occurs if the Xcode 8.X Command Line Tools haven't been manually installed. Because if the Xcode 8.X Command Line Tools are installed, this happens: 1. llvm's configure script detects that 'futimens' is not usable. 2. llvm's configure script detects that 'futimens' is not usable, because xcrun sets SDKROOT=/ when calling clang. a. When the SDKROOT variable is set, clang passes '-syslibroot /usr/lib' to ld. b. When ld gets '-syslibroot /usr/lib', ld looks in '/usr/lib' for a library that contains 'futimens' in the OS itself, and since we're on Sierra, that fails to link. c. So when llvm's configure script creates a test program that checks if 'futimens' is present, the program fails. This is correct, and makes llvm *not* use futimens. 3. xcrun sets SDKROOT=/ because /usr/share/current-os.sdk/Info.plist exists. If that file does not exist, then xcrun sets SDKROOT to Xcode9's macOS SDK (because that's what xcode-select reports). a. When SDKROOT is set to Xcode9's macOS SDK, the configure check for 'futimens' succeeds, because the macOS 10.13 SDK contains that function. b. llvm happily uses 'futimens', and then the final link fails because we're using a symbol not available on all target platforms. * [arkit] Update for Xcode 9 beta 5 - Part 1 (#2460) * [tests] The container app for watchOS tests should be 64-bit. (#2463) * [xharness] watchOS tests need to run in a clean environment. Works around #58348. (#2462) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [xharness] It watchOS tests don't need to be clean anymore. Fixes #58348. (#2473) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [uikit] UIView/UIScrollView/UIViewController up to Xcode 9 beta 5 (#2431) - Add NSDirectionalEdgeInsets type. - Includes DirectionalEdgeInsetsTest. * [AudioToolbox] Update bindings to Xcode 9 beta3 (not later changes). (#2294) * [xharness] Add a file existence check. (#2478) Fixes this exception: ``` Harness exception for 'introspection': System.IO.FileNotFoundException: Could not find file '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log'. File name: '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log' at System.IO.__Error.WinIOError (System.Int32 errorCode, System.String maybeFullPath) [0x00207] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/__error.cs:188 at System.IO.FileInfo.get_Length () [0x00038] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/fileinfo.cs:171 at xharness.CaptureLog.StopCapture () [0x00021] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Log.cs:252 at (wrapper remoting-invoke-with-check) xharness.CaptureLog:StopCapture () at xharness.AppRunner+<RunAsync>d__68.MoveNext () [0x0127f] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/AppRunner.cs:642 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter`1[TResult].GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:357 at xharness.RunSimulatorTask+<RunTestAsync>d__7.MoveNext () [0x0029d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2894 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.RunTestTask+<ExecuteAsync>d__8.MoveNext () [0x0010b] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2538 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.TestTask+<RunInternalAsync>d__87.MoveNext () [0x0010d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:1870 ``` I'm not sure how this can happen, but it has on the bots [1]. [1] https://jenkins.mono-project.com/job/xamarin-macios-pr-builder/4548/Test_Report/ * Bump versions for preview 5 (#2479) * [passkit] Update to beta 5 (#2481) * [tests] Remove workaround for radar #32688391. (#2486) * [replaykit] Update up to beta 5 (#2484) * Bump maccore to get fix for bug #55064. (#2487) * [apidiff] Update definition to new 10.12 (d15-3) stable release (#2490) * [SceneKit] basic work (#2483) * [coredata] Update to beta 5 (#2488) * [homekit] Update for Xcode 9 beta 5 (#2492) * [Foundation] Update for xcode9 (#2468) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 (#2493) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 * [Intents] Implement feedback * [Intents] Add a generic version for INInteraction.GetParameterValue * [Intents] Missing check * [Contacts] Add missing foundation NSItemProviderWriting protocol to CNContact (#2496) https://bugzilla.xamarin.com/show_bug.cgi?id=58203 This is available on all Contacts supported platforms ``` ./iPhoneOS.platform/Developer/SDKs/iPhoneOS11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchOS.platform/Developer/SDKs/WatchOS4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchSimulator.platform/Developer/SDKs/WatchSimulator4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ``` * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) (#2497) * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) * [IntentsUI] Better use a delegate instead so we have named params * Bump versions before 6th preview (#2514) * [arkit] Add missing MarshalDirective to ARPlaneAnchor (#2517) - Fixes bug #58648: ARPlaneAnchor.Extent property seems incorrect but changes to correct value after Debug access (https://bugzilla.xamarin.com/show_bug.cgi?id=58648) * [xtro-sharpie] Fix a compiler warning. (#2516) Fixes these warnings: Runner.cs(197,5): warning CS0642: Possible mistaken empty statement Runner.cs(199,5): warning CS0642: Possible mistaken empty statement Runner.cs(201,5): warning CS0642: Possible mistaken empty statement Runner.cs(203,5): warning CS0642: Possible mistaken empty statement Runner.cs(205,5): warning CS0642: Possible mistaken empty statement * [uikit] Update for Xcode 9 beta 5 - Part 3 (#2511) - UIKeyCommand - UINavigationBar - UINavigationItem - UIPasteboard - UITableViewHeaderFooterView * [xtro-sharpie] Remove xtro-plugin and misc other fixes. (#2522) * [xtro-sharpie] Build with msbuild and be as quiet as requested when building. * [xtro-sharpie] Must run as a 64-bit process, since the required native libraries are 64-bit. * [xtro-sharpie] Add run configurations to the project file to ease debugging in the IDE. * [xtro-sharpie] Remove xtro-plugin and the related commands. This was needed when there wasn't a 64-bit mono, in order to run xtro-sharpie in a 64-bit process. Now there is a 64-bit mono, so it's not needed anymore. Also improve makefile targets a bit, to auto-build stuff when needed, by setting the right dependencies. * Bump Xcode 9 to beta 6 (#2519) Disable watchOS tests again It seems like the Carousel crash from beta 4 is back to haunt us. This was working fine with beta 5. * Backport d15-3 SR2 fixes (#2515) * [coredata] Update to beta 6 (#2528) This seems to only revert some nullability changes from beta 5. * [coreml] Update to beta 6 (#2531) Fix our rdar 33643011 where additional setters were added in the headers but did not exists. * [videosubscriberaccount] Update to beta 6 (#2533) Only b1 and b2 introduced some additions/changes * [uikit] Update for Xcode 9 beta 6 - Part 4 (#2527) The following headers are now up to date: - UICollectionViewFlowLayout.h - UIDocumentPickerViewController.h - UIFontDescriptor.h - UIImage.h - UIImageView.h - UIImagePickerController.h * [xharness] Re-enable the watchOS tests. (#2534) It works fine for me locally, so let's see what Jenkins says. * [macos] Add new APIs in CoreWlan from Xcode9b3 (#2525) * Update AppKit bindings based on radar 33271241 results (#2518) * Update AppKit bindings based on radar 33271241 results - The header comment was updated to note it was NSSliderTouchBarItem view that has the protocol * Remove NSUserInterfaceCompression where not listed in header * [vision] Update to beta 6 (#2532) Removal of some deprecated (during beta) `init*` selectors. Also sync the versions that were inlined in subclasses - the old ones were not removed and the new ones were not added. * [xtro-sharpie] Many methods don't have selectors in Clang's API, so default to the name if no selector. (#2523) This makes a few more unclassified entries show up (mostly missing designated initializers): https://gist.github.com/rolfbjarne/07aa20f9b50b75bf3e69ac6a825e873a * [macos] Add ExternalAccessory APIs from xcode9 (#2526) * [58851] Disable NSMenuView in AllItemsWithNSMenuShouldAllowNull (#2504) * [arkit] Update for Xcode 9 beta 5 - Part 2 (#2505) - Add last missing selector. - Add tests for manual code. * [monotouch-test] Disable FontDescriptorTest.WithFeature (#2537) Disabled because it looks like the tvOS font we use: "Gujarati Sangam MN" does not have rare ligatures anymore (and the entire test is based on it). Before getting an actual fix for that, let's disable the test so it doesn't break all current builds. See: https://bugzilla.xamarin.com/show_bug.cgi?id=58929 * [xtro-sharpie] Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute. (#2524) Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute to calculate the native name for a TypeDefinition. Unclassified changes: https://gist.github.com/rolfbjarne/828f8ee41eebb0a3b60a38d71822fe59 * [foundation/uikit] Inline NSItemProvider_UIKitAdditions in NSItemProvider (#2538) As suggested here: https://github.com/xamarin/xamarin-macios/pull/2527#discussion_r134670981 * [intents] Fix breaking changes (api-diff) (#2543) Additions of @required members inside `INSpeakable` cannot be `[Abstract]` * [contacts] Fix breaking change (api-diff) (#2542) Type Changed: Contacts.CNPostalAddress Removed method: public static string LocalizeProperty (CNPostalAddressKeyOption option); * [macos] Reenable static registrar since Xcode9b6 un-broke SDK headers (#2544) - Fix a subtle spacing issues in PartialStaticLibrary property * [corebluetooth] Update up to beta 6 and enable it on watchOS (#2540) macOS 10.13 has finally catch up with iOS and this simplifies the bindings a bit. * [foundation] API fixes (apidiff) (#2545) 1. Let's not add new, already [Obsolete] API Type Changed: Foundation.NSDimension Added constructors: [Obsolete ("Not intended to be directly instantiated, this is an abstract class.")] public NSDimension (); 2. Fix inconsistently named API, e.g. Type Changed: Foundation.NSAttributedString Added properties: public static string[] ReadableTypeIdentifiersForItemProvider { get; } public static string[] WritableTypeIdentifiers { get; } * [pdfkit] Do not add already [Obsolete] API in new profiles (#2547) and ensure using the newer, correct API works cross-platforms iOS (before) [Obsolete ("Use 'Find (string, NSStringCompareOptions)' instead.")] public virtual PdfSelection[] Find (string text, nint options); public PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'Find (string, PdfSelection, NSStringCompareOptions)' instead.")] public virtual PdfSelection Find (string text, PdfSelection selection, nint options); public void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string, NSStringCompareOptions)' instead.")] public virtual void FindAsync (string text, nint options); public void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string [], NSStringCompareOptions)' instead.")] public virtual void FindAsync (string[] text, nint options); iOS (after) public virtual PdfSelection[] Find (string text, Foundation.NSStringCompareOptions compareOptions); public virtual PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); * Bump versions for the 7th preview (#2541) * Remove additions of AVKit removed in beta5 (#2536) * NSUrlSessionTask should implement NSProgressReporting for iOS (#2548) NSUrlSessionTask implements NSProgressReporting on iOS as well as Mac, so the #if MONOMAC isn't needed. * Add missing availability attributes causing failures on older iOS versions (#2550) * [vision] Minor fix wrt xtro (#2551) including some things we need to ignore manually !missing-field! VNVisionVersionNumber not bound !missing-pinvoke! VNImagePointForFaceLandmarkPoint is not bound !missing-pinvoke! VNNormalizedFaceBoundingBoxPointForLandmarkPoint is not bound * [uikit] NSFileProviderMessaging was removed in beta 2. Fixes #58222 (#2552) reference: https://bugzilla.xamarin.com/show_bug.cgi?id=58222 * [uikit] Update for Xcode 9 - Part 5 (#2546) Bindings for the following headers: - UIActivity.h - UIActivityItemProvider.h - UIAlertController.h - UIApplication.h - UIBarButtonItem.h - UIButton.h - UICollectionViewLayout.h - UIColor.h - UIControl.h - UIDocumentMenuViewController.h - UIFontMetrics.h - UIGestureRecognizer.h - UIGraphicsImageRenderer.h - UIInputViewController.h * [CoreText] Fix an extraneous free in CTFont.GetDefaultCascadeList. (#2555) We do not own the return value from CFArrayGetValueAtIndex, so don't say we do when creating CTFontDescriptor instances, since that leads to angry dragons: 2017-08-28 20:15:20.293 monotouchtest[33186:2311738] A_FontTest 2017-08-28 20:15:20.294 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithFontDescriptorAndOptions 2017-08-28 20:15:20.295 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithNameAndOptions 2017-08-28 20:15:20.296 monotouchtest[33186:2311738] critical: Stacktrace: at <unknown> <0xffffffff> at (wrapper managed-to-native) CoreText.CTFont.CTFontCopyDefaultCascadeListForLanguages (intptr,intptr) [0x0000a] in <ae65a2b1eea242d2b68fe784749543bf>:0 at CoreText.CTFont.GetDefaultCascadeList (string[]) [0x00013] in /work/maccore/xcode9/xamarin-macios/src/CoreText/CTFont.cs:2185 at MonoTouchFixtures.CoreText.A_FontTest.GetCascadeList () [0x0001e] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/CoreText/FontTest.cs:78 at (wrapper runtime-invoke) object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) [0x0004f] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) System.Reflection.MonoMethod.InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&) [0x00016] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at System.Reflection.MonoMethod.Invoke (object,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo) [0x00032] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/corlib/System.Reflection/MonoMethod.cs:305 at System.Reflection.MethodBase.Invoke (object,object[]) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/referencesource/mscorlib/system/reflection/methodbase.cs:229 at NUnit.Framework.Internal.Reflect.InvokeMethod (System.Reflection.MethodInfo,object,object[]) [0x00009] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Reflect.cs:215 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunNonAsyncTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x00025] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:116 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x0001a] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:90 at NUnit.Framework.Internal.Commands.TestMethodCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:66 at NUnit.Framework.Internal.Commands.SetUpTearDownCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00007] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/SetUpTearDownCommand.cs:84 at NUnit.Framework.Internal.WorkItems.SimpleWorkItem.PerformWork () [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/SimpleWorkItem.cs:64 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at MonoTouch.NUnit.UI.BaseTouchRunner.Run (NUnit.Framework.Internal.Test) [0x0004d] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:442 at MonoTouch.NUnit.UI.BaseTouchRunner.Run () [0x00030] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:171 at MonoTouch.Dialog.StringElement.Selected (MonoTouch.Dialog.DialogViewController,UIKit.UITableView,Foundation.NSIndexPath) [0x00008] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/Elements.cs:765 at MonoTouch.Dialog.DialogViewController.Selected (Foundation.NSIndexPath) [0x00026] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:577 at MonoTouch.Dialog.DialogViewController/Source.RowSelected (UIKit.UITableView,Foundation.NSIndexPath) [0x00016] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:402 at (wrapper runtime-invoke) <Module>.runtime_invoke_void__this___object_object (object,intptr,intptr,intptr) [0x0005d] in <32f0c196c5bc4aa18daea2ee64a7814e>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) UIKit.UIApplication.UIApplicationMain (int,string[],intptr,intptr) [0x0005c] in <ae65a2b1eea242d2b68fe784749543bf>:0 at UIKit.UIApplication.Main (string[],intptr,intptr) [0x00005] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:79 at UIKit.UIApplication.Main (string[],string,string) [0x00038] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:63 at monotouchtest.Application.Main (string[]) [0x00011] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/Main.cs:27 at (wrapper runtime-invoke) <Module>.runtime_invoke_void_object (object,intptr,intptr,intptr) [0x00051] in <30a7f7e09de9467b8b454221034a0e38>:0 Native stacktrace: 0 monotouchtest 0x000000010fca03c4 mono_handle_native_crash + 244 1 monotouchtest 0x000000010fcadd30 mono_sigsegv_signal_handler + 288 2 libsystem_platform.dylib 0x000000011feb3b3a _sigtramp + 26 3 CoreFoundation 0x000000011de035a2 computeSanitizedString + 146 4 CoreText 0x00000001168df314 _ZN15TPurgeableCache19RetainedValueForKeyEPKv + 54 5 CoreText 0x00000001168def85 _ZNK17TDescriptorSource22CopyDescriptorUncachedEPK7__CFURLbPK10__CFString + 55 6 CoreText 0x00000001168df34f _ZNK17TDescriptorSource14CopyDescriptorEPK7__CFURLbPK10__CFString + 27 7 CoreText 0x00000001168e20ad _ZNK17TDescriptorSource35CopyFontDescriptorPerPostScriptNameEPK10__CFStringmm + 297 8 CoreText 0x00000001168dfd9e _ZNK17TDescriptorSource30CopySystemFontDescriptorByNameEPK10__CFString10UIFontFlag + 54 9 CoreText 0x00000001168e54c4 _ZNK14TFontFallbacks17CopyFontFallbacksEPK10__CFStringS2_PK9__CFArray + 652 10 CoreText 0x00000001168e4a00 _ZNK14TFontFallbacks29CopyFontFallbacksForLanguagesEPK10__CFStringPK9__CFArray + 122 11 CoreText 0x00000001168e4971 _ZN17TDescriptorSource39CopyDefaultSubstitutionListForLanguagesEPK10__CFStringPK9__CFArray + 61 12 CoreText 0x00000001169397a7 _ZNK9TBaseFont28CreateSystemDefaultFallbacksEPK10__CFStringPK9__CFArray + 51 13 CoreText 0x000000011693999c _ZNK9TBaseFont15CreateFallbacksE10UIFontFlagPPK16__CFCharacterSetPK9__CFArray + 346 14 CoreText 0x00000001168c1036 _ZNK5TFont24CreateDefaultCascadeListEPK9__CFArray + 242 15 CoreText 0x00000001168b8ff9 CTFontCopyDefaultCascadeListForLanguages + 97 16 ??? 0x0000000140eaefd3 0x0 + 5384105939 17 ??? 0x0000000140eae761 0x0 + 5384103777 18 ??? 0x000000013c9c8e74 0x0 + 5311860340 19 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 20 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 21 monotouchtest 0x000000010fd71bac mono_runtime_try_invoke_array + 1292 22 monotouchtest 0x000000010fd15587 ves_icall_InternalInvoke + 647 23 ??? 0x000000013e9fcd13 0x0 + 5345627411 24 ??? 0x000000013e9fc738 0x0 + 5345625912 25 ??? 0x000000013e9fded5 0x0 + 5345631957 26 ??? 0x000000013e9fbb76 0x0 + 5345622902 27 ??? 0x000000013e9e237e 0x0 + 5345518462 28 ??? 0x000000013e9e237e 0x0 + 5345518462 29 ??? 0x000000013e9e237e 0x0 + 5345518462 30 ??? 0x000000013e9e237e 0x0 + 5345518462 31 ??? 0x000000013e873006 0x0 + 5344014342 32 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 33 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 34 monotouchtest 0x000000010fd6e320 mono_runtime_invoke + 208 35 monotouchtest 0x000000010fe71af1 xamarin_invoke_trampoline + 5617 36 monotouchtest 0x000000010fe79ddd xamarin_arch_trampoline + 189 37 monotouchtest 0x000000010fe7b1a1 xamarin_x86_64_common_trampoline + 110 38 UIKit 0x0000000111b9876b -[UITableView _selectRowAtIndexPath:animated:scrollPosition:notifyDelegate:] + 1810 39 UIKit 0x0000000111b98986 -[UITableView _userSelectRowAtPendingSelectionIndexPath:] + 344 40 UIKit 0x0000000111a6b5c9 _runAfterCACommitDeferredBlocks + 318 41 UIKit 0x0000000111a59dad _cleanUpAfterCAFlushAndRunDeferredBlocks + 280 42 UIKit 0x0000000111a89f68 _afterCACommitHandler + 137 43 CoreFoundation 0x000000011de3ddb7 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23 44 CoreFoundation 0x000000011de3dd0e __CFRunLoopDoObservers + 430 45 CoreFoundation 0x000000011de22324 __CFRunLoopRun + 1572 46 CoreFoundation 0x000000011de21a89 CFRunLoopRunSpecific + 409 47 GraphicsServices 0x0000000121b7e9c6 GSEventRunModal + 62 48 UIKit 0x0000000111a5f7d0 UIApplicationMain + 159 49 ??? 0x000000013c9c4474 0x0 + 5311841396 50 ??? 0x000000013c9c40ad 0x0 + 5311840429 ================================================================= Got a SIGSEGV while executing native code. This usually indicates a fatal error in the mono runtime or one of the native libraries used by your application. ================================================================= * [monotouch-test] Don't subclass MKMapView. (#2556) MKMapView doesn't like being subclassed (Apple says "you should not subclass the MKMapView class itself"). Bad things like this starts happening: Thread 0 name: tid_303 Dispatch queue: com.apple.main-thread Thread 0 Crashed: 0 libsystem_kernel.dylib 0x0000000186b25348 __pthread_kill + 8 1 libsystem_pthread.dylib 0x0000000186c39354 pthread_kill$VARIANT$mp + 396 2 libsystem_c.dylib 0x0000000186a94fd8 abort + 140 3 monotouchtest 0x0000000101c02c14 mono_handle_native_crash + 22047764 (mini-exceptions.c:2548) 4 monotouchtest 0x0000000101c0d02c mono_sigsegv_signal_handler + 22089772 (mini-runtime.c:2886) 5 libsystem_platform.dylib 0x0000000186c33b60 _sigtramp + 52 6 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 7 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 8 CoreFoundation 0x0000000186eda51c -[__NSArrayM dealloc] + 68 9 CoreFoundation 0x000000018703f5c8 __CFBasicHashDrain + 312 10 CoreFoundation 0x0000000186fb5b44 _CFRelease + 224 11 CoreText 0x000000018a808404 TDescriptorSource::PurgeFontFallbacksCache+ 488452 () + 92 12 CoreText 0x000000018a808374 TDescriptorSource::PurgeFromCaches+ 488308 (__CFURL const*) const + 176 13 CoreText 0x000000018a7eec74 CTFontRemoveFromCaches + 168 14 VectorKit 0x0000000196a539b0 +[VKSharedResourcesManager removeResourceUser:] + 324 15 VectorKit 0x0000000196ca27a4 md::MapEngine::~MapEngine+ 2643876 () + 360 16 VectorKit 0x0000000196ca2634 md::MapEngine::~MapEngine+ 2643508 () + 12 17 libobjc.A.dylib 0x000000018651eef4 object_cxxDestructFromClass+ 28404 (objc_object*, objc_class*) + 148 18 libobjc.A.dylib 0x000000018652c638 objc_destructInstance + 88 19 libobjc.A.dylib 0x000000018652c690 object_dispose + 16 20 QuartzCore 0x000000018afca3ac -[CALayer dealloc] + 116 21 VectorKit 0x0000000196a43294 -[VKMapView dealloc] + 940 22 QuartzCore 0x000000018af6aafc CA::release_objects+ 744188 (X::List<void const*>*) + 32 23 QuartzCore 0x000000018afd97d8 CA::Layer::~Layer+ 1198040 () + 276 24 QuartzCore 0x000000018afca37c -[CALayer dealloc] + 68 25 QuartzCore 0x000000018af6b16c CA::Transaction::commit+ 745836 () + 1052 26 UIKit 0x0000000190393290 _afterCACommitHandler + 256 27 CoreFoundation 0x0000000186fb38b8 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 32 28 CoreFoundation 0x0000000186fb1270 __CFRunLoopDoObservers + 412 29 CoreFoundation 0x0000000186fb182c __CFRunLoopRun + 1292 30 CoreFoundation 0x0000000186ed22d8 CFRunLoopRunSpecific + 436 31 GraphicsServices 0x0000000188d58f84 GSEventRunModal + 100 32 UIKit 0x000000019040427c UIApplicationMain + 208 33 monotouchtest 0x000000010106eb90 wrapper_managed_to_native_UIKit_UIApplication_UIApplicationMain_int_string___intptr_intptr + 9907088 (/<unknown>:1) 34 monotouchtest 0x0000000100f0d6ac UIKit_UIApplication_Main_string___intptr_intptr + 8459948 (UIApplication.cs:79) 35 monotouchtest 0x0000000100f0d66c UIKit_UIApplication_Main_string___string_string + 8459884 (UIApplication.cs:63) 36 monotouchtest 0x0000000100b10450 monotouchtest_Application_Main_string__ + 4277328 (Main.cs:27) 37 monotouchtest 0x0000000100e0c244 wrapper_runtime_invoke_object_runtime_invoke_dynamic_intptr_intptr_intptr_intptr + 244 38 monotouchtest 0x0000000101c10048 mono_jit_runtime_invoke + 22102088 (mini-runtime.c:2526) 39 monotouchtest 0x0000000101c75eec do_runtime_invoke + 22519532 (object.c:2829) 40 monotouchtest 0x0000000101c78a3c do_exec_main_checked + 22530620 (object.c:4623) 41 monotouchtest 0x0000000101bf9a1c mono_jit_exec + 22010396 (driver.g.c:1040) 42 monotouchtest 0x0000000101d13d60 xamarin_main + 23166304 (monotouch-main.m:482) 43 monotouchtest 0x00000001007de710 main + 927504 (main.m:67) 44 libdyld.dylib 0x00000001869f656c start + 4 * [introspection] Let SkipDueToAttributeInProperty skip setters too (#2557) `SkipDueToAttributeInProperty` which is used to check the availability attribute of properties when the Availability info only exist on the property and not on the property Getter or Setter was wrong. This lead to `setSpringLoaded` (which was introduced in iOS 11) to not be ignored by the test (making it fail). - Fix bug #59085: [introspection-ios] selector not found for UIKit.UIBarButtonItem : setSpringLoaded: - Broken test (https://bugzilla.xamarin.com/show_bug.cgi?id=59085) * [corevideo][watchos] Enable CoreVideo on watchOS (#2553) * [storekit] Fix CampaignToken typo (#2559) (#2560) - Fixes bug #59078: StoreProductParameters and invalid property for CampaignToken (https://bugzilla.xamarin.com/show_bug.cgi?id=59078) * [coreml][watchos] Enable API using CoreVideo on watchOS. Fix #58097 (#2561) https://bugzilla.xamarin.com/show_bug.cgi?id=58097 * Add missing [MarshalDirective] attributes. (#2558) * [bindings-generator] Improve build & project file. * Add missing [MarshalDirective] attributes. Add missing [MarshalDirective] attributes, which also requires implementing support for out parameters in the binding generator, since one of the signatures missing the [MarshalDirective] contains such an out parameter. Also add tests for all the API I've added [MarshalDirective] to. * [bindings-generator] Remove redundant if check. * [monotouch-test] Rename file to end with 'Test.cs'. * [tests] Fix a few build errors for Xamarin.Mac. * [uikit] Fix UIColor and UIInputViewController tvOS availability (#2569) - Fixes introspection tests on tvOS 10. * [storekit] Fix SKCloudServiceSetupMessageIdentifier and SKProductStorePromotionController tvOS availability (#2568) - Fixes introspection tests on tvOS 10. * [mapkit] Fix MKMapItemTypeIdentifier tvOS availability (#2566) - Also remove double [Mac] availability attribute. - Fixes introspection tests on tvOS 10. * [ARKit] Fix marshalling for ARPointCloud.RawFeaturePoints. (#2565) ARPointCloud.RawFeaturePoints is an array of Vector3, but each vector is 16-byte aligned (as if it were an array of Vector4). This means we need to account for this when creating a managed array from pointer to the native C-style array. * [ModelIO] Fix MDLVoxelIndexExtent struct. (#2564) The MDLVoxelIndexExtent is a struct containing two 4-dimensional vectors of integers (not floats, as originally and incorrectly implemented). Fix this my creating a new MDLVoxelIndexExtent2 struct with the right fields, re-implement all the API that exposes this struct and obsolete the old API. Also add missing [MarshalDirective] attributes. And write a test to make sure it works fine now and forever. * [coredata] Enable new fields since rdar #33878590 is fixed w/beta 6 (#2570) reference: https://trello.com/c/dlSRYPFx * [xtro-sharpie] Add a Simd check class to verify signatures with Simd types. * [Simd] Add simd matrix types. The OpenTK matrices (Matrix2/3/4) has a different memory layout than Apple's matrix_float2x2/matrix_float3x3/matrix_float4x4 matrices: the OpenTK versions are row-major, while Apple's versions are column-major. This means that when blitting memory from one to the other, the matrix will appear to have been transposed. See bug #[58599][2] for an example. Unfortunately we've already bound several API with Apple's matrix_floatXxX matrices using OpenTK's matrices, and although they're bound wrong, and the matrices appear transposed on input/output, we can't change the behavior because we have to maintain compatibility. This means we have to introduce new API, and then also just define new matrix types with the right memory layout (column-major). Additionally, in the future we might be able to mark these matrices as Simd-matrixes, so that the JIT/AOT compiler can generate the correct alignment for them, avoiding having to define a native conversion method (using the [MarshalDirective] hack). The matrices have been designed to match API-wise the matrices in the System.Numerics.Vectors namespace [1], but for the moment with only a few basic operations implemented (Determinant/Transpose/Multiply) defined (we can always add more later if we want to). In addition explicit conversion operators to and from the corresponding OpenTK.MatrixX are implemented, which means any operation defined in the OpenTK matrices can be used by converting back and forth. [1]: https://msdn.microsoft.com/en-us/library/system.numerics.matrix4x4(v=vs.111).aspx [2]: https://bugzilla.xamarin.com/show_bug.cgi?id=58599 * [ARKit] Use the new Simd matrix types. * [Vision] Use the new Simd matrix types. * [ModelIO] Use the new Simd-compatible matrix types, and deprecate the old API. * [GameplayKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [SpriteKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [xtro] Don't report missing [MarshalDirective] for obsolete methods. * [xtro] Remove unnecessary ignores. The implementation changed, and these stayed accidentally. * [wkwebkit] Fix (native) protocol names (#2572) Also ignore xtro's WKSnapshotConfiguration since it's an Apple bug 34185961 reference (xtro) !missing-protocol! WKURLSchemeHandler not bound !missing-protocol! WKURLSchemeTask not bound !unknown-protocol! WKUrlSchemeHandler bound !unknown-protocol! WKUrlSchemeTask bound !unknown-type! WKSnapshotConfiguration bound * [uikit] Fix enums availability attributes (#2575) - Fixes bug #59132: [uikit] Extra types in watchOS (https://bugzilla.xamarin.com/show_bug.cgi?id=59132) * [watchkit] Add missing designated initializers (#2574) references (xtro) !missing-designated-initializer! WKInterfaceController::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! WKUserNotificationInterfaceController::init is missing an [DesignatedInitializer] attribute * [xtro] Reword some of the Simd diagnostic messages according to review. * [tests] Make sure test symbols don't clash between different test libraries. Fixes this build problem for framework-test: clang: error: linker command failed with exit code 1 (use -v to see invocation) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_get_rotation_matrix'. MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticObjectTest.framework/XStaticObjectTest (Location related to previous error) MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticArTest.framework/XStaticArTest(libtest-ar.x86_64.o) (Location related to previous error) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransformcomponent_get_local_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_create_global_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float4x4'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float3x3'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float2x2'. MTOUCH: error MT5209: Native linking error: 6 duplicate symbols for architecture x86_64 MTOUCH: error MT5202: Native linking failed. Please review the build log. * [tests] Since libtest.a need ModelIO now, the corresponding LinkWith attributes need to state that too. * [introspection] Don't check native signatures on obsolete members, and ignore the right simd matrix types. Fixes this introspection/Mac problem: ***** ApiSignatureTest.NativeSignatures Selector: uniformWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: uniformWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: uniformWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: setMatrixFloat2x2Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: setMatrixFloat3x3Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: setMatrixFloat4x4Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: initWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: initWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: initWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded * [monotouch-tests] Include more custom asserts for watchOS to make the build work. Fixes this: Simd/MatrixFloat4x4Test.cs(28,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(29,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(37,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(48,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' [...] * [monotouch-test] Exclude code that requires the binding project from xammac tests. Exclude code that requires the test binding project from xammac tests because there's currently no XM version of the test binding project. Fixes this: tests/monotouch-test/SpriteKit/UniformTest.cs(20,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLMaterialProperty.cs(37,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLTransform.cs(34,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) * Bump version for preview #8 (#2576) * [spritekit] Audit fixes (xtro) (#2577) 1. SKVideoNode is now, partially, available on watchOS and does not require the extra, manual code to swicth selectors depending on the OS version being run. !missing-type! SKVideoNode not bound !missing-selector! SKVideoNode::anchorPoint not bound !missing-selector! SKVideoNode::initWithCoder: not bound !missing-selector! SKVideoNode::initWithFileNamed: not bound !missing-selector! SKVideoNode::initWithURL: not bound !missing-selector! SKVideoNode::setAnchorPoint: not bound !missing-selector! SKVideoNode::setSize: not bound !missing-selector! SKVideoNode::size not bound !missing-selector! +SKVideoNode::videoNodeWithFileNamed: not bound !missing-selector! +SKVideoNode::videoNodeWithURL: not bound 2. SKNodeFocusBehavior is exposed needlessly on watchOS because SpriteKit/Enums.cs was not processed by the generator, so [NoWatch] did not matter. !unknown-native-enum! SKNodeFocusBehavior bound It's also visible on macOS but nothing uses it (so we do not expose it needlessly) !missing-enum! SKNodeFocusBehavior not bound 3. Add missing designated initializer on default `init` !missing-designated-initializer! SKAttributeValue::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! SKNode::init is missing an [DesignatedInitializer] attribute 4. Remove inconsistency for SKNode subclasses wrt XAMCORE_4_0 The trio attributeValues, setAttributeValues and setValue:forAttributeNamed: that was moved from SKNode (deprecated) into its subclasses. This was done using XAMCORE_4_0 but not on every subclasses. This adds them everywhere to be consistent (only SKNode versions are not defined in XAMCORE_4_0) !missing-selector! SKEffectNode::attributeValues not bound !missing-selector! SKEffectNode::setAttributeValues: not bound !missing-selector! SKEffectNode::setValue:forAttributeNamed: not bound !missing-selector! SKEffectNode::valueForAttributeNamed: not bound !missing-selector! SKEmitterNode::attributeValues not bound !missing-selector! SKEmitterNode::setAttributeValues: not bound !missing-selector! SKEmitterNode::setValue:forAttributeNamed: not bound !missing-selector! SKEmitterNode::valueForAttributeNamed: not bound !missing-selector! SKSpriteNode::attributeValues not bound !missing-selector! SKSpriteNode::setAttributeValues: not bound !missing-selector! SKSpriteNode::setValue:forAttributeNamed: not bound !missing-selector! SKSpriteNode::valueForAttributeNamed: not bound * [introspection] Make sure '[FAIL]' is printed before every failure. (#2578) This makes xharness able to list the failures in the inline summary. * [xtro] Reword some of the Simd diagnostic messages according to review. * [xharness] Add a missing IsServerMode check to generate correct html. (#2581) * [SpriteKit] SKTransformNode is new in Xcode 9 so no need to keep the broken (and obsolete) non-simd version of RotationMatrix. * [intents] Fix some (partial) xtro issues and #59156 (#2585) reference https://bugzilla.xamarin.com/show_bug.cgi?id=59156 Remaining issues are filled in https://bugzilla.xamarin.com/show_bug.cgi?id=59183 !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound * [Intents] Confirm* interface methods should be bound as Confirm, Fixes Bug 59164 (#2591) * [Intents] Confirm* interface methods should probably be bound as Confirm, Fixes Bug 59164 https://bugzilla.xamarin.com/show_bug.cgi?id=59164 All Confirm* methods from *IntentHandling interfaces should be named just `Confirm` to avoid confusion because most of them do not directly confirm as an acion, but instead they **ask** for confirmation also we would follow swift's naming by doing this. * [Intents] XAMCORE_4_0 all Confirm* methods from *IntentHandling Turns any Confirm* into just Confirm inside a XAMCORE_4_0 block, * [Intents] Fix breaking changes in Intents added in Xcode 9 Bindings (#2590) Apple added more protocol conformances to INRidesharingDomainHandling and INPaymentsDomainHandling protocols in Xcode 9, I introduced these breaking changes back when I did intents binding so fixing them :) * [Metal] New bindings from Xcode 9 betas (#2457) * [AVFoundation] Updated bindings for xcode9. (#2272) * [Xcode9] Add IOSurface bindings (#2363) * This framework was a private framework before iOS 11. This framework was a private framework before iOS 11, yet the headers claim many API were introduced in iOS 10. So take account of this difference by using the private framework location in iOS 10.3 or earlier. Testing these API from Xcode works fine when run on an iOS 10.3 device, and I've confirmed the IOSurface framework is loaded from the private frameworks path on older devices (and when built using Xcode 9 and linked with the public framework path). * Disable code to make IOSurface work on iOS 10. Disable the code to make IOSurface work on iOS 10, since it may be rejected by the App Store. This also means adjusting the availability attributes, so that the introspection tests pass (and to document that technically these API won't work when used with Xamarin.iOS in iOS 10). I've filed bug #[59201][1] to keep track of this, maybe we can re-enable this later. [1]: https://bugzilla.xamarin.com/show_bug.cgi?id=59201 * [CoreMedia] Fix leak in CMAttachmentBearer.GetAttachments. (#2593) The caller owns the return value from CMCopyDictionaryOfAttachments, so tell Runtime.GetNSObject that. * [Intents] Adds missing API found by xtro, fixes Bug 59183 (#2596) https://bugzilla.xamarin.com/show_bug.cgi?id=59183 Fixes !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !incorrect-protocol-member! INUIHostedViewControlling::configureWithInteraction:context:completion: is OPTIONAL and should NOT be abstract * [xtro] Fix StartWorkingDirectory to enable debugging (#2598) * [iosurface] Enable for tvOS and XM classic (to avoid multiple defines around consumer API) (#2597) * [xtro] Fix EnumCheck (#2600) * [ARKit] Rename a few method to make them nicer. (#2604) * DisplayTransform -> GetDisplayTransform since methods should have verbs. * SessionWasInterrupted -> WasInterrupted and SessionInterruptionEnded -> InterruptionEnded since these names match better with the other names (CameraDidChangeTrackingState / DidFail / DidOutputAudioSampleBuffer: none are prefixed with 'Session'). Additionally, the type is a Model (for the delegate pattern), which means all methods are more-or-less event-like, and the first argument is always the same (the protocol itself), which is another indicator the methods should be named similarly. * [Foundation] Remove 'Key' suffix from some fields. (#2606) Of the 168 fields in NSMetadataItem, only these 5 hadn't removed the 'Key' suffix. So make them all equivalent by removing the 'Key' suffix from these 5 fields. * [ImageIO] Fix API to not duplicate the instance in instance methods. (#2609) An instance method does not need to take the instance as a parameter, so remove the first (instance) parameter for CGImageDestination.AddAuxiliaryDataInfo and CGImageSource.CopyAuxiliaryDataInfo. An alternative solution would be to make the methods static, but I like the instance API better. * [UIKit] De-model UIDataSourceTranslating. (#2603) It's not clear from neither the documentation nor the headers how this protocol is supposed to be used, and since it doesn't correspond to the delegate pattern, remove the [Model] attribute for now. We can always add it back later. * [CoreML] Improve API. (#2592) * [CoreML] Improve API. * The indices, shape and stride properties for MLMultiArray and MLMultiArrayConstraint can logically only be arrays of integers, so type them as such. This means adding overloads for MLMultiArray's constructors, GetObject and SetObject methods, and the indexers that takes nint[] arrays instead of NSNumber[] arrays. * Change MLFeatureValue's static factory methods to be a method ('Create') instead of a preposition, and call all the different factory methods the same, since they can be overloaded nicely. * [tests][monotouch-test] Add version check to MLMultiArrayTest and make sure the arrays we create are big enough for the data we put in them. * [tests][monotouch-test] MLMultiArray's elements aren't zero-initialized, so don't assume that in the tests. * Support overloading Objective-C methods based on static/instance. (#2607) Two Objective-C methods can be named identically as long as one is static and the other instance. We must support this since Apple did just this (in the NSItemProviderReading / NSItemProviderWriting protocols). We solve it by prepending a '+' or '-' to the selector when hashing it (to determine selector uniqueness, and to look the method up again at runtime). * [uikit] Update for Xcode 9 - Part 6 (#2602) NSAttributedString.h NSFileProviderExtension.h NSLayoutAnchor.h UIAccessibility.h UIAccessibilityAdditions.h UIAccessibilityContainer.h UIAccessibilityContentSizeCategoryImageAdjusting.h UIAccessibilityCustomRotor.h UIAccessibilityLocationDescriptor.h UITabBar.h UINavigationBar.h UIScreen.h * Xcode9 scenekit (#2512) * [SceneKit] basic work * Added key * [xcode9] SCNCameraController * [xcode9] SCNCamera updates * [xcode9] SCNMaterial * [xcode9] SCNGeometryTessellator, SCNCameraControlConfiguration, SCNView, small bits * Add trailing commas to last enum value * Remove whitespace noise * [scenekit] Update deprecated attributes messages * Addresses some of Rolf's feedback * Drop the WeakDelegate in SCNCameraController * Rename method to Render, remove ctor from class that can not be constructed in Palygrounds, add typo exception * [AppKit] Rename NSBezierPath.AppendBezierPathWithCGGlyph to match its sibling methods. (#2605) NSBezierPath contains a lot of 'AppendPathWithXXX' methods, that all map to 'appendBezierPathXXX' selectors. So rename AppendBezierPathWithCGGlyph accordingly, to make it more similar to the other methods in the same type. * [uikit] Add all UISpringLoadedInteractionSupporting (#2616) Types do not conform to the protocol but protocol methods work on those types (see monotouch-test). Fixed introspection tests accordingly and tested the selectors in monotouch-test. * [Intents] Add convenience ctor overload and call correct base ctor in manual ctor. (#2613) Add a convenience constructor overload in INGetUserCurrentRestaurantReservationBookingsIntent that uses nint instead of NSNumber, since logically "number of results" will always be some sort of integer. Also call the correct base constructor in INSpeakableString's custom constructor (same as any other generated constructor). Otherwise we end up doing something like this: [[[INSpeakableString alloc] init] initWith ...], i.e. calling two different init methods. * [coreimage] Add new headers API up to beta 6 (#2601) Filters are not complete (ref: #57350) https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * Some new constants are not yet documented (type is known), so they are commented / ignored https://bugzilla.xamarin.com/show_bug.cgi?id=59296 * Filled bug for [Wrap] inside [Category] so strong dictionary helpers can be re-enabled later https://bugzilla.xamarin.com/show_bug.cgi?id=59294 * [foundation] xtro fixes for watchOS (#2586) !missing-enum! NSProcessInfoThermalState not bound !missing-field! NSProcessInfoThermalStateDidChangeNotification not bound !missing-selector! NSProcessInfo::thermalState not bound Headers are wrong and preferredPresentationStyle is not in tvOS and watchOS !missing-selector! NSItemProvider::preferredPresentationStyle not bound !missing-selector! NSItemProvider::setPreferredPresentationStyle: not bound * [uikit] Also remove UIPreferredPresentationStyle enum from platform where it's not used * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. (#2614) * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. * NSItemProviderWriting: * NSItemProviderReading: Implement correctly and completely by uncommenting commented out code. * NSMutableString: * NSAttributedString: remove inlined members, since these classes don't implement NSItemProviderReading / NSItemProviderWriting (according to the headers at least). * NSUrl: all platforms now seem to implement NSItemProviderReading / NSItemProviderWriting. * NSString: all platforms now seem to implement both NSItemProviderReading and NSItemProviderWriting * UIColor: * UIImage: Update inlined protocol members according to the latest beta. Additionally, due to the following conditions: * The protocols all have the correct members now. * In the API definition we tell the generator to inline members from a protocol by inheriting from the corresponding interface. * The generator doesn't inline static members from protocols. several 'new' keywords had to be added to silence a compiler warning that occurrs when we manually inline a static member, since the member would be included in the type both from the inherited interface and the manual implementation. * [Foundation] Comment out NSItemProviderWriting.GetItemProviderVisibility to avoid inlining/generating unusable methods. NSItemProviderWriting.GetItemProviderVisibility is an optional method, and none of the native classes that implements NSItemProviderWriting actually imlements the method. This means inlining the method in those classes ends up creating unusable API; so just comment out the method to avoid generating the unusable API. The introspection tests found this: [FAIL] Foundation.NSString : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Foundation.NSUrl : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Contacts.CNContact : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] MapKit.MKMapItem : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIColor : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIImage : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] iOSApiSelectorTest.ApiSelectorTest.StaticMethods : 6 errors found in 2348 static selector validated: See also https://bugzilla.xamarin.com/show_bug.cgi?id=59308 * [iosurface] Add missing [TV] attributes (#2619) * [opengles] Enable the new API using IOSurface (#2618) The symbol only exists inside device libraries, not on simulator, and the introspection tests were updated to ignore it. Part of https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [avfoundation][watchos] Enable AudioBufferList (fix #59145) + audit (xtro) (#2617) 1. AudioBufferList is part of CoreAudio (wrong namespace, which needs a few changes in the generator) and now available in watchOS 4 https://bugzilla.xamarin.com/show_bug.cgi?id=59145 2. Also fixes xtro found issues: !missing-type! AVAudioRecorder not bound !missing-selector! AVAudioRecorder::averagePowerForChannel: not bound !missing-selector! AVAudioRecorder::channelAssignments not bound !missing-selector! AVAudioRecorder::currentTime not bound !missing-selector! AVAudioRecorder::delegate not bound !missing-selector! AVAudioRecorder::deviceCurrentTime not bound !missing-selector! AVAudioRecorder::format not bound !missing-selector! AVAudioRecorder::initWithURL:format:error: not bound !missing-selector! AVAudioRecorder::initWithURL:settings:error: not bound !missing-selector! AVAudioRecorder::isMeteringEnabled not bound !missing-selector! AVAudioRecorder::isRecording not bound !missing-selector! AVAudioRecorder::peakPowerForChannel: not bound !missing-selector! AVAudioRecorder::recordAtTime: not bound !missing-selector! AVAudioRecorder::recordAtTime:forDuration: not bound !missing-selector! AVAudioRecorder::recordForDuration: not bound !missing-selector! AVAudioRecorder::setChannelAssignments: not bound !missing-selector! AVAudioRecorder::setDelegate: not bound !missing-selector! AVAudioRecorder::setMeteringEnabled: not bound !missing-selector! AVAudioRecorder::settings not bound !missing-selector! AVAudioRecorder::url not bound !missing-protocol! AVAudioRecorderDelegate not bound !missing-selector! AVAudioEngine::inputNode not bound !missing-selector! AVAudioEngine::manualRenderingBlock not bound !missing-selector! AVAudioInputNode::setManualRenderingInputPCMFormat:inputBlock: not bound !missing-selector! AVAudioPlayer::format not bound !missing-selector! AVAudioSession::requestRecordPermission: not bound !unknown-field! AVFileType3GPP bound !unknown-field! AVFileType3GPP2 bound !unknown-field! AVFileTypeAC3 bound !unknown-field! AVFileTypeAIFC bound !unknown-field! AVFileTypeAIFF bound !unknown-field! AVFileTypeAMR bound !unknown-field! AVFileTypeAVCI bound !unknown-field! AVFileTypeAppleM4A bound !unknown-field! AVFileTypeAppleM4V bound !unknown-field! AVFileTypeCoreAudioFormat bound !unknown-field! AVFileTypeDNG bound !unknown-field! AVFileTypeEnhancedAC3 bound !unknown-field! AVFileTypeHEIC bound !unknown-field! AVFileTypeHEIF bound !unknown-field! AVFileTypeJPEG bound !unknown-field! AVFileTypeMPEG4 bound !unknown-field! AVFileTypeMPEGLayer3 bound !unknown-field! AVFileTypeQuickTimeMovie bound !unknown-field! AVFileTypeSunAU bound !unknown-field! AVFileTypeTIFF bound !unknown-field! AVFileTypeWAVE bound * [Metal] Implement API using IOSurface now that IOSurface is implemented. Partially fixes #58054. (#2621) https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [PdfKit] Improve PdfAnnotation.QuadrilateralPoints binding by making it strongly typed. (#2620) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). (#2622) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). * [ARKit/Vision] Use the new simd vector types instead of the OpenTK versions. * [ModelIO] Use the new simd vectors in new API (MDLVoxelIndexExtent2). This way we won't have to create a MDLVoxelIndexExtent3 in the future. * [SpriteKit] Use the new simd vectors in new API. * [metal] Audit (xtro) based fixes (#2623) !extra-protocol-member! unexpected selector MTLArgumentEncoder::newArgumentEncoderForBufferAtIndex: found !extra-protocol-member! unexpected selector MTLComputeCommandEncoder::dispatchThreads:threadsPerThreadgroup: found macos-only !missing-field! MTLDeviceRemovalRequestedNotification not bound !missing-field! MTLDeviceWasAddedNotification not bound !missing-field! MTLDeviceWasRemovedNotification not bound !missing-pinvoke! MTLCopyAllDevices is not bound * [CloudKit] Update bindings to beta 6. (#2615) * [FileProvider] Turn NSFileProviderItemIdentifier enum into a static class, fixes bug 59329 (#2634) https://bugzilla.xamarin.com/show_bug.cgi?id=59329 At the time of binding NSFileProviderItemIdentifier it wasn't clear how it was supposed to be used, I mean apple provides two keys which I thought were the only possible values hence binding it as an smart enum. Unfortunately this wasn't the case and the user can use those two values provided from the SDK or their own NSString Identifier. Swift provides a wrapper unfortunately we can't do the same due to NSFileProviderItemIdentifier is used in the NSFileProviderItem protocol and we currently do not support changing signatures on them. * [mtouch] Teach mtouch about the 'IOSurface' framework for tvOS. Fixes #59333. (#2630) https://bugzilla.xamarin.com/show_bug.cgi?id=59333 * Bump Touch.Unit to get fix for API breakage. (#2631) spouliot/Touch.Unit@8f1e19d [NUnitOutputTextWriter] Reintroduce previous constructor to make sure we don't break binary ABI. spouliot/Touch.Unit@00b0c0b [NUnitOutputTextWriter] Don't write invalid xml comments. spouliot/Touch.Unit@de9fe20 [TouchRunner] Restore the original code path when not wrapping NUnit xml output. * [IOSurface] Add missing availability attributes for tvOS. (#2629) * Bump versions for preview 9 (#2624) * [AVFoundation] Add missing interface AVRouteDetector. (#2637) * [tests] Update xtro to reduce list sizes (#2636) * Skip OpenTK duplicate declaration (we can't change them); * Fix rule name change for ARKit / simd; * Add missing default initializer on `init` to pending actions; * Add note for AVPersistableContentKeyRequest changes wrt tvOS; * [ReplayKit] Make RPBroadcastActivityViewController.LoadBroadcastActivityViewController async-capable. (#2639) * [xcode9] More SceneKit bindings (#2633) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 (#2644) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 https://bugzilla.xamarin.com/show_bug.cgi?id=59380 vector_float3 is 16 bytes, which means the binding is incorrect, because Vector3 is 12 bytes, and our code does not that difference into account. * Add tests * [DeviceCheck] Disable default ctor for DCDevice. (#2642) It doesn't seem to be useful according to the documentation, since it appears that the only way to get an instance is to use the static CurrentDevice property. * [audiounit] Audit (xtro) fixes for tvOS (#2635) Availability attributes in non-generated files don't hide symbols/code. reference: !unknown-pinvoke! AudioUnitExtensionCopyComponentList bound !unknown-pinvoke! AudioUnitExtensionSetComponentList bound * [tests] Make sure tvOS tests don't use the (unexisting) API * [tests] Add all test project variations to tests-mac.sln (#2579) * [xharness] Make sure generated mac projects have different project guids. * [introspection] Change the project guid so that it doesn't match the dontlink-mac project guid. * [tests] Add all test project variations to tests-mac.sln. * [xharness] Fix else condition. * [FileProvider] Adds missing NSFileProviderPage constants, fixes bug 59297. (#2646) https://bugzilla.xamarin.com/show_bug.cgi?id=59297 Adds NSFileProviderInitialPageSortedByName and NSFileProviderInitialPageSortedByDate NSData constants * [Xcode9] Remove NSFileProviderMessage and NSFileProviderMessageInterface (#2647) APIs were removed in beta 2 * [Foundation/UIKit] Provide LoadObject[s] methods that return the expected type in the callback. Fixes #59049. (#2638) The callback for these LoadObject[s] methods take an INSItemProviderReading parameter. This tells our runtime that we must provide an instance of a managed object that implements this interface (but nothing else), so we create a `NSItemProviderReadingWrapper` instance, which complies with the API (since the wrapper type implements the corresponding interface). Unfortunately these methods are supposed to return an instance of the passed- in type, so in order to comply with this soft (documentation-only) requirement, provide a wrapper method that creates instances of the right types. https://bugzilla.xamarin.com/show_bug.cgi?id=59049 * [arkit] Ignore deprecated selectors (#2645) * [FileProvider] Adds missing protocol and keys from audit (#2652) ``` !missing-protocol! NSFileProviderServiceSource not bound !missing-field! NSFileProviderErrorCollidingItemKey not bound !missing-field! NSFileProviderErrorNonExistentItemIdentifierKey not bound !missing-field! NSFileProviderFavoriteRankUnranked not bound ``` Also adds `NSXpcListenerEndpoint` to foundation, needed by `NSFileProviderServiceSource` protocol. * [tests][xtro] Workaround xtro runner dupe entry exception and update data files (#2654) * [AVFoundation] Rename field to match others. (#2657) * [homekit] Audit (xtro) fixes (#2653) - HMCharacteristicEvent conforms to NSMutableCopying on iOS11 which makes it 64 bits only (so adjust intro tests) - Ignore extra setters on HMMutablePresenceEvent, rdar 33883958 !missing-selector! HMMutablePresenceEvent::setPresenceEventType: not bound !missing-selector! HMMutablePresenceEvent::setPresenceUserType: not bound * [xtro] Add missing pinvoke to pending (#2662) - Bug 59422: [uikit] Missing UIContentSizeCategoryCompareToCategory & UIContentSizeCategoryIsAccessibilityCategory (https://bugzilla.xamarin.com/show_bug.cgi?id=59422) * Merge latest d15-3 fixes into xcode9 (#2660) * [msbuild] Re-added wildcard (*) expandsion for application-identifier in Entitlements.plist (#2186) Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=57119 * Bump mono (#2213) * Framework tests were still binding non-linked Simple class which errors now (#2216) (#2218) - Improve Makefile to rebuild when projects build with errors * Bump mono to get cecil fix for bug #56808. (#2222) https://bugzilla.xamarin.com/show_bug.cgi?id=56808 * [msbuild] Use @(ReferencePath) instead of @(ResolvedFiles) (#2188) (#2214) This allows things to work on both xbuild and msbuild. In xbuild, both lists are exactly the same and on msbuild, only @(ReferencePath) exists. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=55147 * NSActivityOptions.IdleDisplaySleepDisabled had wrong value (#2232) (#2239) This was due to an integer overflow. The original value was based on Int32 1 << 40 == 256 The correct value should be based on a UInt64. 1UL << 40 == 1099511627776 * [tests] Fix bug 57699 - [iOS]InternalsTest failure (Linkall) tests on device (#2243) Strip native debugging symbols should not be checked for debug builds * Bump mono to get fix for bug #57780. https://bugzilla.xamarin.com/show_bug.cgi?id=57780 * Update .gitmodules Change branch to d15-3 branch of mono * Bump maccore to get fix for bug #55064. https://bugzilla.xamarin.com/show_bug.cgi?id=55064 * [mono] Bump mono to get the head of cecil/mono-2017-04 and fix IsComObject #57919 Also fix #58789 [1], the typo in tools/mtouch/Tuning.cs showing in MT0000 errors instead MT2102. That's already in master and d15-4 mono bump includes: [2] commit 2a6502cee0df9de5198eafe7c8b5f6ac25106f34 (HEAD -> d15-3, origin/d15-3) Merge: 02457c20fcf 5e05cafc6f1 Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 10:04:06 2017 -0400 Merge pull request #5401 from marek-safar/com [Marshal.IsComObject] Make this predicate return false instead of thr… [3] commit 02457c20fcf57c0610e844d638eb1da82b5d1eb0 Merge: da80840ea55 73fd9a1b82e Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 09:59:06 2017 -0400 Merge pull request #5400 from spouliot/bump-cecil-58834-d15-3 [cecil] Bump to the head of the mono-2017-04 branch and pick the fix for bug #58834 References [1] https://bugzilla.xamarin.com/show_bug.cgi?id=58789 [2] https://bugzilla.xamarin.com/show_bug.cgi?id=57919 [3] https://bugzilla.xamarin.com/show_bug.cgi?id=58834 * [mtouch] Put 'mono_profiler_startup_log' in the symbol list. Fixes #58778. (#2501) We need the 'mono_profiler_startup_log' symbol when profiling is enabled, so make sure to add the symbol to the correct list of symbols we need. Previously we were passing `-u _mono_profiler_startup_log` to clang directly, which is fine, but not complete, since it does not write the symbol to the symbollist file (--symbollist=file), which means it wouldn't be preserved when the MSBuild tasks strip the executable. https://bugzilla.xamarin.com/show_bug.cgi?id=58778 * Bump versions for SR3 https://trello.com/c/EVze08ei * Bump mono to include HttpClientHandler fix #44027 https://trello.com/c/jYFXadH8/8-systemnethttp-close-request-stream-when-httpclienthandler https://bugzilla.xamarin.com/show_bug.cgi?id=44027 * [FileProvider] Add missing API and turn NSString to string (#2663) Turned NSString to string in order to match exisiting API. * [uikit] Add UIPasteConfigurationSupporting and UITextPasteConfigurationSupporting (#2649) - Fixes bug #59363: Missing UIPasteConfigurationSupporting, UITextPasteConfigurationSupporting, UITextDraggable and UITextDroppable on a couple of types (https://bugzilla.xamarin.com/show_bug.cgi?id=59363) * [uikit] Remove 129 types in UIPasteConfigurationSupporting case * [scenekit] Audit (xtro) fixes (#2648) This looks like an Apple breaking change (since `SCNAnimation` is new) but we now have: > typedef void (^SCNAnimationEventBlock)(id<SCNAnimation> animation, id animatedObject, BOOL playingBackward); bound as > delegate void SCNAnimationEventHandler (CAAnimation animation, NSObject animatedObject, bool playingBackward); and `CAAnimation` conforms to `SCNAnimation` but *only* the later is available on watchOS. The delegate is only updated (since it's new) on our watchOS profile. xtro references: (watchos) !unknown-protocol! SCNCameraControlConfiguration bound (tvos/watchos) !missing-selector! SCNAnimation::animationEvents not bound !missing-selector! SCNAnimation::setAnimationEvents: not bound !missing-selector! SCNConstraint::isEnabled not bound !missing-selector! SCNConstraint::setEnabled: not bound !missing-field! SCNSceneSourceConvertToYUpKey not bound !missing-field! SCNSceneSourceConvertUnitsToMetersKey not bound (ios/tvos) !missing-protocol-conformance! SCNNode should conform to UIFocusItem * Bump maccore post 15.3 merge (#2665) * Bump Xcode 9 to GM (#2667) * Force build (on wrench) * [avfoundation] Fix breaking changes (apidiff) (#2664) * [TVServices] Update to Xcode 9 GM (#2675) * [GameController] Update to Xcode 9 GM (#2673) * [LocalAuthentication] Update to Xcode 9 GM (#2671) * [LocalAuthentication] Update to Xcode 9 GM * Remove availability from BiometryNotAvailable, BiometryNotEnrolled and BiometryLockout * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer (#2659) * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer Some of the new added types were already present BUT under a #if MONOMAC, they had to be moved. * [AVFoundation] Set the wrongly added API to be obsolete and ensure it returns logical values. (#2650) * [xtro] The right platform for macOS is 'macos', not 'osx'. (#2677) The platform name is used to filter availability attributes, and if we use the wrong platform, we'll incorrectly skip all availability attributes. The net result in unclassified entries: https://gist.github.com/rolfbjarne/a4474bc2a40c49a85cad495b51bb514f * Various Xcode 9 API improvements and also fixes bug 59433 (#2676) https://bugzilla.xamarin.com/show_bug.cgi?id=59433 While fixing bug 59433 I noticed some additional issues outlined below: AVDepthData: * Renamed **non** static `Create` methods because `Create` only makes sense with the **Static** method in this context. Also by renaming the methods we are now closer to the names that swift uses. * Kept descriptive method names in favor of self-documenting code. `Convert`, `Apply` and `Replace` do not fully give us the intent of the method. * Added a convenience `Create` static method that takes a `CGImageAuxiliaryDataInfo`. * AvailableDepthDataTypes is now an array of `CVPixelFormatType` instead of a `NSNumber` array (The aactual fix for bug 59433). ImageIO: * Refactored `CGImageAuxiliaryDataInfo` to be a `StrongDictionary` in order to avoid most of the manual code and also to avoid reimplementing the `ToDictionary` method (which contained a subtle bug). * Adjusted code to reflect the above change. * Added missing `.ctor (IntPtr, bool)` to `CGImageMetadata` so the class is able to be created by our `Runtime.Get*`. * Simplified `CopyAuxiliaryDataInfo` method by using `CGImageAuxiliaryDataInfo` as a `DictionaryContainer`. Tests: * Added `xamarinmonkey.heic` which is an image that contains depth data needed to test above changes. * Adds `AVDepthDataTests` that touches most of the changes listed here. * Tweak the Simd-compatible matrices and vectors (#2668) * Rename them to be OpenTK.NMatrix# (instead of Simd.MatrixFloat#x#). * Remove the Vector2 and Vector4 variants, we'll use the OpenTK types instead (but we'll keep the NVector3 variant, since it's not identical to the OpenTK version). * Update the API to match their OpenTK counterparts better: * NMatrix2 and NMatrix3 have a 0-based R#C# scheme for their fields. * NMatrix4 has a 1-based M## scheme for its fields (i.e. no change). * [AVFoundation] Use Simd-matrix for API that needs it. (#2679) This also requires implementing the corresponding matrix (NMatrix4x3). Fixes this xtro issue: > !unknown-simd-type-in-signature! OpenTK.Matrix3 AVFoundation.AVCameraCalibrationData::get_GetIntrinsicMatrix(): the native signature has a simd type (matrix_float3x3), while the corresponding managed method is using an incorrect (non-simd) type. * [xtro] Fix checking availability on categories. (#2682) When checking for category availability, check if both the current declaration is a category, and if the current's declaration container is a category. Otherwise this scenario fails: * Category method is available. * Category does not have availability attributes. * Main class is unavailable. with this typical code sequence: ```csharp // don't process methods (or types) that are unavailable for the current platform if (!decl.IsAvailable () || !(decl.DeclContext as Decl).IsAvailable ()) return; ``` In which case we'd: * First check the method (`decl`): * It's available, so no further checks is done on the method. * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container's container is a category (it isn't, it's the namespace). and as such determine that the method is available. With this change, the second step will become: * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container is a category (it is), and if its main class is available (it isn't). and as such determine that the method is unavailable. * Check for attributes on the method's container (no attributes, so we continue). * Check if the method's Unclassified diff: https://gist.github.com/rolfbjarne/8fa80962596978a426eadf9b7ba39dc1 * [uikit] Update for Xcode 9 GM (#2670) * [AVFoundation] Implement AVCapturePhoto. Partially fixes #59388. (#2678) Fixes: > common.unclassified:!missing-type! AVCapturePhoto not bound https://bugzilla.xamarin.com/show_bug.cgi?id=59388 * Use strong dictionaries for AVCapturePhoto.Metadata and AVCapturePhoto.EmbeddedThumbnailPhotoFormat. * [SIMD] Implement Simd double types (VectorDouble3/MatrixDouble4x4). (#2632) The following types will be used by ModelIO bindings * Fix delta to be double * Rename Simd-compatible matrices and vectors to match our final naming. This also means removing the new Vector2 and Vector4 variants (but not Vector3). * [avfoundation] Remove AVAssetDownloadDelegate.DidLoadTimeRange since it was removed in one of the betas (#2687) * [foundation] Move NSUrlSessionMultipathServiceType to a file processed by the generator (for the availability attributes) (#2688) * [arkit] Update for Xcode 9 GM (#2681) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes (#2690) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes Type Changed: Intents.INCarSeatResolutionResult Removed methods: public static INCarSeatResolutionResult GetConfirmationRequired (INCarSeat valueToConfirm); public static INCarSeatResolutionResult GetSuccess (INCarSeat resolvedValue); * [avfoundation] Add missing protocol members and deprecations (#2691) !missing-protocol-member! AVCapturePhotoCaptureDelegate::captureOutput:didFinishProcessingPhoto:error: not found and the selector removed from PR#2687 was actually replaced with this one !missing-protocol-member! AVAssetDownloadDelegate::URLSession:aggregateAssetDownloadTask:didLoadTimeRange:totalTimeRangesLoaded:timeRangeExpectedToLoad:forMediaSelection: not found * [tests][xtro] Map some enums, more fix with protocols and update entries (#2692) * [Tests] Reenable dns tests on the watch. (#2674) * [arkit] Add ARBlendShapeLocationOptions strong dictionary (#2696) * [coreimage] Skip not yet bound filters added in Xcode9 (#2698) Tracked in https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * [Metal] Renamed MTLArgumentDescriptor.ArgumentDescriptor to Create, fixes bug 59498 (#2702) https://bugzilla.xamarin.com/show_bug.cgi?id=59498 From [argumentDescriptor docs](https://developer.apple.com/documentation/metal/mtlargumentdescriptor/2915746-argumentdescriptor?language=objc) > Creates an empty argument descriptor. * [msbuild] Always codesign app bundles if the codesign key is non-null (#2697) ...even if it is a simulator build. Turns out that starting with Xcode9, sim builds need to be codesigned for App Groups entitlements to work properly. Interestingly, the DetectSigningIdentity logic had a comment about needing to codesign simulator builds for some entitlements to work already starting with Xcode 8 but apparently the iOS targets did not respect this. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=59379 * [Foundation] Add NSProxy stub in order to workaround bug 59247 (#2693) https://bugzilla.xamarin.com/show_bug.cgi?id=59247 We need to have a better solution that removes all what NSProxy does not responds to. Right now this works because NSObject implements NSObject protocol just like NSProxy, but NSProxy responds to far less selectors hence doing it internal so it is not a breaking change when we provide the correct fix. * Keep NSProxy around and avoid XML linker description We need to keep NSProxy (avoid linking it) if WKNavigationDelegate or IWKNavigationDelegate is used. We know WKWebView will be there and can hold a reference to it. * [Xcode 9] Update Metal for GM (#2689) * [iosurface] IOSurface is not usable before iOS/tvOS 11. Fixes #59201 (#2706) Apple rejects apps that links with the previously private IOSurface.framework. We were not sure about this [1] and had it disabled (this is removed). However another bug stopped our adjustment logic [2] from being executed. This is needed since `clang` picks up the private framework if it does not find the public one (even when asking for a weak framework), [1] https://bugzilla.xamarin.com/show_bug.cgi?id=59201 [2] Added a while ago for JavascriptCore * Bump maccore to point to commit with the docs fix. (#2703) * Bump XI to 11.0.x (and XM to 3.99.9.x) (#2684) * fix typo
2017-09-16 00:53:16 +03:00
[Deprecated (PlatformName.MacOSX, 10, 13, message: "Use 'FieldOfView' or 'FocalLength' instead.")]
[Deprecated (PlatformName.iOS, 11, 0, message: "Use 'FieldOfView' or 'FocalLength' instead.")]
[Deprecated (PlatformName.TvOS, 11, 0, message: "Use 'FieldOfView' or 'FocalLength' instead.")]
[Deprecated (PlatformName.WatchOS, 4, 0, message: "Use 'FieldOfView' or 'FocalLength' instead.")]
2016-04-21 15:30:02 +03:00
[Export ("xFov")]
double XFov { get; set; }
Merge xcode9 into d15-4[-xi] (#2710) * [FileProvider] Add Xcode 9 Beta 1, 2 & 3 Bindings (#2279) * [FileProvider] Add Xcode 9 Beta 1 Bindings * Better naming * Feedback not related to BindAs * [FileProvider] Removes BindAs, add manual code for it and updated to Beta 3 * [FileProvider] Implement feedback * [CoreSpotlight] Updated spotlight bindings for xcode 9 beta 3. (#2193) Updated spotlight bindings for xcode 9 beta 3. * Fix warning caused by duplicate (#2354) * [FileProviderUI] Add Xcode 9 Beta 1 to 3 bindings (#2356) * Bump to Xcode 9 beta 4 * [arkit] ARLightEstimate does not conform to NSCopying anymore (fix unit test) * [uikit] NSFileProviderExtension.ReparentItem got a new parameter in beta4 (fix unit test) * [coreimage] CIImageAccumulator init returns nil in beta 4 There's no header change to mention `init` is not allowed but it's not clear how this default initializer could be used. Also make public some other API to construct this type (outside of XM). It's not clear why there were `internal` as they are (at least now) part of the header files. * [photos] Add helpers when PHLivePhotoEditingOption/NSDictionary is null (to avoid ambiguous API) (#2360) Adding a strongly typed `PHLivePhotoEditingOption` (a strongly typed version of an `NSDictionary`) can cause a `CS0121` (call is ambiguous) since using a `null` argument is common (only one option exist so far). This PR adds overloads that makes the code nicer in such case, e.g. before Xcode9: > // null is used when no options are given > _foo.SaveLivePhoto (output, null, completion); current (Xcode 9) > // casting required to remove ambiguity with PHLivePhotoEditingOption > _foo.SaveLivePhoto (output, (NSDictionary)null, completion); with this PR > // no option, no argument > _foo.SaveLivePhoto (output, completion); The same applies to `PrepareLivePhotoForPlayback`. * [tests] Disable/tweak two tests that breaks on (almost) all Xcode updates Those tests were not added to validate xOS so just keep the parts that helps us (without constantly checking back the new break flavor) * Disable watchOS to check if this hides others issues * [mapkit] Update for beta 4 * [coredata] Update for beta 4 * [wkwebkit] Update for beta 4 Note: WKWindowFeatures.h is not compiled (part of the framework umbrella) and the `@interface WKWindowFeatures (WKPrivate)` sounds like it should not have been exposed (it's all fields starting with `_`) * [corelocation] Update for beta 4 * Revert "Disable watchOS to check if this hides others issues" This reverts commit fed2249fa43290a1956ab2fe0d48f83ab6db9711. * [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]: https://github.com/xamarin/xamarin-macios/blob/f5956d6cc1eb5dfa7bab16628cf282d40237f64e/src/generator.cs#L5985 * [FinderSync] Update to beta 4 (#2377) * [ImageIO] Update to Xcode 9 (#2353) * [PhotosUI] Move macOS photosui bindings out of photos.cs into photosui.cs (#2358) * [quicklook] Update up to beta 4 (#2374) * [uikit] UIDragInteraction & UIDragInteractionDelegate (Xcode 9 b1,2,3) (#2357) * [safariservices] Update up to beta 4 (#2380) * [coreanimation] Update to beta 4 (#2382) Apple removed (mistake?) some API in beta 1. Filed as rdar 33590997 Internal tracking in https://trello.com/c/J8BDDUV9/86-33590997-coreanimation-quartzcore-api-removals * [storekit] Update up to beta 4 (#2379) * [CoreML] Update to Xcode 9 Beta 4 (#2387) * [uikit] UICollectionView/UITableView Drag & Drop (Xcode 9 b1,2,3 & 4) (#2355) * Update code after radar 32929318 and 32897776 are fixed in b4 (#2394) * [xcode9 CoreAudio] New definitions from Beta1 to Beta3 (#2359) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 (#2397) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 https://bugzilla.xamarin.com/show_bug.cgi?id=58512 Created strong API (VNBarcodeSymbology) on the following properties * VNDetectBarcodesRequest.SupportedSymbologies * VNDetectBarcodesRequest.Symbologies * VNBarcodeObservation.Symbology * Remove modern C# because classic can't do it 😡 * [mediaplayer] Update up to beta 4 (#2388) * [watchkit] Update to beta 4 (#2398) * Bump Visual Studio for Mac max version (#2408) * [coreimage] Add CIBarcodeDescriptor and enabled missing API for VNBarcodeObservation. Fix #58197 (#2411) https://bugzilla.xamarin.com/show_bug.cgi?id=58197 * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 (#2407) * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 * [uikit] Fixes based on comments * [coreimage] CIImageAccumulator API fixes. Fix #58349 (#2412) * Obsolete the default `init`; * XM exposed some older APIs using `int` instead of `CIFormat`. This is fixed and old APIs are obsoleted; * Both new & old APIs are now using `CIFormat` for both XI and XM. https://bugzilla.xamarin.com/show_bug.cgi?id=58349 * [uikit] UIText drag & drop - up to Xcode 9 beta 4 (#2410) * [uikit] UISplitView & UIStackView up to Xcode 9 beta 4 (#2425) * Bump XI/XM versions before preview 4 (#2422) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 (#2378) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 * [PDFKit] Implement feedback * [PDFKit] the forgotten enum * [PDFKit] More feedback * [PDFKit] Add Mac changes * Missing change * Fix test RectangleF VS CGRect * Pass -Wunguarded-availability-new to quiet a new clang warning (#2424) - https://bugzilla.xamarin.com/show_bug.cgi?id=58574 * [mtouch/mmp] Ignore warnings about unguarded code section with regards to availability. (#2441) * [monotouch-test] Remove workaround for fixed Apple bug. (#2445) * Bump to Xcode 9 beta 5. (#2447) * Bump to Xcode 9 beta 5. * [mmp] Disable the partial static registrar, because Apple's macOS SDK is broken. > In file included from Xamarin.Mac.registrar.mobile.i386.m:1: > In file included from ./Xamarin.Mac.registrar.mobile.i386.h:11: > /Applications/Xcode9-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVFoundation.h:88:9: fatal error: 'AVFoundation/AVRouteDetector.h' file not found https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [mmp] Fix partial static registrar removal. * [CallKit] Update to Xcode 9 beta 5. * [ARKit] ARPointCloud doesn't conform to NSCopying anymore in Xcode 9 beta 5. * [ARKit] Update to Xcode 9 beta 5 enough to make tests happy. * [CoreImage] Stub out new filters in Xcode 9 beta 5. * [tests][monotouch] Simplify some MDLMesh asserts since values change a lot between OS versions. * [mmp] Default to the dynamic registrar for release builds again, due to bug #58629. https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [tests][introspection] CXCall started implementing NSCopying without saying so in the headers. * Disable mmp static registrar tests due to 58629 for now * [quicklook] Update to beta 5 (#2450) * [photos] Update for beta 5 (#2452) Also update some existing enum members were added in beta 1 on macOS * [safariservices] Update for beta 5 (#2455) * [mediaplayer] Update to beta 5 (#2456) * [CoreLocation] Update Xcode 9 Beta 5 (#2453) * [CoreML] Update to Xcode 9 Beta 5 (#2454) * [Contacts] Update to Xcode 9 Beta 5 (#2451) * [Vision] Update to Xcode 9 Beta 5 (#2458) * [builds] Tell LLVM to stay away from newer macOS functions. (#2459) Fixes this build problem on Sierra: > ld: weak import of symbol '_futimens' not supported because of option: -no_weak_imports for architecture x86_64 This is a symbol that was (will be?) introduced in High Sierra. Interestingly this only occurs if the Xcode 8.X Command Line Tools haven't been manually installed. Because if the Xcode 8.X Command Line Tools are installed, this happens: 1. llvm's configure script detects that 'futimens' is not usable. 2. llvm's configure script detects that 'futimens' is not usable, because xcrun sets SDKROOT=/ when calling clang. a. When the SDKROOT variable is set, clang passes '-syslibroot /usr/lib' to ld. b. When ld gets '-syslibroot /usr/lib', ld looks in '/usr/lib' for a library that contains 'futimens' in the OS itself, and since we're on Sierra, that fails to link. c. So when llvm's configure script creates a test program that checks if 'futimens' is present, the program fails. This is correct, and makes llvm *not* use futimens. 3. xcrun sets SDKROOT=/ because /usr/share/current-os.sdk/Info.plist exists. If that file does not exist, then xcrun sets SDKROOT to Xcode9's macOS SDK (because that's what xcode-select reports). a. When SDKROOT is set to Xcode9's macOS SDK, the configure check for 'futimens' succeeds, because the macOS 10.13 SDK contains that function. b. llvm happily uses 'futimens', and then the final link fails because we're using a symbol not available on all target platforms. * [arkit] Update for Xcode 9 beta 5 - Part 1 (#2460) * [tests] The container app for watchOS tests should be 64-bit. (#2463) * [xharness] watchOS tests need to run in a clean environment. Works around #58348. (#2462) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [xharness] It watchOS tests don't need to be clean anymore. Fixes #58348. (#2473) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [uikit] UIView/UIScrollView/UIViewController up to Xcode 9 beta 5 (#2431) - Add NSDirectionalEdgeInsets type. - Includes DirectionalEdgeInsetsTest. * [AudioToolbox] Update bindings to Xcode 9 beta3 (not later changes). (#2294) * [xharness] Add a file existence check. (#2478) Fixes this exception: ``` Harness exception for 'introspection': System.IO.FileNotFoundException: Could not find file '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log'. File name: '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log' at System.IO.__Error.WinIOError (System.Int32 errorCode, System.String maybeFullPath) [0x00207] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/__error.cs:188 at System.IO.FileInfo.get_Length () [0x00038] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/fileinfo.cs:171 at xharness.CaptureLog.StopCapture () [0x00021] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Log.cs:252 at (wrapper remoting-invoke-with-check) xharness.CaptureLog:StopCapture () at xharness.AppRunner+<RunAsync>d__68.MoveNext () [0x0127f] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/AppRunner.cs:642 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter`1[TResult].GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:357 at xharness.RunSimulatorTask+<RunTestAsync>d__7.MoveNext () [0x0029d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2894 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.RunTestTask+<ExecuteAsync>d__8.MoveNext () [0x0010b] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2538 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.TestTask+<RunInternalAsync>d__87.MoveNext () [0x0010d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:1870 ``` I'm not sure how this can happen, but it has on the bots [1]. [1] https://jenkins.mono-project.com/job/xamarin-macios-pr-builder/4548/Test_Report/ * Bump versions for preview 5 (#2479) * [passkit] Update to beta 5 (#2481) * [tests] Remove workaround for radar #32688391. (#2486) * [replaykit] Update up to beta 5 (#2484) * Bump maccore to get fix for bug #55064. (#2487) * [apidiff] Update definition to new 10.12 (d15-3) stable release (#2490) * [SceneKit] basic work (#2483) * [coredata] Update to beta 5 (#2488) * [homekit] Update for Xcode 9 beta 5 (#2492) * [Foundation] Update for xcode9 (#2468) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 (#2493) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 * [Intents] Implement feedback * [Intents] Add a generic version for INInteraction.GetParameterValue * [Intents] Missing check * [Contacts] Add missing foundation NSItemProviderWriting protocol to CNContact (#2496) https://bugzilla.xamarin.com/show_bug.cgi?id=58203 This is available on all Contacts supported platforms ``` ./iPhoneOS.platform/Developer/SDKs/iPhoneOS11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchOS.platform/Developer/SDKs/WatchOS4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchSimulator.platform/Developer/SDKs/WatchSimulator4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ``` * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) (#2497) * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) * [IntentsUI] Better use a delegate instead so we have named params * Bump versions before 6th preview (#2514) * [arkit] Add missing MarshalDirective to ARPlaneAnchor (#2517) - Fixes bug #58648: ARPlaneAnchor.Extent property seems incorrect but changes to correct value after Debug access (https://bugzilla.xamarin.com/show_bug.cgi?id=58648) * [xtro-sharpie] Fix a compiler warning. (#2516) Fixes these warnings: Runner.cs(197,5): warning CS0642: Possible mistaken empty statement Runner.cs(199,5): warning CS0642: Possible mistaken empty statement Runner.cs(201,5): warning CS0642: Possible mistaken empty statement Runner.cs(203,5): warning CS0642: Possible mistaken empty statement Runner.cs(205,5): warning CS0642: Possible mistaken empty statement * [uikit] Update for Xcode 9 beta 5 - Part 3 (#2511) - UIKeyCommand - UINavigationBar - UINavigationItem - UIPasteboard - UITableViewHeaderFooterView * [xtro-sharpie] Remove xtro-plugin and misc other fixes. (#2522) * [xtro-sharpie] Build with msbuild and be as quiet as requested when building. * [xtro-sharpie] Must run as a 64-bit process, since the required native libraries are 64-bit. * [xtro-sharpie] Add run configurations to the project file to ease debugging in the IDE. * [xtro-sharpie] Remove xtro-plugin and the related commands. This was needed when there wasn't a 64-bit mono, in order to run xtro-sharpie in a 64-bit process. Now there is a 64-bit mono, so it's not needed anymore. Also improve makefile targets a bit, to auto-build stuff when needed, by setting the right dependencies. * Bump Xcode 9 to beta 6 (#2519) Disable watchOS tests again It seems like the Carousel crash from beta 4 is back to haunt us. This was working fine with beta 5. * Backport d15-3 SR2 fixes (#2515) * [coredata] Update to beta 6 (#2528) This seems to only revert some nullability changes from beta 5. * [coreml] Update to beta 6 (#2531) Fix our rdar 33643011 where additional setters were added in the headers but did not exists. * [videosubscriberaccount] Update to beta 6 (#2533) Only b1 and b2 introduced some additions/changes * [uikit] Update for Xcode 9 beta 6 - Part 4 (#2527) The following headers are now up to date: - UICollectionViewFlowLayout.h - UIDocumentPickerViewController.h - UIFontDescriptor.h - UIImage.h - UIImageView.h - UIImagePickerController.h * [xharness] Re-enable the watchOS tests. (#2534) It works fine for me locally, so let's see what Jenkins says. * [macos] Add new APIs in CoreWlan from Xcode9b3 (#2525) * Update AppKit bindings based on radar 33271241 results (#2518) * Update AppKit bindings based on radar 33271241 results - The header comment was updated to note it was NSSliderTouchBarItem view that has the protocol * Remove NSUserInterfaceCompression where not listed in header * [vision] Update to beta 6 (#2532) Removal of some deprecated (during beta) `init*` selectors. Also sync the versions that were inlined in subclasses - the old ones were not removed and the new ones were not added. * [xtro-sharpie] Many methods don't have selectors in Clang's API, so default to the name if no selector. (#2523) This makes a few more unclassified entries show up (mostly missing designated initializers): https://gist.github.com/rolfbjarne/07aa20f9b50b75bf3e69ac6a825e873a * [macos] Add ExternalAccessory APIs from xcode9 (#2526) * [58851] Disable NSMenuView in AllItemsWithNSMenuShouldAllowNull (#2504) * [arkit] Update for Xcode 9 beta 5 - Part 2 (#2505) - Add last missing selector. - Add tests for manual code. * [monotouch-test] Disable FontDescriptorTest.WithFeature (#2537) Disabled because it looks like the tvOS font we use: "Gujarati Sangam MN" does not have rare ligatures anymore (and the entire test is based on it). Before getting an actual fix for that, let's disable the test so it doesn't break all current builds. See: https://bugzilla.xamarin.com/show_bug.cgi?id=58929 * [xtro-sharpie] Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute. (#2524) Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute to calculate the native name for a TypeDefinition. Unclassified changes: https://gist.github.com/rolfbjarne/828f8ee41eebb0a3b60a38d71822fe59 * [foundation/uikit] Inline NSItemProvider_UIKitAdditions in NSItemProvider (#2538) As suggested here: https://github.com/xamarin/xamarin-macios/pull/2527#discussion_r134670981 * [intents] Fix breaking changes (api-diff) (#2543) Additions of @required members inside `INSpeakable` cannot be `[Abstract]` * [contacts] Fix breaking change (api-diff) (#2542) Type Changed: Contacts.CNPostalAddress Removed method: public static string LocalizeProperty (CNPostalAddressKeyOption option); * [macos] Reenable static registrar since Xcode9b6 un-broke SDK headers (#2544) - Fix a subtle spacing issues in PartialStaticLibrary property * [corebluetooth] Update up to beta 6 and enable it on watchOS (#2540) macOS 10.13 has finally catch up with iOS and this simplifies the bindings a bit. * [foundation] API fixes (apidiff) (#2545) 1. Let's not add new, already [Obsolete] API Type Changed: Foundation.NSDimension Added constructors: [Obsolete ("Not intended to be directly instantiated, this is an abstract class.")] public NSDimension (); 2. Fix inconsistently named API, e.g. Type Changed: Foundation.NSAttributedString Added properties: public static string[] ReadableTypeIdentifiersForItemProvider { get; } public static string[] WritableTypeIdentifiers { get; } * [pdfkit] Do not add already [Obsolete] API in new profiles (#2547) and ensure using the newer, correct API works cross-platforms iOS (before) [Obsolete ("Use 'Find (string, NSStringCompareOptions)' instead.")] public virtual PdfSelection[] Find (string text, nint options); public PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'Find (string, PdfSelection, NSStringCompareOptions)' instead.")] public virtual PdfSelection Find (string text, PdfSelection selection, nint options); public void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string, NSStringCompareOptions)' instead.")] public virtual void FindAsync (string text, nint options); public void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string [], NSStringCompareOptions)' instead.")] public virtual void FindAsync (string[] text, nint options); iOS (after) public virtual PdfSelection[] Find (string text, Foundation.NSStringCompareOptions compareOptions); public virtual PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); * Bump versions for the 7th preview (#2541) * Remove additions of AVKit removed in beta5 (#2536) * NSUrlSessionTask should implement NSProgressReporting for iOS (#2548) NSUrlSessionTask implements NSProgressReporting on iOS as well as Mac, so the #if MONOMAC isn't needed. * Add missing availability attributes causing failures on older iOS versions (#2550) * [vision] Minor fix wrt xtro (#2551) including some things we need to ignore manually !missing-field! VNVisionVersionNumber not bound !missing-pinvoke! VNImagePointForFaceLandmarkPoint is not bound !missing-pinvoke! VNNormalizedFaceBoundingBoxPointForLandmarkPoint is not bound * [uikit] NSFileProviderMessaging was removed in beta 2. Fixes #58222 (#2552) reference: https://bugzilla.xamarin.com/show_bug.cgi?id=58222 * [uikit] Update for Xcode 9 - Part 5 (#2546) Bindings for the following headers: - UIActivity.h - UIActivityItemProvider.h - UIAlertController.h - UIApplication.h - UIBarButtonItem.h - UIButton.h - UICollectionViewLayout.h - UIColor.h - UIControl.h - UIDocumentMenuViewController.h - UIFontMetrics.h - UIGestureRecognizer.h - UIGraphicsImageRenderer.h - UIInputViewController.h * [CoreText] Fix an extraneous free in CTFont.GetDefaultCascadeList. (#2555) We do not own the return value from CFArrayGetValueAtIndex, so don't say we do when creating CTFontDescriptor instances, since that leads to angry dragons: 2017-08-28 20:15:20.293 monotouchtest[33186:2311738] A_FontTest 2017-08-28 20:15:20.294 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithFontDescriptorAndOptions 2017-08-28 20:15:20.295 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithNameAndOptions 2017-08-28 20:15:20.296 monotouchtest[33186:2311738] critical: Stacktrace: at <unknown> <0xffffffff> at (wrapper managed-to-native) CoreText.CTFont.CTFontCopyDefaultCascadeListForLanguages (intptr,intptr) [0x0000a] in <ae65a2b1eea242d2b68fe784749543bf>:0 at CoreText.CTFont.GetDefaultCascadeList (string[]) [0x00013] in /work/maccore/xcode9/xamarin-macios/src/CoreText/CTFont.cs:2185 at MonoTouchFixtures.CoreText.A_FontTest.GetCascadeList () [0x0001e] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/CoreText/FontTest.cs:78 at (wrapper runtime-invoke) object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) [0x0004f] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) System.Reflection.MonoMethod.InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&) [0x00016] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at System.Reflection.MonoMethod.Invoke (object,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo) [0x00032] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/corlib/System.Reflection/MonoMethod.cs:305 at System.Reflection.MethodBase.Invoke (object,object[]) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/referencesource/mscorlib/system/reflection/methodbase.cs:229 at NUnit.Framework.Internal.Reflect.InvokeMethod (System.Reflection.MethodInfo,object,object[]) [0x00009] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Reflect.cs:215 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunNonAsyncTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x00025] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:116 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x0001a] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:90 at NUnit.Framework.Internal.Commands.TestMethodCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:66 at NUnit.Framework.Internal.Commands.SetUpTearDownCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00007] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/SetUpTearDownCommand.cs:84 at NUnit.Framework.Internal.WorkItems.SimpleWorkItem.PerformWork () [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/SimpleWorkItem.cs:64 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at MonoTouch.NUnit.UI.BaseTouchRunner.Run (NUnit.Framework.Internal.Test) [0x0004d] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:442 at MonoTouch.NUnit.UI.BaseTouchRunner.Run () [0x00030] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:171 at MonoTouch.Dialog.StringElement.Selected (MonoTouch.Dialog.DialogViewController,UIKit.UITableView,Foundation.NSIndexPath) [0x00008] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/Elements.cs:765 at MonoTouch.Dialog.DialogViewController.Selected (Foundation.NSIndexPath) [0x00026] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:577 at MonoTouch.Dialog.DialogViewController/Source.RowSelected (UIKit.UITableView,Foundation.NSIndexPath) [0x00016] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:402 at (wrapper runtime-invoke) <Module>.runtime_invoke_void__this___object_object (object,intptr,intptr,intptr) [0x0005d] in <32f0c196c5bc4aa18daea2ee64a7814e>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) UIKit.UIApplication.UIApplicationMain (int,string[],intptr,intptr) [0x0005c] in <ae65a2b1eea242d2b68fe784749543bf>:0 at UIKit.UIApplication.Main (string[],intptr,intptr) [0x00005] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:79 at UIKit.UIApplication.Main (string[],string,string) [0x00038] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:63 at monotouchtest.Application.Main (string[]) [0x00011] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/Main.cs:27 at (wrapper runtime-invoke) <Module>.runtime_invoke_void_object (object,intptr,intptr,intptr) [0x00051] in <30a7f7e09de9467b8b454221034a0e38>:0 Native stacktrace: 0 monotouchtest 0x000000010fca03c4 mono_handle_native_crash + 244 1 monotouchtest 0x000000010fcadd30 mono_sigsegv_signal_handler + 288 2 libsystem_platform.dylib 0x000000011feb3b3a _sigtramp + 26 3 CoreFoundation 0x000000011de035a2 computeSanitizedString + 146 4 CoreText 0x00000001168df314 _ZN15TPurgeableCache19RetainedValueForKeyEPKv + 54 5 CoreText 0x00000001168def85 _ZNK17TDescriptorSource22CopyDescriptorUncachedEPK7__CFURLbPK10__CFString + 55 6 CoreText 0x00000001168df34f _ZNK17TDescriptorSource14CopyDescriptorEPK7__CFURLbPK10__CFString + 27 7 CoreText 0x00000001168e20ad _ZNK17TDescriptorSource35CopyFontDescriptorPerPostScriptNameEPK10__CFStringmm + 297 8 CoreText 0x00000001168dfd9e _ZNK17TDescriptorSource30CopySystemFontDescriptorByNameEPK10__CFString10UIFontFlag + 54 9 CoreText 0x00000001168e54c4 _ZNK14TFontFallbacks17CopyFontFallbacksEPK10__CFStringS2_PK9__CFArray + 652 10 CoreText 0x00000001168e4a00 _ZNK14TFontFallbacks29CopyFontFallbacksForLanguagesEPK10__CFStringPK9__CFArray + 122 11 CoreText 0x00000001168e4971 _ZN17TDescriptorSource39CopyDefaultSubstitutionListForLanguagesEPK10__CFStringPK9__CFArray + 61 12 CoreText 0x00000001169397a7 _ZNK9TBaseFont28CreateSystemDefaultFallbacksEPK10__CFStringPK9__CFArray + 51 13 CoreText 0x000000011693999c _ZNK9TBaseFont15CreateFallbacksE10UIFontFlagPPK16__CFCharacterSetPK9__CFArray + 346 14 CoreText 0x00000001168c1036 _ZNK5TFont24CreateDefaultCascadeListEPK9__CFArray + 242 15 CoreText 0x00000001168b8ff9 CTFontCopyDefaultCascadeListForLanguages + 97 16 ??? 0x0000000140eaefd3 0x0 + 5384105939 17 ??? 0x0000000140eae761 0x0 + 5384103777 18 ??? 0x000000013c9c8e74 0x0 + 5311860340 19 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 20 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 21 monotouchtest 0x000000010fd71bac mono_runtime_try_invoke_array + 1292 22 monotouchtest 0x000000010fd15587 ves_icall_InternalInvoke + 647 23 ??? 0x000000013e9fcd13 0x0 + 5345627411 24 ??? 0x000000013e9fc738 0x0 + 5345625912 25 ??? 0x000000013e9fded5 0x0 + 5345631957 26 ??? 0x000000013e9fbb76 0x0 + 5345622902 27 ??? 0x000000013e9e237e 0x0 + 5345518462 28 ??? 0x000000013e9e237e 0x0 + 5345518462 29 ??? 0x000000013e9e237e 0x0 + 5345518462 30 ??? 0x000000013e9e237e 0x0 + 5345518462 31 ??? 0x000000013e873006 0x0 + 5344014342 32 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 33 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 34 monotouchtest 0x000000010fd6e320 mono_runtime_invoke + 208 35 monotouchtest 0x000000010fe71af1 xamarin_invoke_trampoline + 5617 36 monotouchtest 0x000000010fe79ddd xamarin_arch_trampoline + 189 37 monotouchtest 0x000000010fe7b1a1 xamarin_x86_64_common_trampoline + 110 38 UIKit 0x0000000111b9876b -[UITableView _selectRowAtIndexPath:animated:scrollPosition:notifyDelegate:] + 1810 39 UIKit 0x0000000111b98986 -[UITableView _userSelectRowAtPendingSelectionIndexPath:] + 344 40 UIKit 0x0000000111a6b5c9 _runAfterCACommitDeferredBlocks + 318 41 UIKit 0x0000000111a59dad _cleanUpAfterCAFlushAndRunDeferredBlocks + 280 42 UIKit 0x0000000111a89f68 _afterCACommitHandler + 137 43 CoreFoundation 0x000000011de3ddb7 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23 44 CoreFoundation 0x000000011de3dd0e __CFRunLoopDoObservers + 430 45 CoreFoundation 0x000000011de22324 __CFRunLoopRun + 1572 46 CoreFoundation 0x000000011de21a89 CFRunLoopRunSpecific + 409 47 GraphicsServices 0x0000000121b7e9c6 GSEventRunModal + 62 48 UIKit 0x0000000111a5f7d0 UIApplicationMain + 159 49 ??? 0x000000013c9c4474 0x0 + 5311841396 50 ??? 0x000000013c9c40ad 0x0 + 5311840429 ================================================================= Got a SIGSEGV while executing native code. This usually indicates a fatal error in the mono runtime or one of the native libraries used by your application. ================================================================= * [monotouch-test] Don't subclass MKMapView. (#2556) MKMapView doesn't like being subclassed (Apple says "you should not subclass the MKMapView class itself"). Bad things like this starts happening: Thread 0 name: tid_303 Dispatch queue: com.apple.main-thread Thread 0 Crashed: 0 libsystem_kernel.dylib 0x0000000186b25348 __pthread_kill + 8 1 libsystem_pthread.dylib 0x0000000186c39354 pthread_kill$VARIANT$mp + 396 2 libsystem_c.dylib 0x0000000186a94fd8 abort + 140 3 monotouchtest 0x0000000101c02c14 mono_handle_native_crash + 22047764 (mini-exceptions.c:2548) 4 monotouchtest 0x0000000101c0d02c mono_sigsegv_signal_handler + 22089772 (mini-runtime.c:2886) 5 libsystem_platform.dylib 0x0000000186c33b60 _sigtramp + 52 6 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 7 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 8 CoreFoundation 0x0000000186eda51c -[__NSArrayM dealloc] + 68 9 CoreFoundation 0x000000018703f5c8 __CFBasicHashDrain + 312 10 CoreFoundation 0x0000000186fb5b44 _CFRelease + 224 11 CoreText 0x000000018a808404 TDescriptorSource::PurgeFontFallbacksCache+ 488452 () + 92 12 CoreText 0x000000018a808374 TDescriptorSource::PurgeFromCaches+ 488308 (__CFURL const*) const + 176 13 CoreText 0x000000018a7eec74 CTFontRemoveFromCaches + 168 14 VectorKit 0x0000000196a539b0 +[VKSharedResourcesManager removeResourceUser:] + 324 15 VectorKit 0x0000000196ca27a4 md::MapEngine::~MapEngine+ 2643876 () + 360 16 VectorKit 0x0000000196ca2634 md::MapEngine::~MapEngine+ 2643508 () + 12 17 libobjc.A.dylib 0x000000018651eef4 object_cxxDestructFromClass+ 28404 (objc_object*, objc_class*) + 148 18 libobjc.A.dylib 0x000000018652c638 objc_destructInstance + 88 19 libobjc.A.dylib 0x000000018652c690 object_dispose + 16 20 QuartzCore 0x000000018afca3ac -[CALayer dealloc] + 116 21 VectorKit 0x0000000196a43294 -[VKMapView dealloc] + 940 22 QuartzCore 0x000000018af6aafc CA::release_objects+ 744188 (X::List<void const*>*) + 32 23 QuartzCore 0x000000018afd97d8 CA::Layer::~Layer+ 1198040 () + 276 24 QuartzCore 0x000000018afca37c -[CALayer dealloc] + 68 25 QuartzCore 0x000000018af6b16c CA::Transaction::commit+ 745836 () + 1052 26 UIKit 0x0000000190393290 _afterCACommitHandler + 256 27 CoreFoundation 0x0000000186fb38b8 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 32 28 CoreFoundation 0x0000000186fb1270 __CFRunLoopDoObservers + 412 29 CoreFoundation 0x0000000186fb182c __CFRunLoopRun + 1292 30 CoreFoundation 0x0000000186ed22d8 CFRunLoopRunSpecific + 436 31 GraphicsServices 0x0000000188d58f84 GSEventRunModal + 100 32 UIKit 0x000000019040427c UIApplicationMain + 208 33 monotouchtest 0x000000010106eb90 wrapper_managed_to_native_UIKit_UIApplication_UIApplicationMain_int_string___intptr_intptr + 9907088 (/<unknown>:1) 34 monotouchtest 0x0000000100f0d6ac UIKit_UIApplication_Main_string___intptr_intptr + 8459948 (UIApplication.cs:79) 35 monotouchtest 0x0000000100f0d66c UIKit_UIApplication_Main_string___string_string + 8459884 (UIApplication.cs:63) 36 monotouchtest 0x0000000100b10450 monotouchtest_Application_Main_string__ + 4277328 (Main.cs:27) 37 monotouchtest 0x0000000100e0c244 wrapper_runtime_invoke_object_runtime_invoke_dynamic_intptr_intptr_intptr_intptr + 244 38 monotouchtest 0x0000000101c10048 mono_jit_runtime_invoke + 22102088 (mini-runtime.c:2526) 39 monotouchtest 0x0000000101c75eec do_runtime_invoke + 22519532 (object.c:2829) 40 monotouchtest 0x0000000101c78a3c do_exec_main_checked + 22530620 (object.c:4623) 41 monotouchtest 0x0000000101bf9a1c mono_jit_exec + 22010396 (driver.g.c:1040) 42 monotouchtest 0x0000000101d13d60 xamarin_main + 23166304 (monotouch-main.m:482) 43 monotouchtest 0x00000001007de710 main + 927504 (main.m:67) 44 libdyld.dylib 0x00000001869f656c start + 4 * [introspection] Let SkipDueToAttributeInProperty skip setters too (#2557) `SkipDueToAttributeInProperty` which is used to check the availability attribute of properties when the Availability info only exist on the property and not on the property Getter or Setter was wrong. This lead to `setSpringLoaded` (which was introduced in iOS 11) to not be ignored by the test (making it fail). - Fix bug #59085: [introspection-ios] selector not found for UIKit.UIBarButtonItem : setSpringLoaded: - Broken test (https://bugzilla.xamarin.com/show_bug.cgi?id=59085) * [corevideo][watchos] Enable CoreVideo on watchOS (#2553) * [storekit] Fix CampaignToken typo (#2559) (#2560) - Fixes bug #59078: StoreProductParameters and invalid property for CampaignToken (https://bugzilla.xamarin.com/show_bug.cgi?id=59078) * [coreml][watchos] Enable API using CoreVideo on watchOS. Fix #58097 (#2561) https://bugzilla.xamarin.com/show_bug.cgi?id=58097 * Add missing [MarshalDirective] attributes. (#2558) * [bindings-generator] Improve build & project file. * Add missing [MarshalDirective] attributes. Add missing [MarshalDirective] attributes, which also requires implementing support for out parameters in the binding generator, since one of the signatures missing the [MarshalDirective] contains such an out parameter. Also add tests for all the API I've added [MarshalDirective] to. * [bindings-generator] Remove redundant if check. * [monotouch-test] Rename file to end with 'Test.cs'. * [tests] Fix a few build errors for Xamarin.Mac. * [uikit] Fix UIColor and UIInputViewController tvOS availability (#2569) - Fixes introspection tests on tvOS 10. * [storekit] Fix SKCloudServiceSetupMessageIdentifier and SKProductStorePromotionController tvOS availability (#2568) - Fixes introspection tests on tvOS 10. * [mapkit] Fix MKMapItemTypeIdentifier tvOS availability (#2566) - Also remove double [Mac] availability attribute. - Fixes introspection tests on tvOS 10. * [ARKit] Fix marshalling for ARPointCloud.RawFeaturePoints. (#2565) ARPointCloud.RawFeaturePoints is an array of Vector3, but each vector is 16-byte aligned (as if it were an array of Vector4). This means we need to account for this when creating a managed array from pointer to the native C-style array. * [ModelIO] Fix MDLVoxelIndexExtent struct. (#2564) The MDLVoxelIndexExtent is a struct containing two 4-dimensional vectors of integers (not floats, as originally and incorrectly implemented). Fix this my creating a new MDLVoxelIndexExtent2 struct with the right fields, re-implement all the API that exposes this struct and obsolete the old API. Also add missing [MarshalDirective] attributes. And write a test to make sure it works fine now and forever. * [coredata] Enable new fields since rdar #33878590 is fixed w/beta 6 (#2570) reference: https://trello.com/c/dlSRYPFx * [xtro-sharpie] Add a Simd check class to verify signatures with Simd types. * [Simd] Add simd matrix types. The OpenTK matrices (Matrix2/3/4) has a different memory layout than Apple's matrix_float2x2/matrix_float3x3/matrix_float4x4 matrices: the OpenTK versions are row-major, while Apple's versions are column-major. This means that when blitting memory from one to the other, the matrix will appear to have been transposed. See bug #[58599][2] for an example. Unfortunately we've already bound several API with Apple's matrix_floatXxX matrices using OpenTK's matrices, and although they're bound wrong, and the matrices appear transposed on input/output, we can't change the behavior because we have to maintain compatibility. This means we have to introduce new API, and then also just define new matrix types with the right memory layout (column-major). Additionally, in the future we might be able to mark these matrices as Simd-matrixes, so that the JIT/AOT compiler can generate the correct alignment for them, avoiding having to define a native conversion method (using the [MarshalDirective] hack). The matrices have been designed to match API-wise the matrices in the System.Numerics.Vectors namespace [1], but for the moment with only a few basic operations implemented (Determinant/Transpose/Multiply) defined (we can always add more later if we want to). In addition explicit conversion operators to and from the corresponding OpenTK.MatrixX are implemented, which means any operation defined in the OpenTK matrices can be used by converting back and forth. [1]: https://msdn.microsoft.com/en-us/library/system.numerics.matrix4x4(v=vs.111).aspx [2]: https://bugzilla.xamarin.com/show_bug.cgi?id=58599 * [ARKit] Use the new Simd matrix types. * [Vision] Use the new Simd matrix types. * [ModelIO] Use the new Simd-compatible matrix types, and deprecate the old API. * [GameplayKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [SpriteKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [xtro] Don't report missing [MarshalDirective] for obsolete methods. * [xtro] Remove unnecessary ignores. The implementation changed, and these stayed accidentally. * [wkwebkit] Fix (native) protocol names (#2572) Also ignore xtro's WKSnapshotConfiguration since it's an Apple bug 34185961 reference (xtro) !missing-protocol! WKURLSchemeHandler not bound !missing-protocol! WKURLSchemeTask not bound !unknown-protocol! WKUrlSchemeHandler bound !unknown-protocol! WKUrlSchemeTask bound !unknown-type! WKSnapshotConfiguration bound * [uikit] Fix enums availability attributes (#2575) - Fixes bug #59132: [uikit] Extra types in watchOS (https://bugzilla.xamarin.com/show_bug.cgi?id=59132) * [watchkit] Add missing designated initializers (#2574) references (xtro) !missing-designated-initializer! WKInterfaceController::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! WKUserNotificationInterfaceController::init is missing an [DesignatedInitializer] attribute * [xtro] Reword some of the Simd diagnostic messages according to review. * [tests] Make sure test symbols don't clash between different test libraries. Fixes this build problem for framework-test: clang: error: linker command failed with exit code 1 (use -v to see invocation) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_get_rotation_matrix'. MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticObjectTest.framework/XStaticObjectTest (Location related to previous error) MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticArTest.framework/XStaticArTest(libtest-ar.x86_64.o) (Location related to previous error) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransformcomponent_get_local_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_create_global_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float4x4'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float3x3'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float2x2'. MTOUCH: error MT5209: Native linking error: 6 duplicate symbols for architecture x86_64 MTOUCH: error MT5202: Native linking failed. Please review the build log. * [tests] Since libtest.a need ModelIO now, the corresponding LinkWith attributes need to state that too. * [introspection] Don't check native signatures on obsolete members, and ignore the right simd matrix types. Fixes this introspection/Mac problem: ***** ApiSignatureTest.NativeSignatures Selector: uniformWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: uniformWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: uniformWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: setMatrixFloat2x2Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: setMatrixFloat3x3Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: setMatrixFloat4x4Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: initWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: initWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: initWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded * [monotouch-tests] Include more custom asserts for watchOS to make the build work. Fixes this: Simd/MatrixFloat4x4Test.cs(28,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(29,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(37,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(48,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' [...] * [monotouch-test] Exclude code that requires the binding project from xammac tests. Exclude code that requires the test binding project from xammac tests because there's currently no XM version of the test binding project. Fixes this: tests/monotouch-test/SpriteKit/UniformTest.cs(20,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLMaterialProperty.cs(37,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLTransform.cs(34,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) * Bump version for preview #8 (#2576) * [spritekit] Audit fixes (xtro) (#2577) 1. SKVideoNode is now, partially, available on watchOS and does not require the extra, manual code to swicth selectors depending on the OS version being run. !missing-type! SKVideoNode not bound !missing-selector! SKVideoNode::anchorPoint not bound !missing-selector! SKVideoNode::initWithCoder: not bound !missing-selector! SKVideoNode::initWithFileNamed: not bound !missing-selector! SKVideoNode::initWithURL: not bound !missing-selector! SKVideoNode::setAnchorPoint: not bound !missing-selector! SKVideoNode::setSize: not bound !missing-selector! SKVideoNode::size not bound !missing-selector! +SKVideoNode::videoNodeWithFileNamed: not bound !missing-selector! +SKVideoNode::videoNodeWithURL: not bound 2. SKNodeFocusBehavior is exposed needlessly on watchOS because SpriteKit/Enums.cs was not processed by the generator, so [NoWatch] did not matter. !unknown-native-enum! SKNodeFocusBehavior bound It's also visible on macOS but nothing uses it (so we do not expose it needlessly) !missing-enum! SKNodeFocusBehavior not bound 3. Add missing designated initializer on default `init` !missing-designated-initializer! SKAttributeValue::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! SKNode::init is missing an [DesignatedInitializer] attribute 4. Remove inconsistency for SKNode subclasses wrt XAMCORE_4_0 The trio attributeValues, setAttributeValues and setValue:forAttributeNamed: that was moved from SKNode (deprecated) into its subclasses. This was done using XAMCORE_4_0 but not on every subclasses. This adds them everywhere to be consistent (only SKNode versions are not defined in XAMCORE_4_0) !missing-selector! SKEffectNode::attributeValues not bound !missing-selector! SKEffectNode::setAttributeValues: not bound !missing-selector! SKEffectNode::setValue:forAttributeNamed: not bound !missing-selector! SKEffectNode::valueForAttributeNamed: not bound !missing-selector! SKEmitterNode::attributeValues not bound !missing-selector! SKEmitterNode::setAttributeValues: not bound !missing-selector! SKEmitterNode::setValue:forAttributeNamed: not bound !missing-selector! SKEmitterNode::valueForAttributeNamed: not bound !missing-selector! SKSpriteNode::attributeValues not bound !missing-selector! SKSpriteNode::setAttributeValues: not bound !missing-selector! SKSpriteNode::setValue:forAttributeNamed: not bound !missing-selector! SKSpriteNode::valueForAttributeNamed: not bound * [introspection] Make sure '[FAIL]' is printed before every failure. (#2578) This makes xharness able to list the failures in the inline summary. * [xtro] Reword some of the Simd diagnostic messages according to review. * [xharness] Add a missing IsServerMode check to generate correct html. (#2581) * [SpriteKit] SKTransformNode is new in Xcode 9 so no need to keep the broken (and obsolete) non-simd version of RotationMatrix. * [intents] Fix some (partial) xtro issues and #59156 (#2585) reference https://bugzilla.xamarin.com/show_bug.cgi?id=59156 Remaining issues are filled in https://bugzilla.xamarin.com/show_bug.cgi?id=59183 !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound * [Intents] Confirm* interface methods should be bound as Confirm, Fixes Bug 59164 (#2591) * [Intents] Confirm* interface methods should probably be bound as Confirm, Fixes Bug 59164 https://bugzilla.xamarin.com/show_bug.cgi?id=59164 All Confirm* methods from *IntentHandling interfaces should be named just `Confirm` to avoid confusion because most of them do not directly confirm as an acion, but instead they **ask** for confirmation also we would follow swift's naming by doing this. * [Intents] XAMCORE_4_0 all Confirm* methods from *IntentHandling Turns any Confirm* into just Confirm inside a XAMCORE_4_0 block, * [Intents] Fix breaking changes in Intents added in Xcode 9 Bindings (#2590) Apple added more protocol conformances to INRidesharingDomainHandling and INPaymentsDomainHandling protocols in Xcode 9, I introduced these breaking changes back when I did intents binding so fixing them :) * [Metal] New bindings from Xcode 9 betas (#2457) * [AVFoundation] Updated bindings for xcode9. (#2272) * [Xcode9] Add IOSurface bindings (#2363) * This framework was a private framework before iOS 11. This framework was a private framework before iOS 11, yet the headers claim many API were introduced in iOS 10. So take account of this difference by using the private framework location in iOS 10.3 or earlier. Testing these API from Xcode works fine when run on an iOS 10.3 device, and I've confirmed the IOSurface framework is loaded from the private frameworks path on older devices (and when built using Xcode 9 and linked with the public framework path). * Disable code to make IOSurface work on iOS 10. Disable the code to make IOSurface work on iOS 10, since it may be rejected by the App Store. This also means adjusting the availability attributes, so that the introspection tests pass (and to document that technically these API won't work when used with Xamarin.iOS in iOS 10). I've filed bug #[59201][1] to keep track of this, maybe we can re-enable this later. [1]: https://bugzilla.xamarin.com/show_bug.cgi?id=59201 * [CoreMedia] Fix leak in CMAttachmentBearer.GetAttachments. (#2593) The caller owns the return value from CMCopyDictionaryOfAttachments, so tell Runtime.GetNSObject that. * [Intents] Adds missing API found by xtro, fixes Bug 59183 (#2596) https://bugzilla.xamarin.com/show_bug.cgi?id=59183 Fixes !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !incorrect-protocol-member! INUIHostedViewControlling::configureWithInteraction:context:completion: is OPTIONAL and should NOT be abstract * [xtro] Fix StartWorkingDirectory to enable debugging (#2598) * [iosurface] Enable for tvOS and XM classic (to avoid multiple defines around consumer API) (#2597) * [xtro] Fix EnumCheck (#2600) * [ARKit] Rename a few method to make them nicer. (#2604) * DisplayTransform -> GetDisplayTransform since methods should have verbs. * SessionWasInterrupted -> WasInterrupted and SessionInterruptionEnded -> InterruptionEnded since these names match better with the other names (CameraDidChangeTrackingState / DidFail / DidOutputAudioSampleBuffer: none are prefixed with 'Session'). Additionally, the type is a Model (for the delegate pattern), which means all methods are more-or-less event-like, and the first argument is always the same (the protocol itself), which is another indicator the methods should be named similarly. * [Foundation] Remove 'Key' suffix from some fields. (#2606) Of the 168 fields in NSMetadataItem, only these 5 hadn't removed the 'Key' suffix. So make them all equivalent by removing the 'Key' suffix from these 5 fields. * [ImageIO] Fix API to not duplicate the instance in instance methods. (#2609) An instance method does not need to take the instance as a parameter, so remove the first (instance) parameter for CGImageDestination.AddAuxiliaryDataInfo and CGImageSource.CopyAuxiliaryDataInfo. An alternative solution would be to make the methods static, but I like the instance API better. * [UIKit] De-model UIDataSourceTranslating. (#2603) It's not clear from neither the documentation nor the headers how this protocol is supposed to be used, and since it doesn't correspond to the delegate pattern, remove the [Model] attribute for now. We can always add it back later. * [CoreML] Improve API. (#2592) * [CoreML] Improve API. * The indices, shape and stride properties for MLMultiArray and MLMultiArrayConstraint can logically only be arrays of integers, so type them as such. This means adding overloads for MLMultiArray's constructors, GetObject and SetObject methods, and the indexers that takes nint[] arrays instead of NSNumber[] arrays. * Change MLFeatureValue's static factory methods to be a method ('Create') instead of a preposition, and call all the different factory methods the same, since they can be overloaded nicely. * [tests][monotouch-test] Add version check to MLMultiArrayTest and make sure the arrays we create are big enough for the data we put in them. * [tests][monotouch-test] MLMultiArray's elements aren't zero-initialized, so don't assume that in the tests. * Support overloading Objective-C methods based on static/instance. (#2607) Two Objective-C methods can be named identically as long as one is static and the other instance. We must support this since Apple did just this (in the NSItemProviderReading / NSItemProviderWriting protocols). We solve it by prepending a '+' or '-' to the selector when hashing it (to determine selector uniqueness, and to look the method up again at runtime). * [uikit] Update for Xcode 9 - Part 6 (#2602) NSAttributedString.h NSFileProviderExtension.h NSLayoutAnchor.h UIAccessibility.h UIAccessibilityAdditions.h UIAccessibilityContainer.h UIAccessibilityContentSizeCategoryImageAdjusting.h UIAccessibilityCustomRotor.h UIAccessibilityLocationDescriptor.h UITabBar.h UINavigationBar.h UIScreen.h * Xcode9 scenekit (#2512) * [SceneKit] basic work * Added key * [xcode9] SCNCameraController * [xcode9] SCNCamera updates * [xcode9] SCNMaterial * [xcode9] SCNGeometryTessellator, SCNCameraControlConfiguration, SCNView, small bits * Add trailing commas to last enum value * Remove whitespace noise * [scenekit] Update deprecated attributes messages * Addresses some of Rolf's feedback * Drop the WeakDelegate in SCNCameraController * Rename method to Render, remove ctor from class that can not be constructed in Palygrounds, add typo exception * [AppKit] Rename NSBezierPath.AppendBezierPathWithCGGlyph to match its sibling methods. (#2605) NSBezierPath contains a lot of 'AppendPathWithXXX' methods, that all map to 'appendBezierPathXXX' selectors. So rename AppendBezierPathWithCGGlyph accordingly, to make it more similar to the other methods in the same type. * [uikit] Add all UISpringLoadedInteractionSupporting (#2616) Types do not conform to the protocol but protocol methods work on those types (see monotouch-test). Fixed introspection tests accordingly and tested the selectors in monotouch-test. * [Intents] Add convenience ctor overload and call correct base ctor in manual ctor. (#2613) Add a convenience constructor overload in INGetUserCurrentRestaurantReservationBookingsIntent that uses nint instead of NSNumber, since logically "number of results" will always be some sort of integer. Also call the correct base constructor in INSpeakableString's custom constructor (same as any other generated constructor). Otherwise we end up doing something like this: [[[INSpeakableString alloc] init] initWith ...], i.e. calling two different init methods. * [coreimage] Add new headers API up to beta 6 (#2601) Filters are not complete (ref: #57350) https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * Some new constants are not yet documented (type is known), so they are commented / ignored https://bugzilla.xamarin.com/show_bug.cgi?id=59296 * Filled bug for [Wrap] inside [Category] so strong dictionary helpers can be re-enabled later https://bugzilla.xamarin.com/show_bug.cgi?id=59294 * [foundation] xtro fixes for watchOS (#2586) !missing-enum! NSProcessInfoThermalState not bound !missing-field! NSProcessInfoThermalStateDidChangeNotification not bound !missing-selector! NSProcessInfo::thermalState not bound Headers are wrong and preferredPresentationStyle is not in tvOS and watchOS !missing-selector! NSItemProvider::preferredPresentationStyle not bound !missing-selector! NSItemProvider::setPreferredPresentationStyle: not bound * [uikit] Also remove UIPreferredPresentationStyle enum from platform where it's not used * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. (#2614) * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. * NSItemProviderWriting: * NSItemProviderReading: Implement correctly and completely by uncommenting commented out code. * NSMutableString: * NSAttributedString: remove inlined members, since these classes don't implement NSItemProviderReading / NSItemProviderWriting (according to the headers at least). * NSUrl: all platforms now seem to implement NSItemProviderReading / NSItemProviderWriting. * NSString: all platforms now seem to implement both NSItemProviderReading and NSItemProviderWriting * UIColor: * UIImage: Update inlined protocol members according to the latest beta. Additionally, due to the following conditions: * The protocols all have the correct members now. * In the API definition we tell the generator to inline members from a protocol by inheriting from the corresponding interface. * The generator doesn't inline static members from protocols. several 'new' keywords had to be added to silence a compiler warning that occurrs when we manually inline a static member, since the member would be included in the type both from the inherited interface and the manual implementation. * [Foundation] Comment out NSItemProviderWriting.GetItemProviderVisibility to avoid inlining/generating unusable methods. NSItemProviderWriting.GetItemProviderVisibility is an optional method, and none of the native classes that implements NSItemProviderWriting actually imlements the method. This means inlining the method in those classes ends up creating unusable API; so just comment out the method to avoid generating the unusable API. The introspection tests found this: [FAIL] Foundation.NSString : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Foundation.NSUrl : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Contacts.CNContact : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] MapKit.MKMapItem : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIColor : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIImage : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] iOSApiSelectorTest.ApiSelectorTest.StaticMethods : 6 errors found in 2348 static selector validated: See also https://bugzilla.xamarin.com/show_bug.cgi?id=59308 * [iosurface] Add missing [TV] attributes (#2619) * [opengles] Enable the new API using IOSurface (#2618) The symbol only exists inside device libraries, not on simulator, and the introspection tests were updated to ignore it. Part of https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [avfoundation][watchos] Enable AudioBufferList (fix #59145) + audit (xtro) (#2617) 1. AudioBufferList is part of CoreAudio (wrong namespace, which needs a few changes in the generator) and now available in watchOS 4 https://bugzilla.xamarin.com/show_bug.cgi?id=59145 2. Also fixes xtro found issues: !missing-type! AVAudioRecorder not bound !missing-selector! AVAudioRecorder::averagePowerForChannel: not bound !missing-selector! AVAudioRecorder::channelAssignments not bound !missing-selector! AVAudioRecorder::currentTime not bound !missing-selector! AVAudioRecorder::delegate not bound !missing-selector! AVAudioRecorder::deviceCurrentTime not bound !missing-selector! AVAudioRecorder::format not bound !missing-selector! AVAudioRecorder::initWithURL:format:error: not bound !missing-selector! AVAudioRecorder::initWithURL:settings:error: not bound !missing-selector! AVAudioRecorder::isMeteringEnabled not bound !missing-selector! AVAudioRecorder::isRecording not bound !missing-selector! AVAudioRecorder::peakPowerForChannel: not bound !missing-selector! AVAudioRecorder::recordAtTime: not bound !missing-selector! AVAudioRecorder::recordAtTime:forDuration: not bound !missing-selector! AVAudioRecorder::recordForDuration: not bound !missing-selector! AVAudioRecorder::setChannelAssignments: not bound !missing-selector! AVAudioRecorder::setDelegate: not bound !missing-selector! AVAudioRecorder::setMeteringEnabled: not bound !missing-selector! AVAudioRecorder::settings not bound !missing-selector! AVAudioRecorder::url not bound !missing-protocol! AVAudioRecorderDelegate not bound !missing-selector! AVAudioEngine::inputNode not bound !missing-selector! AVAudioEngine::manualRenderingBlock not bound !missing-selector! AVAudioInputNode::setManualRenderingInputPCMFormat:inputBlock: not bound !missing-selector! AVAudioPlayer::format not bound !missing-selector! AVAudioSession::requestRecordPermission: not bound !unknown-field! AVFileType3GPP bound !unknown-field! AVFileType3GPP2 bound !unknown-field! AVFileTypeAC3 bound !unknown-field! AVFileTypeAIFC bound !unknown-field! AVFileTypeAIFF bound !unknown-field! AVFileTypeAMR bound !unknown-field! AVFileTypeAVCI bound !unknown-field! AVFileTypeAppleM4A bound !unknown-field! AVFileTypeAppleM4V bound !unknown-field! AVFileTypeCoreAudioFormat bound !unknown-field! AVFileTypeDNG bound !unknown-field! AVFileTypeEnhancedAC3 bound !unknown-field! AVFileTypeHEIC bound !unknown-field! AVFileTypeHEIF bound !unknown-field! AVFileTypeJPEG bound !unknown-field! AVFileTypeMPEG4 bound !unknown-field! AVFileTypeMPEGLayer3 bound !unknown-field! AVFileTypeQuickTimeMovie bound !unknown-field! AVFileTypeSunAU bound !unknown-field! AVFileTypeTIFF bound !unknown-field! AVFileTypeWAVE bound * [Metal] Implement API using IOSurface now that IOSurface is implemented. Partially fixes #58054. (#2621) https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [PdfKit] Improve PdfAnnotation.QuadrilateralPoints binding by making it strongly typed. (#2620) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). (#2622) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). * [ARKit/Vision] Use the new simd vector types instead of the OpenTK versions. * [ModelIO] Use the new simd vectors in new API (MDLVoxelIndexExtent2). This way we won't have to create a MDLVoxelIndexExtent3 in the future. * [SpriteKit] Use the new simd vectors in new API. * [metal] Audit (xtro) based fixes (#2623) !extra-protocol-member! unexpected selector MTLArgumentEncoder::newArgumentEncoderForBufferAtIndex: found !extra-protocol-member! unexpected selector MTLComputeCommandEncoder::dispatchThreads:threadsPerThreadgroup: found macos-only !missing-field! MTLDeviceRemovalRequestedNotification not bound !missing-field! MTLDeviceWasAddedNotification not bound !missing-field! MTLDeviceWasRemovedNotification not bound !missing-pinvoke! MTLCopyAllDevices is not bound * [CloudKit] Update bindings to beta 6. (#2615) * [FileProvider] Turn NSFileProviderItemIdentifier enum into a static class, fixes bug 59329 (#2634) https://bugzilla.xamarin.com/show_bug.cgi?id=59329 At the time of binding NSFileProviderItemIdentifier it wasn't clear how it was supposed to be used, I mean apple provides two keys which I thought were the only possible values hence binding it as an smart enum. Unfortunately this wasn't the case and the user can use those two values provided from the SDK or their own NSString Identifier. Swift provides a wrapper unfortunately we can't do the same due to NSFileProviderItemIdentifier is used in the NSFileProviderItem protocol and we currently do not support changing signatures on them. * [mtouch] Teach mtouch about the 'IOSurface' framework for tvOS. Fixes #59333. (#2630) https://bugzilla.xamarin.com/show_bug.cgi?id=59333 * Bump Touch.Unit to get fix for API breakage. (#2631) spouliot/Touch.Unit@8f1e19d [NUnitOutputTextWriter] Reintroduce previous constructor to make sure we don't break binary ABI. spouliot/Touch.Unit@00b0c0b [NUnitOutputTextWriter] Don't write invalid xml comments. spouliot/Touch.Unit@de9fe20 [TouchRunner] Restore the original code path when not wrapping NUnit xml output. * [IOSurface] Add missing availability attributes for tvOS. (#2629) * Bump versions for preview 9 (#2624) * [AVFoundation] Add missing interface AVRouteDetector. (#2637) * [tests] Update xtro to reduce list sizes (#2636) * Skip OpenTK duplicate declaration (we can't change them); * Fix rule name change for ARKit / simd; * Add missing default initializer on `init` to pending actions; * Add note for AVPersistableContentKeyRequest changes wrt tvOS; * [ReplayKit] Make RPBroadcastActivityViewController.LoadBroadcastActivityViewController async-capable. (#2639) * [xcode9] More SceneKit bindings (#2633) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 (#2644) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 https://bugzilla.xamarin.com/show_bug.cgi?id=59380 vector_float3 is 16 bytes, which means the binding is incorrect, because Vector3 is 12 bytes, and our code does not that difference into account. * Add tests * [DeviceCheck] Disable default ctor for DCDevice. (#2642) It doesn't seem to be useful according to the documentation, since it appears that the only way to get an instance is to use the static CurrentDevice property. * [audiounit] Audit (xtro) fixes for tvOS (#2635) Availability attributes in non-generated files don't hide symbols/code. reference: !unknown-pinvoke! AudioUnitExtensionCopyComponentList bound !unknown-pinvoke! AudioUnitExtensionSetComponentList bound * [tests] Make sure tvOS tests don't use the (unexisting) API * [tests] Add all test project variations to tests-mac.sln (#2579) * [xharness] Make sure generated mac projects have different project guids. * [introspection] Change the project guid so that it doesn't match the dontlink-mac project guid. * [tests] Add all test project variations to tests-mac.sln. * [xharness] Fix else condition. * [FileProvider] Adds missing NSFileProviderPage constants, fixes bug 59297. (#2646) https://bugzilla.xamarin.com/show_bug.cgi?id=59297 Adds NSFileProviderInitialPageSortedByName and NSFileProviderInitialPageSortedByDate NSData constants * [Xcode9] Remove NSFileProviderMessage and NSFileProviderMessageInterface (#2647) APIs were removed in beta 2 * [Foundation/UIKit] Provide LoadObject[s] methods that return the expected type in the callback. Fixes #59049. (#2638) The callback for these LoadObject[s] methods take an INSItemProviderReading parameter. This tells our runtime that we must provide an instance of a managed object that implements this interface (but nothing else), so we create a `NSItemProviderReadingWrapper` instance, which complies with the API (since the wrapper type implements the corresponding interface). Unfortunately these methods are supposed to return an instance of the passed- in type, so in order to comply with this soft (documentation-only) requirement, provide a wrapper method that creates instances of the right types. https://bugzilla.xamarin.com/show_bug.cgi?id=59049 * [arkit] Ignore deprecated selectors (#2645) * [FileProvider] Adds missing protocol and keys from audit (#2652) ``` !missing-protocol! NSFileProviderServiceSource not bound !missing-field! NSFileProviderErrorCollidingItemKey not bound !missing-field! NSFileProviderErrorNonExistentItemIdentifierKey not bound !missing-field! NSFileProviderFavoriteRankUnranked not bound ``` Also adds `NSXpcListenerEndpoint` to foundation, needed by `NSFileProviderServiceSource` protocol. * [tests][xtro] Workaround xtro runner dupe entry exception and update data files (#2654) * [AVFoundation] Rename field to match others. (#2657) * [homekit] Audit (xtro) fixes (#2653) - HMCharacteristicEvent conforms to NSMutableCopying on iOS11 which makes it 64 bits only (so adjust intro tests) - Ignore extra setters on HMMutablePresenceEvent, rdar 33883958 !missing-selector! HMMutablePresenceEvent::setPresenceEventType: not bound !missing-selector! HMMutablePresenceEvent::setPresenceUserType: not bound * [xtro] Add missing pinvoke to pending (#2662) - Bug 59422: [uikit] Missing UIContentSizeCategoryCompareToCategory & UIContentSizeCategoryIsAccessibilityCategory (https://bugzilla.xamarin.com/show_bug.cgi?id=59422) * Merge latest d15-3 fixes into xcode9 (#2660) * [msbuild] Re-added wildcard (*) expandsion for application-identifier in Entitlements.plist (#2186) Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=57119 * Bump mono (#2213) * Framework tests were still binding non-linked Simple class which errors now (#2216) (#2218) - Improve Makefile to rebuild when projects build with errors * Bump mono to get cecil fix for bug #56808. (#2222) https://bugzilla.xamarin.com/show_bug.cgi?id=56808 * [msbuild] Use @(ReferencePath) instead of @(ResolvedFiles) (#2188) (#2214) This allows things to work on both xbuild and msbuild. In xbuild, both lists are exactly the same and on msbuild, only @(ReferencePath) exists. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=55147 * NSActivityOptions.IdleDisplaySleepDisabled had wrong value (#2232) (#2239) This was due to an integer overflow. The original value was based on Int32 1 << 40 == 256 The correct value should be based on a UInt64. 1UL << 40 == 1099511627776 * [tests] Fix bug 57699 - [iOS]InternalsTest failure (Linkall) tests on device (#2243) Strip native debugging symbols should not be checked for debug builds * Bump mono to get fix for bug #57780. https://bugzilla.xamarin.com/show_bug.cgi?id=57780 * Update .gitmodules Change branch to d15-3 branch of mono * Bump maccore to get fix for bug #55064. https://bugzilla.xamarin.com/show_bug.cgi?id=55064 * [mono] Bump mono to get the head of cecil/mono-2017-04 and fix IsComObject #57919 Also fix #58789 [1], the typo in tools/mtouch/Tuning.cs showing in MT0000 errors instead MT2102. That's already in master and d15-4 mono bump includes: [2] commit 2a6502cee0df9de5198eafe7c8b5f6ac25106f34 (HEAD -> d15-3, origin/d15-3) Merge: 02457c20fcf 5e05cafc6f1 Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 10:04:06 2017 -0400 Merge pull request #5401 from marek-safar/com [Marshal.IsComObject] Make this predicate return false instead of thr… [3] commit 02457c20fcf57c0610e844d638eb1da82b5d1eb0 Merge: da80840ea55 73fd9a1b82e Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 09:59:06 2017 -0400 Merge pull request #5400 from spouliot/bump-cecil-58834-d15-3 [cecil] Bump to the head of the mono-2017-04 branch and pick the fix for bug #58834 References [1] https://bugzilla.xamarin.com/show_bug.cgi?id=58789 [2] https://bugzilla.xamarin.com/show_bug.cgi?id=57919 [3] https://bugzilla.xamarin.com/show_bug.cgi?id=58834 * [mtouch] Put 'mono_profiler_startup_log' in the symbol list. Fixes #58778. (#2501) We need the 'mono_profiler_startup_log' symbol when profiling is enabled, so make sure to add the symbol to the correct list of symbols we need. Previously we were passing `-u _mono_profiler_startup_log` to clang directly, which is fine, but not complete, since it does not write the symbol to the symbollist file (--symbollist=file), which means it wouldn't be preserved when the MSBuild tasks strip the executable. https://bugzilla.xamarin.com/show_bug.cgi?id=58778 * Bump versions for SR3 https://trello.com/c/EVze08ei * Bump mono to include HttpClientHandler fix #44027 https://trello.com/c/jYFXadH8/8-systemnethttp-close-request-stream-when-httpclienthandler https://bugzilla.xamarin.com/show_bug.cgi?id=44027 * [FileProvider] Add missing API and turn NSString to string (#2663) Turned NSString to string in order to match exisiting API. * [uikit] Add UIPasteConfigurationSupporting and UITextPasteConfigurationSupporting (#2649) - Fixes bug #59363: Missing UIPasteConfigurationSupporting, UITextPasteConfigurationSupporting, UITextDraggable and UITextDroppable on a couple of types (https://bugzilla.xamarin.com/show_bug.cgi?id=59363) * [uikit] Remove 129 types in UIPasteConfigurationSupporting case * [scenekit] Audit (xtro) fixes (#2648) This looks like an Apple breaking change (since `SCNAnimation` is new) but we now have: > typedef void (^SCNAnimationEventBlock)(id<SCNAnimation> animation, id animatedObject, BOOL playingBackward); bound as > delegate void SCNAnimationEventHandler (CAAnimation animation, NSObject animatedObject, bool playingBackward); and `CAAnimation` conforms to `SCNAnimation` but *only* the later is available on watchOS. The delegate is only updated (since it's new) on our watchOS profile. xtro references: (watchos) !unknown-protocol! SCNCameraControlConfiguration bound (tvos/watchos) !missing-selector! SCNAnimation::animationEvents not bound !missing-selector! SCNAnimation::setAnimationEvents: not bound !missing-selector! SCNConstraint::isEnabled not bound !missing-selector! SCNConstraint::setEnabled: not bound !missing-field! SCNSceneSourceConvertToYUpKey not bound !missing-field! SCNSceneSourceConvertUnitsToMetersKey not bound (ios/tvos) !missing-protocol-conformance! SCNNode should conform to UIFocusItem * Bump maccore post 15.3 merge (#2665) * Bump Xcode 9 to GM (#2667) * Force build (on wrench) * [avfoundation] Fix breaking changes (apidiff) (#2664) * [TVServices] Update to Xcode 9 GM (#2675) * [GameController] Update to Xcode 9 GM (#2673) * [LocalAuthentication] Update to Xcode 9 GM (#2671) * [LocalAuthentication] Update to Xcode 9 GM * Remove availability from BiometryNotAvailable, BiometryNotEnrolled and BiometryLockout * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer (#2659) * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer Some of the new added types were already present BUT under a #if MONOMAC, they had to be moved. * [AVFoundation] Set the wrongly added API to be obsolete and ensure it returns logical values. (#2650) * [xtro] The right platform for macOS is 'macos', not 'osx'. (#2677) The platform name is used to filter availability attributes, and if we use the wrong platform, we'll incorrectly skip all availability attributes. The net result in unclassified entries: https://gist.github.com/rolfbjarne/a4474bc2a40c49a85cad495b51bb514f * Various Xcode 9 API improvements and also fixes bug 59433 (#2676) https://bugzilla.xamarin.com/show_bug.cgi?id=59433 While fixing bug 59433 I noticed some additional issues outlined below: AVDepthData: * Renamed **non** static `Create` methods because `Create` only makes sense with the **Static** method in this context. Also by renaming the methods we are now closer to the names that swift uses. * Kept descriptive method names in favor of self-documenting code. `Convert`, `Apply` and `Replace` do not fully give us the intent of the method. * Added a convenience `Create` static method that takes a `CGImageAuxiliaryDataInfo`. * AvailableDepthDataTypes is now an array of `CVPixelFormatType` instead of a `NSNumber` array (The aactual fix for bug 59433). ImageIO: * Refactored `CGImageAuxiliaryDataInfo` to be a `StrongDictionary` in order to avoid most of the manual code and also to avoid reimplementing the `ToDictionary` method (which contained a subtle bug). * Adjusted code to reflect the above change. * Added missing `.ctor (IntPtr, bool)` to `CGImageMetadata` so the class is able to be created by our `Runtime.Get*`. * Simplified `CopyAuxiliaryDataInfo` method by using `CGImageAuxiliaryDataInfo` as a `DictionaryContainer`. Tests: * Added `xamarinmonkey.heic` which is an image that contains depth data needed to test above changes. * Adds `AVDepthDataTests` that touches most of the changes listed here. * Tweak the Simd-compatible matrices and vectors (#2668) * Rename them to be OpenTK.NMatrix# (instead of Simd.MatrixFloat#x#). * Remove the Vector2 and Vector4 variants, we'll use the OpenTK types instead (but we'll keep the NVector3 variant, since it's not identical to the OpenTK version). * Update the API to match their OpenTK counterparts better: * NMatrix2 and NMatrix3 have a 0-based R#C# scheme for their fields. * NMatrix4 has a 1-based M## scheme for its fields (i.e. no change). * [AVFoundation] Use Simd-matrix for API that needs it. (#2679) This also requires implementing the corresponding matrix (NMatrix4x3). Fixes this xtro issue: > !unknown-simd-type-in-signature! OpenTK.Matrix3 AVFoundation.AVCameraCalibrationData::get_GetIntrinsicMatrix(): the native signature has a simd type (matrix_float3x3), while the corresponding managed method is using an incorrect (non-simd) type. * [xtro] Fix checking availability on categories. (#2682) When checking for category availability, check if both the current declaration is a category, and if the current's declaration container is a category. Otherwise this scenario fails: * Category method is available. * Category does not have availability attributes. * Main class is unavailable. with this typical code sequence: ```csharp // don't process methods (or types) that are unavailable for the current platform if (!decl.IsAvailable () || !(decl.DeclContext as Decl).IsAvailable ()) return; ``` In which case we'd: * First check the method (`decl`): * It's available, so no further checks is done on the method. * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container's container is a category (it isn't, it's the namespace). and as such determine that the method is available. With this change, the second step will become: * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container is a category (it is), and if its main class is available (it isn't). and as such determine that the method is unavailable. * Check for attributes on the method's container (no attributes, so we continue). * Check if the method's Unclassified diff: https://gist.github.com/rolfbjarne/8fa80962596978a426eadf9b7ba39dc1 * [uikit] Update for Xcode 9 GM (#2670) * [AVFoundation] Implement AVCapturePhoto. Partially fixes #59388. (#2678) Fixes: > common.unclassified:!missing-type! AVCapturePhoto not bound https://bugzilla.xamarin.com/show_bug.cgi?id=59388 * Use strong dictionaries for AVCapturePhoto.Metadata and AVCapturePhoto.EmbeddedThumbnailPhotoFormat. * [SIMD] Implement Simd double types (VectorDouble3/MatrixDouble4x4). (#2632) The following types will be used by ModelIO bindings * Fix delta to be double * Rename Simd-compatible matrices and vectors to match our final naming. This also means removing the new Vector2 and Vector4 variants (but not Vector3). * [avfoundation] Remove AVAssetDownloadDelegate.DidLoadTimeRange since it was removed in one of the betas (#2687) * [foundation] Move NSUrlSessionMultipathServiceType to a file processed by the generator (for the availability attributes) (#2688) * [arkit] Update for Xcode 9 GM (#2681) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes (#2690) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes Type Changed: Intents.INCarSeatResolutionResult Removed methods: public static INCarSeatResolutionResult GetConfirmationRequired (INCarSeat valueToConfirm); public static INCarSeatResolutionResult GetSuccess (INCarSeat resolvedValue); * [avfoundation] Add missing protocol members and deprecations (#2691) !missing-protocol-member! AVCapturePhotoCaptureDelegate::captureOutput:didFinishProcessingPhoto:error: not found and the selector removed from PR#2687 was actually replaced with this one !missing-protocol-member! AVAssetDownloadDelegate::URLSession:aggregateAssetDownloadTask:didLoadTimeRange:totalTimeRangesLoaded:timeRangeExpectedToLoad:forMediaSelection: not found * [tests][xtro] Map some enums, more fix with protocols and update entries (#2692) * [Tests] Reenable dns tests on the watch. (#2674) * [arkit] Add ARBlendShapeLocationOptions strong dictionary (#2696) * [coreimage] Skip not yet bound filters added in Xcode9 (#2698) Tracked in https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * [Metal] Renamed MTLArgumentDescriptor.ArgumentDescriptor to Create, fixes bug 59498 (#2702) https://bugzilla.xamarin.com/show_bug.cgi?id=59498 From [argumentDescriptor docs](https://developer.apple.com/documentation/metal/mtlargumentdescriptor/2915746-argumentdescriptor?language=objc) > Creates an empty argument descriptor. * [msbuild] Always codesign app bundles if the codesign key is non-null (#2697) ...even if it is a simulator build. Turns out that starting with Xcode9, sim builds need to be codesigned for App Groups entitlements to work properly. Interestingly, the DetectSigningIdentity logic had a comment about needing to codesign simulator builds for some entitlements to work already starting with Xcode 8 but apparently the iOS targets did not respect this. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=59379 * [Foundation] Add NSProxy stub in order to workaround bug 59247 (#2693) https://bugzilla.xamarin.com/show_bug.cgi?id=59247 We need to have a better solution that removes all what NSProxy does not responds to. Right now this works because NSObject implements NSObject protocol just like NSProxy, but NSProxy responds to far less selectors hence doing it internal so it is not a breaking change when we provide the correct fix. * Keep NSProxy around and avoid XML linker description We need to keep NSProxy (avoid linking it) if WKNavigationDelegate or IWKNavigationDelegate is used. We know WKWebView will be there and can hold a reference to it. * [Xcode 9] Update Metal for GM (#2689) * [iosurface] IOSurface is not usable before iOS/tvOS 11. Fixes #59201 (#2706) Apple rejects apps that links with the previously private IOSurface.framework. We were not sure about this [1] and had it disabled (this is removed). However another bug stopped our adjustment logic [2] from being executed. This is needed since `clang` picks up the private framework if it does not find the public one (even when asking for a weak framework), [1] https://bugzilla.xamarin.com/show_bug.cgi?id=59201 [2] Added a while ago for JavascriptCore * Bump maccore to point to commit with the docs fix. (#2703) * Bump XI to 11.0.x (and XM to 3.99.9.x) (#2684) * fix typo
2017-09-16 00:53:16 +03:00
[Deprecated (PlatformName.MacOSX, 10, 13, message: "Use 'FieldOfView' or 'FocalLength' instead.")]
[Deprecated (PlatformName.iOS, 11, 0, message: "Use 'FieldOfView' or 'FocalLength' instead.")]
[Deprecated (PlatformName.TvOS, 11, 0, message: "Use 'FieldOfView' or 'FocalLength' instead.")]
[Deprecated (PlatformName.WatchOS, 4, 0, message: "Use 'FieldOfView' or 'FocalLength' instead.")]
2016-04-21 15:30:02 +03:00
[Export ("yFov")]
double YFov { get; set; }
[Export ("zNear")]
double ZNear { get; set; }
[Export ("zFar")]
double ZFar { get; set; }
[Export ("usesOrthographicProjection")]
bool UsesOrthographicProjection { get; set; }
[Static, Export ("camera")]
SCNCamera Create ();
[iOS (8,0)][Mac (10,9)]
[Export ("projectionTransform")]
SCNMatrix4 ProjectionTransform { get; [Mac (10,9)] set; }
[iOS (8,0)][Mac (10,9)]
[Export ("automaticallyAdjustsZRange")]
bool AutomaticallyAdjustsZRange { get; set; }
[iOS (8,0)][Mac (10,9)]
[Export ("orthographicScale")]
double OrthographicScale { get; set; }
Merge xcode9 into d15-4[-xi] (#2710) * [FileProvider] Add Xcode 9 Beta 1, 2 & 3 Bindings (#2279) * [FileProvider] Add Xcode 9 Beta 1 Bindings * Better naming * Feedback not related to BindAs * [FileProvider] Removes BindAs, add manual code for it and updated to Beta 3 * [FileProvider] Implement feedback * [CoreSpotlight] Updated spotlight bindings for xcode 9 beta 3. (#2193) Updated spotlight bindings for xcode 9 beta 3. * Fix warning caused by duplicate (#2354) * [FileProviderUI] Add Xcode 9 Beta 1 to 3 bindings (#2356) * Bump to Xcode 9 beta 4 * [arkit] ARLightEstimate does not conform to NSCopying anymore (fix unit test) * [uikit] NSFileProviderExtension.ReparentItem got a new parameter in beta4 (fix unit test) * [coreimage] CIImageAccumulator init returns nil in beta 4 There's no header change to mention `init` is not allowed but it's not clear how this default initializer could be used. Also make public some other API to construct this type (outside of XM). It's not clear why there were `internal` as they are (at least now) part of the header files. * [photos] Add helpers when PHLivePhotoEditingOption/NSDictionary is null (to avoid ambiguous API) (#2360) Adding a strongly typed `PHLivePhotoEditingOption` (a strongly typed version of an `NSDictionary`) can cause a `CS0121` (call is ambiguous) since using a `null` argument is common (only one option exist so far). This PR adds overloads that makes the code nicer in such case, e.g. before Xcode9: > // null is used when no options are given > _foo.SaveLivePhoto (output, null, completion); current (Xcode 9) > // casting required to remove ambiguity with PHLivePhotoEditingOption > _foo.SaveLivePhoto (output, (NSDictionary)null, completion); with this PR > // no option, no argument > _foo.SaveLivePhoto (output, completion); The same applies to `PrepareLivePhotoForPlayback`. * [tests] Disable/tweak two tests that breaks on (almost) all Xcode updates Those tests were not added to validate xOS so just keep the parts that helps us (without constantly checking back the new break flavor) * Disable watchOS to check if this hides others issues * [mapkit] Update for beta 4 * [coredata] Update for beta 4 * [wkwebkit] Update for beta 4 Note: WKWindowFeatures.h is not compiled (part of the framework umbrella) and the `@interface WKWindowFeatures (WKPrivate)` sounds like it should not have been exposed (it's all fields starting with `_`) * [corelocation] Update for beta 4 * Revert "Disable watchOS to check if this hides others issues" This reverts commit fed2249fa43290a1956ab2fe0d48f83ab6db9711. * [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]: https://github.com/xamarin/xamarin-macios/blob/f5956d6cc1eb5dfa7bab16628cf282d40237f64e/src/generator.cs#L5985 * [FinderSync] Update to beta 4 (#2377) * [ImageIO] Update to Xcode 9 (#2353) * [PhotosUI] Move macOS photosui bindings out of photos.cs into photosui.cs (#2358) * [quicklook] Update up to beta 4 (#2374) * [uikit] UIDragInteraction & UIDragInteractionDelegate (Xcode 9 b1,2,3) (#2357) * [safariservices] Update up to beta 4 (#2380) * [coreanimation] Update to beta 4 (#2382) Apple removed (mistake?) some API in beta 1. Filed as rdar 33590997 Internal tracking in https://trello.com/c/J8BDDUV9/86-33590997-coreanimation-quartzcore-api-removals * [storekit] Update up to beta 4 (#2379) * [CoreML] Update to Xcode 9 Beta 4 (#2387) * [uikit] UICollectionView/UITableView Drag & Drop (Xcode 9 b1,2,3 & 4) (#2355) * Update code after radar 32929318 and 32897776 are fixed in b4 (#2394) * [xcode9 CoreAudio] New definitions from Beta1 to Beta3 (#2359) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 (#2397) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 https://bugzilla.xamarin.com/show_bug.cgi?id=58512 Created strong API (VNBarcodeSymbology) on the following properties * VNDetectBarcodesRequest.SupportedSymbologies * VNDetectBarcodesRequest.Symbologies * VNBarcodeObservation.Symbology * Remove modern C# because classic can't do it 😡 * [mediaplayer] Update up to beta 4 (#2388) * [watchkit] Update to beta 4 (#2398) * Bump Visual Studio for Mac max version (#2408) * [coreimage] Add CIBarcodeDescriptor and enabled missing API for VNBarcodeObservation. Fix #58197 (#2411) https://bugzilla.xamarin.com/show_bug.cgi?id=58197 * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 (#2407) * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 * [uikit] Fixes based on comments * [coreimage] CIImageAccumulator API fixes. Fix #58349 (#2412) * Obsolete the default `init`; * XM exposed some older APIs using `int` instead of `CIFormat`. This is fixed and old APIs are obsoleted; * Both new & old APIs are now using `CIFormat` for both XI and XM. https://bugzilla.xamarin.com/show_bug.cgi?id=58349 * [uikit] UIText drag & drop - up to Xcode 9 beta 4 (#2410) * [uikit] UISplitView & UIStackView up to Xcode 9 beta 4 (#2425) * Bump XI/XM versions before preview 4 (#2422) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 (#2378) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 * [PDFKit] Implement feedback * [PDFKit] the forgotten enum * [PDFKit] More feedback * [PDFKit] Add Mac changes * Missing change * Fix test RectangleF VS CGRect * Pass -Wunguarded-availability-new to quiet a new clang warning (#2424) - https://bugzilla.xamarin.com/show_bug.cgi?id=58574 * [mtouch/mmp] Ignore warnings about unguarded code section with regards to availability. (#2441) * [monotouch-test] Remove workaround for fixed Apple bug. (#2445) * Bump to Xcode 9 beta 5. (#2447) * Bump to Xcode 9 beta 5. * [mmp] Disable the partial static registrar, because Apple's macOS SDK is broken. > In file included from Xamarin.Mac.registrar.mobile.i386.m:1: > In file included from ./Xamarin.Mac.registrar.mobile.i386.h:11: > /Applications/Xcode9-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVFoundation.h:88:9: fatal error: 'AVFoundation/AVRouteDetector.h' file not found https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [mmp] Fix partial static registrar removal. * [CallKit] Update to Xcode 9 beta 5. * [ARKit] ARPointCloud doesn't conform to NSCopying anymore in Xcode 9 beta 5. * [ARKit] Update to Xcode 9 beta 5 enough to make tests happy. * [CoreImage] Stub out new filters in Xcode 9 beta 5. * [tests][monotouch] Simplify some MDLMesh asserts since values change a lot between OS versions. * [mmp] Default to the dynamic registrar for release builds again, due to bug #58629. https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [tests][introspection] CXCall started implementing NSCopying without saying so in the headers. * Disable mmp static registrar tests due to 58629 for now * [quicklook] Update to beta 5 (#2450) * [photos] Update for beta 5 (#2452) Also update some existing enum members were added in beta 1 on macOS * [safariservices] Update for beta 5 (#2455) * [mediaplayer] Update to beta 5 (#2456) * [CoreLocation] Update Xcode 9 Beta 5 (#2453) * [CoreML] Update to Xcode 9 Beta 5 (#2454) * [Contacts] Update to Xcode 9 Beta 5 (#2451) * [Vision] Update to Xcode 9 Beta 5 (#2458) * [builds] Tell LLVM to stay away from newer macOS functions. (#2459) Fixes this build problem on Sierra: > ld: weak import of symbol '_futimens' not supported because of option: -no_weak_imports for architecture x86_64 This is a symbol that was (will be?) introduced in High Sierra. Interestingly this only occurs if the Xcode 8.X Command Line Tools haven't been manually installed. Because if the Xcode 8.X Command Line Tools are installed, this happens: 1. llvm's configure script detects that 'futimens' is not usable. 2. llvm's configure script detects that 'futimens' is not usable, because xcrun sets SDKROOT=/ when calling clang. a. When the SDKROOT variable is set, clang passes '-syslibroot /usr/lib' to ld. b. When ld gets '-syslibroot /usr/lib', ld looks in '/usr/lib' for a library that contains 'futimens' in the OS itself, and since we're on Sierra, that fails to link. c. So when llvm's configure script creates a test program that checks if 'futimens' is present, the program fails. This is correct, and makes llvm *not* use futimens. 3. xcrun sets SDKROOT=/ because /usr/share/current-os.sdk/Info.plist exists. If that file does not exist, then xcrun sets SDKROOT to Xcode9's macOS SDK (because that's what xcode-select reports). a. When SDKROOT is set to Xcode9's macOS SDK, the configure check for 'futimens' succeeds, because the macOS 10.13 SDK contains that function. b. llvm happily uses 'futimens', and then the final link fails because we're using a symbol not available on all target platforms. * [arkit] Update for Xcode 9 beta 5 - Part 1 (#2460) * [tests] The container app for watchOS tests should be 64-bit. (#2463) * [xharness] watchOS tests need to run in a clean environment. Works around #58348. (#2462) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [xharness] It watchOS tests don't need to be clean anymore. Fixes #58348. (#2473) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [uikit] UIView/UIScrollView/UIViewController up to Xcode 9 beta 5 (#2431) - Add NSDirectionalEdgeInsets type. - Includes DirectionalEdgeInsetsTest. * [AudioToolbox] Update bindings to Xcode 9 beta3 (not later changes). (#2294) * [xharness] Add a file existence check. (#2478) Fixes this exception: ``` Harness exception for 'introspection': System.IO.FileNotFoundException: Could not find file '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log'. File name: '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log' at System.IO.__Error.WinIOError (System.Int32 errorCode, System.String maybeFullPath) [0x00207] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/__error.cs:188 at System.IO.FileInfo.get_Length () [0x00038] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/fileinfo.cs:171 at xharness.CaptureLog.StopCapture () [0x00021] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Log.cs:252 at (wrapper remoting-invoke-with-check) xharness.CaptureLog:StopCapture () at xharness.AppRunner+<RunAsync>d__68.MoveNext () [0x0127f] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/AppRunner.cs:642 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter`1[TResult].GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:357 at xharness.RunSimulatorTask+<RunTestAsync>d__7.MoveNext () [0x0029d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2894 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.RunTestTask+<ExecuteAsync>d__8.MoveNext () [0x0010b] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2538 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.TestTask+<RunInternalAsync>d__87.MoveNext () [0x0010d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:1870 ``` I'm not sure how this can happen, but it has on the bots [1]. [1] https://jenkins.mono-project.com/job/xamarin-macios-pr-builder/4548/Test_Report/ * Bump versions for preview 5 (#2479) * [passkit] Update to beta 5 (#2481) * [tests] Remove workaround for radar #32688391. (#2486) * [replaykit] Update up to beta 5 (#2484) * Bump maccore to get fix for bug #55064. (#2487) * [apidiff] Update definition to new 10.12 (d15-3) stable release (#2490) * [SceneKit] basic work (#2483) * [coredata] Update to beta 5 (#2488) * [homekit] Update for Xcode 9 beta 5 (#2492) * [Foundation] Update for xcode9 (#2468) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 (#2493) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 * [Intents] Implement feedback * [Intents] Add a generic version for INInteraction.GetParameterValue * [Intents] Missing check * [Contacts] Add missing foundation NSItemProviderWriting protocol to CNContact (#2496) https://bugzilla.xamarin.com/show_bug.cgi?id=58203 This is available on all Contacts supported platforms ``` ./iPhoneOS.platform/Developer/SDKs/iPhoneOS11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchOS.platform/Developer/SDKs/WatchOS4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchSimulator.platform/Developer/SDKs/WatchSimulator4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ``` * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) (#2497) * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) * [IntentsUI] Better use a delegate instead so we have named params * Bump versions before 6th preview (#2514) * [arkit] Add missing MarshalDirective to ARPlaneAnchor (#2517) - Fixes bug #58648: ARPlaneAnchor.Extent property seems incorrect but changes to correct value after Debug access (https://bugzilla.xamarin.com/show_bug.cgi?id=58648) * [xtro-sharpie] Fix a compiler warning. (#2516) Fixes these warnings: Runner.cs(197,5): warning CS0642: Possible mistaken empty statement Runner.cs(199,5): warning CS0642: Possible mistaken empty statement Runner.cs(201,5): warning CS0642: Possible mistaken empty statement Runner.cs(203,5): warning CS0642: Possible mistaken empty statement Runner.cs(205,5): warning CS0642: Possible mistaken empty statement * [uikit] Update for Xcode 9 beta 5 - Part 3 (#2511) - UIKeyCommand - UINavigationBar - UINavigationItem - UIPasteboard - UITableViewHeaderFooterView * [xtro-sharpie] Remove xtro-plugin and misc other fixes. (#2522) * [xtro-sharpie] Build with msbuild and be as quiet as requested when building. * [xtro-sharpie] Must run as a 64-bit process, since the required native libraries are 64-bit. * [xtro-sharpie] Add run configurations to the project file to ease debugging in the IDE. * [xtro-sharpie] Remove xtro-plugin and the related commands. This was needed when there wasn't a 64-bit mono, in order to run xtro-sharpie in a 64-bit process. Now there is a 64-bit mono, so it's not needed anymore. Also improve makefile targets a bit, to auto-build stuff when needed, by setting the right dependencies. * Bump Xcode 9 to beta 6 (#2519) Disable watchOS tests again It seems like the Carousel crash from beta 4 is back to haunt us. This was working fine with beta 5. * Backport d15-3 SR2 fixes (#2515) * [coredata] Update to beta 6 (#2528) This seems to only revert some nullability changes from beta 5. * [coreml] Update to beta 6 (#2531) Fix our rdar 33643011 where additional setters were added in the headers but did not exists. * [videosubscriberaccount] Update to beta 6 (#2533) Only b1 and b2 introduced some additions/changes * [uikit] Update for Xcode 9 beta 6 - Part 4 (#2527) The following headers are now up to date: - UICollectionViewFlowLayout.h - UIDocumentPickerViewController.h - UIFontDescriptor.h - UIImage.h - UIImageView.h - UIImagePickerController.h * [xharness] Re-enable the watchOS tests. (#2534) It works fine for me locally, so let's see what Jenkins says. * [macos] Add new APIs in CoreWlan from Xcode9b3 (#2525) * Update AppKit bindings based on radar 33271241 results (#2518) * Update AppKit bindings based on radar 33271241 results - The header comment was updated to note it was NSSliderTouchBarItem view that has the protocol * Remove NSUserInterfaceCompression where not listed in header * [vision] Update to beta 6 (#2532) Removal of some deprecated (during beta) `init*` selectors. Also sync the versions that were inlined in subclasses - the old ones were not removed and the new ones were not added. * [xtro-sharpie] Many methods don't have selectors in Clang's API, so default to the name if no selector. (#2523) This makes a few more unclassified entries show up (mostly missing designated initializers): https://gist.github.com/rolfbjarne/07aa20f9b50b75bf3e69ac6a825e873a * [macos] Add ExternalAccessory APIs from xcode9 (#2526) * [58851] Disable NSMenuView in AllItemsWithNSMenuShouldAllowNull (#2504) * [arkit] Update for Xcode 9 beta 5 - Part 2 (#2505) - Add last missing selector. - Add tests for manual code. * [monotouch-test] Disable FontDescriptorTest.WithFeature (#2537) Disabled because it looks like the tvOS font we use: "Gujarati Sangam MN" does not have rare ligatures anymore (and the entire test is based on it). Before getting an actual fix for that, let's disable the test so it doesn't break all current builds. See: https://bugzilla.xamarin.com/show_bug.cgi?id=58929 * [xtro-sharpie] Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute. (#2524) Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute to calculate the native name for a TypeDefinition. Unclassified changes: https://gist.github.com/rolfbjarne/828f8ee41eebb0a3b60a38d71822fe59 * [foundation/uikit] Inline NSItemProvider_UIKitAdditions in NSItemProvider (#2538) As suggested here: https://github.com/xamarin/xamarin-macios/pull/2527#discussion_r134670981 * [intents] Fix breaking changes (api-diff) (#2543) Additions of @required members inside `INSpeakable` cannot be `[Abstract]` * [contacts] Fix breaking change (api-diff) (#2542) Type Changed: Contacts.CNPostalAddress Removed method: public static string LocalizeProperty (CNPostalAddressKeyOption option); * [macos] Reenable static registrar since Xcode9b6 un-broke SDK headers (#2544) - Fix a subtle spacing issues in PartialStaticLibrary property * [corebluetooth] Update up to beta 6 and enable it on watchOS (#2540) macOS 10.13 has finally catch up with iOS and this simplifies the bindings a bit. * [foundation] API fixes (apidiff) (#2545) 1. Let's not add new, already [Obsolete] API Type Changed: Foundation.NSDimension Added constructors: [Obsolete ("Not intended to be directly instantiated, this is an abstract class.")] public NSDimension (); 2. Fix inconsistently named API, e.g. Type Changed: Foundation.NSAttributedString Added properties: public static string[] ReadableTypeIdentifiersForItemProvider { get; } public static string[] WritableTypeIdentifiers { get; } * [pdfkit] Do not add already [Obsolete] API in new profiles (#2547) and ensure using the newer, correct API works cross-platforms iOS (before) [Obsolete ("Use 'Find (string, NSStringCompareOptions)' instead.")] public virtual PdfSelection[] Find (string text, nint options); public PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'Find (string, PdfSelection, NSStringCompareOptions)' instead.")] public virtual PdfSelection Find (string text, PdfSelection selection, nint options); public void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string, NSStringCompareOptions)' instead.")] public virtual void FindAsync (string text, nint options); public void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string [], NSStringCompareOptions)' instead.")] public virtual void FindAsync (string[] text, nint options); iOS (after) public virtual PdfSelection[] Find (string text, Foundation.NSStringCompareOptions compareOptions); public virtual PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); * Bump versions for the 7th preview (#2541) * Remove additions of AVKit removed in beta5 (#2536) * NSUrlSessionTask should implement NSProgressReporting for iOS (#2548) NSUrlSessionTask implements NSProgressReporting on iOS as well as Mac, so the #if MONOMAC isn't needed. * Add missing availability attributes causing failures on older iOS versions (#2550) * [vision] Minor fix wrt xtro (#2551) including some things we need to ignore manually !missing-field! VNVisionVersionNumber not bound !missing-pinvoke! VNImagePointForFaceLandmarkPoint is not bound !missing-pinvoke! VNNormalizedFaceBoundingBoxPointForLandmarkPoint is not bound * [uikit] NSFileProviderMessaging was removed in beta 2. Fixes #58222 (#2552) reference: https://bugzilla.xamarin.com/show_bug.cgi?id=58222 * [uikit] Update for Xcode 9 - Part 5 (#2546) Bindings for the following headers: - UIActivity.h - UIActivityItemProvider.h - UIAlertController.h - UIApplication.h - UIBarButtonItem.h - UIButton.h - UICollectionViewLayout.h - UIColor.h - UIControl.h - UIDocumentMenuViewController.h - UIFontMetrics.h - UIGestureRecognizer.h - UIGraphicsImageRenderer.h - UIInputViewController.h * [CoreText] Fix an extraneous free in CTFont.GetDefaultCascadeList. (#2555) We do not own the return value from CFArrayGetValueAtIndex, so don't say we do when creating CTFontDescriptor instances, since that leads to angry dragons: 2017-08-28 20:15:20.293 monotouchtest[33186:2311738] A_FontTest 2017-08-28 20:15:20.294 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithFontDescriptorAndOptions 2017-08-28 20:15:20.295 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithNameAndOptions 2017-08-28 20:15:20.296 monotouchtest[33186:2311738] critical: Stacktrace: at <unknown> <0xffffffff> at (wrapper managed-to-native) CoreText.CTFont.CTFontCopyDefaultCascadeListForLanguages (intptr,intptr) [0x0000a] in <ae65a2b1eea242d2b68fe784749543bf>:0 at CoreText.CTFont.GetDefaultCascadeList (string[]) [0x00013] in /work/maccore/xcode9/xamarin-macios/src/CoreText/CTFont.cs:2185 at MonoTouchFixtures.CoreText.A_FontTest.GetCascadeList () [0x0001e] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/CoreText/FontTest.cs:78 at (wrapper runtime-invoke) object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) [0x0004f] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) System.Reflection.MonoMethod.InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&) [0x00016] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at System.Reflection.MonoMethod.Invoke (object,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo) [0x00032] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/corlib/System.Reflection/MonoMethod.cs:305 at System.Reflection.MethodBase.Invoke (object,object[]) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/referencesource/mscorlib/system/reflection/methodbase.cs:229 at NUnit.Framework.Internal.Reflect.InvokeMethod (System.Reflection.MethodInfo,object,object[]) [0x00009] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Reflect.cs:215 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunNonAsyncTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x00025] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:116 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x0001a] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:90 at NUnit.Framework.Internal.Commands.TestMethodCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:66 at NUnit.Framework.Internal.Commands.SetUpTearDownCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00007] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/SetUpTearDownCommand.cs:84 at NUnit.Framework.Internal.WorkItems.SimpleWorkItem.PerformWork () [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/SimpleWorkItem.cs:64 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at MonoTouch.NUnit.UI.BaseTouchRunner.Run (NUnit.Framework.Internal.Test) [0x0004d] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:442 at MonoTouch.NUnit.UI.BaseTouchRunner.Run () [0x00030] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:171 at MonoTouch.Dialog.StringElement.Selected (MonoTouch.Dialog.DialogViewController,UIKit.UITableView,Foundation.NSIndexPath) [0x00008] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/Elements.cs:765 at MonoTouch.Dialog.DialogViewController.Selected (Foundation.NSIndexPath) [0x00026] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:577 at MonoTouch.Dialog.DialogViewController/Source.RowSelected (UIKit.UITableView,Foundation.NSIndexPath) [0x00016] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:402 at (wrapper runtime-invoke) <Module>.runtime_invoke_void__this___object_object (object,intptr,intptr,intptr) [0x0005d] in <32f0c196c5bc4aa18daea2ee64a7814e>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) UIKit.UIApplication.UIApplicationMain (int,string[],intptr,intptr) [0x0005c] in <ae65a2b1eea242d2b68fe784749543bf>:0 at UIKit.UIApplication.Main (string[],intptr,intptr) [0x00005] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:79 at UIKit.UIApplication.Main (string[],string,string) [0x00038] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:63 at monotouchtest.Application.Main (string[]) [0x00011] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/Main.cs:27 at (wrapper runtime-invoke) <Module>.runtime_invoke_void_object (object,intptr,intptr,intptr) [0x00051] in <30a7f7e09de9467b8b454221034a0e38>:0 Native stacktrace: 0 monotouchtest 0x000000010fca03c4 mono_handle_native_crash + 244 1 monotouchtest 0x000000010fcadd30 mono_sigsegv_signal_handler + 288 2 libsystem_platform.dylib 0x000000011feb3b3a _sigtramp + 26 3 CoreFoundation 0x000000011de035a2 computeSanitizedString + 146 4 CoreText 0x00000001168df314 _ZN15TPurgeableCache19RetainedValueForKeyEPKv + 54 5 CoreText 0x00000001168def85 _ZNK17TDescriptorSource22CopyDescriptorUncachedEPK7__CFURLbPK10__CFString + 55 6 CoreText 0x00000001168df34f _ZNK17TDescriptorSource14CopyDescriptorEPK7__CFURLbPK10__CFString + 27 7 CoreText 0x00000001168e20ad _ZNK17TDescriptorSource35CopyFontDescriptorPerPostScriptNameEPK10__CFStringmm + 297 8 CoreText 0x00000001168dfd9e _ZNK17TDescriptorSource30CopySystemFontDescriptorByNameEPK10__CFString10UIFontFlag + 54 9 CoreText 0x00000001168e54c4 _ZNK14TFontFallbacks17CopyFontFallbacksEPK10__CFStringS2_PK9__CFArray + 652 10 CoreText 0x00000001168e4a00 _ZNK14TFontFallbacks29CopyFontFallbacksForLanguagesEPK10__CFStringPK9__CFArray + 122 11 CoreText 0x00000001168e4971 _ZN17TDescriptorSource39CopyDefaultSubstitutionListForLanguagesEPK10__CFStringPK9__CFArray + 61 12 CoreText 0x00000001169397a7 _ZNK9TBaseFont28CreateSystemDefaultFallbacksEPK10__CFStringPK9__CFArray + 51 13 CoreText 0x000000011693999c _ZNK9TBaseFont15CreateFallbacksE10UIFontFlagPPK16__CFCharacterSetPK9__CFArray + 346 14 CoreText 0x00000001168c1036 _ZNK5TFont24CreateDefaultCascadeListEPK9__CFArray + 242 15 CoreText 0x00000001168b8ff9 CTFontCopyDefaultCascadeListForLanguages + 97 16 ??? 0x0000000140eaefd3 0x0 + 5384105939 17 ??? 0x0000000140eae761 0x0 + 5384103777 18 ??? 0x000000013c9c8e74 0x0 + 5311860340 19 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 20 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 21 monotouchtest 0x000000010fd71bac mono_runtime_try_invoke_array + 1292 22 monotouchtest 0x000000010fd15587 ves_icall_InternalInvoke + 647 23 ??? 0x000000013e9fcd13 0x0 + 5345627411 24 ??? 0x000000013e9fc738 0x0 + 5345625912 25 ??? 0x000000013e9fded5 0x0 + 5345631957 26 ??? 0x000000013e9fbb76 0x0 + 5345622902 27 ??? 0x000000013e9e237e 0x0 + 5345518462 28 ??? 0x000000013e9e237e 0x0 + 5345518462 29 ??? 0x000000013e9e237e 0x0 + 5345518462 30 ??? 0x000000013e9e237e 0x0 + 5345518462 31 ??? 0x000000013e873006 0x0 + 5344014342 32 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 33 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 34 monotouchtest 0x000000010fd6e320 mono_runtime_invoke + 208 35 monotouchtest 0x000000010fe71af1 xamarin_invoke_trampoline + 5617 36 monotouchtest 0x000000010fe79ddd xamarin_arch_trampoline + 189 37 monotouchtest 0x000000010fe7b1a1 xamarin_x86_64_common_trampoline + 110 38 UIKit 0x0000000111b9876b -[UITableView _selectRowAtIndexPath:animated:scrollPosition:notifyDelegate:] + 1810 39 UIKit 0x0000000111b98986 -[UITableView _userSelectRowAtPendingSelectionIndexPath:] + 344 40 UIKit 0x0000000111a6b5c9 _runAfterCACommitDeferredBlocks + 318 41 UIKit 0x0000000111a59dad _cleanUpAfterCAFlushAndRunDeferredBlocks + 280 42 UIKit 0x0000000111a89f68 _afterCACommitHandler + 137 43 CoreFoundation 0x000000011de3ddb7 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23 44 CoreFoundation 0x000000011de3dd0e __CFRunLoopDoObservers + 430 45 CoreFoundation 0x000000011de22324 __CFRunLoopRun + 1572 46 CoreFoundation 0x000000011de21a89 CFRunLoopRunSpecific + 409 47 GraphicsServices 0x0000000121b7e9c6 GSEventRunModal + 62 48 UIKit 0x0000000111a5f7d0 UIApplicationMain + 159 49 ??? 0x000000013c9c4474 0x0 + 5311841396 50 ??? 0x000000013c9c40ad 0x0 + 5311840429 ================================================================= Got a SIGSEGV while executing native code. This usually indicates a fatal error in the mono runtime or one of the native libraries used by your application. ================================================================= * [monotouch-test] Don't subclass MKMapView. (#2556) MKMapView doesn't like being subclassed (Apple says "you should not subclass the MKMapView class itself"). Bad things like this starts happening: Thread 0 name: tid_303 Dispatch queue: com.apple.main-thread Thread 0 Crashed: 0 libsystem_kernel.dylib 0x0000000186b25348 __pthread_kill + 8 1 libsystem_pthread.dylib 0x0000000186c39354 pthread_kill$VARIANT$mp + 396 2 libsystem_c.dylib 0x0000000186a94fd8 abort + 140 3 monotouchtest 0x0000000101c02c14 mono_handle_native_crash + 22047764 (mini-exceptions.c:2548) 4 monotouchtest 0x0000000101c0d02c mono_sigsegv_signal_handler + 22089772 (mini-runtime.c:2886) 5 libsystem_platform.dylib 0x0000000186c33b60 _sigtramp + 52 6 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 7 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 8 CoreFoundation 0x0000000186eda51c -[__NSArrayM dealloc] + 68 9 CoreFoundation 0x000000018703f5c8 __CFBasicHashDrain + 312 10 CoreFoundation 0x0000000186fb5b44 _CFRelease + 224 11 CoreText 0x000000018a808404 TDescriptorSource::PurgeFontFallbacksCache+ 488452 () + 92 12 CoreText 0x000000018a808374 TDescriptorSource::PurgeFromCaches+ 488308 (__CFURL const*) const + 176 13 CoreText 0x000000018a7eec74 CTFontRemoveFromCaches + 168 14 VectorKit 0x0000000196a539b0 +[VKSharedResourcesManager removeResourceUser:] + 324 15 VectorKit 0x0000000196ca27a4 md::MapEngine::~MapEngine+ 2643876 () + 360 16 VectorKit 0x0000000196ca2634 md::MapEngine::~MapEngine+ 2643508 () + 12 17 libobjc.A.dylib 0x000000018651eef4 object_cxxDestructFromClass+ 28404 (objc_object*, objc_class*) + 148 18 libobjc.A.dylib 0x000000018652c638 objc_destructInstance + 88 19 libobjc.A.dylib 0x000000018652c690 object_dispose + 16 20 QuartzCore 0x000000018afca3ac -[CALayer dealloc] + 116 21 VectorKit 0x0000000196a43294 -[VKMapView dealloc] + 940 22 QuartzCore 0x000000018af6aafc CA::release_objects+ 744188 (X::List<void const*>*) + 32 23 QuartzCore 0x000000018afd97d8 CA::Layer::~Layer+ 1198040 () + 276 24 QuartzCore 0x000000018afca37c -[CALayer dealloc] + 68 25 QuartzCore 0x000000018af6b16c CA::Transaction::commit+ 745836 () + 1052 26 UIKit 0x0000000190393290 _afterCACommitHandler + 256 27 CoreFoundation 0x0000000186fb38b8 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 32 28 CoreFoundation 0x0000000186fb1270 __CFRunLoopDoObservers + 412 29 CoreFoundation 0x0000000186fb182c __CFRunLoopRun + 1292 30 CoreFoundation 0x0000000186ed22d8 CFRunLoopRunSpecific + 436 31 GraphicsServices 0x0000000188d58f84 GSEventRunModal + 100 32 UIKit 0x000000019040427c UIApplicationMain + 208 33 monotouchtest 0x000000010106eb90 wrapper_managed_to_native_UIKit_UIApplication_UIApplicationMain_int_string___intptr_intptr + 9907088 (/<unknown>:1) 34 monotouchtest 0x0000000100f0d6ac UIKit_UIApplication_Main_string___intptr_intptr + 8459948 (UIApplication.cs:79) 35 monotouchtest 0x0000000100f0d66c UIKit_UIApplication_Main_string___string_string + 8459884 (UIApplication.cs:63) 36 monotouchtest 0x0000000100b10450 monotouchtest_Application_Main_string__ + 4277328 (Main.cs:27) 37 monotouchtest 0x0000000100e0c244 wrapper_runtime_invoke_object_runtime_invoke_dynamic_intptr_intptr_intptr_intptr + 244 38 monotouchtest 0x0000000101c10048 mono_jit_runtime_invoke + 22102088 (mini-runtime.c:2526) 39 monotouchtest 0x0000000101c75eec do_runtime_invoke + 22519532 (object.c:2829) 40 monotouchtest 0x0000000101c78a3c do_exec_main_checked + 22530620 (object.c:4623) 41 monotouchtest 0x0000000101bf9a1c mono_jit_exec + 22010396 (driver.g.c:1040) 42 monotouchtest 0x0000000101d13d60 xamarin_main + 23166304 (monotouch-main.m:482) 43 monotouchtest 0x00000001007de710 main + 927504 (main.m:67) 44 libdyld.dylib 0x00000001869f656c start + 4 * [introspection] Let SkipDueToAttributeInProperty skip setters too (#2557) `SkipDueToAttributeInProperty` which is used to check the availability attribute of properties when the Availability info only exist on the property and not on the property Getter or Setter was wrong. This lead to `setSpringLoaded` (which was introduced in iOS 11) to not be ignored by the test (making it fail). - Fix bug #59085: [introspection-ios] selector not found for UIKit.UIBarButtonItem : setSpringLoaded: - Broken test (https://bugzilla.xamarin.com/show_bug.cgi?id=59085) * [corevideo][watchos] Enable CoreVideo on watchOS (#2553) * [storekit] Fix CampaignToken typo (#2559) (#2560) - Fixes bug #59078: StoreProductParameters and invalid property for CampaignToken (https://bugzilla.xamarin.com/show_bug.cgi?id=59078) * [coreml][watchos] Enable API using CoreVideo on watchOS. Fix #58097 (#2561) https://bugzilla.xamarin.com/show_bug.cgi?id=58097 * Add missing [MarshalDirective] attributes. (#2558) * [bindings-generator] Improve build & project file. * Add missing [MarshalDirective] attributes. Add missing [MarshalDirective] attributes, which also requires implementing support for out parameters in the binding generator, since one of the signatures missing the [MarshalDirective] contains such an out parameter. Also add tests for all the API I've added [MarshalDirective] to. * [bindings-generator] Remove redundant if check. * [monotouch-test] Rename file to end with 'Test.cs'. * [tests] Fix a few build errors for Xamarin.Mac. * [uikit] Fix UIColor and UIInputViewController tvOS availability (#2569) - Fixes introspection tests on tvOS 10. * [storekit] Fix SKCloudServiceSetupMessageIdentifier and SKProductStorePromotionController tvOS availability (#2568) - Fixes introspection tests on tvOS 10. * [mapkit] Fix MKMapItemTypeIdentifier tvOS availability (#2566) - Also remove double [Mac] availability attribute. - Fixes introspection tests on tvOS 10. * [ARKit] Fix marshalling for ARPointCloud.RawFeaturePoints. (#2565) ARPointCloud.RawFeaturePoints is an array of Vector3, but each vector is 16-byte aligned (as if it were an array of Vector4). This means we need to account for this when creating a managed array from pointer to the native C-style array. * [ModelIO] Fix MDLVoxelIndexExtent struct. (#2564) The MDLVoxelIndexExtent is a struct containing two 4-dimensional vectors of integers (not floats, as originally and incorrectly implemented). Fix this my creating a new MDLVoxelIndexExtent2 struct with the right fields, re-implement all the API that exposes this struct and obsolete the old API. Also add missing [MarshalDirective] attributes. And write a test to make sure it works fine now and forever. * [coredata] Enable new fields since rdar #33878590 is fixed w/beta 6 (#2570) reference: https://trello.com/c/dlSRYPFx * [xtro-sharpie] Add a Simd check class to verify signatures with Simd types. * [Simd] Add simd matrix types. The OpenTK matrices (Matrix2/3/4) has a different memory layout than Apple's matrix_float2x2/matrix_float3x3/matrix_float4x4 matrices: the OpenTK versions are row-major, while Apple's versions are column-major. This means that when blitting memory from one to the other, the matrix will appear to have been transposed. See bug #[58599][2] for an example. Unfortunately we've already bound several API with Apple's matrix_floatXxX matrices using OpenTK's matrices, and although they're bound wrong, and the matrices appear transposed on input/output, we can't change the behavior because we have to maintain compatibility. This means we have to introduce new API, and then also just define new matrix types with the right memory layout (column-major). Additionally, in the future we might be able to mark these matrices as Simd-matrixes, so that the JIT/AOT compiler can generate the correct alignment for them, avoiding having to define a native conversion method (using the [MarshalDirective] hack). The matrices have been designed to match API-wise the matrices in the System.Numerics.Vectors namespace [1], but for the moment with only a few basic operations implemented (Determinant/Transpose/Multiply) defined (we can always add more later if we want to). In addition explicit conversion operators to and from the corresponding OpenTK.MatrixX are implemented, which means any operation defined in the OpenTK matrices can be used by converting back and forth. [1]: https://msdn.microsoft.com/en-us/library/system.numerics.matrix4x4(v=vs.111).aspx [2]: https://bugzilla.xamarin.com/show_bug.cgi?id=58599 * [ARKit] Use the new Simd matrix types. * [Vision] Use the new Simd matrix types. * [ModelIO] Use the new Simd-compatible matrix types, and deprecate the old API. * [GameplayKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [SpriteKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [xtro] Don't report missing [MarshalDirective] for obsolete methods. * [xtro] Remove unnecessary ignores. The implementation changed, and these stayed accidentally. * [wkwebkit] Fix (native) protocol names (#2572) Also ignore xtro's WKSnapshotConfiguration since it's an Apple bug 34185961 reference (xtro) !missing-protocol! WKURLSchemeHandler not bound !missing-protocol! WKURLSchemeTask not bound !unknown-protocol! WKUrlSchemeHandler bound !unknown-protocol! WKUrlSchemeTask bound !unknown-type! WKSnapshotConfiguration bound * [uikit] Fix enums availability attributes (#2575) - Fixes bug #59132: [uikit] Extra types in watchOS (https://bugzilla.xamarin.com/show_bug.cgi?id=59132) * [watchkit] Add missing designated initializers (#2574) references (xtro) !missing-designated-initializer! WKInterfaceController::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! WKUserNotificationInterfaceController::init is missing an [DesignatedInitializer] attribute * [xtro] Reword some of the Simd diagnostic messages according to review. * [tests] Make sure test symbols don't clash between different test libraries. Fixes this build problem for framework-test: clang: error: linker command failed with exit code 1 (use -v to see invocation) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_get_rotation_matrix'. MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticObjectTest.framework/XStaticObjectTest (Location related to previous error) MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticArTest.framework/XStaticArTest(libtest-ar.x86_64.o) (Location related to previous error) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransformcomponent_get_local_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_create_global_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float4x4'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float3x3'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float2x2'. MTOUCH: error MT5209: Native linking error: 6 duplicate symbols for architecture x86_64 MTOUCH: error MT5202: Native linking failed. Please review the build log. * [tests] Since libtest.a need ModelIO now, the corresponding LinkWith attributes need to state that too. * [introspection] Don't check native signatures on obsolete members, and ignore the right simd matrix types. Fixes this introspection/Mac problem: ***** ApiSignatureTest.NativeSignatures Selector: uniformWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: uniformWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: uniformWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: setMatrixFloat2x2Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: setMatrixFloat3x3Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: setMatrixFloat4x4Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: initWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: initWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: initWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded * [monotouch-tests] Include more custom asserts for watchOS to make the build work. Fixes this: Simd/MatrixFloat4x4Test.cs(28,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(29,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(37,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(48,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' [...] * [monotouch-test] Exclude code that requires the binding project from xammac tests. Exclude code that requires the test binding project from xammac tests because there's currently no XM version of the test binding project. Fixes this: tests/monotouch-test/SpriteKit/UniformTest.cs(20,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLMaterialProperty.cs(37,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLTransform.cs(34,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) * Bump version for preview #8 (#2576) * [spritekit] Audit fixes (xtro) (#2577) 1. SKVideoNode is now, partially, available on watchOS and does not require the extra, manual code to swicth selectors depending on the OS version being run. !missing-type! SKVideoNode not bound !missing-selector! SKVideoNode::anchorPoint not bound !missing-selector! SKVideoNode::initWithCoder: not bound !missing-selector! SKVideoNode::initWithFileNamed: not bound !missing-selector! SKVideoNode::initWithURL: not bound !missing-selector! SKVideoNode::setAnchorPoint: not bound !missing-selector! SKVideoNode::setSize: not bound !missing-selector! SKVideoNode::size not bound !missing-selector! +SKVideoNode::videoNodeWithFileNamed: not bound !missing-selector! +SKVideoNode::videoNodeWithURL: not bound 2. SKNodeFocusBehavior is exposed needlessly on watchOS because SpriteKit/Enums.cs was not processed by the generator, so [NoWatch] did not matter. !unknown-native-enum! SKNodeFocusBehavior bound It's also visible on macOS but nothing uses it (so we do not expose it needlessly) !missing-enum! SKNodeFocusBehavior not bound 3. Add missing designated initializer on default `init` !missing-designated-initializer! SKAttributeValue::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! SKNode::init is missing an [DesignatedInitializer] attribute 4. Remove inconsistency for SKNode subclasses wrt XAMCORE_4_0 The trio attributeValues, setAttributeValues and setValue:forAttributeNamed: that was moved from SKNode (deprecated) into its subclasses. This was done using XAMCORE_4_0 but not on every subclasses. This adds them everywhere to be consistent (only SKNode versions are not defined in XAMCORE_4_0) !missing-selector! SKEffectNode::attributeValues not bound !missing-selector! SKEffectNode::setAttributeValues: not bound !missing-selector! SKEffectNode::setValue:forAttributeNamed: not bound !missing-selector! SKEffectNode::valueForAttributeNamed: not bound !missing-selector! SKEmitterNode::attributeValues not bound !missing-selector! SKEmitterNode::setAttributeValues: not bound !missing-selector! SKEmitterNode::setValue:forAttributeNamed: not bound !missing-selector! SKEmitterNode::valueForAttributeNamed: not bound !missing-selector! SKSpriteNode::attributeValues not bound !missing-selector! SKSpriteNode::setAttributeValues: not bound !missing-selector! SKSpriteNode::setValue:forAttributeNamed: not bound !missing-selector! SKSpriteNode::valueForAttributeNamed: not bound * [introspection] Make sure '[FAIL]' is printed before every failure. (#2578) This makes xharness able to list the failures in the inline summary. * [xtro] Reword some of the Simd diagnostic messages according to review. * [xharness] Add a missing IsServerMode check to generate correct html. (#2581) * [SpriteKit] SKTransformNode is new in Xcode 9 so no need to keep the broken (and obsolete) non-simd version of RotationMatrix. * [intents] Fix some (partial) xtro issues and #59156 (#2585) reference https://bugzilla.xamarin.com/show_bug.cgi?id=59156 Remaining issues are filled in https://bugzilla.xamarin.com/show_bug.cgi?id=59183 !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound * [Intents] Confirm* interface methods should be bound as Confirm, Fixes Bug 59164 (#2591) * [Intents] Confirm* interface methods should probably be bound as Confirm, Fixes Bug 59164 https://bugzilla.xamarin.com/show_bug.cgi?id=59164 All Confirm* methods from *IntentHandling interfaces should be named just `Confirm` to avoid confusion because most of them do not directly confirm as an acion, but instead they **ask** for confirmation also we would follow swift's naming by doing this. * [Intents] XAMCORE_4_0 all Confirm* methods from *IntentHandling Turns any Confirm* into just Confirm inside a XAMCORE_4_0 block, * [Intents] Fix breaking changes in Intents added in Xcode 9 Bindings (#2590) Apple added more protocol conformances to INRidesharingDomainHandling and INPaymentsDomainHandling protocols in Xcode 9, I introduced these breaking changes back when I did intents binding so fixing them :) * [Metal] New bindings from Xcode 9 betas (#2457) * [AVFoundation] Updated bindings for xcode9. (#2272) * [Xcode9] Add IOSurface bindings (#2363) * This framework was a private framework before iOS 11. This framework was a private framework before iOS 11, yet the headers claim many API were introduced in iOS 10. So take account of this difference by using the private framework location in iOS 10.3 or earlier. Testing these API from Xcode works fine when run on an iOS 10.3 device, and I've confirmed the IOSurface framework is loaded from the private frameworks path on older devices (and when built using Xcode 9 and linked with the public framework path). * Disable code to make IOSurface work on iOS 10. Disable the code to make IOSurface work on iOS 10, since it may be rejected by the App Store. This also means adjusting the availability attributes, so that the introspection tests pass (and to document that technically these API won't work when used with Xamarin.iOS in iOS 10). I've filed bug #[59201][1] to keep track of this, maybe we can re-enable this later. [1]: https://bugzilla.xamarin.com/show_bug.cgi?id=59201 * [CoreMedia] Fix leak in CMAttachmentBearer.GetAttachments. (#2593) The caller owns the return value from CMCopyDictionaryOfAttachments, so tell Runtime.GetNSObject that. * [Intents] Adds missing API found by xtro, fixes Bug 59183 (#2596) https://bugzilla.xamarin.com/show_bug.cgi?id=59183 Fixes !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !incorrect-protocol-member! INUIHostedViewControlling::configureWithInteraction:context:completion: is OPTIONAL and should NOT be abstract * [xtro] Fix StartWorkingDirectory to enable debugging (#2598) * [iosurface] Enable for tvOS and XM classic (to avoid multiple defines around consumer API) (#2597) * [xtro] Fix EnumCheck (#2600) * [ARKit] Rename a few method to make them nicer. (#2604) * DisplayTransform -> GetDisplayTransform since methods should have verbs. * SessionWasInterrupted -> WasInterrupted and SessionInterruptionEnded -> InterruptionEnded since these names match better with the other names (CameraDidChangeTrackingState / DidFail / DidOutputAudioSampleBuffer: none are prefixed with 'Session'). Additionally, the type is a Model (for the delegate pattern), which means all methods are more-or-less event-like, and the first argument is always the same (the protocol itself), which is another indicator the methods should be named similarly. * [Foundation] Remove 'Key' suffix from some fields. (#2606) Of the 168 fields in NSMetadataItem, only these 5 hadn't removed the 'Key' suffix. So make them all equivalent by removing the 'Key' suffix from these 5 fields. * [ImageIO] Fix API to not duplicate the instance in instance methods. (#2609) An instance method does not need to take the instance as a parameter, so remove the first (instance) parameter for CGImageDestination.AddAuxiliaryDataInfo and CGImageSource.CopyAuxiliaryDataInfo. An alternative solution would be to make the methods static, but I like the instance API better. * [UIKit] De-model UIDataSourceTranslating. (#2603) It's not clear from neither the documentation nor the headers how this protocol is supposed to be used, and since it doesn't correspond to the delegate pattern, remove the [Model] attribute for now. We can always add it back later. * [CoreML] Improve API. (#2592) * [CoreML] Improve API. * The indices, shape and stride properties for MLMultiArray and MLMultiArrayConstraint can logically only be arrays of integers, so type them as such. This means adding overloads for MLMultiArray's constructors, GetObject and SetObject methods, and the indexers that takes nint[] arrays instead of NSNumber[] arrays. * Change MLFeatureValue's static factory methods to be a method ('Create') instead of a preposition, and call all the different factory methods the same, since they can be overloaded nicely. * [tests][monotouch-test] Add version check to MLMultiArrayTest and make sure the arrays we create are big enough for the data we put in them. * [tests][monotouch-test] MLMultiArray's elements aren't zero-initialized, so don't assume that in the tests. * Support overloading Objective-C methods based on static/instance. (#2607) Two Objective-C methods can be named identically as long as one is static and the other instance. We must support this since Apple did just this (in the NSItemProviderReading / NSItemProviderWriting protocols). We solve it by prepending a '+' or '-' to the selector when hashing it (to determine selector uniqueness, and to look the method up again at runtime). * [uikit] Update for Xcode 9 - Part 6 (#2602) NSAttributedString.h NSFileProviderExtension.h NSLayoutAnchor.h UIAccessibility.h UIAccessibilityAdditions.h UIAccessibilityContainer.h UIAccessibilityContentSizeCategoryImageAdjusting.h UIAccessibilityCustomRotor.h UIAccessibilityLocationDescriptor.h UITabBar.h UINavigationBar.h UIScreen.h * Xcode9 scenekit (#2512) * [SceneKit] basic work * Added key * [xcode9] SCNCameraController * [xcode9] SCNCamera updates * [xcode9] SCNMaterial * [xcode9] SCNGeometryTessellator, SCNCameraControlConfiguration, SCNView, small bits * Add trailing commas to last enum value * Remove whitespace noise * [scenekit] Update deprecated attributes messages * Addresses some of Rolf's feedback * Drop the WeakDelegate in SCNCameraController * Rename method to Render, remove ctor from class that can not be constructed in Palygrounds, add typo exception * [AppKit] Rename NSBezierPath.AppendBezierPathWithCGGlyph to match its sibling methods. (#2605) NSBezierPath contains a lot of 'AppendPathWithXXX' methods, that all map to 'appendBezierPathXXX' selectors. So rename AppendBezierPathWithCGGlyph accordingly, to make it more similar to the other methods in the same type. * [uikit] Add all UISpringLoadedInteractionSupporting (#2616) Types do not conform to the protocol but protocol methods work on those types (see monotouch-test). Fixed introspection tests accordingly and tested the selectors in monotouch-test. * [Intents] Add convenience ctor overload and call correct base ctor in manual ctor. (#2613) Add a convenience constructor overload in INGetUserCurrentRestaurantReservationBookingsIntent that uses nint instead of NSNumber, since logically "number of results" will always be some sort of integer. Also call the correct base constructor in INSpeakableString's custom constructor (same as any other generated constructor). Otherwise we end up doing something like this: [[[INSpeakableString alloc] init] initWith ...], i.e. calling two different init methods. * [coreimage] Add new headers API up to beta 6 (#2601) Filters are not complete (ref: #57350) https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * Some new constants are not yet documented (type is known), so they are commented / ignored https://bugzilla.xamarin.com/show_bug.cgi?id=59296 * Filled bug for [Wrap] inside [Category] so strong dictionary helpers can be re-enabled later https://bugzilla.xamarin.com/show_bug.cgi?id=59294 * [foundation] xtro fixes for watchOS (#2586) !missing-enum! NSProcessInfoThermalState not bound !missing-field! NSProcessInfoThermalStateDidChangeNotification not bound !missing-selector! NSProcessInfo::thermalState not bound Headers are wrong and preferredPresentationStyle is not in tvOS and watchOS !missing-selector! NSItemProvider::preferredPresentationStyle not bound !missing-selector! NSItemProvider::setPreferredPresentationStyle: not bound * [uikit] Also remove UIPreferredPresentationStyle enum from platform where it's not used * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. (#2614) * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. * NSItemProviderWriting: * NSItemProviderReading: Implement correctly and completely by uncommenting commented out code. * NSMutableString: * NSAttributedString: remove inlined members, since these classes don't implement NSItemProviderReading / NSItemProviderWriting (according to the headers at least). * NSUrl: all platforms now seem to implement NSItemProviderReading / NSItemProviderWriting. * NSString: all platforms now seem to implement both NSItemProviderReading and NSItemProviderWriting * UIColor: * UIImage: Update inlined protocol members according to the latest beta. Additionally, due to the following conditions: * The protocols all have the correct members now. * In the API definition we tell the generator to inline members from a protocol by inheriting from the corresponding interface. * The generator doesn't inline static members from protocols. several 'new' keywords had to be added to silence a compiler warning that occurrs when we manually inline a static member, since the member would be included in the type both from the inherited interface and the manual implementation. * [Foundation] Comment out NSItemProviderWriting.GetItemProviderVisibility to avoid inlining/generating unusable methods. NSItemProviderWriting.GetItemProviderVisibility is an optional method, and none of the native classes that implements NSItemProviderWriting actually imlements the method. This means inlining the method in those classes ends up creating unusable API; so just comment out the method to avoid generating the unusable API. The introspection tests found this: [FAIL] Foundation.NSString : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Foundation.NSUrl : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Contacts.CNContact : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] MapKit.MKMapItem : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIColor : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIImage : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] iOSApiSelectorTest.ApiSelectorTest.StaticMethods : 6 errors found in 2348 static selector validated: See also https://bugzilla.xamarin.com/show_bug.cgi?id=59308 * [iosurface] Add missing [TV] attributes (#2619) * [opengles] Enable the new API using IOSurface (#2618) The symbol only exists inside device libraries, not on simulator, and the introspection tests were updated to ignore it. Part of https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [avfoundation][watchos] Enable AudioBufferList (fix #59145) + audit (xtro) (#2617) 1. AudioBufferList is part of CoreAudio (wrong namespace, which needs a few changes in the generator) and now available in watchOS 4 https://bugzilla.xamarin.com/show_bug.cgi?id=59145 2. Also fixes xtro found issues: !missing-type! AVAudioRecorder not bound !missing-selector! AVAudioRecorder::averagePowerForChannel: not bound !missing-selector! AVAudioRecorder::channelAssignments not bound !missing-selector! AVAudioRecorder::currentTime not bound !missing-selector! AVAudioRecorder::delegate not bound !missing-selector! AVAudioRecorder::deviceCurrentTime not bound !missing-selector! AVAudioRecorder::format not bound !missing-selector! AVAudioRecorder::initWithURL:format:error: not bound !missing-selector! AVAudioRecorder::initWithURL:settings:error: not bound !missing-selector! AVAudioRecorder::isMeteringEnabled not bound !missing-selector! AVAudioRecorder::isRecording not bound !missing-selector! AVAudioRecorder::peakPowerForChannel: not bound !missing-selector! AVAudioRecorder::recordAtTime: not bound !missing-selector! AVAudioRecorder::recordAtTime:forDuration: not bound !missing-selector! AVAudioRecorder::recordForDuration: not bound !missing-selector! AVAudioRecorder::setChannelAssignments: not bound !missing-selector! AVAudioRecorder::setDelegate: not bound !missing-selector! AVAudioRecorder::setMeteringEnabled: not bound !missing-selector! AVAudioRecorder::settings not bound !missing-selector! AVAudioRecorder::url not bound !missing-protocol! AVAudioRecorderDelegate not bound !missing-selector! AVAudioEngine::inputNode not bound !missing-selector! AVAudioEngine::manualRenderingBlock not bound !missing-selector! AVAudioInputNode::setManualRenderingInputPCMFormat:inputBlock: not bound !missing-selector! AVAudioPlayer::format not bound !missing-selector! AVAudioSession::requestRecordPermission: not bound !unknown-field! AVFileType3GPP bound !unknown-field! AVFileType3GPP2 bound !unknown-field! AVFileTypeAC3 bound !unknown-field! AVFileTypeAIFC bound !unknown-field! AVFileTypeAIFF bound !unknown-field! AVFileTypeAMR bound !unknown-field! AVFileTypeAVCI bound !unknown-field! AVFileTypeAppleM4A bound !unknown-field! AVFileTypeAppleM4V bound !unknown-field! AVFileTypeCoreAudioFormat bound !unknown-field! AVFileTypeDNG bound !unknown-field! AVFileTypeEnhancedAC3 bound !unknown-field! AVFileTypeHEIC bound !unknown-field! AVFileTypeHEIF bound !unknown-field! AVFileTypeJPEG bound !unknown-field! AVFileTypeMPEG4 bound !unknown-field! AVFileTypeMPEGLayer3 bound !unknown-field! AVFileTypeQuickTimeMovie bound !unknown-field! AVFileTypeSunAU bound !unknown-field! AVFileTypeTIFF bound !unknown-field! AVFileTypeWAVE bound * [Metal] Implement API using IOSurface now that IOSurface is implemented. Partially fixes #58054. (#2621) https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [PdfKit] Improve PdfAnnotation.QuadrilateralPoints binding by making it strongly typed. (#2620) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). (#2622) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). * [ARKit/Vision] Use the new simd vector types instead of the OpenTK versions. * [ModelIO] Use the new simd vectors in new API (MDLVoxelIndexExtent2). This way we won't have to create a MDLVoxelIndexExtent3 in the future. * [SpriteKit] Use the new simd vectors in new API. * [metal] Audit (xtro) based fixes (#2623) !extra-protocol-member! unexpected selector MTLArgumentEncoder::newArgumentEncoderForBufferAtIndex: found !extra-protocol-member! unexpected selector MTLComputeCommandEncoder::dispatchThreads:threadsPerThreadgroup: found macos-only !missing-field! MTLDeviceRemovalRequestedNotification not bound !missing-field! MTLDeviceWasAddedNotification not bound !missing-field! MTLDeviceWasRemovedNotification not bound !missing-pinvoke! MTLCopyAllDevices is not bound * [CloudKit] Update bindings to beta 6. (#2615) * [FileProvider] Turn NSFileProviderItemIdentifier enum into a static class, fixes bug 59329 (#2634) https://bugzilla.xamarin.com/show_bug.cgi?id=59329 At the time of binding NSFileProviderItemIdentifier it wasn't clear how it was supposed to be used, I mean apple provides two keys which I thought were the only possible values hence binding it as an smart enum. Unfortunately this wasn't the case and the user can use those two values provided from the SDK or their own NSString Identifier. Swift provides a wrapper unfortunately we can't do the same due to NSFileProviderItemIdentifier is used in the NSFileProviderItem protocol and we currently do not support changing signatures on them. * [mtouch] Teach mtouch about the 'IOSurface' framework for tvOS. Fixes #59333. (#2630) https://bugzilla.xamarin.com/show_bug.cgi?id=59333 * Bump Touch.Unit to get fix for API breakage. (#2631) spouliot/Touch.Unit@8f1e19d [NUnitOutputTextWriter] Reintroduce previous constructor to make sure we don't break binary ABI. spouliot/Touch.Unit@00b0c0b [NUnitOutputTextWriter] Don't write invalid xml comments. spouliot/Touch.Unit@de9fe20 [TouchRunner] Restore the original code path when not wrapping NUnit xml output. * [IOSurface] Add missing availability attributes for tvOS. (#2629) * Bump versions for preview 9 (#2624) * [AVFoundation] Add missing interface AVRouteDetector. (#2637) * [tests] Update xtro to reduce list sizes (#2636) * Skip OpenTK duplicate declaration (we can't change them); * Fix rule name change for ARKit / simd; * Add missing default initializer on `init` to pending actions; * Add note for AVPersistableContentKeyRequest changes wrt tvOS; * [ReplayKit] Make RPBroadcastActivityViewController.LoadBroadcastActivityViewController async-capable. (#2639) * [xcode9] More SceneKit bindings (#2633) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 (#2644) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 https://bugzilla.xamarin.com/show_bug.cgi?id=59380 vector_float3 is 16 bytes, which means the binding is incorrect, because Vector3 is 12 bytes, and our code does not that difference into account. * Add tests * [DeviceCheck] Disable default ctor for DCDevice. (#2642) It doesn't seem to be useful according to the documentation, since it appears that the only way to get an instance is to use the static CurrentDevice property. * [audiounit] Audit (xtro) fixes for tvOS (#2635) Availability attributes in non-generated files don't hide symbols/code. reference: !unknown-pinvoke! AudioUnitExtensionCopyComponentList bound !unknown-pinvoke! AudioUnitExtensionSetComponentList bound * [tests] Make sure tvOS tests don't use the (unexisting) API * [tests] Add all test project variations to tests-mac.sln (#2579) * [xharness] Make sure generated mac projects have different project guids. * [introspection] Change the project guid so that it doesn't match the dontlink-mac project guid. * [tests] Add all test project variations to tests-mac.sln. * [xharness] Fix else condition. * [FileProvider] Adds missing NSFileProviderPage constants, fixes bug 59297. (#2646) https://bugzilla.xamarin.com/show_bug.cgi?id=59297 Adds NSFileProviderInitialPageSortedByName and NSFileProviderInitialPageSortedByDate NSData constants * [Xcode9] Remove NSFileProviderMessage and NSFileProviderMessageInterface (#2647) APIs were removed in beta 2 * [Foundation/UIKit] Provide LoadObject[s] methods that return the expected type in the callback. Fixes #59049. (#2638) The callback for these LoadObject[s] methods take an INSItemProviderReading parameter. This tells our runtime that we must provide an instance of a managed object that implements this interface (but nothing else), so we create a `NSItemProviderReadingWrapper` instance, which complies with the API (since the wrapper type implements the corresponding interface). Unfortunately these methods are supposed to return an instance of the passed- in type, so in order to comply with this soft (documentation-only) requirement, provide a wrapper method that creates instances of the right types. https://bugzilla.xamarin.com/show_bug.cgi?id=59049 * [arkit] Ignore deprecated selectors (#2645) * [FileProvider] Adds missing protocol and keys from audit (#2652) ``` !missing-protocol! NSFileProviderServiceSource not bound !missing-field! NSFileProviderErrorCollidingItemKey not bound !missing-field! NSFileProviderErrorNonExistentItemIdentifierKey not bound !missing-field! NSFileProviderFavoriteRankUnranked not bound ``` Also adds `NSXpcListenerEndpoint` to foundation, needed by `NSFileProviderServiceSource` protocol. * [tests][xtro] Workaround xtro runner dupe entry exception and update data files (#2654) * [AVFoundation] Rename field to match others. (#2657) * [homekit] Audit (xtro) fixes (#2653) - HMCharacteristicEvent conforms to NSMutableCopying on iOS11 which makes it 64 bits only (so adjust intro tests) - Ignore extra setters on HMMutablePresenceEvent, rdar 33883958 !missing-selector! HMMutablePresenceEvent::setPresenceEventType: not bound !missing-selector! HMMutablePresenceEvent::setPresenceUserType: not bound * [xtro] Add missing pinvoke to pending (#2662) - Bug 59422: [uikit] Missing UIContentSizeCategoryCompareToCategory & UIContentSizeCategoryIsAccessibilityCategory (https://bugzilla.xamarin.com/show_bug.cgi?id=59422) * Merge latest d15-3 fixes into xcode9 (#2660) * [msbuild] Re-added wildcard (*) expandsion for application-identifier in Entitlements.plist (#2186) Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=57119 * Bump mono (#2213) * Framework tests were still binding non-linked Simple class which errors now (#2216) (#2218) - Improve Makefile to rebuild when projects build with errors * Bump mono to get cecil fix for bug #56808. (#2222) https://bugzilla.xamarin.com/show_bug.cgi?id=56808 * [msbuild] Use @(ReferencePath) instead of @(ResolvedFiles) (#2188) (#2214) This allows things to work on both xbuild and msbuild. In xbuild, both lists are exactly the same and on msbuild, only @(ReferencePath) exists. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=55147 * NSActivityOptions.IdleDisplaySleepDisabled had wrong value (#2232) (#2239) This was due to an integer overflow. The original value was based on Int32 1 << 40 == 256 The correct value should be based on a UInt64. 1UL << 40 == 1099511627776 * [tests] Fix bug 57699 - [iOS]InternalsTest failure (Linkall) tests on device (#2243) Strip native debugging symbols should not be checked for debug builds * Bump mono to get fix for bug #57780. https://bugzilla.xamarin.com/show_bug.cgi?id=57780 * Update .gitmodules Change branch to d15-3 branch of mono * Bump maccore to get fix for bug #55064. https://bugzilla.xamarin.com/show_bug.cgi?id=55064 * [mono] Bump mono to get the head of cecil/mono-2017-04 and fix IsComObject #57919 Also fix #58789 [1], the typo in tools/mtouch/Tuning.cs showing in MT0000 errors instead MT2102. That's already in master and d15-4 mono bump includes: [2] commit 2a6502cee0df9de5198eafe7c8b5f6ac25106f34 (HEAD -> d15-3, origin/d15-3) Merge: 02457c20fcf 5e05cafc6f1 Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 10:04:06 2017 -0400 Merge pull request #5401 from marek-safar/com [Marshal.IsComObject] Make this predicate return false instead of thr… [3] commit 02457c20fcf57c0610e844d638eb1da82b5d1eb0 Merge: da80840ea55 73fd9a1b82e Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 09:59:06 2017 -0400 Merge pull request #5400 from spouliot/bump-cecil-58834-d15-3 [cecil] Bump to the head of the mono-2017-04 branch and pick the fix for bug #58834 References [1] https://bugzilla.xamarin.com/show_bug.cgi?id=58789 [2] https://bugzilla.xamarin.com/show_bug.cgi?id=57919 [3] https://bugzilla.xamarin.com/show_bug.cgi?id=58834 * [mtouch] Put 'mono_profiler_startup_log' in the symbol list. Fixes #58778. (#2501) We need the 'mono_profiler_startup_log' symbol when profiling is enabled, so make sure to add the symbol to the correct list of symbols we need. Previously we were passing `-u _mono_profiler_startup_log` to clang directly, which is fine, but not complete, since it does not write the symbol to the symbollist file (--symbollist=file), which means it wouldn't be preserved when the MSBuild tasks strip the executable. https://bugzilla.xamarin.com/show_bug.cgi?id=58778 * Bump versions for SR3 https://trello.com/c/EVze08ei * Bump mono to include HttpClientHandler fix #44027 https://trello.com/c/jYFXadH8/8-systemnethttp-close-request-stream-when-httpclienthandler https://bugzilla.xamarin.com/show_bug.cgi?id=44027 * [FileProvider] Add missing API and turn NSString to string (#2663) Turned NSString to string in order to match exisiting API. * [uikit] Add UIPasteConfigurationSupporting and UITextPasteConfigurationSupporting (#2649) - Fixes bug #59363: Missing UIPasteConfigurationSupporting, UITextPasteConfigurationSupporting, UITextDraggable and UITextDroppable on a couple of types (https://bugzilla.xamarin.com/show_bug.cgi?id=59363) * [uikit] Remove 129 types in UIPasteConfigurationSupporting case * [scenekit] Audit (xtro) fixes (#2648) This looks like an Apple breaking change (since `SCNAnimation` is new) but we now have: > typedef void (^SCNAnimationEventBlock)(id<SCNAnimation> animation, id animatedObject, BOOL playingBackward); bound as > delegate void SCNAnimationEventHandler (CAAnimation animation, NSObject animatedObject, bool playingBackward); and `CAAnimation` conforms to `SCNAnimation` but *only* the later is available on watchOS. The delegate is only updated (since it's new) on our watchOS profile. xtro references: (watchos) !unknown-protocol! SCNCameraControlConfiguration bound (tvos/watchos) !missing-selector! SCNAnimation::animationEvents not bound !missing-selector! SCNAnimation::setAnimationEvents: not bound !missing-selector! SCNConstraint::isEnabled not bound !missing-selector! SCNConstraint::setEnabled: not bound !missing-field! SCNSceneSourceConvertToYUpKey not bound !missing-field! SCNSceneSourceConvertUnitsToMetersKey not bound (ios/tvos) !missing-protocol-conformance! SCNNode should conform to UIFocusItem * Bump maccore post 15.3 merge (#2665) * Bump Xcode 9 to GM (#2667) * Force build (on wrench) * [avfoundation] Fix breaking changes (apidiff) (#2664) * [TVServices] Update to Xcode 9 GM (#2675) * [GameController] Update to Xcode 9 GM (#2673) * [LocalAuthentication] Update to Xcode 9 GM (#2671) * [LocalAuthentication] Update to Xcode 9 GM * Remove availability from BiometryNotAvailable, BiometryNotEnrolled and BiometryLockout * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer (#2659) * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer Some of the new added types were already present BUT under a #if MONOMAC, they had to be moved. * [AVFoundation] Set the wrongly added API to be obsolete and ensure it returns logical values. (#2650) * [xtro] The right platform for macOS is 'macos', not 'osx'. (#2677) The platform name is used to filter availability attributes, and if we use the wrong platform, we'll incorrectly skip all availability attributes. The net result in unclassified entries: https://gist.github.com/rolfbjarne/a4474bc2a40c49a85cad495b51bb514f * Various Xcode 9 API improvements and also fixes bug 59433 (#2676) https://bugzilla.xamarin.com/show_bug.cgi?id=59433 While fixing bug 59433 I noticed some additional issues outlined below: AVDepthData: * Renamed **non** static `Create` methods because `Create` only makes sense with the **Static** method in this context. Also by renaming the methods we are now closer to the names that swift uses. * Kept descriptive method names in favor of self-documenting code. `Convert`, `Apply` and `Replace` do not fully give us the intent of the method. * Added a convenience `Create` static method that takes a `CGImageAuxiliaryDataInfo`. * AvailableDepthDataTypes is now an array of `CVPixelFormatType` instead of a `NSNumber` array (The aactual fix for bug 59433). ImageIO: * Refactored `CGImageAuxiliaryDataInfo` to be a `StrongDictionary` in order to avoid most of the manual code and also to avoid reimplementing the `ToDictionary` method (which contained a subtle bug). * Adjusted code to reflect the above change. * Added missing `.ctor (IntPtr, bool)` to `CGImageMetadata` so the class is able to be created by our `Runtime.Get*`. * Simplified `CopyAuxiliaryDataInfo` method by using `CGImageAuxiliaryDataInfo` as a `DictionaryContainer`. Tests: * Added `xamarinmonkey.heic` which is an image that contains depth data needed to test above changes. * Adds `AVDepthDataTests` that touches most of the changes listed here. * Tweak the Simd-compatible matrices and vectors (#2668) * Rename them to be OpenTK.NMatrix# (instead of Simd.MatrixFloat#x#). * Remove the Vector2 and Vector4 variants, we'll use the OpenTK types instead (but we'll keep the NVector3 variant, since it's not identical to the OpenTK version). * Update the API to match their OpenTK counterparts better: * NMatrix2 and NMatrix3 have a 0-based R#C# scheme for their fields. * NMatrix4 has a 1-based M## scheme for its fields (i.e. no change). * [AVFoundation] Use Simd-matrix for API that needs it. (#2679) This also requires implementing the corresponding matrix (NMatrix4x3). Fixes this xtro issue: > !unknown-simd-type-in-signature! OpenTK.Matrix3 AVFoundation.AVCameraCalibrationData::get_GetIntrinsicMatrix(): the native signature has a simd type (matrix_float3x3), while the corresponding managed method is using an incorrect (non-simd) type. * [xtro] Fix checking availability on categories. (#2682) When checking for category availability, check if both the current declaration is a category, and if the current's declaration container is a category. Otherwise this scenario fails: * Category method is available. * Category does not have availability attributes. * Main class is unavailable. with this typical code sequence: ```csharp // don't process methods (or types) that are unavailable for the current platform if (!decl.IsAvailable () || !(decl.DeclContext as Decl).IsAvailable ()) return; ``` In which case we'd: * First check the method (`decl`): * It's available, so no further checks is done on the method. * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container's container is a category (it isn't, it's the namespace). and as such determine that the method is available. With this change, the second step will become: * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container is a category (it is), and if its main class is available (it isn't). and as such determine that the method is unavailable. * Check for attributes on the method's container (no attributes, so we continue). * Check if the method's Unclassified diff: https://gist.github.com/rolfbjarne/8fa80962596978a426eadf9b7ba39dc1 * [uikit] Update for Xcode 9 GM (#2670) * [AVFoundation] Implement AVCapturePhoto. Partially fixes #59388. (#2678) Fixes: > common.unclassified:!missing-type! AVCapturePhoto not bound https://bugzilla.xamarin.com/show_bug.cgi?id=59388 * Use strong dictionaries for AVCapturePhoto.Metadata and AVCapturePhoto.EmbeddedThumbnailPhotoFormat. * [SIMD] Implement Simd double types (VectorDouble3/MatrixDouble4x4). (#2632) The following types will be used by ModelIO bindings * Fix delta to be double * Rename Simd-compatible matrices and vectors to match our final naming. This also means removing the new Vector2 and Vector4 variants (but not Vector3). * [avfoundation] Remove AVAssetDownloadDelegate.DidLoadTimeRange since it was removed in one of the betas (#2687) * [foundation] Move NSUrlSessionMultipathServiceType to a file processed by the generator (for the availability attributes) (#2688) * [arkit] Update for Xcode 9 GM (#2681) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes (#2690) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes Type Changed: Intents.INCarSeatResolutionResult Removed methods: public static INCarSeatResolutionResult GetConfirmationRequired (INCarSeat valueToConfirm); public static INCarSeatResolutionResult GetSuccess (INCarSeat resolvedValue); * [avfoundation] Add missing protocol members and deprecations (#2691) !missing-protocol-member! AVCapturePhotoCaptureDelegate::captureOutput:didFinishProcessingPhoto:error: not found and the selector removed from PR#2687 was actually replaced with this one !missing-protocol-member! AVAssetDownloadDelegate::URLSession:aggregateAssetDownloadTask:didLoadTimeRange:totalTimeRangesLoaded:timeRangeExpectedToLoad:forMediaSelection: not found * [tests][xtro] Map some enums, more fix with protocols and update entries (#2692) * [Tests] Reenable dns tests on the watch. (#2674) * [arkit] Add ARBlendShapeLocationOptions strong dictionary (#2696) * [coreimage] Skip not yet bound filters added in Xcode9 (#2698) Tracked in https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * [Metal] Renamed MTLArgumentDescriptor.ArgumentDescriptor to Create, fixes bug 59498 (#2702) https://bugzilla.xamarin.com/show_bug.cgi?id=59498 From [argumentDescriptor docs](https://developer.apple.com/documentation/metal/mtlargumentdescriptor/2915746-argumentdescriptor?language=objc) > Creates an empty argument descriptor. * [msbuild] Always codesign app bundles if the codesign key is non-null (#2697) ...even if it is a simulator build. Turns out that starting with Xcode9, sim builds need to be codesigned for App Groups entitlements to work properly. Interestingly, the DetectSigningIdentity logic had a comment about needing to codesign simulator builds for some entitlements to work already starting with Xcode 8 but apparently the iOS targets did not respect this. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=59379 * [Foundation] Add NSProxy stub in order to workaround bug 59247 (#2693) https://bugzilla.xamarin.com/show_bug.cgi?id=59247 We need to have a better solution that removes all what NSProxy does not responds to. Right now this works because NSObject implements NSObject protocol just like NSProxy, but NSProxy responds to far less selectors hence doing it internal so it is not a breaking change when we provide the correct fix. * Keep NSProxy around and avoid XML linker description We need to keep NSProxy (avoid linking it) if WKNavigationDelegate or IWKNavigationDelegate is used. We know WKWebView will be there and can hold a reference to it. * [Xcode 9] Update Metal for GM (#2689) * [iosurface] IOSurface is not usable before iOS/tvOS 11. Fixes #59201 (#2706) Apple rejects apps that links with the previously private IOSurface.framework. We were not sure about this [1] and had it disabled (this is removed). However another bug stopped our adjustment logic [2] from being executed. This is needed since `clang` picks up the private framework if it does not find the public one (even when asking for a weak framework), [1] https://bugzilla.xamarin.com/show_bug.cgi?id=59201 [2] Added a while ago for JavascriptCore * Bump maccore to point to commit with the docs fix. (#2703) * Bump XI to 11.0.x (and XM to 3.99.9.x) (#2684) * fix typo
2017-09-16 00:53:16 +03:00
[Deprecated (PlatformName.MacOSX, 10, 13, message: "Use 'FocusDistance' instead.")]
[Deprecated (PlatformName.iOS, 11, 0, message: "Use 'FocusDistance' instead.")]
[Deprecated (PlatformName.TvOS, 11, 0, message: "Use 'FocusDistance' instead.")]
[Deprecated (PlatformName.WatchOS, 4, 0, message: "Use 'FocusDistance' instead.")]
2016-04-21 15:30:02 +03:00
[iOS (8,0)][Mac (10,9)]
[Export ("focalDistance")]
nfloat FocalDistance { get; set; }
Merge xcode9 into d15-4[-xi] (#2710) * [FileProvider] Add Xcode 9 Beta 1, 2 & 3 Bindings (#2279) * [FileProvider] Add Xcode 9 Beta 1 Bindings * Better naming * Feedback not related to BindAs * [FileProvider] Removes BindAs, add manual code for it and updated to Beta 3 * [FileProvider] Implement feedback * [CoreSpotlight] Updated spotlight bindings for xcode 9 beta 3. (#2193) Updated spotlight bindings for xcode 9 beta 3. * Fix warning caused by duplicate (#2354) * [FileProviderUI] Add Xcode 9 Beta 1 to 3 bindings (#2356) * Bump to Xcode 9 beta 4 * [arkit] ARLightEstimate does not conform to NSCopying anymore (fix unit test) * [uikit] NSFileProviderExtension.ReparentItem got a new parameter in beta4 (fix unit test) * [coreimage] CIImageAccumulator init returns nil in beta 4 There's no header change to mention `init` is not allowed but it's not clear how this default initializer could be used. Also make public some other API to construct this type (outside of XM). It's not clear why there were `internal` as they are (at least now) part of the header files. * [photos] Add helpers when PHLivePhotoEditingOption/NSDictionary is null (to avoid ambiguous API) (#2360) Adding a strongly typed `PHLivePhotoEditingOption` (a strongly typed version of an `NSDictionary`) can cause a `CS0121` (call is ambiguous) since using a `null` argument is common (only one option exist so far). This PR adds overloads that makes the code nicer in such case, e.g. before Xcode9: > // null is used when no options are given > _foo.SaveLivePhoto (output, null, completion); current (Xcode 9) > // casting required to remove ambiguity with PHLivePhotoEditingOption > _foo.SaveLivePhoto (output, (NSDictionary)null, completion); with this PR > // no option, no argument > _foo.SaveLivePhoto (output, completion); The same applies to `PrepareLivePhotoForPlayback`. * [tests] Disable/tweak two tests that breaks on (almost) all Xcode updates Those tests were not added to validate xOS so just keep the parts that helps us (without constantly checking back the new break flavor) * Disable watchOS to check if this hides others issues * [mapkit] Update for beta 4 * [coredata] Update for beta 4 * [wkwebkit] Update for beta 4 Note: WKWindowFeatures.h is not compiled (part of the framework umbrella) and the `@interface WKWindowFeatures (WKPrivate)` sounds like it should not have been exposed (it's all fields starting with `_`) * [corelocation] Update for beta 4 * Revert "Disable watchOS to check if this hides others issues" This reverts commit fed2249fa43290a1956ab2fe0d48f83ab6db9711. * [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]: https://github.com/xamarin/xamarin-macios/blob/f5956d6cc1eb5dfa7bab16628cf282d40237f64e/src/generator.cs#L5985 * [FinderSync] Update to beta 4 (#2377) * [ImageIO] Update to Xcode 9 (#2353) * [PhotosUI] Move macOS photosui bindings out of photos.cs into photosui.cs (#2358) * [quicklook] Update up to beta 4 (#2374) * [uikit] UIDragInteraction & UIDragInteractionDelegate (Xcode 9 b1,2,3) (#2357) * [safariservices] Update up to beta 4 (#2380) * [coreanimation] Update to beta 4 (#2382) Apple removed (mistake?) some API in beta 1. Filed as rdar 33590997 Internal tracking in https://trello.com/c/J8BDDUV9/86-33590997-coreanimation-quartzcore-api-removals * [storekit] Update up to beta 4 (#2379) * [CoreML] Update to Xcode 9 Beta 4 (#2387) * [uikit] UICollectionView/UITableView Drag & Drop (Xcode 9 b1,2,3 & 4) (#2355) * Update code after radar 32929318 and 32897776 are fixed in b4 (#2394) * [xcode9 CoreAudio] New definitions from Beta1 to Beta3 (#2359) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 (#2397) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 https://bugzilla.xamarin.com/show_bug.cgi?id=58512 Created strong API (VNBarcodeSymbology) on the following properties * VNDetectBarcodesRequest.SupportedSymbologies * VNDetectBarcodesRequest.Symbologies * VNBarcodeObservation.Symbology * Remove modern C# because classic can't do it 😡 * [mediaplayer] Update up to beta 4 (#2388) * [watchkit] Update to beta 4 (#2398) * Bump Visual Studio for Mac max version (#2408) * [coreimage] Add CIBarcodeDescriptor and enabled missing API for VNBarcodeObservation. Fix #58197 (#2411) https://bugzilla.xamarin.com/show_bug.cgi?id=58197 * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 (#2407) * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 * [uikit] Fixes based on comments * [coreimage] CIImageAccumulator API fixes. Fix #58349 (#2412) * Obsolete the default `init`; * XM exposed some older APIs using `int` instead of `CIFormat`. This is fixed and old APIs are obsoleted; * Both new & old APIs are now using `CIFormat` for both XI and XM. https://bugzilla.xamarin.com/show_bug.cgi?id=58349 * [uikit] UIText drag & drop - up to Xcode 9 beta 4 (#2410) * [uikit] UISplitView & UIStackView up to Xcode 9 beta 4 (#2425) * Bump XI/XM versions before preview 4 (#2422) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 (#2378) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 * [PDFKit] Implement feedback * [PDFKit] the forgotten enum * [PDFKit] More feedback * [PDFKit] Add Mac changes * Missing change * Fix test RectangleF VS CGRect * Pass -Wunguarded-availability-new to quiet a new clang warning (#2424) - https://bugzilla.xamarin.com/show_bug.cgi?id=58574 * [mtouch/mmp] Ignore warnings about unguarded code section with regards to availability. (#2441) * [monotouch-test] Remove workaround for fixed Apple bug. (#2445) * Bump to Xcode 9 beta 5. (#2447) * Bump to Xcode 9 beta 5. * [mmp] Disable the partial static registrar, because Apple's macOS SDK is broken. > In file included from Xamarin.Mac.registrar.mobile.i386.m:1: > In file included from ./Xamarin.Mac.registrar.mobile.i386.h:11: > /Applications/Xcode9-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVFoundation.h:88:9: fatal error: 'AVFoundation/AVRouteDetector.h' file not found https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [mmp] Fix partial static registrar removal. * [CallKit] Update to Xcode 9 beta 5. * [ARKit] ARPointCloud doesn't conform to NSCopying anymore in Xcode 9 beta 5. * [ARKit] Update to Xcode 9 beta 5 enough to make tests happy. * [CoreImage] Stub out new filters in Xcode 9 beta 5. * [tests][monotouch] Simplify some MDLMesh asserts since values change a lot between OS versions. * [mmp] Default to the dynamic registrar for release builds again, due to bug #58629. https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [tests][introspection] CXCall started implementing NSCopying without saying so in the headers. * Disable mmp static registrar tests due to 58629 for now * [quicklook] Update to beta 5 (#2450) * [photos] Update for beta 5 (#2452) Also update some existing enum members were added in beta 1 on macOS * [safariservices] Update for beta 5 (#2455) * [mediaplayer] Update to beta 5 (#2456) * [CoreLocation] Update Xcode 9 Beta 5 (#2453) * [CoreML] Update to Xcode 9 Beta 5 (#2454) * [Contacts] Update to Xcode 9 Beta 5 (#2451) * [Vision] Update to Xcode 9 Beta 5 (#2458) * [builds] Tell LLVM to stay away from newer macOS functions. (#2459) Fixes this build problem on Sierra: > ld: weak import of symbol '_futimens' not supported because of option: -no_weak_imports for architecture x86_64 This is a symbol that was (will be?) introduced in High Sierra. Interestingly this only occurs if the Xcode 8.X Command Line Tools haven't been manually installed. Because if the Xcode 8.X Command Line Tools are installed, this happens: 1. llvm's configure script detects that 'futimens' is not usable. 2. llvm's configure script detects that 'futimens' is not usable, because xcrun sets SDKROOT=/ when calling clang. a. When the SDKROOT variable is set, clang passes '-syslibroot /usr/lib' to ld. b. When ld gets '-syslibroot /usr/lib', ld looks in '/usr/lib' for a library that contains 'futimens' in the OS itself, and since we're on Sierra, that fails to link. c. So when llvm's configure script creates a test program that checks if 'futimens' is present, the program fails. This is correct, and makes llvm *not* use futimens. 3. xcrun sets SDKROOT=/ because /usr/share/current-os.sdk/Info.plist exists. If that file does not exist, then xcrun sets SDKROOT to Xcode9's macOS SDK (because that's what xcode-select reports). a. When SDKROOT is set to Xcode9's macOS SDK, the configure check for 'futimens' succeeds, because the macOS 10.13 SDK contains that function. b. llvm happily uses 'futimens', and then the final link fails because we're using a symbol not available on all target platforms. * [arkit] Update for Xcode 9 beta 5 - Part 1 (#2460) * [tests] The container app for watchOS tests should be 64-bit. (#2463) * [xharness] watchOS tests need to run in a clean environment. Works around #58348. (#2462) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [xharness] It watchOS tests don't need to be clean anymore. Fixes #58348. (#2473) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [uikit] UIView/UIScrollView/UIViewController up to Xcode 9 beta 5 (#2431) - Add NSDirectionalEdgeInsets type. - Includes DirectionalEdgeInsetsTest. * [AudioToolbox] Update bindings to Xcode 9 beta3 (not later changes). (#2294) * [xharness] Add a file existence check. (#2478) Fixes this exception: ``` Harness exception for 'introspection': System.IO.FileNotFoundException: Could not find file '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log'. File name: '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log' at System.IO.__Error.WinIOError (System.Int32 errorCode, System.String maybeFullPath) [0x00207] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/__error.cs:188 at System.IO.FileInfo.get_Length () [0x00038] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/fileinfo.cs:171 at xharness.CaptureLog.StopCapture () [0x00021] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Log.cs:252 at (wrapper remoting-invoke-with-check) xharness.CaptureLog:StopCapture () at xharness.AppRunner+<RunAsync>d__68.MoveNext () [0x0127f] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/AppRunner.cs:642 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter`1[TResult].GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:357 at xharness.RunSimulatorTask+<RunTestAsync>d__7.MoveNext () [0x0029d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2894 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.RunTestTask+<ExecuteAsync>d__8.MoveNext () [0x0010b] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2538 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.TestTask+<RunInternalAsync>d__87.MoveNext () [0x0010d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:1870 ``` I'm not sure how this can happen, but it has on the bots [1]. [1] https://jenkins.mono-project.com/job/xamarin-macios-pr-builder/4548/Test_Report/ * Bump versions for preview 5 (#2479) * [passkit] Update to beta 5 (#2481) * [tests] Remove workaround for radar #32688391. (#2486) * [replaykit] Update up to beta 5 (#2484) * Bump maccore to get fix for bug #55064. (#2487) * [apidiff] Update definition to new 10.12 (d15-3) stable release (#2490) * [SceneKit] basic work (#2483) * [coredata] Update to beta 5 (#2488) * [homekit] Update for Xcode 9 beta 5 (#2492) * [Foundation] Update for xcode9 (#2468) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 (#2493) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 * [Intents] Implement feedback * [Intents] Add a generic version for INInteraction.GetParameterValue * [Intents] Missing check * [Contacts] Add missing foundation NSItemProviderWriting protocol to CNContact (#2496) https://bugzilla.xamarin.com/show_bug.cgi?id=58203 This is available on all Contacts supported platforms ``` ./iPhoneOS.platform/Developer/SDKs/iPhoneOS11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchOS.platform/Developer/SDKs/WatchOS4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchSimulator.platform/Developer/SDKs/WatchSimulator4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ``` * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) (#2497) * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) * [IntentsUI] Better use a delegate instead so we have named params * Bump versions before 6th preview (#2514) * [arkit] Add missing MarshalDirective to ARPlaneAnchor (#2517) - Fixes bug #58648: ARPlaneAnchor.Extent property seems incorrect but changes to correct value after Debug access (https://bugzilla.xamarin.com/show_bug.cgi?id=58648) * [xtro-sharpie] Fix a compiler warning. (#2516) Fixes these warnings: Runner.cs(197,5): warning CS0642: Possible mistaken empty statement Runner.cs(199,5): warning CS0642: Possible mistaken empty statement Runner.cs(201,5): warning CS0642: Possible mistaken empty statement Runner.cs(203,5): warning CS0642: Possible mistaken empty statement Runner.cs(205,5): warning CS0642: Possible mistaken empty statement * [uikit] Update for Xcode 9 beta 5 - Part 3 (#2511) - UIKeyCommand - UINavigationBar - UINavigationItem - UIPasteboard - UITableViewHeaderFooterView * [xtro-sharpie] Remove xtro-plugin and misc other fixes. (#2522) * [xtro-sharpie] Build with msbuild and be as quiet as requested when building. * [xtro-sharpie] Must run as a 64-bit process, since the required native libraries are 64-bit. * [xtro-sharpie] Add run configurations to the project file to ease debugging in the IDE. * [xtro-sharpie] Remove xtro-plugin and the related commands. This was needed when there wasn't a 64-bit mono, in order to run xtro-sharpie in a 64-bit process. Now there is a 64-bit mono, so it's not needed anymore. Also improve makefile targets a bit, to auto-build stuff when needed, by setting the right dependencies. * Bump Xcode 9 to beta 6 (#2519) Disable watchOS tests again It seems like the Carousel crash from beta 4 is back to haunt us. This was working fine with beta 5. * Backport d15-3 SR2 fixes (#2515) * [coredata] Update to beta 6 (#2528) This seems to only revert some nullability changes from beta 5. * [coreml] Update to beta 6 (#2531) Fix our rdar 33643011 where additional setters were added in the headers but did not exists. * [videosubscriberaccount] Update to beta 6 (#2533) Only b1 and b2 introduced some additions/changes * [uikit] Update for Xcode 9 beta 6 - Part 4 (#2527) The following headers are now up to date: - UICollectionViewFlowLayout.h - UIDocumentPickerViewController.h - UIFontDescriptor.h - UIImage.h - UIImageView.h - UIImagePickerController.h * [xharness] Re-enable the watchOS tests. (#2534) It works fine for me locally, so let's see what Jenkins says. * [macos] Add new APIs in CoreWlan from Xcode9b3 (#2525) * Update AppKit bindings based on radar 33271241 results (#2518) * Update AppKit bindings based on radar 33271241 results - The header comment was updated to note it was NSSliderTouchBarItem view that has the protocol * Remove NSUserInterfaceCompression where not listed in header * [vision] Update to beta 6 (#2532) Removal of some deprecated (during beta) `init*` selectors. Also sync the versions that were inlined in subclasses - the old ones were not removed and the new ones were not added. * [xtro-sharpie] Many methods don't have selectors in Clang's API, so default to the name if no selector. (#2523) This makes a few more unclassified entries show up (mostly missing designated initializers): https://gist.github.com/rolfbjarne/07aa20f9b50b75bf3e69ac6a825e873a * [macos] Add ExternalAccessory APIs from xcode9 (#2526) * [58851] Disable NSMenuView in AllItemsWithNSMenuShouldAllowNull (#2504) * [arkit] Update for Xcode 9 beta 5 - Part 2 (#2505) - Add last missing selector. - Add tests for manual code. * [monotouch-test] Disable FontDescriptorTest.WithFeature (#2537) Disabled because it looks like the tvOS font we use: "Gujarati Sangam MN" does not have rare ligatures anymore (and the entire test is based on it). Before getting an actual fix for that, let's disable the test so it doesn't break all current builds. See: https://bugzilla.xamarin.com/show_bug.cgi?id=58929 * [xtro-sharpie] Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute. (#2524) Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute to calculate the native name for a TypeDefinition. Unclassified changes: https://gist.github.com/rolfbjarne/828f8ee41eebb0a3b60a38d71822fe59 * [foundation/uikit] Inline NSItemProvider_UIKitAdditions in NSItemProvider (#2538) As suggested here: https://github.com/xamarin/xamarin-macios/pull/2527#discussion_r134670981 * [intents] Fix breaking changes (api-diff) (#2543) Additions of @required members inside `INSpeakable` cannot be `[Abstract]` * [contacts] Fix breaking change (api-diff) (#2542) Type Changed: Contacts.CNPostalAddress Removed method: public static string LocalizeProperty (CNPostalAddressKeyOption option); * [macos] Reenable static registrar since Xcode9b6 un-broke SDK headers (#2544) - Fix a subtle spacing issues in PartialStaticLibrary property * [corebluetooth] Update up to beta 6 and enable it on watchOS (#2540) macOS 10.13 has finally catch up with iOS and this simplifies the bindings a bit. * [foundation] API fixes (apidiff) (#2545) 1. Let's not add new, already [Obsolete] API Type Changed: Foundation.NSDimension Added constructors: [Obsolete ("Not intended to be directly instantiated, this is an abstract class.")] public NSDimension (); 2. Fix inconsistently named API, e.g. Type Changed: Foundation.NSAttributedString Added properties: public static string[] ReadableTypeIdentifiersForItemProvider { get; } public static string[] WritableTypeIdentifiers { get; } * [pdfkit] Do not add already [Obsolete] API in new profiles (#2547) and ensure using the newer, correct API works cross-platforms iOS (before) [Obsolete ("Use 'Find (string, NSStringCompareOptions)' instead.")] public virtual PdfSelection[] Find (string text, nint options); public PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'Find (string, PdfSelection, NSStringCompareOptions)' instead.")] public virtual PdfSelection Find (string text, PdfSelection selection, nint options); public void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string, NSStringCompareOptions)' instead.")] public virtual void FindAsync (string text, nint options); public void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string [], NSStringCompareOptions)' instead.")] public virtual void FindAsync (string[] text, nint options); iOS (after) public virtual PdfSelection[] Find (string text, Foundation.NSStringCompareOptions compareOptions); public virtual PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); * Bump versions for the 7th preview (#2541) * Remove additions of AVKit removed in beta5 (#2536) * NSUrlSessionTask should implement NSProgressReporting for iOS (#2548) NSUrlSessionTask implements NSProgressReporting on iOS as well as Mac, so the #if MONOMAC isn't needed. * Add missing availability attributes causing failures on older iOS versions (#2550) * [vision] Minor fix wrt xtro (#2551) including some things we need to ignore manually !missing-field! VNVisionVersionNumber not bound !missing-pinvoke! VNImagePointForFaceLandmarkPoint is not bound !missing-pinvoke! VNNormalizedFaceBoundingBoxPointForLandmarkPoint is not bound * [uikit] NSFileProviderMessaging was removed in beta 2. Fixes #58222 (#2552) reference: https://bugzilla.xamarin.com/show_bug.cgi?id=58222 * [uikit] Update for Xcode 9 - Part 5 (#2546) Bindings for the following headers: - UIActivity.h - UIActivityItemProvider.h - UIAlertController.h - UIApplication.h - UIBarButtonItem.h - UIButton.h - UICollectionViewLayout.h - UIColor.h - UIControl.h - UIDocumentMenuViewController.h - UIFontMetrics.h - UIGestureRecognizer.h - UIGraphicsImageRenderer.h - UIInputViewController.h * [CoreText] Fix an extraneous free in CTFont.GetDefaultCascadeList. (#2555) We do not own the return value from CFArrayGetValueAtIndex, so don't say we do when creating CTFontDescriptor instances, since that leads to angry dragons: 2017-08-28 20:15:20.293 monotouchtest[33186:2311738] A_FontTest 2017-08-28 20:15:20.294 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithFontDescriptorAndOptions 2017-08-28 20:15:20.295 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithNameAndOptions 2017-08-28 20:15:20.296 monotouchtest[33186:2311738] critical: Stacktrace: at <unknown> <0xffffffff> at (wrapper managed-to-native) CoreText.CTFont.CTFontCopyDefaultCascadeListForLanguages (intptr,intptr) [0x0000a] in <ae65a2b1eea242d2b68fe784749543bf>:0 at CoreText.CTFont.GetDefaultCascadeList (string[]) [0x00013] in /work/maccore/xcode9/xamarin-macios/src/CoreText/CTFont.cs:2185 at MonoTouchFixtures.CoreText.A_FontTest.GetCascadeList () [0x0001e] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/CoreText/FontTest.cs:78 at (wrapper runtime-invoke) object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) [0x0004f] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) System.Reflection.MonoMethod.InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&) [0x00016] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at System.Reflection.MonoMethod.Invoke (object,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo) [0x00032] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/corlib/System.Reflection/MonoMethod.cs:305 at System.Reflection.MethodBase.Invoke (object,object[]) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/referencesource/mscorlib/system/reflection/methodbase.cs:229 at NUnit.Framework.Internal.Reflect.InvokeMethod (System.Reflection.MethodInfo,object,object[]) [0x00009] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Reflect.cs:215 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunNonAsyncTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x00025] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:116 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x0001a] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:90 at NUnit.Framework.Internal.Commands.TestMethodCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:66 at NUnit.Framework.Internal.Commands.SetUpTearDownCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00007] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/SetUpTearDownCommand.cs:84 at NUnit.Framework.Internal.WorkItems.SimpleWorkItem.PerformWork () [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/SimpleWorkItem.cs:64 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at MonoTouch.NUnit.UI.BaseTouchRunner.Run (NUnit.Framework.Internal.Test) [0x0004d] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:442 at MonoTouch.NUnit.UI.BaseTouchRunner.Run () [0x00030] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:171 at MonoTouch.Dialog.StringElement.Selected (MonoTouch.Dialog.DialogViewController,UIKit.UITableView,Foundation.NSIndexPath) [0x00008] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/Elements.cs:765 at MonoTouch.Dialog.DialogViewController.Selected (Foundation.NSIndexPath) [0x00026] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:577 at MonoTouch.Dialog.DialogViewController/Source.RowSelected (UIKit.UITableView,Foundation.NSIndexPath) [0x00016] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:402 at (wrapper runtime-invoke) <Module>.runtime_invoke_void__this___object_object (object,intptr,intptr,intptr) [0x0005d] in <32f0c196c5bc4aa18daea2ee64a7814e>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) UIKit.UIApplication.UIApplicationMain (int,string[],intptr,intptr) [0x0005c] in <ae65a2b1eea242d2b68fe784749543bf>:0 at UIKit.UIApplication.Main (string[],intptr,intptr) [0x00005] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:79 at UIKit.UIApplication.Main (string[],string,string) [0x00038] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:63 at monotouchtest.Application.Main (string[]) [0x00011] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/Main.cs:27 at (wrapper runtime-invoke) <Module>.runtime_invoke_void_object (object,intptr,intptr,intptr) [0x00051] in <30a7f7e09de9467b8b454221034a0e38>:0 Native stacktrace: 0 monotouchtest 0x000000010fca03c4 mono_handle_native_crash + 244 1 monotouchtest 0x000000010fcadd30 mono_sigsegv_signal_handler + 288 2 libsystem_platform.dylib 0x000000011feb3b3a _sigtramp + 26 3 CoreFoundation 0x000000011de035a2 computeSanitizedString + 146 4 CoreText 0x00000001168df314 _ZN15TPurgeableCache19RetainedValueForKeyEPKv + 54 5 CoreText 0x00000001168def85 _ZNK17TDescriptorSource22CopyDescriptorUncachedEPK7__CFURLbPK10__CFString + 55 6 CoreText 0x00000001168df34f _ZNK17TDescriptorSource14CopyDescriptorEPK7__CFURLbPK10__CFString + 27 7 CoreText 0x00000001168e20ad _ZNK17TDescriptorSource35CopyFontDescriptorPerPostScriptNameEPK10__CFStringmm + 297 8 CoreText 0x00000001168dfd9e _ZNK17TDescriptorSource30CopySystemFontDescriptorByNameEPK10__CFString10UIFontFlag + 54 9 CoreText 0x00000001168e54c4 _ZNK14TFontFallbacks17CopyFontFallbacksEPK10__CFStringS2_PK9__CFArray + 652 10 CoreText 0x00000001168e4a00 _ZNK14TFontFallbacks29CopyFontFallbacksForLanguagesEPK10__CFStringPK9__CFArray + 122 11 CoreText 0x00000001168e4971 _ZN17TDescriptorSource39CopyDefaultSubstitutionListForLanguagesEPK10__CFStringPK9__CFArray + 61 12 CoreText 0x00000001169397a7 _ZNK9TBaseFont28CreateSystemDefaultFallbacksEPK10__CFStringPK9__CFArray + 51 13 CoreText 0x000000011693999c _ZNK9TBaseFont15CreateFallbacksE10UIFontFlagPPK16__CFCharacterSetPK9__CFArray + 346 14 CoreText 0x00000001168c1036 _ZNK5TFont24CreateDefaultCascadeListEPK9__CFArray + 242 15 CoreText 0x00000001168b8ff9 CTFontCopyDefaultCascadeListForLanguages + 97 16 ??? 0x0000000140eaefd3 0x0 + 5384105939 17 ??? 0x0000000140eae761 0x0 + 5384103777 18 ??? 0x000000013c9c8e74 0x0 + 5311860340 19 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 20 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 21 monotouchtest 0x000000010fd71bac mono_runtime_try_invoke_array + 1292 22 monotouchtest 0x000000010fd15587 ves_icall_InternalInvoke + 647 23 ??? 0x000000013e9fcd13 0x0 + 5345627411 24 ??? 0x000000013e9fc738 0x0 + 5345625912 25 ??? 0x000000013e9fded5 0x0 + 5345631957 26 ??? 0x000000013e9fbb76 0x0 + 5345622902 27 ??? 0x000000013e9e237e 0x0 + 5345518462 28 ??? 0x000000013e9e237e 0x0 + 5345518462 29 ??? 0x000000013e9e237e 0x0 + 5345518462 30 ??? 0x000000013e9e237e 0x0 + 5345518462 31 ??? 0x000000013e873006 0x0 + 5344014342 32 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 33 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 34 monotouchtest 0x000000010fd6e320 mono_runtime_invoke + 208 35 monotouchtest 0x000000010fe71af1 xamarin_invoke_trampoline + 5617 36 monotouchtest 0x000000010fe79ddd xamarin_arch_trampoline + 189 37 monotouchtest 0x000000010fe7b1a1 xamarin_x86_64_common_trampoline + 110 38 UIKit 0x0000000111b9876b -[UITableView _selectRowAtIndexPath:animated:scrollPosition:notifyDelegate:] + 1810 39 UIKit 0x0000000111b98986 -[UITableView _userSelectRowAtPendingSelectionIndexPath:] + 344 40 UIKit 0x0000000111a6b5c9 _runAfterCACommitDeferredBlocks + 318 41 UIKit 0x0000000111a59dad _cleanUpAfterCAFlushAndRunDeferredBlocks + 280 42 UIKit 0x0000000111a89f68 _afterCACommitHandler + 137 43 CoreFoundation 0x000000011de3ddb7 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23 44 CoreFoundation 0x000000011de3dd0e __CFRunLoopDoObservers + 430 45 CoreFoundation 0x000000011de22324 __CFRunLoopRun + 1572 46 CoreFoundation 0x000000011de21a89 CFRunLoopRunSpecific + 409 47 GraphicsServices 0x0000000121b7e9c6 GSEventRunModal + 62 48 UIKit 0x0000000111a5f7d0 UIApplicationMain + 159 49 ??? 0x000000013c9c4474 0x0 + 5311841396 50 ??? 0x000000013c9c40ad 0x0 + 5311840429 ================================================================= Got a SIGSEGV while executing native code. This usually indicates a fatal error in the mono runtime or one of the native libraries used by your application. ================================================================= * [monotouch-test] Don't subclass MKMapView. (#2556) MKMapView doesn't like being subclassed (Apple says "you should not subclass the MKMapView class itself"). Bad things like this starts happening: Thread 0 name: tid_303 Dispatch queue: com.apple.main-thread Thread 0 Crashed: 0 libsystem_kernel.dylib 0x0000000186b25348 __pthread_kill + 8 1 libsystem_pthread.dylib 0x0000000186c39354 pthread_kill$VARIANT$mp + 396 2 libsystem_c.dylib 0x0000000186a94fd8 abort + 140 3 monotouchtest 0x0000000101c02c14 mono_handle_native_crash + 22047764 (mini-exceptions.c:2548) 4 monotouchtest 0x0000000101c0d02c mono_sigsegv_signal_handler + 22089772 (mini-runtime.c:2886) 5 libsystem_platform.dylib 0x0000000186c33b60 _sigtramp + 52 6 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 7 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 8 CoreFoundation 0x0000000186eda51c -[__NSArrayM dealloc] + 68 9 CoreFoundation 0x000000018703f5c8 __CFBasicHashDrain + 312 10 CoreFoundation 0x0000000186fb5b44 _CFRelease + 224 11 CoreText 0x000000018a808404 TDescriptorSource::PurgeFontFallbacksCache+ 488452 () + 92 12 CoreText 0x000000018a808374 TDescriptorSource::PurgeFromCaches+ 488308 (__CFURL const*) const + 176 13 CoreText 0x000000018a7eec74 CTFontRemoveFromCaches + 168 14 VectorKit 0x0000000196a539b0 +[VKSharedResourcesManager removeResourceUser:] + 324 15 VectorKit 0x0000000196ca27a4 md::MapEngine::~MapEngine+ 2643876 () + 360 16 VectorKit 0x0000000196ca2634 md::MapEngine::~MapEngine+ 2643508 () + 12 17 libobjc.A.dylib 0x000000018651eef4 object_cxxDestructFromClass+ 28404 (objc_object*, objc_class*) + 148 18 libobjc.A.dylib 0x000000018652c638 objc_destructInstance + 88 19 libobjc.A.dylib 0x000000018652c690 object_dispose + 16 20 QuartzCore 0x000000018afca3ac -[CALayer dealloc] + 116 21 VectorKit 0x0000000196a43294 -[VKMapView dealloc] + 940 22 QuartzCore 0x000000018af6aafc CA::release_objects+ 744188 (X::List<void const*>*) + 32 23 QuartzCore 0x000000018afd97d8 CA::Layer::~Layer+ 1198040 () + 276 24 QuartzCore 0x000000018afca37c -[CALayer dealloc] + 68 25 QuartzCore 0x000000018af6b16c CA::Transaction::commit+ 745836 () + 1052 26 UIKit 0x0000000190393290 _afterCACommitHandler + 256 27 CoreFoundation 0x0000000186fb38b8 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 32 28 CoreFoundation 0x0000000186fb1270 __CFRunLoopDoObservers + 412 29 CoreFoundation 0x0000000186fb182c __CFRunLoopRun + 1292 30 CoreFoundation 0x0000000186ed22d8 CFRunLoopRunSpecific + 436 31 GraphicsServices 0x0000000188d58f84 GSEventRunModal + 100 32 UIKit 0x000000019040427c UIApplicationMain + 208 33 monotouchtest 0x000000010106eb90 wrapper_managed_to_native_UIKit_UIApplication_UIApplicationMain_int_string___intptr_intptr + 9907088 (/<unknown>:1) 34 monotouchtest 0x0000000100f0d6ac UIKit_UIApplication_Main_string___intptr_intptr + 8459948 (UIApplication.cs:79) 35 monotouchtest 0x0000000100f0d66c UIKit_UIApplication_Main_string___string_string + 8459884 (UIApplication.cs:63) 36 monotouchtest 0x0000000100b10450 monotouchtest_Application_Main_string__ + 4277328 (Main.cs:27) 37 monotouchtest 0x0000000100e0c244 wrapper_runtime_invoke_object_runtime_invoke_dynamic_intptr_intptr_intptr_intptr + 244 38 monotouchtest 0x0000000101c10048 mono_jit_runtime_invoke + 22102088 (mini-runtime.c:2526) 39 monotouchtest 0x0000000101c75eec do_runtime_invoke + 22519532 (object.c:2829) 40 monotouchtest 0x0000000101c78a3c do_exec_main_checked + 22530620 (object.c:4623) 41 monotouchtest 0x0000000101bf9a1c mono_jit_exec + 22010396 (driver.g.c:1040) 42 monotouchtest 0x0000000101d13d60 xamarin_main + 23166304 (monotouch-main.m:482) 43 monotouchtest 0x00000001007de710 main + 927504 (main.m:67) 44 libdyld.dylib 0x00000001869f656c start + 4 * [introspection] Let SkipDueToAttributeInProperty skip setters too (#2557) `SkipDueToAttributeInProperty` which is used to check the availability attribute of properties when the Availability info only exist on the property and not on the property Getter or Setter was wrong. This lead to `setSpringLoaded` (which was introduced in iOS 11) to not be ignored by the test (making it fail). - Fix bug #59085: [introspection-ios] selector not found for UIKit.UIBarButtonItem : setSpringLoaded: - Broken test (https://bugzilla.xamarin.com/show_bug.cgi?id=59085) * [corevideo][watchos] Enable CoreVideo on watchOS (#2553) * [storekit] Fix CampaignToken typo (#2559) (#2560) - Fixes bug #59078: StoreProductParameters and invalid property for CampaignToken (https://bugzilla.xamarin.com/show_bug.cgi?id=59078) * [coreml][watchos] Enable API using CoreVideo on watchOS. Fix #58097 (#2561) https://bugzilla.xamarin.com/show_bug.cgi?id=58097 * Add missing [MarshalDirective] attributes. (#2558) * [bindings-generator] Improve build & project file. * Add missing [MarshalDirective] attributes. Add missing [MarshalDirective] attributes, which also requires implementing support for out parameters in the binding generator, since one of the signatures missing the [MarshalDirective] contains such an out parameter. Also add tests for all the API I've added [MarshalDirective] to. * [bindings-generator] Remove redundant if check. * [monotouch-test] Rename file to end with 'Test.cs'. * [tests] Fix a few build errors for Xamarin.Mac. * [uikit] Fix UIColor and UIInputViewController tvOS availability (#2569) - Fixes introspection tests on tvOS 10. * [storekit] Fix SKCloudServiceSetupMessageIdentifier and SKProductStorePromotionController tvOS availability (#2568) - Fixes introspection tests on tvOS 10. * [mapkit] Fix MKMapItemTypeIdentifier tvOS availability (#2566) - Also remove double [Mac] availability attribute. - Fixes introspection tests on tvOS 10. * [ARKit] Fix marshalling for ARPointCloud.RawFeaturePoints. (#2565) ARPointCloud.RawFeaturePoints is an array of Vector3, but each vector is 16-byte aligned (as if it were an array of Vector4). This means we need to account for this when creating a managed array from pointer to the native C-style array. * [ModelIO] Fix MDLVoxelIndexExtent struct. (#2564) The MDLVoxelIndexExtent is a struct containing two 4-dimensional vectors of integers (not floats, as originally and incorrectly implemented). Fix this my creating a new MDLVoxelIndexExtent2 struct with the right fields, re-implement all the API that exposes this struct and obsolete the old API. Also add missing [MarshalDirective] attributes. And write a test to make sure it works fine now and forever. * [coredata] Enable new fields since rdar #33878590 is fixed w/beta 6 (#2570) reference: https://trello.com/c/dlSRYPFx * [xtro-sharpie] Add a Simd check class to verify signatures with Simd types. * [Simd] Add simd matrix types. The OpenTK matrices (Matrix2/3/4) has a different memory layout than Apple's matrix_float2x2/matrix_float3x3/matrix_float4x4 matrices: the OpenTK versions are row-major, while Apple's versions are column-major. This means that when blitting memory from one to the other, the matrix will appear to have been transposed. See bug #[58599][2] for an example. Unfortunately we've already bound several API with Apple's matrix_floatXxX matrices using OpenTK's matrices, and although they're bound wrong, and the matrices appear transposed on input/output, we can't change the behavior because we have to maintain compatibility. This means we have to introduce new API, and then also just define new matrix types with the right memory layout (column-major). Additionally, in the future we might be able to mark these matrices as Simd-matrixes, so that the JIT/AOT compiler can generate the correct alignment for them, avoiding having to define a native conversion method (using the [MarshalDirective] hack). The matrices have been designed to match API-wise the matrices in the System.Numerics.Vectors namespace [1], but for the moment with only a few basic operations implemented (Determinant/Transpose/Multiply) defined (we can always add more later if we want to). In addition explicit conversion operators to and from the corresponding OpenTK.MatrixX are implemented, which means any operation defined in the OpenTK matrices can be used by converting back and forth. [1]: https://msdn.microsoft.com/en-us/library/system.numerics.matrix4x4(v=vs.111).aspx [2]: https://bugzilla.xamarin.com/show_bug.cgi?id=58599 * [ARKit] Use the new Simd matrix types. * [Vision] Use the new Simd matrix types. * [ModelIO] Use the new Simd-compatible matrix types, and deprecate the old API. * [GameplayKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [SpriteKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [xtro] Don't report missing [MarshalDirective] for obsolete methods. * [xtro] Remove unnecessary ignores. The implementation changed, and these stayed accidentally. * [wkwebkit] Fix (native) protocol names (#2572) Also ignore xtro's WKSnapshotConfiguration since it's an Apple bug 34185961 reference (xtro) !missing-protocol! WKURLSchemeHandler not bound !missing-protocol! WKURLSchemeTask not bound !unknown-protocol! WKUrlSchemeHandler bound !unknown-protocol! WKUrlSchemeTask bound !unknown-type! WKSnapshotConfiguration bound * [uikit] Fix enums availability attributes (#2575) - Fixes bug #59132: [uikit] Extra types in watchOS (https://bugzilla.xamarin.com/show_bug.cgi?id=59132) * [watchkit] Add missing designated initializers (#2574) references (xtro) !missing-designated-initializer! WKInterfaceController::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! WKUserNotificationInterfaceController::init is missing an [DesignatedInitializer] attribute * [xtro] Reword some of the Simd diagnostic messages according to review. * [tests] Make sure test symbols don't clash between different test libraries. Fixes this build problem for framework-test: clang: error: linker command failed with exit code 1 (use -v to see invocation) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_get_rotation_matrix'. MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticObjectTest.framework/XStaticObjectTest (Location related to previous error) MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticArTest.framework/XStaticArTest(libtest-ar.x86_64.o) (Location related to previous error) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransformcomponent_get_local_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_create_global_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float4x4'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float3x3'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float2x2'. MTOUCH: error MT5209: Native linking error: 6 duplicate symbols for architecture x86_64 MTOUCH: error MT5202: Native linking failed. Please review the build log. * [tests] Since libtest.a need ModelIO now, the corresponding LinkWith attributes need to state that too. * [introspection] Don't check native signatures on obsolete members, and ignore the right simd matrix types. Fixes this introspection/Mac problem: ***** ApiSignatureTest.NativeSignatures Selector: uniformWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: uniformWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: uniformWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: setMatrixFloat2x2Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: setMatrixFloat3x3Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: setMatrixFloat4x4Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: initWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: initWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: initWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded * [monotouch-tests] Include more custom asserts for watchOS to make the build work. Fixes this: Simd/MatrixFloat4x4Test.cs(28,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(29,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(37,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(48,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' [...] * [monotouch-test] Exclude code that requires the binding project from xammac tests. Exclude code that requires the test binding project from xammac tests because there's currently no XM version of the test binding project. Fixes this: tests/monotouch-test/SpriteKit/UniformTest.cs(20,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLMaterialProperty.cs(37,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLTransform.cs(34,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) * Bump version for preview #8 (#2576) * [spritekit] Audit fixes (xtro) (#2577) 1. SKVideoNode is now, partially, available on watchOS and does not require the extra, manual code to swicth selectors depending on the OS version being run. !missing-type! SKVideoNode not bound !missing-selector! SKVideoNode::anchorPoint not bound !missing-selector! SKVideoNode::initWithCoder: not bound !missing-selector! SKVideoNode::initWithFileNamed: not bound !missing-selector! SKVideoNode::initWithURL: not bound !missing-selector! SKVideoNode::setAnchorPoint: not bound !missing-selector! SKVideoNode::setSize: not bound !missing-selector! SKVideoNode::size not bound !missing-selector! +SKVideoNode::videoNodeWithFileNamed: not bound !missing-selector! +SKVideoNode::videoNodeWithURL: not bound 2. SKNodeFocusBehavior is exposed needlessly on watchOS because SpriteKit/Enums.cs was not processed by the generator, so [NoWatch] did not matter. !unknown-native-enum! SKNodeFocusBehavior bound It's also visible on macOS but nothing uses it (so we do not expose it needlessly) !missing-enum! SKNodeFocusBehavior not bound 3. Add missing designated initializer on default `init` !missing-designated-initializer! SKAttributeValue::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! SKNode::init is missing an [DesignatedInitializer] attribute 4. Remove inconsistency for SKNode subclasses wrt XAMCORE_4_0 The trio attributeValues, setAttributeValues and setValue:forAttributeNamed: that was moved from SKNode (deprecated) into its subclasses. This was done using XAMCORE_4_0 but not on every subclasses. This adds them everywhere to be consistent (only SKNode versions are not defined in XAMCORE_4_0) !missing-selector! SKEffectNode::attributeValues not bound !missing-selector! SKEffectNode::setAttributeValues: not bound !missing-selector! SKEffectNode::setValue:forAttributeNamed: not bound !missing-selector! SKEffectNode::valueForAttributeNamed: not bound !missing-selector! SKEmitterNode::attributeValues not bound !missing-selector! SKEmitterNode::setAttributeValues: not bound !missing-selector! SKEmitterNode::setValue:forAttributeNamed: not bound !missing-selector! SKEmitterNode::valueForAttributeNamed: not bound !missing-selector! SKSpriteNode::attributeValues not bound !missing-selector! SKSpriteNode::setAttributeValues: not bound !missing-selector! SKSpriteNode::setValue:forAttributeNamed: not bound !missing-selector! SKSpriteNode::valueForAttributeNamed: not bound * [introspection] Make sure '[FAIL]' is printed before every failure. (#2578) This makes xharness able to list the failures in the inline summary. * [xtro] Reword some of the Simd diagnostic messages according to review. * [xharness] Add a missing IsServerMode check to generate correct html. (#2581) * [SpriteKit] SKTransformNode is new in Xcode 9 so no need to keep the broken (and obsolete) non-simd version of RotationMatrix. * [intents] Fix some (partial) xtro issues and #59156 (#2585) reference https://bugzilla.xamarin.com/show_bug.cgi?id=59156 Remaining issues are filled in https://bugzilla.xamarin.com/show_bug.cgi?id=59183 !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound * [Intents] Confirm* interface methods should be bound as Confirm, Fixes Bug 59164 (#2591) * [Intents] Confirm* interface methods should probably be bound as Confirm, Fixes Bug 59164 https://bugzilla.xamarin.com/show_bug.cgi?id=59164 All Confirm* methods from *IntentHandling interfaces should be named just `Confirm` to avoid confusion because most of them do not directly confirm as an acion, but instead they **ask** for confirmation also we would follow swift's naming by doing this. * [Intents] XAMCORE_4_0 all Confirm* methods from *IntentHandling Turns any Confirm* into just Confirm inside a XAMCORE_4_0 block, * [Intents] Fix breaking changes in Intents added in Xcode 9 Bindings (#2590) Apple added more protocol conformances to INRidesharingDomainHandling and INPaymentsDomainHandling protocols in Xcode 9, I introduced these breaking changes back when I did intents binding so fixing them :) * [Metal] New bindings from Xcode 9 betas (#2457) * [AVFoundation] Updated bindings for xcode9. (#2272) * [Xcode9] Add IOSurface bindings (#2363) * This framework was a private framework before iOS 11. This framework was a private framework before iOS 11, yet the headers claim many API were introduced in iOS 10. So take account of this difference by using the private framework location in iOS 10.3 or earlier. Testing these API from Xcode works fine when run on an iOS 10.3 device, and I've confirmed the IOSurface framework is loaded from the private frameworks path on older devices (and when built using Xcode 9 and linked with the public framework path). * Disable code to make IOSurface work on iOS 10. Disable the code to make IOSurface work on iOS 10, since it may be rejected by the App Store. This also means adjusting the availability attributes, so that the introspection tests pass (and to document that technically these API won't work when used with Xamarin.iOS in iOS 10). I've filed bug #[59201][1] to keep track of this, maybe we can re-enable this later. [1]: https://bugzilla.xamarin.com/show_bug.cgi?id=59201 * [CoreMedia] Fix leak in CMAttachmentBearer.GetAttachments. (#2593) The caller owns the return value from CMCopyDictionaryOfAttachments, so tell Runtime.GetNSObject that. * [Intents] Adds missing API found by xtro, fixes Bug 59183 (#2596) https://bugzilla.xamarin.com/show_bug.cgi?id=59183 Fixes !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !incorrect-protocol-member! INUIHostedViewControlling::configureWithInteraction:context:completion: is OPTIONAL and should NOT be abstract * [xtro] Fix StartWorkingDirectory to enable debugging (#2598) * [iosurface] Enable for tvOS and XM classic (to avoid multiple defines around consumer API) (#2597) * [xtro] Fix EnumCheck (#2600) * [ARKit] Rename a few method to make them nicer. (#2604) * DisplayTransform -> GetDisplayTransform since methods should have verbs. * SessionWasInterrupted -> WasInterrupted and SessionInterruptionEnded -> InterruptionEnded since these names match better with the other names (CameraDidChangeTrackingState / DidFail / DidOutputAudioSampleBuffer: none are prefixed with 'Session'). Additionally, the type is a Model (for the delegate pattern), which means all methods are more-or-less event-like, and the first argument is always the same (the protocol itself), which is another indicator the methods should be named similarly. * [Foundation] Remove 'Key' suffix from some fields. (#2606) Of the 168 fields in NSMetadataItem, only these 5 hadn't removed the 'Key' suffix. So make them all equivalent by removing the 'Key' suffix from these 5 fields. * [ImageIO] Fix API to not duplicate the instance in instance methods. (#2609) An instance method does not need to take the instance as a parameter, so remove the first (instance) parameter for CGImageDestination.AddAuxiliaryDataInfo and CGImageSource.CopyAuxiliaryDataInfo. An alternative solution would be to make the methods static, but I like the instance API better. * [UIKit] De-model UIDataSourceTranslating. (#2603) It's not clear from neither the documentation nor the headers how this protocol is supposed to be used, and since it doesn't correspond to the delegate pattern, remove the [Model] attribute for now. We can always add it back later. * [CoreML] Improve API. (#2592) * [CoreML] Improve API. * The indices, shape and stride properties for MLMultiArray and MLMultiArrayConstraint can logically only be arrays of integers, so type them as such. This means adding overloads for MLMultiArray's constructors, GetObject and SetObject methods, and the indexers that takes nint[] arrays instead of NSNumber[] arrays. * Change MLFeatureValue's static factory methods to be a method ('Create') instead of a preposition, and call all the different factory methods the same, since they can be overloaded nicely. * [tests][monotouch-test] Add version check to MLMultiArrayTest and make sure the arrays we create are big enough for the data we put in them. * [tests][monotouch-test] MLMultiArray's elements aren't zero-initialized, so don't assume that in the tests. * Support overloading Objective-C methods based on static/instance. (#2607) Two Objective-C methods can be named identically as long as one is static and the other instance. We must support this since Apple did just this (in the NSItemProviderReading / NSItemProviderWriting protocols). We solve it by prepending a '+' or '-' to the selector when hashing it (to determine selector uniqueness, and to look the method up again at runtime). * [uikit] Update for Xcode 9 - Part 6 (#2602) NSAttributedString.h NSFileProviderExtension.h NSLayoutAnchor.h UIAccessibility.h UIAccessibilityAdditions.h UIAccessibilityContainer.h UIAccessibilityContentSizeCategoryImageAdjusting.h UIAccessibilityCustomRotor.h UIAccessibilityLocationDescriptor.h UITabBar.h UINavigationBar.h UIScreen.h * Xcode9 scenekit (#2512) * [SceneKit] basic work * Added key * [xcode9] SCNCameraController * [xcode9] SCNCamera updates * [xcode9] SCNMaterial * [xcode9] SCNGeometryTessellator, SCNCameraControlConfiguration, SCNView, small bits * Add trailing commas to last enum value * Remove whitespace noise * [scenekit] Update deprecated attributes messages * Addresses some of Rolf's feedback * Drop the WeakDelegate in SCNCameraController * Rename method to Render, remove ctor from class that can not be constructed in Palygrounds, add typo exception * [AppKit] Rename NSBezierPath.AppendBezierPathWithCGGlyph to match its sibling methods. (#2605) NSBezierPath contains a lot of 'AppendPathWithXXX' methods, that all map to 'appendBezierPathXXX' selectors. So rename AppendBezierPathWithCGGlyph accordingly, to make it more similar to the other methods in the same type. * [uikit] Add all UISpringLoadedInteractionSupporting (#2616) Types do not conform to the protocol but protocol methods work on those types (see monotouch-test). Fixed introspection tests accordingly and tested the selectors in monotouch-test. * [Intents] Add convenience ctor overload and call correct base ctor in manual ctor. (#2613) Add a convenience constructor overload in INGetUserCurrentRestaurantReservationBookingsIntent that uses nint instead of NSNumber, since logically "number of results" will always be some sort of integer. Also call the correct base constructor in INSpeakableString's custom constructor (same as any other generated constructor). Otherwise we end up doing something like this: [[[INSpeakableString alloc] init] initWith ...], i.e. calling two different init methods. * [coreimage] Add new headers API up to beta 6 (#2601) Filters are not complete (ref: #57350) https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * Some new constants are not yet documented (type is known), so they are commented / ignored https://bugzilla.xamarin.com/show_bug.cgi?id=59296 * Filled bug for [Wrap] inside [Category] so strong dictionary helpers can be re-enabled later https://bugzilla.xamarin.com/show_bug.cgi?id=59294 * [foundation] xtro fixes for watchOS (#2586) !missing-enum! NSProcessInfoThermalState not bound !missing-field! NSProcessInfoThermalStateDidChangeNotification not bound !missing-selector! NSProcessInfo::thermalState not bound Headers are wrong and preferredPresentationStyle is not in tvOS and watchOS !missing-selector! NSItemProvider::preferredPresentationStyle not bound !missing-selector! NSItemProvider::setPreferredPresentationStyle: not bound * [uikit] Also remove UIPreferredPresentationStyle enum from platform where it's not used * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. (#2614) * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. * NSItemProviderWriting: * NSItemProviderReading: Implement correctly and completely by uncommenting commented out code. * NSMutableString: * NSAttributedString: remove inlined members, since these classes don't implement NSItemProviderReading / NSItemProviderWriting (according to the headers at least). * NSUrl: all platforms now seem to implement NSItemProviderReading / NSItemProviderWriting. * NSString: all platforms now seem to implement both NSItemProviderReading and NSItemProviderWriting * UIColor: * UIImage: Update inlined protocol members according to the latest beta. Additionally, due to the following conditions: * The protocols all have the correct members now. * In the API definition we tell the generator to inline members from a protocol by inheriting from the corresponding interface. * The generator doesn't inline static members from protocols. several 'new' keywords had to be added to silence a compiler warning that occurrs when we manually inline a static member, since the member would be included in the type both from the inherited interface and the manual implementation. * [Foundation] Comment out NSItemProviderWriting.GetItemProviderVisibility to avoid inlining/generating unusable methods. NSItemProviderWriting.GetItemProviderVisibility is an optional method, and none of the native classes that implements NSItemProviderWriting actually imlements the method. This means inlining the method in those classes ends up creating unusable API; so just comment out the method to avoid generating the unusable API. The introspection tests found this: [FAIL] Foundation.NSString : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Foundation.NSUrl : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Contacts.CNContact : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] MapKit.MKMapItem : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIColor : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIImage : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] iOSApiSelectorTest.ApiSelectorTest.StaticMethods : 6 errors found in 2348 static selector validated: See also https://bugzilla.xamarin.com/show_bug.cgi?id=59308 * [iosurface] Add missing [TV] attributes (#2619) * [opengles] Enable the new API using IOSurface (#2618) The symbol only exists inside device libraries, not on simulator, and the introspection tests were updated to ignore it. Part of https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [avfoundation][watchos] Enable AudioBufferList (fix #59145) + audit (xtro) (#2617) 1. AudioBufferList is part of CoreAudio (wrong namespace, which needs a few changes in the generator) and now available in watchOS 4 https://bugzilla.xamarin.com/show_bug.cgi?id=59145 2. Also fixes xtro found issues: !missing-type! AVAudioRecorder not bound !missing-selector! AVAudioRecorder::averagePowerForChannel: not bound !missing-selector! AVAudioRecorder::channelAssignments not bound !missing-selector! AVAudioRecorder::currentTime not bound !missing-selector! AVAudioRecorder::delegate not bound !missing-selector! AVAudioRecorder::deviceCurrentTime not bound !missing-selector! AVAudioRecorder::format not bound !missing-selector! AVAudioRecorder::initWithURL:format:error: not bound !missing-selector! AVAudioRecorder::initWithURL:settings:error: not bound !missing-selector! AVAudioRecorder::isMeteringEnabled not bound !missing-selector! AVAudioRecorder::isRecording not bound !missing-selector! AVAudioRecorder::peakPowerForChannel: not bound !missing-selector! AVAudioRecorder::recordAtTime: not bound !missing-selector! AVAudioRecorder::recordAtTime:forDuration: not bound !missing-selector! AVAudioRecorder::recordForDuration: not bound !missing-selector! AVAudioRecorder::setChannelAssignments: not bound !missing-selector! AVAudioRecorder::setDelegate: not bound !missing-selector! AVAudioRecorder::setMeteringEnabled: not bound !missing-selector! AVAudioRecorder::settings not bound !missing-selector! AVAudioRecorder::url not bound !missing-protocol! AVAudioRecorderDelegate not bound !missing-selector! AVAudioEngine::inputNode not bound !missing-selector! AVAudioEngine::manualRenderingBlock not bound !missing-selector! AVAudioInputNode::setManualRenderingInputPCMFormat:inputBlock: not bound !missing-selector! AVAudioPlayer::format not bound !missing-selector! AVAudioSession::requestRecordPermission: not bound !unknown-field! AVFileType3GPP bound !unknown-field! AVFileType3GPP2 bound !unknown-field! AVFileTypeAC3 bound !unknown-field! AVFileTypeAIFC bound !unknown-field! AVFileTypeAIFF bound !unknown-field! AVFileTypeAMR bound !unknown-field! AVFileTypeAVCI bound !unknown-field! AVFileTypeAppleM4A bound !unknown-field! AVFileTypeAppleM4V bound !unknown-field! AVFileTypeCoreAudioFormat bound !unknown-field! AVFileTypeDNG bound !unknown-field! AVFileTypeEnhancedAC3 bound !unknown-field! AVFileTypeHEIC bound !unknown-field! AVFileTypeHEIF bound !unknown-field! AVFileTypeJPEG bound !unknown-field! AVFileTypeMPEG4 bound !unknown-field! AVFileTypeMPEGLayer3 bound !unknown-field! AVFileTypeQuickTimeMovie bound !unknown-field! AVFileTypeSunAU bound !unknown-field! AVFileTypeTIFF bound !unknown-field! AVFileTypeWAVE bound * [Metal] Implement API using IOSurface now that IOSurface is implemented. Partially fixes #58054. (#2621) https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [PdfKit] Improve PdfAnnotation.QuadrilateralPoints binding by making it strongly typed. (#2620) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). (#2622) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). * [ARKit/Vision] Use the new simd vector types instead of the OpenTK versions. * [ModelIO] Use the new simd vectors in new API (MDLVoxelIndexExtent2). This way we won't have to create a MDLVoxelIndexExtent3 in the future. * [SpriteKit] Use the new simd vectors in new API. * [metal] Audit (xtro) based fixes (#2623) !extra-protocol-member! unexpected selector MTLArgumentEncoder::newArgumentEncoderForBufferAtIndex: found !extra-protocol-member! unexpected selector MTLComputeCommandEncoder::dispatchThreads:threadsPerThreadgroup: found macos-only !missing-field! MTLDeviceRemovalRequestedNotification not bound !missing-field! MTLDeviceWasAddedNotification not bound !missing-field! MTLDeviceWasRemovedNotification not bound !missing-pinvoke! MTLCopyAllDevices is not bound * [CloudKit] Update bindings to beta 6. (#2615) * [FileProvider] Turn NSFileProviderItemIdentifier enum into a static class, fixes bug 59329 (#2634) https://bugzilla.xamarin.com/show_bug.cgi?id=59329 At the time of binding NSFileProviderItemIdentifier it wasn't clear how it was supposed to be used, I mean apple provides two keys which I thought were the only possible values hence binding it as an smart enum. Unfortunately this wasn't the case and the user can use those two values provided from the SDK or their own NSString Identifier. Swift provides a wrapper unfortunately we can't do the same due to NSFileProviderItemIdentifier is used in the NSFileProviderItem protocol and we currently do not support changing signatures on them. * [mtouch] Teach mtouch about the 'IOSurface' framework for tvOS. Fixes #59333. (#2630) https://bugzilla.xamarin.com/show_bug.cgi?id=59333 * Bump Touch.Unit to get fix for API breakage. (#2631) spouliot/Touch.Unit@8f1e19d [NUnitOutputTextWriter] Reintroduce previous constructor to make sure we don't break binary ABI. spouliot/Touch.Unit@00b0c0b [NUnitOutputTextWriter] Don't write invalid xml comments. spouliot/Touch.Unit@de9fe20 [TouchRunner] Restore the original code path when not wrapping NUnit xml output. * [IOSurface] Add missing availability attributes for tvOS. (#2629) * Bump versions for preview 9 (#2624) * [AVFoundation] Add missing interface AVRouteDetector. (#2637) * [tests] Update xtro to reduce list sizes (#2636) * Skip OpenTK duplicate declaration (we can't change them); * Fix rule name change for ARKit / simd; * Add missing default initializer on `init` to pending actions; * Add note for AVPersistableContentKeyRequest changes wrt tvOS; * [ReplayKit] Make RPBroadcastActivityViewController.LoadBroadcastActivityViewController async-capable. (#2639) * [xcode9] More SceneKit bindings (#2633) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 (#2644) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 https://bugzilla.xamarin.com/show_bug.cgi?id=59380 vector_float3 is 16 bytes, which means the binding is incorrect, because Vector3 is 12 bytes, and our code does not that difference into account. * Add tests * [DeviceCheck] Disable default ctor for DCDevice. (#2642) It doesn't seem to be useful according to the documentation, since it appears that the only way to get an instance is to use the static CurrentDevice property. * [audiounit] Audit (xtro) fixes for tvOS (#2635) Availability attributes in non-generated files don't hide symbols/code. reference: !unknown-pinvoke! AudioUnitExtensionCopyComponentList bound !unknown-pinvoke! AudioUnitExtensionSetComponentList bound * [tests] Make sure tvOS tests don't use the (unexisting) API * [tests] Add all test project variations to tests-mac.sln (#2579) * [xharness] Make sure generated mac projects have different project guids. * [introspection] Change the project guid so that it doesn't match the dontlink-mac project guid. * [tests] Add all test project variations to tests-mac.sln. * [xharness] Fix else condition. * [FileProvider] Adds missing NSFileProviderPage constants, fixes bug 59297. (#2646) https://bugzilla.xamarin.com/show_bug.cgi?id=59297 Adds NSFileProviderInitialPageSortedByName and NSFileProviderInitialPageSortedByDate NSData constants * [Xcode9] Remove NSFileProviderMessage and NSFileProviderMessageInterface (#2647) APIs were removed in beta 2 * [Foundation/UIKit] Provide LoadObject[s] methods that return the expected type in the callback. Fixes #59049. (#2638) The callback for these LoadObject[s] methods take an INSItemProviderReading parameter. This tells our runtime that we must provide an instance of a managed object that implements this interface (but nothing else), so we create a `NSItemProviderReadingWrapper` instance, which complies with the API (since the wrapper type implements the corresponding interface). Unfortunately these methods are supposed to return an instance of the passed- in type, so in order to comply with this soft (documentation-only) requirement, provide a wrapper method that creates instances of the right types. https://bugzilla.xamarin.com/show_bug.cgi?id=59049 * [arkit] Ignore deprecated selectors (#2645) * [FileProvider] Adds missing protocol and keys from audit (#2652) ``` !missing-protocol! NSFileProviderServiceSource not bound !missing-field! NSFileProviderErrorCollidingItemKey not bound !missing-field! NSFileProviderErrorNonExistentItemIdentifierKey not bound !missing-field! NSFileProviderFavoriteRankUnranked not bound ``` Also adds `NSXpcListenerEndpoint` to foundation, needed by `NSFileProviderServiceSource` protocol. * [tests][xtro] Workaround xtro runner dupe entry exception and update data files (#2654) * [AVFoundation] Rename field to match others. (#2657) * [homekit] Audit (xtro) fixes (#2653) - HMCharacteristicEvent conforms to NSMutableCopying on iOS11 which makes it 64 bits only (so adjust intro tests) - Ignore extra setters on HMMutablePresenceEvent, rdar 33883958 !missing-selector! HMMutablePresenceEvent::setPresenceEventType: not bound !missing-selector! HMMutablePresenceEvent::setPresenceUserType: not bound * [xtro] Add missing pinvoke to pending (#2662) - Bug 59422: [uikit] Missing UIContentSizeCategoryCompareToCategory & UIContentSizeCategoryIsAccessibilityCategory (https://bugzilla.xamarin.com/show_bug.cgi?id=59422) * Merge latest d15-3 fixes into xcode9 (#2660) * [msbuild] Re-added wildcard (*) expandsion for application-identifier in Entitlements.plist (#2186) Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=57119 * Bump mono (#2213) * Framework tests were still binding non-linked Simple class which errors now (#2216) (#2218) - Improve Makefile to rebuild when projects build with errors * Bump mono to get cecil fix for bug #56808. (#2222) https://bugzilla.xamarin.com/show_bug.cgi?id=56808 * [msbuild] Use @(ReferencePath) instead of @(ResolvedFiles) (#2188) (#2214) This allows things to work on both xbuild and msbuild. In xbuild, both lists are exactly the same and on msbuild, only @(ReferencePath) exists. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=55147 * NSActivityOptions.IdleDisplaySleepDisabled had wrong value (#2232) (#2239) This was due to an integer overflow. The original value was based on Int32 1 << 40 == 256 The correct value should be based on a UInt64. 1UL << 40 == 1099511627776 * [tests] Fix bug 57699 - [iOS]InternalsTest failure (Linkall) tests on device (#2243) Strip native debugging symbols should not be checked for debug builds * Bump mono to get fix for bug #57780. https://bugzilla.xamarin.com/show_bug.cgi?id=57780 * Update .gitmodules Change branch to d15-3 branch of mono * Bump maccore to get fix for bug #55064. https://bugzilla.xamarin.com/show_bug.cgi?id=55064 * [mono] Bump mono to get the head of cecil/mono-2017-04 and fix IsComObject #57919 Also fix #58789 [1], the typo in tools/mtouch/Tuning.cs showing in MT0000 errors instead MT2102. That's already in master and d15-4 mono bump includes: [2] commit 2a6502cee0df9de5198eafe7c8b5f6ac25106f34 (HEAD -> d15-3, origin/d15-3) Merge: 02457c20fcf 5e05cafc6f1 Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 10:04:06 2017 -0400 Merge pull request #5401 from marek-safar/com [Marshal.IsComObject] Make this predicate return false instead of thr… [3] commit 02457c20fcf57c0610e844d638eb1da82b5d1eb0 Merge: da80840ea55 73fd9a1b82e Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 09:59:06 2017 -0400 Merge pull request #5400 from spouliot/bump-cecil-58834-d15-3 [cecil] Bump to the head of the mono-2017-04 branch and pick the fix for bug #58834 References [1] https://bugzilla.xamarin.com/show_bug.cgi?id=58789 [2] https://bugzilla.xamarin.com/show_bug.cgi?id=57919 [3] https://bugzilla.xamarin.com/show_bug.cgi?id=58834 * [mtouch] Put 'mono_profiler_startup_log' in the symbol list. Fixes #58778. (#2501) We need the 'mono_profiler_startup_log' symbol when profiling is enabled, so make sure to add the symbol to the correct list of symbols we need. Previously we were passing `-u _mono_profiler_startup_log` to clang directly, which is fine, but not complete, since it does not write the symbol to the symbollist file (--symbollist=file), which means it wouldn't be preserved when the MSBuild tasks strip the executable. https://bugzilla.xamarin.com/show_bug.cgi?id=58778 * Bump versions for SR3 https://trello.com/c/EVze08ei * Bump mono to include HttpClientHandler fix #44027 https://trello.com/c/jYFXadH8/8-systemnethttp-close-request-stream-when-httpclienthandler https://bugzilla.xamarin.com/show_bug.cgi?id=44027 * [FileProvider] Add missing API and turn NSString to string (#2663) Turned NSString to string in order to match exisiting API. * [uikit] Add UIPasteConfigurationSupporting and UITextPasteConfigurationSupporting (#2649) - Fixes bug #59363: Missing UIPasteConfigurationSupporting, UITextPasteConfigurationSupporting, UITextDraggable and UITextDroppable on a couple of types (https://bugzilla.xamarin.com/show_bug.cgi?id=59363) * [uikit] Remove 129 types in UIPasteConfigurationSupporting case * [scenekit] Audit (xtro) fixes (#2648) This looks like an Apple breaking change (since `SCNAnimation` is new) but we now have: > typedef void (^SCNAnimationEventBlock)(id<SCNAnimation> animation, id animatedObject, BOOL playingBackward); bound as > delegate void SCNAnimationEventHandler (CAAnimation animation, NSObject animatedObject, bool playingBackward); and `CAAnimation` conforms to `SCNAnimation` but *only* the later is available on watchOS. The delegate is only updated (since it's new) on our watchOS profile. xtro references: (watchos) !unknown-protocol! SCNCameraControlConfiguration bound (tvos/watchos) !missing-selector! SCNAnimation::animationEvents not bound !missing-selector! SCNAnimation::setAnimationEvents: not bound !missing-selector! SCNConstraint::isEnabled not bound !missing-selector! SCNConstraint::setEnabled: not bound !missing-field! SCNSceneSourceConvertToYUpKey not bound !missing-field! SCNSceneSourceConvertUnitsToMetersKey not bound (ios/tvos) !missing-protocol-conformance! SCNNode should conform to UIFocusItem * Bump maccore post 15.3 merge (#2665) * Bump Xcode 9 to GM (#2667) * Force build (on wrench) * [avfoundation] Fix breaking changes (apidiff) (#2664) * [TVServices] Update to Xcode 9 GM (#2675) * [GameController] Update to Xcode 9 GM (#2673) * [LocalAuthentication] Update to Xcode 9 GM (#2671) * [LocalAuthentication] Update to Xcode 9 GM * Remove availability from BiometryNotAvailable, BiometryNotEnrolled and BiometryLockout * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer (#2659) * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer Some of the new added types were already present BUT under a #if MONOMAC, they had to be moved. * [AVFoundation] Set the wrongly added API to be obsolete and ensure it returns logical values. (#2650) * [xtro] The right platform for macOS is 'macos', not 'osx'. (#2677) The platform name is used to filter availability attributes, and if we use the wrong platform, we'll incorrectly skip all availability attributes. The net result in unclassified entries: https://gist.github.com/rolfbjarne/a4474bc2a40c49a85cad495b51bb514f * Various Xcode 9 API improvements and also fixes bug 59433 (#2676) https://bugzilla.xamarin.com/show_bug.cgi?id=59433 While fixing bug 59433 I noticed some additional issues outlined below: AVDepthData: * Renamed **non** static `Create` methods because `Create` only makes sense with the **Static** method in this context. Also by renaming the methods we are now closer to the names that swift uses. * Kept descriptive method names in favor of self-documenting code. `Convert`, `Apply` and `Replace` do not fully give us the intent of the method. * Added a convenience `Create` static method that takes a `CGImageAuxiliaryDataInfo`. * AvailableDepthDataTypes is now an array of `CVPixelFormatType` instead of a `NSNumber` array (The aactual fix for bug 59433). ImageIO: * Refactored `CGImageAuxiliaryDataInfo` to be a `StrongDictionary` in order to avoid most of the manual code and also to avoid reimplementing the `ToDictionary` method (which contained a subtle bug). * Adjusted code to reflect the above change. * Added missing `.ctor (IntPtr, bool)` to `CGImageMetadata` so the class is able to be created by our `Runtime.Get*`. * Simplified `CopyAuxiliaryDataInfo` method by using `CGImageAuxiliaryDataInfo` as a `DictionaryContainer`. Tests: * Added `xamarinmonkey.heic` which is an image that contains depth data needed to test above changes. * Adds `AVDepthDataTests` that touches most of the changes listed here. * Tweak the Simd-compatible matrices and vectors (#2668) * Rename them to be OpenTK.NMatrix# (instead of Simd.MatrixFloat#x#). * Remove the Vector2 and Vector4 variants, we'll use the OpenTK types instead (but we'll keep the NVector3 variant, since it's not identical to the OpenTK version). * Update the API to match their OpenTK counterparts better: * NMatrix2 and NMatrix3 have a 0-based R#C# scheme for their fields. * NMatrix4 has a 1-based M## scheme for its fields (i.e. no change). * [AVFoundation] Use Simd-matrix for API that needs it. (#2679) This also requires implementing the corresponding matrix (NMatrix4x3). Fixes this xtro issue: > !unknown-simd-type-in-signature! OpenTK.Matrix3 AVFoundation.AVCameraCalibrationData::get_GetIntrinsicMatrix(): the native signature has a simd type (matrix_float3x3), while the corresponding managed method is using an incorrect (non-simd) type. * [xtro] Fix checking availability on categories. (#2682) When checking for category availability, check if both the current declaration is a category, and if the current's declaration container is a category. Otherwise this scenario fails: * Category method is available. * Category does not have availability attributes. * Main class is unavailable. with this typical code sequence: ```csharp // don't process methods (or types) that are unavailable for the current platform if (!decl.IsAvailable () || !(decl.DeclContext as Decl).IsAvailable ()) return; ``` In which case we'd: * First check the method (`decl`): * It's available, so no further checks is done on the method. * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container's container is a category (it isn't, it's the namespace). and as such determine that the method is available. With this change, the second step will become: * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container is a category (it is), and if its main class is available (it isn't). and as such determine that the method is unavailable. * Check for attributes on the method's container (no attributes, so we continue). * Check if the method's Unclassified diff: https://gist.github.com/rolfbjarne/8fa80962596978a426eadf9b7ba39dc1 * [uikit] Update for Xcode 9 GM (#2670) * [AVFoundation] Implement AVCapturePhoto. Partially fixes #59388. (#2678) Fixes: > common.unclassified:!missing-type! AVCapturePhoto not bound https://bugzilla.xamarin.com/show_bug.cgi?id=59388 * Use strong dictionaries for AVCapturePhoto.Metadata and AVCapturePhoto.EmbeddedThumbnailPhotoFormat. * [SIMD] Implement Simd double types (VectorDouble3/MatrixDouble4x4). (#2632) The following types will be used by ModelIO bindings * Fix delta to be double * Rename Simd-compatible matrices and vectors to match our final naming. This also means removing the new Vector2 and Vector4 variants (but not Vector3). * [avfoundation] Remove AVAssetDownloadDelegate.DidLoadTimeRange since it was removed in one of the betas (#2687) * [foundation] Move NSUrlSessionMultipathServiceType to a file processed by the generator (for the availability attributes) (#2688) * [arkit] Update for Xcode 9 GM (#2681) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes (#2690) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes Type Changed: Intents.INCarSeatResolutionResult Removed methods: public static INCarSeatResolutionResult GetConfirmationRequired (INCarSeat valueToConfirm); public static INCarSeatResolutionResult GetSuccess (INCarSeat resolvedValue); * [avfoundation] Add missing protocol members and deprecations (#2691) !missing-protocol-member! AVCapturePhotoCaptureDelegate::captureOutput:didFinishProcessingPhoto:error: not found and the selector removed from PR#2687 was actually replaced with this one !missing-protocol-member! AVAssetDownloadDelegate::URLSession:aggregateAssetDownloadTask:didLoadTimeRange:totalTimeRangesLoaded:timeRangeExpectedToLoad:forMediaSelection: not found * [tests][xtro] Map some enums, more fix with protocols and update entries (#2692) * [Tests] Reenable dns tests on the watch. (#2674) * [arkit] Add ARBlendShapeLocationOptions strong dictionary (#2696) * [coreimage] Skip not yet bound filters added in Xcode9 (#2698) Tracked in https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * [Metal] Renamed MTLArgumentDescriptor.ArgumentDescriptor to Create, fixes bug 59498 (#2702) https://bugzilla.xamarin.com/show_bug.cgi?id=59498 From [argumentDescriptor docs](https://developer.apple.com/documentation/metal/mtlargumentdescriptor/2915746-argumentdescriptor?language=objc) > Creates an empty argument descriptor. * [msbuild] Always codesign app bundles if the codesign key is non-null (#2697) ...even if it is a simulator build. Turns out that starting with Xcode9, sim builds need to be codesigned for App Groups entitlements to work properly. Interestingly, the DetectSigningIdentity logic had a comment about needing to codesign simulator builds for some entitlements to work already starting with Xcode 8 but apparently the iOS targets did not respect this. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=59379 * [Foundation] Add NSProxy stub in order to workaround bug 59247 (#2693) https://bugzilla.xamarin.com/show_bug.cgi?id=59247 We need to have a better solution that removes all what NSProxy does not responds to. Right now this works because NSObject implements NSObject protocol just like NSProxy, but NSProxy responds to far less selectors hence doing it internal so it is not a breaking change when we provide the correct fix. * Keep NSProxy around and avoid XML linker description We need to keep NSProxy (avoid linking it) if WKNavigationDelegate or IWKNavigationDelegate is used. We know WKWebView will be there and can hold a reference to it. * [Xcode 9] Update Metal for GM (#2689) * [iosurface] IOSurface is not usable before iOS/tvOS 11. Fixes #59201 (#2706) Apple rejects apps that links with the previously private IOSurface.framework. We were not sure about this [1] and had it disabled (this is removed). However another bug stopped our adjustment logic [2] from being executed. This is needed since `clang` picks up the private framework if it does not find the public one (even when asking for a weak framework), [1] https://bugzilla.xamarin.com/show_bug.cgi?id=59201 [2] Added a while ago for JavascriptCore * Bump maccore to point to commit with the docs fix. (#2703) * Bump XI to 11.0.x (and XM to 3.99.9.x) (#2684) * fix typo
2017-09-16 00:53:16 +03:00
[Deprecated (PlatformName.MacOSX, 10, 13, message: "Use 'FocusDistance' instead.")]
[Deprecated (PlatformName.iOS, 11, 0, message: "Use 'FocusDistance' instead.")]
[Deprecated (PlatformName.TvOS, 11, 0, message: "Use 'FocusDistance' instead.")]
[Deprecated (PlatformName.WatchOS, 4, 0, message: "Use 'FocusDistance' instead.")]
2016-04-21 15:30:02 +03:00
[iOS (8,0)][Mac (10,9)]
[Export ("focalSize")]
nfloat FocalSize { get; set; }
Merge xcode9 into d15-4[-xi] (#2710) * [FileProvider] Add Xcode 9 Beta 1, 2 & 3 Bindings (#2279) * [FileProvider] Add Xcode 9 Beta 1 Bindings * Better naming * Feedback not related to BindAs * [FileProvider] Removes BindAs, add manual code for it and updated to Beta 3 * [FileProvider] Implement feedback * [CoreSpotlight] Updated spotlight bindings for xcode 9 beta 3. (#2193) Updated spotlight bindings for xcode 9 beta 3. * Fix warning caused by duplicate (#2354) * [FileProviderUI] Add Xcode 9 Beta 1 to 3 bindings (#2356) * Bump to Xcode 9 beta 4 * [arkit] ARLightEstimate does not conform to NSCopying anymore (fix unit test) * [uikit] NSFileProviderExtension.ReparentItem got a new parameter in beta4 (fix unit test) * [coreimage] CIImageAccumulator init returns nil in beta 4 There's no header change to mention `init` is not allowed but it's not clear how this default initializer could be used. Also make public some other API to construct this type (outside of XM). It's not clear why there were `internal` as they are (at least now) part of the header files. * [photos] Add helpers when PHLivePhotoEditingOption/NSDictionary is null (to avoid ambiguous API) (#2360) Adding a strongly typed `PHLivePhotoEditingOption` (a strongly typed version of an `NSDictionary`) can cause a `CS0121` (call is ambiguous) since using a `null` argument is common (only one option exist so far). This PR adds overloads that makes the code nicer in such case, e.g. before Xcode9: > // null is used when no options are given > _foo.SaveLivePhoto (output, null, completion); current (Xcode 9) > // casting required to remove ambiguity with PHLivePhotoEditingOption > _foo.SaveLivePhoto (output, (NSDictionary)null, completion); with this PR > // no option, no argument > _foo.SaveLivePhoto (output, completion); The same applies to `PrepareLivePhotoForPlayback`. * [tests] Disable/tweak two tests that breaks on (almost) all Xcode updates Those tests were not added to validate xOS so just keep the parts that helps us (without constantly checking back the new break flavor) * Disable watchOS to check if this hides others issues * [mapkit] Update for beta 4 * [coredata] Update for beta 4 * [wkwebkit] Update for beta 4 Note: WKWindowFeatures.h is not compiled (part of the framework umbrella) and the `@interface WKWindowFeatures (WKPrivate)` sounds like it should not have been exposed (it's all fields starting with `_`) * [corelocation] Update for beta 4 * Revert "Disable watchOS to check if this hides others issues" This reverts commit fed2249fa43290a1956ab2fe0d48f83ab6db9711. * [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]: https://github.com/xamarin/xamarin-macios/blob/f5956d6cc1eb5dfa7bab16628cf282d40237f64e/src/generator.cs#L5985 * [FinderSync] Update to beta 4 (#2377) * [ImageIO] Update to Xcode 9 (#2353) * [PhotosUI] Move macOS photosui bindings out of photos.cs into photosui.cs (#2358) * [quicklook] Update up to beta 4 (#2374) * [uikit] UIDragInteraction & UIDragInteractionDelegate (Xcode 9 b1,2,3) (#2357) * [safariservices] Update up to beta 4 (#2380) * [coreanimation] Update to beta 4 (#2382) Apple removed (mistake?) some API in beta 1. Filed as rdar 33590997 Internal tracking in https://trello.com/c/J8BDDUV9/86-33590997-coreanimation-quartzcore-api-removals * [storekit] Update up to beta 4 (#2379) * [CoreML] Update to Xcode 9 Beta 4 (#2387) * [uikit] UICollectionView/UITableView Drag & Drop (Xcode 9 b1,2,3 & 4) (#2355) * Update code after radar 32929318 and 32897776 are fixed in b4 (#2394) * [xcode9 CoreAudio] New definitions from Beta1 to Beta3 (#2359) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 (#2397) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 https://bugzilla.xamarin.com/show_bug.cgi?id=58512 Created strong API (VNBarcodeSymbology) on the following properties * VNDetectBarcodesRequest.SupportedSymbologies * VNDetectBarcodesRequest.Symbologies * VNBarcodeObservation.Symbology * Remove modern C# because classic can't do it 😡 * [mediaplayer] Update up to beta 4 (#2388) * [watchkit] Update to beta 4 (#2398) * Bump Visual Studio for Mac max version (#2408) * [coreimage] Add CIBarcodeDescriptor and enabled missing API for VNBarcodeObservation. Fix #58197 (#2411) https://bugzilla.xamarin.com/show_bug.cgi?id=58197 * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 (#2407) * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 * [uikit] Fixes based on comments * [coreimage] CIImageAccumulator API fixes. Fix #58349 (#2412) * Obsolete the default `init`; * XM exposed some older APIs using `int` instead of `CIFormat`. This is fixed and old APIs are obsoleted; * Both new & old APIs are now using `CIFormat` for both XI and XM. https://bugzilla.xamarin.com/show_bug.cgi?id=58349 * [uikit] UIText drag & drop - up to Xcode 9 beta 4 (#2410) * [uikit] UISplitView & UIStackView up to Xcode 9 beta 4 (#2425) * Bump XI/XM versions before preview 4 (#2422) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 (#2378) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 * [PDFKit] Implement feedback * [PDFKit] the forgotten enum * [PDFKit] More feedback * [PDFKit] Add Mac changes * Missing change * Fix test RectangleF VS CGRect * Pass -Wunguarded-availability-new to quiet a new clang warning (#2424) - https://bugzilla.xamarin.com/show_bug.cgi?id=58574 * [mtouch/mmp] Ignore warnings about unguarded code section with regards to availability. (#2441) * [monotouch-test] Remove workaround for fixed Apple bug. (#2445) * Bump to Xcode 9 beta 5. (#2447) * Bump to Xcode 9 beta 5. * [mmp] Disable the partial static registrar, because Apple's macOS SDK is broken. > In file included from Xamarin.Mac.registrar.mobile.i386.m:1: > In file included from ./Xamarin.Mac.registrar.mobile.i386.h:11: > /Applications/Xcode9-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVFoundation.h:88:9: fatal error: 'AVFoundation/AVRouteDetector.h' file not found https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [mmp] Fix partial static registrar removal. * [CallKit] Update to Xcode 9 beta 5. * [ARKit] ARPointCloud doesn't conform to NSCopying anymore in Xcode 9 beta 5. * [ARKit] Update to Xcode 9 beta 5 enough to make tests happy. * [CoreImage] Stub out new filters in Xcode 9 beta 5. * [tests][monotouch] Simplify some MDLMesh asserts since values change a lot between OS versions. * [mmp] Default to the dynamic registrar for release builds again, due to bug #58629. https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [tests][introspection] CXCall started implementing NSCopying without saying so in the headers. * Disable mmp static registrar tests due to 58629 for now * [quicklook] Update to beta 5 (#2450) * [photos] Update for beta 5 (#2452) Also update some existing enum members were added in beta 1 on macOS * [safariservices] Update for beta 5 (#2455) * [mediaplayer] Update to beta 5 (#2456) * [CoreLocation] Update Xcode 9 Beta 5 (#2453) * [CoreML] Update to Xcode 9 Beta 5 (#2454) * [Contacts] Update to Xcode 9 Beta 5 (#2451) * [Vision] Update to Xcode 9 Beta 5 (#2458) * [builds] Tell LLVM to stay away from newer macOS functions. (#2459) Fixes this build problem on Sierra: > ld: weak import of symbol '_futimens' not supported because of option: -no_weak_imports for architecture x86_64 This is a symbol that was (will be?) introduced in High Sierra. Interestingly this only occurs if the Xcode 8.X Command Line Tools haven't been manually installed. Because if the Xcode 8.X Command Line Tools are installed, this happens: 1. llvm's configure script detects that 'futimens' is not usable. 2. llvm's configure script detects that 'futimens' is not usable, because xcrun sets SDKROOT=/ when calling clang. a. When the SDKROOT variable is set, clang passes '-syslibroot /usr/lib' to ld. b. When ld gets '-syslibroot /usr/lib', ld looks in '/usr/lib' for a library that contains 'futimens' in the OS itself, and since we're on Sierra, that fails to link. c. So when llvm's configure script creates a test program that checks if 'futimens' is present, the program fails. This is correct, and makes llvm *not* use futimens. 3. xcrun sets SDKROOT=/ because /usr/share/current-os.sdk/Info.plist exists. If that file does not exist, then xcrun sets SDKROOT to Xcode9's macOS SDK (because that's what xcode-select reports). a. When SDKROOT is set to Xcode9's macOS SDK, the configure check for 'futimens' succeeds, because the macOS 10.13 SDK contains that function. b. llvm happily uses 'futimens', and then the final link fails because we're using a symbol not available on all target platforms. * [arkit] Update for Xcode 9 beta 5 - Part 1 (#2460) * [tests] The container app for watchOS tests should be 64-bit. (#2463) * [xharness] watchOS tests need to run in a clean environment. Works around #58348. (#2462) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [xharness] It watchOS tests don't need to be clean anymore. Fixes #58348. (#2473) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [uikit] UIView/UIScrollView/UIViewController up to Xcode 9 beta 5 (#2431) - Add NSDirectionalEdgeInsets type. - Includes DirectionalEdgeInsetsTest. * [AudioToolbox] Update bindings to Xcode 9 beta3 (not later changes). (#2294) * [xharness] Add a file existence check. (#2478) Fixes this exception: ``` Harness exception for 'introspection': System.IO.FileNotFoundException: Could not find file '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log'. File name: '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log' at System.IO.__Error.WinIOError (System.Int32 errorCode, System.String maybeFullPath) [0x00207] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/__error.cs:188 at System.IO.FileInfo.get_Length () [0x00038] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/fileinfo.cs:171 at xharness.CaptureLog.StopCapture () [0x00021] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Log.cs:252 at (wrapper remoting-invoke-with-check) xharness.CaptureLog:StopCapture () at xharness.AppRunner+<RunAsync>d__68.MoveNext () [0x0127f] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/AppRunner.cs:642 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter`1[TResult].GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:357 at xharness.RunSimulatorTask+<RunTestAsync>d__7.MoveNext () [0x0029d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2894 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.RunTestTask+<ExecuteAsync>d__8.MoveNext () [0x0010b] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2538 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.TestTask+<RunInternalAsync>d__87.MoveNext () [0x0010d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:1870 ``` I'm not sure how this can happen, but it has on the bots [1]. [1] https://jenkins.mono-project.com/job/xamarin-macios-pr-builder/4548/Test_Report/ * Bump versions for preview 5 (#2479) * [passkit] Update to beta 5 (#2481) * [tests] Remove workaround for radar #32688391. (#2486) * [replaykit] Update up to beta 5 (#2484) * Bump maccore to get fix for bug #55064. (#2487) * [apidiff] Update definition to new 10.12 (d15-3) stable release (#2490) * [SceneKit] basic work (#2483) * [coredata] Update to beta 5 (#2488) * [homekit] Update for Xcode 9 beta 5 (#2492) * [Foundation] Update for xcode9 (#2468) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 (#2493) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 * [Intents] Implement feedback * [Intents] Add a generic version for INInteraction.GetParameterValue * [Intents] Missing check * [Contacts] Add missing foundation NSItemProviderWriting protocol to CNContact (#2496) https://bugzilla.xamarin.com/show_bug.cgi?id=58203 This is available on all Contacts supported platforms ``` ./iPhoneOS.platform/Developer/SDKs/iPhoneOS11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchOS.platform/Developer/SDKs/WatchOS4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchSimulator.platform/Developer/SDKs/WatchSimulator4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ``` * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) (#2497) * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) * [IntentsUI] Better use a delegate instead so we have named params * Bump versions before 6th preview (#2514) * [arkit] Add missing MarshalDirective to ARPlaneAnchor (#2517) - Fixes bug #58648: ARPlaneAnchor.Extent property seems incorrect but changes to correct value after Debug access (https://bugzilla.xamarin.com/show_bug.cgi?id=58648) * [xtro-sharpie] Fix a compiler warning. (#2516) Fixes these warnings: Runner.cs(197,5): warning CS0642: Possible mistaken empty statement Runner.cs(199,5): warning CS0642: Possible mistaken empty statement Runner.cs(201,5): warning CS0642: Possible mistaken empty statement Runner.cs(203,5): warning CS0642: Possible mistaken empty statement Runner.cs(205,5): warning CS0642: Possible mistaken empty statement * [uikit] Update for Xcode 9 beta 5 - Part 3 (#2511) - UIKeyCommand - UINavigationBar - UINavigationItem - UIPasteboard - UITableViewHeaderFooterView * [xtro-sharpie] Remove xtro-plugin and misc other fixes. (#2522) * [xtro-sharpie] Build with msbuild and be as quiet as requested when building. * [xtro-sharpie] Must run as a 64-bit process, since the required native libraries are 64-bit. * [xtro-sharpie] Add run configurations to the project file to ease debugging in the IDE. * [xtro-sharpie] Remove xtro-plugin and the related commands. This was needed when there wasn't a 64-bit mono, in order to run xtro-sharpie in a 64-bit process. Now there is a 64-bit mono, so it's not needed anymore. Also improve makefile targets a bit, to auto-build stuff when needed, by setting the right dependencies. * Bump Xcode 9 to beta 6 (#2519) Disable watchOS tests again It seems like the Carousel crash from beta 4 is back to haunt us. This was working fine with beta 5. * Backport d15-3 SR2 fixes (#2515) * [coredata] Update to beta 6 (#2528) This seems to only revert some nullability changes from beta 5. * [coreml] Update to beta 6 (#2531) Fix our rdar 33643011 where additional setters were added in the headers but did not exists. * [videosubscriberaccount] Update to beta 6 (#2533) Only b1 and b2 introduced some additions/changes * [uikit] Update for Xcode 9 beta 6 - Part 4 (#2527) The following headers are now up to date: - UICollectionViewFlowLayout.h - UIDocumentPickerViewController.h - UIFontDescriptor.h - UIImage.h - UIImageView.h - UIImagePickerController.h * [xharness] Re-enable the watchOS tests. (#2534) It works fine for me locally, so let's see what Jenkins says. * [macos] Add new APIs in CoreWlan from Xcode9b3 (#2525) * Update AppKit bindings based on radar 33271241 results (#2518) * Update AppKit bindings based on radar 33271241 results - The header comment was updated to note it was NSSliderTouchBarItem view that has the protocol * Remove NSUserInterfaceCompression where not listed in header * [vision] Update to beta 6 (#2532) Removal of some deprecated (during beta) `init*` selectors. Also sync the versions that were inlined in subclasses - the old ones were not removed and the new ones were not added. * [xtro-sharpie] Many methods don't have selectors in Clang's API, so default to the name if no selector. (#2523) This makes a few more unclassified entries show up (mostly missing designated initializers): https://gist.github.com/rolfbjarne/07aa20f9b50b75bf3e69ac6a825e873a * [macos] Add ExternalAccessory APIs from xcode9 (#2526) * [58851] Disable NSMenuView in AllItemsWithNSMenuShouldAllowNull (#2504) * [arkit] Update for Xcode 9 beta 5 - Part 2 (#2505) - Add last missing selector. - Add tests for manual code. * [monotouch-test] Disable FontDescriptorTest.WithFeature (#2537) Disabled because it looks like the tvOS font we use: "Gujarati Sangam MN" does not have rare ligatures anymore (and the entire test is based on it). Before getting an actual fix for that, let's disable the test so it doesn't break all current builds. See: https://bugzilla.xamarin.com/show_bug.cgi?id=58929 * [xtro-sharpie] Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute. (#2524) Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute to calculate the native name for a TypeDefinition. Unclassified changes: https://gist.github.com/rolfbjarne/828f8ee41eebb0a3b60a38d71822fe59 * [foundation/uikit] Inline NSItemProvider_UIKitAdditions in NSItemProvider (#2538) As suggested here: https://github.com/xamarin/xamarin-macios/pull/2527#discussion_r134670981 * [intents] Fix breaking changes (api-diff) (#2543) Additions of @required members inside `INSpeakable` cannot be `[Abstract]` * [contacts] Fix breaking change (api-diff) (#2542) Type Changed: Contacts.CNPostalAddress Removed method: public static string LocalizeProperty (CNPostalAddressKeyOption option); * [macos] Reenable static registrar since Xcode9b6 un-broke SDK headers (#2544) - Fix a subtle spacing issues in PartialStaticLibrary property * [corebluetooth] Update up to beta 6 and enable it on watchOS (#2540) macOS 10.13 has finally catch up with iOS and this simplifies the bindings a bit. * [foundation] API fixes (apidiff) (#2545) 1. Let's not add new, already [Obsolete] API Type Changed: Foundation.NSDimension Added constructors: [Obsolete ("Not intended to be directly instantiated, this is an abstract class.")] public NSDimension (); 2. Fix inconsistently named API, e.g. Type Changed: Foundation.NSAttributedString Added properties: public static string[] ReadableTypeIdentifiersForItemProvider { get; } public static string[] WritableTypeIdentifiers { get; } * [pdfkit] Do not add already [Obsolete] API in new profiles (#2547) and ensure using the newer, correct API works cross-platforms iOS (before) [Obsolete ("Use 'Find (string, NSStringCompareOptions)' instead.")] public virtual PdfSelection[] Find (string text, nint options); public PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'Find (string, PdfSelection, NSStringCompareOptions)' instead.")] public virtual PdfSelection Find (string text, PdfSelection selection, nint options); public void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string, NSStringCompareOptions)' instead.")] public virtual void FindAsync (string text, nint options); public void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string [], NSStringCompareOptions)' instead.")] public virtual void FindAsync (string[] text, nint options); iOS (after) public virtual PdfSelection[] Find (string text, Foundation.NSStringCompareOptions compareOptions); public virtual PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); * Bump versions for the 7th preview (#2541) * Remove additions of AVKit removed in beta5 (#2536) * NSUrlSessionTask should implement NSProgressReporting for iOS (#2548) NSUrlSessionTask implements NSProgressReporting on iOS as well as Mac, so the #if MONOMAC isn't needed. * Add missing availability attributes causing failures on older iOS versions (#2550) * [vision] Minor fix wrt xtro (#2551) including some things we need to ignore manually !missing-field! VNVisionVersionNumber not bound !missing-pinvoke! VNImagePointForFaceLandmarkPoint is not bound !missing-pinvoke! VNNormalizedFaceBoundingBoxPointForLandmarkPoint is not bound * [uikit] NSFileProviderMessaging was removed in beta 2. Fixes #58222 (#2552) reference: https://bugzilla.xamarin.com/show_bug.cgi?id=58222 * [uikit] Update for Xcode 9 - Part 5 (#2546) Bindings for the following headers: - UIActivity.h - UIActivityItemProvider.h - UIAlertController.h - UIApplication.h - UIBarButtonItem.h - UIButton.h - UICollectionViewLayout.h - UIColor.h - UIControl.h - UIDocumentMenuViewController.h - UIFontMetrics.h - UIGestureRecognizer.h - UIGraphicsImageRenderer.h - UIInputViewController.h * [CoreText] Fix an extraneous free in CTFont.GetDefaultCascadeList. (#2555) We do not own the return value from CFArrayGetValueAtIndex, so don't say we do when creating CTFontDescriptor instances, since that leads to angry dragons: 2017-08-28 20:15:20.293 monotouchtest[33186:2311738] A_FontTest 2017-08-28 20:15:20.294 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithFontDescriptorAndOptions 2017-08-28 20:15:20.295 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithNameAndOptions 2017-08-28 20:15:20.296 monotouchtest[33186:2311738] critical: Stacktrace: at <unknown> <0xffffffff> at (wrapper managed-to-native) CoreText.CTFont.CTFontCopyDefaultCascadeListForLanguages (intptr,intptr) [0x0000a] in <ae65a2b1eea242d2b68fe784749543bf>:0 at CoreText.CTFont.GetDefaultCascadeList (string[]) [0x00013] in /work/maccore/xcode9/xamarin-macios/src/CoreText/CTFont.cs:2185 at MonoTouchFixtures.CoreText.A_FontTest.GetCascadeList () [0x0001e] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/CoreText/FontTest.cs:78 at (wrapper runtime-invoke) object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) [0x0004f] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) System.Reflection.MonoMethod.InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&) [0x00016] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at System.Reflection.MonoMethod.Invoke (object,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo) [0x00032] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/corlib/System.Reflection/MonoMethod.cs:305 at System.Reflection.MethodBase.Invoke (object,object[]) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/referencesource/mscorlib/system/reflection/methodbase.cs:229 at NUnit.Framework.Internal.Reflect.InvokeMethod (System.Reflection.MethodInfo,object,object[]) [0x00009] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Reflect.cs:215 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunNonAsyncTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x00025] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:116 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x0001a] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:90 at NUnit.Framework.Internal.Commands.TestMethodCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:66 at NUnit.Framework.Internal.Commands.SetUpTearDownCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00007] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/SetUpTearDownCommand.cs:84 at NUnit.Framework.Internal.WorkItems.SimpleWorkItem.PerformWork () [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/SimpleWorkItem.cs:64 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at MonoTouch.NUnit.UI.BaseTouchRunner.Run (NUnit.Framework.Internal.Test) [0x0004d] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:442 at MonoTouch.NUnit.UI.BaseTouchRunner.Run () [0x00030] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:171 at MonoTouch.Dialog.StringElement.Selected (MonoTouch.Dialog.DialogViewController,UIKit.UITableView,Foundation.NSIndexPath) [0x00008] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/Elements.cs:765 at MonoTouch.Dialog.DialogViewController.Selected (Foundation.NSIndexPath) [0x00026] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:577 at MonoTouch.Dialog.DialogViewController/Source.RowSelected (UIKit.UITableView,Foundation.NSIndexPath) [0x00016] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:402 at (wrapper runtime-invoke) <Module>.runtime_invoke_void__this___object_object (object,intptr,intptr,intptr) [0x0005d] in <32f0c196c5bc4aa18daea2ee64a7814e>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) UIKit.UIApplication.UIApplicationMain (int,string[],intptr,intptr) [0x0005c] in <ae65a2b1eea242d2b68fe784749543bf>:0 at UIKit.UIApplication.Main (string[],intptr,intptr) [0x00005] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:79 at UIKit.UIApplication.Main (string[],string,string) [0x00038] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:63 at monotouchtest.Application.Main (string[]) [0x00011] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/Main.cs:27 at (wrapper runtime-invoke) <Module>.runtime_invoke_void_object (object,intptr,intptr,intptr) [0x00051] in <30a7f7e09de9467b8b454221034a0e38>:0 Native stacktrace: 0 monotouchtest 0x000000010fca03c4 mono_handle_native_crash + 244 1 monotouchtest 0x000000010fcadd30 mono_sigsegv_signal_handler + 288 2 libsystem_platform.dylib 0x000000011feb3b3a _sigtramp + 26 3 CoreFoundation 0x000000011de035a2 computeSanitizedString + 146 4 CoreText 0x00000001168df314 _ZN15TPurgeableCache19RetainedValueForKeyEPKv + 54 5 CoreText 0x00000001168def85 _ZNK17TDescriptorSource22CopyDescriptorUncachedEPK7__CFURLbPK10__CFString + 55 6 CoreText 0x00000001168df34f _ZNK17TDescriptorSource14CopyDescriptorEPK7__CFURLbPK10__CFString + 27 7 CoreText 0x00000001168e20ad _ZNK17TDescriptorSource35CopyFontDescriptorPerPostScriptNameEPK10__CFStringmm + 297 8 CoreText 0x00000001168dfd9e _ZNK17TDescriptorSource30CopySystemFontDescriptorByNameEPK10__CFString10UIFontFlag + 54 9 CoreText 0x00000001168e54c4 _ZNK14TFontFallbacks17CopyFontFallbacksEPK10__CFStringS2_PK9__CFArray + 652 10 CoreText 0x00000001168e4a00 _ZNK14TFontFallbacks29CopyFontFallbacksForLanguagesEPK10__CFStringPK9__CFArray + 122 11 CoreText 0x00000001168e4971 _ZN17TDescriptorSource39CopyDefaultSubstitutionListForLanguagesEPK10__CFStringPK9__CFArray + 61 12 CoreText 0x00000001169397a7 _ZNK9TBaseFont28CreateSystemDefaultFallbacksEPK10__CFStringPK9__CFArray + 51 13 CoreText 0x000000011693999c _ZNK9TBaseFont15CreateFallbacksE10UIFontFlagPPK16__CFCharacterSetPK9__CFArray + 346 14 CoreText 0x00000001168c1036 _ZNK5TFont24CreateDefaultCascadeListEPK9__CFArray + 242 15 CoreText 0x00000001168b8ff9 CTFontCopyDefaultCascadeListForLanguages + 97 16 ??? 0x0000000140eaefd3 0x0 + 5384105939 17 ??? 0x0000000140eae761 0x0 + 5384103777 18 ??? 0x000000013c9c8e74 0x0 + 5311860340 19 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 20 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 21 monotouchtest 0x000000010fd71bac mono_runtime_try_invoke_array + 1292 22 monotouchtest 0x000000010fd15587 ves_icall_InternalInvoke + 647 23 ??? 0x000000013e9fcd13 0x0 + 5345627411 24 ??? 0x000000013e9fc738 0x0 + 5345625912 25 ??? 0x000000013e9fded5 0x0 + 5345631957 26 ??? 0x000000013e9fbb76 0x0 + 5345622902 27 ??? 0x000000013e9e237e 0x0 + 5345518462 28 ??? 0x000000013e9e237e 0x0 + 5345518462 29 ??? 0x000000013e9e237e 0x0 + 5345518462 30 ??? 0x000000013e9e237e 0x0 + 5345518462 31 ??? 0x000000013e873006 0x0 + 5344014342 32 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 33 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 34 monotouchtest 0x000000010fd6e320 mono_runtime_invoke + 208 35 monotouchtest 0x000000010fe71af1 xamarin_invoke_trampoline + 5617 36 monotouchtest 0x000000010fe79ddd xamarin_arch_trampoline + 189 37 monotouchtest 0x000000010fe7b1a1 xamarin_x86_64_common_trampoline + 110 38 UIKit 0x0000000111b9876b -[UITableView _selectRowAtIndexPath:animated:scrollPosition:notifyDelegate:] + 1810 39 UIKit 0x0000000111b98986 -[UITableView _userSelectRowAtPendingSelectionIndexPath:] + 344 40 UIKit 0x0000000111a6b5c9 _runAfterCACommitDeferredBlocks + 318 41 UIKit 0x0000000111a59dad _cleanUpAfterCAFlushAndRunDeferredBlocks + 280 42 UIKit 0x0000000111a89f68 _afterCACommitHandler + 137 43 CoreFoundation 0x000000011de3ddb7 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23 44 CoreFoundation 0x000000011de3dd0e __CFRunLoopDoObservers + 430 45 CoreFoundation 0x000000011de22324 __CFRunLoopRun + 1572 46 CoreFoundation 0x000000011de21a89 CFRunLoopRunSpecific + 409 47 GraphicsServices 0x0000000121b7e9c6 GSEventRunModal + 62 48 UIKit 0x0000000111a5f7d0 UIApplicationMain + 159 49 ??? 0x000000013c9c4474 0x0 + 5311841396 50 ??? 0x000000013c9c40ad 0x0 + 5311840429 ================================================================= Got a SIGSEGV while executing native code. This usually indicates a fatal error in the mono runtime or one of the native libraries used by your application. ================================================================= * [monotouch-test] Don't subclass MKMapView. (#2556) MKMapView doesn't like being subclassed (Apple says "you should not subclass the MKMapView class itself"). Bad things like this starts happening: Thread 0 name: tid_303 Dispatch queue: com.apple.main-thread Thread 0 Crashed: 0 libsystem_kernel.dylib 0x0000000186b25348 __pthread_kill + 8 1 libsystem_pthread.dylib 0x0000000186c39354 pthread_kill$VARIANT$mp + 396 2 libsystem_c.dylib 0x0000000186a94fd8 abort + 140 3 monotouchtest 0x0000000101c02c14 mono_handle_native_crash + 22047764 (mini-exceptions.c:2548) 4 monotouchtest 0x0000000101c0d02c mono_sigsegv_signal_handler + 22089772 (mini-runtime.c:2886) 5 libsystem_platform.dylib 0x0000000186c33b60 _sigtramp + 52 6 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 7 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 8 CoreFoundation 0x0000000186eda51c -[__NSArrayM dealloc] + 68 9 CoreFoundation 0x000000018703f5c8 __CFBasicHashDrain + 312 10 CoreFoundation 0x0000000186fb5b44 _CFRelease + 224 11 CoreText 0x000000018a808404 TDescriptorSource::PurgeFontFallbacksCache+ 488452 () + 92 12 CoreText 0x000000018a808374 TDescriptorSource::PurgeFromCaches+ 488308 (__CFURL const*) const + 176 13 CoreText 0x000000018a7eec74 CTFontRemoveFromCaches + 168 14 VectorKit 0x0000000196a539b0 +[VKSharedResourcesManager removeResourceUser:] + 324 15 VectorKit 0x0000000196ca27a4 md::MapEngine::~MapEngine+ 2643876 () + 360 16 VectorKit 0x0000000196ca2634 md::MapEngine::~MapEngine+ 2643508 () + 12 17 libobjc.A.dylib 0x000000018651eef4 object_cxxDestructFromClass+ 28404 (objc_object*, objc_class*) + 148 18 libobjc.A.dylib 0x000000018652c638 objc_destructInstance + 88 19 libobjc.A.dylib 0x000000018652c690 object_dispose + 16 20 QuartzCore 0x000000018afca3ac -[CALayer dealloc] + 116 21 VectorKit 0x0000000196a43294 -[VKMapView dealloc] + 940 22 QuartzCore 0x000000018af6aafc CA::release_objects+ 744188 (X::List<void const*>*) + 32 23 QuartzCore 0x000000018afd97d8 CA::Layer::~Layer+ 1198040 () + 276 24 QuartzCore 0x000000018afca37c -[CALayer dealloc] + 68 25 QuartzCore 0x000000018af6b16c CA::Transaction::commit+ 745836 () + 1052 26 UIKit 0x0000000190393290 _afterCACommitHandler + 256 27 CoreFoundation 0x0000000186fb38b8 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 32 28 CoreFoundation 0x0000000186fb1270 __CFRunLoopDoObservers + 412 29 CoreFoundation 0x0000000186fb182c __CFRunLoopRun + 1292 30 CoreFoundation 0x0000000186ed22d8 CFRunLoopRunSpecific + 436 31 GraphicsServices 0x0000000188d58f84 GSEventRunModal + 100 32 UIKit 0x000000019040427c UIApplicationMain + 208 33 monotouchtest 0x000000010106eb90 wrapper_managed_to_native_UIKit_UIApplication_UIApplicationMain_int_string___intptr_intptr + 9907088 (/<unknown>:1) 34 monotouchtest 0x0000000100f0d6ac UIKit_UIApplication_Main_string___intptr_intptr + 8459948 (UIApplication.cs:79) 35 monotouchtest 0x0000000100f0d66c UIKit_UIApplication_Main_string___string_string + 8459884 (UIApplication.cs:63) 36 monotouchtest 0x0000000100b10450 monotouchtest_Application_Main_string__ + 4277328 (Main.cs:27) 37 monotouchtest 0x0000000100e0c244 wrapper_runtime_invoke_object_runtime_invoke_dynamic_intptr_intptr_intptr_intptr + 244 38 monotouchtest 0x0000000101c10048 mono_jit_runtime_invoke + 22102088 (mini-runtime.c:2526) 39 monotouchtest 0x0000000101c75eec do_runtime_invoke + 22519532 (object.c:2829) 40 monotouchtest 0x0000000101c78a3c do_exec_main_checked + 22530620 (object.c:4623) 41 monotouchtest 0x0000000101bf9a1c mono_jit_exec + 22010396 (driver.g.c:1040) 42 monotouchtest 0x0000000101d13d60 xamarin_main + 23166304 (monotouch-main.m:482) 43 monotouchtest 0x00000001007de710 main + 927504 (main.m:67) 44 libdyld.dylib 0x00000001869f656c start + 4 * [introspection] Let SkipDueToAttributeInProperty skip setters too (#2557) `SkipDueToAttributeInProperty` which is used to check the availability attribute of properties when the Availability info only exist on the property and not on the property Getter or Setter was wrong. This lead to `setSpringLoaded` (which was introduced in iOS 11) to not be ignored by the test (making it fail). - Fix bug #59085: [introspection-ios] selector not found for UIKit.UIBarButtonItem : setSpringLoaded: - Broken test (https://bugzilla.xamarin.com/show_bug.cgi?id=59085) * [corevideo][watchos] Enable CoreVideo on watchOS (#2553) * [storekit] Fix CampaignToken typo (#2559) (#2560) - Fixes bug #59078: StoreProductParameters and invalid property for CampaignToken (https://bugzilla.xamarin.com/show_bug.cgi?id=59078) * [coreml][watchos] Enable API using CoreVideo on watchOS. Fix #58097 (#2561) https://bugzilla.xamarin.com/show_bug.cgi?id=58097 * Add missing [MarshalDirective] attributes. (#2558) * [bindings-generator] Improve build & project file. * Add missing [MarshalDirective] attributes. Add missing [MarshalDirective] attributes, which also requires implementing support for out parameters in the binding generator, since one of the signatures missing the [MarshalDirective] contains such an out parameter. Also add tests for all the API I've added [MarshalDirective] to. * [bindings-generator] Remove redundant if check. * [monotouch-test] Rename file to end with 'Test.cs'. * [tests] Fix a few build errors for Xamarin.Mac. * [uikit] Fix UIColor and UIInputViewController tvOS availability (#2569) - Fixes introspection tests on tvOS 10. * [storekit] Fix SKCloudServiceSetupMessageIdentifier and SKProductStorePromotionController tvOS availability (#2568) - Fixes introspection tests on tvOS 10. * [mapkit] Fix MKMapItemTypeIdentifier tvOS availability (#2566) - Also remove double [Mac] availability attribute. - Fixes introspection tests on tvOS 10. * [ARKit] Fix marshalling for ARPointCloud.RawFeaturePoints. (#2565) ARPointCloud.RawFeaturePoints is an array of Vector3, but each vector is 16-byte aligned (as if it were an array of Vector4). This means we need to account for this when creating a managed array from pointer to the native C-style array. * [ModelIO] Fix MDLVoxelIndexExtent struct. (#2564) The MDLVoxelIndexExtent is a struct containing two 4-dimensional vectors of integers (not floats, as originally and incorrectly implemented). Fix this my creating a new MDLVoxelIndexExtent2 struct with the right fields, re-implement all the API that exposes this struct and obsolete the old API. Also add missing [MarshalDirective] attributes. And write a test to make sure it works fine now and forever. * [coredata] Enable new fields since rdar #33878590 is fixed w/beta 6 (#2570) reference: https://trello.com/c/dlSRYPFx * [xtro-sharpie] Add a Simd check class to verify signatures with Simd types. * [Simd] Add simd matrix types. The OpenTK matrices (Matrix2/3/4) has a different memory layout than Apple's matrix_float2x2/matrix_float3x3/matrix_float4x4 matrices: the OpenTK versions are row-major, while Apple's versions are column-major. This means that when blitting memory from one to the other, the matrix will appear to have been transposed. See bug #[58599][2] for an example. Unfortunately we've already bound several API with Apple's matrix_floatXxX matrices using OpenTK's matrices, and although they're bound wrong, and the matrices appear transposed on input/output, we can't change the behavior because we have to maintain compatibility. This means we have to introduce new API, and then also just define new matrix types with the right memory layout (column-major). Additionally, in the future we might be able to mark these matrices as Simd-matrixes, so that the JIT/AOT compiler can generate the correct alignment for them, avoiding having to define a native conversion method (using the [MarshalDirective] hack). The matrices have been designed to match API-wise the matrices in the System.Numerics.Vectors namespace [1], but for the moment with only a few basic operations implemented (Determinant/Transpose/Multiply) defined (we can always add more later if we want to). In addition explicit conversion operators to and from the corresponding OpenTK.MatrixX are implemented, which means any operation defined in the OpenTK matrices can be used by converting back and forth. [1]: https://msdn.microsoft.com/en-us/library/system.numerics.matrix4x4(v=vs.111).aspx [2]: https://bugzilla.xamarin.com/show_bug.cgi?id=58599 * [ARKit] Use the new Simd matrix types. * [Vision] Use the new Simd matrix types. * [ModelIO] Use the new Simd-compatible matrix types, and deprecate the old API. * [GameplayKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [SpriteKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [xtro] Don't report missing [MarshalDirective] for obsolete methods. * [xtro] Remove unnecessary ignores. The implementation changed, and these stayed accidentally. * [wkwebkit] Fix (native) protocol names (#2572) Also ignore xtro's WKSnapshotConfiguration since it's an Apple bug 34185961 reference (xtro) !missing-protocol! WKURLSchemeHandler not bound !missing-protocol! WKURLSchemeTask not bound !unknown-protocol! WKUrlSchemeHandler bound !unknown-protocol! WKUrlSchemeTask bound !unknown-type! WKSnapshotConfiguration bound * [uikit] Fix enums availability attributes (#2575) - Fixes bug #59132: [uikit] Extra types in watchOS (https://bugzilla.xamarin.com/show_bug.cgi?id=59132) * [watchkit] Add missing designated initializers (#2574) references (xtro) !missing-designated-initializer! WKInterfaceController::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! WKUserNotificationInterfaceController::init is missing an [DesignatedInitializer] attribute * [xtro] Reword some of the Simd diagnostic messages according to review. * [tests] Make sure test symbols don't clash between different test libraries. Fixes this build problem for framework-test: clang: error: linker command failed with exit code 1 (use -v to see invocation) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_get_rotation_matrix'. MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticObjectTest.framework/XStaticObjectTest (Location related to previous error) MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticArTest.framework/XStaticArTest(libtest-ar.x86_64.o) (Location related to previous error) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransformcomponent_get_local_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_create_global_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float4x4'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float3x3'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float2x2'. MTOUCH: error MT5209: Native linking error: 6 duplicate symbols for architecture x86_64 MTOUCH: error MT5202: Native linking failed. Please review the build log. * [tests] Since libtest.a need ModelIO now, the corresponding LinkWith attributes need to state that too. * [introspection] Don't check native signatures on obsolete members, and ignore the right simd matrix types. Fixes this introspection/Mac problem: ***** ApiSignatureTest.NativeSignatures Selector: uniformWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: uniformWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: uniformWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: setMatrixFloat2x2Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: setMatrixFloat3x3Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: setMatrixFloat4x4Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: initWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: initWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: initWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded * [monotouch-tests] Include more custom asserts for watchOS to make the build work. Fixes this: Simd/MatrixFloat4x4Test.cs(28,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(29,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(37,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(48,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' [...] * [monotouch-test] Exclude code that requires the binding project from xammac tests. Exclude code that requires the test binding project from xammac tests because there's currently no XM version of the test binding project. Fixes this: tests/monotouch-test/SpriteKit/UniformTest.cs(20,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLMaterialProperty.cs(37,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLTransform.cs(34,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) * Bump version for preview #8 (#2576) * [spritekit] Audit fixes (xtro) (#2577) 1. SKVideoNode is now, partially, available on watchOS and does not require the extra, manual code to swicth selectors depending on the OS version being run. !missing-type! SKVideoNode not bound !missing-selector! SKVideoNode::anchorPoint not bound !missing-selector! SKVideoNode::initWithCoder: not bound !missing-selector! SKVideoNode::initWithFileNamed: not bound !missing-selector! SKVideoNode::initWithURL: not bound !missing-selector! SKVideoNode::setAnchorPoint: not bound !missing-selector! SKVideoNode::setSize: not bound !missing-selector! SKVideoNode::size not bound !missing-selector! +SKVideoNode::videoNodeWithFileNamed: not bound !missing-selector! +SKVideoNode::videoNodeWithURL: not bound 2. SKNodeFocusBehavior is exposed needlessly on watchOS because SpriteKit/Enums.cs was not processed by the generator, so [NoWatch] did not matter. !unknown-native-enum! SKNodeFocusBehavior bound It's also visible on macOS but nothing uses it (so we do not expose it needlessly) !missing-enum! SKNodeFocusBehavior not bound 3. Add missing designated initializer on default `init` !missing-designated-initializer! SKAttributeValue::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! SKNode::init is missing an [DesignatedInitializer] attribute 4. Remove inconsistency for SKNode subclasses wrt XAMCORE_4_0 The trio attributeValues, setAttributeValues and setValue:forAttributeNamed: that was moved from SKNode (deprecated) into its subclasses. This was done using XAMCORE_4_0 but not on every subclasses. This adds them everywhere to be consistent (only SKNode versions are not defined in XAMCORE_4_0) !missing-selector! SKEffectNode::attributeValues not bound !missing-selector! SKEffectNode::setAttributeValues: not bound !missing-selector! SKEffectNode::setValue:forAttributeNamed: not bound !missing-selector! SKEffectNode::valueForAttributeNamed: not bound !missing-selector! SKEmitterNode::attributeValues not bound !missing-selector! SKEmitterNode::setAttributeValues: not bound !missing-selector! SKEmitterNode::setValue:forAttributeNamed: not bound !missing-selector! SKEmitterNode::valueForAttributeNamed: not bound !missing-selector! SKSpriteNode::attributeValues not bound !missing-selector! SKSpriteNode::setAttributeValues: not bound !missing-selector! SKSpriteNode::setValue:forAttributeNamed: not bound !missing-selector! SKSpriteNode::valueForAttributeNamed: not bound * [introspection] Make sure '[FAIL]' is printed before every failure. (#2578) This makes xharness able to list the failures in the inline summary. * [xtro] Reword some of the Simd diagnostic messages according to review. * [xharness] Add a missing IsServerMode check to generate correct html. (#2581) * [SpriteKit] SKTransformNode is new in Xcode 9 so no need to keep the broken (and obsolete) non-simd version of RotationMatrix. * [intents] Fix some (partial) xtro issues and #59156 (#2585) reference https://bugzilla.xamarin.com/show_bug.cgi?id=59156 Remaining issues are filled in https://bugzilla.xamarin.com/show_bug.cgi?id=59183 !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound * [Intents] Confirm* interface methods should be bound as Confirm, Fixes Bug 59164 (#2591) * [Intents] Confirm* interface methods should probably be bound as Confirm, Fixes Bug 59164 https://bugzilla.xamarin.com/show_bug.cgi?id=59164 All Confirm* methods from *IntentHandling interfaces should be named just `Confirm` to avoid confusion because most of them do not directly confirm as an acion, but instead they **ask** for confirmation also we would follow swift's naming by doing this. * [Intents] XAMCORE_4_0 all Confirm* methods from *IntentHandling Turns any Confirm* into just Confirm inside a XAMCORE_4_0 block, * [Intents] Fix breaking changes in Intents added in Xcode 9 Bindings (#2590) Apple added more protocol conformances to INRidesharingDomainHandling and INPaymentsDomainHandling protocols in Xcode 9, I introduced these breaking changes back when I did intents binding so fixing them :) * [Metal] New bindings from Xcode 9 betas (#2457) * [AVFoundation] Updated bindings for xcode9. (#2272) * [Xcode9] Add IOSurface bindings (#2363) * This framework was a private framework before iOS 11. This framework was a private framework before iOS 11, yet the headers claim many API were introduced in iOS 10. So take account of this difference by using the private framework location in iOS 10.3 or earlier. Testing these API from Xcode works fine when run on an iOS 10.3 device, and I've confirmed the IOSurface framework is loaded from the private frameworks path on older devices (and when built using Xcode 9 and linked with the public framework path). * Disable code to make IOSurface work on iOS 10. Disable the code to make IOSurface work on iOS 10, since it may be rejected by the App Store. This also means adjusting the availability attributes, so that the introspection tests pass (and to document that technically these API won't work when used with Xamarin.iOS in iOS 10). I've filed bug #[59201][1] to keep track of this, maybe we can re-enable this later. [1]: https://bugzilla.xamarin.com/show_bug.cgi?id=59201 * [CoreMedia] Fix leak in CMAttachmentBearer.GetAttachments. (#2593) The caller owns the return value from CMCopyDictionaryOfAttachments, so tell Runtime.GetNSObject that. * [Intents] Adds missing API found by xtro, fixes Bug 59183 (#2596) https://bugzilla.xamarin.com/show_bug.cgi?id=59183 Fixes !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !incorrect-protocol-member! INUIHostedViewControlling::configureWithInteraction:context:completion: is OPTIONAL and should NOT be abstract * [xtro] Fix StartWorkingDirectory to enable debugging (#2598) * [iosurface] Enable for tvOS and XM classic (to avoid multiple defines around consumer API) (#2597) * [xtro] Fix EnumCheck (#2600) * [ARKit] Rename a few method to make them nicer. (#2604) * DisplayTransform -> GetDisplayTransform since methods should have verbs. * SessionWasInterrupted -> WasInterrupted and SessionInterruptionEnded -> InterruptionEnded since these names match better with the other names (CameraDidChangeTrackingState / DidFail / DidOutputAudioSampleBuffer: none are prefixed with 'Session'). Additionally, the type is a Model (for the delegate pattern), which means all methods are more-or-less event-like, and the first argument is always the same (the protocol itself), which is another indicator the methods should be named similarly. * [Foundation] Remove 'Key' suffix from some fields. (#2606) Of the 168 fields in NSMetadataItem, only these 5 hadn't removed the 'Key' suffix. So make them all equivalent by removing the 'Key' suffix from these 5 fields. * [ImageIO] Fix API to not duplicate the instance in instance methods. (#2609) An instance method does not need to take the instance as a parameter, so remove the first (instance) parameter for CGImageDestination.AddAuxiliaryDataInfo and CGImageSource.CopyAuxiliaryDataInfo. An alternative solution would be to make the methods static, but I like the instance API better. * [UIKit] De-model UIDataSourceTranslating. (#2603) It's not clear from neither the documentation nor the headers how this protocol is supposed to be used, and since it doesn't correspond to the delegate pattern, remove the [Model] attribute for now. We can always add it back later. * [CoreML] Improve API. (#2592) * [CoreML] Improve API. * The indices, shape and stride properties for MLMultiArray and MLMultiArrayConstraint can logically only be arrays of integers, so type them as such. This means adding overloads for MLMultiArray's constructors, GetObject and SetObject methods, and the indexers that takes nint[] arrays instead of NSNumber[] arrays. * Change MLFeatureValue's static factory methods to be a method ('Create') instead of a preposition, and call all the different factory methods the same, since they can be overloaded nicely. * [tests][monotouch-test] Add version check to MLMultiArrayTest and make sure the arrays we create are big enough for the data we put in them. * [tests][monotouch-test] MLMultiArray's elements aren't zero-initialized, so don't assume that in the tests. * Support overloading Objective-C methods based on static/instance. (#2607) Two Objective-C methods can be named identically as long as one is static and the other instance. We must support this since Apple did just this (in the NSItemProviderReading / NSItemProviderWriting protocols). We solve it by prepending a '+' or '-' to the selector when hashing it (to determine selector uniqueness, and to look the method up again at runtime). * [uikit] Update for Xcode 9 - Part 6 (#2602) NSAttributedString.h NSFileProviderExtension.h NSLayoutAnchor.h UIAccessibility.h UIAccessibilityAdditions.h UIAccessibilityContainer.h UIAccessibilityContentSizeCategoryImageAdjusting.h UIAccessibilityCustomRotor.h UIAccessibilityLocationDescriptor.h UITabBar.h UINavigationBar.h UIScreen.h * Xcode9 scenekit (#2512) * [SceneKit] basic work * Added key * [xcode9] SCNCameraController * [xcode9] SCNCamera updates * [xcode9] SCNMaterial * [xcode9] SCNGeometryTessellator, SCNCameraControlConfiguration, SCNView, small bits * Add trailing commas to last enum value * Remove whitespace noise * [scenekit] Update deprecated attributes messages * Addresses some of Rolf's feedback * Drop the WeakDelegate in SCNCameraController * Rename method to Render, remove ctor from class that can not be constructed in Palygrounds, add typo exception * [AppKit] Rename NSBezierPath.AppendBezierPathWithCGGlyph to match its sibling methods. (#2605) NSBezierPath contains a lot of 'AppendPathWithXXX' methods, that all map to 'appendBezierPathXXX' selectors. So rename AppendBezierPathWithCGGlyph accordingly, to make it more similar to the other methods in the same type. * [uikit] Add all UISpringLoadedInteractionSupporting (#2616) Types do not conform to the protocol but protocol methods work on those types (see monotouch-test). Fixed introspection tests accordingly and tested the selectors in monotouch-test. * [Intents] Add convenience ctor overload and call correct base ctor in manual ctor. (#2613) Add a convenience constructor overload in INGetUserCurrentRestaurantReservationBookingsIntent that uses nint instead of NSNumber, since logically "number of results" will always be some sort of integer. Also call the correct base constructor in INSpeakableString's custom constructor (same as any other generated constructor). Otherwise we end up doing something like this: [[[INSpeakableString alloc] init] initWith ...], i.e. calling two different init methods. * [coreimage] Add new headers API up to beta 6 (#2601) Filters are not complete (ref: #57350) https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * Some new constants are not yet documented (type is known), so they are commented / ignored https://bugzilla.xamarin.com/show_bug.cgi?id=59296 * Filled bug for [Wrap] inside [Category] so strong dictionary helpers can be re-enabled later https://bugzilla.xamarin.com/show_bug.cgi?id=59294 * [foundation] xtro fixes for watchOS (#2586) !missing-enum! NSProcessInfoThermalState not bound !missing-field! NSProcessInfoThermalStateDidChangeNotification not bound !missing-selector! NSProcessInfo::thermalState not bound Headers are wrong and preferredPresentationStyle is not in tvOS and watchOS !missing-selector! NSItemProvider::preferredPresentationStyle not bound !missing-selector! NSItemProvider::setPreferredPresentationStyle: not bound * [uikit] Also remove UIPreferredPresentationStyle enum from platform where it's not used * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. (#2614) * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. * NSItemProviderWriting: * NSItemProviderReading: Implement correctly and completely by uncommenting commented out code. * NSMutableString: * NSAttributedString: remove inlined members, since these classes don't implement NSItemProviderReading / NSItemProviderWriting (according to the headers at least). * NSUrl: all platforms now seem to implement NSItemProviderReading / NSItemProviderWriting. * NSString: all platforms now seem to implement both NSItemProviderReading and NSItemProviderWriting * UIColor: * UIImage: Update inlined protocol members according to the latest beta. Additionally, due to the following conditions: * The protocols all have the correct members now. * In the API definition we tell the generator to inline members from a protocol by inheriting from the corresponding interface. * The generator doesn't inline static members from protocols. several 'new' keywords had to be added to silence a compiler warning that occurrs when we manually inline a static member, since the member would be included in the type both from the inherited interface and the manual implementation. * [Foundation] Comment out NSItemProviderWriting.GetItemProviderVisibility to avoid inlining/generating unusable methods. NSItemProviderWriting.GetItemProviderVisibility is an optional method, and none of the native classes that implements NSItemProviderWriting actually imlements the method. This means inlining the method in those classes ends up creating unusable API; so just comment out the method to avoid generating the unusable API. The introspection tests found this: [FAIL] Foundation.NSString : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Foundation.NSUrl : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Contacts.CNContact : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] MapKit.MKMapItem : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIColor : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIImage : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] iOSApiSelectorTest.ApiSelectorTest.StaticMethods : 6 errors found in 2348 static selector validated: See also https://bugzilla.xamarin.com/show_bug.cgi?id=59308 * [iosurface] Add missing [TV] attributes (#2619) * [opengles] Enable the new API using IOSurface (#2618) The symbol only exists inside device libraries, not on simulator, and the introspection tests were updated to ignore it. Part of https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [avfoundation][watchos] Enable AudioBufferList (fix #59145) + audit (xtro) (#2617) 1. AudioBufferList is part of CoreAudio (wrong namespace, which needs a few changes in the generator) and now available in watchOS 4 https://bugzilla.xamarin.com/show_bug.cgi?id=59145 2. Also fixes xtro found issues: !missing-type! AVAudioRecorder not bound !missing-selector! AVAudioRecorder::averagePowerForChannel: not bound !missing-selector! AVAudioRecorder::channelAssignments not bound !missing-selector! AVAudioRecorder::currentTime not bound !missing-selector! AVAudioRecorder::delegate not bound !missing-selector! AVAudioRecorder::deviceCurrentTime not bound !missing-selector! AVAudioRecorder::format not bound !missing-selector! AVAudioRecorder::initWithURL:format:error: not bound !missing-selector! AVAudioRecorder::initWithURL:settings:error: not bound !missing-selector! AVAudioRecorder::isMeteringEnabled not bound !missing-selector! AVAudioRecorder::isRecording not bound !missing-selector! AVAudioRecorder::peakPowerForChannel: not bound !missing-selector! AVAudioRecorder::recordAtTime: not bound !missing-selector! AVAudioRecorder::recordAtTime:forDuration: not bound !missing-selector! AVAudioRecorder::recordForDuration: not bound !missing-selector! AVAudioRecorder::setChannelAssignments: not bound !missing-selector! AVAudioRecorder::setDelegate: not bound !missing-selector! AVAudioRecorder::setMeteringEnabled: not bound !missing-selector! AVAudioRecorder::settings not bound !missing-selector! AVAudioRecorder::url not bound !missing-protocol! AVAudioRecorderDelegate not bound !missing-selector! AVAudioEngine::inputNode not bound !missing-selector! AVAudioEngine::manualRenderingBlock not bound !missing-selector! AVAudioInputNode::setManualRenderingInputPCMFormat:inputBlock: not bound !missing-selector! AVAudioPlayer::format not bound !missing-selector! AVAudioSession::requestRecordPermission: not bound !unknown-field! AVFileType3GPP bound !unknown-field! AVFileType3GPP2 bound !unknown-field! AVFileTypeAC3 bound !unknown-field! AVFileTypeAIFC bound !unknown-field! AVFileTypeAIFF bound !unknown-field! AVFileTypeAMR bound !unknown-field! AVFileTypeAVCI bound !unknown-field! AVFileTypeAppleM4A bound !unknown-field! AVFileTypeAppleM4V bound !unknown-field! AVFileTypeCoreAudioFormat bound !unknown-field! AVFileTypeDNG bound !unknown-field! AVFileTypeEnhancedAC3 bound !unknown-field! AVFileTypeHEIC bound !unknown-field! AVFileTypeHEIF bound !unknown-field! AVFileTypeJPEG bound !unknown-field! AVFileTypeMPEG4 bound !unknown-field! AVFileTypeMPEGLayer3 bound !unknown-field! AVFileTypeQuickTimeMovie bound !unknown-field! AVFileTypeSunAU bound !unknown-field! AVFileTypeTIFF bound !unknown-field! AVFileTypeWAVE bound * [Metal] Implement API using IOSurface now that IOSurface is implemented. Partially fixes #58054. (#2621) https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [PdfKit] Improve PdfAnnotation.QuadrilateralPoints binding by making it strongly typed. (#2620) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). (#2622) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). * [ARKit/Vision] Use the new simd vector types instead of the OpenTK versions. * [ModelIO] Use the new simd vectors in new API (MDLVoxelIndexExtent2). This way we won't have to create a MDLVoxelIndexExtent3 in the future. * [SpriteKit] Use the new simd vectors in new API. * [metal] Audit (xtro) based fixes (#2623) !extra-protocol-member! unexpected selector MTLArgumentEncoder::newArgumentEncoderForBufferAtIndex: found !extra-protocol-member! unexpected selector MTLComputeCommandEncoder::dispatchThreads:threadsPerThreadgroup: found macos-only !missing-field! MTLDeviceRemovalRequestedNotification not bound !missing-field! MTLDeviceWasAddedNotification not bound !missing-field! MTLDeviceWasRemovedNotification not bound !missing-pinvoke! MTLCopyAllDevices is not bound * [CloudKit] Update bindings to beta 6. (#2615) * [FileProvider] Turn NSFileProviderItemIdentifier enum into a static class, fixes bug 59329 (#2634) https://bugzilla.xamarin.com/show_bug.cgi?id=59329 At the time of binding NSFileProviderItemIdentifier it wasn't clear how it was supposed to be used, I mean apple provides two keys which I thought were the only possible values hence binding it as an smart enum. Unfortunately this wasn't the case and the user can use those two values provided from the SDK or their own NSString Identifier. Swift provides a wrapper unfortunately we can't do the same due to NSFileProviderItemIdentifier is used in the NSFileProviderItem protocol and we currently do not support changing signatures on them. * [mtouch] Teach mtouch about the 'IOSurface' framework for tvOS. Fixes #59333. (#2630) https://bugzilla.xamarin.com/show_bug.cgi?id=59333 * Bump Touch.Unit to get fix for API breakage. (#2631) spouliot/Touch.Unit@8f1e19d [NUnitOutputTextWriter] Reintroduce previous constructor to make sure we don't break binary ABI. spouliot/Touch.Unit@00b0c0b [NUnitOutputTextWriter] Don't write invalid xml comments. spouliot/Touch.Unit@de9fe20 [TouchRunner] Restore the original code path when not wrapping NUnit xml output. * [IOSurface] Add missing availability attributes for tvOS. (#2629) * Bump versions for preview 9 (#2624) * [AVFoundation] Add missing interface AVRouteDetector. (#2637) * [tests] Update xtro to reduce list sizes (#2636) * Skip OpenTK duplicate declaration (we can't change them); * Fix rule name change for ARKit / simd; * Add missing default initializer on `init` to pending actions; * Add note for AVPersistableContentKeyRequest changes wrt tvOS; * [ReplayKit] Make RPBroadcastActivityViewController.LoadBroadcastActivityViewController async-capable. (#2639) * [xcode9] More SceneKit bindings (#2633) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 (#2644) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 https://bugzilla.xamarin.com/show_bug.cgi?id=59380 vector_float3 is 16 bytes, which means the binding is incorrect, because Vector3 is 12 bytes, and our code does not that difference into account. * Add tests * [DeviceCheck] Disable default ctor for DCDevice. (#2642) It doesn't seem to be useful according to the documentation, since it appears that the only way to get an instance is to use the static CurrentDevice property. * [audiounit] Audit (xtro) fixes for tvOS (#2635) Availability attributes in non-generated files don't hide symbols/code. reference: !unknown-pinvoke! AudioUnitExtensionCopyComponentList bound !unknown-pinvoke! AudioUnitExtensionSetComponentList bound * [tests] Make sure tvOS tests don't use the (unexisting) API * [tests] Add all test project variations to tests-mac.sln (#2579) * [xharness] Make sure generated mac projects have different project guids. * [introspection] Change the project guid so that it doesn't match the dontlink-mac project guid. * [tests] Add all test project variations to tests-mac.sln. * [xharness] Fix else condition. * [FileProvider] Adds missing NSFileProviderPage constants, fixes bug 59297. (#2646) https://bugzilla.xamarin.com/show_bug.cgi?id=59297 Adds NSFileProviderInitialPageSortedByName and NSFileProviderInitialPageSortedByDate NSData constants * [Xcode9] Remove NSFileProviderMessage and NSFileProviderMessageInterface (#2647) APIs were removed in beta 2 * [Foundation/UIKit] Provide LoadObject[s] methods that return the expected type in the callback. Fixes #59049. (#2638) The callback for these LoadObject[s] methods take an INSItemProviderReading parameter. This tells our runtime that we must provide an instance of a managed object that implements this interface (but nothing else), so we create a `NSItemProviderReadingWrapper` instance, which complies with the API (since the wrapper type implements the corresponding interface). Unfortunately these methods are supposed to return an instance of the passed- in type, so in order to comply with this soft (documentation-only) requirement, provide a wrapper method that creates instances of the right types. https://bugzilla.xamarin.com/show_bug.cgi?id=59049 * [arkit] Ignore deprecated selectors (#2645) * [FileProvider] Adds missing protocol and keys from audit (#2652) ``` !missing-protocol! NSFileProviderServiceSource not bound !missing-field! NSFileProviderErrorCollidingItemKey not bound !missing-field! NSFileProviderErrorNonExistentItemIdentifierKey not bound !missing-field! NSFileProviderFavoriteRankUnranked not bound ``` Also adds `NSXpcListenerEndpoint` to foundation, needed by `NSFileProviderServiceSource` protocol. * [tests][xtro] Workaround xtro runner dupe entry exception and update data files (#2654) * [AVFoundation] Rename field to match others. (#2657) * [homekit] Audit (xtro) fixes (#2653) - HMCharacteristicEvent conforms to NSMutableCopying on iOS11 which makes it 64 bits only (so adjust intro tests) - Ignore extra setters on HMMutablePresenceEvent, rdar 33883958 !missing-selector! HMMutablePresenceEvent::setPresenceEventType: not bound !missing-selector! HMMutablePresenceEvent::setPresenceUserType: not bound * [xtro] Add missing pinvoke to pending (#2662) - Bug 59422: [uikit] Missing UIContentSizeCategoryCompareToCategory & UIContentSizeCategoryIsAccessibilityCategory (https://bugzilla.xamarin.com/show_bug.cgi?id=59422) * Merge latest d15-3 fixes into xcode9 (#2660) * [msbuild] Re-added wildcard (*) expandsion for application-identifier in Entitlements.plist (#2186) Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=57119 * Bump mono (#2213) * Framework tests were still binding non-linked Simple class which errors now (#2216) (#2218) - Improve Makefile to rebuild when projects build with errors * Bump mono to get cecil fix for bug #56808. (#2222) https://bugzilla.xamarin.com/show_bug.cgi?id=56808 * [msbuild] Use @(ReferencePath) instead of @(ResolvedFiles) (#2188) (#2214) This allows things to work on both xbuild and msbuild. In xbuild, both lists are exactly the same and on msbuild, only @(ReferencePath) exists. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=55147 * NSActivityOptions.IdleDisplaySleepDisabled had wrong value (#2232) (#2239) This was due to an integer overflow. The original value was based on Int32 1 << 40 == 256 The correct value should be based on a UInt64. 1UL << 40 == 1099511627776 * [tests] Fix bug 57699 - [iOS]InternalsTest failure (Linkall) tests on device (#2243) Strip native debugging symbols should not be checked for debug builds * Bump mono to get fix for bug #57780. https://bugzilla.xamarin.com/show_bug.cgi?id=57780 * Update .gitmodules Change branch to d15-3 branch of mono * Bump maccore to get fix for bug #55064. https://bugzilla.xamarin.com/show_bug.cgi?id=55064 * [mono] Bump mono to get the head of cecil/mono-2017-04 and fix IsComObject #57919 Also fix #58789 [1], the typo in tools/mtouch/Tuning.cs showing in MT0000 errors instead MT2102. That's already in master and d15-4 mono bump includes: [2] commit 2a6502cee0df9de5198eafe7c8b5f6ac25106f34 (HEAD -> d15-3, origin/d15-3) Merge: 02457c20fcf 5e05cafc6f1 Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 10:04:06 2017 -0400 Merge pull request #5401 from marek-safar/com [Marshal.IsComObject] Make this predicate return false instead of thr… [3] commit 02457c20fcf57c0610e844d638eb1da82b5d1eb0 Merge: da80840ea55 73fd9a1b82e Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 09:59:06 2017 -0400 Merge pull request #5400 from spouliot/bump-cecil-58834-d15-3 [cecil] Bump to the head of the mono-2017-04 branch and pick the fix for bug #58834 References [1] https://bugzilla.xamarin.com/show_bug.cgi?id=58789 [2] https://bugzilla.xamarin.com/show_bug.cgi?id=57919 [3] https://bugzilla.xamarin.com/show_bug.cgi?id=58834 * [mtouch] Put 'mono_profiler_startup_log' in the symbol list. Fixes #58778. (#2501) We need the 'mono_profiler_startup_log' symbol when profiling is enabled, so make sure to add the symbol to the correct list of symbols we need. Previously we were passing `-u _mono_profiler_startup_log` to clang directly, which is fine, but not complete, since it does not write the symbol to the symbollist file (--symbollist=file), which means it wouldn't be preserved when the MSBuild tasks strip the executable. https://bugzilla.xamarin.com/show_bug.cgi?id=58778 * Bump versions for SR3 https://trello.com/c/EVze08ei * Bump mono to include HttpClientHandler fix #44027 https://trello.com/c/jYFXadH8/8-systemnethttp-close-request-stream-when-httpclienthandler https://bugzilla.xamarin.com/show_bug.cgi?id=44027 * [FileProvider] Add missing API and turn NSString to string (#2663) Turned NSString to string in order to match exisiting API. * [uikit] Add UIPasteConfigurationSupporting and UITextPasteConfigurationSupporting (#2649) - Fixes bug #59363: Missing UIPasteConfigurationSupporting, UITextPasteConfigurationSupporting, UITextDraggable and UITextDroppable on a couple of types (https://bugzilla.xamarin.com/show_bug.cgi?id=59363) * [uikit] Remove 129 types in UIPasteConfigurationSupporting case * [scenekit] Audit (xtro) fixes (#2648) This looks like an Apple breaking change (since `SCNAnimation` is new) but we now have: > typedef void (^SCNAnimationEventBlock)(id<SCNAnimation> animation, id animatedObject, BOOL playingBackward); bound as > delegate void SCNAnimationEventHandler (CAAnimation animation, NSObject animatedObject, bool playingBackward); and `CAAnimation` conforms to `SCNAnimation` but *only* the later is available on watchOS. The delegate is only updated (since it's new) on our watchOS profile. xtro references: (watchos) !unknown-protocol! SCNCameraControlConfiguration bound (tvos/watchos) !missing-selector! SCNAnimation::animationEvents not bound !missing-selector! SCNAnimation::setAnimationEvents: not bound !missing-selector! SCNConstraint::isEnabled not bound !missing-selector! SCNConstraint::setEnabled: not bound !missing-field! SCNSceneSourceConvertToYUpKey not bound !missing-field! SCNSceneSourceConvertUnitsToMetersKey not bound (ios/tvos) !missing-protocol-conformance! SCNNode should conform to UIFocusItem * Bump maccore post 15.3 merge (#2665) * Bump Xcode 9 to GM (#2667) * Force build (on wrench) * [avfoundation] Fix breaking changes (apidiff) (#2664) * [TVServices] Update to Xcode 9 GM (#2675) * [GameController] Update to Xcode 9 GM (#2673) * [LocalAuthentication] Update to Xcode 9 GM (#2671) * [LocalAuthentication] Update to Xcode 9 GM * Remove availability from BiometryNotAvailable, BiometryNotEnrolled and BiometryLockout * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer (#2659) * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer Some of the new added types were already present BUT under a #if MONOMAC, they had to be moved. * [AVFoundation] Set the wrongly added API to be obsolete and ensure it returns logical values. (#2650) * [xtro] The right platform for macOS is 'macos', not 'osx'. (#2677) The platform name is used to filter availability attributes, and if we use the wrong platform, we'll incorrectly skip all availability attributes. The net result in unclassified entries: https://gist.github.com/rolfbjarne/a4474bc2a40c49a85cad495b51bb514f * Various Xcode 9 API improvements and also fixes bug 59433 (#2676) https://bugzilla.xamarin.com/show_bug.cgi?id=59433 While fixing bug 59433 I noticed some additional issues outlined below: AVDepthData: * Renamed **non** static `Create` methods because `Create` only makes sense with the **Static** method in this context. Also by renaming the methods we are now closer to the names that swift uses. * Kept descriptive method names in favor of self-documenting code. `Convert`, `Apply` and `Replace` do not fully give us the intent of the method. * Added a convenience `Create` static method that takes a `CGImageAuxiliaryDataInfo`. * AvailableDepthDataTypes is now an array of `CVPixelFormatType` instead of a `NSNumber` array (The aactual fix for bug 59433). ImageIO: * Refactored `CGImageAuxiliaryDataInfo` to be a `StrongDictionary` in order to avoid most of the manual code and also to avoid reimplementing the `ToDictionary` method (which contained a subtle bug). * Adjusted code to reflect the above change. * Added missing `.ctor (IntPtr, bool)` to `CGImageMetadata` so the class is able to be created by our `Runtime.Get*`. * Simplified `CopyAuxiliaryDataInfo` method by using `CGImageAuxiliaryDataInfo` as a `DictionaryContainer`. Tests: * Added `xamarinmonkey.heic` which is an image that contains depth data needed to test above changes. * Adds `AVDepthDataTests` that touches most of the changes listed here. * Tweak the Simd-compatible matrices and vectors (#2668) * Rename them to be OpenTK.NMatrix# (instead of Simd.MatrixFloat#x#). * Remove the Vector2 and Vector4 variants, we'll use the OpenTK types instead (but we'll keep the NVector3 variant, since it's not identical to the OpenTK version). * Update the API to match their OpenTK counterparts better: * NMatrix2 and NMatrix3 have a 0-based R#C# scheme for their fields. * NMatrix4 has a 1-based M## scheme for its fields (i.e. no change). * [AVFoundation] Use Simd-matrix for API that needs it. (#2679) This also requires implementing the corresponding matrix (NMatrix4x3). Fixes this xtro issue: > !unknown-simd-type-in-signature! OpenTK.Matrix3 AVFoundation.AVCameraCalibrationData::get_GetIntrinsicMatrix(): the native signature has a simd type (matrix_float3x3), while the corresponding managed method is using an incorrect (non-simd) type. * [xtro] Fix checking availability on categories. (#2682) When checking for category availability, check if both the current declaration is a category, and if the current's declaration container is a category. Otherwise this scenario fails: * Category method is available. * Category does not have availability attributes. * Main class is unavailable. with this typical code sequence: ```csharp // don't process methods (or types) that are unavailable for the current platform if (!decl.IsAvailable () || !(decl.DeclContext as Decl).IsAvailable ()) return; ``` In which case we'd: * First check the method (`decl`): * It's available, so no further checks is done on the method. * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container's container is a category (it isn't, it's the namespace). and as such determine that the method is available. With this change, the second step will become: * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container is a category (it is), and if its main class is available (it isn't). and as such determine that the method is unavailable. * Check for attributes on the method's container (no attributes, so we continue). * Check if the method's Unclassified diff: https://gist.github.com/rolfbjarne/8fa80962596978a426eadf9b7ba39dc1 * [uikit] Update for Xcode 9 GM (#2670) * [AVFoundation] Implement AVCapturePhoto. Partially fixes #59388. (#2678) Fixes: > common.unclassified:!missing-type! AVCapturePhoto not bound https://bugzilla.xamarin.com/show_bug.cgi?id=59388 * Use strong dictionaries for AVCapturePhoto.Metadata and AVCapturePhoto.EmbeddedThumbnailPhotoFormat. * [SIMD] Implement Simd double types (VectorDouble3/MatrixDouble4x4). (#2632) The following types will be used by ModelIO bindings * Fix delta to be double * Rename Simd-compatible matrices and vectors to match our final naming. This also means removing the new Vector2 and Vector4 variants (but not Vector3). * [avfoundation] Remove AVAssetDownloadDelegate.DidLoadTimeRange since it was removed in one of the betas (#2687) * [foundation] Move NSUrlSessionMultipathServiceType to a file processed by the generator (for the availability attributes) (#2688) * [arkit] Update for Xcode 9 GM (#2681) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes (#2690) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes Type Changed: Intents.INCarSeatResolutionResult Removed methods: public static INCarSeatResolutionResult GetConfirmationRequired (INCarSeat valueToConfirm); public static INCarSeatResolutionResult GetSuccess (INCarSeat resolvedValue); * [avfoundation] Add missing protocol members and deprecations (#2691) !missing-protocol-member! AVCapturePhotoCaptureDelegate::captureOutput:didFinishProcessingPhoto:error: not found and the selector removed from PR#2687 was actually replaced with this one !missing-protocol-member! AVAssetDownloadDelegate::URLSession:aggregateAssetDownloadTask:didLoadTimeRange:totalTimeRangesLoaded:timeRangeExpectedToLoad:forMediaSelection: not found * [tests][xtro] Map some enums, more fix with protocols and update entries (#2692) * [Tests] Reenable dns tests on the watch. (#2674) * [arkit] Add ARBlendShapeLocationOptions strong dictionary (#2696) * [coreimage] Skip not yet bound filters added in Xcode9 (#2698) Tracked in https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * [Metal] Renamed MTLArgumentDescriptor.ArgumentDescriptor to Create, fixes bug 59498 (#2702) https://bugzilla.xamarin.com/show_bug.cgi?id=59498 From [argumentDescriptor docs](https://developer.apple.com/documentation/metal/mtlargumentdescriptor/2915746-argumentdescriptor?language=objc) > Creates an empty argument descriptor. * [msbuild] Always codesign app bundles if the codesign key is non-null (#2697) ...even if it is a simulator build. Turns out that starting with Xcode9, sim builds need to be codesigned for App Groups entitlements to work properly. Interestingly, the DetectSigningIdentity logic had a comment about needing to codesign simulator builds for some entitlements to work already starting with Xcode 8 but apparently the iOS targets did not respect this. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=59379 * [Foundation] Add NSProxy stub in order to workaround bug 59247 (#2693) https://bugzilla.xamarin.com/show_bug.cgi?id=59247 We need to have a better solution that removes all what NSProxy does not responds to. Right now this works because NSObject implements NSObject protocol just like NSProxy, but NSProxy responds to far less selectors hence doing it internal so it is not a breaking change when we provide the correct fix. * Keep NSProxy around and avoid XML linker description We need to keep NSProxy (avoid linking it) if WKNavigationDelegate or IWKNavigationDelegate is used. We know WKWebView will be there and can hold a reference to it. * [Xcode 9] Update Metal for GM (#2689) * [iosurface] IOSurface is not usable before iOS/tvOS 11. Fixes #59201 (#2706) Apple rejects apps that links with the previously private IOSurface.framework. We were not sure about this [1] and had it disabled (this is removed). However another bug stopped our adjustment logic [2] from being executed. This is needed since `clang` picks up the private framework if it does not find the public one (even when asking for a weak framework), [1] https://bugzilla.xamarin.com/show_bug.cgi?id=59201 [2] Added a while ago for JavascriptCore * Bump maccore to point to commit with the docs fix. (#2703) * Bump XI to 11.0.x (and XM to 3.99.9.x) (#2684) * fix typo
2017-09-16 00:53:16 +03:00
[Deprecated (PlatformName.MacOSX, 10, 13, message: "Use 'FStop' instead.")]
[Deprecated (PlatformName.iOS, 11, 0, message: "Use 'FStop' instead.")]
[Deprecated (PlatformName.TvOS, 11, 0, message: "Use 'FStop' instead.")]
[Deprecated (PlatformName.WatchOS, 4, 0, message: "Use 'FStop' instead.")]
2016-04-21 15:30:02 +03:00
[iOS (8,0)][Mac (10,9)]
[Export ("focalBlurRadius")]
nfloat FocalBlurRadius { get; set; }
Merge xcode9 into d15-4[-xi] (#2710) * [FileProvider] Add Xcode 9 Beta 1, 2 & 3 Bindings (#2279) * [FileProvider] Add Xcode 9 Beta 1 Bindings * Better naming * Feedback not related to BindAs * [FileProvider] Removes BindAs, add manual code for it and updated to Beta 3 * [FileProvider] Implement feedback * [CoreSpotlight] Updated spotlight bindings for xcode 9 beta 3. (#2193) Updated spotlight bindings for xcode 9 beta 3. * Fix warning caused by duplicate (#2354) * [FileProviderUI] Add Xcode 9 Beta 1 to 3 bindings (#2356) * Bump to Xcode 9 beta 4 * [arkit] ARLightEstimate does not conform to NSCopying anymore (fix unit test) * [uikit] NSFileProviderExtension.ReparentItem got a new parameter in beta4 (fix unit test) * [coreimage] CIImageAccumulator init returns nil in beta 4 There's no header change to mention `init` is not allowed but it's not clear how this default initializer could be used. Also make public some other API to construct this type (outside of XM). It's not clear why there were `internal` as they are (at least now) part of the header files. * [photos] Add helpers when PHLivePhotoEditingOption/NSDictionary is null (to avoid ambiguous API) (#2360) Adding a strongly typed `PHLivePhotoEditingOption` (a strongly typed version of an `NSDictionary`) can cause a `CS0121` (call is ambiguous) since using a `null` argument is common (only one option exist so far). This PR adds overloads that makes the code nicer in such case, e.g. before Xcode9: > // null is used when no options are given > _foo.SaveLivePhoto (output, null, completion); current (Xcode 9) > // casting required to remove ambiguity with PHLivePhotoEditingOption > _foo.SaveLivePhoto (output, (NSDictionary)null, completion); with this PR > // no option, no argument > _foo.SaveLivePhoto (output, completion); The same applies to `PrepareLivePhotoForPlayback`. * [tests] Disable/tweak two tests that breaks on (almost) all Xcode updates Those tests were not added to validate xOS so just keep the parts that helps us (without constantly checking back the new break flavor) * Disable watchOS to check if this hides others issues * [mapkit] Update for beta 4 * [coredata] Update for beta 4 * [wkwebkit] Update for beta 4 Note: WKWindowFeatures.h is not compiled (part of the framework umbrella) and the `@interface WKWindowFeatures (WKPrivate)` sounds like it should not have been exposed (it's all fields starting with `_`) * [corelocation] Update for beta 4 * Revert "Disable watchOS to check if this hides others issues" This reverts commit fed2249fa43290a1956ab2fe0d48f83ab6db9711. * [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]: https://github.com/xamarin/xamarin-macios/blob/f5956d6cc1eb5dfa7bab16628cf282d40237f64e/src/generator.cs#L5985 * [FinderSync] Update to beta 4 (#2377) * [ImageIO] Update to Xcode 9 (#2353) * [PhotosUI] Move macOS photosui bindings out of photos.cs into photosui.cs (#2358) * [quicklook] Update up to beta 4 (#2374) * [uikit] UIDragInteraction & UIDragInteractionDelegate (Xcode 9 b1,2,3) (#2357) * [safariservices] Update up to beta 4 (#2380) * [coreanimation] Update to beta 4 (#2382) Apple removed (mistake?) some API in beta 1. Filed as rdar 33590997 Internal tracking in https://trello.com/c/J8BDDUV9/86-33590997-coreanimation-quartzcore-api-removals * [storekit] Update up to beta 4 (#2379) * [CoreML] Update to Xcode 9 Beta 4 (#2387) * [uikit] UICollectionView/UITableView Drag & Drop (Xcode 9 b1,2,3 & 4) (#2355) * Update code after radar 32929318 and 32897776 are fixed in b4 (#2394) * [xcode9 CoreAudio] New definitions from Beta1 to Beta3 (#2359) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 (#2397) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 https://bugzilla.xamarin.com/show_bug.cgi?id=58512 Created strong API (VNBarcodeSymbology) on the following properties * VNDetectBarcodesRequest.SupportedSymbologies * VNDetectBarcodesRequest.Symbologies * VNBarcodeObservation.Symbology * Remove modern C# because classic can't do it 😡 * [mediaplayer] Update up to beta 4 (#2388) * [watchkit] Update to beta 4 (#2398) * Bump Visual Studio for Mac max version (#2408) * [coreimage] Add CIBarcodeDescriptor and enabled missing API for VNBarcodeObservation. Fix #58197 (#2411) https://bugzilla.xamarin.com/show_bug.cgi?id=58197 * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 (#2407) * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 * [uikit] Fixes based on comments * [coreimage] CIImageAccumulator API fixes. Fix #58349 (#2412) * Obsolete the default `init`; * XM exposed some older APIs using `int` instead of `CIFormat`. This is fixed and old APIs are obsoleted; * Both new & old APIs are now using `CIFormat` for both XI and XM. https://bugzilla.xamarin.com/show_bug.cgi?id=58349 * [uikit] UIText drag & drop - up to Xcode 9 beta 4 (#2410) * [uikit] UISplitView & UIStackView up to Xcode 9 beta 4 (#2425) * Bump XI/XM versions before preview 4 (#2422) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 (#2378) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 * [PDFKit] Implement feedback * [PDFKit] the forgotten enum * [PDFKit] More feedback * [PDFKit] Add Mac changes * Missing change * Fix test RectangleF VS CGRect * Pass -Wunguarded-availability-new to quiet a new clang warning (#2424) - https://bugzilla.xamarin.com/show_bug.cgi?id=58574 * [mtouch/mmp] Ignore warnings about unguarded code section with regards to availability. (#2441) * [monotouch-test] Remove workaround for fixed Apple bug. (#2445) * Bump to Xcode 9 beta 5. (#2447) * Bump to Xcode 9 beta 5. * [mmp] Disable the partial static registrar, because Apple's macOS SDK is broken. > In file included from Xamarin.Mac.registrar.mobile.i386.m:1: > In file included from ./Xamarin.Mac.registrar.mobile.i386.h:11: > /Applications/Xcode9-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVFoundation.h:88:9: fatal error: 'AVFoundation/AVRouteDetector.h' file not found https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [mmp] Fix partial static registrar removal. * [CallKit] Update to Xcode 9 beta 5. * [ARKit] ARPointCloud doesn't conform to NSCopying anymore in Xcode 9 beta 5. * [ARKit] Update to Xcode 9 beta 5 enough to make tests happy. * [CoreImage] Stub out new filters in Xcode 9 beta 5. * [tests][monotouch] Simplify some MDLMesh asserts since values change a lot between OS versions. * [mmp] Default to the dynamic registrar for release builds again, due to bug #58629. https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [tests][introspection] CXCall started implementing NSCopying without saying so in the headers. * Disable mmp static registrar tests due to 58629 for now * [quicklook] Update to beta 5 (#2450) * [photos] Update for beta 5 (#2452) Also update some existing enum members were added in beta 1 on macOS * [safariservices] Update for beta 5 (#2455) * [mediaplayer] Update to beta 5 (#2456) * [CoreLocation] Update Xcode 9 Beta 5 (#2453) * [CoreML] Update to Xcode 9 Beta 5 (#2454) * [Contacts] Update to Xcode 9 Beta 5 (#2451) * [Vision] Update to Xcode 9 Beta 5 (#2458) * [builds] Tell LLVM to stay away from newer macOS functions. (#2459) Fixes this build problem on Sierra: > ld: weak import of symbol '_futimens' not supported because of option: -no_weak_imports for architecture x86_64 This is a symbol that was (will be?) introduced in High Sierra. Interestingly this only occurs if the Xcode 8.X Command Line Tools haven't been manually installed. Because if the Xcode 8.X Command Line Tools are installed, this happens: 1. llvm's configure script detects that 'futimens' is not usable. 2. llvm's configure script detects that 'futimens' is not usable, because xcrun sets SDKROOT=/ when calling clang. a. When the SDKROOT variable is set, clang passes '-syslibroot /usr/lib' to ld. b. When ld gets '-syslibroot /usr/lib', ld looks in '/usr/lib' for a library that contains 'futimens' in the OS itself, and since we're on Sierra, that fails to link. c. So when llvm's configure script creates a test program that checks if 'futimens' is present, the program fails. This is correct, and makes llvm *not* use futimens. 3. xcrun sets SDKROOT=/ because /usr/share/current-os.sdk/Info.plist exists. If that file does not exist, then xcrun sets SDKROOT to Xcode9's macOS SDK (because that's what xcode-select reports). a. When SDKROOT is set to Xcode9's macOS SDK, the configure check for 'futimens' succeeds, because the macOS 10.13 SDK contains that function. b. llvm happily uses 'futimens', and then the final link fails because we're using a symbol not available on all target platforms. * [arkit] Update for Xcode 9 beta 5 - Part 1 (#2460) * [tests] The container app for watchOS tests should be 64-bit. (#2463) * [xharness] watchOS tests need to run in a clean environment. Works around #58348. (#2462) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [xharness] It watchOS tests don't need to be clean anymore. Fixes #58348. (#2473) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [uikit] UIView/UIScrollView/UIViewController up to Xcode 9 beta 5 (#2431) - Add NSDirectionalEdgeInsets type. - Includes DirectionalEdgeInsetsTest. * [AudioToolbox] Update bindings to Xcode 9 beta3 (not later changes). (#2294) * [xharness] Add a file existence check. (#2478) Fixes this exception: ``` Harness exception for 'introspection': System.IO.FileNotFoundException: Could not find file '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log'. File name: '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log' at System.IO.__Error.WinIOError (System.Int32 errorCode, System.String maybeFullPath) [0x00207] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/__error.cs:188 at System.IO.FileInfo.get_Length () [0x00038] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/fileinfo.cs:171 at xharness.CaptureLog.StopCapture () [0x00021] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Log.cs:252 at (wrapper remoting-invoke-with-check) xharness.CaptureLog:StopCapture () at xharness.AppRunner+<RunAsync>d__68.MoveNext () [0x0127f] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/AppRunner.cs:642 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter`1[TResult].GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:357 at xharness.RunSimulatorTask+<RunTestAsync>d__7.MoveNext () [0x0029d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2894 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.RunTestTask+<ExecuteAsync>d__8.MoveNext () [0x0010b] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2538 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.TestTask+<RunInternalAsync>d__87.MoveNext () [0x0010d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:1870 ``` I'm not sure how this can happen, but it has on the bots [1]. [1] https://jenkins.mono-project.com/job/xamarin-macios-pr-builder/4548/Test_Report/ * Bump versions for preview 5 (#2479) * [passkit] Update to beta 5 (#2481) * [tests] Remove workaround for radar #32688391. (#2486) * [replaykit] Update up to beta 5 (#2484) * Bump maccore to get fix for bug #55064. (#2487) * [apidiff] Update definition to new 10.12 (d15-3) stable release (#2490) * [SceneKit] basic work (#2483) * [coredata] Update to beta 5 (#2488) * [homekit] Update for Xcode 9 beta 5 (#2492) * [Foundation] Update for xcode9 (#2468) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 (#2493) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 * [Intents] Implement feedback * [Intents] Add a generic version for INInteraction.GetParameterValue * [Intents] Missing check * [Contacts] Add missing foundation NSItemProviderWriting protocol to CNContact (#2496) https://bugzilla.xamarin.com/show_bug.cgi?id=58203 This is available on all Contacts supported platforms ``` ./iPhoneOS.platform/Developer/SDKs/iPhoneOS11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchOS.platform/Developer/SDKs/WatchOS4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchSimulator.platform/Developer/SDKs/WatchSimulator4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ``` * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) (#2497) * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) * [IntentsUI] Better use a delegate instead so we have named params * Bump versions before 6th preview (#2514) * [arkit] Add missing MarshalDirective to ARPlaneAnchor (#2517) - Fixes bug #58648: ARPlaneAnchor.Extent property seems incorrect but changes to correct value after Debug access (https://bugzilla.xamarin.com/show_bug.cgi?id=58648) * [xtro-sharpie] Fix a compiler warning. (#2516) Fixes these warnings: Runner.cs(197,5): warning CS0642: Possible mistaken empty statement Runner.cs(199,5): warning CS0642: Possible mistaken empty statement Runner.cs(201,5): warning CS0642: Possible mistaken empty statement Runner.cs(203,5): warning CS0642: Possible mistaken empty statement Runner.cs(205,5): warning CS0642: Possible mistaken empty statement * [uikit] Update for Xcode 9 beta 5 - Part 3 (#2511) - UIKeyCommand - UINavigationBar - UINavigationItem - UIPasteboard - UITableViewHeaderFooterView * [xtro-sharpie] Remove xtro-plugin and misc other fixes. (#2522) * [xtro-sharpie] Build with msbuild and be as quiet as requested when building. * [xtro-sharpie] Must run as a 64-bit process, since the required native libraries are 64-bit. * [xtro-sharpie] Add run configurations to the project file to ease debugging in the IDE. * [xtro-sharpie] Remove xtro-plugin and the related commands. This was needed when there wasn't a 64-bit mono, in order to run xtro-sharpie in a 64-bit process. Now there is a 64-bit mono, so it's not needed anymore. Also improve makefile targets a bit, to auto-build stuff when needed, by setting the right dependencies. * Bump Xcode 9 to beta 6 (#2519) Disable watchOS tests again It seems like the Carousel crash from beta 4 is back to haunt us. This was working fine with beta 5. * Backport d15-3 SR2 fixes (#2515) * [coredata] Update to beta 6 (#2528) This seems to only revert some nullability changes from beta 5. * [coreml] Update to beta 6 (#2531) Fix our rdar 33643011 where additional setters were added in the headers but did not exists. * [videosubscriberaccount] Update to beta 6 (#2533) Only b1 and b2 introduced some additions/changes * [uikit] Update for Xcode 9 beta 6 - Part 4 (#2527) The following headers are now up to date: - UICollectionViewFlowLayout.h - UIDocumentPickerViewController.h - UIFontDescriptor.h - UIImage.h - UIImageView.h - UIImagePickerController.h * [xharness] Re-enable the watchOS tests. (#2534) It works fine for me locally, so let's see what Jenkins says. * [macos] Add new APIs in CoreWlan from Xcode9b3 (#2525) * Update AppKit bindings based on radar 33271241 results (#2518) * Update AppKit bindings based on radar 33271241 results - The header comment was updated to note it was NSSliderTouchBarItem view that has the protocol * Remove NSUserInterfaceCompression where not listed in header * [vision] Update to beta 6 (#2532) Removal of some deprecated (during beta) `init*` selectors. Also sync the versions that were inlined in subclasses - the old ones were not removed and the new ones were not added. * [xtro-sharpie] Many methods don't have selectors in Clang's API, so default to the name if no selector. (#2523) This makes a few more unclassified entries show up (mostly missing designated initializers): https://gist.github.com/rolfbjarne/07aa20f9b50b75bf3e69ac6a825e873a * [macos] Add ExternalAccessory APIs from xcode9 (#2526) * [58851] Disable NSMenuView in AllItemsWithNSMenuShouldAllowNull (#2504) * [arkit] Update for Xcode 9 beta 5 - Part 2 (#2505) - Add last missing selector. - Add tests for manual code. * [monotouch-test] Disable FontDescriptorTest.WithFeature (#2537) Disabled because it looks like the tvOS font we use: "Gujarati Sangam MN" does not have rare ligatures anymore (and the entire test is based on it). Before getting an actual fix for that, let's disable the test so it doesn't break all current builds. See: https://bugzilla.xamarin.com/show_bug.cgi?id=58929 * [xtro-sharpie] Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute. (#2524) Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute to calculate the native name for a TypeDefinition. Unclassified changes: https://gist.github.com/rolfbjarne/828f8ee41eebb0a3b60a38d71822fe59 * [foundation/uikit] Inline NSItemProvider_UIKitAdditions in NSItemProvider (#2538) As suggested here: https://github.com/xamarin/xamarin-macios/pull/2527#discussion_r134670981 * [intents] Fix breaking changes (api-diff) (#2543) Additions of @required members inside `INSpeakable` cannot be `[Abstract]` * [contacts] Fix breaking change (api-diff) (#2542) Type Changed: Contacts.CNPostalAddress Removed method: public static string LocalizeProperty (CNPostalAddressKeyOption option); * [macos] Reenable static registrar since Xcode9b6 un-broke SDK headers (#2544) - Fix a subtle spacing issues in PartialStaticLibrary property * [corebluetooth] Update up to beta 6 and enable it on watchOS (#2540) macOS 10.13 has finally catch up with iOS and this simplifies the bindings a bit. * [foundation] API fixes (apidiff) (#2545) 1. Let's not add new, already [Obsolete] API Type Changed: Foundation.NSDimension Added constructors: [Obsolete ("Not intended to be directly instantiated, this is an abstract class.")] public NSDimension (); 2. Fix inconsistently named API, e.g. Type Changed: Foundation.NSAttributedString Added properties: public static string[] ReadableTypeIdentifiersForItemProvider { get; } public static string[] WritableTypeIdentifiers { get; } * [pdfkit] Do not add already [Obsolete] API in new profiles (#2547) and ensure using the newer, correct API works cross-platforms iOS (before) [Obsolete ("Use 'Find (string, NSStringCompareOptions)' instead.")] public virtual PdfSelection[] Find (string text, nint options); public PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'Find (string, PdfSelection, NSStringCompareOptions)' instead.")] public virtual PdfSelection Find (string text, PdfSelection selection, nint options); public void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string, NSStringCompareOptions)' instead.")] public virtual void FindAsync (string text, nint options); public void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string [], NSStringCompareOptions)' instead.")] public virtual void FindAsync (string[] text, nint options); iOS (after) public virtual PdfSelection[] Find (string text, Foundation.NSStringCompareOptions compareOptions); public virtual PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); * Bump versions for the 7th preview (#2541) * Remove additions of AVKit removed in beta5 (#2536) * NSUrlSessionTask should implement NSProgressReporting for iOS (#2548) NSUrlSessionTask implements NSProgressReporting on iOS as well as Mac, so the #if MONOMAC isn't needed. * Add missing availability attributes causing failures on older iOS versions (#2550) * [vision] Minor fix wrt xtro (#2551) including some things we need to ignore manually !missing-field! VNVisionVersionNumber not bound !missing-pinvoke! VNImagePointForFaceLandmarkPoint is not bound !missing-pinvoke! VNNormalizedFaceBoundingBoxPointForLandmarkPoint is not bound * [uikit] NSFileProviderMessaging was removed in beta 2. Fixes #58222 (#2552) reference: https://bugzilla.xamarin.com/show_bug.cgi?id=58222 * [uikit] Update for Xcode 9 - Part 5 (#2546) Bindings for the following headers: - UIActivity.h - UIActivityItemProvider.h - UIAlertController.h - UIApplication.h - UIBarButtonItem.h - UIButton.h - UICollectionViewLayout.h - UIColor.h - UIControl.h - UIDocumentMenuViewController.h - UIFontMetrics.h - UIGestureRecognizer.h - UIGraphicsImageRenderer.h - UIInputViewController.h * [CoreText] Fix an extraneous free in CTFont.GetDefaultCascadeList. (#2555) We do not own the return value from CFArrayGetValueAtIndex, so don't say we do when creating CTFontDescriptor instances, since that leads to angry dragons: 2017-08-28 20:15:20.293 monotouchtest[33186:2311738] A_FontTest 2017-08-28 20:15:20.294 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithFontDescriptorAndOptions 2017-08-28 20:15:20.295 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithNameAndOptions 2017-08-28 20:15:20.296 monotouchtest[33186:2311738] critical: Stacktrace: at <unknown> <0xffffffff> at (wrapper managed-to-native) CoreText.CTFont.CTFontCopyDefaultCascadeListForLanguages (intptr,intptr) [0x0000a] in <ae65a2b1eea242d2b68fe784749543bf>:0 at CoreText.CTFont.GetDefaultCascadeList (string[]) [0x00013] in /work/maccore/xcode9/xamarin-macios/src/CoreText/CTFont.cs:2185 at MonoTouchFixtures.CoreText.A_FontTest.GetCascadeList () [0x0001e] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/CoreText/FontTest.cs:78 at (wrapper runtime-invoke) object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) [0x0004f] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) System.Reflection.MonoMethod.InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&) [0x00016] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at System.Reflection.MonoMethod.Invoke (object,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo) [0x00032] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/corlib/System.Reflection/MonoMethod.cs:305 at System.Reflection.MethodBase.Invoke (object,object[]) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/referencesource/mscorlib/system/reflection/methodbase.cs:229 at NUnit.Framework.Internal.Reflect.InvokeMethod (System.Reflection.MethodInfo,object,object[]) [0x00009] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Reflect.cs:215 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunNonAsyncTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x00025] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:116 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x0001a] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:90 at NUnit.Framework.Internal.Commands.TestMethodCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:66 at NUnit.Framework.Internal.Commands.SetUpTearDownCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00007] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/SetUpTearDownCommand.cs:84 at NUnit.Framework.Internal.WorkItems.SimpleWorkItem.PerformWork () [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/SimpleWorkItem.cs:64 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at MonoTouch.NUnit.UI.BaseTouchRunner.Run (NUnit.Framework.Internal.Test) [0x0004d] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:442 at MonoTouch.NUnit.UI.BaseTouchRunner.Run () [0x00030] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:171 at MonoTouch.Dialog.StringElement.Selected (MonoTouch.Dialog.DialogViewController,UIKit.UITableView,Foundation.NSIndexPath) [0x00008] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/Elements.cs:765 at MonoTouch.Dialog.DialogViewController.Selected (Foundation.NSIndexPath) [0x00026] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:577 at MonoTouch.Dialog.DialogViewController/Source.RowSelected (UIKit.UITableView,Foundation.NSIndexPath) [0x00016] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:402 at (wrapper runtime-invoke) <Module>.runtime_invoke_void__this___object_object (object,intptr,intptr,intptr) [0x0005d] in <32f0c196c5bc4aa18daea2ee64a7814e>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) UIKit.UIApplication.UIApplicationMain (int,string[],intptr,intptr) [0x0005c] in <ae65a2b1eea242d2b68fe784749543bf>:0 at UIKit.UIApplication.Main (string[],intptr,intptr) [0x00005] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:79 at UIKit.UIApplication.Main (string[],string,string) [0x00038] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:63 at monotouchtest.Application.Main (string[]) [0x00011] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/Main.cs:27 at (wrapper runtime-invoke) <Module>.runtime_invoke_void_object (object,intptr,intptr,intptr) [0x00051] in <30a7f7e09de9467b8b454221034a0e38>:0 Native stacktrace: 0 monotouchtest 0x000000010fca03c4 mono_handle_native_crash + 244 1 monotouchtest 0x000000010fcadd30 mono_sigsegv_signal_handler + 288 2 libsystem_platform.dylib 0x000000011feb3b3a _sigtramp + 26 3 CoreFoundation 0x000000011de035a2 computeSanitizedString + 146 4 CoreText 0x00000001168df314 _ZN15TPurgeableCache19RetainedValueForKeyEPKv + 54 5 CoreText 0x00000001168def85 _ZNK17TDescriptorSource22CopyDescriptorUncachedEPK7__CFURLbPK10__CFString + 55 6 CoreText 0x00000001168df34f _ZNK17TDescriptorSource14CopyDescriptorEPK7__CFURLbPK10__CFString + 27 7 CoreText 0x00000001168e20ad _ZNK17TDescriptorSource35CopyFontDescriptorPerPostScriptNameEPK10__CFStringmm + 297 8 CoreText 0x00000001168dfd9e _ZNK17TDescriptorSource30CopySystemFontDescriptorByNameEPK10__CFString10UIFontFlag + 54 9 CoreText 0x00000001168e54c4 _ZNK14TFontFallbacks17CopyFontFallbacksEPK10__CFStringS2_PK9__CFArray + 652 10 CoreText 0x00000001168e4a00 _ZNK14TFontFallbacks29CopyFontFallbacksForLanguagesEPK10__CFStringPK9__CFArray + 122 11 CoreText 0x00000001168e4971 _ZN17TDescriptorSource39CopyDefaultSubstitutionListForLanguagesEPK10__CFStringPK9__CFArray + 61 12 CoreText 0x00000001169397a7 _ZNK9TBaseFont28CreateSystemDefaultFallbacksEPK10__CFStringPK9__CFArray + 51 13 CoreText 0x000000011693999c _ZNK9TBaseFont15CreateFallbacksE10UIFontFlagPPK16__CFCharacterSetPK9__CFArray + 346 14 CoreText 0x00000001168c1036 _ZNK5TFont24CreateDefaultCascadeListEPK9__CFArray + 242 15 CoreText 0x00000001168b8ff9 CTFontCopyDefaultCascadeListForLanguages + 97 16 ??? 0x0000000140eaefd3 0x0 + 5384105939 17 ??? 0x0000000140eae761 0x0 + 5384103777 18 ??? 0x000000013c9c8e74 0x0 + 5311860340 19 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 20 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 21 monotouchtest 0x000000010fd71bac mono_runtime_try_invoke_array + 1292 22 monotouchtest 0x000000010fd15587 ves_icall_InternalInvoke + 647 23 ??? 0x000000013e9fcd13 0x0 + 5345627411 24 ??? 0x000000013e9fc738 0x0 + 5345625912 25 ??? 0x000000013e9fded5 0x0 + 5345631957 26 ??? 0x000000013e9fbb76 0x0 + 5345622902 27 ??? 0x000000013e9e237e 0x0 + 5345518462 28 ??? 0x000000013e9e237e 0x0 + 5345518462 29 ??? 0x000000013e9e237e 0x0 + 5345518462 30 ??? 0x000000013e9e237e 0x0 + 5345518462 31 ??? 0x000000013e873006 0x0 + 5344014342 32 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 33 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 34 monotouchtest 0x000000010fd6e320 mono_runtime_invoke + 208 35 monotouchtest 0x000000010fe71af1 xamarin_invoke_trampoline + 5617 36 monotouchtest 0x000000010fe79ddd xamarin_arch_trampoline + 189 37 monotouchtest 0x000000010fe7b1a1 xamarin_x86_64_common_trampoline + 110 38 UIKit 0x0000000111b9876b -[UITableView _selectRowAtIndexPath:animated:scrollPosition:notifyDelegate:] + 1810 39 UIKit 0x0000000111b98986 -[UITableView _userSelectRowAtPendingSelectionIndexPath:] + 344 40 UIKit 0x0000000111a6b5c9 _runAfterCACommitDeferredBlocks + 318 41 UIKit 0x0000000111a59dad _cleanUpAfterCAFlushAndRunDeferredBlocks + 280 42 UIKit 0x0000000111a89f68 _afterCACommitHandler + 137 43 CoreFoundation 0x000000011de3ddb7 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23 44 CoreFoundation 0x000000011de3dd0e __CFRunLoopDoObservers + 430 45 CoreFoundation 0x000000011de22324 __CFRunLoopRun + 1572 46 CoreFoundation 0x000000011de21a89 CFRunLoopRunSpecific + 409 47 GraphicsServices 0x0000000121b7e9c6 GSEventRunModal + 62 48 UIKit 0x0000000111a5f7d0 UIApplicationMain + 159 49 ??? 0x000000013c9c4474 0x0 + 5311841396 50 ??? 0x000000013c9c40ad 0x0 + 5311840429 ================================================================= Got a SIGSEGV while executing native code. This usually indicates a fatal error in the mono runtime or one of the native libraries used by your application. ================================================================= * [monotouch-test] Don't subclass MKMapView. (#2556) MKMapView doesn't like being subclassed (Apple says "you should not subclass the MKMapView class itself"). Bad things like this starts happening: Thread 0 name: tid_303 Dispatch queue: com.apple.main-thread Thread 0 Crashed: 0 libsystem_kernel.dylib 0x0000000186b25348 __pthread_kill + 8 1 libsystem_pthread.dylib 0x0000000186c39354 pthread_kill$VARIANT$mp + 396 2 libsystem_c.dylib 0x0000000186a94fd8 abort + 140 3 monotouchtest 0x0000000101c02c14 mono_handle_native_crash + 22047764 (mini-exceptions.c:2548) 4 monotouchtest 0x0000000101c0d02c mono_sigsegv_signal_handler + 22089772 (mini-runtime.c:2886) 5 libsystem_platform.dylib 0x0000000186c33b60 _sigtramp + 52 6 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 7 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 8 CoreFoundation 0x0000000186eda51c -[__NSArrayM dealloc] + 68 9 CoreFoundation 0x000000018703f5c8 __CFBasicHashDrain + 312 10 CoreFoundation 0x0000000186fb5b44 _CFRelease + 224 11 CoreText 0x000000018a808404 TDescriptorSource::PurgeFontFallbacksCache+ 488452 () + 92 12 CoreText 0x000000018a808374 TDescriptorSource::PurgeFromCaches+ 488308 (__CFURL const*) const + 176 13 CoreText 0x000000018a7eec74 CTFontRemoveFromCaches + 168 14 VectorKit 0x0000000196a539b0 +[VKSharedResourcesManager removeResourceUser:] + 324 15 VectorKit 0x0000000196ca27a4 md::MapEngine::~MapEngine+ 2643876 () + 360 16 VectorKit 0x0000000196ca2634 md::MapEngine::~MapEngine+ 2643508 () + 12 17 libobjc.A.dylib 0x000000018651eef4 object_cxxDestructFromClass+ 28404 (objc_object*, objc_class*) + 148 18 libobjc.A.dylib 0x000000018652c638 objc_destructInstance + 88 19 libobjc.A.dylib 0x000000018652c690 object_dispose + 16 20 QuartzCore 0x000000018afca3ac -[CALayer dealloc] + 116 21 VectorKit 0x0000000196a43294 -[VKMapView dealloc] + 940 22 QuartzCore 0x000000018af6aafc CA::release_objects+ 744188 (X::List<void const*>*) + 32 23 QuartzCore 0x000000018afd97d8 CA::Layer::~Layer+ 1198040 () + 276 24 QuartzCore 0x000000018afca37c -[CALayer dealloc] + 68 25 QuartzCore 0x000000018af6b16c CA::Transaction::commit+ 745836 () + 1052 26 UIKit 0x0000000190393290 _afterCACommitHandler + 256 27 CoreFoundation 0x0000000186fb38b8 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 32 28 CoreFoundation 0x0000000186fb1270 __CFRunLoopDoObservers + 412 29 CoreFoundation 0x0000000186fb182c __CFRunLoopRun + 1292 30 CoreFoundation 0x0000000186ed22d8 CFRunLoopRunSpecific + 436 31 GraphicsServices 0x0000000188d58f84 GSEventRunModal + 100 32 UIKit 0x000000019040427c UIApplicationMain + 208 33 monotouchtest 0x000000010106eb90 wrapper_managed_to_native_UIKit_UIApplication_UIApplicationMain_int_string___intptr_intptr + 9907088 (/<unknown>:1) 34 monotouchtest 0x0000000100f0d6ac UIKit_UIApplication_Main_string___intptr_intptr + 8459948 (UIApplication.cs:79) 35 monotouchtest 0x0000000100f0d66c UIKit_UIApplication_Main_string___string_string + 8459884 (UIApplication.cs:63) 36 monotouchtest 0x0000000100b10450 monotouchtest_Application_Main_string__ + 4277328 (Main.cs:27) 37 monotouchtest 0x0000000100e0c244 wrapper_runtime_invoke_object_runtime_invoke_dynamic_intptr_intptr_intptr_intptr + 244 38 monotouchtest 0x0000000101c10048 mono_jit_runtime_invoke + 22102088 (mini-runtime.c:2526) 39 monotouchtest 0x0000000101c75eec do_runtime_invoke + 22519532 (object.c:2829) 40 monotouchtest 0x0000000101c78a3c do_exec_main_checked + 22530620 (object.c:4623) 41 monotouchtest 0x0000000101bf9a1c mono_jit_exec + 22010396 (driver.g.c:1040) 42 monotouchtest 0x0000000101d13d60 xamarin_main + 23166304 (monotouch-main.m:482) 43 monotouchtest 0x00000001007de710 main + 927504 (main.m:67) 44 libdyld.dylib 0x00000001869f656c start + 4 * [introspection] Let SkipDueToAttributeInProperty skip setters too (#2557) `SkipDueToAttributeInProperty` which is used to check the availability attribute of properties when the Availability info only exist on the property and not on the property Getter or Setter was wrong. This lead to `setSpringLoaded` (which was introduced in iOS 11) to not be ignored by the test (making it fail). - Fix bug #59085: [introspection-ios] selector not found for UIKit.UIBarButtonItem : setSpringLoaded: - Broken test (https://bugzilla.xamarin.com/show_bug.cgi?id=59085) * [corevideo][watchos] Enable CoreVideo on watchOS (#2553) * [storekit] Fix CampaignToken typo (#2559) (#2560) - Fixes bug #59078: StoreProductParameters and invalid property for CampaignToken (https://bugzilla.xamarin.com/show_bug.cgi?id=59078) * [coreml][watchos] Enable API using CoreVideo on watchOS. Fix #58097 (#2561) https://bugzilla.xamarin.com/show_bug.cgi?id=58097 * Add missing [MarshalDirective] attributes. (#2558) * [bindings-generator] Improve build & project file. * Add missing [MarshalDirective] attributes. Add missing [MarshalDirective] attributes, which also requires implementing support for out parameters in the binding generator, since one of the signatures missing the [MarshalDirective] contains such an out parameter. Also add tests for all the API I've added [MarshalDirective] to. * [bindings-generator] Remove redundant if check. * [monotouch-test] Rename file to end with 'Test.cs'. * [tests] Fix a few build errors for Xamarin.Mac. * [uikit] Fix UIColor and UIInputViewController tvOS availability (#2569) - Fixes introspection tests on tvOS 10. * [storekit] Fix SKCloudServiceSetupMessageIdentifier and SKProductStorePromotionController tvOS availability (#2568) - Fixes introspection tests on tvOS 10. * [mapkit] Fix MKMapItemTypeIdentifier tvOS availability (#2566) - Also remove double [Mac] availability attribute. - Fixes introspection tests on tvOS 10. * [ARKit] Fix marshalling for ARPointCloud.RawFeaturePoints. (#2565) ARPointCloud.RawFeaturePoints is an array of Vector3, but each vector is 16-byte aligned (as if it were an array of Vector4). This means we need to account for this when creating a managed array from pointer to the native C-style array. * [ModelIO] Fix MDLVoxelIndexExtent struct. (#2564) The MDLVoxelIndexExtent is a struct containing two 4-dimensional vectors of integers (not floats, as originally and incorrectly implemented). Fix this my creating a new MDLVoxelIndexExtent2 struct with the right fields, re-implement all the API that exposes this struct and obsolete the old API. Also add missing [MarshalDirective] attributes. And write a test to make sure it works fine now and forever. * [coredata] Enable new fields since rdar #33878590 is fixed w/beta 6 (#2570) reference: https://trello.com/c/dlSRYPFx * [xtro-sharpie] Add a Simd check class to verify signatures with Simd types. * [Simd] Add simd matrix types. The OpenTK matrices (Matrix2/3/4) has a different memory layout than Apple's matrix_float2x2/matrix_float3x3/matrix_float4x4 matrices: the OpenTK versions are row-major, while Apple's versions are column-major. This means that when blitting memory from one to the other, the matrix will appear to have been transposed. See bug #[58599][2] for an example. Unfortunately we've already bound several API with Apple's matrix_floatXxX matrices using OpenTK's matrices, and although they're bound wrong, and the matrices appear transposed on input/output, we can't change the behavior because we have to maintain compatibility. This means we have to introduce new API, and then also just define new matrix types with the right memory layout (column-major). Additionally, in the future we might be able to mark these matrices as Simd-matrixes, so that the JIT/AOT compiler can generate the correct alignment for them, avoiding having to define a native conversion method (using the [MarshalDirective] hack). The matrices have been designed to match API-wise the matrices in the System.Numerics.Vectors namespace [1], but for the moment with only a few basic operations implemented (Determinant/Transpose/Multiply) defined (we can always add more later if we want to). In addition explicit conversion operators to and from the corresponding OpenTK.MatrixX are implemented, which means any operation defined in the OpenTK matrices can be used by converting back and forth. [1]: https://msdn.microsoft.com/en-us/library/system.numerics.matrix4x4(v=vs.111).aspx [2]: https://bugzilla.xamarin.com/show_bug.cgi?id=58599 * [ARKit] Use the new Simd matrix types. * [Vision] Use the new Simd matrix types. * [ModelIO] Use the new Simd-compatible matrix types, and deprecate the old API. * [GameplayKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [SpriteKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [xtro] Don't report missing [MarshalDirective] for obsolete methods. * [xtro] Remove unnecessary ignores. The implementation changed, and these stayed accidentally. * [wkwebkit] Fix (native) protocol names (#2572) Also ignore xtro's WKSnapshotConfiguration since it's an Apple bug 34185961 reference (xtro) !missing-protocol! WKURLSchemeHandler not bound !missing-protocol! WKURLSchemeTask not bound !unknown-protocol! WKUrlSchemeHandler bound !unknown-protocol! WKUrlSchemeTask bound !unknown-type! WKSnapshotConfiguration bound * [uikit] Fix enums availability attributes (#2575) - Fixes bug #59132: [uikit] Extra types in watchOS (https://bugzilla.xamarin.com/show_bug.cgi?id=59132) * [watchkit] Add missing designated initializers (#2574) references (xtro) !missing-designated-initializer! WKInterfaceController::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! WKUserNotificationInterfaceController::init is missing an [DesignatedInitializer] attribute * [xtro] Reword some of the Simd diagnostic messages according to review. * [tests] Make sure test symbols don't clash between different test libraries. Fixes this build problem for framework-test: clang: error: linker command failed with exit code 1 (use -v to see invocation) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_get_rotation_matrix'. MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticObjectTest.framework/XStaticObjectTest (Location related to previous error) MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticArTest.framework/XStaticArTest(libtest-ar.x86_64.o) (Location related to previous error) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransformcomponent_get_local_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_create_global_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float4x4'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float3x3'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float2x2'. MTOUCH: error MT5209: Native linking error: 6 duplicate symbols for architecture x86_64 MTOUCH: error MT5202: Native linking failed. Please review the build log. * [tests] Since libtest.a need ModelIO now, the corresponding LinkWith attributes need to state that too. * [introspection] Don't check native signatures on obsolete members, and ignore the right simd matrix types. Fixes this introspection/Mac problem: ***** ApiSignatureTest.NativeSignatures Selector: uniformWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: uniformWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: uniformWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: setMatrixFloat2x2Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: setMatrixFloat3x3Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: setMatrixFloat4x4Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: initWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: initWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: initWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded * [monotouch-tests] Include more custom asserts for watchOS to make the build work. Fixes this: Simd/MatrixFloat4x4Test.cs(28,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(29,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(37,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(48,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' [...] * [monotouch-test] Exclude code that requires the binding project from xammac tests. Exclude code that requires the test binding project from xammac tests because there's currently no XM version of the test binding project. Fixes this: tests/monotouch-test/SpriteKit/UniformTest.cs(20,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLMaterialProperty.cs(37,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLTransform.cs(34,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) * Bump version for preview #8 (#2576) * [spritekit] Audit fixes (xtro) (#2577) 1. SKVideoNode is now, partially, available on watchOS and does not require the extra, manual code to swicth selectors depending on the OS version being run. !missing-type! SKVideoNode not bound !missing-selector! SKVideoNode::anchorPoint not bound !missing-selector! SKVideoNode::initWithCoder: not bound !missing-selector! SKVideoNode::initWithFileNamed: not bound !missing-selector! SKVideoNode::initWithURL: not bound !missing-selector! SKVideoNode::setAnchorPoint: not bound !missing-selector! SKVideoNode::setSize: not bound !missing-selector! SKVideoNode::size not bound !missing-selector! +SKVideoNode::videoNodeWithFileNamed: not bound !missing-selector! +SKVideoNode::videoNodeWithURL: not bound 2. SKNodeFocusBehavior is exposed needlessly on watchOS because SpriteKit/Enums.cs was not processed by the generator, so [NoWatch] did not matter. !unknown-native-enum! SKNodeFocusBehavior bound It's also visible on macOS but nothing uses it (so we do not expose it needlessly) !missing-enum! SKNodeFocusBehavior not bound 3. Add missing designated initializer on default `init` !missing-designated-initializer! SKAttributeValue::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! SKNode::init is missing an [DesignatedInitializer] attribute 4. Remove inconsistency for SKNode subclasses wrt XAMCORE_4_0 The trio attributeValues, setAttributeValues and setValue:forAttributeNamed: that was moved from SKNode (deprecated) into its subclasses. This was done using XAMCORE_4_0 but not on every subclasses. This adds them everywhere to be consistent (only SKNode versions are not defined in XAMCORE_4_0) !missing-selector! SKEffectNode::attributeValues not bound !missing-selector! SKEffectNode::setAttributeValues: not bound !missing-selector! SKEffectNode::setValue:forAttributeNamed: not bound !missing-selector! SKEffectNode::valueForAttributeNamed: not bound !missing-selector! SKEmitterNode::attributeValues not bound !missing-selector! SKEmitterNode::setAttributeValues: not bound !missing-selector! SKEmitterNode::setValue:forAttributeNamed: not bound !missing-selector! SKEmitterNode::valueForAttributeNamed: not bound !missing-selector! SKSpriteNode::attributeValues not bound !missing-selector! SKSpriteNode::setAttributeValues: not bound !missing-selector! SKSpriteNode::setValue:forAttributeNamed: not bound !missing-selector! SKSpriteNode::valueForAttributeNamed: not bound * [introspection] Make sure '[FAIL]' is printed before every failure. (#2578) This makes xharness able to list the failures in the inline summary. * [xtro] Reword some of the Simd diagnostic messages according to review. * [xharness] Add a missing IsServerMode check to generate correct html. (#2581) * [SpriteKit] SKTransformNode is new in Xcode 9 so no need to keep the broken (and obsolete) non-simd version of RotationMatrix. * [intents] Fix some (partial) xtro issues and #59156 (#2585) reference https://bugzilla.xamarin.com/show_bug.cgi?id=59156 Remaining issues are filled in https://bugzilla.xamarin.com/show_bug.cgi?id=59183 !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound * [Intents] Confirm* interface methods should be bound as Confirm, Fixes Bug 59164 (#2591) * [Intents] Confirm* interface methods should probably be bound as Confirm, Fixes Bug 59164 https://bugzilla.xamarin.com/show_bug.cgi?id=59164 All Confirm* methods from *IntentHandling interfaces should be named just `Confirm` to avoid confusion because most of them do not directly confirm as an acion, but instead they **ask** for confirmation also we would follow swift's naming by doing this. * [Intents] XAMCORE_4_0 all Confirm* methods from *IntentHandling Turns any Confirm* into just Confirm inside a XAMCORE_4_0 block, * [Intents] Fix breaking changes in Intents added in Xcode 9 Bindings (#2590) Apple added more protocol conformances to INRidesharingDomainHandling and INPaymentsDomainHandling protocols in Xcode 9, I introduced these breaking changes back when I did intents binding so fixing them :) * [Metal] New bindings from Xcode 9 betas (#2457) * [AVFoundation] Updated bindings for xcode9. (#2272) * [Xcode9] Add IOSurface bindings (#2363) * This framework was a private framework before iOS 11. This framework was a private framework before iOS 11, yet the headers claim many API were introduced in iOS 10. So take account of this difference by using the private framework location in iOS 10.3 or earlier. Testing these API from Xcode works fine when run on an iOS 10.3 device, and I've confirmed the IOSurface framework is loaded from the private frameworks path on older devices (and when built using Xcode 9 and linked with the public framework path). * Disable code to make IOSurface work on iOS 10. Disable the code to make IOSurface work on iOS 10, since it may be rejected by the App Store. This also means adjusting the availability attributes, so that the introspection tests pass (and to document that technically these API won't work when used with Xamarin.iOS in iOS 10). I've filed bug #[59201][1] to keep track of this, maybe we can re-enable this later. [1]: https://bugzilla.xamarin.com/show_bug.cgi?id=59201 * [CoreMedia] Fix leak in CMAttachmentBearer.GetAttachments. (#2593) The caller owns the return value from CMCopyDictionaryOfAttachments, so tell Runtime.GetNSObject that. * [Intents] Adds missing API found by xtro, fixes Bug 59183 (#2596) https://bugzilla.xamarin.com/show_bug.cgi?id=59183 Fixes !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !incorrect-protocol-member! INUIHostedViewControlling::configureWithInteraction:context:completion: is OPTIONAL and should NOT be abstract * [xtro] Fix StartWorkingDirectory to enable debugging (#2598) * [iosurface] Enable for tvOS and XM classic (to avoid multiple defines around consumer API) (#2597) * [xtro] Fix EnumCheck (#2600) * [ARKit] Rename a few method to make them nicer. (#2604) * DisplayTransform -> GetDisplayTransform since methods should have verbs. * SessionWasInterrupted -> WasInterrupted and SessionInterruptionEnded -> InterruptionEnded since these names match better with the other names (CameraDidChangeTrackingState / DidFail / DidOutputAudioSampleBuffer: none are prefixed with 'Session'). Additionally, the type is a Model (for the delegate pattern), which means all methods are more-or-less event-like, and the first argument is always the same (the protocol itself), which is another indicator the methods should be named similarly. * [Foundation] Remove 'Key' suffix from some fields. (#2606) Of the 168 fields in NSMetadataItem, only these 5 hadn't removed the 'Key' suffix. So make them all equivalent by removing the 'Key' suffix from these 5 fields. * [ImageIO] Fix API to not duplicate the instance in instance methods. (#2609) An instance method does not need to take the instance as a parameter, so remove the first (instance) parameter for CGImageDestination.AddAuxiliaryDataInfo and CGImageSource.CopyAuxiliaryDataInfo. An alternative solution would be to make the methods static, but I like the instance API better. * [UIKit] De-model UIDataSourceTranslating. (#2603) It's not clear from neither the documentation nor the headers how this protocol is supposed to be used, and since it doesn't correspond to the delegate pattern, remove the [Model] attribute for now. We can always add it back later. * [CoreML] Improve API. (#2592) * [CoreML] Improve API. * The indices, shape and stride properties for MLMultiArray and MLMultiArrayConstraint can logically only be arrays of integers, so type them as such. This means adding overloads for MLMultiArray's constructors, GetObject and SetObject methods, and the indexers that takes nint[] arrays instead of NSNumber[] arrays. * Change MLFeatureValue's static factory methods to be a method ('Create') instead of a preposition, and call all the different factory methods the same, since they can be overloaded nicely. * [tests][monotouch-test] Add version check to MLMultiArrayTest and make sure the arrays we create are big enough for the data we put in them. * [tests][monotouch-test] MLMultiArray's elements aren't zero-initialized, so don't assume that in the tests. * Support overloading Objective-C methods based on static/instance. (#2607) Two Objective-C methods can be named identically as long as one is static and the other instance. We must support this since Apple did just this (in the NSItemProviderReading / NSItemProviderWriting protocols). We solve it by prepending a '+' or '-' to the selector when hashing it (to determine selector uniqueness, and to look the method up again at runtime). * [uikit] Update for Xcode 9 - Part 6 (#2602) NSAttributedString.h NSFileProviderExtension.h NSLayoutAnchor.h UIAccessibility.h UIAccessibilityAdditions.h UIAccessibilityContainer.h UIAccessibilityContentSizeCategoryImageAdjusting.h UIAccessibilityCustomRotor.h UIAccessibilityLocationDescriptor.h UITabBar.h UINavigationBar.h UIScreen.h * Xcode9 scenekit (#2512) * [SceneKit] basic work * Added key * [xcode9] SCNCameraController * [xcode9] SCNCamera updates * [xcode9] SCNMaterial * [xcode9] SCNGeometryTessellator, SCNCameraControlConfiguration, SCNView, small bits * Add trailing commas to last enum value * Remove whitespace noise * [scenekit] Update deprecated attributes messages * Addresses some of Rolf's feedback * Drop the WeakDelegate in SCNCameraController * Rename method to Render, remove ctor from class that can not be constructed in Palygrounds, add typo exception * [AppKit] Rename NSBezierPath.AppendBezierPathWithCGGlyph to match its sibling methods. (#2605) NSBezierPath contains a lot of 'AppendPathWithXXX' methods, that all map to 'appendBezierPathXXX' selectors. So rename AppendBezierPathWithCGGlyph accordingly, to make it more similar to the other methods in the same type. * [uikit] Add all UISpringLoadedInteractionSupporting (#2616) Types do not conform to the protocol but protocol methods work on those types (see monotouch-test). Fixed introspection tests accordingly and tested the selectors in monotouch-test. * [Intents] Add convenience ctor overload and call correct base ctor in manual ctor. (#2613) Add a convenience constructor overload in INGetUserCurrentRestaurantReservationBookingsIntent that uses nint instead of NSNumber, since logically "number of results" will always be some sort of integer. Also call the correct base constructor in INSpeakableString's custom constructor (same as any other generated constructor). Otherwise we end up doing something like this: [[[INSpeakableString alloc] init] initWith ...], i.e. calling two different init methods. * [coreimage] Add new headers API up to beta 6 (#2601) Filters are not complete (ref: #57350) https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * Some new constants are not yet documented (type is known), so they are commented / ignored https://bugzilla.xamarin.com/show_bug.cgi?id=59296 * Filled bug for [Wrap] inside [Category] so strong dictionary helpers can be re-enabled later https://bugzilla.xamarin.com/show_bug.cgi?id=59294 * [foundation] xtro fixes for watchOS (#2586) !missing-enum! NSProcessInfoThermalState not bound !missing-field! NSProcessInfoThermalStateDidChangeNotification not bound !missing-selector! NSProcessInfo::thermalState not bound Headers are wrong and preferredPresentationStyle is not in tvOS and watchOS !missing-selector! NSItemProvider::preferredPresentationStyle not bound !missing-selector! NSItemProvider::setPreferredPresentationStyle: not bound * [uikit] Also remove UIPreferredPresentationStyle enum from platform where it's not used * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. (#2614) * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. * NSItemProviderWriting: * NSItemProviderReading: Implement correctly and completely by uncommenting commented out code. * NSMutableString: * NSAttributedString: remove inlined members, since these classes don't implement NSItemProviderReading / NSItemProviderWriting (according to the headers at least). * NSUrl: all platforms now seem to implement NSItemProviderReading / NSItemProviderWriting. * NSString: all platforms now seem to implement both NSItemProviderReading and NSItemProviderWriting * UIColor: * UIImage: Update inlined protocol members according to the latest beta. Additionally, due to the following conditions: * The protocols all have the correct members now. * In the API definition we tell the generator to inline members from a protocol by inheriting from the corresponding interface. * The generator doesn't inline static members from protocols. several 'new' keywords had to be added to silence a compiler warning that occurrs when we manually inline a static member, since the member would be included in the type both from the inherited interface and the manual implementation. * [Foundation] Comment out NSItemProviderWriting.GetItemProviderVisibility to avoid inlining/generating unusable methods. NSItemProviderWriting.GetItemProviderVisibility is an optional method, and none of the native classes that implements NSItemProviderWriting actually imlements the method. This means inlining the method in those classes ends up creating unusable API; so just comment out the method to avoid generating the unusable API. The introspection tests found this: [FAIL] Foundation.NSString : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Foundation.NSUrl : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Contacts.CNContact : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] MapKit.MKMapItem : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIColor : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIImage : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] iOSApiSelectorTest.ApiSelectorTest.StaticMethods : 6 errors found in 2348 static selector validated: See also https://bugzilla.xamarin.com/show_bug.cgi?id=59308 * [iosurface] Add missing [TV] attributes (#2619) * [opengles] Enable the new API using IOSurface (#2618) The symbol only exists inside device libraries, not on simulator, and the introspection tests were updated to ignore it. Part of https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [avfoundation][watchos] Enable AudioBufferList (fix #59145) + audit (xtro) (#2617) 1. AudioBufferList is part of CoreAudio (wrong namespace, which needs a few changes in the generator) and now available in watchOS 4 https://bugzilla.xamarin.com/show_bug.cgi?id=59145 2. Also fixes xtro found issues: !missing-type! AVAudioRecorder not bound !missing-selector! AVAudioRecorder::averagePowerForChannel: not bound !missing-selector! AVAudioRecorder::channelAssignments not bound !missing-selector! AVAudioRecorder::currentTime not bound !missing-selector! AVAudioRecorder::delegate not bound !missing-selector! AVAudioRecorder::deviceCurrentTime not bound !missing-selector! AVAudioRecorder::format not bound !missing-selector! AVAudioRecorder::initWithURL:format:error: not bound !missing-selector! AVAudioRecorder::initWithURL:settings:error: not bound !missing-selector! AVAudioRecorder::isMeteringEnabled not bound !missing-selector! AVAudioRecorder::isRecording not bound !missing-selector! AVAudioRecorder::peakPowerForChannel: not bound !missing-selector! AVAudioRecorder::recordAtTime: not bound !missing-selector! AVAudioRecorder::recordAtTime:forDuration: not bound !missing-selector! AVAudioRecorder::recordForDuration: not bound !missing-selector! AVAudioRecorder::setChannelAssignments: not bound !missing-selector! AVAudioRecorder::setDelegate: not bound !missing-selector! AVAudioRecorder::setMeteringEnabled: not bound !missing-selector! AVAudioRecorder::settings not bound !missing-selector! AVAudioRecorder::url not bound !missing-protocol! AVAudioRecorderDelegate not bound !missing-selector! AVAudioEngine::inputNode not bound !missing-selector! AVAudioEngine::manualRenderingBlock not bound !missing-selector! AVAudioInputNode::setManualRenderingInputPCMFormat:inputBlock: not bound !missing-selector! AVAudioPlayer::format not bound !missing-selector! AVAudioSession::requestRecordPermission: not bound !unknown-field! AVFileType3GPP bound !unknown-field! AVFileType3GPP2 bound !unknown-field! AVFileTypeAC3 bound !unknown-field! AVFileTypeAIFC bound !unknown-field! AVFileTypeAIFF bound !unknown-field! AVFileTypeAMR bound !unknown-field! AVFileTypeAVCI bound !unknown-field! AVFileTypeAppleM4A bound !unknown-field! AVFileTypeAppleM4V bound !unknown-field! AVFileTypeCoreAudioFormat bound !unknown-field! AVFileTypeDNG bound !unknown-field! AVFileTypeEnhancedAC3 bound !unknown-field! AVFileTypeHEIC bound !unknown-field! AVFileTypeHEIF bound !unknown-field! AVFileTypeJPEG bound !unknown-field! AVFileTypeMPEG4 bound !unknown-field! AVFileTypeMPEGLayer3 bound !unknown-field! AVFileTypeQuickTimeMovie bound !unknown-field! AVFileTypeSunAU bound !unknown-field! AVFileTypeTIFF bound !unknown-field! AVFileTypeWAVE bound * [Metal] Implement API using IOSurface now that IOSurface is implemented. Partially fixes #58054. (#2621) https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [PdfKit] Improve PdfAnnotation.QuadrilateralPoints binding by making it strongly typed. (#2620) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). (#2622) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). * [ARKit/Vision] Use the new simd vector types instead of the OpenTK versions. * [ModelIO] Use the new simd vectors in new API (MDLVoxelIndexExtent2). This way we won't have to create a MDLVoxelIndexExtent3 in the future. * [SpriteKit] Use the new simd vectors in new API. * [metal] Audit (xtro) based fixes (#2623) !extra-protocol-member! unexpected selector MTLArgumentEncoder::newArgumentEncoderForBufferAtIndex: found !extra-protocol-member! unexpected selector MTLComputeCommandEncoder::dispatchThreads:threadsPerThreadgroup: found macos-only !missing-field! MTLDeviceRemovalRequestedNotification not bound !missing-field! MTLDeviceWasAddedNotification not bound !missing-field! MTLDeviceWasRemovedNotification not bound !missing-pinvoke! MTLCopyAllDevices is not bound * [CloudKit] Update bindings to beta 6. (#2615) * [FileProvider] Turn NSFileProviderItemIdentifier enum into a static class, fixes bug 59329 (#2634) https://bugzilla.xamarin.com/show_bug.cgi?id=59329 At the time of binding NSFileProviderItemIdentifier it wasn't clear how it was supposed to be used, I mean apple provides two keys which I thought were the only possible values hence binding it as an smart enum. Unfortunately this wasn't the case and the user can use those two values provided from the SDK or their own NSString Identifier. Swift provides a wrapper unfortunately we can't do the same due to NSFileProviderItemIdentifier is used in the NSFileProviderItem protocol and we currently do not support changing signatures on them. * [mtouch] Teach mtouch about the 'IOSurface' framework for tvOS. Fixes #59333. (#2630) https://bugzilla.xamarin.com/show_bug.cgi?id=59333 * Bump Touch.Unit to get fix for API breakage. (#2631) spouliot/Touch.Unit@8f1e19d [NUnitOutputTextWriter] Reintroduce previous constructor to make sure we don't break binary ABI. spouliot/Touch.Unit@00b0c0b [NUnitOutputTextWriter] Don't write invalid xml comments. spouliot/Touch.Unit@de9fe20 [TouchRunner] Restore the original code path when not wrapping NUnit xml output. * [IOSurface] Add missing availability attributes for tvOS. (#2629) * Bump versions for preview 9 (#2624) * [AVFoundation] Add missing interface AVRouteDetector. (#2637) * [tests] Update xtro to reduce list sizes (#2636) * Skip OpenTK duplicate declaration (we can't change them); * Fix rule name change for ARKit / simd; * Add missing default initializer on `init` to pending actions; * Add note for AVPersistableContentKeyRequest changes wrt tvOS; * [ReplayKit] Make RPBroadcastActivityViewController.LoadBroadcastActivityViewController async-capable. (#2639) * [xcode9] More SceneKit bindings (#2633) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 (#2644) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 https://bugzilla.xamarin.com/show_bug.cgi?id=59380 vector_float3 is 16 bytes, which means the binding is incorrect, because Vector3 is 12 bytes, and our code does not that difference into account. * Add tests * [DeviceCheck] Disable default ctor for DCDevice. (#2642) It doesn't seem to be useful according to the documentation, since it appears that the only way to get an instance is to use the static CurrentDevice property. * [audiounit] Audit (xtro) fixes for tvOS (#2635) Availability attributes in non-generated files don't hide symbols/code. reference: !unknown-pinvoke! AudioUnitExtensionCopyComponentList bound !unknown-pinvoke! AudioUnitExtensionSetComponentList bound * [tests] Make sure tvOS tests don't use the (unexisting) API * [tests] Add all test project variations to tests-mac.sln (#2579) * [xharness] Make sure generated mac projects have different project guids. * [introspection] Change the project guid so that it doesn't match the dontlink-mac project guid. * [tests] Add all test project variations to tests-mac.sln. * [xharness] Fix else condition. * [FileProvider] Adds missing NSFileProviderPage constants, fixes bug 59297. (#2646) https://bugzilla.xamarin.com/show_bug.cgi?id=59297 Adds NSFileProviderInitialPageSortedByName and NSFileProviderInitialPageSortedByDate NSData constants * [Xcode9] Remove NSFileProviderMessage and NSFileProviderMessageInterface (#2647) APIs were removed in beta 2 * [Foundation/UIKit] Provide LoadObject[s] methods that return the expected type in the callback. Fixes #59049. (#2638) The callback for these LoadObject[s] methods take an INSItemProviderReading parameter. This tells our runtime that we must provide an instance of a managed object that implements this interface (but nothing else), so we create a `NSItemProviderReadingWrapper` instance, which complies with the API (since the wrapper type implements the corresponding interface). Unfortunately these methods are supposed to return an instance of the passed- in type, so in order to comply with this soft (documentation-only) requirement, provide a wrapper method that creates instances of the right types. https://bugzilla.xamarin.com/show_bug.cgi?id=59049 * [arkit] Ignore deprecated selectors (#2645) * [FileProvider] Adds missing protocol and keys from audit (#2652) ``` !missing-protocol! NSFileProviderServiceSource not bound !missing-field! NSFileProviderErrorCollidingItemKey not bound !missing-field! NSFileProviderErrorNonExistentItemIdentifierKey not bound !missing-field! NSFileProviderFavoriteRankUnranked not bound ``` Also adds `NSXpcListenerEndpoint` to foundation, needed by `NSFileProviderServiceSource` protocol. * [tests][xtro] Workaround xtro runner dupe entry exception and update data files (#2654) * [AVFoundation] Rename field to match others. (#2657) * [homekit] Audit (xtro) fixes (#2653) - HMCharacteristicEvent conforms to NSMutableCopying on iOS11 which makes it 64 bits only (so adjust intro tests) - Ignore extra setters on HMMutablePresenceEvent, rdar 33883958 !missing-selector! HMMutablePresenceEvent::setPresenceEventType: not bound !missing-selector! HMMutablePresenceEvent::setPresenceUserType: not bound * [xtro] Add missing pinvoke to pending (#2662) - Bug 59422: [uikit] Missing UIContentSizeCategoryCompareToCategory & UIContentSizeCategoryIsAccessibilityCategory (https://bugzilla.xamarin.com/show_bug.cgi?id=59422) * Merge latest d15-3 fixes into xcode9 (#2660) * [msbuild] Re-added wildcard (*) expandsion for application-identifier in Entitlements.plist (#2186) Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=57119 * Bump mono (#2213) * Framework tests were still binding non-linked Simple class which errors now (#2216) (#2218) - Improve Makefile to rebuild when projects build with errors * Bump mono to get cecil fix for bug #56808. (#2222) https://bugzilla.xamarin.com/show_bug.cgi?id=56808 * [msbuild] Use @(ReferencePath) instead of @(ResolvedFiles) (#2188) (#2214) This allows things to work on both xbuild and msbuild. In xbuild, both lists are exactly the same and on msbuild, only @(ReferencePath) exists. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=55147 * NSActivityOptions.IdleDisplaySleepDisabled had wrong value (#2232) (#2239) This was due to an integer overflow. The original value was based on Int32 1 << 40 == 256 The correct value should be based on a UInt64. 1UL << 40 == 1099511627776 * [tests] Fix bug 57699 - [iOS]InternalsTest failure (Linkall) tests on device (#2243) Strip native debugging symbols should not be checked for debug builds * Bump mono to get fix for bug #57780. https://bugzilla.xamarin.com/show_bug.cgi?id=57780 * Update .gitmodules Change branch to d15-3 branch of mono * Bump maccore to get fix for bug #55064. https://bugzilla.xamarin.com/show_bug.cgi?id=55064 * [mono] Bump mono to get the head of cecil/mono-2017-04 and fix IsComObject #57919 Also fix #58789 [1], the typo in tools/mtouch/Tuning.cs showing in MT0000 errors instead MT2102. That's already in master and d15-4 mono bump includes: [2] commit 2a6502cee0df9de5198eafe7c8b5f6ac25106f34 (HEAD -> d15-3, origin/d15-3) Merge: 02457c20fcf 5e05cafc6f1 Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 10:04:06 2017 -0400 Merge pull request #5401 from marek-safar/com [Marshal.IsComObject] Make this predicate return false instead of thr… [3] commit 02457c20fcf57c0610e844d638eb1da82b5d1eb0 Merge: da80840ea55 73fd9a1b82e Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 09:59:06 2017 -0400 Merge pull request #5400 from spouliot/bump-cecil-58834-d15-3 [cecil] Bump to the head of the mono-2017-04 branch and pick the fix for bug #58834 References [1] https://bugzilla.xamarin.com/show_bug.cgi?id=58789 [2] https://bugzilla.xamarin.com/show_bug.cgi?id=57919 [3] https://bugzilla.xamarin.com/show_bug.cgi?id=58834 * [mtouch] Put 'mono_profiler_startup_log' in the symbol list. Fixes #58778. (#2501) We need the 'mono_profiler_startup_log' symbol when profiling is enabled, so make sure to add the symbol to the correct list of symbols we need. Previously we were passing `-u _mono_profiler_startup_log` to clang directly, which is fine, but not complete, since it does not write the symbol to the symbollist file (--symbollist=file), which means it wouldn't be preserved when the MSBuild tasks strip the executable. https://bugzilla.xamarin.com/show_bug.cgi?id=58778 * Bump versions for SR3 https://trello.com/c/EVze08ei * Bump mono to include HttpClientHandler fix #44027 https://trello.com/c/jYFXadH8/8-systemnethttp-close-request-stream-when-httpclienthandler https://bugzilla.xamarin.com/show_bug.cgi?id=44027 * [FileProvider] Add missing API and turn NSString to string (#2663) Turned NSString to string in order to match exisiting API. * [uikit] Add UIPasteConfigurationSupporting and UITextPasteConfigurationSupporting (#2649) - Fixes bug #59363: Missing UIPasteConfigurationSupporting, UITextPasteConfigurationSupporting, UITextDraggable and UITextDroppable on a couple of types (https://bugzilla.xamarin.com/show_bug.cgi?id=59363) * [uikit] Remove 129 types in UIPasteConfigurationSupporting case * [scenekit] Audit (xtro) fixes (#2648) This looks like an Apple breaking change (since `SCNAnimation` is new) but we now have: > typedef void (^SCNAnimationEventBlock)(id<SCNAnimation> animation, id animatedObject, BOOL playingBackward); bound as > delegate void SCNAnimationEventHandler (CAAnimation animation, NSObject animatedObject, bool playingBackward); and `CAAnimation` conforms to `SCNAnimation` but *only* the later is available on watchOS. The delegate is only updated (since it's new) on our watchOS profile. xtro references: (watchos) !unknown-protocol! SCNCameraControlConfiguration bound (tvos/watchos) !missing-selector! SCNAnimation::animationEvents not bound !missing-selector! SCNAnimation::setAnimationEvents: not bound !missing-selector! SCNConstraint::isEnabled not bound !missing-selector! SCNConstraint::setEnabled: not bound !missing-field! SCNSceneSourceConvertToYUpKey not bound !missing-field! SCNSceneSourceConvertUnitsToMetersKey not bound (ios/tvos) !missing-protocol-conformance! SCNNode should conform to UIFocusItem * Bump maccore post 15.3 merge (#2665) * Bump Xcode 9 to GM (#2667) * Force build (on wrench) * [avfoundation] Fix breaking changes (apidiff) (#2664) * [TVServices] Update to Xcode 9 GM (#2675) * [GameController] Update to Xcode 9 GM (#2673) * [LocalAuthentication] Update to Xcode 9 GM (#2671) * [LocalAuthentication] Update to Xcode 9 GM * Remove availability from BiometryNotAvailable, BiometryNotEnrolled and BiometryLockout * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer (#2659) * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer Some of the new added types were already present BUT under a #if MONOMAC, they had to be moved. * [AVFoundation] Set the wrongly added API to be obsolete and ensure it returns logical values. (#2650) * [xtro] The right platform for macOS is 'macos', not 'osx'. (#2677) The platform name is used to filter availability attributes, and if we use the wrong platform, we'll incorrectly skip all availability attributes. The net result in unclassified entries: https://gist.github.com/rolfbjarne/a4474bc2a40c49a85cad495b51bb514f * Various Xcode 9 API improvements and also fixes bug 59433 (#2676) https://bugzilla.xamarin.com/show_bug.cgi?id=59433 While fixing bug 59433 I noticed some additional issues outlined below: AVDepthData: * Renamed **non** static `Create` methods because `Create` only makes sense with the **Static** method in this context. Also by renaming the methods we are now closer to the names that swift uses. * Kept descriptive method names in favor of self-documenting code. `Convert`, `Apply` and `Replace` do not fully give us the intent of the method. * Added a convenience `Create` static method that takes a `CGImageAuxiliaryDataInfo`. * AvailableDepthDataTypes is now an array of `CVPixelFormatType` instead of a `NSNumber` array (The aactual fix for bug 59433). ImageIO: * Refactored `CGImageAuxiliaryDataInfo` to be a `StrongDictionary` in order to avoid most of the manual code and also to avoid reimplementing the `ToDictionary` method (which contained a subtle bug). * Adjusted code to reflect the above change. * Added missing `.ctor (IntPtr, bool)` to `CGImageMetadata` so the class is able to be created by our `Runtime.Get*`. * Simplified `CopyAuxiliaryDataInfo` method by using `CGImageAuxiliaryDataInfo` as a `DictionaryContainer`. Tests: * Added `xamarinmonkey.heic` which is an image that contains depth data needed to test above changes. * Adds `AVDepthDataTests` that touches most of the changes listed here. * Tweak the Simd-compatible matrices and vectors (#2668) * Rename them to be OpenTK.NMatrix# (instead of Simd.MatrixFloat#x#). * Remove the Vector2 and Vector4 variants, we'll use the OpenTK types instead (but we'll keep the NVector3 variant, since it's not identical to the OpenTK version). * Update the API to match their OpenTK counterparts better: * NMatrix2 and NMatrix3 have a 0-based R#C# scheme for their fields. * NMatrix4 has a 1-based M## scheme for its fields (i.e. no change). * [AVFoundation] Use Simd-matrix for API that needs it. (#2679) This also requires implementing the corresponding matrix (NMatrix4x3). Fixes this xtro issue: > !unknown-simd-type-in-signature! OpenTK.Matrix3 AVFoundation.AVCameraCalibrationData::get_GetIntrinsicMatrix(): the native signature has a simd type (matrix_float3x3), while the corresponding managed method is using an incorrect (non-simd) type. * [xtro] Fix checking availability on categories. (#2682) When checking for category availability, check if both the current declaration is a category, and if the current's declaration container is a category. Otherwise this scenario fails: * Category method is available. * Category does not have availability attributes. * Main class is unavailable. with this typical code sequence: ```csharp // don't process methods (or types) that are unavailable for the current platform if (!decl.IsAvailable () || !(decl.DeclContext as Decl).IsAvailable ()) return; ``` In which case we'd: * First check the method (`decl`): * It's available, so no further checks is done on the method. * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container's container is a category (it isn't, it's the namespace). and as such determine that the method is available. With this change, the second step will become: * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container is a category (it is), and if its main class is available (it isn't). and as such determine that the method is unavailable. * Check for attributes on the method's container (no attributes, so we continue). * Check if the method's Unclassified diff: https://gist.github.com/rolfbjarne/8fa80962596978a426eadf9b7ba39dc1 * [uikit] Update for Xcode 9 GM (#2670) * [AVFoundation] Implement AVCapturePhoto. Partially fixes #59388. (#2678) Fixes: > common.unclassified:!missing-type! AVCapturePhoto not bound https://bugzilla.xamarin.com/show_bug.cgi?id=59388 * Use strong dictionaries for AVCapturePhoto.Metadata and AVCapturePhoto.EmbeddedThumbnailPhotoFormat. * [SIMD] Implement Simd double types (VectorDouble3/MatrixDouble4x4). (#2632) The following types will be used by ModelIO bindings * Fix delta to be double * Rename Simd-compatible matrices and vectors to match our final naming. This also means removing the new Vector2 and Vector4 variants (but not Vector3). * [avfoundation] Remove AVAssetDownloadDelegate.DidLoadTimeRange since it was removed in one of the betas (#2687) * [foundation] Move NSUrlSessionMultipathServiceType to a file processed by the generator (for the availability attributes) (#2688) * [arkit] Update for Xcode 9 GM (#2681) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes (#2690) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes Type Changed: Intents.INCarSeatResolutionResult Removed methods: public static INCarSeatResolutionResult GetConfirmationRequired (INCarSeat valueToConfirm); public static INCarSeatResolutionResult GetSuccess (INCarSeat resolvedValue); * [avfoundation] Add missing protocol members and deprecations (#2691) !missing-protocol-member! AVCapturePhotoCaptureDelegate::captureOutput:didFinishProcessingPhoto:error: not found and the selector removed from PR#2687 was actually replaced with this one !missing-protocol-member! AVAssetDownloadDelegate::URLSession:aggregateAssetDownloadTask:didLoadTimeRange:totalTimeRangesLoaded:timeRangeExpectedToLoad:forMediaSelection: not found * [tests][xtro] Map some enums, more fix with protocols and update entries (#2692) * [Tests] Reenable dns tests on the watch. (#2674) * [arkit] Add ARBlendShapeLocationOptions strong dictionary (#2696) * [coreimage] Skip not yet bound filters added in Xcode9 (#2698) Tracked in https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * [Metal] Renamed MTLArgumentDescriptor.ArgumentDescriptor to Create, fixes bug 59498 (#2702) https://bugzilla.xamarin.com/show_bug.cgi?id=59498 From [argumentDescriptor docs](https://developer.apple.com/documentation/metal/mtlargumentdescriptor/2915746-argumentdescriptor?language=objc) > Creates an empty argument descriptor. * [msbuild] Always codesign app bundles if the codesign key is non-null (#2697) ...even if it is a simulator build. Turns out that starting with Xcode9, sim builds need to be codesigned for App Groups entitlements to work properly. Interestingly, the DetectSigningIdentity logic had a comment about needing to codesign simulator builds for some entitlements to work already starting with Xcode 8 but apparently the iOS targets did not respect this. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=59379 * [Foundation] Add NSProxy stub in order to workaround bug 59247 (#2693) https://bugzilla.xamarin.com/show_bug.cgi?id=59247 We need to have a better solution that removes all what NSProxy does not responds to. Right now this works because NSObject implements NSObject protocol just like NSProxy, but NSProxy responds to far less selectors hence doing it internal so it is not a breaking change when we provide the correct fix. * Keep NSProxy around and avoid XML linker description We need to keep NSProxy (avoid linking it) if WKNavigationDelegate or IWKNavigationDelegate is used. We know WKWebView will be there and can hold a reference to it. * [Xcode 9] Update Metal for GM (#2689) * [iosurface] IOSurface is not usable before iOS/tvOS 11. Fixes #59201 (#2706) Apple rejects apps that links with the previously private IOSurface.framework. We were not sure about this [1] and had it disabled (this is removed). However another bug stopped our adjustment logic [2] from being executed. This is needed since `clang` picks up the private framework if it does not find the public one (even when asking for a weak framework), [1] https://bugzilla.xamarin.com/show_bug.cgi?id=59201 [2] Added a while ago for JavascriptCore * Bump maccore to point to commit with the docs fix. (#2703) * Bump XI to 11.0.x (and XM to 3.99.9.x) (#2684) * fix typo
2017-09-16 00:53:16 +03:00
[Deprecated (PlatformName.MacOSX, 10, 13, message: "Use 'FStop' instead with FStop = SensorHeight / Aperture.")]
[Deprecated (PlatformName.iOS, 11, 0, message: "Use 'FStop' instead with FStop = SensorHeight / Aperture.")]
[Deprecated (PlatformName.TvOS, 11, 0, message: "Use 'FStop' instead with FStop = SensorHeight / Aperture.")]
[Deprecated (PlatformName.WatchOS, 4, 0, message: "Use 'FStop' instead with FStop = SensorHeight / Aperture.")]
2016-04-21 15:30:02 +03:00
[iOS (8,0)][Mac (10,9)]
[Export ("aperture")]
nfloat Aperture { get; set; }
[TV (10, 0), Mac (10, 12), iOS (10, 0)]
[Export ("motionBlurIntensity")]
nfloat MotionBlurIntensity { get; set; }
[TV (10, 0), Mac (10, 12), iOS (10, 0)]
[Export ("wantsHDR")]
bool WantsHdr { get; set; }
[TV (10, 0), Mac (10, 12), iOS (10, 0)]
[Export ("exposureOffset")]
nfloat ExposureOffset { get; set; }
[TV (10, 0), Mac (10, 12), iOS (10, 0)]
[Export ("averageGray")]
nfloat AverageGray { get; set; }
[TV (10, 0), Mac (10, 12), iOS (10, 0)]
[Export ("whitePoint")]
nfloat WhitePoint { get; set; }
[TV (10, 0), Mac (10, 12), iOS (10, 0)]
[Export ("wantsExposureAdaptation")]
bool WantsExposureAdaptation { get; set; }
[TV (10, 0), Mac (10, 12), iOS (10, 0)]
[Export ("exposureAdaptationBrighteningSpeedFactor")]
nfloat ExposureAdaptationBrighteningSpeedFactor { get; set; }
[TV (10, 0), Mac (10, 12), iOS (10, 0)]
[Export ("exposureAdaptationDarkeningSpeedFactor")]
nfloat ExposureAdaptationDarkeningSpeedFactor { get; set; }
[TV (10, 0), Mac (10, 12), iOS (10, 0)]
[Export ("minimumExposure")]
nfloat MinimumExposure { get; set; }
[TV (10, 0), Mac (10, 12), iOS (10, 0)]
[Export ("maximumExposure")]
nfloat MaximumExposure { get; set; }
[TV (10, 0), Mac (10, 12), iOS (10, 0)]
[Export ("bloomThreshold")]
nfloat BloomThreshold { get; set; }
[TV (10, 0), Mac (10, 12), iOS (10, 0)]
[Export ("bloomIntensity")]
nfloat BloomIntensity { get; set; }
[TV (10, 0), Mac (10, 12), iOS (10, 0)]
[Export ("bloomBlurRadius")]
nfloat BloomBlurRadius { get; set; }
[TV (10, 0), Mac (10, 12), iOS (10, 0)]
[Export ("vignettingPower")]
nfloat VignettingPower { get; set; }
[TV (10, 0), Mac (10, 12), iOS (10, 0)]
[Export ("vignettingIntensity")]
nfloat VignettingIntensity { get; set; }
[TV (10, 0), Mac (10, 12), iOS (10, 0)]
[Export ("colorFringeStrength")]
nfloat ColorFringeStrength { get; set; }
[TV (10, 0), Mac (10, 12), iOS (10, 0)]
[Export ("colorFringeIntensity")]
nfloat ColorFringeIntensity { get; set; }
[TV (10, 0), Mac (10, 12), iOS (10, 0)]
[Export ("saturation")]
nfloat Saturation { get; set; }
[TV (10, 0), Mac (10, 12), iOS (10, 0)]
[Export ("contrast")]
nfloat Contrast { get; set; }
[TV (10, 0), Mac (10, 12), iOS (10, 0)]
[Export ("colorGrading")]
SCNMaterialProperty ColorGrading { get; }
2016-04-21 15:30:02 +03:00
[iOS (8,0)][Mac (10,10)]
[Export ("categoryBitMask")]
nuint CategoryBitMask { get; set; }
#if XAMCORE_2_0
[NoWatch]
2016-04-21 15:30:02 +03:00
[iOS (9,0), Mac(10,11)]
[Static]
[Export ("cameraWithMDLCamera:")]
SCNCamera FromModelCamera (MDLCamera modelCamera);
Merge xcode9 into d15-4[-xi] (#2710) * [FileProvider] Add Xcode 9 Beta 1, 2 & 3 Bindings (#2279) * [FileProvider] Add Xcode 9 Beta 1 Bindings * Better naming * Feedback not related to BindAs * [FileProvider] Removes BindAs, add manual code for it and updated to Beta 3 * [FileProvider] Implement feedback * [CoreSpotlight] Updated spotlight bindings for xcode 9 beta 3. (#2193) Updated spotlight bindings for xcode 9 beta 3. * Fix warning caused by duplicate (#2354) * [FileProviderUI] Add Xcode 9 Beta 1 to 3 bindings (#2356) * Bump to Xcode 9 beta 4 * [arkit] ARLightEstimate does not conform to NSCopying anymore (fix unit test) * [uikit] NSFileProviderExtension.ReparentItem got a new parameter in beta4 (fix unit test) * [coreimage] CIImageAccumulator init returns nil in beta 4 There's no header change to mention `init` is not allowed but it's not clear how this default initializer could be used. Also make public some other API to construct this type (outside of XM). It's not clear why there were `internal` as they are (at least now) part of the header files. * [photos] Add helpers when PHLivePhotoEditingOption/NSDictionary is null (to avoid ambiguous API) (#2360) Adding a strongly typed `PHLivePhotoEditingOption` (a strongly typed version of an `NSDictionary`) can cause a `CS0121` (call is ambiguous) since using a `null` argument is common (only one option exist so far). This PR adds overloads that makes the code nicer in such case, e.g. before Xcode9: > // null is used when no options are given > _foo.SaveLivePhoto (output, null, completion); current (Xcode 9) > // casting required to remove ambiguity with PHLivePhotoEditingOption > _foo.SaveLivePhoto (output, (NSDictionary)null, completion); with this PR > // no option, no argument > _foo.SaveLivePhoto (output, completion); The same applies to `PrepareLivePhotoForPlayback`. * [tests] Disable/tweak two tests that breaks on (almost) all Xcode updates Those tests were not added to validate xOS so just keep the parts that helps us (without constantly checking back the new break flavor) * Disable watchOS to check if this hides others issues * [mapkit] Update for beta 4 * [coredata] Update for beta 4 * [wkwebkit] Update for beta 4 Note: WKWindowFeatures.h is not compiled (part of the framework umbrella) and the `@interface WKWindowFeatures (WKPrivate)` sounds like it should not have been exposed (it's all fields starting with `_`) * [corelocation] Update for beta 4 * Revert "Disable watchOS to check if this hides others issues" This reverts commit fed2249fa43290a1956ab2fe0d48f83ab6db9711. * [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]: https://github.com/xamarin/xamarin-macios/blob/f5956d6cc1eb5dfa7bab16628cf282d40237f64e/src/generator.cs#L5985 * [FinderSync] Update to beta 4 (#2377) * [ImageIO] Update to Xcode 9 (#2353) * [PhotosUI] Move macOS photosui bindings out of photos.cs into photosui.cs (#2358) * [quicklook] Update up to beta 4 (#2374) * [uikit] UIDragInteraction & UIDragInteractionDelegate (Xcode 9 b1,2,3) (#2357) * [safariservices] Update up to beta 4 (#2380) * [coreanimation] Update to beta 4 (#2382) Apple removed (mistake?) some API in beta 1. Filed as rdar 33590997 Internal tracking in https://trello.com/c/J8BDDUV9/86-33590997-coreanimation-quartzcore-api-removals * [storekit] Update up to beta 4 (#2379) * [CoreML] Update to Xcode 9 Beta 4 (#2387) * [uikit] UICollectionView/UITableView Drag & Drop (Xcode 9 b1,2,3 & 4) (#2355) * Update code after radar 32929318 and 32897776 are fixed in b4 (#2394) * [xcode9 CoreAudio] New definitions from Beta1 to Beta3 (#2359) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 (#2397) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 https://bugzilla.xamarin.com/show_bug.cgi?id=58512 Created strong API (VNBarcodeSymbology) on the following properties * VNDetectBarcodesRequest.SupportedSymbologies * VNDetectBarcodesRequest.Symbologies * VNBarcodeObservation.Symbology * Remove modern C# because classic can't do it 😡 * [mediaplayer] Update up to beta 4 (#2388) * [watchkit] Update to beta 4 (#2398) * Bump Visual Studio for Mac max version (#2408) * [coreimage] Add CIBarcodeDescriptor and enabled missing API for VNBarcodeObservation. Fix #58197 (#2411) https://bugzilla.xamarin.com/show_bug.cgi?id=58197 * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 (#2407) * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 * [uikit] Fixes based on comments * [coreimage] CIImageAccumulator API fixes. Fix #58349 (#2412) * Obsolete the default `init`; * XM exposed some older APIs using `int` instead of `CIFormat`. This is fixed and old APIs are obsoleted; * Both new & old APIs are now using `CIFormat` for both XI and XM. https://bugzilla.xamarin.com/show_bug.cgi?id=58349 * [uikit] UIText drag & drop - up to Xcode 9 beta 4 (#2410) * [uikit] UISplitView & UIStackView up to Xcode 9 beta 4 (#2425) * Bump XI/XM versions before preview 4 (#2422) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 (#2378) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 * [PDFKit] Implement feedback * [PDFKit] the forgotten enum * [PDFKit] More feedback * [PDFKit] Add Mac changes * Missing change * Fix test RectangleF VS CGRect * Pass -Wunguarded-availability-new to quiet a new clang warning (#2424) - https://bugzilla.xamarin.com/show_bug.cgi?id=58574 * [mtouch/mmp] Ignore warnings about unguarded code section with regards to availability. (#2441) * [monotouch-test] Remove workaround for fixed Apple bug. (#2445) * Bump to Xcode 9 beta 5. (#2447) * Bump to Xcode 9 beta 5. * [mmp] Disable the partial static registrar, because Apple's macOS SDK is broken. > In file included from Xamarin.Mac.registrar.mobile.i386.m:1: > In file included from ./Xamarin.Mac.registrar.mobile.i386.h:11: > /Applications/Xcode9-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVFoundation.h:88:9: fatal error: 'AVFoundation/AVRouteDetector.h' file not found https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [mmp] Fix partial static registrar removal. * [CallKit] Update to Xcode 9 beta 5. * [ARKit] ARPointCloud doesn't conform to NSCopying anymore in Xcode 9 beta 5. * [ARKit] Update to Xcode 9 beta 5 enough to make tests happy. * [CoreImage] Stub out new filters in Xcode 9 beta 5. * [tests][monotouch] Simplify some MDLMesh asserts since values change a lot between OS versions. * [mmp] Default to the dynamic registrar for release builds again, due to bug #58629. https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [tests][introspection] CXCall started implementing NSCopying without saying so in the headers. * Disable mmp static registrar tests due to 58629 for now * [quicklook] Update to beta 5 (#2450) * [photos] Update for beta 5 (#2452) Also update some existing enum members were added in beta 1 on macOS * [safariservices] Update for beta 5 (#2455) * [mediaplayer] Update to beta 5 (#2456) * [CoreLocation] Update Xcode 9 Beta 5 (#2453) * [CoreML] Update to Xcode 9 Beta 5 (#2454) * [Contacts] Update to Xcode 9 Beta 5 (#2451) * [Vision] Update to Xcode 9 Beta 5 (#2458) * [builds] Tell LLVM to stay away from newer macOS functions. (#2459) Fixes this build problem on Sierra: > ld: weak import of symbol '_futimens' not supported because of option: -no_weak_imports for architecture x86_64 This is a symbol that was (will be?) introduced in High Sierra. Interestingly this only occurs if the Xcode 8.X Command Line Tools haven't been manually installed. Because if the Xcode 8.X Command Line Tools are installed, this happens: 1. llvm's configure script detects that 'futimens' is not usable. 2. llvm's configure script detects that 'futimens' is not usable, because xcrun sets SDKROOT=/ when calling clang. a. When the SDKROOT variable is set, clang passes '-syslibroot /usr/lib' to ld. b. When ld gets '-syslibroot /usr/lib', ld looks in '/usr/lib' for a library that contains 'futimens' in the OS itself, and since we're on Sierra, that fails to link. c. So when llvm's configure script creates a test program that checks if 'futimens' is present, the program fails. This is correct, and makes llvm *not* use futimens. 3. xcrun sets SDKROOT=/ because /usr/share/current-os.sdk/Info.plist exists. If that file does not exist, then xcrun sets SDKROOT to Xcode9's macOS SDK (because that's what xcode-select reports). a. When SDKROOT is set to Xcode9's macOS SDK, the configure check for 'futimens' succeeds, because the macOS 10.13 SDK contains that function. b. llvm happily uses 'futimens', and then the final link fails because we're using a symbol not available on all target platforms. * [arkit] Update for Xcode 9 beta 5 - Part 1 (#2460) * [tests] The container app for watchOS tests should be 64-bit. (#2463) * [xharness] watchOS tests need to run in a clean environment. Works around #58348. (#2462) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [xharness] It watchOS tests don't need to be clean anymore. Fixes #58348. (#2473) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [uikit] UIView/UIScrollView/UIViewController up to Xcode 9 beta 5 (#2431) - Add NSDirectionalEdgeInsets type. - Includes DirectionalEdgeInsetsTest. * [AudioToolbox] Update bindings to Xcode 9 beta3 (not later changes). (#2294) * [xharness] Add a file existence check. (#2478) Fixes this exception: ``` Harness exception for 'introspection': System.IO.FileNotFoundException: Could not find file '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log'. File name: '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log' at System.IO.__Error.WinIOError (System.Int32 errorCode, System.String maybeFullPath) [0x00207] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/__error.cs:188 at System.IO.FileInfo.get_Length () [0x00038] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/fileinfo.cs:171 at xharness.CaptureLog.StopCapture () [0x00021] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Log.cs:252 at (wrapper remoting-invoke-with-check) xharness.CaptureLog:StopCapture () at xharness.AppRunner+<RunAsync>d__68.MoveNext () [0x0127f] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/AppRunner.cs:642 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter`1[TResult].GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:357 at xharness.RunSimulatorTask+<RunTestAsync>d__7.MoveNext () [0x0029d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2894 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.RunTestTask+<ExecuteAsync>d__8.MoveNext () [0x0010b] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2538 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.TestTask+<RunInternalAsync>d__87.MoveNext () [0x0010d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:1870 ``` I'm not sure how this can happen, but it has on the bots [1]. [1] https://jenkins.mono-project.com/job/xamarin-macios-pr-builder/4548/Test_Report/ * Bump versions for preview 5 (#2479) * [passkit] Update to beta 5 (#2481) * [tests] Remove workaround for radar #32688391. (#2486) * [replaykit] Update up to beta 5 (#2484) * Bump maccore to get fix for bug #55064. (#2487) * [apidiff] Update definition to new 10.12 (d15-3) stable release (#2490) * [SceneKit] basic work (#2483) * [coredata] Update to beta 5 (#2488) * [homekit] Update for Xcode 9 beta 5 (#2492) * [Foundation] Update for xcode9 (#2468) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 (#2493) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 * [Intents] Implement feedback * [Intents] Add a generic version for INInteraction.GetParameterValue * [Intents] Missing check * [Contacts] Add missing foundation NSItemProviderWriting protocol to CNContact (#2496) https://bugzilla.xamarin.com/show_bug.cgi?id=58203 This is available on all Contacts supported platforms ``` ./iPhoneOS.platform/Developer/SDKs/iPhoneOS11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchOS.platform/Developer/SDKs/WatchOS4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchSimulator.platform/Developer/SDKs/WatchSimulator4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ``` * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) (#2497) * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) * [IntentsUI] Better use a delegate instead so we have named params * Bump versions before 6th preview (#2514) * [arkit] Add missing MarshalDirective to ARPlaneAnchor (#2517) - Fixes bug #58648: ARPlaneAnchor.Extent property seems incorrect but changes to correct value after Debug access (https://bugzilla.xamarin.com/show_bug.cgi?id=58648) * [xtro-sharpie] Fix a compiler warning. (#2516) Fixes these warnings: Runner.cs(197,5): warning CS0642: Possible mistaken empty statement Runner.cs(199,5): warning CS0642: Possible mistaken empty statement Runner.cs(201,5): warning CS0642: Possible mistaken empty statement Runner.cs(203,5): warning CS0642: Possible mistaken empty statement Runner.cs(205,5): warning CS0642: Possible mistaken empty statement * [uikit] Update for Xcode 9 beta 5 - Part 3 (#2511) - UIKeyCommand - UINavigationBar - UINavigationItem - UIPasteboard - UITableViewHeaderFooterView * [xtro-sharpie] Remove xtro-plugin and misc other fixes. (#2522) * [xtro-sharpie] Build with msbuild and be as quiet as requested when building. * [xtro-sharpie] Must run as a 64-bit process, since the required native libraries are 64-bit. * [xtro-sharpie] Add run configurations to the project file to ease debugging in the IDE. * [xtro-sharpie] Remove xtro-plugin and the related commands. This was needed when there wasn't a 64-bit mono, in order to run xtro-sharpie in a 64-bit process. Now there is a 64-bit mono, so it's not needed anymore. Also improve makefile targets a bit, to auto-build stuff when needed, by setting the right dependencies. * Bump Xcode 9 to beta 6 (#2519) Disable watchOS tests again It seems like the Carousel crash from beta 4 is back to haunt us. This was working fine with beta 5. * Backport d15-3 SR2 fixes (#2515) * [coredata] Update to beta 6 (#2528) This seems to only revert some nullability changes from beta 5. * [coreml] Update to beta 6 (#2531) Fix our rdar 33643011 where additional setters were added in the headers but did not exists. * [videosubscriberaccount] Update to beta 6 (#2533) Only b1 and b2 introduced some additions/changes * [uikit] Update for Xcode 9 beta 6 - Part 4 (#2527) The following headers are now up to date: - UICollectionViewFlowLayout.h - UIDocumentPickerViewController.h - UIFontDescriptor.h - UIImage.h - UIImageView.h - UIImagePickerController.h * [xharness] Re-enable the watchOS tests. (#2534) It works fine for me locally, so let's see what Jenkins says. * [macos] Add new APIs in CoreWlan from Xcode9b3 (#2525) * Update AppKit bindings based on radar 33271241 results (#2518) * Update AppKit bindings based on radar 33271241 results - The header comment was updated to note it was NSSliderTouchBarItem view that has the protocol * Remove NSUserInterfaceCompression where not listed in header * [vision] Update to beta 6 (#2532) Removal of some deprecated (during beta) `init*` selectors. Also sync the versions that were inlined in subclasses - the old ones were not removed and the new ones were not added. * [xtro-sharpie] Many methods don't have selectors in Clang's API, so default to the name if no selector. (#2523) This makes a few more unclassified entries show up (mostly missing designated initializers): https://gist.github.com/rolfbjarne/07aa20f9b50b75bf3e69ac6a825e873a * [macos] Add ExternalAccessory APIs from xcode9 (#2526) * [58851] Disable NSMenuView in AllItemsWithNSMenuShouldAllowNull (#2504) * [arkit] Update for Xcode 9 beta 5 - Part 2 (#2505) - Add last missing selector. - Add tests for manual code. * [monotouch-test] Disable FontDescriptorTest.WithFeature (#2537) Disabled because it looks like the tvOS font we use: "Gujarati Sangam MN" does not have rare ligatures anymore (and the entire test is based on it). Before getting an actual fix for that, let's disable the test so it doesn't break all current builds. See: https://bugzilla.xamarin.com/show_bug.cgi?id=58929 * [xtro-sharpie] Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute. (#2524) Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute to calculate the native name for a TypeDefinition. Unclassified changes: https://gist.github.com/rolfbjarne/828f8ee41eebb0a3b60a38d71822fe59 * [foundation/uikit] Inline NSItemProvider_UIKitAdditions in NSItemProvider (#2538) As suggested here: https://github.com/xamarin/xamarin-macios/pull/2527#discussion_r134670981 * [intents] Fix breaking changes (api-diff) (#2543) Additions of @required members inside `INSpeakable` cannot be `[Abstract]` * [contacts] Fix breaking change (api-diff) (#2542) Type Changed: Contacts.CNPostalAddress Removed method: public static string LocalizeProperty (CNPostalAddressKeyOption option); * [macos] Reenable static registrar since Xcode9b6 un-broke SDK headers (#2544) - Fix a subtle spacing issues in PartialStaticLibrary property * [corebluetooth] Update up to beta 6 and enable it on watchOS (#2540) macOS 10.13 has finally catch up with iOS and this simplifies the bindings a bit. * [foundation] API fixes (apidiff) (#2545) 1. Let's not add new, already [Obsolete] API Type Changed: Foundation.NSDimension Added constructors: [Obsolete ("Not intended to be directly instantiated, this is an abstract class.")] public NSDimension (); 2. Fix inconsistently named API, e.g. Type Changed: Foundation.NSAttributedString Added properties: public static string[] ReadableTypeIdentifiersForItemProvider { get; } public static string[] WritableTypeIdentifiers { get; } * [pdfkit] Do not add already [Obsolete] API in new profiles (#2547) and ensure using the newer, correct API works cross-platforms iOS (before) [Obsolete ("Use 'Find (string, NSStringCompareOptions)' instead.")] public virtual PdfSelection[] Find (string text, nint options); public PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'Find (string, PdfSelection, NSStringCompareOptions)' instead.")] public virtual PdfSelection Find (string text, PdfSelection selection, nint options); public void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string, NSStringCompareOptions)' instead.")] public virtual void FindAsync (string text, nint options); public void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string [], NSStringCompareOptions)' instead.")] public virtual void FindAsync (string[] text, nint options); iOS (after) public virtual PdfSelection[] Find (string text, Foundation.NSStringCompareOptions compareOptions); public virtual PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); * Bump versions for the 7th preview (#2541) * Remove additions of AVKit removed in beta5 (#2536) * NSUrlSessionTask should implement NSProgressReporting for iOS (#2548) NSUrlSessionTask implements NSProgressReporting on iOS as well as Mac, so the #if MONOMAC isn't needed. * Add missing availability attributes causing failures on older iOS versions (#2550) * [vision] Minor fix wrt xtro (#2551) including some things we need to ignore manually !missing-field! VNVisionVersionNumber not bound !missing-pinvoke! VNImagePointForFaceLandmarkPoint is not bound !missing-pinvoke! VNNormalizedFaceBoundingBoxPointForLandmarkPoint is not bound * [uikit] NSFileProviderMessaging was removed in beta 2. Fixes #58222 (#2552) reference: https://bugzilla.xamarin.com/show_bug.cgi?id=58222 * [uikit] Update for Xcode 9 - Part 5 (#2546) Bindings for the following headers: - UIActivity.h - UIActivityItemProvider.h - UIAlertController.h - UIApplication.h - UIBarButtonItem.h - UIButton.h - UICollectionViewLayout.h - UIColor.h - UIControl.h - UIDocumentMenuViewController.h - UIFontMetrics.h - UIGestureRecognizer.h - UIGraphicsImageRenderer.h - UIInputViewController.h * [CoreText] Fix an extraneous free in CTFont.GetDefaultCascadeList. (#2555) We do not own the return value from CFArrayGetValueAtIndex, so don't say we do when creating CTFontDescriptor instances, since that leads to angry dragons: 2017-08-28 20:15:20.293 monotouchtest[33186:2311738] A_FontTest 2017-08-28 20:15:20.294 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithFontDescriptorAndOptions 2017-08-28 20:15:20.295 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithNameAndOptions 2017-08-28 20:15:20.296 monotouchtest[33186:2311738] critical: Stacktrace: at <unknown> <0xffffffff> at (wrapper managed-to-native) CoreText.CTFont.CTFontCopyDefaultCascadeListForLanguages (intptr,intptr) [0x0000a] in <ae65a2b1eea242d2b68fe784749543bf>:0 at CoreText.CTFont.GetDefaultCascadeList (string[]) [0x00013] in /work/maccore/xcode9/xamarin-macios/src/CoreText/CTFont.cs:2185 at MonoTouchFixtures.CoreText.A_FontTest.GetCascadeList () [0x0001e] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/CoreText/FontTest.cs:78 at (wrapper runtime-invoke) object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) [0x0004f] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) System.Reflection.MonoMethod.InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&) [0x00016] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at System.Reflection.MonoMethod.Invoke (object,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo) [0x00032] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/corlib/System.Reflection/MonoMethod.cs:305 at System.Reflection.MethodBase.Invoke (object,object[]) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/referencesource/mscorlib/system/reflection/methodbase.cs:229 at NUnit.Framework.Internal.Reflect.InvokeMethod (System.Reflection.MethodInfo,object,object[]) [0x00009] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Reflect.cs:215 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunNonAsyncTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x00025] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:116 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x0001a] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:90 at NUnit.Framework.Internal.Commands.TestMethodCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:66 at NUnit.Framework.Internal.Commands.SetUpTearDownCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00007] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/SetUpTearDownCommand.cs:84 at NUnit.Framework.Internal.WorkItems.SimpleWorkItem.PerformWork () [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/SimpleWorkItem.cs:64 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at MonoTouch.NUnit.UI.BaseTouchRunner.Run (NUnit.Framework.Internal.Test) [0x0004d] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:442 at MonoTouch.NUnit.UI.BaseTouchRunner.Run () [0x00030] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:171 at MonoTouch.Dialog.StringElement.Selected (MonoTouch.Dialog.DialogViewController,UIKit.UITableView,Foundation.NSIndexPath) [0x00008] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/Elements.cs:765 at MonoTouch.Dialog.DialogViewController.Selected (Foundation.NSIndexPath) [0x00026] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:577 at MonoTouch.Dialog.DialogViewController/Source.RowSelected (UIKit.UITableView,Foundation.NSIndexPath) [0x00016] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:402 at (wrapper runtime-invoke) <Module>.runtime_invoke_void__this___object_object (object,intptr,intptr,intptr) [0x0005d] in <32f0c196c5bc4aa18daea2ee64a7814e>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) UIKit.UIApplication.UIApplicationMain (int,string[],intptr,intptr) [0x0005c] in <ae65a2b1eea242d2b68fe784749543bf>:0 at UIKit.UIApplication.Main (string[],intptr,intptr) [0x00005] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:79 at UIKit.UIApplication.Main (string[],string,string) [0x00038] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:63 at monotouchtest.Application.Main (string[]) [0x00011] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/Main.cs:27 at (wrapper runtime-invoke) <Module>.runtime_invoke_void_object (object,intptr,intptr,intptr) [0x00051] in <30a7f7e09de9467b8b454221034a0e38>:0 Native stacktrace: 0 monotouchtest 0x000000010fca03c4 mono_handle_native_crash + 244 1 monotouchtest 0x000000010fcadd30 mono_sigsegv_signal_handler + 288 2 libsystem_platform.dylib 0x000000011feb3b3a _sigtramp + 26 3 CoreFoundation 0x000000011de035a2 computeSanitizedString + 146 4 CoreText 0x00000001168df314 _ZN15TPurgeableCache19RetainedValueForKeyEPKv + 54 5 CoreText 0x00000001168def85 _ZNK17TDescriptorSource22CopyDescriptorUncachedEPK7__CFURLbPK10__CFString + 55 6 CoreText 0x00000001168df34f _ZNK17TDescriptorSource14CopyDescriptorEPK7__CFURLbPK10__CFString + 27 7 CoreText 0x00000001168e20ad _ZNK17TDescriptorSource35CopyFontDescriptorPerPostScriptNameEPK10__CFStringmm + 297 8 CoreText 0x00000001168dfd9e _ZNK17TDescriptorSource30CopySystemFontDescriptorByNameEPK10__CFString10UIFontFlag + 54 9 CoreText 0x00000001168e54c4 _ZNK14TFontFallbacks17CopyFontFallbacksEPK10__CFStringS2_PK9__CFArray + 652 10 CoreText 0x00000001168e4a00 _ZNK14TFontFallbacks29CopyFontFallbacksForLanguagesEPK10__CFStringPK9__CFArray + 122 11 CoreText 0x00000001168e4971 _ZN17TDescriptorSource39CopyDefaultSubstitutionListForLanguagesEPK10__CFStringPK9__CFArray + 61 12 CoreText 0x00000001169397a7 _ZNK9TBaseFont28CreateSystemDefaultFallbacksEPK10__CFStringPK9__CFArray + 51 13 CoreText 0x000000011693999c _ZNK9TBaseFont15CreateFallbacksE10UIFontFlagPPK16__CFCharacterSetPK9__CFArray + 346 14 CoreText 0x00000001168c1036 _ZNK5TFont24CreateDefaultCascadeListEPK9__CFArray + 242 15 CoreText 0x00000001168b8ff9 CTFontCopyDefaultCascadeListForLanguages + 97 16 ??? 0x0000000140eaefd3 0x0 + 5384105939 17 ??? 0x0000000140eae761 0x0 + 5384103777 18 ??? 0x000000013c9c8e74 0x0 + 5311860340 19 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 20 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 21 monotouchtest 0x000000010fd71bac mono_runtime_try_invoke_array + 1292 22 monotouchtest 0x000000010fd15587 ves_icall_InternalInvoke + 647 23 ??? 0x000000013e9fcd13 0x0 + 5345627411 24 ??? 0x000000013e9fc738 0x0 + 5345625912 25 ??? 0x000000013e9fded5 0x0 + 5345631957 26 ??? 0x000000013e9fbb76 0x0 + 5345622902 27 ??? 0x000000013e9e237e 0x0 + 5345518462 28 ??? 0x000000013e9e237e 0x0 + 5345518462 29 ??? 0x000000013e9e237e 0x0 + 5345518462 30 ??? 0x000000013e9e237e 0x0 + 5345518462 31 ??? 0x000000013e873006 0x0 + 5344014342 32 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 33 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 34 monotouchtest 0x000000010fd6e320 mono_runtime_invoke + 208 35 monotouchtest 0x000000010fe71af1 xamarin_invoke_trampoline + 5617 36 monotouchtest 0x000000010fe79ddd xamarin_arch_trampoline + 189 37 monotouchtest 0x000000010fe7b1a1 xamarin_x86_64_common_trampoline + 110 38 UIKit 0x0000000111b9876b -[UITableView _selectRowAtIndexPath:animated:scrollPosition:notifyDelegate:] + 1810 39 UIKit 0x0000000111b98986 -[UITableView _userSelectRowAtPendingSelectionIndexPath:] + 344 40 UIKit 0x0000000111a6b5c9 _runAfterCACommitDeferredBlocks + 318 41 UIKit 0x0000000111a59dad _cleanUpAfterCAFlushAndRunDeferredBlocks + 280 42 UIKit 0x0000000111a89f68 _afterCACommitHandler + 137 43 CoreFoundation 0x000000011de3ddb7 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23 44 CoreFoundation 0x000000011de3dd0e __CFRunLoopDoObservers + 430 45 CoreFoundation 0x000000011de22324 __CFRunLoopRun + 1572 46 CoreFoundation 0x000000011de21a89 CFRunLoopRunSpecific + 409 47 GraphicsServices 0x0000000121b7e9c6 GSEventRunModal + 62 48 UIKit 0x0000000111a5f7d0 UIApplicationMain + 159 49 ??? 0x000000013c9c4474 0x0 + 5311841396 50 ??? 0x000000013c9c40ad 0x0 + 5311840429 ================================================================= Got a SIGSEGV while executing native code. This usually indicates a fatal error in the mono runtime or one of the native libraries used by your application. ================================================================= * [monotouch-test] Don't subclass MKMapView. (#2556) MKMapView doesn't like being subclassed (Apple says "you should not subclass the MKMapView class itself"). Bad things like this starts happening: Thread 0 name: tid_303 Dispatch queue: com.apple.main-thread Thread 0 Crashed: 0 libsystem_kernel.dylib 0x0000000186b25348 __pthread_kill + 8 1 libsystem_pthread.dylib 0x0000000186c39354 pthread_kill$VARIANT$mp + 396 2 libsystem_c.dylib 0x0000000186a94fd8 abort + 140 3 monotouchtest 0x0000000101c02c14 mono_handle_native_crash + 22047764 (mini-exceptions.c:2548) 4 monotouchtest 0x0000000101c0d02c mono_sigsegv_signal_handler + 22089772 (mini-runtime.c:2886) 5 libsystem_platform.dylib 0x0000000186c33b60 _sigtramp + 52 6 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 7 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 8 CoreFoundation 0x0000000186eda51c -[__NSArrayM dealloc] + 68 9 CoreFoundation 0x000000018703f5c8 __CFBasicHashDrain + 312 10 CoreFoundation 0x0000000186fb5b44 _CFRelease + 224 11 CoreText 0x000000018a808404 TDescriptorSource::PurgeFontFallbacksCache+ 488452 () + 92 12 CoreText 0x000000018a808374 TDescriptorSource::PurgeFromCaches+ 488308 (__CFURL const*) const + 176 13 CoreText 0x000000018a7eec74 CTFontRemoveFromCaches + 168 14 VectorKit 0x0000000196a539b0 +[VKSharedResourcesManager removeResourceUser:] + 324 15 VectorKit 0x0000000196ca27a4 md::MapEngine::~MapEngine+ 2643876 () + 360 16 VectorKit 0x0000000196ca2634 md::MapEngine::~MapEngine+ 2643508 () + 12 17 libobjc.A.dylib 0x000000018651eef4 object_cxxDestructFromClass+ 28404 (objc_object*, objc_class*) + 148 18 libobjc.A.dylib 0x000000018652c638 objc_destructInstance + 88 19 libobjc.A.dylib 0x000000018652c690 object_dispose + 16 20 QuartzCore 0x000000018afca3ac -[CALayer dealloc] + 116 21 VectorKit 0x0000000196a43294 -[VKMapView dealloc] + 940 22 QuartzCore 0x000000018af6aafc CA::release_objects+ 744188 (X::List<void const*>*) + 32 23 QuartzCore 0x000000018afd97d8 CA::Layer::~Layer+ 1198040 () + 276 24 QuartzCore 0x000000018afca37c -[CALayer dealloc] + 68 25 QuartzCore 0x000000018af6b16c CA::Transaction::commit+ 745836 () + 1052 26 UIKit 0x0000000190393290 _afterCACommitHandler + 256 27 CoreFoundation 0x0000000186fb38b8 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 32 28 CoreFoundation 0x0000000186fb1270 __CFRunLoopDoObservers + 412 29 CoreFoundation 0x0000000186fb182c __CFRunLoopRun + 1292 30 CoreFoundation 0x0000000186ed22d8 CFRunLoopRunSpecific + 436 31 GraphicsServices 0x0000000188d58f84 GSEventRunModal + 100 32 UIKit 0x000000019040427c UIApplicationMain + 208 33 monotouchtest 0x000000010106eb90 wrapper_managed_to_native_UIKit_UIApplication_UIApplicationMain_int_string___intptr_intptr + 9907088 (/<unknown>:1) 34 monotouchtest 0x0000000100f0d6ac UIKit_UIApplication_Main_string___intptr_intptr + 8459948 (UIApplication.cs:79) 35 monotouchtest 0x0000000100f0d66c UIKit_UIApplication_Main_string___string_string + 8459884 (UIApplication.cs:63) 36 monotouchtest 0x0000000100b10450 monotouchtest_Application_Main_string__ + 4277328 (Main.cs:27) 37 monotouchtest 0x0000000100e0c244 wrapper_runtime_invoke_object_runtime_invoke_dynamic_intptr_intptr_intptr_intptr + 244 38 monotouchtest 0x0000000101c10048 mono_jit_runtime_invoke + 22102088 (mini-runtime.c:2526) 39 monotouchtest 0x0000000101c75eec do_runtime_invoke + 22519532 (object.c:2829) 40 monotouchtest 0x0000000101c78a3c do_exec_main_checked + 22530620 (object.c:4623) 41 monotouchtest 0x0000000101bf9a1c mono_jit_exec + 22010396 (driver.g.c:1040) 42 monotouchtest 0x0000000101d13d60 xamarin_main + 23166304 (monotouch-main.m:482) 43 monotouchtest 0x00000001007de710 main + 927504 (main.m:67) 44 libdyld.dylib 0x00000001869f656c start + 4 * [introspection] Let SkipDueToAttributeInProperty skip setters too (#2557) `SkipDueToAttributeInProperty` which is used to check the availability attribute of properties when the Availability info only exist on the property and not on the property Getter or Setter was wrong. This lead to `setSpringLoaded` (which was introduced in iOS 11) to not be ignored by the test (making it fail). - Fix bug #59085: [introspection-ios] selector not found for UIKit.UIBarButtonItem : setSpringLoaded: - Broken test (https://bugzilla.xamarin.com/show_bug.cgi?id=59085) * [corevideo][watchos] Enable CoreVideo on watchOS (#2553) * [storekit] Fix CampaignToken typo (#2559) (#2560) - Fixes bug #59078: StoreProductParameters and invalid property for CampaignToken (https://bugzilla.xamarin.com/show_bug.cgi?id=59078) * [coreml][watchos] Enable API using CoreVideo on watchOS. Fix #58097 (#2561) https://bugzilla.xamarin.com/show_bug.cgi?id=58097 * Add missing [MarshalDirective] attributes. (#2558) * [bindings-generator] Improve build & project file. * Add missing [MarshalDirective] attributes. Add missing [MarshalDirective] attributes, which also requires implementing support for out parameters in the binding generator, since one of the signatures missing the [MarshalDirective] contains such an out parameter. Also add tests for all the API I've added [MarshalDirective] to. * [bindings-generator] Remove redundant if check. * [monotouch-test] Rename file to end with 'Test.cs'. * [tests] Fix a few build errors for Xamarin.Mac. * [uikit] Fix UIColor and UIInputViewController tvOS availability (#2569) - Fixes introspection tests on tvOS 10. * [storekit] Fix SKCloudServiceSetupMessageIdentifier and SKProductStorePromotionController tvOS availability (#2568) - Fixes introspection tests on tvOS 10. * [mapkit] Fix MKMapItemTypeIdentifier tvOS availability (#2566) - Also remove double [Mac] availability attribute. - Fixes introspection tests on tvOS 10. * [ARKit] Fix marshalling for ARPointCloud.RawFeaturePoints. (#2565) ARPointCloud.RawFeaturePoints is an array of Vector3, but each vector is 16-byte aligned (as if it were an array of Vector4). This means we need to account for this when creating a managed array from pointer to the native C-style array. * [ModelIO] Fix MDLVoxelIndexExtent struct. (#2564) The MDLVoxelIndexExtent is a struct containing two 4-dimensional vectors of integers (not floats, as originally and incorrectly implemented). Fix this my creating a new MDLVoxelIndexExtent2 struct with the right fields, re-implement all the API that exposes this struct and obsolete the old API. Also add missing [MarshalDirective] attributes. And write a test to make sure it works fine now and forever. * [coredata] Enable new fields since rdar #33878590 is fixed w/beta 6 (#2570) reference: https://trello.com/c/dlSRYPFx * [xtro-sharpie] Add a Simd check class to verify signatures with Simd types. * [Simd] Add simd matrix types. The OpenTK matrices (Matrix2/3/4) has a different memory layout than Apple's matrix_float2x2/matrix_float3x3/matrix_float4x4 matrices: the OpenTK versions are row-major, while Apple's versions are column-major. This means that when blitting memory from one to the other, the matrix will appear to have been transposed. See bug #[58599][2] for an example. Unfortunately we've already bound several API with Apple's matrix_floatXxX matrices using OpenTK's matrices, and although they're bound wrong, and the matrices appear transposed on input/output, we can't change the behavior because we have to maintain compatibility. This means we have to introduce new API, and then also just define new matrix types with the right memory layout (column-major). Additionally, in the future we might be able to mark these matrices as Simd-matrixes, so that the JIT/AOT compiler can generate the correct alignment for them, avoiding having to define a native conversion method (using the [MarshalDirective] hack). The matrices have been designed to match API-wise the matrices in the System.Numerics.Vectors namespace [1], but for the moment with only a few basic operations implemented (Determinant/Transpose/Multiply) defined (we can always add more later if we want to). In addition explicit conversion operators to and from the corresponding OpenTK.MatrixX are implemented, which means any operation defined in the OpenTK matrices can be used by converting back and forth. [1]: https://msdn.microsoft.com/en-us/library/system.numerics.matrix4x4(v=vs.111).aspx [2]: https://bugzilla.xamarin.com/show_bug.cgi?id=58599 * [ARKit] Use the new Simd matrix types. * [Vision] Use the new Simd matrix types. * [ModelIO] Use the new Simd-compatible matrix types, and deprecate the old API. * [GameplayKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [SpriteKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [xtro] Don't report missing [MarshalDirective] for obsolete methods. * [xtro] Remove unnecessary ignores. The implementation changed, and these stayed accidentally. * [wkwebkit] Fix (native) protocol names (#2572) Also ignore xtro's WKSnapshotConfiguration since it's an Apple bug 34185961 reference (xtro) !missing-protocol! WKURLSchemeHandler not bound !missing-protocol! WKURLSchemeTask not bound !unknown-protocol! WKUrlSchemeHandler bound !unknown-protocol! WKUrlSchemeTask bound !unknown-type! WKSnapshotConfiguration bound * [uikit] Fix enums availability attributes (#2575) - Fixes bug #59132: [uikit] Extra types in watchOS (https://bugzilla.xamarin.com/show_bug.cgi?id=59132) * [watchkit] Add missing designated initializers (#2574) references (xtro) !missing-designated-initializer! WKInterfaceController::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! WKUserNotificationInterfaceController::init is missing an [DesignatedInitializer] attribute * [xtro] Reword some of the Simd diagnostic messages according to review. * [tests] Make sure test symbols don't clash between different test libraries. Fixes this build problem for framework-test: clang: error: linker command failed with exit code 1 (use -v to see invocation) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_get_rotation_matrix'. MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticObjectTest.framework/XStaticObjectTest (Location related to previous error) MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticArTest.framework/XStaticArTest(libtest-ar.x86_64.o) (Location related to previous error) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransformcomponent_get_local_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_create_global_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float4x4'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float3x3'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float2x2'. MTOUCH: error MT5209: Native linking error: 6 duplicate symbols for architecture x86_64 MTOUCH: error MT5202: Native linking failed. Please review the build log. * [tests] Since libtest.a need ModelIO now, the corresponding LinkWith attributes need to state that too. * [introspection] Don't check native signatures on obsolete members, and ignore the right simd matrix types. Fixes this introspection/Mac problem: ***** ApiSignatureTest.NativeSignatures Selector: uniformWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: uniformWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: uniformWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: setMatrixFloat2x2Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: setMatrixFloat3x3Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: setMatrixFloat4x4Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: initWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: initWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: initWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded * [monotouch-tests] Include more custom asserts for watchOS to make the build work. Fixes this: Simd/MatrixFloat4x4Test.cs(28,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(29,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(37,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(48,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' [...] * [monotouch-test] Exclude code that requires the binding project from xammac tests. Exclude code that requires the test binding project from xammac tests because there's currently no XM version of the test binding project. Fixes this: tests/monotouch-test/SpriteKit/UniformTest.cs(20,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLMaterialProperty.cs(37,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLTransform.cs(34,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) * Bump version for preview #8 (#2576) * [spritekit] Audit fixes (xtro) (#2577) 1. SKVideoNode is now, partially, available on watchOS and does not require the extra, manual code to swicth selectors depending on the OS version being run. !missing-type! SKVideoNode not bound !missing-selector! SKVideoNode::anchorPoint not bound !missing-selector! SKVideoNode::initWithCoder: not bound !missing-selector! SKVideoNode::initWithFileNamed: not bound !missing-selector! SKVideoNode::initWithURL: not bound !missing-selector! SKVideoNode::setAnchorPoint: not bound !missing-selector! SKVideoNode::setSize: not bound !missing-selector! SKVideoNode::size not bound !missing-selector! +SKVideoNode::videoNodeWithFileNamed: not bound !missing-selector! +SKVideoNode::videoNodeWithURL: not bound 2. SKNodeFocusBehavior is exposed needlessly on watchOS because SpriteKit/Enums.cs was not processed by the generator, so [NoWatch] did not matter. !unknown-native-enum! SKNodeFocusBehavior bound It's also visible on macOS but nothing uses it (so we do not expose it needlessly) !missing-enum! SKNodeFocusBehavior not bound 3. Add missing designated initializer on default `init` !missing-designated-initializer! SKAttributeValue::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! SKNode::init is missing an [DesignatedInitializer] attribute 4. Remove inconsistency for SKNode subclasses wrt XAMCORE_4_0 The trio attributeValues, setAttributeValues and setValue:forAttributeNamed: that was moved from SKNode (deprecated) into its subclasses. This was done using XAMCORE_4_0 but not on every subclasses. This adds them everywhere to be consistent (only SKNode versions are not defined in XAMCORE_4_0) !missing-selector! SKEffectNode::attributeValues not bound !missing-selector! SKEffectNode::setAttributeValues: not bound !missing-selector! SKEffectNode::setValue:forAttributeNamed: not bound !missing-selector! SKEffectNode::valueForAttributeNamed: not bound !missing-selector! SKEmitterNode::attributeValues not bound !missing-selector! SKEmitterNode::setAttributeValues: not bound !missing-selector! SKEmitterNode::setValue:forAttributeNamed: not bound !missing-selector! SKEmitterNode::valueForAttributeNamed: not bound !missing-selector! SKSpriteNode::attributeValues not bound !missing-selector! SKSpriteNode::setAttributeValues: not bound !missing-selector! SKSpriteNode::setValue:forAttributeNamed: not bound !missing-selector! SKSpriteNode::valueForAttributeNamed: not bound * [introspection] Make sure '[FAIL]' is printed before every failure. (#2578) This makes xharness able to list the failures in the inline summary. * [xtro] Reword some of the Simd diagnostic messages according to review. * [xharness] Add a missing IsServerMode check to generate correct html. (#2581) * [SpriteKit] SKTransformNode is new in Xcode 9 so no need to keep the broken (and obsolete) non-simd version of RotationMatrix. * [intents] Fix some (partial) xtro issues and #59156 (#2585) reference https://bugzilla.xamarin.com/show_bug.cgi?id=59156 Remaining issues are filled in https://bugzilla.xamarin.com/show_bug.cgi?id=59183 !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound * [Intents] Confirm* interface methods should be bound as Confirm, Fixes Bug 59164 (#2591) * [Intents] Confirm* interface methods should probably be bound as Confirm, Fixes Bug 59164 https://bugzilla.xamarin.com/show_bug.cgi?id=59164 All Confirm* methods from *IntentHandling interfaces should be named just `Confirm` to avoid confusion because most of them do not directly confirm as an acion, but instead they **ask** for confirmation also we would follow swift's naming by doing this. * [Intents] XAMCORE_4_0 all Confirm* methods from *IntentHandling Turns any Confirm* into just Confirm inside a XAMCORE_4_0 block, * [Intents] Fix breaking changes in Intents added in Xcode 9 Bindings (#2590) Apple added more protocol conformances to INRidesharingDomainHandling and INPaymentsDomainHandling protocols in Xcode 9, I introduced these breaking changes back when I did intents binding so fixing them :) * [Metal] New bindings from Xcode 9 betas (#2457) * [AVFoundation] Updated bindings for xcode9. (#2272) * [Xcode9] Add IOSurface bindings (#2363) * This framework was a private framework before iOS 11. This framework was a private framework before iOS 11, yet the headers claim many API were introduced in iOS 10. So take account of this difference by using the private framework location in iOS 10.3 or earlier. Testing these API from Xcode works fine when run on an iOS 10.3 device, and I've confirmed the IOSurface framework is loaded from the private frameworks path on older devices (and when built using Xcode 9 and linked with the public framework path). * Disable code to make IOSurface work on iOS 10. Disable the code to make IOSurface work on iOS 10, since it may be rejected by the App Store. This also means adjusting the availability attributes, so that the introspection tests pass (and to document that technically these API won't work when used with Xamarin.iOS in iOS 10). I've filed bug #[59201][1] to keep track of this, maybe we can re-enable this later. [1]: https://bugzilla.xamarin.com/show_bug.cgi?id=59201 * [CoreMedia] Fix leak in CMAttachmentBearer.GetAttachments. (#2593) The caller owns the return value from CMCopyDictionaryOfAttachments, so tell Runtime.GetNSObject that. * [Intents] Adds missing API found by xtro, fixes Bug 59183 (#2596) https://bugzilla.xamarin.com/show_bug.cgi?id=59183 Fixes !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !incorrect-protocol-member! INUIHostedViewControlling::configureWithInteraction:context:completion: is OPTIONAL and should NOT be abstract * [xtro] Fix StartWorkingDirectory to enable debugging (#2598) * [iosurface] Enable for tvOS and XM classic (to avoid multiple defines around consumer API) (#2597) * [xtro] Fix EnumCheck (#2600) * [ARKit] Rename a few method to make them nicer. (#2604) * DisplayTransform -> GetDisplayTransform since methods should have verbs. * SessionWasInterrupted -> WasInterrupted and SessionInterruptionEnded -> InterruptionEnded since these names match better with the other names (CameraDidChangeTrackingState / DidFail / DidOutputAudioSampleBuffer: none are prefixed with 'Session'). Additionally, the type is a Model (for the delegate pattern), which means all methods are more-or-less event-like, and the first argument is always the same (the protocol itself), which is another indicator the methods should be named similarly. * [Foundation] Remove 'Key' suffix from some fields. (#2606) Of the 168 fields in NSMetadataItem, only these 5 hadn't removed the 'Key' suffix. So make them all equivalent by removing the 'Key' suffix from these 5 fields. * [ImageIO] Fix API to not duplicate the instance in instance methods. (#2609) An instance method does not need to take the instance as a parameter, so remove the first (instance) parameter for CGImageDestination.AddAuxiliaryDataInfo and CGImageSource.CopyAuxiliaryDataInfo. An alternative solution would be to make the methods static, but I like the instance API better. * [UIKit] De-model UIDataSourceTranslating. (#2603) It's not clear from neither the documentation nor the headers how this protocol is supposed to be used, and since it doesn't correspond to the delegate pattern, remove the [Model] attribute for now. We can always add it back later. * [CoreML] Improve API. (#2592) * [CoreML] Improve API. * The indices, shape and stride properties for MLMultiArray and MLMultiArrayConstraint can logically only be arrays of integers, so type them as such. This means adding overloads for MLMultiArray's constructors, GetObject and SetObject methods, and the indexers that takes nint[] arrays instead of NSNumber[] arrays. * Change MLFeatureValue's static factory methods to be a method ('Create') instead of a preposition, and call all the different factory methods the same, since they can be overloaded nicely. * [tests][monotouch-test] Add version check to MLMultiArrayTest and make sure the arrays we create are big enough for the data we put in them. * [tests][monotouch-test] MLMultiArray's elements aren't zero-initialized, so don't assume that in the tests. * Support overloading Objective-C methods based on static/instance. (#2607) Two Objective-C methods can be named identically as long as one is static and the other instance. We must support this since Apple did just this (in the NSItemProviderReading / NSItemProviderWriting protocols). We solve it by prepending a '+' or '-' to the selector when hashing it (to determine selector uniqueness, and to look the method up again at runtime). * [uikit] Update for Xcode 9 - Part 6 (#2602) NSAttributedString.h NSFileProviderExtension.h NSLayoutAnchor.h UIAccessibility.h UIAccessibilityAdditions.h UIAccessibilityContainer.h UIAccessibilityContentSizeCategoryImageAdjusting.h UIAccessibilityCustomRotor.h UIAccessibilityLocationDescriptor.h UITabBar.h UINavigationBar.h UIScreen.h * Xcode9 scenekit (#2512) * [SceneKit] basic work * Added key * [xcode9] SCNCameraController * [xcode9] SCNCamera updates * [xcode9] SCNMaterial * [xcode9] SCNGeometryTessellator, SCNCameraControlConfiguration, SCNView, small bits * Add trailing commas to last enum value * Remove whitespace noise * [scenekit] Update deprecated attributes messages * Addresses some of Rolf's feedback * Drop the WeakDelegate in SCNCameraController * Rename method to Render, remove ctor from class that can not be constructed in Palygrounds, add typo exception * [AppKit] Rename NSBezierPath.AppendBezierPathWithCGGlyph to match its sibling methods. (#2605) NSBezierPath contains a lot of 'AppendPathWithXXX' methods, that all map to 'appendBezierPathXXX' selectors. So rename AppendBezierPathWithCGGlyph accordingly, to make it more similar to the other methods in the same type. * [uikit] Add all UISpringLoadedInteractionSupporting (#2616) Types do not conform to the protocol but protocol methods work on those types (see monotouch-test). Fixed introspection tests accordingly and tested the selectors in monotouch-test. * [Intents] Add convenience ctor overload and call correct base ctor in manual ctor. (#2613) Add a convenience constructor overload in INGetUserCurrentRestaurantReservationBookingsIntent that uses nint instead of NSNumber, since logically "number of results" will always be some sort of integer. Also call the correct base constructor in INSpeakableString's custom constructor (same as any other generated constructor). Otherwise we end up doing something like this: [[[INSpeakableString alloc] init] initWith ...], i.e. calling two different init methods. * [coreimage] Add new headers API up to beta 6 (#2601) Filters are not complete (ref: #57350) https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * Some new constants are not yet documented (type is known), so they are commented / ignored https://bugzilla.xamarin.com/show_bug.cgi?id=59296 * Filled bug for [Wrap] inside [Category] so strong dictionary helpers can be re-enabled later https://bugzilla.xamarin.com/show_bug.cgi?id=59294 * [foundation] xtro fixes for watchOS (#2586) !missing-enum! NSProcessInfoThermalState not bound !missing-field! NSProcessInfoThermalStateDidChangeNotification not bound !missing-selector! NSProcessInfo::thermalState not bound Headers are wrong and preferredPresentationStyle is not in tvOS and watchOS !missing-selector! NSItemProvider::preferredPresentationStyle not bound !missing-selector! NSItemProvider::setPreferredPresentationStyle: not bound * [uikit] Also remove UIPreferredPresentationStyle enum from platform where it's not used * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. (#2614) * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. * NSItemProviderWriting: * NSItemProviderReading: Implement correctly and completely by uncommenting commented out code. * NSMutableString: * NSAttributedString: remove inlined members, since these classes don't implement NSItemProviderReading / NSItemProviderWriting (according to the headers at least). * NSUrl: all platforms now seem to implement NSItemProviderReading / NSItemProviderWriting. * NSString: all platforms now seem to implement both NSItemProviderReading and NSItemProviderWriting * UIColor: * UIImage: Update inlined protocol members according to the latest beta. Additionally, due to the following conditions: * The protocols all have the correct members now. * In the API definition we tell the generator to inline members from a protocol by inheriting from the corresponding interface. * The generator doesn't inline static members from protocols. several 'new' keywords had to be added to silence a compiler warning that occurrs when we manually inline a static member, since the member would be included in the type both from the inherited interface and the manual implementation. * [Foundation] Comment out NSItemProviderWriting.GetItemProviderVisibility to avoid inlining/generating unusable methods. NSItemProviderWriting.GetItemProviderVisibility is an optional method, and none of the native classes that implements NSItemProviderWriting actually imlements the method. This means inlining the method in those classes ends up creating unusable API; so just comment out the method to avoid generating the unusable API. The introspection tests found this: [FAIL] Foundation.NSString : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Foundation.NSUrl : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Contacts.CNContact : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] MapKit.MKMapItem : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIColor : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIImage : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] iOSApiSelectorTest.ApiSelectorTest.StaticMethods : 6 errors found in 2348 static selector validated: See also https://bugzilla.xamarin.com/show_bug.cgi?id=59308 * [iosurface] Add missing [TV] attributes (#2619) * [opengles] Enable the new API using IOSurface (#2618) The symbol only exists inside device libraries, not on simulator, and the introspection tests were updated to ignore it. Part of https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [avfoundation][watchos] Enable AudioBufferList (fix #59145) + audit (xtro) (#2617) 1. AudioBufferList is part of CoreAudio (wrong namespace, which needs a few changes in the generator) and now available in watchOS 4 https://bugzilla.xamarin.com/show_bug.cgi?id=59145 2. Also fixes xtro found issues: !missing-type! AVAudioRecorder not bound !missing-selector! AVAudioRecorder::averagePowerForChannel: not bound !missing-selector! AVAudioRecorder::channelAssignments not bound !missing-selector! AVAudioRecorder::currentTime not bound !missing-selector! AVAudioRecorder::delegate not bound !missing-selector! AVAudioRecorder::deviceCurrentTime not bound !missing-selector! AVAudioRecorder::format not bound !missing-selector! AVAudioRecorder::initWithURL:format:error: not bound !missing-selector! AVAudioRecorder::initWithURL:settings:error: not bound !missing-selector! AVAudioRecorder::isMeteringEnabled not bound !missing-selector! AVAudioRecorder::isRecording not bound !missing-selector! AVAudioRecorder::peakPowerForChannel: not bound !missing-selector! AVAudioRecorder::recordAtTime: not bound !missing-selector! AVAudioRecorder::recordAtTime:forDuration: not bound !missing-selector! AVAudioRecorder::recordForDuration: not bound !missing-selector! AVAudioRecorder::setChannelAssignments: not bound !missing-selector! AVAudioRecorder::setDelegate: not bound !missing-selector! AVAudioRecorder::setMeteringEnabled: not bound !missing-selector! AVAudioRecorder::settings not bound !missing-selector! AVAudioRecorder::url not bound !missing-protocol! AVAudioRecorderDelegate not bound !missing-selector! AVAudioEngine::inputNode not bound !missing-selector! AVAudioEngine::manualRenderingBlock not bound !missing-selector! AVAudioInputNode::setManualRenderingInputPCMFormat:inputBlock: not bound !missing-selector! AVAudioPlayer::format not bound !missing-selector! AVAudioSession::requestRecordPermission: not bound !unknown-field! AVFileType3GPP bound !unknown-field! AVFileType3GPP2 bound !unknown-field! AVFileTypeAC3 bound !unknown-field! AVFileTypeAIFC bound !unknown-field! AVFileTypeAIFF bound !unknown-field! AVFileTypeAMR bound !unknown-field! AVFileTypeAVCI bound !unknown-field! AVFileTypeAppleM4A bound !unknown-field! AVFileTypeAppleM4V bound !unknown-field! AVFileTypeCoreAudioFormat bound !unknown-field! AVFileTypeDNG bound !unknown-field! AVFileTypeEnhancedAC3 bound !unknown-field! AVFileTypeHEIC bound !unknown-field! AVFileTypeHEIF bound !unknown-field! AVFileTypeJPEG bound !unknown-field! AVFileTypeMPEG4 bound !unknown-field! AVFileTypeMPEGLayer3 bound !unknown-field! AVFileTypeQuickTimeMovie bound !unknown-field! AVFileTypeSunAU bound !unknown-field! AVFileTypeTIFF bound !unknown-field! AVFileTypeWAVE bound * [Metal] Implement API using IOSurface now that IOSurface is implemented. Partially fixes #58054. (#2621) https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [PdfKit] Improve PdfAnnotation.QuadrilateralPoints binding by making it strongly typed. (#2620) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). (#2622) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). * [ARKit/Vision] Use the new simd vector types instead of the OpenTK versions. * [ModelIO] Use the new simd vectors in new API (MDLVoxelIndexExtent2). This way we won't have to create a MDLVoxelIndexExtent3 in the future. * [SpriteKit] Use the new simd vectors in new API. * [metal] Audit (xtro) based fixes (#2623) !extra-protocol-member! unexpected selector MTLArgumentEncoder::newArgumentEncoderForBufferAtIndex: found !extra-protocol-member! unexpected selector MTLComputeCommandEncoder::dispatchThreads:threadsPerThreadgroup: found macos-only !missing-field! MTLDeviceRemovalRequestedNotification not bound !missing-field! MTLDeviceWasAddedNotification not bound !missing-field! MTLDeviceWasRemovedNotification not bound !missing-pinvoke! MTLCopyAllDevices is not bound * [CloudKit] Update bindings to beta 6. (#2615) * [FileProvider] Turn NSFileProviderItemIdentifier enum into a static class, fixes bug 59329 (#2634) https://bugzilla.xamarin.com/show_bug.cgi?id=59329 At the time of binding NSFileProviderItemIdentifier it wasn't clear how it was supposed to be used, I mean apple provides two keys which I thought were the only possible values hence binding it as an smart enum. Unfortunately this wasn't the case and the user can use those two values provided from the SDK or their own NSString Identifier. Swift provides a wrapper unfortunately we can't do the same due to NSFileProviderItemIdentifier is used in the NSFileProviderItem protocol and we currently do not support changing signatures on them. * [mtouch] Teach mtouch about the 'IOSurface' framework for tvOS. Fixes #59333. (#2630) https://bugzilla.xamarin.com/show_bug.cgi?id=59333 * Bump Touch.Unit to get fix for API breakage. (#2631) spouliot/Touch.Unit@8f1e19d [NUnitOutputTextWriter] Reintroduce previous constructor to make sure we don't break binary ABI. spouliot/Touch.Unit@00b0c0b [NUnitOutputTextWriter] Don't write invalid xml comments. spouliot/Touch.Unit@de9fe20 [TouchRunner] Restore the original code path when not wrapping NUnit xml output. * [IOSurface] Add missing availability attributes for tvOS. (#2629) * Bump versions for preview 9 (#2624) * [AVFoundation] Add missing interface AVRouteDetector. (#2637) * [tests] Update xtro to reduce list sizes (#2636) * Skip OpenTK duplicate declaration (we can't change them); * Fix rule name change for ARKit / simd; * Add missing default initializer on `init` to pending actions; * Add note for AVPersistableContentKeyRequest changes wrt tvOS; * [ReplayKit] Make RPBroadcastActivityViewController.LoadBroadcastActivityViewController async-capable. (#2639) * [xcode9] More SceneKit bindings (#2633) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 (#2644) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 https://bugzilla.xamarin.com/show_bug.cgi?id=59380 vector_float3 is 16 bytes, which means the binding is incorrect, because Vector3 is 12 bytes, and our code does not that difference into account. * Add tests * [DeviceCheck] Disable default ctor for DCDevice. (#2642) It doesn't seem to be useful according to the documentation, since it appears that the only way to get an instance is to use the static CurrentDevice property. * [audiounit] Audit (xtro) fixes for tvOS (#2635) Availability attributes in non-generated files don't hide symbols/code. reference: !unknown-pinvoke! AudioUnitExtensionCopyComponentList bound !unknown-pinvoke! AudioUnitExtensionSetComponentList bound * [tests] Make sure tvOS tests don't use the (unexisting) API * [tests] Add all test project variations to tests-mac.sln (#2579) * [xharness] Make sure generated mac projects have different project guids. * [introspection] Change the project guid so that it doesn't match the dontlink-mac project guid. * [tests] Add all test project variations to tests-mac.sln. * [xharness] Fix else condition. * [FileProvider] Adds missing NSFileProviderPage constants, fixes bug 59297. (#2646) https://bugzilla.xamarin.com/show_bug.cgi?id=59297 Adds NSFileProviderInitialPageSortedByName and NSFileProviderInitialPageSortedByDate NSData constants * [Xcode9] Remove NSFileProviderMessage and NSFileProviderMessageInterface (#2647) APIs were removed in beta 2 * [Foundation/UIKit] Provide LoadObject[s] methods that return the expected type in the callback. Fixes #59049. (#2638) The callback for these LoadObject[s] methods take an INSItemProviderReading parameter. This tells our runtime that we must provide an instance of a managed object that implements this interface (but nothing else), so we create a `NSItemProviderReadingWrapper` instance, which complies with the API (since the wrapper type implements the corresponding interface). Unfortunately these methods are supposed to return an instance of the passed- in type, so in order to comply with this soft (documentation-only) requirement, provide a wrapper method that creates instances of the right types. https://bugzilla.xamarin.com/show_bug.cgi?id=59049 * [arkit] Ignore deprecated selectors (#2645) * [FileProvider] Adds missing protocol and keys from audit (#2652) ``` !missing-protocol! NSFileProviderServiceSource not bound !missing-field! NSFileProviderErrorCollidingItemKey not bound !missing-field! NSFileProviderErrorNonExistentItemIdentifierKey not bound !missing-field! NSFileProviderFavoriteRankUnranked not bound ``` Also adds `NSXpcListenerEndpoint` to foundation, needed by `NSFileProviderServiceSource` protocol. * [tests][xtro] Workaround xtro runner dupe entry exception and update data files (#2654) * [AVFoundation] Rename field to match others. (#2657) * [homekit] Audit (xtro) fixes (#2653) - HMCharacteristicEvent conforms to NSMutableCopying on iOS11 which makes it 64 bits only (so adjust intro tests) - Ignore extra setters on HMMutablePresenceEvent, rdar 33883958 !missing-selector! HMMutablePresenceEvent::setPresenceEventType: not bound !missing-selector! HMMutablePresenceEvent::setPresenceUserType: not bound * [xtro] Add missing pinvoke to pending (#2662) - Bug 59422: [uikit] Missing UIContentSizeCategoryCompareToCategory & UIContentSizeCategoryIsAccessibilityCategory (https://bugzilla.xamarin.com/show_bug.cgi?id=59422) * Merge latest d15-3 fixes into xcode9 (#2660) * [msbuild] Re-added wildcard (*) expandsion for application-identifier in Entitlements.plist (#2186) Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=57119 * Bump mono (#2213) * Framework tests were still binding non-linked Simple class which errors now (#2216) (#2218) - Improve Makefile to rebuild when projects build with errors * Bump mono to get cecil fix for bug #56808. (#2222) https://bugzilla.xamarin.com/show_bug.cgi?id=56808 * [msbuild] Use @(ReferencePath) instead of @(ResolvedFiles) (#2188) (#2214) This allows things to work on both xbuild and msbuild. In xbuild, both lists are exactly the same and on msbuild, only @(ReferencePath) exists. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=55147 * NSActivityOptions.IdleDisplaySleepDisabled had wrong value (#2232) (#2239) This was due to an integer overflow. The original value was based on Int32 1 << 40 == 256 The correct value should be based on a UInt64. 1UL << 40 == 1099511627776 * [tests] Fix bug 57699 - [iOS]InternalsTest failure (Linkall) tests on device (#2243) Strip native debugging symbols should not be checked for debug builds * Bump mono to get fix for bug #57780. https://bugzilla.xamarin.com/show_bug.cgi?id=57780 * Update .gitmodules Change branch to d15-3 branch of mono * Bump maccore to get fix for bug #55064. https://bugzilla.xamarin.com/show_bug.cgi?id=55064 * [mono] Bump mono to get the head of cecil/mono-2017-04 and fix IsComObject #57919 Also fix #58789 [1], the typo in tools/mtouch/Tuning.cs showing in MT0000 errors instead MT2102. That's already in master and d15-4 mono bump includes: [2] commit 2a6502cee0df9de5198eafe7c8b5f6ac25106f34 (HEAD -> d15-3, origin/d15-3) Merge: 02457c20fcf 5e05cafc6f1 Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 10:04:06 2017 -0400 Merge pull request #5401 from marek-safar/com [Marshal.IsComObject] Make this predicate return false instead of thr… [3] commit 02457c20fcf57c0610e844d638eb1da82b5d1eb0 Merge: da80840ea55 73fd9a1b82e Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 09:59:06 2017 -0400 Merge pull request #5400 from spouliot/bump-cecil-58834-d15-3 [cecil] Bump to the head of the mono-2017-04 branch and pick the fix for bug #58834 References [1] https://bugzilla.xamarin.com/show_bug.cgi?id=58789 [2] https://bugzilla.xamarin.com/show_bug.cgi?id=57919 [3] https://bugzilla.xamarin.com/show_bug.cgi?id=58834 * [mtouch] Put 'mono_profiler_startup_log' in the symbol list. Fixes #58778. (#2501) We need the 'mono_profiler_startup_log' symbol when profiling is enabled, so make sure to add the symbol to the correct list of symbols we need. Previously we were passing `-u _mono_profiler_startup_log` to clang directly, which is fine, but not complete, since it does not write the symbol to the symbollist file (--symbollist=file), which means it wouldn't be preserved when the MSBuild tasks strip the executable. https://bugzilla.xamarin.com/show_bug.cgi?id=58778 * Bump versions for SR3 https://trello.com/c/EVze08ei * Bump mono to include HttpClientHandler fix #44027 https://trello.com/c/jYFXadH8/8-systemnethttp-close-request-stream-when-httpclienthandler https://bugzilla.xamarin.com/show_bug.cgi?id=44027 * [FileProvider] Add missing API and turn NSString to string (#2663) Turned NSString to string in order to match exisiting API. * [uikit] Add UIPasteConfigurationSupporting and UITextPasteConfigurationSupporting (#2649) - Fixes bug #59363: Missing UIPasteConfigurationSupporting, UITextPasteConfigurationSupporting, UITextDraggable and UITextDroppable on a couple of types (https://bugzilla.xamarin.com/show_bug.cgi?id=59363) * [uikit] Remove 129 types in UIPasteConfigurationSupporting case * [scenekit] Audit (xtro) fixes (#2648) This looks like an Apple breaking change (since `SCNAnimation` is new) but we now have: > typedef void (^SCNAnimationEventBlock)(id<SCNAnimation> animation, id animatedObject, BOOL playingBackward); bound as > delegate void SCNAnimationEventHandler (CAAnimation animation, NSObject animatedObject, bool playingBackward); and `CAAnimation` conforms to `SCNAnimation` but *only* the later is available on watchOS. The delegate is only updated (since it's new) on our watchOS profile. xtro references: (watchos) !unknown-protocol! SCNCameraControlConfiguration bound (tvos/watchos) !missing-selector! SCNAnimation::animationEvents not bound !missing-selector! SCNAnimation::setAnimationEvents: not bound !missing-selector! SCNConstraint::isEnabled not bound !missing-selector! SCNConstraint::setEnabled: not bound !missing-field! SCNSceneSourceConvertToYUpKey not bound !missing-field! SCNSceneSourceConvertUnitsToMetersKey not bound (ios/tvos) !missing-protocol-conformance! SCNNode should conform to UIFocusItem * Bump maccore post 15.3 merge (#2665) * Bump Xcode 9 to GM (#2667) * Force build (on wrench) * [avfoundation] Fix breaking changes (apidiff) (#2664) * [TVServices] Update to Xcode 9 GM (#2675) * [GameController] Update to Xcode 9 GM (#2673) * [LocalAuthentication] Update to Xcode 9 GM (#2671) * [LocalAuthentication] Update to Xcode 9 GM * Remove availability from BiometryNotAvailable, BiometryNotEnrolled and BiometryLockout * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer (#2659) * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer Some of the new added types were already present BUT under a #if MONOMAC, they had to be moved. * [AVFoundation] Set the wrongly added API to be obsolete and ensure it returns logical values. (#2650) * [xtro] The right platform for macOS is 'macos', not 'osx'. (#2677) The platform name is used to filter availability attributes, and if we use the wrong platform, we'll incorrectly skip all availability attributes. The net result in unclassified entries: https://gist.github.com/rolfbjarne/a4474bc2a40c49a85cad495b51bb514f * Various Xcode 9 API improvements and also fixes bug 59433 (#2676) https://bugzilla.xamarin.com/show_bug.cgi?id=59433 While fixing bug 59433 I noticed some additional issues outlined below: AVDepthData: * Renamed **non** static `Create` methods because `Create` only makes sense with the **Static** method in this context. Also by renaming the methods we are now closer to the names that swift uses. * Kept descriptive method names in favor of self-documenting code. `Convert`, `Apply` and `Replace` do not fully give us the intent of the method. * Added a convenience `Create` static method that takes a `CGImageAuxiliaryDataInfo`. * AvailableDepthDataTypes is now an array of `CVPixelFormatType` instead of a `NSNumber` array (The aactual fix for bug 59433). ImageIO: * Refactored `CGImageAuxiliaryDataInfo` to be a `StrongDictionary` in order to avoid most of the manual code and also to avoid reimplementing the `ToDictionary` method (which contained a subtle bug). * Adjusted code to reflect the above change. * Added missing `.ctor (IntPtr, bool)` to `CGImageMetadata` so the class is able to be created by our `Runtime.Get*`. * Simplified `CopyAuxiliaryDataInfo` method by using `CGImageAuxiliaryDataInfo` as a `DictionaryContainer`. Tests: * Added `xamarinmonkey.heic` which is an image that contains depth data needed to test above changes. * Adds `AVDepthDataTests` that touches most of the changes listed here. * Tweak the Simd-compatible matrices and vectors (#2668) * Rename them to be OpenTK.NMatrix# (instead of Simd.MatrixFloat#x#). * Remove the Vector2 and Vector4 variants, we'll use the OpenTK types instead (but we'll keep the NVector3 variant, since it's not identical to the OpenTK version). * Update the API to match their OpenTK counterparts better: * NMatrix2 and NMatrix3 have a 0-based R#C# scheme for their fields. * NMatrix4 has a 1-based M## scheme for its fields (i.e. no change). * [AVFoundation] Use Simd-matrix for API that needs it. (#2679) This also requires implementing the corresponding matrix (NMatrix4x3). Fixes this xtro issue: > !unknown-simd-type-in-signature! OpenTK.Matrix3 AVFoundation.AVCameraCalibrationData::get_GetIntrinsicMatrix(): the native signature has a simd type (matrix_float3x3), while the corresponding managed method is using an incorrect (non-simd) type. * [xtro] Fix checking availability on categories. (#2682) When checking for category availability, check if both the current declaration is a category, and if the current's declaration container is a category. Otherwise this scenario fails: * Category method is available. * Category does not have availability attributes. * Main class is unavailable. with this typical code sequence: ```csharp // don't process methods (or types) that are unavailable for the current platform if (!decl.IsAvailable () || !(decl.DeclContext as Decl).IsAvailable ()) return; ``` In which case we'd: * First check the method (`decl`): * It's available, so no further checks is done on the method. * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container's container is a category (it isn't, it's the namespace). and as such determine that the method is available. With this change, the second step will become: * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container is a category (it is), and if its main class is available (it isn't). and as such determine that the method is unavailable. * Check for attributes on the method's container (no attributes, so we continue). * Check if the method's Unclassified diff: https://gist.github.com/rolfbjarne/8fa80962596978a426eadf9b7ba39dc1 * [uikit] Update for Xcode 9 GM (#2670) * [AVFoundation] Implement AVCapturePhoto. Partially fixes #59388. (#2678) Fixes: > common.unclassified:!missing-type! AVCapturePhoto not bound https://bugzilla.xamarin.com/show_bug.cgi?id=59388 * Use strong dictionaries for AVCapturePhoto.Metadata and AVCapturePhoto.EmbeddedThumbnailPhotoFormat. * [SIMD] Implement Simd double types (VectorDouble3/MatrixDouble4x4). (#2632) The following types will be used by ModelIO bindings * Fix delta to be double * Rename Simd-compatible matrices and vectors to match our final naming. This also means removing the new Vector2 and Vector4 variants (but not Vector3). * [avfoundation] Remove AVAssetDownloadDelegate.DidLoadTimeRange since it was removed in one of the betas (#2687) * [foundation] Move NSUrlSessionMultipathServiceType to a file processed by the generator (for the availability attributes) (#2688) * [arkit] Update for Xcode 9 GM (#2681) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes (#2690) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes Type Changed: Intents.INCarSeatResolutionResult Removed methods: public static INCarSeatResolutionResult GetConfirmationRequired (INCarSeat valueToConfirm); public static INCarSeatResolutionResult GetSuccess (INCarSeat resolvedValue); * [avfoundation] Add missing protocol members and deprecations (#2691) !missing-protocol-member! AVCapturePhotoCaptureDelegate::captureOutput:didFinishProcessingPhoto:error: not found and the selector removed from PR#2687 was actually replaced with this one !missing-protocol-member! AVAssetDownloadDelegate::URLSession:aggregateAssetDownloadTask:didLoadTimeRange:totalTimeRangesLoaded:timeRangeExpectedToLoad:forMediaSelection: not found * [tests][xtro] Map some enums, more fix with protocols and update entries (#2692) * [Tests] Reenable dns tests on the watch. (#2674) * [arkit] Add ARBlendShapeLocationOptions strong dictionary (#2696) * [coreimage] Skip not yet bound filters added in Xcode9 (#2698) Tracked in https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * [Metal] Renamed MTLArgumentDescriptor.ArgumentDescriptor to Create, fixes bug 59498 (#2702) https://bugzilla.xamarin.com/show_bug.cgi?id=59498 From [argumentDescriptor docs](https://developer.apple.com/documentation/metal/mtlargumentdescriptor/2915746-argumentdescriptor?language=objc) > Creates an empty argument descriptor. * [msbuild] Always codesign app bundles if the codesign key is non-null (#2697) ...even if it is a simulator build. Turns out that starting with Xcode9, sim builds need to be codesigned for App Groups entitlements to work properly. Interestingly, the DetectSigningIdentity logic had a comment about needing to codesign simulator builds for some entitlements to work already starting with Xcode 8 but apparently the iOS targets did not respect this. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=59379 * [Foundation] Add NSProxy stub in order to workaround bug 59247 (#2693) https://bugzilla.xamarin.com/show_bug.cgi?id=59247 We need to have a better solution that removes all what NSProxy does not responds to. Right now this works because NSObject implements NSObject protocol just like NSProxy, but NSProxy responds to far less selectors hence doing it internal so it is not a breaking change when we provide the correct fix. * Keep NSProxy around and avoid XML linker description We need to keep NSProxy (avoid linking it) if WKNavigationDelegate or IWKNavigationDelegate is used. We know WKWebView will be there and can hold a reference to it. * [Xcode 9] Update Metal for GM (#2689) * [iosurface] IOSurface is not usable before iOS/tvOS 11. Fixes #59201 (#2706) Apple rejects apps that links with the previously private IOSurface.framework. We were not sure about this [1] and had it disabled (this is removed). However another bug stopped our adjustment logic [2] from being executed. This is needed since `clang` picks up the private framework if it does not find the public one (even when asking for a weak framework), [1] https://bugzilla.xamarin.com/show_bug.cgi?id=59201 [2] Added a while ago for JavascriptCore * Bump maccore to point to commit with the docs fix. (#2703) * Bump XI to 11.0.x (and XM to 3.99.9.x) (#2684) * fix typo
2017-09-16 00:53:16 +03:00
[Watch (4, 0), TV (11, 0), Mac (10, 13, onlyOn64: true), iOS (11, 0)]
Merge xcode9 into d15-4[-xi] (#2710) * [FileProvider] Add Xcode 9 Beta 1, 2 & 3 Bindings (#2279) * [FileProvider] Add Xcode 9 Beta 1 Bindings * Better naming * Feedback not related to BindAs * [FileProvider] Removes BindAs, add manual code for it and updated to Beta 3 * [FileProvider] Implement feedback * [CoreSpotlight] Updated spotlight bindings for xcode 9 beta 3. (#2193) Updated spotlight bindings for xcode 9 beta 3. * Fix warning caused by duplicate (#2354) * [FileProviderUI] Add Xcode 9 Beta 1 to 3 bindings (#2356) * Bump to Xcode 9 beta 4 * [arkit] ARLightEstimate does not conform to NSCopying anymore (fix unit test) * [uikit] NSFileProviderExtension.ReparentItem got a new parameter in beta4 (fix unit test) * [coreimage] CIImageAccumulator init returns nil in beta 4 There's no header change to mention `init` is not allowed but it's not clear how this default initializer could be used. Also make public some other API to construct this type (outside of XM). It's not clear why there were `internal` as they are (at least now) part of the header files. * [photos] Add helpers when PHLivePhotoEditingOption/NSDictionary is null (to avoid ambiguous API) (#2360) Adding a strongly typed `PHLivePhotoEditingOption` (a strongly typed version of an `NSDictionary`) can cause a `CS0121` (call is ambiguous) since using a `null` argument is common (only one option exist so far). This PR adds overloads that makes the code nicer in such case, e.g. before Xcode9: > // null is used when no options are given > _foo.SaveLivePhoto (output, null, completion); current (Xcode 9) > // casting required to remove ambiguity with PHLivePhotoEditingOption > _foo.SaveLivePhoto (output, (NSDictionary)null, completion); with this PR > // no option, no argument > _foo.SaveLivePhoto (output, completion); The same applies to `PrepareLivePhotoForPlayback`. * [tests] Disable/tweak two tests that breaks on (almost) all Xcode updates Those tests were not added to validate xOS so just keep the parts that helps us (without constantly checking back the new break flavor) * Disable watchOS to check if this hides others issues * [mapkit] Update for beta 4 * [coredata] Update for beta 4 * [wkwebkit] Update for beta 4 Note: WKWindowFeatures.h is not compiled (part of the framework umbrella) and the `@interface WKWindowFeatures (WKPrivate)` sounds like it should not have been exposed (it's all fields starting with `_`) * [corelocation] Update for beta 4 * Revert "Disable watchOS to check if this hides others issues" This reverts commit fed2249fa43290a1956ab2fe0d48f83ab6db9711. * [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]: https://github.com/xamarin/xamarin-macios/blob/f5956d6cc1eb5dfa7bab16628cf282d40237f64e/src/generator.cs#L5985 * [FinderSync] Update to beta 4 (#2377) * [ImageIO] Update to Xcode 9 (#2353) * [PhotosUI] Move macOS photosui bindings out of photos.cs into photosui.cs (#2358) * [quicklook] Update up to beta 4 (#2374) * [uikit] UIDragInteraction & UIDragInteractionDelegate (Xcode 9 b1,2,3) (#2357) * [safariservices] Update up to beta 4 (#2380) * [coreanimation] Update to beta 4 (#2382) Apple removed (mistake?) some API in beta 1. Filed as rdar 33590997 Internal tracking in https://trello.com/c/J8BDDUV9/86-33590997-coreanimation-quartzcore-api-removals * [storekit] Update up to beta 4 (#2379) * [CoreML] Update to Xcode 9 Beta 4 (#2387) * [uikit] UICollectionView/UITableView Drag & Drop (Xcode 9 b1,2,3 & 4) (#2355) * Update code after radar 32929318 and 32897776 are fixed in b4 (#2394) * [xcode9 CoreAudio] New definitions from Beta1 to Beta3 (#2359) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 (#2397) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 https://bugzilla.xamarin.com/show_bug.cgi?id=58512 Created strong API (VNBarcodeSymbology) on the following properties * VNDetectBarcodesRequest.SupportedSymbologies * VNDetectBarcodesRequest.Symbologies * VNBarcodeObservation.Symbology * Remove modern C# because classic can't do it 😡 * [mediaplayer] Update up to beta 4 (#2388) * [watchkit] Update to beta 4 (#2398) * Bump Visual Studio for Mac max version (#2408) * [coreimage] Add CIBarcodeDescriptor and enabled missing API for VNBarcodeObservation. Fix #58197 (#2411) https://bugzilla.xamarin.com/show_bug.cgi?id=58197 * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 (#2407) * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 * [uikit] Fixes based on comments * [coreimage] CIImageAccumulator API fixes. Fix #58349 (#2412) * Obsolete the default `init`; * XM exposed some older APIs using `int` instead of `CIFormat`. This is fixed and old APIs are obsoleted; * Both new & old APIs are now using `CIFormat` for both XI and XM. https://bugzilla.xamarin.com/show_bug.cgi?id=58349 * [uikit] UIText drag & drop - up to Xcode 9 beta 4 (#2410) * [uikit] UISplitView & UIStackView up to Xcode 9 beta 4 (#2425) * Bump XI/XM versions before preview 4 (#2422) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 (#2378) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 * [PDFKit] Implement feedback * [PDFKit] the forgotten enum * [PDFKit] More feedback * [PDFKit] Add Mac changes * Missing change * Fix test RectangleF VS CGRect * Pass -Wunguarded-availability-new to quiet a new clang warning (#2424) - https://bugzilla.xamarin.com/show_bug.cgi?id=58574 * [mtouch/mmp] Ignore warnings about unguarded code section with regards to availability. (#2441) * [monotouch-test] Remove workaround for fixed Apple bug. (#2445) * Bump to Xcode 9 beta 5. (#2447) * Bump to Xcode 9 beta 5. * [mmp] Disable the partial static registrar, because Apple's macOS SDK is broken. > In file included from Xamarin.Mac.registrar.mobile.i386.m:1: > In file included from ./Xamarin.Mac.registrar.mobile.i386.h:11: > /Applications/Xcode9-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVFoundation.h:88:9: fatal error: 'AVFoundation/AVRouteDetector.h' file not found https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [mmp] Fix partial static registrar removal. * [CallKit] Update to Xcode 9 beta 5. * [ARKit] ARPointCloud doesn't conform to NSCopying anymore in Xcode 9 beta 5. * [ARKit] Update to Xcode 9 beta 5 enough to make tests happy. * [CoreImage] Stub out new filters in Xcode 9 beta 5. * [tests][monotouch] Simplify some MDLMesh asserts since values change a lot between OS versions. * [mmp] Default to the dynamic registrar for release builds again, due to bug #58629. https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [tests][introspection] CXCall started implementing NSCopying without saying so in the headers. * Disable mmp static registrar tests due to 58629 for now * [quicklook] Update to beta 5 (#2450) * [photos] Update for beta 5 (#2452) Also update some existing enum members were added in beta 1 on macOS * [safariservices] Update for beta 5 (#2455) * [mediaplayer] Update to beta 5 (#2456) * [CoreLocation] Update Xcode 9 Beta 5 (#2453) * [CoreML] Update to Xcode 9 Beta 5 (#2454) * [Contacts] Update to Xcode 9 Beta 5 (#2451) * [Vision] Update to Xcode 9 Beta 5 (#2458) * [builds] Tell LLVM to stay away from newer macOS functions. (#2459) Fixes this build problem on Sierra: > ld: weak import of symbol '_futimens' not supported because of option: -no_weak_imports for architecture x86_64 This is a symbol that was (will be?) introduced in High Sierra. Interestingly this only occurs if the Xcode 8.X Command Line Tools haven't been manually installed. Because if the Xcode 8.X Command Line Tools are installed, this happens: 1. llvm's configure script detects that 'futimens' is not usable. 2. llvm's configure script detects that 'futimens' is not usable, because xcrun sets SDKROOT=/ when calling clang. a. When the SDKROOT variable is set, clang passes '-syslibroot /usr/lib' to ld. b. When ld gets '-syslibroot /usr/lib', ld looks in '/usr/lib' for a library that contains 'futimens' in the OS itself, and since we're on Sierra, that fails to link. c. So when llvm's configure script creates a test program that checks if 'futimens' is present, the program fails. This is correct, and makes llvm *not* use futimens. 3. xcrun sets SDKROOT=/ because /usr/share/current-os.sdk/Info.plist exists. If that file does not exist, then xcrun sets SDKROOT to Xcode9's macOS SDK (because that's what xcode-select reports). a. When SDKROOT is set to Xcode9's macOS SDK, the configure check for 'futimens' succeeds, because the macOS 10.13 SDK contains that function. b. llvm happily uses 'futimens', and then the final link fails because we're using a symbol not available on all target platforms. * [arkit] Update for Xcode 9 beta 5 - Part 1 (#2460) * [tests] The container app for watchOS tests should be 64-bit. (#2463) * [xharness] watchOS tests need to run in a clean environment. Works around #58348. (#2462) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [xharness] It watchOS tests don't need to be clean anymore. Fixes #58348. (#2473) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [uikit] UIView/UIScrollView/UIViewController up to Xcode 9 beta 5 (#2431) - Add NSDirectionalEdgeInsets type. - Includes DirectionalEdgeInsetsTest. * [AudioToolbox] Update bindings to Xcode 9 beta3 (not later changes). (#2294) * [xharness] Add a file existence check. (#2478) Fixes this exception: ``` Harness exception for 'introspection': System.IO.FileNotFoundException: Could not find file '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log'. File name: '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log' at System.IO.__Error.WinIOError (System.Int32 errorCode, System.String maybeFullPath) [0x00207] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/__error.cs:188 at System.IO.FileInfo.get_Length () [0x00038] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/fileinfo.cs:171 at xharness.CaptureLog.StopCapture () [0x00021] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Log.cs:252 at (wrapper remoting-invoke-with-check) xharness.CaptureLog:StopCapture () at xharness.AppRunner+<RunAsync>d__68.MoveNext () [0x0127f] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/AppRunner.cs:642 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter`1[TResult].GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:357 at xharness.RunSimulatorTask+<RunTestAsync>d__7.MoveNext () [0x0029d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2894 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.RunTestTask+<ExecuteAsync>d__8.MoveNext () [0x0010b] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2538 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.TestTask+<RunInternalAsync>d__87.MoveNext () [0x0010d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:1870 ``` I'm not sure how this can happen, but it has on the bots [1]. [1] https://jenkins.mono-project.com/job/xamarin-macios-pr-builder/4548/Test_Report/ * Bump versions for preview 5 (#2479) * [passkit] Update to beta 5 (#2481) * [tests] Remove workaround for radar #32688391. (#2486) * [replaykit] Update up to beta 5 (#2484) * Bump maccore to get fix for bug #55064. (#2487) * [apidiff] Update definition to new 10.12 (d15-3) stable release (#2490) * [SceneKit] basic work (#2483) * [coredata] Update to beta 5 (#2488) * [homekit] Update for Xcode 9 beta 5 (#2492) * [Foundation] Update for xcode9 (#2468) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 (#2493) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 * [Intents] Implement feedback * [Intents] Add a generic version for INInteraction.GetParameterValue * [Intents] Missing check * [Contacts] Add missing foundation NSItemProviderWriting protocol to CNContact (#2496) https://bugzilla.xamarin.com/show_bug.cgi?id=58203 This is available on all Contacts supported platforms ``` ./iPhoneOS.platform/Developer/SDKs/iPhoneOS11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchOS.platform/Developer/SDKs/WatchOS4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchSimulator.platform/Developer/SDKs/WatchSimulator4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ``` * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) (#2497) * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) * [IntentsUI] Better use a delegate instead so we have named params * Bump versions before 6th preview (#2514) * [arkit] Add missing MarshalDirective to ARPlaneAnchor (#2517) - Fixes bug #58648: ARPlaneAnchor.Extent property seems incorrect but changes to correct value after Debug access (https://bugzilla.xamarin.com/show_bug.cgi?id=58648) * [xtro-sharpie] Fix a compiler warning. (#2516) Fixes these warnings: Runner.cs(197,5): warning CS0642: Possible mistaken empty statement Runner.cs(199,5): warning CS0642: Possible mistaken empty statement Runner.cs(201,5): warning CS0642: Possible mistaken empty statement Runner.cs(203,5): warning CS0642: Possible mistaken empty statement Runner.cs(205,5): warning CS0642: Possible mistaken empty statement * [uikit] Update for Xcode 9 beta 5 - Part 3 (#2511) - UIKeyCommand - UINavigationBar - UINavigationItem - UIPasteboard - UITableViewHeaderFooterView * [xtro-sharpie] Remove xtro-plugin and misc other fixes. (#2522) * [xtro-sharpie] Build with msbuild and be as quiet as requested when building. * [xtro-sharpie] Must run as a 64-bit process, since the required native libraries are 64-bit. * [xtro-sharpie] Add run configurations to the project file to ease debugging in the IDE. * [xtro-sharpie] Remove xtro-plugin and the related commands. This was needed when there wasn't a 64-bit mono, in order to run xtro-sharpie in a 64-bit process. Now there is a 64-bit mono, so it's not needed anymore. Also improve makefile targets a bit, to auto-build stuff when needed, by setting the right dependencies. * Bump Xcode 9 to beta 6 (#2519) Disable watchOS tests again It seems like the Carousel crash from beta 4 is back to haunt us. This was working fine with beta 5. * Backport d15-3 SR2 fixes (#2515) * [coredata] Update to beta 6 (#2528) This seems to only revert some nullability changes from beta 5. * [coreml] Update to beta 6 (#2531) Fix our rdar 33643011 where additional setters were added in the headers but did not exists. * [videosubscriberaccount] Update to beta 6 (#2533) Only b1 and b2 introduced some additions/changes * [uikit] Update for Xcode 9 beta 6 - Part 4 (#2527) The following headers are now up to date: - UICollectionViewFlowLayout.h - UIDocumentPickerViewController.h - UIFontDescriptor.h - UIImage.h - UIImageView.h - UIImagePickerController.h * [xharness] Re-enable the watchOS tests. (#2534) It works fine for me locally, so let's see what Jenkins says. * [macos] Add new APIs in CoreWlan from Xcode9b3 (#2525) * Update AppKit bindings based on radar 33271241 results (#2518) * Update AppKit bindings based on radar 33271241 results - The header comment was updated to note it was NSSliderTouchBarItem view that has the protocol * Remove NSUserInterfaceCompression where not listed in header * [vision] Update to beta 6 (#2532) Removal of some deprecated (during beta) `init*` selectors. Also sync the versions that were inlined in subclasses - the old ones were not removed and the new ones were not added. * [xtro-sharpie] Many methods don't have selectors in Clang's API, so default to the name if no selector. (#2523) This makes a few more unclassified entries show up (mostly missing designated initializers): https://gist.github.com/rolfbjarne/07aa20f9b50b75bf3e69ac6a825e873a * [macos] Add ExternalAccessory APIs from xcode9 (#2526) * [58851] Disable NSMenuView in AllItemsWithNSMenuShouldAllowNull (#2504) * [arkit] Update for Xcode 9 beta 5 - Part 2 (#2505) - Add last missing selector. - Add tests for manual code. * [monotouch-test] Disable FontDescriptorTest.WithFeature (#2537) Disabled because it looks like the tvOS font we use: "Gujarati Sangam MN" does not have rare ligatures anymore (and the entire test is based on it). Before getting an actual fix for that, let's disable the test so it doesn't break all current builds. See: https://bugzilla.xamarin.com/show_bug.cgi?id=58929 * [xtro-sharpie] Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute. (#2524) Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute to calculate the native name for a TypeDefinition. Unclassified changes: https://gist.github.com/rolfbjarne/828f8ee41eebb0a3b60a38d71822fe59 * [foundation/uikit] Inline NSItemProvider_UIKitAdditions in NSItemProvider (#2538) As suggested here: https://github.com/xamarin/xamarin-macios/pull/2527#discussion_r134670981 * [intents] Fix breaking changes (api-diff) (#2543) Additions of @required members inside `INSpeakable` cannot be `[Abstract]` * [contacts] Fix breaking change (api-diff) (#2542) Type Changed: Contacts.CNPostalAddress Removed method: public static string LocalizeProperty (CNPostalAddressKeyOption option); * [macos] Reenable static registrar since Xcode9b6 un-broke SDK headers (#2544) - Fix a subtle spacing issues in PartialStaticLibrary property * [corebluetooth] Update up to beta 6 and enable it on watchOS (#2540) macOS 10.13 has finally catch up with iOS and this simplifies the bindings a bit. * [foundation] API fixes (apidiff) (#2545) 1. Let's not add new, already [Obsolete] API Type Changed: Foundation.NSDimension Added constructors: [Obsolete ("Not intended to be directly instantiated, this is an abstract class.")] public NSDimension (); 2. Fix inconsistently named API, e.g. Type Changed: Foundation.NSAttributedString Added properties: public static string[] ReadableTypeIdentifiersForItemProvider { get; } public static string[] WritableTypeIdentifiers { get; } * [pdfkit] Do not add already [Obsolete] API in new profiles (#2547) and ensure using the newer, correct API works cross-platforms iOS (before) [Obsolete ("Use 'Find (string, NSStringCompareOptions)' instead.")] public virtual PdfSelection[] Find (string text, nint options); public PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'Find (string, PdfSelection, NSStringCompareOptions)' instead.")] public virtual PdfSelection Find (string text, PdfSelection selection, nint options); public void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string, NSStringCompareOptions)' instead.")] public virtual void FindAsync (string text, nint options); public void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string [], NSStringCompareOptions)' instead.")] public virtual void FindAsync (string[] text, nint options); iOS (after) public virtual PdfSelection[] Find (string text, Foundation.NSStringCompareOptions compareOptions); public virtual PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); * Bump versions for the 7th preview (#2541) * Remove additions of AVKit removed in beta5 (#2536) * NSUrlSessionTask should implement NSProgressReporting for iOS (#2548) NSUrlSessionTask implements NSProgressReporting on iOS as well as Mac, so the #if MONOMAC isn't needed. * Add missing availability attributes causing failures on older iOS versions (#2550) * [vision] Minor fix wrt xtro (#2551) including some things we need to ignore manually !missing-field! VNVisionVersionNumber not bound !missing-pinvoke! VNImagePointForFaceLandmarkPoint is not bound !missing-pinvoke! VNNormalizedFaceBoundingBoxPointForLandmarkPoint is not bound * [uikit] NSFileProviderMessaging was removed in beta 2. Fixes #58222 (#2552) reference: https://bugzilla.xamarin.com/show_bug.cgi?id=58222 * [uikit] Update for Xcode 9 - Part 5 (#2546) Bindings for the following headers: - UIActivity.h - UIActivityItemProvider.h - UIAlertController.h - UIApplication.h - UIBarButtonItem.h - UIButton.h - UICollectionViewLayout.h - UIColor.h - UIControl.h - UIDocumentMenuViewController.h - UIFontMetrics.h - UIGestureRecognizer.h - UIGraphicsImageRenderer.h - UIInputViewController.h * [CoreText] Fix an extraneous free in CTFont.GetDefaultCascadeList. (#2555) We do not own the return value from CFArrayGetValueAtIndex, so don't say we do when creating CTFontDescriptor instances, since that leads to angry dragons: 2017-08-28 20:15:20.293 monotouchtest[33186:2311738] A_FontTest 2017-08-28 20:15:20.294 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithFontDescriptorAndOptions 2017-08-28 20:15:20.295 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithNameAndOptions 2017-08-28 20:15:20.296 monotouchtest[33186:2311738] critical: Stacktrace: at <unknown> <0xffffffff> at (wrapper managed-to-native) CoreText.CTFont.CTFontCopyDefaultCascadeListForLanguages (intptr,intptr) [0x0000a] in <ae65a2b1eea242d2b68fe784749543bf>:0 at CoreText.CTFont.GetDefaultCascadeList (string[]) [0x00013] in /work/maccore/xcode9/xamarin-macios/src/CoreText/CTFont.cs:2185 at MonoTouchFixtures.CoreText.A_FontTest.GetCascadeList () [0x0001e] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/CoreText/FontTest.cs:78 at (wrapper runtime-invoke) object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) [0x0004f] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) System.Reflection.MonoMethod.InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&) [0x00016] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at System.Reflection.MonoMethod.Invoke (object,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo) [0x00032] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/corlib/System.Reflection/MonoMethod.cs:305 at System.Reflection.MethodBase.Invoke (object,object[]) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/referencesource/mscorlib/system/reflection/methodbase.cs:229 at NUnit.Framework.Internal.Reflect.InvokeMethod (System.Reflection.MethodInfo,object,object[]) [0x00009] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Reflect.cs:215 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunNonAsyncTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x00025] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:116 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x0001a] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:90 at NUnit.Framework.Internal.Commands.TestMethodCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:66 at NUnit.Framework.Internal.Commands.SetUpTearDownCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00007] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/SetUpTearDownCommand.cs:84 at NUnit.Framework.Internal.WorkItems.SimpleWorkItem.PerformWork () [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/SimpleWorkItem.cs:64 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at MonoTouch.NUnit.UI.BaseTouchRunner.Run (NUnit.Framework.Internal.Test) [0x0004d] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:442 at MonoTouch.NUnit.UI.BaseTouchRunner.Run () [0x00030] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:171 at MonoTouch.Dialog.StringElement.Selected (MonoTouch.Dialog.DialogViewController,UIKit.UITableView,Foundation.NSIndexPath) [0x00008] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/Elements.cs:765 at MonoTouch.Dialog.DialogViewController.Selected (Foundation.NSIndexPath) [0x00026] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:577 at MonoTouch.Dialog.DialogViewController/Source.RowSelected (UIKit.UITableView,Foundation.NSIndexPath) [0x00016] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:402 at (wrapper runtime-invoke) <Module>.runtime_invoke_void__this___object_object (object,intptr,intptr,intptr) [0x0005d] in <32f0c196c5bc4aa18daea2ee64a7814e>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) UIKit.UIApplication.UIApplicationMain (int,string[],intptr,intptr) [0x0005c] in <ae65a2b1eea242d2b68fe784749543bf>:0 at UIKit.UIApplication.Main (string[],intptr,intptr) [0x00005] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:79 at UIKit.UIApplication.Main (string[],string,string) [0x00038] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:63 at monotouchtest.Application.Main (string[]) [0x00011] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/Main.cs:27 at (wrapper runtime-invoke) <Module>.runtime_invoke_void_object (object,intptr,intptr,intptr) [0x00051] in <30a7f7e09de9467b8b454221034a0e38>:0 Native stacktrace: 0 monotouchtest 0x000000010fca03c4 mono_handle_native_crash + 244 1 monotouchtest 0x000000010fcadd30 mono_sigsegv_signal_handler + 288 2 libsystem_platform.dylib 0x000000011feb3b3a _sigtramp + 26 3 CoreFoundation 0x000000011de035a2 computeSanitizedString + 146 4 CoreText 0x00000001168df314 _ZN15TPurgeableCache19RetainedValueForKeyEPKv + 54 5 CoreText 0x00000001168def85 _ZNK17TDescriptorSource22CopyDescriptorUncachedEPK7__CFURLbPK10__CFString + 55 6 CoreText 0x00000001168df34f _ZNK17TDescriptorSource14CopyDescriptorEPK7__CFURLbPK10__CFString + 27 7 CoreText 0x00000001168e20ad _ZNK17TDescriptorSource35CopyFontDescriptorPerPostScriptNameEPK10__CFStringmm + 297 8 CoreText 0x00000001168dfd9e _ZNK17TDescriptorSource30CopySystemFontDescriptorByNameEPK10__CFString10UIFontFlag + 54 9 CoreText 0x00000001168e54c4 _ZNK14TFontFallbacks17CopyFontFallbacksEPK10__CFStringS2_PK9__CFArray + 652 10 CoreText 0x00000001168e4a00 _ZNK14TFontFallbacks29CopyFontFallbacksForLanguagesEPK10__CFStringPK9__CFArray + 122 11 CoreText 0x00000001168e4971 _ZN17TDescriptorSource39CopyDefaultSubstitutionListForLanguagesEPK10__CFStringPK9__CFArray + 61 12 CoreText 0x00000001169397a7 _ZNK9TBaseFont28CreateSystemDefaultFallbacksEPK10__CFStringPK9__CFArray + 51 13 CoreText 0x000000011693999c _ZNK9TBaseFont15CreateFallbacksE10UIFontFlagPPK16__CFCharacterSetPK9__CFArray + 346 14 CoreText 0x00000001168c1036 _ZNK5TFont24CreateDefaultCascadeListEPK9__CFArray + 242 15 CoreText 0x00000001168b8ff9 CTFontCopyDefaultCascadeListForLanguages + 97 16 ??? 0x0000000140eaefd3 0x0 + 5384105939 17 ??? 0x0000000140eae761 0x0 + 5384103777 18 ??? 0x000000013c9c8e74 0x0 + 5311860340 19 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 20 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 21 monotouchtest 0x000000010fd71bac mono_runtime_try_invoke_array + 1292 22 monotouchtest 0x000000010fd15587 ves_icall_InternalInvoke + 647 23 ??? 0x000000013e9fcd13 0x0 + 5345627411 24 ??? 0x000000013e9fc738 0x0 + 5345625912 25 ??? 0x000000013e9fded5 0x0 + 5345631957 26 ??? 0x000000013e9fbb76 0x0 + 5345622902 27 ??? 0x000000013e9e237e 0x0 + 5345518462 28 ??? 0x000000013e9e237e 0x0 + 5345518462 29 ??? 0x000000013e9e237e 0x0 + 5345518462 30 ??? 0x000000013e9e237e 0x0 + 5345518462 31 ??? 0x000000013e873006 0x0 + 5344014342 32 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 33 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 34 monotouchtest 0x000000010fd6e320 mono_runtime_invoke + 208 35 monotouchtest 0x000000010fe71af1 xamarin_invoke_trampoline + 5617 36 monotouchtest 0x000000010fe79ddd xamarin_arch_trampoline + 189 37 monotouchtest 0x000000010fe7b1a1 xamarin_x86_64_common_trampoline + 110 38 UIKit 0x0000000111b9876b -[UITableView _selectRowAtIndexPath:animated:scrollPosition:notifyDelegate:] + 1810 39 UIKit 0x0000000111b98986 -[UITableView _userSelectRowAtPendingSelectionIndexPath:] + 344 40 UIKit 0x0000000111a6b5c9 _runAfterCACommitDeferredBlocks + 318 41 UIKit 0x0000000111a59dad _cleanUpAfterCAFlushAndRunDeferredBlocks + 280 42 UIKit 0x0000000111a89f68 _afterCACommitHandler + 137 43 CoreFoundation 0x000000011de3ddb7 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23 44 CoreFoundation 0x000000011de3dd0e __CFRunLoopDoObservers + 430 45 CoreFoundation 0x000000011de22324 __CFRunLoopRun + 1572 46 CoreFoundation 0x000000011de21a89 CFRunLoopRunSpecific + 409 47 GraphicsServices 0x0000000121b7e9c6 GSEventRunModal + 62 48 UIKit 0x0000000111a5f7d0 UIApplicationMain + 159 49 ??? 0x000000013c9c4474 0x0 + 5311841396 50 ??? 0x000000013c9c40ad 0x0 + 5311840429 ================================================================= Got a SIGSEGV while executing native code. This usually indicates a fatal error in the mono runtime or one of the native libraries used by your application. ================================================================= * [monotouch-test] Don't subclass MKMapView. (#2556) MKMapView doesn't like being subclassed (Apple says "you should not subclass the MKMapView class itself"). Bad things like this starts happening: Thread 0 name: tid_303 Dispatch queue: com.apple.main-thread Thread 0 Crashed: 0 libsystem_kernel.dylib 0x0000000186b25348 __pthread_kill + 8 1 libsystem_pthread.dylib 0x0000000186c39354 pthread_kill$VARIANT$mp + 396 2 libsystem_c.dylib 0x0000000186a94fd8 abort + 140 3 monotouchtest 0x0000000101c02c14 mono_handle_native_crash + 22047764 (mini-exceptions.c:2548) 4 monotouchtest 0x0000000101c0d02c mono_sigsegv_signal_handler + 22089772 (mini-runtime.c:2886) 5 libsystem_platform.dylib 0x0000000186c33b60 _sigtramp + 52 6 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 7 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 8 CoreFoundation 0x0000000186eda51c -[__NSArrayM dealloc] + 68 9 CoreFoundation 0x000000018703f5c8 __CFBasicHashDrain + 312 10 CoreFoundation 0x0000000186fb5b44 _CFRelease + 224 11 CoreText 0x000000018a808404 TDescriptorSource::PurgeFontFallbacksCache+ 488452 () + 92 12 CoreText 0x000000018a808374 TDescriptorSource::PurgeFromCaches+ 488308 (__CFURL const*) const + 176 13 CoreText 0x000000018a7eec74 CTFontRemoveFromCaches + 168 14 VectorKit 0x0000000196a539b0 +[VKSharedResourcesManager removeResourceUser:] + 324 15 VectorKit 0x0000000196ca27a4 md::MapEngine::~MapEngine+ 2643876 () + 360 16 VectorKit 0x0000000196ca2634 md::MapEngine::~MapEngine+ 2643508 () + 12 17 libobjc.A.dylib 0x000000018651eef4 object_cxxDestructFromClass+ 28404 (objc_object*, objc_class*) + 148 18 libobjc.A.dylib 0x000000018652c638 objc_destructInstance + 88 19 libobjc.A.dylib 0x000000018652c690 object_dispose + 16 20 QuartzCore 0x000000018afca3ac -[CALayer dealloc] + 116 21 VectorKit 0x0000000196a43294 -[VKMapView dealloc] + 940 22 QuartzCore 0x000000018af6aafc CA::release_objects+ 744188 (X::List<void const*>*) + 32 23 QuartzCore 0x000000018afd97d8 CA::Layer::~Layer+ 1198040 () + 276 24 QuartzCore 0x000000018afca37c -[CALayer dealloc] + 68 25 QuartzCore 0x000000018af6b16c CA::Transaction::commit+ 745836 () + 1052 26 UIKit 0x0000000190393290 _afterCACommitHandler + 256 27 CoreFoundation 0x0000000186fb38b8 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 32 28 CoreFoundation 0x0000000186fb1270 __CFRunLoopDoObservers + 412 29 CoreFoundation 0x0000000186fb182c __CFRunLoopRun + 1292 30 CoreFoundation 0x0000000186ed22d8 CFRunLoopRunSpecific + 436 31 GraphicsServices 0x0000000188d58f84 GSEventRunModal + 100 32 UIKit 0x000000019040427c UIApplicationMain + 208 33 monotouchtest 0x000000010106eb90 wrapper_managed_to_native_UIKit_UIApplication_UIApplicationMain_int_string___intptr_intptr + 9907088 (/<unknown>:1) 34 monotouchtest 0x0000000100f0d6ac UIKit_UIApplication_Main_string___intptr_intptr + 8459948 (UIApplication.cs:79) 35 monotouchtest 0x0000000100f0d66c UIKit_UIApplication_Main_string___string_string + 8459884 (UIApplication.cs:63) 36 monotouchtest 0x0000000100b10450 monotouchtest_Application_Main_string__ + 4277328 (Main.cs:27) 37 monotouchtest 0x0000000100e0c244 wrapper_runtime_invoke_object_runtime_invoke_dynamic_intptr_intptr_intptr_intptr + 244 38 monotouchtest 0x0000000101c10048 mono_jit_runtime_invoke + 22102088 (mini-runtime.c:2526) 39 monotouchtest 0x0000000101c75eec do_runtime_invoke + 22519532 (object.c:2829) 40 monotouchtest 0x0000000101c78a3c do_exec_main_checked + 22530620 (object.c:4623) 41 monotouchtest 0x0000000101bf9a1c mono_jit_exec + 22010396 (driver.g.c:1040) 42 monotouchtest 0x0000000101d13d60 xamarin_main + 23166304 (monotouch-main.m:482) 43 monotouchtest 0x00000001007de710 main + 927504 (main.m:67) 44 libdyld.dylib 0x00000001869f656c start + 4 * [introspection] Let SkipDueToAttributeInProperty skip setters too (#2557) `SkipDueToAttributeInProperty` which is used to check the availability attribute of properties when the Availability info only exist on the property and not on the property Getter or Setter was wrong. This lead to `setSpringLoaded` (which was introduced in iOS 11) to not be ignored by the test (making it fail). - Fix bug #59085: [introspection-ios] selector not found for UIKit.UIBarButtonItem : setSpringLoaded: - Broken test (https://bugzilla.xamarin.com/show_bug.cgi?id=59085) * [corevideo][watchos] Enable CoreVideo on watchOS (#2553) * [storekit] Fix CampaignToken typo (#2559) (#2560) - Fixes bug #59078: StoreProductParameters and invalid property for CampaignToken (https://bugzilla.xamarin.com/show_bug.cgi?id=59078) * [coreml][watchos] Enable API using CoreVideo on watchOS. Fix #58097 (#2561) https://bugzilla.xamarin.com/show_bug.cgi?id=58097 * Add missing [MarshalDirective] attributes. (#2558) * [bindings-generator] Improve build & project file. * Add missing [MarshalDirective] attributes. Add missing [MarshalDirective] attributes, which also requires implementing support for out parameters in the binding generator, since one of the signatures missing the [MarshalDirective] contains such an out parameter. Also add tests for all the API I've added [MarshalDirective] to. * [bindings-generator] Remove redundant if check. * [monotouch-test] Rename file to end with 'Test.cs'. * [tests] Fix a few build errors for Xamarin.Mac. * [uikit] Fix UIColor and UIInputViewController tvOS availability (#2569) - Fixes introspection tests on tvOS 10. * [storekit] Fix SKCloudServiceSetupMessageIdentifier and SKProductStorePromotionController tvOS availability (#2568) - Fixes introspection tests on tvOS 10. * [mapkit] Fix MKMapItemTypeIdentifier tvOS availability (#2566) - Also remove double [Mac] availability attribute. - Fixes introspection tests on tvOS 10. * [ARKit] Fix marshalling for ARPointCloud.RawFeaturePoints. (#2565) ARPointCloud.RawFeaturePoints is an array of Vector3, but each vector is 16-byte aligned (as if it were an array of Vector4). This means we need to account for this when creating a managed array from pointer to the native C-style array. * [ModelIO] Fix MDLVoxelIndexExtent struct. (#2564) The MDLVoxelIndexExtent is a struct containing two 4-dimensional vectors of integers (not floats, as originally and incorrectly implemented). Fix this my creating a new MDLVoxelIndexExtent2 struct with the right fields, re-implement all the API that exposes this struct and obsolete the old API. Also add missing [MarshalDirective] attributes. And write a test to make sure it works fine now and forever. * [coredata] Enable new fields since rdar #33878590 is fixed w/beta 6 (#2570) reference: https://trello.com/c/dlSRYPFx * [xtro-sharpie] Add a Simd check class to verify signatures with Simd types. * [Simd] Add simd matrix types. The OpenTK matrices (Matrix2/3/4) has a different memory layout than Apple's matrix_float2x2/matrix_float3x3/matrix_float4x4 matrices: the OpenTK versions are row-major, while Apple's versions are column-major. This means that when blitting memory from one to the other, the matrix will appear to have been transposed. See bug #[58599][2] for an example. Unfortunately we've already bound several API with Apple's matrix_floatXxX matrices using OpenTK's matrices, and although they're bound wrong, and the matrices appear transposed on input/output, we can't change the behavior because we have to maintain compatibility. This means we have to introduce new API, and then also just define new matrix types with the right memory layout (column-major). Additionally, in the future we might be able to mark these matrices as Simd-matrixes, so that the JIT/AOT compiler can generate the correct alignment for them, avoiding having to define a native conversion method (using the [MarshalDirective] hack). The matrices have been designed to match API-wise the matrices in the System.Numerics.Vectors namespace [1], but for the moment with only a few basic operations implemented (Determinant/Transpose/Multiply) defined (we can always add more later if we want to). In addition explicit conversion operators to and from the corresponding OpenTK.MatrixX are implemented, which means any operation defined in the OpenTK matrices can be used by converting back and forth. [1]: https://msdn.microsoft.com/en-us/library/system.numerics.matrix4x4(v=vs.111).aspx [2]: https://bugzilla.xamarin.com/show_bug.cgi?id=58599 * [ARKit] Use the new Simd matrix types. * [Vision] Use the new Simd matrix types. * [ModelIO] Use the new Simd-compatible matrix types, and deprecate the old API. * [GameplayKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [SpriteKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [xtro] Don't report missing [MarshalDirective] for obsolete methods. * [xtro] Remove unnecessary ignores. The implementation changed, and these stayed accidentally. * [wkwebkit] Fix (native) protocol names (#2572) Also ignore xtro's WKSnapshotConfiguration since it's an Apple bug 34185961 reference (xtro) !missing-protocol! WKURLSchemeHandler not bound !missing-protocol! WKURLSchemeTask not bound !unknown-protocol! WKUrlSchemeHandler bound !unknown-protocol! WKUrlSchemeTask bound !unknown-type! WKSnapshotConfiguration bound * [uikit] Fix enums availability attributes (#2575) - Fixes bug #59132: [uikit] Extra types in watchOS (https://bugzilla.xamarin.com/show_bug.cgi?id=59132) * [watchkit] Add missing designated initializers (#2574) references (xtro) !missing-designated-initializer! WKInterfaceController::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! WKUserNotificationInterfaceController::init is missing an [DesignatedInitializer] attribute * [xtro] Reword some of the Simd diagnostic messages according to review. * [tests] Make sure test symbols don't clash between different test libraries. Fixes this build problem for framework-test: clang: error: linker command failed with exit code 1 (use -v to see invocation) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_get_rotation_matrix'. MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticObjectTest.framework/XStaticObjectTest (Location related to previous error) MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticArTest.framework/XStaticArTest(libtest-ar.x86_64.o) (Location related to previous error) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransformcomponent_get_local_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_create_global_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float4x4'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float3x3'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float2x2'. MTOUCH: error MT5209: Native linking error: 6 duplicate symbols for architecture x86_64 MTOUCH: error MT5202: Native linking failed. Please review the build log. * [tests] Since libtest.a need ModelIO now, the corresponding LinkWith attributes need to state that too. * [introspection] Don't check native signatures on obsolete members, and ignore the right simd matrix types. Fixes this introspection/Mac problem: ***** ApiSignatureTest.NativeSignatures Selector: uniformWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: uniformWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: uniformWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: setMatrixFloat2x2Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: setMatrixFloat3x3Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: setMatrixFloat4x4Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: initWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: initWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: initWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded * [monotouch-tests] Include more custom asserts for watchOS to make the build work. Fixes this: Simd/MatrixFloat4x4Test.cs(28,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(29,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(37,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(48,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' [...] * [monotouch-test] Exclude code that requires the binding project from xammac tests. Exclude code that requires the test binding project from xammac tests because there's currently no XM version of the test binding project. Fixes this: tests/monotouch-test/SpriteKit/UniformTest.cs(20,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLMaterialProperty.cs(37,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLTransform.cs(34,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) * Bump version for preview #8 (#2576) * [spritekit] Audit fixes (xtro) (#2577) 1. SKVideoNode is now, partially, available on watchOS and does not require the extra, manual code to swicth selectors depending on the OS version being run. !missing-type! SKVideoNode not bound !missing-selector! SKVideoNode::anchorPoint not bound !missing-selector! SKVideoNode::initWithCoder: not bound !missing-selector! SKVideoNode::initWithFileNamed: not bound !missing-selector! SKVideoNode::initWithURL: not bound !missing-selector! SKVideoNode::setAnchorPoint: not bound !missing-selector! SKVideoNode::setSize: not bound !missing-selector! SKVideoNode::size not bound !missing-selector! +SKVideoNode::videoNodeWithFileNamed: not bound !missing-selector! +SKVideoNode::videoNodeWithURL: not bound 2. SKNodeFocusBehavior is exposed needlessly on watchOS because SpriteKit/Enums.cs was not processed by the generator, so [NoWatch] did not matter. !unknown-native-enum! SKNodeFocusBehavior bound It's also visible on macOS but nothing uses it (so we do not expose it needlessly) !missing-enum! SKNodeFocusBehavior not bound 3. Add missing designated initializer on default `init` !missing-designated-initializer! SKAttributeValue::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! SKNode::init is missing an [DesignatedInitializer] attribute 4. Remove inconsistency for SKNode subclasses wrt XAMCORE_4_0 The trio attributeValues, setAttributeValues and setValue:forAttributeNamed: that was moved from SKNode (deprecated) into its subclasses. This was done using XAMCORE_4_0 but not on every subclasses. This adds them everywhere to be consistent (only SKNode versions are not defined in XAMCORE_4_0) !missing-selector! SKEffectNode::attributeValues not bound !missing-selector! SKEffectNode::setAttributeValues: not bound !missing-selector! SKEffectNode::setValue:forAttributeNamed: not bound !missing-selector! SKEffectNode::valueForAttributeNamed: not bound !missing-selector! SKEmitterNode::attributeValues not bound !missing-selector! SKEmitterNode::setAttributeValues: not bound !missing-selector! SKEmitterNode::setValue:forAttributeNamed: not bound !missing-selector! SKEmitterNode::valueForAttributeNamed: not bound !missing-selector! SKSpriteNode::attributeValues not bound !missing-selector! SKSpriteNode::setAttributeValues: not bound !missing-selector! SKSpriteNode::setValue:forAttributeNamed: not bound !missing-selector! SKSpriteNode::valueForAttributeNamed: not bound * [introspection] Make sure '[FAIL]' is printed before every failure. (#2578) This makes xharness able to list the failures in the inline summary. * [xtro] Reword some of the Simd diagnostic messages according to review. * [xharness] Add a missing IsServerMode check to generate correct html. (#2581) * [SpriteKit] SKTransformNode is new in Xcode 9 so no need to keep the broken (and obsolete) non-simd version of RotationMatrix. * [intents] Fix some (partial) xtro issues and #59156 (#2585) reference https://bugzilla.xamarin.com/show_bug.cgi?id=59156 Remaining issues are filled in https://bugzilla.xamarin.com/show_bug.cgi?id=59183 !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound * [Intents] Confirm* interface methods should be bound as Confirm, Fixes Bug 59164 (#2591) * [Intents] Confirm* interface methods should probably be bound as Confirm, Fixes Bug 59164 https://bugzilla.xamarin.com/show_bug.cgi?id=59164 All Confirm* methods from *IntentHandling interfaces should be named just `Confirm` to avoid confusion because most of them do not directly confirm as an acion, but instead they **ask** for confirmation also we would follow swift's naming by doing this. * [Intents] XAMCORE_4_0 all Confirm* methods from *IntentHandling Turns any Confirm* into just Confirm inside a XAMCORE_4_0 block, * [Intents] Fix breaking changes in Intents added in Xcode 9 Bindings (#2590) Apple added more protocol conformances to INRidesharingDomainHandling and INPaymentsDomainHandling protocols in Xcode 9, I introduced these breaking changes back when I did intents binding so fixing them :) * [Metal] New bindings from Xcode 9 betas (#2457) * [AVFoundation] Updated bindings for xcode9. (#2272) * [Xcode9] Add IOSurface bindings (#2363) * This framework was a private framework before iOS 11. This framework was a private framework before iOS 11, yet the headers claim many API were introduced in iOS 10. So take account of this difference by using the private framework location in iOS 10.3 or earlier. Testing these API from Xcode works fine when run on an iOS 10.3 device, and I've confirmed the IOSurface framework is loaded from the private frameworks path on older devices (and when built using Xcode 9 and linked with the public framework path). * Disable code to make IOSurface work on iOS 10. Disable the code to make IOSurface work on iOS 10, since it may be rejected by the App Store. This also means adjusting the availability attributes, so that the introspection tests pass (and to document that technically these API won't work when used with Xamarin.iOS in iOS 10). I've filed bug #[59201][1] to keep track of this, maybe we can re-enable this later. [1]: https://bugzilla.xamarin.com/show_bug.cgi?id=59201 * [CoreMedia] Fix leak in CMAttachmentBearer.GetAttachments. (#2593) The caller owns the return value from CMCopyDictionaryOfAttachments, so tell Runtime.GetNSObject that. * [Intents] Adds missing API found by xtro, fixes Bug 59183 (#2596) https://bugzilla.xamarin.com/show_bug.cgi?id=59183 Fixes !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !incorrect-protocol-member! INUIHostedViewControlling::configureWithInteraction:context:completion: is OPTIONAL and should NOT be abstract * [xtro] Fix StartWorkingDirectory to enable debugging (#2598) * [iosurface] Enable for tvOS and XM classic (to avoid multiple defines around consumer API) (#2597) * [xtro] Fix EnumCheck (#2600) * [ARKit] Rename a few method to make them nicer. (#2604) * DisplayTransform -> GetDisplayTransform since methods should have verbs. * SessionWasInterrupted -> WasInterrupted and SessionInterruptionEnded -> InterruptionEnded since these names match better with the other names (CameraDidChangeTrackingState / DidFail / DidOutputAudioSampleBuffer: none are prefixed with 'Session'). Additionally, the type is a Model (for the delegate pattern), which means all methods are more-or-less event-like, and the first argument is always the same (the protocol itself), which is another indicator the methods should be named similarly. * [Foundation] Remove 'Key' suffix from some fields. (#2606) Of the 168 fields in NSMetadataItem, only these 5 hadn't removed the 'Key' suffix. So make them all equivalent by removing the 'Key' suffix from these 5 fields. * [ImageIO] Fix API to not duplicate the instance in instance methods. (#2609) An instance method does not need to take the instance as a parameter, so remove the first (instance) parameter for CGImageDestination.AddAuxiliaryDataInfo and CGImageSource.CopyAuxiliaryDataInfo. An alternative solution would be to make the methods static, but I like the instance API better. * [UIKit] De-model UIDataSourceTranslating. (#2603) It's not clear from neither the documentation nor the headers how this protocol is supposed to be used, and since it doesn't correspond to the delegate pattern, remove the [Model] attribute for now. We can always add it back later. * [CoreML] Improve API. (#2592) * [CoreML] Improve API. * The indices, shape and stride properties for MLMultiArray and MLMultiArrayConstraint can logically only be arrays of integers, so type them as such. This means adding overloads for MLMultiArray's constructors, GetObject and SetObject methods, and the indexers that takes nint[] arrays instead of NSNumber[] arrays. * Change MLFeatureValue's static factory methods to be a method ('Create') instead of a preposition, and call all the different factory methods the same, since they can be overloaded nicely. * [tests][monotouch-test] Add version check to MLMultiArrayTest and make sure the arrays we create are big enough for the data we put in them. * [tests][monotouch-test] MLMultiArray's elements aren't zero-initialized, so don't assume that in the tests. * Support overloading Objective-C methods based on static/instance. (#2607) Two Objective-C methods can be named identically as long as one is static and the other instance. We must support this since Apple did just this (in the NSItemProviderReading / NSItemProviderWriting protocols). We solve it by prepending a '+' or '-' to the selector when hashing it (to determine selector uniqueness, and to look the method up again at runtime). * [uikit] Update for Xcode 9 - Part 6 (#2602) NSAttributedString.h NSFileProviderExtension.h NSLayoutAnchor.h UIAccessibility.h UIAccessibilityAdditions.h UIAccessibilityContainer.h UIAccessibilityContentSizeCategoryImageAdjusting.h UIAccessibilityCustomRotor.h UIAccessibilityLocationDescriptor.h UITabBar.h UINavigationBar.h UIScreen.h * Xcode9 scenekit (#2512) * [SceneKit] basic work * Added key * [xcode9] SCNCameraController * [xcode9] SCNCamera updates * [xcode9] SCNMaterial * [xcode9] SCNGeometryTessellator, SCNCameraControlConfiguration, SCNView, small bits * Add trailing commas to last enum value * Remove whitespace noise * [scenekit] Update deprecated attributes messages * Addresses some of Rolf's feedback * Drop the WeakDelegate in SCNCameraController * Rename method to Render, remove ctor from class that can not be constructed in Palygrounds, add typo exception * [AppKit] Rename NSBezierPath.AppendBezierPathWithCGGlyph to match its sibling methods. (#2605) NSBezierPath contains a lot of 'AppendPathWithXXX' methods, that all map to 'appendBezierPathXXX' selectors. So rename AppendBezierPathWithCGGlyph accordingly, to make it more similar to the other methods in the same type. * [uikit] Add all UISpringLoadedInteractionSupporting (#2616) Types do not conform to the protocol but protocol methods work on those types (see monotouch-test). Fixed introspection tests accordingly and tested the selectors in monotouch-test. * [Intents] Add convenience ctor overload and call correct base ctor in manual ctor. (#2613) Add a convenience constructor overload in INGetUserCurrentRestaurantReservationBookingsIntent that uses nint instead of NSNumber, since logically "number of results" will always be some sort of integer. Also call the correct base constructor in INSpeakableString's custom constructor (same as any other generated constructor). Otherwise we end up doing something like this: [[[INSpeakableString alloc] init] initWith ...], i.e. calling two different init methods. * [coreimage] Add new headers API up to beta 6 (#2601) Filters are not complete (ref: #57350) https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * Some new constants are not yet documented (type is known), so they are commented / ignored https://bugzilla.xamarin.com/show_bug.cgi?id=59296 * Filled bug for [Wrap] inside [Category] so strong dictionary helpers can be re-enabled later https://bugzilla.xamarin.com/show_bug.cgi?id=59294 * [foundation] xtro fixes for watchOS (#2586) !missing-enum! NSProcessInfoThermalState not bound !missing-field! NSProcessInfoThermalStateDidChangeNotification not bound !missing-selector! NSProcessInfo::thermalState not bound Headers are wrong and preferredPresentationStyle is not in tvOS and watchOS !missing-selector! NSItemProvider::preferredPresentationStyle not bound !missing-selector! NSItemProvider::setPreferredPresentationStyle: not bound * [uikit] Also remove UIPreferredPresentationStyle enum from platform where it's not used * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. (#2614) * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. * NSItemProviderWriting: * NSItemProviderReading: Implement correctly and completely by uncommenting commented out code. * NSMutableString: * NSAttributedString: remove inlined members, since these classes don't implement NSItemProviderReading / NSItemProviderWriting (according to the headers at least). * NSUrl: all platforms now seem to implement NSItemProviderReading / NSItemProviderWriting. * NSString: all platforms now seem to implement both NSItemProviderReading and NSItemProviderWriting * UIColor: * UIImage: Update inlined protocol members according to the latest beta. Additionally, due to the following conditions: * The protocols all have the correct members now. * In the API definition we tell the generator to inline members from a protocol by inheriting from the corresponding interface. * The generator doesn't inline static members from protocols. several 'new' keywords had to be added to silence a compiler warning that occurrs when we manually inline a static member, since the member would be included in the type both from the inherited interface and the manual implementation. * [Foundation] Comment out NSItemProviderWriting.GetItemProviderVisibility to avoid inlining/generating unusable methods. NSItemProviderWriting.GetItemProviderVisibility is an optional method, and none of the native classes that implements NSItemProviderWriting actually imlements the method. This means inlining the method in those classes ends up creating unusable API; so just comment out the method to avoid generating the unusable API. The introspection tests found this: [FAIL] Foundation.NSString : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Foundation.NSUrl : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Contacts.CNContact : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] MapKit.MKMapItem : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIColor : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIImage : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] iOSApiSelectorTest.ApiSelectorTest.StaticMethods : 6 errors found in 2348 static selector validated: See also https://bugzilla.xamarin.com/show_bug.cgi?id=59308 * [iosurface] Add missing [TV] attributes (#2619) * [opengles] Enable the new API using IOSurface (#2618) The symbol only exists inside device libraries, not on simulator, and the introspection tests were updated to ignore it. Part of https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [avfoundation][watchos] Enable AudioBufferList (fix #59145) + audit (xtro) (#2617) 1. AudioBufferList is part of CoreAudio (wrong namespace, which needs a few changes in the generator) and now available in watchOS 4 https://bugzilla.xamarin.com/show_bug.cgi?id=59145 2. Also fixes xtro found issues: !missing-type! AVAudioRecorder not bound !missing-selector! AVAudioRecorder::averagePowerForChannel: not bound !missing-selector! AVAudioRecorder::channelAssignments not bound !missing-selector! AVAudioRecorder::currentTime not bound !missing-selector! AVAudioRecorder::delegate not bound !missing-selector! AVAudioRecorder::deviceCurrentTime not bound !missing-selector! AVAudioRecorder::format not bound !missing-selector! AVAudioRecorder::initWithURL:format:error: not bound !missing-selector! AVAudioRecorder::initWithURL:settings:error: not bound !missing-selector! AVAudioRecorder::isMeteringEnabled not bound !missing-selector! AVAudioRecorder::isRecording not bound !missing-selector! AVAudioRecorder::peakPowerForChannel: not bound !missing-selector! AVAudioRecorder::recordAtTime: not bound !missing-selector! AVAudioRecorder::recordAtTime:forDuration: not bound !missing-selector! AVAudioRecorder::recordForDuration: not bound !missing-selector! AVAudioRecorder::setChannelAssignments: not bound !missing-selector! AVAudioRecorder::setDelegate: not bound !missing-selector! AVAudioRecorder::setMeteringEnabled: not bound !missing-selector! AVAudioRecorder::settings not bound !missing-selector! AVAudioRecorder::url not bound !missing-protocol! AVAudioRecorderDelegate not bound !missing-selector! AVAudioEngine::inputNode not bound !missing-selector! AVAudioEngine::manualRenderingBlock not bound !missing-selector! AVAudioInputNode::setManualRenderingInputPCMFormat:inputBlock: not bound !missing-selector! AVAudioPlayer::format not bound !missing-selector! AVAudioSession::requestRecordPermission: not bound !unknown-field! AVFileType3GPP bound !unknown-field! AVFileType3GPP2 bound !unknown-field! AVFileTypeAC3 bound !unknown-field! AVFileTypeAIFC bound !unknown-field! AVFileTypeAIFF bound !unknown-field! AVFileTypeAMR bound !unknown-field! AVFileTypeAVCI bound !unknown-field! AVFileTypeAppleM4A bound !unknown-field! AVFileTypeAppleM4V bound !unknown-field! AVFileTypeCoreAudioFormat bound !unknown-field! AVFileTypeDNG bound !unknown-field! AVFileTypeEnhancedAC3 bound !unknown-field! AVFileTypeHEIC bound !unknown-field! AVFileTypeHEIF bound !unknown-field! AVFileTypeJPEG bound !unknown-field! AVFileTypeMPEG4 bound !unknown-field! AVFileTypeMPEGLayer3 bound !unknown-field! AVFileTypeQuickTimeMovie bound !unknown-field! AVFileTypeSunAU bound !unknown-field! AVFileTypeTIFF bound !unknown-field! AVFileTypeWAVE bound * [Metal] Implement API using IOSurface now that IOSurface is implemented. Partially fixes #58054. (#2621) https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [PdfKit] Improve PdfAnnotation.QuadrilateralPoints binding by making it strongly typed. (#2620) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). (#2622) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). * [ARKit/Vision] Use the new simd vector types instead of the OpenTK versions. * [ModelIO] Use the new simd vectors in new API (MDLVoxelIndexExtent2). This way we won't have to create a MDLVoxelIndexExtent3 in the future. * [SpriteKit] Use the new simd vectors in new API. * [metal] Audit (xtro) based fixes (#2623) !extra-protocol-member! unexpected selector MTLArgumentEncoder::newArgumentEncoderForBufferAtIndex: found !extra-protocol-member! unexpected selector MTLComputeCommandEncoder::dispatchThreads:threadsPerThreadgroup: found macos-only !missing-field! MTLDeviceRemovalRequestedNotification not bound !missing-field! MTLDeviceWasAddedNotification not bound !missing-field! MTLDeviceWasRemovedNotification not bound !missing-pinvoke! MTLCopyAllDevices is not bound * [CloudKit] Update bindings to beta 6. (#2615) * [FileProvider] Turn NSFileProviderItemIdentifier enum into a static class, fixes bug 59329 (#2634) https://bugzilla.xamarin.com/show_bug.cgi?id=59329 At the time of binding NSFileProviderItemIdentifier it wasn't clear how it was supposed to be used, I mean apple provides two keys which I thought were the only possible values hence binding it as an smart enum. Unfortunately this wasn't the case and the user can use those two values provided from the SDK or their own NSString Identifier. Swift provides a wrapper unfortunately we can't do the same due to NSFileProviderItemIdentifier is used in the NSFileProviderItem protocol and we currently do not support changing signatures on them. * [mtouch] Teach mtouch about the 'IOSurface' framework for tvOS. Fixes #59333. (#2630) https://bugzilla.xamarin.com/show_bug.cgi?id=59333 * Bump Touch.Unit to get fix for API breakage. (#2631) spouliot/Touch.Unit@8f1e19d [NUnitOutputTextWriter] Reintroduce previous constructor to make sure we don't break binary ABI. spouliot/Touch.Unit@00b0c0b [NUnitOutputTextWriter] Don't write invalid xml comments. spouliot/Touch.Unit@de9fe20 [TouchRunner] Restore the original code path when not wrapping NUnit xml output. * [IOSurface] Add missing availability attributes for tvOS. (#2629) * Bump versions for preview 9 (#2624) * [AVFoundation] Add missing interface AVRouteDetector. (#2637) * [tests] Update xtro to reduce list sizes (#2636) * Skip OpenTK duplicate declaration (we can't change them); * Fix rule name change for ARKit / simd; * Add missing default initializer on `init` to pending actions; * Add note for AVPersistableContentKeyRequest changes wrt tvOS; * [ReplayKit] Make RPBroadcastActivityViewController.LoadBroadcastActivityViewController async-capable. (#2639) * [xcode9] More SceneKit bindings (#2633) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 (#2644) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 https://bugzilla.xamarin.com/show_bug.cgi?id=59380 vector_float3 is 16 bytes, which means the binding is incorrect, because Vector3 is 12 bytes, and our code does not that difference into account. * Add tests * [DeviceCheck] Disable default ctor for DCDevice. (#2642) It doesn't seem to be useful according to the documentation, since it appears that the only way to get an instance is to use the static CurrentDevice property. * [audiounit] Audit (xtro) fixes for tvOS (#2635) Availability attributes in non-generated files don't hide symbols/code. reference: !unknown-pinvoke! AudioUnitExtensionCopyComponentList bound !unknown-pinvoke! AudioUnitExtensionSetComponentList bound * [tests] Make sure tvOS tests don't use the (unexisting) API * [tests] Add all test project variations to tests-mac.sln (#2579) * [xharness] Make sure generated mac projects have different project guids. * [introspection] Change the project guid so that it doesn't match the dontlink-mac project guid. * [tests] Add all test project variations to tests-mac.sln. * [xharness] Fix else condition. * [FileProvider] Adds missing NSFileProviderPage constants, fixes bug 59297. (#2646) https://bugzilla.xamarin.com/show_bug.cgi?id=59297 Adds NSFileProviderInitialPageSortedByName and NSFileProviderInitialPageSortedByDate NSData constants * [Xcode9] Remove NSFileProviderMessage and NSFileProviderMessageInterface (#2647) APIs were removed in beta 2 * [Foundation/UIKit] Provide LoadObject[s] methods that return the expected type in the callback. Fixes #59049. (#2638) The callback for these LoadObject[s] methods take an INSItemProviderReading parameter. This tells our runtime that we must provide an instance of a managed object that implements this interface (but nothing else), so we create a `NSItemProviderReadingWrapper` instance, which complies with the API (since the wrapper type implements the corresponding interface). Unfortunately these methods are supposed to return an instance of the passed- in type, so in order to comply with this soft (documentation-only) requirement, provide a wrapper method that creates instances of the right types. https://bugzilla.xamarin.com/show_bug.cgi?id=59049 * [arkit] Ignore deprecated selectors (#2645) * [FileProvider] Adds missing protocol and keys from audit (#2652) ``` !missing-protocol! NSFileProviderServiceSource not bound !missing-field! NSFileProviderErrorCollidingItemKey not bound !missing-field! NSFileProviderErrorNonExistentItemIdentifierKey not bound !missing-field! NSFileProviderFavoriteRankUnranked not bound ``` Also adds `NSXpcListenerEndpoint` to foundation, needed by `NSFileProviderServiceSource` protocol. * [tests][xtro] Workaround xtro runner dupe entry exception and update data files (#2654) * [AVFoundation] Rename field to match others. (#2657) * [homekit] Audit (xtro) fixes (#2653) - HMCharacteristicEvent conforms to NSMutableCopying on iOS11 which makes it 64 bits only (so adjust intro tests) - Ignore extra setters on HMMutablePresenceEvent, rdar 33883958 !missing-selector! HMMutablePresenceEvent::setPresenceEventType: not bound !missing-selector! HMMutablePresenceEvent::setPresenceUserType: not bound * [xtro] Add missing pinvoke to pending (#2662) - Bug 59422: [uikit] Missing UIContentSizeCategoryCompareToCategory & UIContentSizeCategoryIsAccessibilityCategory (https://bugzilla.xamarin.com/show_bug.cgi?id=59422) * Merge latest d15-3 fixes into xcode9 (#2660) * [msbuild] Re-added wildcard (*) expandsion for application-identifier in Entitlements.plist (#2186) Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=57119 * Bump mono (#2213) * Framework tests were still binding non-linked Simple class which errors now (#2216) (#2218) - Improve Makefile to rebuild when projects build with errors * Bump mono to get cecil fix for bug #56808. (#2222) https://bugzilla.xamarin.com/show_bug.cgi?id=56808 * [msbuild] Use @(ReferencePath) instead of @(ResolvedFiles) (#2188) (#2214) This allows things to work on both xbuild and msbuild. In xbuild, both lists are exactly the same and on msbuild, only @(ReferencePath) exists. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=55147 * NSActivityOptions.IdleDisplaySleepDisabled had wrong value (#2232) (#2239) This was due to an integer overflow. The original value was based on Int32 1 << 40 == 256 The correct value should be based on a UInt64. 1UL << 40 == 1099511627776 * [tests] Fix bug 57699 - [iOS]InternalsTest failure (Linkall) tests on device (#2243) Strip native debugging symbols should not be checked for debug builds * Bump mono to get fix for bug #57780. https://bugzilla.xamarin.com/show_bug.cgi?id=57780 * Update .gitmodules Change branch to d15-3 branch of mono * Bump maccore to get fix for bug #55064. https://bugzilla.xamarin.com/show_bug.cgi?id=55064 * [mono] Bump mono to get the head of cecil/mono-2017-04 and fix IsComObject #57919 Also fix #58789 [1], the typo in tools/mtouch/Tuning.cs showing in MT0000 errors instead MT2102. That's already in master and d15-4 mono bump includes: [2] commit 2a6502cee0df9de5198eafe7c8b5f6ac25106f34 (HEAD -> d15-3, origin/d15-3) Merge: 02457c20fcf 5e05cafc6f1 Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 10:04:06 2017 -0400 Merge pull request #5401 from marek-safar/com [Marshal.IsComObject] Make this predicate return false instead of thr… [3] commit 02457c20fcf57c0610e844d638eb1da82b5d1eb0 Merge: da80840ea55 73fd9a1b82e Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 09:59:06 2017 -0400 Merge pull request #5400 from spouliot/bump-cecil-58834-d15-3 [cecil] Bump to the head of the mono-2017-04 branch and pick the fix for bug #58834 References [1] https://bugzilla.xamarin.com/show_bug.cgi?id=58789 [2] https://bugzilla.xamarin.com/show_bug.cgi?id=57919 [3] https://bugzilla.xamarin.com/show_bug.cgi?id=58834 * [mtouch] Put 'mono_profiler_startup_log' in the symbol list. Fixes #58778. (#2501) We need the 'mono_profiler_startup_log' symbol when profiling is enabled, so make sure to add the symbol to the correct list of symbols we need. Previously we were passing `-u _mono_profiler_startup_log` to clang directly, which is fine, but not complete, since it does not write the symbol to the symbollist file (--symbollist=file), which means it wouldn't be preserved when the MSBuild tasks strip the executable. https://bugzilla.xamarin.com/show_bug.cgi?id=58778 * Bump versions for SR3 https://trello.com/c/EVze08ei * Bump mono to include HttpClientHandler fix #44027 https://trello.com/c/jYFXadH8/8-systemnethttp-close-request-stream-when-httpclienthandler https://bugzilla.xamarin.com/show_bug.cgi?id=44027 * [FileProvider] Add missing API and turn NSString to string (#2663) Turned NSString to string in order to match exisiting API. * [uikit] Add UIPasteConfigurationSupporting and UITextPasteConfigurationSupporting (#2649) - Fixes bug #59363: Missing UIPasteConfigurationSupporting, UITextPasteConfigurationSupporting, UITextDraggable and UITextDroppable on a couple of types (https://bugzilla.xamarin.com/show_bug.cgi?id=59363) * [uikit] Remove 129 types in UIPasteConfigurationSupporting case * [scenekit] Audit (xtro) fixes (#2648) This looks like an Apple breaking change (since `SCNAnimation` is new) but we now have: > typedef void (^SCNAnimationEventBlock)(id<SCNAnimation> animation, id animatedObject, BOOL playingBackward); bound as > delegate void SCNAnimationEventHandler (CAAnimation animation, NSObject animatedObject, bool playingBackward); and `CAAnimation` conforms to `SCNAnimation` but *only* the later is available on watchOS. The delegate is only updated (since it's new) on our watchOS profile. xtro references: (watchos) !unknown-protocol! SCNCameraControlConfiguration bound (tvos/watchos) !missing-selector! SCNAnimation::animationEvents not bound !missing-selector! SCNAnimation::setAnimationEvents: not bound !missing-selector! SCNConstraint::isEnabled not bound !missing-selector! SCNConstraint::setEnabled: not bound !missing-field! SCNSceneSourceConvertToYUpKey not bound !missing-field! SCNSceneSourceConvertUnitsToMetersKey not bound (ios/tvos) !missing-protocol-conformance! SCNNode should conform to UIFocusItem * Bump maccore post 15.3 merge (#2665) * Bump Xcode 9 to GM (#2667) * Force build (on wrench) * [avfoundation] Fix breaking changes (apidiff) (#2664) * [TVServices] Update to Xcode 9 GM (#2675) * [GameController] Update to Xcode 9 GM (#2673) * [LocalAuthentication] Update to Xcode 9 GM (#2671) * [LocalAuthentication] Update to Xcode 9 GM * Remove availability from BiometryNotAvailable, BiometryNotEnrolled and BiometryLockout * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer (#2659) * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer Some of the new added types were already present BUT under a #if MONOMAC, they had to be moved. * [AVFoundation] Set the wrongly added API to be obsolete and ensure it returns logical values. (#2650) * [xtro] The right platform for macOS is 'macos', not 'osx'. (#2677) The platform name is used to filter availability attributes, and if we use the wrong platform, we'll incorrectly skip all availability attributes. The net result in unclassified entries: https://gist.github.com/rolfbjarne/a4474bc2a40c49a85cad495b51bb514f * Various Xcode 9 API improvements and also fixes bug 59433 (#2676) https://bugzilla.xamarin.com/show_bug.cgi?id=59433 While fixing bug 59433 I noticed some additional issues outlined below: AVDepthData: * Renamed **non** static `Create` methods because `Create` only makes sense with the **Static** method in this context. Also by renaming the methods we are now closer to the names that swift uses. * Kept descriptive method names in favor of self-documenting code. `Convert`, `Apply` and `Replace` do not fully give us the intent of the method. * Added a convenience `Create` static method that takes a `CGImageAuxiliaryDataInfo`. * AvailableDepthDataTypes is now an array of `CVPixelFormatType` instead of a `NSNumber` array (The aactual fix for bug 59433). ImageIO: * Refactored `CGImageAuxiliaryDataInfo` to be a `StrongDictionary` in order to avoid most of the manual code and also to avoid reimplementing the `ToDictionary` method (which contained a subtle bug). * Adjusted code to reflect the above change. * Added missing `.ctor (IntPtr, bool)` to `CGImageMetadata` so the class is able to be created by our `Runtime.Get*`. * Simplified `CopyAuxiliaryDataInfo` method by using `CGImageAuxiliaryDataInfo` as a `DictionaryContainer`. Tests: * Added `xamarinmonkey.heic` which is an image that contains depth data needed to test above changes. * Adds `AVDepthDataTests` that touches most of the changes listed here. * Tweak the Simd-compatible matrices and vectors (#2668) * Rename them to be OpenTK.NMatrix# (instead of Simd.MatrixFloat#x#). * Remove the Vector2 and Vector4 variants, we'll use the OpenTK types instead (but we'll keep the NVector3 variant, since it's not identical to the OpenTK version). * Update the API to match their OpenTK counterparts better: * NMatrix2 and NMatrix3 have a 0-based R#C# scheme for their fields. * NMatrix4 has a 1-based M## scheme for its fields (i.e. no change). * [AVFoundation] Use Simd-matrix for API that needs it. (#2679) This also requires implementing the corresponding matrix (NMatrix4x3). Fixes this xtro issue: > !unknown-simd-type-in-signature! OpenTK.Matrix3 AVFoundation.AVCameraCalibrationData::get_GetIntrinsicMatrix(): the native signature has a simd type (matrix_float3x3), while the corresponding managed method is using an incorrect (non-simd) type. * [xtro] Fix checking availability on categories. (#2682) When checking for category availability, check if both the current declaration is a category, and if the current's declaration container is a category. Otherwise this scenario fails: * Category method is available. * Category does not have availability attributes. * Main class is unavailable. with this typical code sequence: ```csharp // don't process methods (or types) that are unavailable for the current platform if (!decl.IsAvailable () || !(decl.DeclContext as Decl).IsAvailable ()) return; ``` In which case we'd: * First check the method (`decl`): * It's available, so no further checks is done on the method. * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container's container is a category (it isn't, it's the namespace). and as such determine that the method is available. With this change, the second step will become: * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container is a category (it is), and if its main class is available (it isn't). and as such determine that the method is unavailable. * Check for attributes on the method's container (no attributes, so we continue). * Check if the method's Unclassified diff: https://gist.github.com/rolfbjarne/8fa80962596978a426eadf9b7ba39dc1 * [uikit] Update for Xcode 9 GM (#2670) * [AVFoundation] Implement AVCapturePhoto. Partially fixes #59388. (#2678) Fixes: > common.unclassified:!missing-type! AVCapturePhoto not bound https://bugzilla.xamarin.com/show_bug.cgi?id=59388 * Use strong dictionaries for AVCapturePhoto.Metadata and AVCapturePhoto.EmbeddedThumbnailPhotoFormat. * [SIMD] Implement Simd double types (VectorDouble3/MatrixDouble4x4). (#2632) The following types will be used by ModelIO bindings * Fix delta to be double * Rename Simd-compatible matrices and vectors to match our final naming. This also means removing the new Vector2 and Vector4 variants (but not Vector3). * [avfoundation] Remove AVAssetDownloadDelegate.DidLoadTimeRange since it was removed in one of the betas (#2687) * [foundation] Move NSUrlSessionMultipathServiceType to a file processed by the generator (for the availability attributes) (#2688) * [arkit] Update for Xcode 9 GM (#2681) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes (#2690) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes Type Changed: Intents.INCarSeatResolutionResult Removed methods: public static INCarSeatResolutionResult GetConfirmationRequired (INCarSeat valueToConfirm); public static INCarSeatResolutionResult GetSuccess (INCarSeat resolvedValue); * [avfoundation] Add missing protocol members and deprecations (#2691) !missing-protocol-member! AVCapturePhotoCaptureDelegate::captureOutput:didFinishProcessingPhoto:error: not found and the selector removed from PR#2687 was actually replaced with this one !missing-protocol-member! AVAssetDownloadDelegate::URLSession:aggregateAssetDownloadTask:didLoadTimeRange:totalTimeRangesLoaded:timeRangeExpectedToLoad:forMediaSelection: not found * [tests][xtro] Map some enums, more fix with protocols and update entries (#2692) * [Tests] Reenable dns tests on the watch. (#2674) * [arkit] Add ARBlendShapeLocationOptions strong dictionary (#2696) * [coreimage] Skip not yet bound filters added in Xcode9 (#2698) Tracked in https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * [Metal] Renamed MTLArgumentDescriptor.ArgumentDescriptor to Create, fixes bug 59498 (#2702) https://bugzilla.xamarin.com/show_bug.cgi?id=59498 From [argumentDescriptor docs](https://developer.apple.com/documentation/metal/mtlargumentdescriptor/2915746-argumentdescriptor?language=objc) > Creates an empty argument descriptor. * [msbuild] Always codesign app bundles if the codesign key is non-null (#2697) ...even if it is a simulator build. Turns out that starting with Xcode9, sim builds need to be codesigned for App Groups entitlements to work properly. Interestingly, the DetectSigningIdentity logic had a comment about needing to codesign simulator builds for some entitlements to work already starting with Xcode 8 but apparently the iOS targets did not respect this. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=59379 * [Foundation] Add NSProxy stub in order to workaround bug 59247 (#2693) https://bugzilla.xamarin.com/show_bug.cgi?id=59247 We need to have a better solution that removes all what NSProxy does not responds to. Right now this works because NSObject implements NSObject protocol just like NSProxy, but NSProxy responds to far less selectors hence doing it internal so it is not a breaking change when we provide the correct fix. * Keep NSProxy around and avoid XML linker description We need to keep NSProxy (avoid linking it) if WKNavigationDelegate or IWKNavigationDelegate is used. We know WKWebView will be there and can hold a reference to it. * [Xcode 9] Update Metal for GM (#2689) * [iosurface] IOSurface is not usable before iOS/tvOS 11. Fixes #59201 (#2706) Apple rejects apps that links with the previously private IOSurface.framework. We were not sure about this [1] and had it disabled (this is removed). However another bug stopped our adjustment logic [2] from being executed. This is needed since `clang` picks up the private framework if it does not find the public one (even when asking for a weak framework), [1] https://bugzilla.xamarin.com/show_bug.cgi?id=59201 [2] Added a while ago for JavascriptCore * Bump maccore to point to commit with the docs fix. (#2703) * Bump XI to 11.0.x (and XM to 3.99.9.x) (#2684) * fix typo
2017-09-16 00:53:16 +03:00
[Export ("fieldOfView")]
nfloat FieldOfView { get; set; }
[Watch (4, 0), TV (11, 0), Mac (10, 13, onlyOn64: true), iOS (11, 0)]
Merge xcode9 into d15-4[-xi] (#2710) * [FileProvider] Add Xcode 9 Beta 1, 2 & 3 Bindings (#2279) * [FileProvider] Add Xcode 9 Beta 1 Bindings * Better naming * Feedback not related to BindAs * [FileProvider] Removes BindAs, add manual code for it and updated to Beta 3 * [FileProvider] Implement feedback * [CoreSpotlight] Updated spotlight bindings for xcode 9 beta 3. (#2193) Updated spotlight bindings for xcode 9 beta 3. * Fix warning caused by duplicate (#2354) * [FileProviderUI] Add Xcode 9 Beta 1 to 3 bindings (#2356) * Bump to Xcode 9 beta 4 * [arkit] ARLightEstimate does not conform to NSCopying anymore (fix unit test) * [uikit] NSFileProviderExtension.ReparentItem got a new parameter in beta4 (fix unit test) * [coreimage] CIImageAccumulator init returns nil in beta 4 There's no header change to mention `init` is not allowed but it's not clear how this default initializer could be used. Also make public some other API to construct this type (outside of XM). It's not clear why there were `internal` as they are (at least now) part of the header files. * [photos] Add helpers when PHLivePhotoEditingOption/NSDictionary is null (to avoid ambiguous API) (#2360) Adding a strongly typed `PHLivePhotoEditingOption` (a strongly typed version of an `NSDictionary`) can cause a `CS0121` (call is ambiguous) since using a `null` argument is common (only one option exist so far). This PR adds overloads that makes the code nicer in such case, e.g. before Xcode9: > // null is used when no options are given > _foo.SaveLivePhoto (output, null, completion); current (Xcode 9) > // casting required to remove ambiguity with PHLivePhotoEditingOption > _foo.SaveLivePhoto (output, (NSDictionary)null, completion); with this PR > // no option, no argument > _foo.SaveLivePhoto (output, completion); The same applies to `PrepareLivePhotoForPlayback`. * [tests] Disable/tweak two tests that breaks on (almost) all Xcode updates Those tests were not added to validate xOS so just keep the parts that helps us (without constantly checking back the new break flavor) * Disable watchOS to check if this hides others issues * [mapkit] Update for beta 4 * [coredata] Update for beta 4 * [wkwebkit] Update for beta 4 Note: WKWindowFeatures.h is not compiled (part of the framework umbrella) and the `@interface WKWindowFeatures (WKPrivate)` sounds like it should not have been exposed (it's all fields starting with `_`) * [corelocation] Update for beta 4 * Revert "Disable watchOS to check if this hides others issues" This reverts commit fed2249fa43290a1956ab2fe0d48f83ab6db9711. * [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]: https://github.com/xamarin/xamarin-macios/blob/f5956d6cc1eb5dfa7bab16628cf282d40237f64e/src/generator.cs#L5985 * [FinderSync] Update to beta 4 (#2377) * [ImageIO] Update to Xcode 9 (#2353) * [PhotosUI] Move macOS photosui bindings out of photos.cs into photosui.cs (#2358) * [quicklook] Update up to beta 4 (#2374) * [uikit] UIDragInteraction & UIDragInteractionDelegate (Xcode 9 b1,2,3) (#2357) * [safariservices] Update up to beta 4 (#2380) * [coreanimation] Update to beta 4 (#2382) Apple removed (mistake?) some API in beta 1. Filed as rdar 33590997 Internal tracking in https://trello.com/c/J8BDDUV9/86-33590997-coreanimation-quartzcore-api-removals * [storekit] Update up to beta 4 (#2379) * [CoreML] Update to Xcode 9 Beta 4 (#2387) * [uikit] UICollectionView/UITableView Drag & Drop (Xcode 9 b1,2,3 & 4) (#2355) * Update code after radar 32929318 and 32897776 are fixed in b4 (#2394) * [xcode9 CoreAudio] New definitions from Beta1 to Beta3 (#2359) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 (#2397) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 https://bugzilla.xamarin.com/show_bug.cgi?id=58512 Created strong API (VNBarcodeSymbology) on the following properties * VNDetectBarcodesRequest.SupportedSymbologies * VNDetectBarcodesRequest.Symbologies * VNBarcodeObservation.Symbology * Remove modern C# because classic can't do it 😡 * [mediaplayer] Update up to beta 4 (#2388) * [watchkit] Update to beta 4 (#2398) * Bump Visual Studio for Mac max version (#2408) * [coreimage] Add CIBarcodeDescriptor and enabled missing API for VNBarcodeObservation. Fix #58197 (#2411) https://bugzilla.xamarin.com/show_bug.cgi?id=58197 * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 (#2407) * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 * [uikit] Fixes based on comments * [coreimage] CIImageAccumulator API fixes. Fix #58349 (#2412) * Obsolete the default `init`; * XM exposed some older APIs using `int` instead of `CIFormat`. This is fixed and old APIs are obsoleted; * Both new & old APIs are now using `CIFormat` for both XI and XM. https://bugzilla.xamarin.com/show_bug.cgi?id=58349 * [uikit] UIText drag & drop - up to Xcode 9 beta 4 (#2410) * [uikit] UISplitView & UIStackView up to Xcode 9 beta 4 (#2425) * Bump XI/XM versions before preview 4 (#2422) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 (#2378) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 * [PDFKit] Implement feedback * [PDFKit] the forgotten enum * [PDFKit] More feedback * [PDFKit] Add Mac changes * Missing change * Fix test RectangleF VS CGRect * Pass -Wunguarded-availability-new to quiet a new clang warning (#2424) - https://bugzilla.xamarin.com/show_bug.cgi?id=58574 * [mtouch/mmp] Ignore warnings about unguarded code section with regards to availability. (#2441) * [monotouch-test] Remove workaround for fixed Apple bug. (#2445) * Bump to Xcode 9 beta 5. (#2447) * Bump to Xcode 9 beta 5. * [mmp] Disable the partial static registrar, because Apple's macOS SDK is broken. > In file included from Xamarin.Mac.registrar.mobile.i386.m:1: > In file included from ./Xamarin.Mac.registrar.mobile.i386.h:11: > /Applications/Xcode9-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVFoundation.h:88:9: fatal error: 'AVFoundation/AVRouteDetector.h' file not found https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [mmp] Fix partial static registrar removal. * [CallKit] Update to Xcode 9 beta 5. * [ARKit] ARPointCloud doesn't conform to NSCopying anymore in Xcode 9 beta 5. * [ARKit] Update to Xcode 9 beta 5 enough to make tests happy. * [CoreImage] Stub out new filters in Xcode 9 beta 5. * [tests][monotouch] Simplify some MDLMesh asserts since values change a lot between OS versions. * [mmp] Default to the dynamic registrar for release builds again, due to bug #58629. https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [tests][introspection] CXCall started implementing NSCopying without saying so in the headers. * Disable mmp static registrar tests due to 58629 for now * [quicklook] Update to beta 5 (#2450) * [photos] Update for beta 5 (#2452) Also update some existing enum members were added in beta 1 on macOS * [safariservices] Update for beta 5 (#2455) * [mediaplayer] Update to beta 5 (#2456) * [CoreLocation] Update Xcode 9 Beta 5 (#2453) * [CoreML] Update to Xcode 9 Beta 5 (#2454) * [Contacts] Update to Xcode 9 Beta 5 (#2451) * [Vision] Update to Xcode 9 Beta 5 (#2458) * [builds] Tell LLVM to stay away from newer macOS functions. (#2459) Fixes this build problem on Sierra: > ld: weak import of symbol '_futimens' not supported because of option: -no_weak_imports for architecture x86_64 This is a symbol that was (will be?) introduced in High Sierra. Interestingly this only occurs if the Xcode 8.X Command Line Tools haven't been manually installed. Because if the Xcode 8.X Command Line Tools are installed, this happens: 1. llvm's configure script detects that 'futimens' is not usable. 2. llvm's configure script detects that 'futimens' is not usable, because xcrun sets SDKROOT=/ when calling clang. a. When the SDKROOT variable is set, clang passes '-syslibroot /usr/lib' to ld. b. When ld gets '-syslibroot /usr/lib', ld looks in '/usr/lib' for a library that contains 'futimens' in the OS itself, and since we're on Sierra, that fails to link. c. So when llvm's configure script creates a test program that checks if 'futimens' is present, the program fails. This is correct, and makes llvm *not* use futimens. 3. xcrun sets SDKROOT=/ because /usr/share/current-os.sdk/Info.plist exists. If that file does not exist, then xcrun sets SDKROOT to Xcode9's macOS SDK (because that's what xcode-select reports). a. When SDKROOT is set to Xcode9's macOS SDK, the configure check for 'futimens' succeeds, because the macOS 10.13 SDK contains that function. b. llvm happily uses 'futimens', and then the final link fails because we're using a symbol not available on all target platforms. * [arkit] Update for Xcode 9 beta 5 - Part 1 (#2460) * [tests] The container app for watchOS tests should be 64-bit. (#2463) * [xharness] watchOS tests need to run in a clean environment. Works around #58348. (#2462) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [xharness] It watchOS tests don't need to be clean anymore. Fixes #58348. (#2473) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [uikit] UIView/UIScrollView/UIViewController up to Xcode 9 beta 5 (#2431) - Add NSDirectionalEdgeInsets type. - Includes DirectionalEdgeInsetsTest. * [AudioToolbox] Update bindings to Xcode 9 beta3 (not later changes). (#2294) * [xharness] Add a file existence check. (#2478) Fixes this exception: ``` Harness exception for 'introspection': System.IO.FileNotFoundException: Could not find file '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log'. File name: '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log' at System.IO.__Error.WinIOError (System.Int32 errorCode, System.String maybeFullPath) [0x00207] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/__error.cs:188 at System.IO.FileInfo.get_Length () [0x00038] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/fileinfo.cs:171 at xharness.CaptureLog.StopCapture () [0x00021] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Log.cs:252 at (wrapper remoting-invoke-with-check) xharness.CaptureLog:StopCapture () at xharness.AppRunner+<RunAsync>d__68.MoveNext () [0x0127f] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/AppRunner.cs:642 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter`1[TResult].GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:357 at xharness.RunSimulatorTask+<RunTestAsync>d__7.MoveNext () [0x0029d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2894 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.RunTestTask+<ExecuteAsync>d__8.MoveNext () [0x0010b] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2538 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.TestTask+<RunInternalAsync>d__87.MoveNext () [0x0010d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:1870 ``` I'm not sure how this can happen, but it has on the bots [1]. [1] https://jenkins.mono-project.com/job/xamarin-macios-pr-builder/4548/Test_Report/ * Bump versions for preview 5 (#2479) * [passkit] Update to beta 5 (#2481) * [tests] Remove workaround for radar #32688391. (#2486) * [replaykit] Update up to beta 5 (#2484) * Bump maccore to get fix for bug #55064. (#2487) * [apidiff] Update definition to new 10.12 (d15-3) stable release (#2490) * [SceneKit] basic work (#2483) * [coredata] Update to beta 5 (#2488) * [homekit] Update for Xcode 9 beta 5 (#2492) * [Foundation] Update for xcode9 (#2468) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 (#2493) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 * [Intents] Implement feedback * [Intents] Add a generic version for INInteraction.GetParameterValue * [Intents] Missing check * [Contacts] Add missing foundation NSItemProviderWriting protocol to CNContact (#2496) https://bugzilla.xamarin.com/show_bug.cgi?id=58203 This is available on all Contacts supported platforms ``` ./iPhoneOS.platform/Developer/SDKs/iPhoneOS11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchOS.platform/Developer/SDKs/WatchOS4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchSimulator.platform/Developer/SDKs/WatchSimulator4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ``` * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) (#2497) * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) * [IntentsUI] Better use a delegate instead so we have named params * Bump versions before 6th preview (#2514) * [arkit] Add missing MarshalDirective to ARPlaneAnchor (#2517) - Fixes bug #58648: ARPlaneAnchor.Extent property seems incorrect but changes to correct value after Debug access (https://bugzilla.xamarin.com/show_bug.cgi?id=58648) * [xtro-sharpie] Fix a compiler warning. (#2516) Fixes these warnings: Runner.cs(197,5): warning CS0642: Possible mistaken empty statement Runner.cs(199,5): warning CS0642: Possible mistaken empty statement Runner.cs(201,5): warning CS0642: Possible mistaken empty statement Runner.cs(203,5): warning CS0642: Possible mistaken empty statement Runner.cs(205,5): warning CS0642: Possible mistaken empty statement * [uikit] Update for Xcode 9 beta 5 - Part 3 (#2511) - UIKeyCommand - UINavigationBar - UINavigationItem - UIPasteboard - UITableViewHeaderFooterView * [xtro-sharpie] Remove xtro-plugin and misc other fixes. (#2522) * [xtro-sharpie] Build with msbuild and be as quiet as requested when building. * [xtro-sharpie] Must run as a 64-bit process, since the required native libraries are 64-bit. * [xtro-sharpie] Add run configurations to the project file to ease debugging in the IDE. * [xtro-sharpie] Remove xtro-plugin and the related commands. This was needed when there wasn't a 64-bit mono, in order to run xtro-sharpie in a 64-bit process. Now there is a 64-bit mono, so it's not needed anymore. Also improve makefile targets a bit, to auto-build stuff when needed, by setting the right dependencies. * Bump Xcode 9 to beta 6 (#2519) Disable watchOS tests again It seems like the Carousel crash from beta 4 is back to haunt us. This was working fine with beta 5. * Backport d15-3 SR2 fixes (#2515) * [coredata] Update to beta 6 (#2528) This seems to only revert some nullability changes from beta 5. * [coreml] Update to beta 6 (#2531) Fix our rdar 33643011 where additional setters were added in the headers but did not exists. * [videosubscriberaccount] Update to beta 6 (#2533) Only b1 and b2 introduced some additions/changes * [uikit] Update for Xcode 9 beta 6 - Part 4 (#2527) The following headers are now up to date: - UICollectionViewFlowLayout.h - UIDocumentPickerViewController.h - UIFontDescriptor.h - UIImage.h - UIImageView.h - UIImagePickerController.h * [xharness] Re-enable the watchOS tests. (#2534) It works fine for me locally, so let's see what Jenkins says. * [macos] Add new APIs in CoreWlan from Xcode9b3 (#2525) * Update AppKit bindings based on radar 33271241 results (#2518) * Update AppKit bindings based on radar 33271241 results - The header comment was updated to note it was NSSliderTouchBarItem view that has the protocol * Remove NSUserInterfaceCompression where not listed in header * [vision] Update to beta 6 (#2532) Removal of some deprecated (during beta) `init*` selectors. Also sync the versions that were inlined in subclasses - the old ones were not removed and the new ones were not added. * [xtro-sharpie] Many methods don't have selectors in Clang's API, so default to the name if no selector. (#2523) This makes a few more unclassified entries show up (mostly missing designated initializers): https://gist.github.com/rolfbjarne/07aa20f9b50b75bf3e69ac6a825e873a * [macos] Add ExternalAccessory APIs from xcode9 (#2526) * [58851] Disable NSMenuView in AllItemsWithNSMenuShouldAllowNull (#2504) * [arkit] Update for Xcode 9 beta 5 - Part 2 (#2505) - Add last missing selector. - Add tests for manual code. * [monotouch-test] Disable FontDescriptorTest.WithFeature (#2537) Disabled because it looks like the tvOS font we use: "Gujarati Sangam MN" does not have rare ligatures anymore (and the entire test is based on it). Before getting an actual fix for that, let's disable the test so it doesn't break all current builds. See: https://bugzilla.xamarin.com/show_bug.cgi?id=58929 * [xtro-sharpie] Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute. (#2524) Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute to calculate the native name for a TypeDefinition. Unclassified changes: https://gist.github.com/rolfbjarne/828f8ee41eebb0a3b60a38d71822fe59 * [foundation/uikit] Inline NSItemProvider_UIKitAdditions in NSItemProvider (#2538) As suggested here: https://github.com/xamarin/xamarin-macios/pull/2527#discussion_r134670981 * [intents] Fix breaking changes (api-diff) (#2543) Additions of @required members inside `INSpeakable` cannot be `[Abstract]` * [contacts] Fix breaking change (api-diff) (#2542) Type Changed: Contacts.CNPostalAddress Removed method: public static string LocalizeProperty (CNPostalAddressKeyOption option); * [macos] Reenable static registrar since Xcode9b6 un-broke SDK headers (#2544) - Fix a subtle spacing issues in PartialStaticLibrary property * [corebluetooth] Update up to beta 6 and enable it on watchOS (#2540) macOS 10.13 has finally catch up with iOS and this simplifies the bindings a bit. * [foundation] API fixes (apidiff) (#2545) 1. Let's not add new, already [Obsolete] API Type Changed: Foundation.NSDimension Added constructors: [Obsolete ("Not intended to be directly instantiated, this is an abstract class.")] public NSDimension (); 2. Fix inconsistently named API, e.g. Type Changed: Foundation.NSAttributedString Added properties: public static string[] ReadableTypeIdentifiersForItemProvider { get; } public static string[] WritableTypeIdentifiers { get; } * [pdfkit] Do not add already [Obsolete] API in new profiles (#2547) and ensure using the newer, correct API works cross-platforms iOS (before) [Obsolete ("Use 'Find (string, NSStringCompareOptions)' instead.")] public virtual PdfSelection[] Find (string text, nint options); public PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'Find (string, PdfSelection, NSStringCompareOptions)' instead.")] public virtual PdfSelection Find (string text, PdfSelection selection, nint options); public void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string, NSStringCompareOptions)' instead.")] public virtual void FindAsync (string text, nint options); public void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string [], NSStringCompareOptions)' instead.")] public virtual void FindAsync (string[] text, nint options); iOS (after) public virtual PdfSelection[] Find (string text, Foundation.NSStringCompareOptions compareOptions); public virtual PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); * Bump versions for the 7th preview (#2541) * Remove additions of AVKit removed in beta5 (#2536) * NSUrlSessionTask should implement NSProgressReporting for iOS (#2548) NSUrlSessionTask implements NSProgressReporting on iOS as well as Mac, so the #if MONOMAC isn't needed. * Add missing availability attributes causing failures on older iOS versions (#2550) * [vision] Minor fix wrt xtro (#2551) including some things we need to ignore manually !missing-field! VNVisionVersionNumber not bound !missing-pinvoke! VNImagePointForFaceLandmarkPoint is not bound !missing-pinvoke! VNNormalizedFaceBoundingBoxPointForLandmarkPoint is not bound * [uikit] NSFileProviderMessaging was removed in beta 2. Fixes #58222 (#2552) reference: https://bugzilla.xamarin.com/show_bug.cgi?id=58222 * [uikit] Update for Xcode 9 - Part 5 (#2546) Bindings for the following headers: - UIActivity.h - UIActivityItemProvider.h - UIAlertController.h - UIApplication.h - UIBarButtonItem.h - UIButton.h - UICollectionViewLayout.h - UIColor.h - UIControl.h - UIDocumentMenuViewController.h - UIFontMetrics.h - UIGestureRecognizer.h - UIGraphicsImageRenderer.h - UIInputViewController.h * [CoreText] Fix an extraneous free in CTFont.GetDefaultCascadeList. (#2555) We do not own the return value from CFArrayGetValueAtIndex, so don't say we do when creating CTFontDescriptor instances, since that leads to angry dragons: 2017-08-28 20:15:20.293 monotouchtest[33186:2311738] A_FontTest 2017-08-28 20:15:20.294 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithFontDescriptorAndOptions 2017-08-28 20:15:20.295 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithNameAndOptions 2017-08-28 20:15:20.296 monotouchtest[33186:2311738] critical: Stacktrace: at <unknown> <0xffffffff> at (wrapper managed-to-native) CoreText.CTFont.CTFontCopyDefaultCascadeListForLanguages (intptr,intptr) [0x0000a] in <ae65a2b1eea242d2b68fe784749543bf>:0 at CoreText.CTFont.GetDefaultCascadeList (string[]) [0x00013] in /work/maccore/xcode9/xamarin-macios/src/CoreText/CTFont.cs:2185 at MonoTouchFixtures.CoreText.A_FontTest.GetCascadeList () [0x0001e] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/CoreText/FontTest.cs:78 at (wrapper runtime-invoke) object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) [0x0004f] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) System.Reflection.MonoMethod.InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&) [0x00016] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at System.Reflection.MonoMethod.Invoke (object,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo) [0x00032] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/corlib/System.Reflection/MonoMethod.cs:305 at System.Reflection.MethodBase.Invoke (object,object[]) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/referencesource/mscorlib/system/reflection/methodbase.cs:229 at NUnit.Framework.Internal.Reflect.InvokeMethod (System.Reflection.MethodInfo,object,object[]) [0x00009] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Reflect.cs:215 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunNonAsyncTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x00025] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:116 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x0001a] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:90 at NUnit.Framework.Internal.Commands.TestMethodCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:66 at NUnit.Framework.Internal.Commands.SetUpTearDownCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00007] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/SetUpTearDownCommand.cs:84 at NUnit.Framework.Internal.WorkItems.SimpleWorkItem.PerformWork () [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/SimpleWorkItem.cs:64 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at MonoTouch.NUnit.UI.BaseTouchRunner.Run (NUnit.Framework.Internal.Test) [0x0004d] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:442 at MonoTouch.NUnit.UI.BaseTouchRunner.Run () [0x00030] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:171 at MonoTouch.Dialog.StringElement.Selected (MonoTouch.Dialog.DialogViewController,UIKit.UITableView,Foundation.NSIndexPath) [0x00008] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/Elements.cs:765 at MonoTouch.Dialog.DialogViewController.Selected (Foundation.NSIndexPath) [0x00026] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:577 at MonoTouch.Dialog.DialogViewController/Source.RowSelected (UIKit.UITableView,Foundation.NSIndexPath) [0x00016] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:402 at (wrapper runtime-invoke) <Module>.runtime_invoke_void__this___object_object (object,intptr,intptr,intptr) [0x0005d] in <32f0c196c5bc4aa18daea2ee64a7814e>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) UIKit.UIApplication.UIApplicationMain (int,string[],intptr,intptr) [0x0005c] in <ae65a2b1eea242d2b68fe784749543bf>:0 at UIKit.UIApplication.Main (string[],intptr,intptr) [0x00005] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:79 at UIKit.UIApplication.Main (string[],string,string) [0x00038] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:63 at monotouchtest.Application.Main (string[]) [0x00011] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/Main.cs:27 at (wrapper runtime-invoke) <Module>.runtime_invoke_void_object (object,intptr,intptr,intptr) [0x00051] in <30a7f7e09de9467b8b454221034a0e38>:0 Native stacktrace: 0 monotouchtest 0x000000010fca03c4 mono_handle_native_crash + 244 1 monotouchtest 0x000000010fcadd30 mono_sigsegv_signal_handler + 288 2 libsystem_platform.dylib 0x000000011feb3b3a _sigtramp + 26 3 CoreFoundation 0x000000011de035a2 computeSanitizedString + 146 4 CoreText 0x00000001168df314 _ZN15TPurgeableCache19RetainedValueForKeyEPKv + 54 5 CoreText 0x00000001168def85 _ZNK17TDescriptorSource22CopyDescriptorUncachedEPK7__CFURLbPK10__CFString + 55 6 CoreText 0x00000001168df34f _ZNK17TDescriptorSource14CopyDescriptorEPK7__CFURLbPK10__CFString + 27 7 CoreText 0x00000001168e20ad _ZNK17TDescriptorSource35CopyFontDescriptorPerPostScriptNameEPK10__CFStringmm + 297 8 CoreText 0x00000001168dfd9e _ZNK17TDescriptorSource30CopySystemFontDescriptorByNameEPK10__CFString10UIFontFlag + 54 9 CoreText 0x00000001168e54c4 _ZNK14TFontFallbacks17CopyFontFallbacksEPK10__CFStringS2_PK9__CFArray + 652 10 CoreText 0x00000001168e4a00 _ZNK14TFontFallbacks29CopyFontFallbacksForLanguagesEPK10__CFStringPK9__CFArray + 122 11 CoreText 0x00000001168e4971 _ZN17TDescriptorSource39CopyDefaultSubstitutionListForLanguagesEPK10__CFStringPK9__CFArray + 61 12 CoreText 0x00000001169397a7 _ZNK9TBaseFont28CreateSystemDefaultFallbacksEPK10__CFStringPK9__CFArray + 51 13 CoreText 0x000000011693999c _ZNK9TBaseFont15CreateFallbacksE10UIFontFlagPPK16__CFCharacterSetPK9__CFArray + 346 14 CoreText 0x00000001168c1036 _ZNK5TFont24CreateDefaultCascadeListEPK9__CFArray + 242 15 CoreText 0x00000001168b8ff9 CTFontCopyDefaultCascadeListForLanguages + 97 16 ??? 0x0000000140eaefd3 0x0 + 5384105939 17 ??? 0x0000000140eae761 0x0 + 5384103777 18 ??? 0x000000013c9c8e74 0x0 + 5311860340 19 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 20 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 21 monotouchtest 0x000000010fd71bac mono_runtime_try_invoke_array + 1292 22 monotouchtest 0x000000010fd15587 ves_icall_InternalInvoke + 647 23 ??? 0x000000013e9fcd13 0x0 + 5345627411 24 ??? 0x000000013e9fc738 0x0 + 5345625912 25 ??? 0x000000013e9fded5 0x0 + 5345631957 26 ??? 0x000000013e9fbb76 0x0 + 5345622902 27 ??? 0x000000013e9e237e 0x0 + 5345518462 28 ??? 0x000000013e9e237e 0x0 + 5345518462 29 ??? 0x000000013e9e237e 0x0 + 5345518462 30 ??? 0x000000013e9e237e 0x0 + 5345518462 31 ??? 0x000000013e873006 0x0 + 5344014342 32 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 33 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 34 monotouchtest 0x000000010fd6e320 mono_runtime_invoke + 208 35 monotouchtest 0x000000010fe71af1 xamarin_invoke_trampoline + 5617 36 monotouchtest 0x000000010fe79ddd xamarin_arch_trampoline + 189 37 monotouchtest 0x000000010fe7b1a1 xamarin_x86_64_common_trampoline + 110 38 UIKit 0x0000000111b9876b -[UITableView _selectRowAtIndexPath:animated:scrollPosition:notifyDelegate:] + 1810 39 UIKit 0x0000000111b98986 -[UITableView _userSelectRowAtPendingSelectionIndexPath:] + 344 40 UIKit 0x0000000111a6b5c9 _runAfterCACommitDeferredBlocks + 318 41 UIKit 0x0000000111a59dad _cleanUpAfterCAFlushAndRunDeferredBlocks + 280 42 UIKit 0x0000000111a89f68 _afterCACommitHandler + 137 43 CoreFoundation 0x000000011de3ddb7 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23 44 CoreFoundation 0x000000011de3dd0e __CFRunLoopDoObservers + 430 45 CoreFoundation 0x000000011de22324 __CFRunLoopRun + 1572 46 CoreFoundation 0x000000011de21a89 CFRunLoopRunSpecific + 409 47 GraphicsServices 0x0000000121b7e9c6 GSEventRunModal + 62 48 UIKit 0x0000000111a5f7d0 UIApplicationMain + 159 49 ??? 0x000000013c9c4474 0x0 + 5311841396 50 ??? 0x000000013c9c40ad 0x0 + 5311840429 ================================================================= Got a SIGSEGV while executing native code. This usually indicates a fatal error in the mono runtime or one of the native libraries used by your application. ================================================================= * [monotouch-test] Don't subclass MKMapView. (#2556) MKMapView doesn't like being subclassed (Apple says "you should not subclass the MKMapView class itself"). Bad things like this starts happening: Thread 0 name: tid_303 Dispatch queue: com.apple.main-thread Thread 0 Crashed: 0 libsystem_kernel.dylib 0x0000000186b25348 __pthread_kill + 8 1 libsystem_pthread.dylib 0x0000000186c39354 pthread_kill$VARIANT$mp + 396 2 libsystem_c.dylib 0x0000000186a94fd8 abort + 140 3 monotouchtest 0x0000000101c02c14 mono_handle_native_crash + 22047764 (mini-exceptions.c:2548) 4 monotouchtest 0x0000000101c0d02c mono_sigsegv_signal_handler + 22089772 (mini-runtime.c:2886) 5 libsystem_platform.dylib 0x0000000186c33b60 _sigtramp + 52 6 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 7 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 8 CoreFoundation 0x0000000186eda51c -[__NSArrayM dealloc] + 68 9 CoreFoundation 0x000000018703f5c8 __CFBasicHashDrain + 312 10 CoreFoundation 0x0000000186fb5b44 _CFRelease + 224 11 CoreText 0x000000018a808404 TDescriptorSource::PurgeFontFallbacksCache+ 488452 () + 92 12 CoreText 0x000000018a808374 TDescriptorSource::PurgeFromCaches+ 488308 (__CFURL const*) const + 176 13 CoreText 0x000000018a7eec74 CTFontRemoveFromCaches + 168 14 VectorKit 0x0000000196a539b0 +[VKSharedResourcesManager removeResourceUser:] + 324 15 VectorKit 0x0000000196ca27a4 md::MapEngine::~MapEngine+ 2643876 () + 360 16 VectorKit 0x0000000196ca2634 md::MapEngine::~MapEngine+ 2643508 () + 12 17 libobjc.A.dylib 0x000000018651eef4 object_cxxDestructFromClass+ 28404 (objc_object*, objc_class*) + 148 18 libobjc.A.dylib 0x000000018652c638 objc_destructInstance + 88 19 libobjc.A.dylib 0x000000018652c690 object_dispose + 16 20 QuartzCore 0x000000018afca3ac -[CALayer dealloc] + 116 21 VectorKit 0x0000000196a43294 -[VKMapView dealloc] + 940 22 QuartzCore 0x000000018af6aafc CA::release_objects+ 744188 (X::List<void const*>*) + 32 23 QuartzCore 0x000000018afd97d8 CA::Layer::~Layer+ 1198040 () + 276 24 QuartzCore 0x000000018afca37c -[CALayer dealloc] + 68 25 QuartzCore 0x000000018af6b16c CA::Transaction::commit+ 745836 () + 1052 26 UIKit 0x0000000190393290 _afterCACommitHandler + 256 27 CoreFoundation 0x0000000186fb38b8 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 32 28 CoreFoundation 0x0000000186fb1270 __CFRunLoopDoObservers + 412 29 CoreFoundation 0x0000000186fb182c __CFRunLoopRun + 1292 30 CoreFoundation 0x0000000186ed22d8 CFRunLoopRunSpecific + 436 31 GraphicsServices 0x0000000188d58f84 GSEventRunModal + 100 32 UIKit 0x000000019040427c UIApplicationMain + 208 33 monotouchtest 0x000000010106eb90 wrapper_managed_to_native_UIKit_UIApplication_UIApplicationMain_int_string___intptr_intptr + 9907088 (/<unknown>:1) 34 monotouchtest 0x0000000100f0d6ac UIKit_UIApplication_Main_string___intptr_intptr + 8459948 (UIApplication.cs:79) 35 monotouchtest 0x0000000100f0d66c UIKit_UIApplication_Main_string___string_string + 8459884 (UIApplication.cs:63) 36 monotouchtest 0x0000000100b10450 monotouchtest_Application_Main_string__ + 4277328 (Main.cs:27) 37 monotouchtest 0x0000000100e0c244 wrapper_runtime_invoke_object_runtime_invoke_dynamic_intptr_intptr_intptr_intptr + 244 38 monotouchtest 0x0000000101c10048 mono_jit_runtime_invoke + 22102088 (mini-runtime.c:2526) 39 monotouchtest 0x0000000101c75eec do_runtime_invoke + 22519532 (object.c:2829) 40 monotouchtest 0x0000000101c78a3c do_exec_main_checked + 22530620 (object.c:4623) 41 monotouchtest 0x0000000101bf9a1c mono_jit_exec + 22010396 (driver.g.c:1040) 42 monotouchtest 0x0000000101d13d60 xamarin_main + 23166304 (monotouch-main.m:482) 43 monotouchtest 0x00000001007de710 main + 927504 (main.m:67) 44 libdyld.dylib 0x00000001869f656c start + 4 * [introspection] Let SkipDueToAttributeInProperty skip setters too (#2557) `SkipDueToAttributeInProperty` which is used to check the availability attribute of properties when the Availability info only exist on the property and not on the property Getter or Setter was wrong. This lead to `setSpringLoaded` (which was introduced in iOS 11) to not be ignored by the test (making it fail). - Fix bug #59085: [introspection-ios] selector not found for UIKit.UIBarButtonItem : setSpringLoaded: - Broken test (https://bugzilla.xamarin.com/show_bug.cgi?id=59085) * [corevideo][watchos] Enable CoreVideo on watchOS (#2553) * [storekit] Fix CampaignToken typo (#2559) (#2560) - Fixes bug #59078: StoreProductParameters and invalid property for CampaignToken (https://bugzilla.xamarin.com/show_bug.cgi?id=59078) * [coreml][watchos] Enable API using CoreVideo on watchOS. Fix #58097 (#2561) https://bugzilla.xamarin.com/show_bug.cgi?id=58097 * Add missing [MarshalDirective] attributes. (#2558) * [bindings-generator] Improve build & project file. * Add missing [MarshalDirective] attributes. Add missing [MarshalDirective] attributes, which also requires implementing support for out parameters in the binding generator, since one of the signatures missing the [MarshalDirective] contains such an out parameter. Also add tests for all the API I've added [MarshalDirective] to. * [bindings-generator] Remove redundant if check. * [monotouch-test] Rename file to end with 'Test.cs'. * [tests] Fix a few build errors for Xamarin.Mac. * [uikit] Fix UIColor and UIInputViewController tvOS availability (#2569) - Fixes introspection tests on tvOS 10. * [storekit] Fix SKCloudServiceSetupMessageIdentifier and SKProductStorePromotionController tvOS availability (#2568) - Fixes introspection tests on tvOS 10. * [mapkit] Fix MKMapItemTypeIdentifier tvOS availability (#2566) - Also remove double [Mac] availability attribute. - Fixes introspection tests on tvOS 10. * [ARKit] Fix marshalling for ARPointCloud.RawFeaturePoints. (#2565) ARPointCloud.RawFeaturePoints is an array of Vector3, but each vector is 16-byte aligned (as if it were an array of Vector4). This means we need to account for this when creating a managed array from pointer to the native C-style array. * [ModelIO] Fix MDLVoxelIndexExtent struct. (#2564) The MDLVoxelIndexExtent is a struct containing two 4-dimensional vectors of integers (not floats, as originally and incorrectly implemented). Fix this my creating a new MDLVoxelIndexExtent2 struct with the right fields, re-implement all the API that exposes this struct and obsolete the old API. Also add missing [MarshalDirective] attributes. And write a test to make sure it works fine now and forever. * [coredata] Enable new fields since rdar #33878590 is fixed w/beta 6 (#2570) reference: https://trello.com/c/dlSRYPFx * [xtro-sharpie] Add a Simd check class to verify signatures with Simd types. * [Simd] Add simd matrix types. The OpenTK matrices (Matrix2/3/4) has a different memory layout than Apple's matrix_float2x2/matrix_float3x3/matrix_float4x4 matrices: the OpenTK versions are row-major, while Apple's versions are column-major. This means that when blitting memory from one to the other, the matrix will appear to have been transposed. See bug #[58599][2] for an example. Unfortunately we've already bound several API with Apple's matrix_floatXxX matrices using OpenTK's matrices, and although they're bound wrong, and the matrices appear transposed on input/output, we can't change the behavior because we have to maintain compatibility. This means we have to introduce new API, and then also just define new matrix types with the right memory layout (column-major). Additionally, in the future we might be able to mark these matrices as Simd-matrixes, so that the JIT/AOT compiler can generate the correct alignment for them, avoiding having to define a native conversion method (using the [MarshalDirective] hack). The matrices have been designed to match API-wise the matrices in the System.Numerics.Vectors namespace [1], but for the moment with only a few basic operations implemented (Determinant/Transpose/Multiply) defined (we can always add more later if we want to). In addition explicit conversion operators to and from the corresponding OpenTK.MatrixX are implemented, which means any operation defined in the OpenTK matrices can be used by converting back and forth. [1]: https://msdn.microsoft.com/en-us/library/system.numerics.matrix4x4(v=vs.111).aspx [2]: https://bugzilla.xamarin.com/show_bug.cgi?id=58599 * [ARKit] Use the new Simd matrix types. * [Vision] Use the new Simd matrix types. * [ModelIO] Use the new Simd-compatible matrix types, and deprecate the old API. * [GameplayKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [SpriteKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [xtro] Don't report missing [MarshalDirective] for obsolete methods. * [xtro] Remove unnecessary ignores. The implementation changed, and these stayed accidentally. * [wkwebkit] Fix (native) protocol names (#2572) Also ignore xtro's WKSnapshotConfiguration since it's an Apple bug 34185961 reference (xtro) !missing-protocol! WKURLSchemeHandler not bound !missing-protocol! WKURLSchemeTask not bound !unknown-protocol! WKUrlSchemeHandler bound !unknown-protocol! WKUrlSchemeTask bound !unknown-type! WKSnapshotConfiguration bound * [uikit] Fix enums availability attributes (#2575) - Fixes bug #59132: [uikit] Extra types in watchOS (https://bugzilla.xamarin.com/show_bug.cgi?id=59132) * [watchkit] Add missing designated initializers (#2574) references (xtro) !missing-designated-initializer! WKInterfaceController::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! WKUserNotificationInterfaceController::init is missing an [DesignatedInitializer] attribute * [xtro] Reword some of the Simd diagnostic messages according to review. * [tests] Make sure test symbols don't clash between different test libraries. Fixes this build problem for framework-test: clang: error: linker command failed with exit code 1 (use -v to see invocation) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_get_rotation_matrix'. MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticObjectTest.framework/XStaticObjectTest (Location related to previous error) MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticArTest.framework/XStaticArTest(libtest-ar.x86_64.o) (Location related to previous error) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransformcomponent_get_local_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_create_global_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float4x4'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float3x3'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float2x2'. MTOUCH: error MT5209: Native linking error: 6 duplicate symbols for architecture x86_64 MTOUCH: error MT5202: Native linking failed. Please review the build log. * [tests] Since libtest.a need ModelIO now, the corresponding LinkWith attributes need to state that too. * [introspection] Don't check native signatures on obsolete members, and ignore the right simd matrix types. Fixes this introspection/Mac problem: ***** ApiSignatureTest.NativeSignatures Selector: uniformWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: uniformWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: uniformWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: setMatrixFloat2x2Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: setMatrixFloat3x3Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: setMatrixFloat4x4Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: initWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: initWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: initWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded * [monotouch-tests] Include more custom asserts for watchOS to make the build work. Fixes this: Simd/MatrixFloat4x4Test.cs(28,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(29,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(37,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(48,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' [...] * [monotouch-test] Exclude code that requires the binding project from xammac tests. Exclude code that requires the test binding project from xammac tests because there's currently no XM version of the test binding project. Fixes this: tests/monotouch-test/SpriteKit/UniformTest.cs(20,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLMaterialProperty.cs(37,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLTransform.cs(34,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) * Bump version for preview #8 (#2576) * [spritekit] Audit fixes (xtro) (#2577) 1. SKVideoNode is now, partially, available on watchOS and does not require the extra, manual code to swicth selectors depending on the OS version being run. !missing-type! SKVideoNode not bound !missing-selector! SKVideoNode::anchorPoint not bound !missing-selector! SKVideoNode::initWithCoder: not bound !missing-selector! SKVideoNode::initWithFileNamed: not bound !missing-selector! SKVideoNode::initWithURL: not bound !missing-selector! SKVideoNode::setAnchorPoint: not bound !missing-selector! SKVideoNode::setSize: not bound !missing-selector! SKVideoNode::size not bound !missing-selector! +SKVideoNode::videoNodeWithFileNamed: not bound !missing-selector! +SKVideoNode::videoNodeWithURL: not bound 2. SKNodeFocusBehavior is exposed needlessly on watchOS because SpriteKit/Enums.cs was not processed by the generator, so [NoWatch] did not matter. !unknown-native-enum! SKNodeFocusBehavior bound It's also visible on macOS but nothing uses it (so we do not expose it needlessly) !missing-enum! SKNodeFocusBehavior not bound 3. Add missing designated initializer on default `init` !missing-designated-initializer! SKAttributeValue::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! SKNode::init is missing an [DesignatedInitializer] attribute 4. Remove inconsistency for SKNode subclasses wrt XAMCORE_4_0 The trio attributeValues, setAttributeValues and setValue:forAttributeNamed: that was moved from SKNode (deprecated) into its subclasses. This was done using XAMCORE_4_0 but not on every subclasses. This adds them everywhere to be consistent (only SKNode versions are not defined in XAMCORE_4_0) !missing-selector! SKEffectNode::attributeValues not bound !missing-selector! SKEffectNode::setAttributeValues: not bound !missing-selector! SKEffectNode::setValue:forAttributeNamed: not bound !missing-selector! SKEffectNode::valueForAttributeNamed: not bound !missing-selector! SKEmitterNode::attributeValues not bound !missing-selector! SKEmitterNode::setAttributeValues: not bound !missing-selector! SKEmitterNode::setValue:forAttributeNamed: not bound !missing-selector! SKEmitterNode::valueForAttributeNamed: not bound !missing-selector! SKSpriteNode::attributeValues not bound !missing-selector! SKSpriteNode::setAttributeValues: not bound !missing-selector! SKSpriteNode::setValue:forAttributeNamed: not bound !missing-selector! SKSpriteNode::valueForAttributeNamed: not bound * [introspection] Make sure '[FAIL]' is printed before every failure. (#2578) This makes xharness able to list the failures in the inline summary. * [xtro] Reword some of the Simd diagnostic messages according to review. * [xharness] Add a missing IsServerMode check to generate correct html. (#2581) * [SpriteKit] SKTransformNode is new in Xcode 9 so no need to keep the broken (and obsolete) non-simd version of RotationMatrix. * [intents] Fix some (partial) xtro issues and #59156 (#2585) reference https://bugzilla.xamarin.com/show_bug.cgi?id=59156 Remaining issues are filled in https://bugzilla.xamarin.com/show_bug.cgi?id=59183 !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound * [Intents] Confirm* interface methods should be bound as Confirm, Fixes Bug 59164 (#2591) * [Intents] Confirm* interface methods should probably be bound as Confirm, Fixes Bug 59164 https://bugzilla.xamarin.com/show_bug.cgi?id=59164 All Confirm* methods from *IntentHandling interfaces should be named just `Confirm` to avoid confusion because most of them do not directly confirm as an acion, but instead they **ask** for confirmation also we would follow swift's naming by doing this. * [Intents] XAMCORE_4_0 all Confirm* methods from *IntentHandling Turns any Confirm* into just Confirm inside a XAMCORE_4_0 block, * [Intents] Fix breaking changes in Intents added in Xcode 9 Bindings (#2590) Apple added more protocol conformances to INRidesharingDomainHandling and INPaymentsDomainHandling protocols in Xcode 9, I introduced these breaking changes back when I did intents binding so fixing them :) * [Metal] New bindings from Xcode 9 betas (#2457) * [AVFoundation] Updated bindings for xcode9. (#2272) * [Xcode9] Add IOSurface bindings (#2363) * This framework was a private framework before iOS 11. This framework was a private framework before iOS 11, yet the headers claim many API were introduced in iOS 10. So take account of this difference by using the private framework location in iOS 10.3 or earlier. Testing these API from Xcode works fine when run on an iOS 10.3 device, and I've confirmed the IOSurface framework is loaded from the private frameworks path on older devices (and when built using Xcode 9 and linked with the public framework path). * Disable code to make IOSurface work on iOS 10. Disable the code to make IOSurface work on iOS 10, since it may be rejected by the App Store. This also means adjusting the availability attributes, so that the introspection tests pass (and to document that technically these API won't work when used with Xamarin.iOS in iOS 10). I've filed bug #[59201][1] to keep track of this, maybe we can re-enable this later. [1]: https://bugzilla.xamarin.com/show_bug.cgi?id=59201 * [CoreMedia] Fix leak in CMAttachmentBearer.GetAttachments. (#2593) The caller owns the return value from CMCopyDictionaryOfAttachments, so tell Runtime.GetNSObject that. * [Intents] Adds missing API found by xtro, fixes Bug 59183 (#2596) https://bugzilla.xamarin.com/show_bug.cgi?id=59183 Fixes !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !incorrect-protocol-member! INUIHostedViewControlling::configureWithInteraction:context:completion: is OPTIONAL and should NOT be abstract * [xtro] Fix StartWorkingDirectory to enable debugging (#2598) * [iosurface] Enable for tvOS and XM classic (to avoid multiple defines around consumer API) (#2597) * [xtro] Fix EnumCheck (#2600) * [ARKit] Rename a few method to make them nicer. (#2604) * DisplayTransform -> GetDisplayTransform since methods should have verbs. * SessionWasInterrupted -> WasInterrupted and SessionInterruptionEnded -> InterruptionEnded since these names match better with the other names (CameraDidChangeTrackingState / DidFail / DidOutputAudioSampleBuffer: none are prefixed with 'Session'). Additionally, the type is a Model (for the delegate pattern), which means all methods are more-or-less event-like, and the first argument is always the same (the protocol itself), which is another indicator the methods should be named similarly. * [Foundation] Remove 'Key' suffix from some fields. (#2606) Of the 168 fields in NSMetadataItem, only these 5 hadn't removed the 'Key' suffix. So make them all equivalent by removing the 'Key' suffix from these 5 fields. * [ImageIO] Fix API to not duplicate the instance in instance methods. (#2609) An instance method does not need to take the instance as a parameter, so remove the first (instance) parameter for CGImageDestination.AddAuxiliaryDataInfo and CGImageSource.CopyAuxiliaryDataInfo. An alternative solution would be to make the methods static, but I like the instance API better. * [UIKit] De-model UIDataSourceTranslating. (#2603) It's not clear from neither the documentation nor the headers how this protocol is supposed to be used, and since it doesn't correspond to the delegate pattern, remove the [Model] attribute for now. We can always add it back later. * [CoreML] Improve API. (#2592) * [CoreML] Improve API. * The indices, shape and stride properties for MLMultiArray and MLMultiArrayConstraint can logically only be arrays of integers, so type them as such. This means adding overloads for MLMultiArray's constructors, GetObject and SetObject methods, and the indexers that takes nint[] arrays instead of NSNumber[] arrays. * Change MLFeatureValue's static factory methods to be a method ('Create') instead of a preposition, and call all the different factory methods the same, since they can be overloaded nicely. * [tests][monotouch-test] Add version check to MLMultiArrayTest and make sure the arrays we create are big enough for the data we put in them. * [tests][monotouch-test] MLMultiArray's elements aren't zero-initialized, so don't assume that in the tests. * Support overloading Objective-C methods based on static/instance. (#2607) Two Objective-C methods can be named identically as long as one is static and the other instance. We must support this since Apple did just this (in the NSItemProviderReading / NSItemProviderWriting protocols). We solve it by prepending a '+' or '-' to the selector when hashing it (to determine selector uniqueness, and to look the method up again at runtime). * [uikit] Update for Xcode 9 - Part 6 (#2602) NSAttributedString.h NSFileProviderExtension.h NSLayoutAnchor.h UIAccessibility.h UIAccessibilityAdditions.h UIAccessibilityContainer.h UIAccessibilityContentSizeCategoryImageAdjusting.h UIAccessibilityCustomRotor.h UIAccessibilityLocationDescriptor.h UITabBar.h UINavigationBar.h UIScreen.h * Xcode9 scenekit (#2512) * [SceneKit] basic work * Added key * [xcode9] SCNCameraController * [xcode9] SCNCamera updates * [xcode9] SCNMaterial * [xcode9] SCNGeometryTessellator, SCNCameraControlConfiguration, SCNView, small bits * Add trailing commas to last enum value * Remove whitespace noise * [scenekit] Update deprecated attributes messages * Addresses some of Rolf's feedback * Drop the WeakDelegate in SCNCameraController * Rename method to Render, remove ctor from class that can not be constructed in Palygrounds, add typo exception * [AppKit] Rename NSBezierPath.AppendBezierPathWithCGGlyph to match its sibling methods. (#2605) NSBezierPath contains a lot of 'AppendPathWithXXX' methods, that all map to 'appendBezierPathXXX' selectors. So rename AppendBezierPathWithCGGlyph accordingly, to make it more similar to the other methods in the same type. * [uikit] Add all UISpringLoadedInteractionSupporting (#2616) Types do not conform to the protocol but protocol methods work on those types (see monotouch-test). Fixed introspection tests accordingly and tested the selectors in monotouch-test. * [Intents] Add convenience ctor overload and call correct base ctor in manual ctor. (#2613) Add a convenience constructor overload in INGetUserCurrentRestaurantReservationBookingsIntent that uses nint instead of NSNumber, since logically "number of results" will always be some sort of integer. Also call the correct base constructor in INSpeakableString's custom constructor (same as any other generated constructor). Otherwise we end up doing something like this: [[[INSpeakableString alloc] init] initWith ...], i.e. calling two different init methods. * [coreimage] Add new headers API up to beta 6 (#2601) Filters are not complete (ref: #57350) https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * Some new constants are not yet documented (type is known), so they are commented / ignored https://bugzilla.xamarin.com/show_bug.cgi?id=59296 * Filled bug for [Wrap] inside [Category] so strong dictionary helpers can be re-enabled later https://bugzilla.xamarin.com/show_bug.cgi?id=59294 * [foundation] xtro fixes for watchOS (#2586) !missing-enum! NSProcessInfoThermalState not bound !missing-field! NSProcessInfoThermalStateDidChangeNotification not bound !missing-selector! NSProcessInfo::thermalState not bound Headers are wrong and preferredPresentationStyle is not in tvOS and watchOS !missing-selector! NSItemProvider::preferredPresentationStyle not bound !missing-selector! NSItemProvider::setPreferredPresentationStyle: not bound * [uikit] Also remove UIPreferredPresentationStyle enum from platform where it's not used * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. (#2614) * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. * NSItemProviderWriting: * NSItemProviderReading: Implement correctly and completely by uncommenting commented out code. * NSMutableString: * NSAttributedString: remove inlined members, since these classes don't implement NSItemProviderReading / NSItemProviderWriting (according to the headers at least). * NSUrl: all platforms now seem to implement NSItemProviderReading / NSItemProviderWriting. * NSString: all platforms now seem to implement both NSItemProviderReading and NSItemProviderWriting * UIColor: * UIImage: Update inlined protocol members according to the latest beta. Additionally, due to the following conditions: * The protocols all have the correct members now. * In the API definition we tell the generator to inline members from a protocol by inheriting from the corresponding interface. * The generator doesn't inline static members from protocols. several 'new' keywords had to be added to silence a compiler warning that occurrs when we manually inline a static member, since the member would be included in the type both from the inherited interface and the manual implementation. * [Foundation] Comment out NSItemProviderWriting.GetItemProviderVisibility to avoid inlining/generating unusable methods. NSItemProviderWriting.GetItemProviderVisibility is an optional method, and none of the native classes that implements NSItemProviderWriting actually imlements the method. This means inlining the method in those classes ends up creating unusable API; so just comment out the method to avoid generating the unusable API. The introspection tests found this: [FAIL] Foundation.NSString : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Foundation.NSUrl : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Contacts.CNContact : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] MapKit.MKMapItem : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIColor : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIImage : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] iOSApiSelectorTest.ApiSelectorTest.StaticMethods : 6 errors found in 2348 static selector validated: See also https://bugzilla.xamarin.com/show_bug.cgi?id=59308 * [iosurface] Add missing [TV] attributes (#2619) * [opengles] Enable the new API using IOSurface (#2618) The symbol only exists inside device libraries, not on simulator, and the introspection tests were updated to ignore it. Part of https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [avfoundation][watchos] Enable AudioBufferList (fix #59145) + audit (xtro) (#2617) 1. AudioBufferList is part of CoreAudio (wrong namespace, which needs a few changes in the generator) and now available in watchOS 4 https://bugzilla.xamarin.com/show_bug.cgi?id=59145 2. Also fixes xtro found issues: !missing-type! AVAudioRecorder not bound !missing-selector! AVAudioRecorder::averagePowerForChannel: not bound !missing-selector! AVAudioRecorder::channelAssignments not bound !missing-selector! AVAudioRecorder::currentTime not bound !missing-selector! AVAudioRecorder::delegate not bound !missing-selector! AVAudioRecorder::deviceCurrentTime not bound !missing-selector! AVAudioRecorder::format not bound !missing-selector! AVAudioRecorder::initWithURL:format:error: not bound !missing-selector! AVAudioRecorder::initWithURL:settings:error: not bound !missing-selector! AVAudioRecorder::isMeteringEnabled not bound !missing-selector! AVAudioRecorder::isRecording not bound !missing-selector! AVAudioRecorder::peakPowerForChannel: not bound !missing-selector! AVAudioRecorder::recordAtTime: not bound !missing-selector! AVAudioRecorder::recordAtTime:forDuration: not bound !missing-selector! AVAudioRecorder::recordForDuration: not bound !missing-selector! AVAudioRecorder::setChannelAssignments: not bound !missing-selector! AVAudioRecorder::setDelegate: not bound !missing-selector! AVAudioRecorder::setMeteringEnabled: not bound !missing-selector! AVAudioRecorder::settings not bound !missing-selector! AVAudioRecorder::url not bound !missing-protocol! AVAudioRecorderDelegate not bound !missing-selector! AVAudioEngine::inputNode not bound !missing-selector! AVAudioEngine::manualRenderingBlock not bound !missing-selector! AVAudioInputNode::setManualRenderingInputPCMFormat:inputBlock: not bound !missing-selector! AVAudioPlayer::format not bound !missing-selector! AVAudioSession::requestRecordPermission: not bound !unknown-field! AVFileType3GPP bound !unknown-field! AVFileType3GPP2 bound !unknown-field! AVFileTypeAC3 bound !unknown-field! AVFileTypeAIFC bound !unknown-field! AVFileTypeAIFF bound !unknown-field! AVFileTypeAMR bound !unknown-field! AVFileTypeAVCI bound !unknown-field! AVFileTypeAppleM4A bound !unknown-field! AVFileTypeAppleM4V bound !unknown-field! AVFileTypeCoreAudioFormat bound !unknown-field! AVFileTypeDNG bound !unknown-field! AVFileTypeEnhancedAC3 bound !unknown-field! AVFileTypeHEIC bound !unknown-field! AVFileTypeHEIF bound !unknown-field! AVFileTypeJPEG bound !unknown-field! AVFileTypeMPEG4 bound !unknown-field! AVFileTypeMPEGLayer3 bound !unknown-field! AVFileTypeQuickTimeMovie bound !unknown-field! AVFileTypeSunAU bound !unknown-field! AVFileTypeTIFF bound !unknown-field! AVFileTypeWAVE bound * [Metal] Implement API using IOSurface now that IOSurface is implemented. Partially fixes #58054. (#2621) https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [PdfKit] Improve PdfAnnotation.QuadrilateralPoints binding by making it strongly typed. (#2620) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). (#2622) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). * [ARKit/Vision] Use the new simd vector types instead of the OpenTK versions. * [ModelIO] Use the new simd vectors in new API (MDLVoxelIndexExtent2). This way we won't have to create a MDLVoxelIndexExtent3 in the future. * [SpriteKit] Use the new simd vectors in new API. * [metal] Audit (xtro) based fixes (#2623) !extra-protocol-member! unexpected selector MTLArgumentEncoder::newArgumentEncoderForBufferAtIndex: found !extra-protocol-member! unexpected selector MTLComputeCommandEncoder::dispatchThreads:threadsPerThreadgroup: found macos-only !missing-field! MTLDeviceRemovalRequestedNotification not bound !missing-field! MTLDeviceWasAddedNotification not bound !missing-field! MTLDeviceWasRemovedNotification not bound !missing-pinvoke! MTLCopyAllDevices is not bound * [CloudKit] Update bindings to beta 6. (#2615) * [FileProvider] Turn NSFileProviderItemIdentifier enum into a static class, fixes bug 59329 (#2634) https://bugzilla.xamarin.com/show_bug.cgi?id=59329 At the time of binding NSFileProviderItemIdentifier it wasn't clear how it was supposed to be used, I mean apple provides two keys which I thought were the only possible values hence binding it as an smart enum. Unfortunately this wasn't the case and the user can use those two values provided from the SDK or their own NSString Identifier. Swift provides a wrapper unfortunately we can't do the same due to NSFileProviderItemIdentifier is used in the NSFileProviderItem protocol and we currently do not support changing signatures on them. * [mtouch] Teach mtouch about the 'IOSurface' framework for tvOS. Fixes #59333. (#2630) https://bugzilla.xamarin.com/show_bug.cgi?id=59333 * Bump Touch.Unit to get fix for API breakage. (#2631) spouliot/Touch.Unit@8f1e19d [NUnitOutputTextWriter] Reintroduce previous constructor to make sure we don't break binary ABI. spouliot/Touch.Unit@00b0c0b [NUnitOutputTextWriter] Don't write invalid xml comments. spouliot/Touch.Unit@de9fe20 [TouchRunner] Restore the original code path when not wrapping NUnit xml output. * [IOSurface] Add missing availability attributes for tvOS. (#2629) * Bump versions for preview 9 (#2624) * [AVFoundation] Add missing interface AVRouteDetector. (#2637) * [tests] Update xtro to reduce list sizes (#2636) * Skip OpenTK duplicate declaration (we can't change them); * Fix rule name change for ARKit / simd; * Add missing default initializer on `init` to pending actions; * Add note for AVPersistableContentKeyRequest changes wrt tvOS; * [ReplayKit] Make RPBroadcastActivityViewController.LoadBroadcastActivityViewController async-capable. (#2639) * [xcode9] More SceneKit bindings (#2633) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 (#2644) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 https://bugzilla.xamarin.com/show_bug.cgi?id=59380 vector_float3 is 16 bytes, which means the binding is incorrect, because Vector3 is 12 bytes, and our code does not that difference into account. * Add tests * [DeviceCheck] Disable default ctor for DCDevice. (#2642) It doesn't seem to be useful according to the documentation, since it appears that the only way to get an instance is to use the static CurrentDevice property. * [audiounit] Audit (xtro) fixes for tvOS (#2635) Availability attributes in non-generated files don't hide symbols/code. reference: !unknown-pinvoke! AudioUnitExtensionCopyComponentList bound !unknown-pinvoke! AudioUnitExtensionSetComponentList bound * [tests] Make sure tvOS tests don't use the (unexisting) API * [tests] Add all test project variations to tests-mac.sln (#2579) * [xharness] Make sure generated mac projects have different project guids. * [introspection] Change the project guid so that it doesn't match the dontlink-mac project guid. * [tests] Add all test project variations to tests-mac.sln. * [xharness] Fix else condition. * [FileProvider] Adds missing NSFileProviderPage constants, fixes bug 59297. (#2646) https://bugzilla.xamarin.com/show_bug.cgi?id=59297 Adds NSFileProviderInitialPageSortedByName and NSFileProviderInitialPageSortedByDate NSData constants * [Xcode9] Remove NSFileProviderMessage and NSFileProviderMessageInterface (#2647) APIs were removed in beta 2 * [Foundation/UIKit] Provide LoadObject[s] methods that return the expected type in the callback. Fixes #59049. (#2638) The callback for these LoadObject[s] methods take an INSItemProviderReading parameter. This tells our runtime that we must provide an instance of a managed object that implements this interface (but nothing else), so we create a `NSItemProviderReadingWrapper` instance, which complies with the API (since the wrapper type implements the corresponding interface). Unfortunately these methods are supposed to return an instance of the passed- in type, so in order to comply with this soft (documentation-only) requirement, provide a wrapper method that creates instances of the right types. https://bugzilla.xamarin.com/show_bug.cgi?id=59049 * [arkit] Ignore deprecated selectors (#2645) * [FileProvider] Adds missing protocol and keys from audit (#2652) ``` !missing-protocol! NSFileProviderServiceSource not bound !missing-field! NSFileProviderErrorCollidingItemKey not bound !missing-field! NSFileProviderErrorNonExistentItemIdentifierKey not bound !missing-field! NSFileProviderFavoriteRankUnranked not bound ``` Also adds `NSXpcListenerEndpoint` to foundation, needed by `NSFileProviderServiceSource` protocol. * [tests][xtro] Workaround xtro runner dupe entry exception and update data files (#2654) * [AVFoundation] Rename field to match others. (#2657) * [homekit] Audit (xtro) fixes (#2653) - HMCharacteristicEvent conforms to NSMutableCopying on iOS11 which makes it 64 bits only (so adjust intro tests) - Ignore extra setters on HMMutablePresenceEvent, rdar 33883958 !missing-selector! HMMutablePresenceEvent::setPresenceEventType: not bound !missing-selector! HMMutablePresenceEvent::setPresenceUserType: not bound * [xtro] Add missing pinvoke to pending (#2662) - Bug 59422: [uikit] Missing UIContentSizeCategoryCompareToCategory & UIContentSizeCategoryIsAccessibilityCategory (https://bugzilla.xamarin.com/show_bug.cgi?id=59422) * Merge latest d15-3 fixes into xcode9 (#2660) * [msbuild] Re-added wildcard (*) expandsion for application-identifier in Entitlements.plist (#2186) Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=57119 * Bump mono (#2213) * Framework tests were still binding non-linked Simple class which errors now (#2216) (#2218) - Improve Makefile to rebuild when projects build with errors * Bump mono to get cecil fix for bug #56808. (#2222) https://bugzilla.xamarin.com/show_bug.cgi?id=56808 * [msbuild] Use @(ReferencePath) instead of @(ResolvedFiles) (#2188) (#2214) This allows things to work on both xbuild and msbuild. In xbuild, both lists are exactly the same and on msbuild, only @(ReferencePath) exists. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=55147 * NSActivityOptions.IdleDisplaySleepDisabled had wrong value (#2232) (#2239) This was due to an integer overflow. The original value was based on Int32 1 << 40 == 256 The correct value should be based on a UInt64. 1UL << 40 == 1099511627776 * [tests] Fix bug 57699 - [iOS]InternalsTest failure (Linkall) tests on device (#2243) Strip native debugging symbols should not be checked for debug builds * Bump mono to get fix for bug #57780. https://bugzilla.xamarin.com/show_bug.cgi?id=57780 * Update .gitmodules Change branch to d15-3 branch of mono * Bump maccore to get fix for bug #55064. https://bugzilla.xamarin.com/show_bug.cgi?id=55064 * [mono] Bump mono to get the head of cecil/mono-2017-04 and fix IsComObject #57919 Also fix #58789 [1], the typo in tools/mtouch/Tuning.cs showing in MT0000 errors instead MT2102. That's already in master and d15-4 mono bump includes: [2] commit 2a6502cee0df9de5198eafe7c8b5f6ac25106f34 (HEAD -> d15-3, origin/d15-3) Merge: 02457c20fcf 5e05cafc6f1 Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 10:04:06 2017 -0400 Merge pull request #5401 from marek-safar/com [Marshal.IsComObject] Make this predicate return false instead of thr… [3] commit 02457c20fcf57c0610e844d638eb1da82b5d1eb0 Merge: da80840ea55 73fd9a1b82e Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 09:59:06 2017 -0400 Merge pull request #5400 from spouliot/bump-cecil-58834-d15-3 [cecil] Bump to the head of the mono-2017-04 branch and pick the fix for bug #58834 References [1] https://bugzilla.xamarin.com/show_bug.cgi?id=58789 [2] https://bugzilla.xamarin.com/show_bug.cgi?id=57919 [3] https://bugzilla.xamarin.com/show_bug.cgi?id=58834 * [mtouch] Put 'mono_profiler_startup_log' in the symbol list. Fixes #58778. (#2501) We need the 'mono_profiler_startup_log' symbol when profiling is enabled, so make sure to add the symbol to the correct list of symbols we need. Previously we were passing `-u _mono_profiler_startup_log` to clang directly, which is fine, but not complete, since it does not write the symbol to the symbollist file (--symbollist=file), which means it wouldn't be preserved when the MSBuild tasks strip the executable. https://bugzilla.xamarin.com/show_bug.cgi?id=58778 * Bump versions for SR3 https://trello.com/c/EVze08ei * Bump mono to include HttpClientHandler fix #44027 https://trello.com/c/jYFXadH8/8-systemnethttp-close-request-stream-when-httpclienthandler https://bugzilla.xamarin.com/show_bug.cgi?id=44027 * [FileProvider] Add missing API and turn NSString to string (#2663) Turned NSString to string in order to match exisiting API. * [uikit] Add UIPasteConfigurationSupporting and UITextPasteConfigurationSupporting (#2649) - Fixes bug #59363: Missing UIPasteConfigurationSupporting, UITextPasteConfigurationSupporting, UITextDraggable and UITextDroppable on a couple of types (https://bugzilla.xamarin.com/show_bug.cgi?id=59363) * [uikit] Remove 129 types in UIPasteConfigurationSupporting case * [scenekit] Audit (xtro) fixes (#2648) This looks like an Apple breaking change (since `SCNAnimation` is new) but we now have: > typedef void (^SCNAnimationEventBlock)(id<SCNAnimation> animation, id animatedObject, BOOL playingBackward); bound as > delegate void SCNAnimationEventHandler (CAAnimation animation, NSObject animatedObject, bool playingBackward); and `CAAnimation` conforms to `SCNAnimation` but *only* the later is available on watchOS. The delegate is only updated (since it's new) on our watchOS profile. xtro references: (watchos) !unknown-protocol! SCNCameraControlConfiguration bound (tvos/watchos) !missing-selector! SCNAnimation::animationEvents not bound !missing-selector! SCNAnimation::setAnimationEvents: not bound !missing-selector! SCNConstraint::isEnabled not bound !missing-selector! SCNConstraint::setEnabled: not bound !missing-field! SCNSceneSourceConvertToYUpKey not bound !missing-field! SCNSceneSourceConvertUnitsToMetersKey not bound (ios/tvos) !missing-protocol-conformance! SCNNode should conform to UIFocusItem * Bump maccore post 15.3 merge (#2665) * Bump Xcode 9 to GM (#2667) * Force build (on wrench) * [avfoundation] Fix breaking changes (apidiff) (#2664) * [TVServices] Update to Xcode 9 GM (#2675) * [GameController] Update to Xcode 9 GM (#2673) * [LocalAuthentication] Update to Xcode 9 GM (#2671) * [LocalAuthentication] Update to Xcode 9 GM * Remove availability from BiometryNotAvailable, BiometryNotEnrolled and BiometryLockout * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer (#2659) * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer Some of the new added types were already present BUT under a #if MONOMAC, they had to be moved. * [AVFoundation] Set the wrongly added API to be obsolete and ensure it returns logical values. (#2650) * [xtro] The right platform for macOS is 'macos', not 'osx'. (#2677) The platform name is used to filter availability attributes, and if we use the wrong platform, we'll incorrectly skip all availability attributes. The net result in unclassified entries: https://gist.github.com/rolfbjarne/a4474bc2a40c49a85cad495b51bb514f * Various Xcode 9 API improvements and also fixes bug 59433 (#2676) https://bugzilla.xamarin.com/show_bug.cgi?id=59433 While fixing bug 59433 I noticed some additional issues outlined below: AVDepthData: * Renamed **non** static `Create` methods because `Create` only makes sense with the **Static** method in this context. Also by renaming the methods we are now closer to the names that swift uses. * Kept descriptive method names in favor of self-documenting code. `Convert`, `Apply` and `Replace` do not fully give us the intent of the method. * Added a convenience `Create` static method that takes a `CGImageAuxiliaryDataInfo`. * AvailableDepthDataTypes is now an array of `CVPixelFormatType` instead of a `NSNumber` array (The aactual fix for bug 59433). ImageIO: * Refactored `CGImageAuxiliaryDataInfo` to be a `StrongDictionary` in order to avoid most of the manual code and also to avoid reimplementing the `ToDictionary` method (which contained a subtle bug). * Adjusted code to reflect the above change. * Added missing `.ctor (IntPtr, bool)` to `CGImageMetadata` so the class is able to be created by our `Runtime.Get*`. * Simplified `CopyAuxiliaryDataInfo` method by using `CGImageAuxiliaryDataInfo` as a `DictionaryContainer`. Tests: * Added `xamarinmonkey.heic` which is an image that contains depth data needed to test above changes. * Adds `AVDepthDataTests` that touches most of the changes listed here. * Tweak the Simd-compatible matrices and vectors (#2668) * Rename them to be OpenTK.NMatrix# (instead of Simd.MatrixFloat#x#). * Remove the Vector2 and Vector4 variants, we'll use the OpenTK types instead (but we'll keep the NVector3 variant, since it's not identical to the OpenTK version). * Update the API to match their OpenTK counterparts better: * NMatrix2 and NMatrix3 have a 0-based R#C# scheme for their fields. * NMatrix4 has a 1-based M## scheme for its fields (i.e. no change). * [AVFoundation] Use Simd-matrix for API that needs it. (#2679) This also requires implementing the corresponding matrix (NMatrix4x3). Fixes this xtro issue: > !unknown-simd-type-in-signature! OpenTK.Matrix3 AVFoundation.AVCameraCalibrationData::get_GetIntrinsicMatrix(): the native signature has a simd type (matrix_float3x3), while the corresponding managed method is using an incorrect (non-simd) type. * [xtro] Fix checking availability on categories. (#2682) When checking for category availability, check if both the current declaration is a category, and if the current's declaration container is a category. Otherwise this scenario fails: * Category method is available. * Category does not have availability attributes. * Main class is unavailable. with this typical code sequence: ```csharp // don't process methods (or types) that are unavailable for the current platform if (!decl.IsAvailable () || !(decl.DeclContext as Decl).IsAvailable ()) return; ``` In which case we'd: * First check the method (`decl`): * It's available, so no further checks is done on the method. * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container's container is a category (it isn't, it's the namespace). and as such determine that the method is available. With this change, the second step will become: * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container is a category (it is), and if its main class is available (it isn't). and as such determine that the method is unavailable. * Check for attributes on the method's container (no attributes, so we continue). * Check if the method's Unclassified diff: https://gist.github.com/rolfbjarne/8fa80962596978a426eadf9b7ba39dc1 * [uikit] Update for Xcode 9 GM (#2670) * [AVFoundation] Implement AVCapturePhoto. Partially fixes #59388. (#2678) Fixes: > common.unclassified:!missing-type! AVCapturePhoto not bound https://bugzilla.xamarin.com/show_bug.cgi?id=59388 * Use strong dictionaries for AVCapturePhoto.Metadata and AVCapturePhoto.EmbeddedThumbnailPhotoFormat. * [SIMD] Implement Simd double types (VectorDouble3/MatrixDouble4x4). (#2632) The following types will be used by ModelIO bindings * Fix delta to be double * Rename Simd-compatible matrices and vectors to match our final naming. This also means removing the new Vector2 and Vector4 variants (but not Vector3). * [avfoundation] Remove AVAssetDownloadDelegate.DidLoadTimeRange since it was removed in one of the betas (#2687) * [foundation] Move NSUrlSessionMultipathServiceType to a file processed by the generator (for the availability attributes) (#2688) * [arkit] Update for Xcode 9 GM (#2681) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes (#2690) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes Type Changed: Intents.INCarSeatResolutionResult Removed methods: public static INCarSeatResolutionResult GetConfirmationRequired (INCarSeat valueToConfirm); public static INCarSeatResolutionResult GetSuccess (INCarSeat resolvedValue); * [avfoundation] Add missing protocol members and deprecations (#2691) !missing-protocol-member! AVCapturePhotoCaptureDelegate::captureOutput:didFinishProcessingPhoto:error: not found and the selector removed from PR#2687 was actually replaced with this one !missing-protocol-member! AVAssetDownloadDelegate::URLSession:aggregateAssetDownloadTask:didLoadTimeRange:totalTimeRangesLoaded:timeRangeExpectedToLoad:forMediaSelection: not found * [tests][xtro] Map some enums, more fix with protocols and update entries (#2692) * [Tests] Reenable dns tests on the watch. (#2674) * [arkit] Add ARBlendShapeLocationOptions strong dictionary (#2696) * [coreimage] Skip not yet bound filters added in Xcode9 (#2698) Tracked in https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * [Metal] Renamed MTLArgumentDescriptor.ArgumentDescriptor to Create, fixes bug 59498 (#2702) https://bugzilla.xamarin.com/show_bug.cgi?id=59498 From [argumentDescriptor docs](https://developer.apple.com/documentation/metal/mtlargumentdescriptor/2915746-argumentdescriptor?language=objc) > Creates an empty argument descriptor. * [msbuild] Always codesign app bundles if the codesign key is non-null (#2697) ...even if it is a simulator build. Turns out that starting with Xcode9, sim builds need to be codesigned for App Groups entitlements to work properly. Interestingly, the DetectSigningIdentity logic had a comment about needing to codesign simulator builds for some entitlements to work already starting with Xcode 8 but apparently the iOS targets did not respect this. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=59379 * [Foundation] Add NSProxy stub in order to workaround bug 59247 (#2693) https://bugzilla.xamarin.com/show_bug.cgi?id=59247 We need to have a better solution that removes all what NSProxy does not responds to. Right now this works because NSObject implements NSObject protocol just like NSProxy, but NSProxy responds to far less selectors hence doing it internal so it is not a breaking change when we provide the correct fix. * Keep NSProxy around and avoid XML linker description We need to keep NSProxy (avoid linking it) if WKNavigationDelegate or IWKNavigationDelegate is used. We know WKWebView will be there and can hold a reference to it. * [Xcode 9] Update Metal for GM (#2689) * [iosurface] IOSurface is not usable before iOS/tvOS 11. Fixes #59201 (#2706) Apple rejects apps that links with the previously private IOSurface.framework. We were not sure about this [1] and had it disabled (this is removed). However another bug stopped our adjustment logic [2] from being executed. This is needed since `clang` picks up the private framework if it does not find the public one (even when asking for a weak framework), [1] https://bugzilla.xamarin.com/show_bug.cgi?id=59201 [2] Added a while ago for JavascriptCore * Bump maccore to point to commit with the docs fix. (#2703) * Bump XI to 11.0.x (and XM to 3.99.9.x) (#2684) * fix typo
2017-09-16 00:53:16 +03:00
[Export ("projectionDirection", ArgumentSemantic.Assign)]
SCNCameraProjectionDirection ProjectionDirection { get; set; }
[Watch (4, 0), TV (11, 0), Mac (10, 13, onlyOn64: true), iOS (11, 0)]
Merge xcode9 into d15-4[-xi] (#2710) * [FileProvider] Add Xcode 9 Beta 1, 2 & 3 Bindings (#2279) * [FileProvider] Add Xcode 9 Beta 1 Bindings * Better naming * Feedback not related to BindAs * [FileProvider] Removes BindAs, add manual code for it and updated to Beta 3 * [FileProvider] Implement feedback * [CoreSpotlight] Updated spotlight bindings for xcode 9 beta 3. (#2193) Updated spotlight bindings for xcode 9 beta 3. * Fix warning caused by duplicate (#2354) * [FileProviderUI] Add Xcode 9 Beta 1 to 3 bindings (#2356) * Bump to Xcode 9 beta 4 * [arkit] ARLightEstimate does not conform to NSCopying anymore (fix unit test) * [uikit] NSFileProviderExtension.ReparentItem got a new parameter in beta4 (fix unit test) * [coreimage] CIImageAccumulator init returns nil in beta 4 There's no header change to mention `init` is not allowed but it's not clear how this default initializer could be used. Also make public some other API to construct this type (outside of XM). It's not clear why there were `internal` as they are (at least now) part of the header files. * [photos] Add helpers when PHLivePhotoEditingOption/NSDictionary is null (to avoid ambiguous API) (#2360) Adding a strongly typed `PHLivePhotoEditingOption` (a strongly typed version of an `NSDictionary`) can cause a `CS0121` (call is ambiguous) since using a `null` argument is common (only one option exist so far). This PR adds overloads that makes the code nicer in such case, e.g. before Xcode9: > // null is used when no options are given > _foo.SaveLivePhoto (output, null, completion); current (Xcode 9) > // casting required to remove ambiguity with PHLivePhotoEditingOption > _foo.SaveLivePhoto (output, (NSDictionary)null, completion); with this PR > // no option, no argument > _foo.SaveLivePhoto (output, completion); The same applies to `PrepareLivePhotoForPlayback`. * [tests] Disable/tweak two tests that breaks on (almost) all Xcode updates Those tests were not added to validate xOS so just keep the parts that helps us (without constantly checking back the new break flavor) * Disable watchOS to check if this hides others issues * [mapkit] Update for beta 4 * [coredata] Update for beta 4 * [wkwebkit] Update for beta 4 Note: WKWindowFeatures.h is not compiled (part of the framework umbrella) and the `@interface WKWindowFeatures (WKPrivate)` sounds like it should not have been exposed (it's all fields starting with `_`) * [corelocation] Update for beta 4 * Revert "Disable watchOS to check if this hides others issues" This reverts commit fed2249fa43290a1956ab2fe0d48f83ab6db9711. * [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]: https://github.com/xamarin/xamarin-macios/blob/f5956d6cc1eb5dfa7bab16628cf282d40237f64e/src/generator.cs#L5985 * [FinderSync] Update to beta 4 (#2377) * [ImageIO] Update to Xcode 9 (#2353) * [PhotosUI] Move macOS photosui bindings out of photos.cs into photosui.cs (#2358) * [quicklook] Update up to beta 4 (#2374) * [uikit] UIDragInteraction & UIDragInteractionDelegate (Xcode 9 b1,2,3) (#2357) * [safariservices] Update up to beta 4 (#2380) * [coreanimation] Update to beta 4 (#2382) Apple removed (mistake?) some API in beta 1. Filed as rdar 33590997 Internal tracking in https://trello.com/c/J8BDDUV9/86-33590997-coreanimation-quartzcore-api-removals * [storekit] Update up to beta 4 (#2379) * [CoreML] Update to Xcode 9 Beta 4 (#2387) * [uikit] UICollectionView/UITableView Drag & Drop (Xcode 9 b1,2,3 & 4) (#2355) * Update code after radar 32929318 and 32897776 are fixed in b4 (#2394) * [xcode9 CoreAudio] New definitions from Beta1 to Beta3 (#2359) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 (#2397) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 https://bugzilla.xamarin.com/show_bug.cgi?id=58512 Created strong API (VNBarcodeSymbology) on the following properties * VNDetectBarcodesRequest.SupportedSymbologies * VNDetectBarcodesRequest.Symbologies * VNBarcodeObservation.Symbology * Remove modern C# because classic can't do it 😡 * [mediaplayer] Update up to beta 4 (#2388) * [watchkit] Update to beta 4 (#2398) * Bump Visual Studio for Mac max version (#2408) * [coreimage] Add CIBarcodeDescriptor and enabled missing API for VNBarcodeObservation. Fix #58197 (#2411) https://bugzilla.xamarin.com/show_bug.cgi?id=58197 * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 (#2407) * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 * [uikit] Fixes based on comments * [coreimage] CIImageAccumulator API fixes. Fix #58349 (#2412) * Obsolete the default `init`; * XM exposed some older APIs using `int` instead of `CIFormat`. This is fixed and old APIs are obsoleted; * Both new & old APIs are now using `CIFormat` for both XI and XM. https://bugzilla.xamarin.com/show_bug.cgi?id=58349 * [uikit] UIText drag & drop - up to Xcode 9 beta 4 (#2410) * [uikit] UISplitView & UIStackView up to Xcode 9 beta 4 (#2425) * Bump XI/XM versions before preview 4 (#2422) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 (#2378) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 * [PDFKit] Implement feedback * [PDFKit] the forgotten enum * [PDFKit] More feedback * [PDFKit] Add Mac changes * Missing change * Fix test RectangleF VS CGRect * Pass -Wunguarded-availability-new to quiet a new clang warning (#2424) - https://bugzilla.xamarin.com/show_bug.cgi?id=58574 * [mtouch/mmp] Ignore warnings about unguarded code section with regards to availability. (#2441) * [monotouch-test] Remove workaround for fixed Apple bug. (#2445) * Bump to Xcode 9 beta 5. (#2447) * Bump to Xcode 9 beta 5. * [mmp] Disable the partial static registrar, because Apple's macOS SDK is broken. > In file included from Xamarin.Mac.registrar.mobile.i386.m:1: > In file included from ./Xamarin.Mac.registrar.mobile.i386.h:11: > /Applications/Xcode9-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVFoundation.h:88:9: fatal error: 'AVFoundation/AVRouteDetector.h' file not found https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [mmp] Fix partial static registrar removal. * [CallKit] Update to Xcode 9 beta 5. * [ARKit] ARPointCloud doesn't conform to NSCopying anymore in Xcode 9 beta 5. * [ARKit] Update to Xcode 9 beta 5 enough to make tests happy. * [CoreImage] Stub out new filters in Xcode 9 beta 5. * [tests][monotouch] Simplify some MDLMesh asserts since values change a lot between OS versions. * [mmp] Default to the dynamic registrar for release builds again, due to bug #58629. https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [tests][introspection] CXCall started implementing NSCopying without saying so in the headers. * Disable mmp static registrar tests due to 58629 for now * [quicklook] Update to beta 5 (#2450) * [photos] Update for beta 5 (#2452) Also update some existing enum members were added in beta 1 on macOS * [safariservices] Update for beta 5 (#2455) * [mediaplayer] Update to beta 5 (#2456) * [CoreLocation] Update Xcode 9 Beta 5 (#2453) * [CoreML] Update to Xcode 9 Beta 5 (#2454) * [Contacts] Update to Xcode 9 Beta 5 (#2451) * [Vision] Update to Xcode 9 Beta 5 (#2458) * [builds] Tell LLVM to stay away from newer macOS functions. (#2459) Fixes this build problem on Sierra: > ld: weak import of symbol '_futimens' not supported because of option: -no_weak_imports for architecture x86_64 This is a symbol that was (will be?) introduced in High Sierra. Interestingly this only occurs if the Xcode 8.X Command Line Tools haven't been manually installed. Because if the Xcode 8.X Command Line Tools are installed, this happens: 1. llvm's configure script detects that 'futimens' is not usable. 2. llvm's configure script detects that 'futimens' is not usable, because xcrun sets SDKROOT=/ when calling clang. a. When the SDKROOT variable is set, clang passes '-syslibroot /usr/lib' to ld. b. When ld gets '-syslibroot /usr/lib', ld looks in '/usr/lib' for a library that contains 'futimens' in the OS itself, and since we're on Sierra, that fails to link. c. So when llvm's configure script creates a test program that checks if 'futimens' is present, the program fails. This is correct, and makes llvm *not* use futimens. 3. xcrun sets SDKROOT=/ because /usr/share/current-os.sdk/Info.plist exists. If that file does not exist, then xcrun sets SDKROOT to Xcode9's macOS SDK (because that's what xcode-select reports). a. When SDKROOT is set to Xcode9's macOS SDK, the configure check for 'futimens' succeeds, because the macOS 10.13 SDK contains that function. b. llvm happily uses 'futimens', and then the final link fails because we're using a symbol not available on all target platforms. * [arkit] Update for Xcode 9 beta 5 - Part 1 (#2460) * [tests] The container app for watchOS tests should be 64-bit. (#2463) * [xharness] watchOS tests need to run in a clean environment. Works around #58348. (#2462) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [xharness] It watchOS tests don't need to be clean anymore. Fixes #58348. (#2473) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [uikit] UIView/UIScrollView/UIViewController up to Xcode 9 beta 5 (#2431) - Add NSDirectionalEdgeInsets type. - Includes DirectionalEdgeInsetsTest. * [AudioToolbox] Update bindings to Xcode 9 beta3 (not later changes). (#2294) * [xharness] Add a file existence check. (#2478) Fixes this exception: ``` Harness exception for 'introspection': System.IO.FileNotFoundException: Could not find file '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log'. File name: '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log' at System.IO.__Error.WinIOError (System.Int32 errorCode, System.String maybeFullPath) [0x00207] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/__error.cs:188 at System.IO.FileInfo.get_Length () [0x00038] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/fileinfo.cs:171 at xharness.CaptureLog.StopCapture () [0x00021] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Log.cs:252 at (wrapper remoting-invoke-with-check) xharness.CaptureLog:StopCapture () at xharness.AppRunner+<RunAsync>d__68.MoveNext () [0x0127f] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/AppRunner.cs:642 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter`1[TResult].GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:357 at xharness.RunSimulatorTask+<RunTestAsync>d__7.MoveNext () [0x0029d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2894 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.RunTestTask+<ExecuteAsync>d__8.MoveNext () [0x0010b] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2538 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.TestTask+<RunInternalAsync>d__87.MoveNext () [0x0010d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:1870 ``` I'm not sure how this can happen, but it has on the bots [1]. [1] https://jenkins.mono-project.com/job/xamarin-macios-pr-builder/4548/Test_Report/ * Bump versions for preview 5 (#2479) * [passkit] Update to beta 5 (#2481) * [tests] Remove workaround for radar #32688391. (#2486) * [replaykit] Update up to beta 5 (#2484) * Bump maccore to get fix for bug #55064. (#2487) * [apidiff] Update definition to new 10.12 (d15-3) stable release (#2490) * [SceneKit] basic work (#2483) * [coredata] Update to beta 5 (#2488) * [homekit] Update for Xcode 9 beta 5 (#2492) * [Foundation] Update for xcode9 (#2468) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 (#2493) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 * [Intents] Implement feedback * [Intents] Add a generic version for INInteraction.GetParameterValue * [Intents] Missing check * [Contacts] Add missing foundation NSItemProviderWriting protocol to CNContact (#2496) https://bugzilla.xamarin.com/show_bug.cgi?id=58203 This is available on all Contacts supported platforms ``` ./iPhoneOS.platform/Developer/SDKs/iPhoneOS11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchOS.platform/Developer/SDKs/WatchOS4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchSimulator.platform/Developer/SDKs/WatchSimulator4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ``` * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) (#2497) * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) * [IntentsUI] Better use a delegate instead so we have named params * Bump versions before 6th preview (#2514) * [arkit] Add missing MarshalDirective to ARPlaneAnchor (#2517) - Fixes bug #58648: ARPlaneAnchor.Extent property seems incorrect but changes to correct value after Debug access (https://bugzilla.xamarin.com/show_bug.cgi?id=58648) * [xtro-sharpie] Fix a compiler warning. (#2516) Fixes these warnings: Runner.cs(197,5): warning CS0642: Possible mistaken empty statement Runner.cs(199,5): warning CS0642: Possible mistaken empty statement Runner.cs(201,5): warning CS0642: Possible mistaken empty statement Runner.cs(203,5): warning CS0642: Possible mistaken empty statement Runner.cs(205,5): warning CS0642: Possible mistaken empty statement * [uikit] Update for Xcode 9 beta 5 - Part 3 (#2511) - UIKeyCommand - UINavigationBar - UINavigationItem - UIPasteboard - UITableViewHeaderFooterView * [xtro-sharpie] Remove xtro-plugin and misc other fixes. (#2522) * [xtro-sharpie] Build with msbuild and be as quiet as requested when building. * [xtro-sharpie] Must run as a 64-bit process, since the required native libraries are 64-bit. * [xtro-sharpie] Add run configurations to the project file to ease debugging in the IDE. * [xtro-sharpie] Remove xtro-plugin and the related commands. This was needed when there wasn't a 64-bit mono, in order to run xtro-sharpie in a 64-bit process. Now there is a 64-bit mono, so it's not needed anymore. Also improve makefile targets a bit, to auto-build stuff when needed, by setting the right dependencies. * Bump Xcode 9 to beta 6 (#2519) Disable watchOS tests again It seems like the Carousel crash from beta 4 is back to haunt us. This was working fine with beta 5. * Backport d15-3 SR2 fixes (#2515) * [coredata] Update to beta 6 (#2528) This seems to only revert some nullability changes from beta 5. * [coreml] Update to beta 6 (#2531) Fix our rdar 33643011 where additional setters were added in the headers but did not exists. * [videosubscriberaccount] Update to beta 6 (#2533) Only b1 and b2 introduced some additions/changes * [uikit] Update for Xcode 9 beta 6 - Part 4 (#2527) The following headers are now up to date: - UICollectionViewFlowLayout.h - UIDocumentPickerViewController.h - UIFontDescriptor.h - UIImage.h - UIImageView.h - UIImagePickerController.h * [xharness] Re-enable the watchOS tests. (#2534) It works fine for me locally, so let's see what Jenkins says. * [macos] Add new APIs in CoreWlan from Xcode9b3 (#2525) * Update AppKit bindings based on radar 33271241 results (#2518) * Update AppKit bindings based on radar 33271241 results - The header comment was updated to note it was NSSliderTouchBarItem view that has the protocol * Remove NSUserInterfaceCompression where not listed in header * [vision] Update to beta 6 (#2532) Removal of some deprecated (during beta) `init*` selectors. Also sync the versions that were inlined in subclasses - the old ones were not removed and the new ones were not added. * [xtro-sharpie] Many methods don't have selectors in Clang's API, so default to the name if no selector. (#2523) This makes a few more unclassified entries show up (mostly missing designated initializers): https://gist.github.com/rolfbjarne/07aa20f9b50b75bf3e69ac6a825e873a * [macos] Add ExternalAccessory APIs from xcode9 (#2526) * [58851] Disable NSMenuView in AllItemsWithNSMenuShouldAllowNull (#2504) * [arkit] Update for Xcode 9 beta 5 - Part 2 (#2505) - Add last missing selector. - Add tests for manual code. * [monotouch-test] Disable FontDescriptorTest.WithFeature (#2537) Disabled because it looks like the tvOS font we use: "Gujarati Sangam MN" does not have rare ligatures anymore (and the entire test is based on it). Before getting an actual fix for that, let's disable the test so it doesn't break all current builds. See: https://bugzilla.xamarin.com/show_bug.cgi?id=58929 * [xtro-sharpie] Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute. (#2524) Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute to calculate the native name for a TypeDefinition. Unclassified changes: https://gist.github.com/rolfbjarne/828f8ee41eebb0a3b60a38d71822fe59 * [foundation/uikit] Inline NSItemProvider_UIKitAdditions in NSItemProvider (#2538) As suggested here: https://github.com/xamarin/xamarin-macios/pull/2527#discussion_r134670981 * [intents] Fix breaking changes (api-diff) (#2543) Additions of @required members inside `INSpeakable` cannot be `[Abstract]` * [contacts] Fix breaking change (api-diff) (#2542) Type Changed: Contacts.CNPostalAddress Removed method: public static string LocalizeProperty (CNPostalAddressKeyOption option); * [macos] Reenable static registrar since Xcode9b6 un-broke SDK headers (#2544) - Fix a subtle spacing issues in PartialStaticLibrary property * [corebluetooth] Update up to beta 6 and enable it on watchOS (#2540) macOS 10.13 has finally catch up with iOS and this simplifies the bindings a bit. * [foundation] API fixes (apidiff) (#2545) 1. Let's not add new, already [Obsolete] API Type Changed: Foundation.NSDimension Added constructors: [Obsolete ("Not intended to be directly instantiated, this is an abstract class.")] public NSDimension (); 2. Fix inconsistently named API, e.g. Type Changed: Foundation.NSAttributedString Added properties: public static string[] ReadableTypeIdentifiersForItemProvider { get; } public static string[] WritableTypeIdentifiers { get; } * [pdfkit] Do not add already [Obsolete] API in new profiles (#2547) and ensure using the newer, correct API works cross-platforms iOS (before) [Obsolete ("Use 'Find (string, NSStringCompareOptions)' instead.")] public virtual PdfSelection[] Find (string text, nint options); public PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'Find (string, PdfSelection, NSStringCompareOptions)' instead.")] public virtual PdfSelection Find (string text, PdfSelection selection, nint options); public void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string, NSStringCompareOptions)' instead.")] public virtual void FindAsync (string text, nint options); public void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string [], NSStringCompareOptions)' instead.")] public virtual void FindAsync (string[] text, nint options); iOS (after) public virtual PdfSelection[] Find (string text, Foundation.NSStringCompareOptions compareOptions); public virtual PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); * Bump versions for the 7th preview (#2541) * Remove additions of AVKit removed in beta5 (#2536) * NSUrlSessionTask should implement NSProgressReporting for iOS (#2548) NSUrlSessionTask implements NSProgressReporting on iOS as well as Mac, so the #if MONOMAC isn't needed. * Add missing availability attributes causing failures on older iOS versions (#2550) * [vision] Minor fix wrt xtro (#2551) including some things we need to ignore manually !missing-field! VNVisionVersionNumber not bound !missing-pinvoke! VNImagePointForFaceLandmarkPoint is not bound !missing-pinvoke! VNNormalizedFaceBoundingBoxPointForLandmarkPoint is not bound * [uikit] NSFileProviderMessaging was removed in beta 2. Fixes #58222 (#2552) reference: https://bugzilla.xamarin.com/show_bug.cgi?id=58222 * [uikit] Update for Xcode 9 - Part 5 (#2546) Bindings for the following headers: - UIActivity.h - UIActivityItemProvider.h - UIAlertController.h - UIApplication.h - UIBarButtonItem.h - UIButton.h - UICollectionViewLayout.h - UIColor.h - UIControl.h - UIDocumentMenuViewController.h - UIFontMetrics.h - UIGestureRecognizer.h - UIGraphicsImageRenderer.h - UIInputViewController.h * [CoreText] Fix an extraneous free in CTFont.GetDefaultCascadeList. (#2555) We do not own the return value from CFArrayGetValueAtIndex, so don't say we do when creating CTFontDescriptor instances, since that leads to angry dragons: 2017-08-28 20:15:20.293 monotouchtest[33186:2311738] A_FontTest 2017-08-28 20:15:20.294 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithFontDescriptorAndOptions 2017-08-28 20:15:20.295 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithNameAndOptions 2017-08-28 20:15:20.296 monotouchtest[33186:2311738] critical: Stacktrace: at <unknown> <0xffffffff> at (wrapper managed-to-native) CoreText.CTFont.CTFontCopyDefaultCascadeListForLanguages (intptr,intptr) [0x0000a] in <ae65a2b1eea242d2b68fe784749543bf>:0 at CoreText.CTFont.GetDefaultCascadeList (string[]) [0x00013] in /work/maccore/xcode9/xamarin-macios/src/CoreText/CTFont.cs:2185 at MonoTouchFixtures.CoreText.A_FontTest.GetCascadeList () [0x0001e] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/CoreText/FontTest.cs:78 at (wrapper runtime-invoke) object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) [0x0004f] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) System.Reflection.MonoMethod.InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&) [0x00016] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at System.Reflection.MonoMethod.Invoke (object,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo) [0x00032] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/corlib/System.Reflection/MonoMethod.cs:305 at System.Reflection.MethodBase.Invoke (object,object[]) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/referencesource/mscorlib/system/reflection/methodbase.cs:229 at NUnit.Framework.Internal.Reflect.InvokeMethod (System.Reflection.MethodInfo,object,object[]) [0x00009] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Reflect.cs:215 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunNonAsyncTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x00025] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:116 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x0001a] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:90 at NUnit.Framework.Internal.Commands.TestMethodCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:66 at NUnit.Framework.Internal.Commands.SetUpTearDownCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00007] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/SetUpTearDownCommand.cs:84 at NUnit.Framework.Internal.WorkItems.SimpleWorkItem.PerformWork () [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/SimpleWorkItem.cs:64 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at MonoTouch.NUnit.UI.BaseTouchRunner.Run (NUnit.Framework.Internal.Test) [0x0004d] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:442 at MonoTouch.NUnit.UI.BaseTouchRunner.Run () [0x00030] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:171 at MonoTouch.Dialog.StringElement.Selected (MonoTouch.Dialog.DialogViewController,UIKit.UITableView,Foundation.NSIndexPath) [0x00008] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/Elements.cs:765 at MonoTouch.Dialog.DialogViewController.Selected (Foundation.NSIndexPath) [0x00026] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:577 at MonoTouch.Dialog.DialogViewController/Source.RowSelected (UIKit.UITableView,Foundation.NSIndexPath) [0x00016] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:402 at (wrapper runtime-invoke) <Module>.runtime_invoke_void__this___object_object (object,intptr,intptr,intptr) [0x0005d] in <32f0c196c5bc4aa18daea2ee64a7814e>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) UIKit.UIApplication.UIApplicationMain (int,string[],intptr,intptr) [0x0005c] in <ae65a2b1eea242d2b68fe784749543bf>:0 at UIKit.UIApplication.Main (string[],intptr,intptr) [0x00005] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:79 at UIKit.UIApplication.Main (string[],string,string) [0x00038] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:63 at monotouchtest.Application.Main (string[]) [0x00011] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/Main.cs:27 at (wrapper runtime-invoke) <Module>.runtime_invoke_void_object (object,intptr,intptr,intptr) [0x00051] in <30a7f7e09de9467b8b454221034a0e38>:0 Native stacktrace: 0 monotouchtest 0x000000010fca03c4 mono_handle_native_crash + 244 1 monotouchtest 0x000000010fcadd30 mono_sigsegv_signal_handler + 288 2 libsystem_platform.dylib 0x000000011feb3b3a _sigtramp + 26 3 CoreFoundation 0x000000011de035a2 computeSanitizedString + 146 4 CoreText 0x00000001168df314 _ZN15TPurgeableCache19RetainedValueForKeyEPKv + 54 5 CoreText 0x00000001168def85 _ZNK17TDescriptorSource22CopyDescriptorUncachedEPK7__CFURLbPK10__CFString + 55 6 CoreText 0x00000001168df34f _ZNK17TDescriptorSource14CopyDescriptorEPK7__CFURLbPK10__CFString + 27 7 CoreText 0x00000001168e20ad _ZNK17TDescriptorSource35CopyFontDescriptorPerPostScriptNameEPK10__CFStringmm + 297 8 CoreText 0x00000001168dfd9e _ZNK17TDescriptorSource30CopySystemFontDescriptorByNameEPK10__CFString10UIFontFlag + 54 9 CoreText 0x00000001168e54c4 _ZNK14TFontFallbacks17CopyFontFallbacksEPK10__CFStringS2_PK9__CFArray + 652 10 CoreText 0x00000001168e4a00 _ZNK14TFontFallbacks29CopyFontFallbacksForLanguagesEPK10__CFStringPK9__CFArray + 122 11 CoreText 0x00000001168e4971 _ZN17TDescriptorSource39CopyDefaultSubstitutionListForLanguagesEPK10__CFStringPK9__CFArray + 61 12 CoreText 0x00000001169397a7 _ZNK9TBaseFont28CreateSystemDefaultFallbacksEPK10__CFStringPK9__CFArray + 51 13 CoreText 0x000000011693999c _ZNK9TBaseFont15CreateFallbacksE10UIFontFlagPPK16__CFCharacterSetPK9__CFArray + 346 14 CoreText 0x00000001168c1036 _ZNK5TFont24CreateDefaultCascadeListEPK9__CFArray + 242 15 CoreText 0x00000001168b8ff9 CTFontCopyDefaultCascadeListForLanguages + 97 16 ??? 0x0000000140eaefd3 0x0 + 5384105939 17 ??? 0x0000000140eae761 0x0 + 5384103777 18 ??? 0x000000013c9c8e74 0x0 + 5311860340 19 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 20 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 21 monotouchtest 0x000000010fd71bac mono_runtime_try_invoke_array + 1292 22 monotouchtest 0x000000010fd15587 ves_icall_InternalInvoke + 647 23 ??? 0x000000013e9fcd13 0x0 + 5345627411 24 ??? 0x000000013e9fc738 0x0 + 5345625912 25 ??? 0x000000013e9fded5 0x0 + 5345631957 26 ??? 0x000000013e9fbb76 0x0 + 5345622902 27 ??? 0x000000013e9e237e 0x0 + 5345518462 28 ??? 0x000000013e9e237e 0x0 + 5345518462 29 ??? 0x000000013e9e237e 0x0 + 5345518462 30 ??? 0x000000013e9e237e 0x0 + 5345518462 31 ??? 0x000000013e873006 0x0 + 5344014342 32 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 33 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 34 monotouchtest 0x000000010fd6e320 mono_runtime_invoke + 208 35 monotouchtest 0x000000010fe71af1 xamarin_invoke_trampoline + 5617 36 monotouchtest 0x000000010fe79ddd xamarin_arch_trampoline + 189 37 monotouchtest 0x000000010fe7b1a1 xamarin_x86_64_common_trampoline + 110 38 UIKit 0x0000000111b9876b -[UITableView _selectRowAtIndexPath:animated:scrollPosition:notifyDelegate:] + 1810 39 UIKit 0x0000000111b98986 -[UITableView _userSelectRowAtPendingSelectionIndexPath:] + 344 40 UIKit 0x0000000111a6b5c9 _runAfterCACommitDeferredBlocks + 318 41 UIKit 0x0000000111a59dad _cleanUpAfterCAFlushAndRunDeferredBlocks + 280 42 UIKit 0x0000000111a89f68 _afterCACommitHandler + 137 43 CoreFoundation 0x000000011de3ddb7 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23 44 CoreFoundation 0x000000011de3dd0e __CFRunLoopDoObservers + 430 45 CoreFoundation 0x000000011de22324 __CFRunLoopRun + 1572 46 CoreFoundation 0x000000011de21a89 CFRunLoopRunSpecific + 409 47 GraphicsServices 0x0000000121b7e9c6 GSEventRunModal + 62 48 UIKit 0x0000000111a5f7d0 UIApplicationMain + 159 49 ??? 0x000000013c9c4474 0x0 + 5311841396 50 ??? 0x000000013c9c40ad 0x0 + 5311840429 ================================================================= Got a SIGSEGV while executing native code. This usually indicates a fatal error in the mono runtime or one of the native libraries used by your application. ================================================================= * [monotouch-test] Don't subclass MKMapView. (#2556) MKMapView doesn't like being subclassed (Apple says "you should not subclass the MKMapView class itself"). Bad things like this starts happening: Thread 0 name: tid_303 Dispatch queue: com.apple.main-thread Thread 0 Crashed: 0 libsystem_kernel.dylib 0x0000000186b25348 __pthread_kill + 8 1 libsystem_pthread.dylib 0x0000000186c39354 pthread_kill$VARIANT$mp + 396 2 libsystem_c.dylib 0x0000000186a94fd8 abort + 140 3 monotouchtest 0x0000000101c02c14 mono_handle_native_crash + 22047764 (mini-exceptions.c:2548) 4 monotouchtest 0x0000000101c0d02c mono_sigsegv_signal_handler + 22089772 (mini-runtime.c:2886) 5 libsystem_platform.dylib 0x0000000186c33b60 _sigtramp + 52 6 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 7 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 8 CoreFoundation 0x0000000186eda51c -[__NSArrayM dealloc] + 68 9 CoreFoundation 0x000000018703f5c8 __CFBasicHashDrain + 312 10 CoreFoundation 0x0000000186fb5b44 _CFRelease + 224 11 CoreText 0x000000018a808404 TDescriptorSource::PurgeFontFallbacksCache+ 488452 () + 92 12 CoreText 0x000000018a808374 TDescriptorSource::PurgeFromCaches+ 488308 (__CFURL const*) const + 176 13 CoreText 0x000000018a7eec74 CTFontRemoveFromCaches + 168 14 VectorKit 0x0000000196a539b0 +[VKSharedResourcesManager removeResourceUser:] + 324 15 VectorKit 0x0000000196ca27a4 md::MapEngine::~MapEngine+ 2643876 () + 360 16 VectorKit 0x0000000196ca2634 md::MapEngine::~MapEngine+ 2643508 () + 12 17 libobjc.A.dylib 0x000000018651eef4 object_cxxDestructFromClass+ 28404 (objc_object*, objc_class*) + 148 18 libobjc.A.dylib 0x000000018652c638 objc_destructInstance + 88 19 libobjc.A.dylib 0x000000018652c690 object_dispose + 16 20 QuartzCore 0x000000018afca3ac -[CALayer dealloc] + 116 21 VectorKit 0x0000000196a43294 -[VKMapView dealloc] + 940 22 QuartzCore 0x000000018af6aafc CA::release_objects+ 744188 (X::List<void const*>*) + 32 23 QuartzCore 0x000000018afd97d8 CA::Layer::~Layer+ 1198040 () + 276 24 QuartzCore 0x000000018afca37c -[CALayer dealloc] + 68 25 QuartzCore 0x000000018af6b16c CA::Transaction::commit+ 745836 () + 1052 26 UIKit 0x0000000190393290 _afterCACommitHandler + 256 27 CoreFoundation 0x0000000186fb38b8 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 32 28 CoreFoundation 0x0000000186fb1270 __CFRunLoopDoObservers + 412 29 CoreFoundation 0x0000000186fb182c __CFRunLoopRun + 1292 30 CoreFoundation 0x0000000186ed22d8 CFRunLoopRunSpecific + 436 31 GraphicsServices 0x0000000188d58f84 GSEventRunModal + 100 32 UIKit 0x000000019040427c UIApplicationMain + 208 33 monotouchtest 0x000000010106eb90 wrapper_managed_to_native_UIKit_UIApplication_UIApplicationMain_int_string___intptr_intptr + 9907088 (/<unknown>:1) 34 monotouchtest 0x0000000100f0d6ac UIKit_UIApplication_Main_string___intptr_intptr + 8459948 (UIApplication.cs:79) 35 monotouchtest 0x0000000100f0d66c UIKit_UIApplication_Main_string___string_string + 8459884 (UIApplication.cs:63) 36 monotouchtest 0x0000000100b10450 monotouchtest_Application_Main_string__ + 4277328 (Main.cs:27) 37 monotouchtest 0x0000000100e0c244 wrapper_runtime_invoke_object_runtime_invoke_dynamic_intptr_intptr_intptr_intptr + 244 38 monotouchtest 0x0000000101c10048 mono_jit_runtime_invoke + 22102088 (mini-runtime.c:2526) 39 monotouchtest 0x0000000101c75eec do_runtime_invoke + 22519532 (object.c:2829) 40 monotouchtest 0x0000000101c78a3c do_exec_main_checked + 22530620 (object.c:4623) 41 monotouchtest 0x0000000101bf9a1c mono_jit_exec + 22010396 (driver.g.c:1040) 42 monotouchtest 0x0000000101d13d60 xamarin_main + 23166304 (monotouch-main.m:482) 43 monotouchtest 0x00000001007de710 main + 927504 (main.m:67) 44 libdyld.dylib 0x00000001869f656c start + 4 * [introspection] Let SkipDueToAttributeInProperty skip setters too (#2557) `SkipDueToAttributeInProperty` which is used to check the availability attribute of properties when the Availability info only exist on the property and not on the property Getter or Setter was wrong. This lead to `setSpringLoaded` (which was introduced in iOS 11) to not be ignored by the test (making it fail). - Fix bug #59085: [introspection-ios] selector not found for UIKit.UIBarButtonItem : setSpringLoaded: - Broken test (https://bugzilla.xamarin.com/show_bug.cgi?id=59085) * [corevideo][watchos] Enable CoreVideo on watchOS (#2553) * [storekit] Fix CampaignToken typo (#2559) (#2560) - Fixes bug #59078: StoreProductParameters and invalid property for CampaignToken (https://bugzilla.xamarin.com/show_bug.cgi?id=59078) * [coreml][watchos] Enable API using CoreVideo on watchOS. Fix #58097 (#2561) https://bugzilla.xamarin.com/show_bug.cgi?id=58097 * Add missing [MarshalDirective] attributes. (#2558) * [bindings-generator] Improve build & project file. * Add missing [MarshalDirective] attributes. Add missing [MarshalDirective] attributes, which also requires implementing support for out parameters in the binding generator, since one of the signatures missing the [MarshalDirective] contains such an out parameter. Also add tests for all the API I've added [MarshalDirective] to. * [bindings-generator] Remove redundant if check. * [monotouch-test] Rename file to end with 'Test.cs'. * [tests] Fix a few build errors for Xamarin.Mac. * [uikit] Fix UIColor and UIInputViewController tvOS availability (#2569) - Fixes introspection tests on tvOS 10. * [storekit] Fix SKCloudServiceSetupMessageIdentifier and SKProductStorePromotionController tvOS availability (#2568) - Fixes introspection tests on tvOS 10. * [mapkit] Fix MKMapItemTypeIdentifier tvOS availability (#2566) - Also remove double [Mac] availability attribute. - Fixes introspection tests on tvOS 10. * [ARKit] Fix marshalling for ARPointCloud.RawFeaturePoints. (#2565) ARPointCloud.RawFeaturePoints is an array of Vector3, but each vector is 16-byte aligned (as if it were an array of Vector4). This means we need to account for this when creating a managed array from pointer to the native C-style array. * [ModelIO] Fix MDLVoxelIndexExtent struct. (#2564) The MDLVoxelIndexExtent is a struct containing two 4-dimensional vectors of integers (not floats, as originally and incorrectly implemented). Fix this my creating a new MDLVoxelIndexExtent2 struct with the right fields, re-implement all the API that exposes this struct and obsolete the old API. Also add missing [MarshalDirective] attributes. And write a test to make sure it works fine now and forever. * [coredata] Enable new fields since rdar #33878590 is fixed w/beta 6 (#2570) reference: https://trello.com/c/dlSRYPFx * [xtro-sharpie] Add a Simd check class to verify signatures with Simd types. * [Simd] Add simd matrix types. The OpenTK matrices (Matrix2/3/4) has a different memory layout than Apple's matrix_float2x2/matrix_float3x3/matrix_float4x4 matrices: the OpenTK versions are row-major, while Apple's versions are column-major. This means that when blitting memory from one to the other, the matrix will appear to have been transposed. See bug #[58599][2] for an example. Unfortunately we've already bound several API with Apple's matrix_floatXxX matrices using OpenTK's matrices, and although they're bound wrong, and the matrices appear transposed on input/output, we can't change the behavior because we have to maintain compatibility. This means we have to introduce new API, and then also just define new matrix types with the right memory layout (column-major). Additionally, in the future we might be able to mark these matrices as Simd-matrixes, so that the JIT/AOT compiler can generate the correct alignment for them, avoiding having to define a native conversion method (using the [MarshalDirective] hack). The matrices have been designed to match API-wise the matrices in the System.Numerics.Vectors namespace [1], but for the moment with only a few basic operations implemented (Determinant/Transpose/Multiply) defined (we can always add more later if we want to). In addition explicit conversion operators to and from the corresponding OpenTK.MatrixX are implemented, which means any operation defined in the OpenTK matrices can be used by converting back and forth. [1]: https://msdn.microsoft.com/en-us/library/system.numerics.matrix4x4(v=vs.111).aspx [2]: https://bugzilla.xamarin.com/show_bug.cgi?id=58599 * [ARKit] Use the new Simd matrix types. * [Vision] Use the new Simd matrix types. * [ModelIO] Use the new Simd-compatible matrix types, and deprecate the old API. * [GameplayKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [SpriteKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [xtro] Don't report missing [MarshalDirective] for obsolete methods. * [xtro] Remove unnecessary ignores. The implementation changed, and these stayed accidentally. * [wkwebkit] Fix (native) protocol names (#2572) Also ignore xtro's WKSnapshotConfiguration since it's an Apple bug 34185961 reference (xtro) !missing-protocol! WKURLSchemeHandler not bound !missing-protocol! WKURLSchemeTask not bound !unknown-protocol! WKUrlSchemeHandler bound !unknown-protocol! WKUrlSchemeTask bound !unknown-type! WKSnapshotConfiguration bound * [uikit] Fix enums availability attributes (#2575) - Fixes bug #59132: [uikit] Extra types in watchOS (https://bugzilla.xamarin.com/show_bug.cgi?id=59132) * [watchkit] Add missing designated initializers (#2574) references (xtro) !missing-designated-initializer! WKInterfaceController::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! WKUserNotificationInterfaceController::init is missing an [DesignatedInitializer] attribute * [xtro] Reword some of the Simd diagnostic messages according to review. * [tests] Make sure test symbols don't clash between different test libraries. Fixes this build problem for framework-test: clang: error: linker command failed with exit code 1 (use -v to see invocation) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_get_rotation_matrix'. MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticObjectTest.framework/XStaticObjectTest (Location related to previous error) MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticArTest.framework/XStaticArTest(libtest-ar.x86_64.o) (Location related to previous error) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransformcomponent_get_local_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_create_global_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float4x4'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float3x3'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float2x2'. MTOUCH: error MT5209: Native linking error: 6 duplicate symbols for architecture x86_64 MTOUCH: error MT5202: Native linking failed. Please review the build log. * [tests] Since libtest.a need ModelIO now, the corresponding LinkWith attributes need to state that too. * [introspection] Don't check native signatures on obsolete members, and ignore the right simd matrix types. Fixes this introspection/Mac problem: ***** ApiSignatureTest.NativeSignatures Selector: uniformWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: uniformWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: uniformWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: setMatrixFloat2x2Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: setMatrixFloat3x3Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: setMatrixFloat4x4Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: initWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: initWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: initWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded * [monotouch-tests] Include more custom asserts for watchOS to make the build work. Fixes this: Simd/MatrixFloat4x4Test.cs(28,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(29,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(37,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(48,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' [...] * [monotouch-test] Exclude code that requires the binding project from xammac tests. Exclude code that requires the test binding project from xammac tests because there's currently no XM version of the test binding project. Fixes this: tests/monotouch-test/SpriteKit/UniformTest.cs(20,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLMaterialProperty.cs(37,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLTransform.cs(34,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) * Bump version for preview #8 (#2576) * [spritekit] Audit fixes (xtro) (#2577) 1. SKVideoNode is now, partially, available on watchOS and does not require the extra, manual code to swicth selectors depending on the OS version being run. !missing-type! SKVideoNode not bound !missing-selector! SKVideoNode::anchorPoint not bound !missing-selector! SKVideoNode::initWithCoder: not bound !missing-selector! SKVideoNode::initWithFileNamed: not bound !missing-selector! SKVideoNode::initWithURL: not bound !missing-selector! SKVideoNode::setAnchorPoint: not bound !missing-selector! SKVideoNode::setSize: not bound !missing-selector! SKVideoNode::size not bound !missing-selector! +SKVideoNode::videoNodeWithFileNamed: not bound !missing-selector! +SKVideoNode::videoNodeWithURL: not bound 2. SKNodeFocusBehavior is exposed needlessly on watchOS because SpriteKit/Enums.cs was not processed by the generator, so [NoWatch] did not matter. !unknown-native-enum! SKNodeFocusBehavior bound It's also visible on macOS but nothing uses it (so we do not expose it needlessly) !missing-enum! SKNodeFocusBehavior not bound 3. Add missing designated initializer on default `init` !missing-designated-initializer! SKAttributeValue::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! SKNode::init is missing an [DesignatedInitializer] attribute 4. Remove inconsistency for SKNode subclasses wrt XAMCORE_4_0 The trio attributeValues, setAttributeValues and setValue:forAttributeNamed: that was moved from SKNode (deprecated) into its subclasses. This was done using XAMCORE_4_0 but not on every subclasses. This adds them everywhere to be consistent (only SKNode versions are not defined in XAMCORE_4_0) !missing-selector! SKEffectNode::attributeValues not bound !missing-selector! SKEffectNode::setAttributeValues: not bound !missing-selector! SKEffectNode::setValue:forAttributeNamed: not bound !missing-selector! SKEffectNode::valueForAttributeNamed: not bound !missing-selector! SKEmitterNode::attributeValues not bound !missing-selector! SKEmitterNode::setAttributeValues: not bound !missing-selector! SKEmitterNode::setValue:forAttributeNamed: not bound !missing-selector! SKEmitterNode::valueForAttributeNamed: not bound !missing-selector! SKSpriteNode::attributeValues not bound !missing-selector! SKSpriteNode::setAttributeValues: not bound !missing-selector! SKSpriteNode::setValue:forAttributeNamed: not bound !missing-selector! SKSpriteNode::valueForAttributeNamed: not bound * [introspection] Make sure '[FAIL]' is printed before every failure. (#2578) This makes xharness able to list the failures in the inline summary. * [xtro] Reword some of the Simd diagnostic messages according to review. * [xharness] Add a missing IsServerMode check to generate correct html. (#2581) * [SpriteKit] SKTransformNode is new in Xcode 9 so no need to keep the broken (and obsolete) non-simd version of RotationMatrix. * [intents] Fix some (partial) xtro issues and #59156 (#2585) reference https://bugzilla.xamarin.com/show_bug.cgi?id=59156 Remaining issues are filled in https://bugzilla.xamarin.com/show_bug.cgi?id=59183 !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound * [Intents] Confirm* interface methods should be bound as Confirm, Fixes Bug 59164 (#2591) * [Intents] Confirm* interface methods should probably be bound as Confirm, Fixes Bug 59164 https://bugzilla.xamarin.com/show_bug.cgi?id=59164 All Confirm* methods from *IntentHandling interfaces should be named just `Confirm` to avoid confusion because most of them do not directly confirm as an acion, but instead they **ask** for confirmation also we would follow swift's naming by doing this. * [Intents] XAMCORE_4_0 all Confirm* methods from *IntentHandling Turns any Confirm* into just Confirm inside a XAMCORE_4_0 block, * [Intents] Fix breaking changes in Intents added in Xcode 9 Bindings (#2590) Apple added more protocol conformances to INRidesharingDomainHandling and INPaymentsDomainHandling protocols in Xcode 9, I introduced these breaking changes back when I did intents binding so fixing them :) * [Metal] New bindings from Xcode 9 betas (#2457) * [AVFoundation] Updated bindings for xcode9. (#2272) * [Xcode9] Add IOSurface bindings (#2363) * This framework was a private framework before iOS 11. This framework was a private framework before iOS 11, yet the headers claim many API were introduced in iOS 10. So take account of this difference by using the private framework location in iOS 10.3 or earlier. Testing these API from Xcode works fine when run on an iOS 10.3 device, and I've confirmed the IOSurface framework is loaded from the private frameworks path on older devices (and when built using Xcode 9 and linked with the public framework path). * Disable code to make IOSurface work on iOS 10. Disable the code to make IOSurface work on iOS 10, since it may be rejected by the App Store. This also means adjusting the availability attributes, so that the introspection tests pass (and to document that technically these API won't work when used with Xamarin.iOS in iOS 10). I've filed bug #[59201][1] to keep track of this, maybe we can re-enable this later. [1]: https://bugzilla.xamarin.com/show_bug.cgi?id=59201 * [CoreMedia] Fix leak in CMAttachmentBearer.GetAttachments. (#2593) The caller owns the return value from CMCopyDictionaryOfAttachments, so tell Runtime.GetNSObject that. * [Intents] Adds missing API found by xtro, fixes Bug 59183 (#2596) https://bugzilla.xamarin.com/show_bug.cgi?id=59183 Fixes !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !incorrect-protocol-member! INUIHostedViewControlling::configureWithInteraction:context:completion: is OPTIONAL and should NOT be abstract * [xtro] Fix StartWorkingDirectory to enable debugging (#2598) * [iosurface] Enable for tvOS and XM classic (to avoid multiple defines around consumer API) (#2597) * [xtro] Fix EnumCheck (#2600) * [ARKit] Rename a few method to make them nicer. (#2604) * DisplayTransform -> GetDisplayTransform since methods should have verbs. * SessionWasInterrupted -> WasInterrupted and SessionInterruptionEnded -> InterruptionEnded since these names match better with the other names (CameraDidChangeTrackingState / DidFail / DidOutputAudioSampleBuffer: none are prefixed with 'Session'). Additionally, the type is a Model (for the delegate pattern), which means all methods are more-or-less event-like, and the first argument is always the same (the protocol itself), which is another indicator the methods should be named similarly. * [Foundation] Remove 'Key' suffix from some fields. (#2606) Of the 168 fields in NSMetadataItem, only these 5 hadn't removed the 'Key' suffix. So make them all equivalent by removing the 'Key' suffix from these 5 fields. * [ImageIO] Fix API to not duplicate the instance in instance methods. (#2609) An instance method does not need to take the instance as a parameter, so remove the first (instance) parameter for CGImageDestination.AddAuxiliaryDataInfo and CGImageSource.CopyAuxiliaryDataInfo. An alternative solution would be to make the methods static, but I like the instance API better. * [UIKit] De-model UIDataSourceTranslating. (#2603) It's not clear from neither the documentation nor the headers how this protocol is supposed to be used, and since it doesn't correspond to the delegate pattern, remove the [Model] attribute for now. We can always add it back later. * [CoreML] Improve API. (#2592) * [CoreML] Improve API. * The indices, shape and stride properties for MLMultiArray and MLMultiArrayConstraint can logically only be arrays of integers, so type them as such. This means adding overloads for MLMultiArray's constructors, GetObject and SetObject methods, and the indexers that takes nint[] arrays instead of NSNumber[] arrays. * Change MLFeatureValue's static factory methods to be a method ('Create') instead of a preposition, and call all the different factory methods the same, since they can be overloaded nicely. * [tests][monotouch-test] Add version check to MLMultiArrayTest and make sure the arrays we create are big enough for the data we put in them. * [tests][monotouch-test] MLMultiArray's elements aren't zero-initialized, so don't assume that in the tests. * Support overloading Objective-C methods based on static/instance. (#2607) Two Objective-C methods can be named identically as long as one is static and the other instance. We must support this since Apple did just this (in the NSItemProviderReading / NSItemProviderWriting protocols). We solve it by prepending a '+' or '-' to the selector when hashing it (to determine selector uniqueness, and to look the method up again at runtime). * [uikit] Update for Xcode 9 - Part 6 (#2602) NSAttributedString.h NSFileProviderExtension.h NSLayoutAnchor.h UIAccessibility.h UIAccessibilityAdditions.h UIAccessibilityContainer.h UIAccessibilityContentSizeCategoryImageAdjusting.h UIAccessibilityCustomRotor.h UIAccessibilityLocationDescriptor.h UITabBar.h UINavigationBar.h UIScreen.h * Xcode9 scenekit (#2512) * [SceneKit] basic work * Added key * [xcode9] SCNCameraController * [xcode9] SCNCamera updates * [xcode9] SCNMaterial * [xcode9] SCNGeometryTessellator, SCNCameraControlConfiguration, SCNView, small bits * Add trailing commas to last enum value * Remove whitespace noise * [scenekit] Update deprecated attributes messages * Addresses some of Rolf's feedback * Drop the WeakDelegate in SCNCameraController * Rename method to Render, remove ctor from class that can not be constructed in Palygrounds, add typo exception * [AppKit] Rename NSBezierPath.AppendBezierPathWithCGGlyph to match its sibling methods. (#2605) NSBezierPath contains a lot of 'AppendPathWithXXX' methods, that all map to 'appendBezierPathXXX' selectors. So rename AppendBezierPathWithCGGlyph accordingly, to make it more similar to the other methods in the same type. * [uikit] Add all UISpringLoadedInteractionSupporting (#2616) Types do not conform to the protocol but protocol methods work on those types (see monotouch-test). Fixed introspection tests accordingly and tested the selectors in monotouch-test. * [Intents] Add convenience ctor overload and call correct base ctor in manual ctor. (#2613) Add a convenience constructor overload in INGetUserCurrentRestaurantReservationBookingsIntent that uses nint instead of NSNumber, since logically "number of results" will always be some sort of integer. Also call the correct base constructor in INSpeakableString's custom constructor (same as any other generated constructor). Otherwise we end up doing something like this: [[[INSpeakableString alloc] init] initWith ...], i.e. calling two different init methods. * [coreimage] Add new headers API up to beta 6 (#2601) Filters are not complete (ref: #57350) https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * Some new constants are not yet documented (type is known), so they are commented / ignored https://bugzilla.xamarin.com/show_bug.cgi?id=59296 * Filled bug for [Wrap] inside [Category] so strong dictionary helpers can be re-enabled later https://bugzilla.xamarin.com/show_bug.cgi?id=59294 * [foundation] xtro fixes for watchOS (#2586) !missing-enum! NSProcessInfoThermalState not bound !missing-field! NSProcessInfoThermalStateDidChangeNotification not bound !missing-selector! NSProcessInfo::thermalState not bound Headers are wrong and preferredPresentationStyle is not in tvOS and watchOS !missing-selector! NSItemProvider::preferredPresentationStyle not bound !missing-selector! NSItemProvider::setPreferredPresentationStyle: not bound * [uikit] Also remove UIPreferredPresentationStyle enum from platform where it's not used * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. (#2614) * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. * NSItemProviderWriting: * NSItemProviderReading: Implement correctly and completely by uncommenting commented out code. * NSMutableString: * NSAttributedString: remove inlined members, since these classes don't implement NSItemProviderReading / NSItemProviderWriting (according to the headers at least). * NSUrl: all platforms now seem to implement NSItemProviderReading / NSItemProviderWriting. * NSString: all platforms now seem to implement both NSItemProviderReading and NSItemProviderWriting * UIColor: * UIImage: Update inlined protocol members according to the latest beta. Additionally, due to the following conditions: * The protocols all have the correct members now. * In the API definition we tell the generator to inline members from a protocol by inheriting from the corresponding interface. * The generator doesn't inline static members from protocols. several 'new' keywords had to be added to silence a compiler warning that occurrs when we manually inline a static member, since the member would be included in the type both from the inherited interface and the manual implementation. * [Foundation] Comment out NSItemProviderWriting.GetItemProviderVisibility to avoid inlining/generating unusable methods. NSItemProviderWriting.GetItemProviderVisibility is an optional method, and none of the native classes that implements NSItemProviderWriting actually imlements the method. This means inlining the method in those classes ends up creating unusable API; so just comment out the method to avoid generating the unusable API. The introspection tests found this: [FAIL] Foundation.NSString : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Foundation.NSUrl : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Contacts.CNContact : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] MapKit.MKMapItem : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIColor : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIImage : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] iOSApiSelectorTest.ApiSelectorTest.StaticMethods : 6 errors found in 2348 static selector validated: See also https://bugzilla.xamarin.com/show_bug.cgi?id=59308 * [iosurface] Add missing [TV] attributes (#2619) * [opengles] Enable the new API using IOSurface (#2618) The symbol only exists inside device libraries, not on simulator, and the introspection tests were updated to ignore it. Part of https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [avfoundation][watchos] Enable AudioBufferList (fix #59145) + audit (xtro) (#2617) 1. AudioBufferList is part of CoreAudio (wrong namespace, which needs a few changes in the generator) and now available in watchOS 4 https://bugzilla.xamarin.com/show_bug.cgi?id=59145 2. Also fixes xtro found issues: !missing-type! AVAudioRecorder not bound !missing-selector! AVAudioRecorder::averagePowerForChannel: not bound !missing-selector! AVAudioRecorder::channelAssignments not bound !missing-selector! AVAudioRecorder::currentTime not bound !missing-selector! AVAudioRecorder::delegate not bound !missing-selector! AVAudioRecorder::deviceCurrentTime not bound !missing-selector! AVAudioRecorder::format not bound !missing-selector! AVAudioRecorder::initWithURL:format:error: not bound !missing-selector! AVAudioRecorder::initWithURL:settings:error: not bound !missing-selector! AVAudioRecorder::isMeteringEnabled not bound !missing-selector! AVAudioRecorder::isRecording not bound !missing-selector! AVAudioRecorder::peakPowerForChannel: not bound !missing-selector! AVAudioRecorder::recordAtTime: not bound !missing-selector! AVAudioRecorder::recordAtTime:forDuration: not bound !missing-selector! AVAudioRecorder::recordForDuration: not bound !missing-selector! AVAudioRecorder::setChannelAssignments: not bound !missing-selector! AVAudioRecorder::setDelegate: not bound !missing-selector! AVAudioRecorder::setMeteringEnabled: not bound !missing-selector! AVAudioRecorder::settings not bound !missing-selector! AVAudioRecorder::url not bound !missing-protocol! AVAudioRecorderDelegate not bound !missing-selector! AVAudioEngine::inputNode not bound !missing-selector! AVAudioEngine::manualRenderingBlock not bound !missing-selector! AVAudioInputNode::setManualRenderingInputPCMFormat:inputBlock: not bound !missing-selector! AVAudioPlayer::format not bound !missing-selector! AVAudioSession::requestRecordPermission: not bound !unknown-field! AVFileType3GPP bound !unknown-field! AVFileType3GPP2 bound !unknown-field! AVFileTypeAC3 bound !unknown-field! AVFileTypeAIFC bound !unknown-field! AVFileTypeAIFF bound !unknown-field! AVFileTypeAMR bound !unknown-field! AVFileTypeAVCI bound !unknown-field! AVFileTypeAppleM4A bound !unknown-field! AVFileTypeAppleM4V bound !unknown-field! AVFileTypeCoreAudioFormat bound !unknown-field! AVFileTypeDNG bound !unknown-field! AVFileTypeEnhancedAC3 bound !unknown-field! AVFileTypeHEIC bound !unknown-field! AVFileTypeHEIF bound !unknown-field! AVFileTypeJPEG bound !unknown-field! AVFileTypeMPEG4 bound !unknown-field! AVFileTypeMPEGLayer3 bound !unknown-field! AVFileTypeQuickTimeMovie bound !unknown-field! AVFileTypeSunAU bound !unknown-field! AVFileTypeTIFF bound !unknown-field! AVFileTypeWAVE bound * [Metal] Implement API using IOSurface now that IOSurface is implemented. Partially fixes #58054. (#2621) https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [PdfKit] Improve PdfAnnotation.QuadrilateralPoints binding by making it strongly typed. (#2620) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). (#2622) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). * [ARKit/Vision] Use the new simd vector types instead of the OpenTK versions. * [ModelIO] Use the new simd vectors in new API (MDLVoxelIndexExtent2). This way we won't have to create a MDLVoxelIndexExtent3 in the future. * [SpriteKit] Use the new simd vectors in new API. * [metal] Audit (xtro) based fixes (#2623) !extra-protocol-member! unexpected selector MTLArgumentEncoder::newArgumentEncoderForBufferAtIndex: found !extra-protocol-member! unexpected selector MTLComputeCommandEncoder::dispatchThreads:threadsPerThreadgroup: found macos-only !missing-field! MTLDeviceRemovalRequestedNotification not bound !missing-field! MTLDeviceWasAddedNotification not bound !missing-field! MTLDeviceWasRemovedNotification not bound !missing-pinvoke! MTLCopyAllDevices is not bound * [CloudKit] Update bindings to beta 6. (#2615) * [FileProvider] Turn NSFileProviderItemIdentifier enum into a static class, fixes bug 59329 (#2634) https://bugzilla.xamarin.com/show_bug.cgi?id=59329 At the time of binding NSFileProviderItemIdentifier it wasn't clear how it was supposed to be used, I mean apple provides two keys which I thought were the only possible values hence binding it as an smart enum. Unfortunately this wasn't the case and the user can use those two values provided from the SDK or their own NSString Identifier. Swift provides a wrapper unfortunately we can't do the same due to NSFileProviderItemIdentifier is used in the NSFileProviderItem protocol and we currently do not support changing signatures on them. * [mtouch] Teach mtouch about the 'IOSurface' framework for tvOS. Fixes #59333. (#2630) https://bugzilla.xamarin.com/show_bug.cgi?id=59333 * Bump Touch.Unit to get fix for API breakage. (#2631) spouliot/Touch.Unit@8f1e19d [NUnitOutputTextWriter] Reintroduce previous constructor to make sure we don't break binary ABI. spouliot/Touch.Unit@00b0c0b [NUnitOutputTextWriter] Don't write invalid xml comments. spouliot/Touch.Unit@de9fe20 [TouchRunner] Restore the original code path when not wrapping NUnit xml output. * [IOSurface] Add missing availability attributes for tvOS. (#2629) * Bump versions for preview 9 (#2624) * [AVFoundation] Add missing interface AVRouteDetector. (#2637) * [tests] Update xtro to reduce list sizes (#2636) * Skip OpenTK duplicate declaration (we can't change them); * Fix rule name change for ARKit / simd; * Add missing default initializer on `init` to pending actions; * Add note for AVPersistableContentKeyRequest changes wrt tvOS; * [ReplayKit] Make RPBroadcastActivityViewController.LoadBroadcastActivityViewController async-capable. (#2639) * [xcode9] More SceneKit bindings (#2633) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 (#2644) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 https://bugzilla.xamarin.com/show_bug.cgi?id=59380 vector_float3 is 16 bytes, which means the binding is incorrect, because Vector3 is 12 bytes, and our code does not that difference into account. * Add tests * [DeviceCheck] Disable default ctor for DCDevice. (#2642) It doesn't seem to be useful according to the documentation, since it appears that the only way to get an instance is to use the static CurrentDevice property. * [audiounit] Audit (xtro) fixes for tvOS (#2635) Availability attributes in non-generated files don't hide symbols/code. reference: !unknown-pinvoke! AudioUnitExtensionCopyComponentList bound !unknown-pinvoke! AudioUnitExtensionSetComponentList bound * [tests] Make sure tvOS tests don't use the (unexisting) API * [tests] Add all test project variations to tests-mac.sln (#2579) * [xharness] Make sure generated mac projects have different project guids. * [introspection] Change the project guid so that it doesn't match the dontlink-mac project guid. * [tests] Add all test project variations to tests-mac.sln. * [xharness] Fix else condition. * [FileProvider] Adds missing NSFileProviderPage constants, fixes bug 59297. (#2646) https://bugzilla.xamarin.com/show_bug.cgi?id=59297 Adds NSFileProviderInitialPageSortedByName and NSFileProviderInitialPageSortedByDate NSData constants * [Xcode9] Remove NSFileProviderMessage and NSFileProviderMessageInterface (#2647) APIs were removed in beta 2 * [Foundation/UIKit] Provide LoadObject[s] methods that return the expected type in the callback. Fixes #59049. (#2638) The callback for these LoadObject[s] methods take an INSItemProviderReading parameter. This tells our runtime that we must provide an instance of a managed object that implements this interface (but nothing else), so we create a `NSItemProviderReadingWrapper` instance, which complies with the API (since the wrapper type implements the corresponding interface). Unfortunately these methods are supposed to return an instance of the passed- in type, so in order to comply with this soft (documentation-only) requirement, provide a wrapper method that creates instances of the right types. https://bugzilla.xamarin.com/show_bug.cgi?id=59049 * [arkit] Ignore deprecated selectors (#2645) * [FileProvider] Adds missing protocol and keys from audit (#2652) ``` !missing-protocol! NSFileProviderServiceSource not bound !missing-field! NSFileProviderErrorCollidingItemKey not bound !missing-field! NSFileProviderErrorNonExistentItemIdentifierKey not bound !missing-field! NSFileProviderFavoriteRankUnranked not bound ``` Also adds `NSXpcListenerEndpoint` to foundation, needed by `NSFileProviderServiceSource` protocol. * [tests][xtro] Workaround xtro runner dupe entry exception and update data files (#2654) * [AVFoundation] Rename field to match others. (#2657) * [homekit] Audit (xtro) fixes (#2653) - HMCharacteristicEvent conforms to NSMutableCopying on iOS11 which makes it 64 bits only (so adjust intro tests) - Ignore extra setters on HMMutablePresenceEvent, rdar 33883958 !missing-selector! HMMutablePresenceEvent::setPresenceEventType: not bound !missing-selector! HMMutablePresenceEvent::setPresenceUserType: not bound * [xtro] Add missing pinvoke to pending (#2662) - Bug 59422: [uikit] Missing UIContentSizeCategoryCompareToCategory & UIContentSizeCategoryIsAccessibilityCategory (https://bugzilla.xamarin.com/show_bug.cgi?id=59422) * Merge latest d15-3 fixes into xcode9 (#2660) * [msbuild] Re-added wildcard (*) expandsion for application-identifier in Entitlements.plist (#2186) Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=57119 * Bump mono (#2213) * Framework tests were still binding non-linked Simple class which errors now (#2216) (#2218) - Improve Makefile to rebuild when projects build with errors * Bump mono to get cecil fix for bug #56808. (#2222) https://bugzilla.xamarin.com/show_bug.cgi?id=56808 * [msbuild] Use @(ReferencePath) instead of @(ResolvedFiles) (#2188) (#2214) This allows things to work on both xbuild and msbuild. In xbuild, both lists are exactly the same and on msbuild, only @(ReferencePath) exists. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=55147 * NSActivityOptions.IdleDisplaySleepDisabled had wrong value (#2232) (#2239) This was due to an integer overflow. The original value was based on Int32 1 << 40 == 256 The correct value should be based on a UInt64. 1UL << 40 == 1099511627776 * [tests] Fix bug 57699 - [iOS]InternalsTest failure (Linkall) tests on device (#2243) Strip native debugging symbols should not be checked for debug builds * Bump mono to get fix for bug #57780. https://bugzilla.xamarin.com/show_bug.cgi?id=57780 * Update .gitmodules Change branch to d15-3 branch of mono * Bump maccore to get fix for bug #55064. https://bugzilla.xamarin.com/show_bug.cgi?id=55064 * [mono] Bump mono to get the head of cecil/mono-2017-04 and fix IsComObject #57919 Also fix #58789 [1], the typo in tools/mtouch/Tuning.cs showing in MT0000 errors instead MT2102. That's already in master and d15-4 mono bump includes: [2] commit 2a6502cee0df9de5198eafe7c8b5f6ac25106f34 (HEAD -> d15-3, origin/d15-3) Merge: 02457c20fcf 5e05cafc6f1 Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 10:04:06 2017 -0400 Merge pull request #5401 from marek-safar/com [Marshal.IsComObject] Make this predicate return false instead of thr… [3] commit 02457c20fcf57c0610e844d638eb1da82b5d1eb0 Merge: da80840ea55 73fd9a1b82e Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 09:59:06 2017 -0400 Merge pull request #5400 from spouliot/bump-cecil-58834-d15-3 [cecil] Bump to the head of the mono-2017-04 branch and pick the fix for bug #58834 References [1] https://bugzilla.xamarin.com/show_bug.cgi?id=58789 [2] https://bugzilla.xamarin.com/show_bug.cgi?id=57919 [3] https://bugzilla.xamarin.com/show_bug.cgi?id=58834 * [mtouch] Put 'mono_profiler_startup_log' in the symbol list. Fixes #58778. (#2501) We need the 'mono_profiler_startup_log' symbol when profiling is enabled, so make sure to add the symbol to the correct list of symbols we need. Previously we were passing `-u _mono_profiler_startup_log` to clang directly, which is fine, but not complete, since it does not write the symbol to the symbollist file (--symbollist=file), which means it wouldn't be preserved when the MSBuild tasks strip the executable. https://bugzilla.xamarin.com/show_bug.cgi?id=58778 * Bump versions for SR3 https://trello.com/c/EVze08ei * Bump mono to include HttpClientHandler fix #44027 https://trello.com/c/jYFXadH8/8-systemnethttp-close-request-stream-when-httpclienthandler https://bugzilla.xamarin.com/show_bug.cgi?id=44027 * [FileProvider] Add missing API and turn NSString to string (#2663) Turned NSString to string in order to match exisiting API. * [uikit] Add UIPasteConfigurationSupporting and UITextPasteConfigurationSupporting (#2649) - Fixes bug #59363: Missing UIPasteConfigurationSupporting, UITextPasteConfigurationSupporting, UITextDraggable and UITextDroppable on a couple of types (https://bugzilla.xamarin.com/show_bug.cgi?id=59363) * [uikit] Remove 129 types in UIPasteConfigurationSupporting case * [scenekit] Audit (xtro) fixes (#2648) This looks like an Apple breaking change (since `SCNAnimation` is new) but we now have: > typedef void (^SCNAnimationEventBlock)(id<SCNAnimation> animation, id animatedObject, BOOL playingBackward); bound as > delegate void SCNAnimationEventHandler (CAAnimation animation, NSObject animatedObject, bool playingBackward); and `CAAnimation` conforms to `SCNAnimation` but *only* the later is available on watchOS. The delegate is only updated (since it's new) on our watchOS profile. xtro references: (watchos) !unknown-protocol! SCNCameraControlConfiguration bound (tvos/watchos) !missing-selector! SCNAnimation::animationEvents not bound !missing-selector! SCNAnimation::setAnimationEvents: not bound !missing-selector! SCNConstraint::isEnabled not bound !missing-selector! SCNConstraint::setEnabled: not bound !missing-field! SCNSceneSourceConvertToYUpKey not bound !missing-field! SCNSceneSourceConvertUnitsToMetersKey not bound (ios/tvos) !missing-protocol-conformance! SCNNode should conform to UIFocusItem * Bump maccore post 15.3 merge (#2665) * Bump Xcode 9 to GM (#2667) * Force build (on wrench) * [avfoundation] Fix breaking changes (apidiff) (#2664) * [TVServices] Update to Xcode 9 GM (#2675) * [GameController] Update to Xcode 9 GM (#2673) * [LocalAuthentication] Update to Xcode 9 GM (#2671) * [LocalAuthentication] Update to Xcode 9 GM * Remove availability from BiometryNotAvailable, BiometryNotEnrolled and BiometryLockout * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer (#2659) * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer Some of the new added types were already present BUT under a #if MONOMAC, they had to be moved. * [AVFoundation] Set the wrongly added API to be obsolete and ensure it returns logical values. (#2650) * [xtro] The right platform for macOS is 'macos', not 'osx'. (#2677) The platform name is used to filter availability attributes, and if we use the wrong platform, we'll incorrectly skip all availability attributes. The net result in unclassified entries: https://gist.github.com/rolfbjarne/a4474bc2a40c49a85cad495b51bb514f * Various Xcode 9 API improvements and also fixes bug 59433 (#2676) https://bugzilla.xamarin.com/show_bug.cgi?id=59433 While fixing bug 59433 I noticed some additional issues outlined below: AVDepthData: * Renamed **non** static `Create` methods because `Create` only makes sense with the **Static** method in this context. Also by renaming the methods we are now closer to the names that swift uses. * Kept descriptive method names in favor of self-documenting code. `Convert`, `Apply` and `Replace` do not fully give us the intent of the method. * Added a convenience `Create` static method that takes a `CGImageAuxiliaryDataInfo`. * AvailableDepthDataTypes is now an array of `CVPixelFormatType` instead of a `NSNumber` array (The aactual fix for bug 59433). ImageIO: * Refactored `CGImageAuxiliaryDataInfo` to be a `StrongDictionary` in order to avoid most of the manual code and also to avoid reimplementing the `ToDictionary` method (which contained a subtle bug). * Adjusted code to reflect the above change. * Added missing `.ctor (IntPtr, bool)` to `CGImageMetadata` so the class is able to be created by our `Runtime.Get*`. * Simplified `CopyAuxiliaryDataInfo` method by using `CGImageAuxiliaryDataInfo` as a `DictionaryContainer`. Tests: * Added `xamarinmonkey.heic` which is an image that contains depth data needed to test above changes. * Adds `AVDepthDataTests` that touches most of the changes listed here. * Tweak the Simd-compatible matrices and vectors (#2668) * Rename them to be OpenTK.NMatrix# (instead of Simd.MatrixFloat#x#). * Remove the Vector2 and Vector4 variants, we'll use the OpenTK types instead (but we'll keep the NVector3 variant, since it's not identical to the OpenTK version). * Update the API to match their OpenTK counterparts better: * NMatrix2 and NMatrix3 have a 0-based R#C# scheme for their fields. * NMatrix4 has a 1-based M## scheme for its fields (i.e. no change). * [AVFoundation] Use Simd-matrix for API that needs it. (#2679) This also requires implementing the corresponding matrix (NMatrix4x3). Fixes this xtro issue: > !unknown-simd-type-in-signature! OpenTK.Matrix3 AVFoundation.AVCameraCalibrationData::get_GetIntrinsicMatrix(): the native signature has a simd type (matrix_float3x3), while the corresponding managed method is using an incorrect (non-simd) type. * [xtro] Fix checking availability on categories. (#2682) When checking for category availability, check if both the current declaration is a category, and if the current's declaration container is a category. Otherwise this scenario fails: * Category method is available. * Category does not have availability attributes. * Main class is unavailable. with this typical code sequence: ```csharp // don't process methods (or types) that are unavailable for the current platform if (!decl.IsAvailable () || !(decl.DeclContext as Decl).IsAvailable ()) return; ``` In which case we'd: * First check the method (`decl`): * It's available, so no further checks is done on the method. * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container's container is a category (it isn't, it's the namespace). and as such determine that the method is available. With this change, the second step will become: * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container is a category (it is), and if its main class is available (it isn't). and as such determine that the method is unavailable. * Check for attributes on the method's container (no attributes, so we continue). * Check if the method's Unclassified diff: https://gist.github.com/rolfbjarne/8fa80962596978a426eadf9b7ba39dc1 * [uikit] Update for Xcode 9 GM (#2670) * [AVFoundation] Implement AVCapturePhoto. Partially fixes #59388. (#2678) Fixes: > common.unclassified:!missing-type! AVCapturePhoto not bound https://bugzilla.xamarin.com/show_bug.cgi?id=59388 * Use strong dictionaries for AVCapturePhoto.Metadata and AVCapturePhoto.EmbeddedThumbnailPhotoFormat. * [SIMD] Implement Simd double types (VectorDouble3/MatrixDouble4x4). (#2632) The following types will be used by ModelIO bindings * Fix delta to be double * Rename Simd-compatible matrices and vectors to match our final naming. This also means removing the new Vector2 and Vector4 variants (but not Vector3). * [avfoundation] Remove AVAssetDownloadDelegate.DidLoadTimeRange since it was removed in one of the betas (#2687) * [foundation] Move NSUrlSessionMultipathServiceType to a file processed by the generator (for the availability attributes) (#2688) * [arkit] Update for Xcode 9 GM (#2681) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes (#2690) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes Type Changed: Intents.INCarSeatResolutionResult Removed methods: public static INCarSeatResolutionResult GetConfirmationRequired (INCarSeat valueToConfirm); public static INCarSeatResolutionResult GetSuccess (INCarSeat resolvedValue); * [avfoundation] Add missing protocol members and deprecations (#2691) !missing-protocol-member! AVCapturePhotoCaptureDelegate::captureOutput:didFinishProcessingPhoto:error: not found and the selector removed from PR#2687 was actually replaced with this one !missing-protocol-member! AVAssetDownloadDelegate::URLSession:aggregateAssetDownloadTask:didLoadTimeRange:totalTimeRangesLoaded:timeRangeExpectedToLoad:forMediaSelection: not found * [tests][xtro] Map some enums, more fix with protocols and update entries (#2692) * [Tests] Reenable dns tests on the watch. (#2674) * [arkit] Add ARBlendShapeLocationOptions strong dictionary (#2696) * [coreimage] Skip not yet bound filters added in Xcode9 (#2698) Tracked in https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * [Metal] Renamed MTLArgumentDescriptor.ArgumentDescriptor to Create, fixes bug 59498 (#2702) https://bugzilla.xamarin.com/show_bug.cgi?id=59498 From [argumentDescriptor docs](https://developer.apple.com/documentation/metal/mtlargumentdescriptor/2915746-argumentdescriptor?language=objc) > Creates an empty argument descriptor. * [msbuild] Always codesign app bundles if the codesign key is non-null (#2697) ...even if it is a simulator build. Turns out that starting with Xcode9, sim builds need to be codesigned for App Groups entitlements to work properly. Interestingly, the DetectSigningIdentity logic had a comment about needing to codesign simulator builds for some entitlements to work already starting with Xcode 8 but apparently the iOS targets did not respect this. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=59379 * [Foundation] Add NSProxy stub in order to workaround bug 59247 (#2693) https://bugzilla.xamarin.com/show_bug.cgi?id=59247 We need to have a better solution that removes all what NSProxy does not responds to. Right now this works because NSObject implements NSObject protocol just like NSProxy, but NSProxy responds to far less selectors hence doing it internal so it is not a breaking change when we provide the correct fix. * Keep NSProxy around and avoid XML linker description We need to keep NSProxy (avoid linking it) if WKNavigationDelegate or IWKNavigationDelegate is used. We know WKWebView will be there and can hold a reference to it. * [Xcode 9] Update Metal for GM (#2689) * [iosurface] IOSurface is not usable before iOS/tvOS 11. Fixes #59201 (#2706) Apple rejects apps that links with the previously private IOSurface.framework. We were not sure about this [1] and had it disabled (this is removed). However another bug stopped our adjustment logic [2] from being executed. This is needed since `clang` picks up the private framework if it does not find the public one (even when asking for a weak framework), [1] https://bugzilla.xamarin.com/show_bug.cgi?id=59201 [2] Added a while ago for JavascriptCore * Bump maccore to point to commit with the docs fix. (#2703) * Bump XI to 11.0.x (and XM to 3.99.9.x) (#2684) * fix typo
2017-09-16 00:53:16 +03:00
[Export ("focalLength")]
nfloat FocalLength { get; set; }
[Watch (4, 0), TV (11, 0), Mac (10, 13, onlyOn64: true), iOS (11, 0)]
Merge xcode9 into d15-4[-xi] (#2710) * [FileProvider] Add Xcode 9 Beta 1, 2 & 3 Bindings (#2279) * [FileProvider] Add Xcode 9 Beta 1 Bindings * Better naming * Feedback not related to BindAs * [FileProvider] Removes BindAs, add manual code for it and updated to Beta 3 * [FileProvider] Implement feedback * [CoreSpotlight] Updated spotlight bindings for xcode 9 beta 3. (#2193) Updated spotlight bindings for xcode 9 beta 3. * Fix warning caused by duplicate (#2354) * [FileProviderUI] Add Xcode 9 Beta 1 to 3 bindings (#2356) * Bump to Xcode 9 beta 4 * [arkit] ARLightEstimate does not conform to NSCopying anymore (fix unit test) * [uikit] NSFileProviderExtension.ReparentItem got a new parameter in beta4 (fix unit test) * [coreimage] CIImageAccumulator init returns nil in beta 4 There's no header change to mention `init` is not allowed but it's not clear how this default initializer could be used. Also make public some other API to construct this type (outside of XM). It's not clear why there were `internal` as they are (at least now) part of the header files. * [photos] Add helpers when PHLivePhotoEditingOption/NSDictionary is null (to avoid ambiguous API) (#2360) Adding a strongly typed `PHLivePhotoEditingOption` (a strongly typed version of an `NSDictionary`) can cause a `CS0121` (call is ambiguous) since using a `null` argument is common (only one option exist so far). This PR adds overloads that makes the code nicer in such case, e.g. before Xcode9: > // null is used when no options are given > _foo.SaveLivePhoto (output, null, completion); current (Xcode 9) > // casting required to remove ambiguity with PHLivePhotoEditingOption > _foo.SaveLivePhoto (output, (NSDictionary)null, completion); with this PR > // no option, no argument > _foo.SaveLivePhoto (output, completion); The same applies to `PrepareLivePhotoForPlayback`. * [tests] Disable/tweak two tests that breaks on (almost) all Xcode updates Those tests were not added to validate xOS so just keep the parts that helps us (without constantly checking back the new break flavor) * Disable watchOS to check if this hides others issues * [mapkit] Update for beta 4 * [coredata] Update for beta 4 * [wkwebkit] Update for beta 4 Note: WKWindowFeatures.h is not compiled (part of the framework umbrella) and the `@interface WKWindowFeatures (WKPrivate)` sounds like it should not have been exposed (it's all fields starting with `_`) * [corelocation] Update for beta 4 * Revert "Disable watchOS to check if this hides others issues" This reverts commit fed2249fa43290a1956ab2fe0d48f83ab6db9711. * [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]: https://github.com/xamarin/xamarin-macios/blob/f5956d6cc1eb5dfa7bab16628cf282d40237f64e/src/generator.cs#L5985 * [FinderSync] Update to beta 4 (#2377) * [ImageIO] Update to Xcode 9 (#2353) * [PhotosUI] Move macOS photosui bindings out of photos.cs into photosui.cs (#2358) * [quicklook] Update up to beta 4 (#2374) * [uikit] UIDragInteraction & UIDragInteractionDelegate (Xcode 9 b1,2,3) (#2357) * [safariservices] Update up to beta 4 (#2380) * [coreanimation] Update to beta 4 (#2382) Apple removed (mistake?) some API in beta 1. Filed as rdar 33590997 Internal tracking in https://trello.com/c/J8BDDUV9/86-33590997-coreanimation-quartzcore-api-removals * [storekit] Update up to beta 4 (#2379) * [CoreML] Update to Xcode 9 Beta 4 (#2387) * [uikit] UICollectionView/UITableView Drag & Drop (Xcode 9 b1,2,3 & 4) (#2355) * Update code after radar 32929318 and 32897776 are fixed in b4 (#2394) * [xcode9 CoreAudio] New definitions from Beta1 to Beta3 (#2359) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 (#2397) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 https://bugzilla.xamarin.com/show_bug.cgi?id=58512 Created strong API (VNBarcodeSymbology) on the following properties * VNDetectBarcodesRequest.SupportedSymbologies * VNDetectBarcodesRequest.Symbologies * VNBarcodeObservation.Symbology * Remove modern C# because classic can't do it 😡 * [mediaplayer] Update up to beta 4 (#2388) * [watchkit] Update to beta 4 (#2398) * Bump Visual Studio for Mac max version (#2408) * [coreimage] Add CIBarcodeDescriptor and enabled missing API for VNBarcodeObservation. Fix #58197 (#2411) https://bugzilla.xamarin.com/show_bug.cgi?id=58197 * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 (#2407) * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 * [uikit] Fixes based on comments * [coreimage] CIImageAccumulator API fixes. Fix #58349 (#2412) * Obsolete the default `init`; * XM exposed some older APIs using `int` instead of `CIFormat`. This is fixed and old APIs are obsoleted; * Both new & old APIs are now using `CIFormat` for both XI and XM. https://bugzilla.xamarin.com/show_bug.cgi?id=58349 * [uikit] UIText drag & drop - up to Xcode 9 beta 4 (#2410) * [uikit] UISplitView & UIStackView up to Xcode 9 beta 4 (#2425) * Bump XI/XM versions before preview 4 (#2422) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 (#2378) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 * [PDFKit] Implement feedback * [PDFKit] the forgotten enum * [PDFKit] More feedback * [PDFKit] Add Mac changes * Missing change * Fix test RectangleF VS CGRect * Pass -Wunguarded-availability-new to quiet a new clang warning (#2424) - https://bugzilla.xamarin.com/show_bug.cgi?id=58574 * [mtouch/mmp] Ignore warnings about unguarded code section with regards to availability. (#2441) * [monotouch-test] Remove workaround for fixed Apple bug. (#2445) * Bump to Xcode 9 beta 5. (#2447) * Bump to Xcode 9 beta 5. * [mmp] Disable the partial static registrar, because Apple's macOS SDK is broken. > In file included from Xamarin.Mac.registrar.mobile.i386.m:1: > In file included from ./Xamarin.Mac.registrar.mobile.i386.h:11: > /Applications/Xcode9-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVFoundation.h:88:9: fatal error: 'AVFoundation/AVRouteDetector.h' file not found https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [mmp] Fix partial static registrar removal. * [CallKit] Update to Xcode 9 beta 5. * [ARKit] ARPointCloud doesn't conform to NSCopying anymore in Xcode 9 beta 5. * [ARKit] Update to Xcode 9 beta 5 enough to make tests happy. * [CoreImage] Stub out new filters in Xcode 9 beta 5. * [tests][monotouch] Simplify some MDLMesh asserts since values change a lot between OS versions. * [mmp] Default to the dynamic registrar for release builds again, due to bug #58629. https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [tests][introspection] CXCall started implementing NSCopying without saying so in the headers. * Disable mmp static registrar tests due to 58629 for now * [quicklook] Update to beta 5 (#2450) * [photos] Update for beta 5 (#2452) Also update some existing enum members were added in beta 1 on macOS * [safariservices] Update for beta 5 (#2455) * [mediaplayer] Update to beta 5 (#2456) * [CoreLocation] Update Xcode 9 Beta 5 (#2453) * [CoreML] Update to Xcode 9 Beta 5 (#2454) * [Contacts] Update to Xcode 9 Beta 5 (#2451) * [Vision] Update to Xcode 9 Beta 5 (#2458) * [builds] Tell LLVM to stay away from newer macOS functions. (#2459) Fixes this build problem on Sierra: > ld: weak import of symbol '_futimens' not supported because of option: -no_weak_imports for architecture x86_64 This is a symbol that was (will be?) introduced in High Sierra. Interestingly this only occurs if the Xcode 8.X Command Line Tools haven't been manually installed. Because if the Xcode 8.X Command Line Tools are installed, this happens: 1. llvm's configure script detects that 'futimens' is not usable. 2. llvm's configure script detects that 'futimens' is not usable, because xcrun sets SDKROOT=/ when calling clang. a. When the SDKROOT variable is set, clang passes '-syslibroot /usr/lib' to ld. b. When ld gets '-syslibroot /usr/lib', ld looks in '/usr/lib' for a library that contains 'futimens' in the OS itself, and since we're on Sierra, that fails to link. c. So when llvm's configure script creates a test program that checks if 'futimens' is present, the program fails. This is correct, and makes llvm *not* use futimens. 3. xcrun sets SDKROOT=/ because /usr/share/current-os.sdk/Info.plist exists. If that file does not exist, then xcrun sets SDKROOT to Xcode9's macOS SDK (because that's what xcode-select reports). a. When SDKROOT is set to Xcode9's macOS SDK, the configure check for 'futimens' succeeds, because the macOS 10.13 SDK contains that function. b. llvm happily uses 'futimens', and then the final link fails because we're using a symbol not available on all target platforms. * [arkit] Update for Xcode 9 beta 5 - Part 1 (#2460) * [tests] The container app for watchOS tests should be 64-bit. (#2463) * [xharness] watchOS tests need to run in a clean environment. Works around #58348. (#2462) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [xharness] It watchOS tests don't need to be clean anymore. Fixes #58348. (#2473) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [uikit] UIView/UIScrollView/UIViewController up to Xcode 9 beta 5 (#2431) - Add NSDirectionalEdgeInsets type. - Includes DirectionalEdgeInsetsTest. * [AudioToolbox] Update bindings to Xcode 9 beta3 (not later changes). (#2294) * [xharness] Add a file existence check. (#2478) Fixes this exception: ``` Harness exception for 'introspection': System.IO.FileNotFoundException: Could not find file '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log'. File name: '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log' at System.IO.__Error.WinIOError (System.Int32 errorCode, System.String maybeFullPath) [0x00207] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/__error.cs:188 at System.IO.FileInfo.get_Length () [0x00038] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/fileinfo.cs:171 at xharness.CaptureLog.StopCapture () [0x00021] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Log.cs:252 at (wrapper remoting-invoke-with-check) xharness.CaptureLog:StopCapture () at xharness.AppRunner+<RunAsync>d__68.MoveNext () [0x0127f] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/AppRunner.cs:642 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter`1[TResult].GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:357 at xharness.RunSimulatorTask+<RunTestAsync>d__7.MoveNext () [0x0029d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2894 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.RunTestTask+<ExecuteAsync>d__8.MoveNext () [0x0010b] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2538 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.TestTask+<RunInternalAsync>d__87.MoveNext () [0x0010d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:1870 ``` I'm not sure how this can happen, but it has on the bots [1]. [1] https://jenkins.mono-project.com/job/xamarin-macios-pr-builder/4548/Test_Report/ * Bump versions for preview 5 (#2479) * [passkit] Update to beta 5 (#2481) * [tests] Remove workaround for radar #32688391. (#2486) * [replaykit] Update up to beta 5 (#2484) * Bump maccore to get fix for bug #55064. (#2487) * [apidiff] Update definition to new 10.12 (d15-3) stable release (#2490) * [SceneKit] basic work (#2483) * [coredata] Update to beta 5 (#2488) * [homekit] Update for Xcode 9 beta 5 (#2492) * [Foundation] Update for xcode9 (#2468) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 (#2493) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 * [Intents] Implement feedback * [Intents] Add a generic version for INInteraction.GetParameterValue * [Intents] Missing check * [Contacts] Add missing foundation NSItemProviderWriting protocol to CNContact (#2496) https://bugzilla.xamarin.com/show_bug.cgi?id=58203 This is available on all Contacts supported platforms ``` ./iPhoneOS.platform/Developer/SDKs/iPhoneOS11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchOS.platform/Developer/SDKs/WatchOS4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchSimulator.platform/Developer/SDKs/WatchSimulator4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ``` * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) (#2497) * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) * [IntentsUI] Better use a delegate instead so we have named params * Bump versions before 6th preview (#2514) * [arkit] Add missing MarshalDirective to ARPlaneAnchor (#2517) - Fixes bug #58648: ARPlaneAnchor.Extent property seems incorrect but changes to correct value after Debug access (https://bugzilla.xamarin.com/show_bug.cgi?id=58648) * [xtro-sharpie] Fix a compiler warning. (#2516) Fixes these warnings: Runner.cs(197,5): warning CS0642: Possible mistaken empty statement Runner.cs(199,5): warning CS0642: Possible mistaken empty statement Runner.cs(201,5): warning CS0642: Possible mistaken empty statement Runner.cs(203,5): warning CS0642: Possible mistaken empty statement Runner.cs(205,5): warning CS0642: Possible mistaken empty statement * [uikit] Update for Xcode 9 beta 5 - Part 3 (#2511) - UIKeyCommand - UINavigationBar - UINavigationItem - UIPasteboard - UITableViewHeaderFooterView * [xtro-sharpie] Remove xtro-plugin and misc other fixes. (#2522) * [xtro-sharpie] Build with msbuild and be as quiet as requested when building. * [xtro-sharpie] Must run as a 64-bit process, since the required native libraries are 64-bit. * [xtro-sharpie] Add run configurations to the project file to ease debugging in the IDE. * [xtro-sharpie] Remove xtro-plugin and the related commands. This was needed when there wasn't a 64-bit mono, in order to run xtro-sharpie in a 64-bit process. Now there is a 64-bit mono, so it's not needed anymore. Also improve makefile targets a bit, to auto-build stuff when needed, by setting the right dependencies. * Bump Xcode 9 to beta 6 (#2519) Disable watchOS tests again It seems like the Carousel crash from beta 4 is back to haunt us. This was working fine with beta 5. * Backport d15-3 SR2 fixes (#2515) * [coredata] Update to beta 6 (#2528) This seems to only revert some nullability changes from beta 5. * [coreml] Update to beta 6 (#2531) Fix our rdar 33643011 where additional setters were added in the headers but did not exists. * [videosubscriberaccount] Update to beta 6 (#2533) Only b1 and b2 introduced some additions/changes * [uikit] Update for Xcode 9 beta 6 - Part 4 (#2527) The following headers are now up to date: - UICollectionViewFlowLayout.h - UIDocumentPickerViewController.h - UIFontDescriptor.h - UIImage.h - UIImageView.h - UIImagePickerController.h * [xharness] Re-enable the watchOS tests. (#2534) It works fine for me locally, so let's see what Jenkins says. * [macos] Add new APIs in CoreWlan from Xcode9b3 (#2525) * Update AppKit bindings based on radar 33271241 results (#2518) * Update AppKit bindings based on radar 33271241 results - The header comment was updated to note it was NSSliderTouchBarItem view that has the protocol * Remove NSUserInterfaceCompression where not listed in header * [vision] Update to beta 6 (#2532) Removal of some deprecated (during beta) `init*` selectors. Also sync the versions that were inlined in subclasses - the old ones were not removed and the new ones were not added. * [xtro-sharpie] Many methods don't have selectors in Clang's API, so default to the name if no selector. (#2523) This makes a few more unclassified entries show up (mostly missing designated initializers): https://gist.github.com/rolfbjarne/07aa20f9b50b75bf3e69ac6a825e873a * [macos] Add ExternalAccessory APIs from xcode9 (#2526) * [58851] Disable NSMenuView in AllItemsWithNSMenuShouldAllowNull (#2504) * [arkit] Update for Xcode 9 beta 5 - Part 2 (#2505) - Add last missing selector. - Add tests for manual code. * [monotouch-test] Disable FontDescriptorTest.WithFeature (#2537) Disabled because it looks like the tvOS font we use: "Gujarati Sangam MN" does not have rare ligatures anymore (and the entire test is based on it). Before getting an actual fix for that, let's disable the test so it doesn't break all current builds. See: https://bugzilla.xamarin.com/show_bug.cgi?id=58929 * [xtro-sharpie] Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute. (#2524) Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute to calculate the native name for a TypeDefinition. Unclassified changes: https://gist.github.com/rolfbjarne/828f8ee41eebb0a3b60a38d71822fe59 * [foundation/uikit] Inline NSItemProvider_UIKitAdditions in NSItemProvider (#2538) As suggested here: https://github.com/xamarin/xamarin-macios/pull/2527#discussion_r134670981 * [intents] Fix breaking changes (api-diff) (#2543) Additions of @required members inside `INSpeakable` cannot be `[Abstract]` * [contacts] Fix breaking change (api-diff) (#2542) Type Changed: Contacts.CNPostalAddress Removed method: public static string LocalizeProperty (CNPostalAddressKeyOption option); * [macos] Reenable static registrar since Xcode9b6 un-broke SDK headers (#2544) - Fix a subtle spacing issues in PartialStaticLibrary property * [corebluetooth] Update up to beta 6 and enable it on watchOS (#2540) macOS 10.13 has finally catch up with iOS and this simplifies the bindings a bit. * [foundation] API fixes (apidiff) (#2545) 1. Let's not add new, already [Obsolete] API Type Changed: Foundation.NSDimension Added constructors: [Obsolete ("Not intended to be directly instantiated, this is an abstract class.")] public NSDimension (); 2. Fix inconsistently named API, e.g. Type Changed: Foundation.NSAttributedString Added properties: public static string[] ReadableTypeIdentifiersForItemProvider { get; } public static string[] WritableTypeIdentifiers { get; } * [pdfkit] Do not add already [Obsolete] API in new profiles (#2547) and ensure using the newer, correct API works cross-platforms iOS (before) [Obsolete ("Use 'Find (string, NSStringCompareOptions)' instead.")] public virtual PdfSelection[] Find (string text, nint options); public PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'Find (string, PdfSelection, NSStringCompareOptions)' instead.")] public virtual PdfSelection Find (string text, PdfSelection selection, nint options); public void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string, NSStringCompareOptions)' instead.")] public virtual void FindAsync (string text, nint options); public void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string [], NSStringCompareOptions)' instead.")] public virtual void FindAsync (string[] text, nint options); iOS (after) public virtual PdfSelection[] Find (string text, Foundation.NSStringCompareOptions compareOptions); public virtual PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); * Bump versions for the 7th preview (#2541) * Remove additions of AVKit removed in beta5 (#2536) * NSUrlSessionTask should implement NSProgressReporting for iOS (#2548) NSUrlSessionTask implements NSProgressReporting on iOS as well as Mac, so the #if MONOMAC isn't needed. * Add missing availability attributes causing failures on older iOS versions (#2550) * [vision] Minor fix wrt xtro (#2551) including some things we need to ignore manually !missing-field! VNVisionVersionNumber not bound !missing-pinvoke! VNImagePointForFaceLandmarkPoint is not bound !missing-pinvoke! VNNormalizedFaceBoundingBoxPointForLandmarkPoint is not bound * [uikit] NSFileProviderMessaging was removed in beta 2. Fixes #58222 (#2552) reference: https://bugzilla.xamarin.com/show_bug.cgi?id=58222 * [uikit] Update for Xcode 9 - Part 5 (#2546) Bindings for the following headers: - UIActivity.h - UIActivityItemProvider.h - UIAlertController.h - UIApplication.h - UIBarButtonItem.h - UIButton.h - UICollectionViewLayout.h - UIColor.h - UIControl.h - UIDocumentMenuViewController.h - UIFontMetrics.h - UIGestureRecognizer.h - UIGraphicsImageRenderer.h - UIInputViewController.h * [CoreText] Fix an extraneous free in CTFont.GetDefaultCascadeList. (#2555) We do not own the return value from CFArrayGetValueAtIndex, so don't say we do when creating CTFontDescriptor instances, since that leads to angry dragons: 2017-08-28 20:15:20.293 monotouchtest[33186:2311738] A_FontTest 2017-08-28 20:15:20.294 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithFontDescriptorAndOptions 2017-08-28 20:15:20.295 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithNameAndOptions 2017-08-28 20:15:20.296 monotouchtest[33186:2311738] critical: Stacktrace: at <unknown> <0xffffffff> at (wrapper managed-to-native) CoreText.CTFont.CTFontCopyDefaultCascadeListForLanguages (intptr,intptr) [0x0000a] in <ae65a2b1eea242d2b68fe784749543bf>:0 at CoreText.CTFont.GetDefaultCascadeList (string[]) [0x00013] in /work/maccore/xcode9/xamarin-macios/src/CoreText/CTFont.cs:2185 at MonoTouchFixtures.CoreText.A_FontTest.GetCascadeList () [0x0001e] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/CoreText/FontTest.cs:78 at (wrapper runtime-invoke) object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) [0x0004f] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) System.Reflection.MonoMethod.InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&) [0x00016] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at System.Reflection.MonoMethod.Invoke (object,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo) [0x00032] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/corlib/System.Reflection/MonoMethod.cs:305 at System.Reflection.MethodBase.Invoke (object,object[]) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/referencesource/mscorlib/system/reflection/methodbase.cs:229 at NUnit.Framework.Internal.Reflect.InvokeMethod (System.Reflection.MethodInfo,object,object[]) [0x00009] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Reflect.cs:215 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunNonAsyncTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x00025] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:116 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x0001a] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:90 at NUnit.Framework.Internal.Commands.TestMethodCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:66 at NUnit.Framework.Internal.Commands.SetUpTearDownCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00007] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/SetUpTearDownCommand.cs:84 at NUnit.Framework.Internal.WorkItems.SimpleWorkItem.PerformWork () [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/SimpleWorkItem.cs:64 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at MonoTouch.NUnit.UI.BaseTouchRunner.Run (NUnit.Framework.Internal.Test) [0x0004d] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:442 at MonoTouch.NUnit.UI.BaseTouchRunner.Run () [0x00030] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:171 at MonoTouch.Dialog.StringElement.Selected (MonoTouch.Dialog.DialogViewController,UIKit.UITableView,Foundation.NSIndexPath) [0x00008] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/Elements.cs:765 at MonoTouch.Dialog.DialogViewController.Selected (Foundation.NSIndexPath) [0x00026] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:577 at MonoTouch.Dialog.DialogViewController/Source.RowSelected (UIKit.UITableView,Foundation.NSIndexPath) [0x00016] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:402 at (wrapper runtime-invoke) <Module>.runtime_invoke_void__this___object_object (object,intptr,intptr,intptr) [0x0005d] in <32f0c196c5bc4aa18daea2ee64a7814e>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) UIKit.UIApplication.UIApplicationMain (int,string[],intptr,intptr) [0x0005c] in <ae65a2b1eea242d2b68fe784749543bf>:0 at UIKit.UIApplication.Main (string[],intptr,intptr) [0x00005] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:79 at UIKit.UIApplication.Main (string[],string,string) [0x00038] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:63 at monotouchtest.Application.Main (string[]) [0x00011] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/Main.cs:27 at (wrapper runtime-invoke) <Module>.runtime_invoke_void_object (object,intptr,intptr,intptr) [0x00051] in <30a7f7e09de9467b8b454221034a0e38>:0 Native stacktrace: 0 monotouchtest 0x000000010fca03c4 mono_handle_native_crash + 244 1 monotouchtest 0x000000010fcadd30 mono_sigsegv_signal_handler + 288 2 libsystem_platform.dylib 0x000000011feb3b3a _sigtramp + 26 3 CoreFoundation 0x000000011de035a2 computeSanitizedString + 146 4 CoreText 0x00000001168df314 _ZN15TPurgeableCache19RetainedValueForKeyEPKv + 54 5 CoreText 0x00000001168def85 _ZNK17TDescriptorSource22CopyDescriptorUncachedEPK7__CFURLbPK10__CFString + 55 6 CoreText 0x00000001168df34f _ZNK17TDescriptorSource14CopyDescriptorEPK7__CFURLbPK10__CFString + 27 7 CoreText 0x00000001168e20ad _ZNK17TDescriptorSource35CopyFontDescriptorPerPostScriptNameEPK10__CFStringmm + 297 8 CoreText 0x00000001168dfd9e _ZNK17TDescriptorSource30CopySystemFontDescriptorByNameEPK10__CFString10UIFontFlag + 54 9 CoreText 0x00000001168e54c4 _ZNK14TFontFallbacks17CopyFontFallbacksEPK10__CFStringS2_PK9__CFArray + 652 10 CoreText 0x00000001168e4a00 _ZNK14TFontFallbacks29CopyFontFallbacksForLanguagesEPK10__CFStringPK9__CFArray + 122 11 CoreText 0x00000001168e4971 _ZN17TDescriptorSource39CopyDefaultSubstitutionListForLanguagesEPK10__CFStringPK9__CFArray + 61 12 CoreText 0x00000001169397a7 _ZNK9TBaseFont28CreateSystemDefaultFallbacksEPK10__CFStringPK9__CFArray + 51 13 CoreText 0x000000011693999c _ZNK9TBaseFont15CreateFallbacksE10UIFontFlagPPK16__CFCharacterSetPK9__CFArray + 346 14 CoreText 0x00000001168c1036 _ZNK5TFont24CreateDefaultCascadeListEPK9__CFArray + 242 15 CoreText 0x00000001168b8ff9 CTFontCopyDefaultCascadeListForLanguages + 97 16 ??? 0x0000000140eaefd3 0x0 + 5384105939 17 ??? 0x0000000140eae761 0x0 + 5384103777 18 ??? 0x000000013c9c8e74 0x0 + 5311860340 19 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 20 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 21 monotouchtest 0x000000010fd71bac mono_runtime_try_invoke_array + 1292 22 monotouchtest 0x000000010fd15587 ves_icall_InternalInvoke + 647 23 ??? 0x000000013e9fcd13 0x0 + 5345627411 24 ??? 0x000000013e9fc738 0x0 + 5345625912 25 ??? 0x000000013e9fded5 0x0 + 5345631957 26 ??? 0x000000013e9fbb76 0x0 + 5345622902 27 ??? 0x000000013e9e237e 0x0 + 5345518462 28 ??? 0x000000013e9e237e 0x0 + 5345518462 29 ??? 0x000000013e9e237e 0x0 + 5345518462 30 ??? 0x000000013e9e237e 0x0 + 5345518462 31 ??? 0x000000013e873006 0x0 + 5344014342 32 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 33 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 34 monotouchtest 0x000000010fd6e320 mono_runtime_invoke + 208 35 monotouchtest 0x000000010fe71af1 xamarin_invoke_trampoline + 5617 36 monotouchtest 0x000000010fe79ddd xamarin_arch_trampoline + 189 37 monotouchtest 0x000000010fe7b1a1 xamarin_x86_64_common_trampoline + 110 38 UIKit 0x0000000111b9876b -[UITableView _selectRowAtIndexPath:animated:scrollPosition:notifyDelegate:] + 1810 39 UIKit 0x0000000111b98986 -[UITableView _userSelectRowAtPendingSelectionIndexPath:] + 344 40 UIKit 0x0000000111a6b5c9 _runAfterCACommitDeferredBlocks + 318 41 UIKit 0x0000000111a59dad _cleanUpAfterCAFlushAndRunDeferredBlocks + 280 42 UIKit 0x0000000111a89f68 _afterCACommitHandler + 137 43 CoreFoundation 0x000000011de3ddb7 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23 44 CoreFoundation 0x000000011de3dd0e __CFRunLoopDoObservers + 430 45 CoreFoundation 0x000000011de22324 __CFRunLoopRun + 1572 46 CoreFoundation 0x000000011de21a89 CFRunLoopRunSpecific + 409 47 GraphicsServices 0x0000000121b7e9c6 GSEventRunModal + 62 48 UIKit 0x0000000111a5f7d0 UIApplicationMain + 159 49 ??? 0x000000013c9c4474 0x0 + 5311841396 50 ??? 0x000000013c9c40ad 0x0 + 5311840429 ================================================================= Got a SIGSEGV while executing native code. This usually indicates a fatal error in the mono runtime or one of the native libraries used by your application. ================================================================= * [monotouch-test] Don't subclass MKMapView. (#2556) MKMapView doesn't like being subclassed (Apple says "you should not subclass the MKMapView class itself"). Bad things like this starts happening: Thread 0 name: tid_303 Dispatch queue: com.apple.main-thread Thread 0 Crashed: 0 libsystem_kernel.dylib 0x0000000186b25348 __pthread_kill + 8 1 libsystem_pthread.dylib 0x0000000186c39354 pthread_kill$VARIANT$mp + 396 2 libsystem_c.dylib 0x0000000186a94fd8 abort + 140 3 monotouchtest 0x0000000101c02c14 mono_handle_native_crash + 22047764 (mini-exceptions.c:2548) 4 monotouchtest 0x0000000101c0d02c mono_sigsegv_signal_handler + 22089772 (mini-runtime.c:2886) 5 libsystem_platform.dylib 0x0000000186c33b60 _sigtramp + 52 6 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 7 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 8 CoreFoundation 0x0000000186eda51c -[__NSArrayM dealloc] + 68 9 CoreFoundation 0x000000018703f5c8 __CFBasicHashDrain + 312 10 CoreFoundation 0x0000000186fb5b44 _CFRelease + 224 11 CoreText 0x000000018a808404 TDescriptorSource::PurgeFontFallbacksCache+ 488452 () + 92 12 CoreText 0x000000018a808374 TDescriptorSource::PurgeFromCaches+ 488308 (__CFURL const*) const + 176 13 CoreText 0x000000018a7eec74 CTFontRemoveFromCaches + 168 14 VectorKit 0x0000000196a539b0 +[VKSharedResourcesManager removeResourceUser:] + 324 15 VectorKit 0x0000000196ca27a4 md::MapEngine::~MapEngine+ 2643876 () + 360 16 VectorKit 0x0000000196ca2634 md::MapEngine::~MapEngine+ 2643508 () + 12 17 libobjc.A.dylib 0x000000018651eef4 object_cxxDestructFromClass+ 28404 (objc_object*, objc_class*) + 148 18 libobjc.A.dylib 0x000000018652c638 objc_destructInstance + 88 19 libobjc.A.dylib 0x000000018652c690 object_dispose + 16 20 QuartzCore 0x000000018afca3ac -[CALayer dealloc] + 116 21 VectorKit 0x0000000196a43294 -[VKMapView dealloc] + 940 22 QuartzCore 0x000000018af6aafc CA::release_objects+ 744188 (X::List<void const*>*) + 32 23 QuartzCore 0x000000018afd97d8 CA::Layer::~Layer+ 1198040 () + 276 24 QuartzCore 0x000000018afca37c -[CALayer dealloc] + 68 25 QuartzCore 0x000000018af6b16c CA::Transaction::commit+ 745836 () + 1052 26 UIKit 0x0000000190393290 _afterCACommitHandler + 256 27 CoreFoundation 0x0000000186fb38b8 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 32 28 CoreFoundation 0x0000000186fb1270 __CFRunLoopDoObservers + 412 29 CoreFoundation 0x0000000186fb182c __CFRunLoopRun + 1292 30 CoreFoundation 0x0000000186ed22d8 CFRunLoopRunSpecific + 436 31 GraphicsServices 0x0000000188d58f84 GSEventRunModal + 100 32 UIKit 0x000000019040427c UIApplicationMain + 208 33 monotouchtest 0x000000010106eb90 wrapper_managed_to_native_UIKit_UIApplication_UIApplicationMain_int_string___intptr_intptr + 9907088 (/<unknown>:1) 34 monotouchtest 0x0000000100f0d6ac UIKit_UIApplication_Main_string___intptr_intptr + 8459948 (UIApplication.cs:79) 35 monotouchtest 0x0000000100f0d66c UIKit_UIApplication_Main_string___string_string + 8459884 (UIApplication.cs:63) 36 monotouchtest 0x0000000100b10450 monotouchtest_Application_Main_string__ + 4277328 (Main.cs:27) 37 monotouchtest 0x0000000100e0c244 wrapper_runtime_invoke_object_runtime_invoke_dynamic_intptr_intptr_intptr_intptr + 244 38 monotouchtest 0x0000000101c10048 mono_jit_runtime_invoke + 22102088 (mini-runtime.c:2526) 39 monotouchtest 0x0000000101c75eec do_runtime_invoke + 22519532 (object.c:2829) 40 monotouchtest 0x0000000101c78a3c do_exec_main_checked + 22530620 (object.c:4623) 41 monotouchtest 0x0000000101bf9a1c mono_jit_exec + 22010396 (driver.g.c:1040) 42 monotouchtest 0x0000000101d13d60 xamarin_main + 23166304 (monotouch-main.m:482) 43 monotouchtest 0x00000001007de710 main + 927504 (main.m:67) 44 libdyld.dylib 0x00000001869f656c start + 4 * [introspection] Let SkipDueToAttributeInProperty skip setters too (#2557) `SkipDueToAttributeInProperty` which is used to check the availability attribute of properties when the Availability info only exist on the property and not on the property Getter or Setter was wrong. This lead to `setSpringLoaded` (which was introduced in iOS 11) to not be ignored by the test (making it fail). - Fix bug #59085: [introspection-ios] selector not found for UIKit.UIBarButtonItem : setSpringLoaded: - Broken test (https://bugzilla.xamarin.com/show_bug.cgi?id=59085) * [corevideo][watchos] Enable CoreVideo on watchOS (#2553) * [storekit] Fix CampaignToken typo (#2559) (#2560) - Fixes bug #59078: StoreProductParameters and invalid property for CampaignToken (https://bugzilla.xamarin.com/show_bug.cgi?id=59078) * [coreml][watchos] Enable API using CoreVideo on watchOS. Fix #58097 (#2561) https://bugzilla.xamarin.com/show_bug.cgi?id=58097 * Add missing [MarshalDirective] attributes. (#2558) * [bindings-generator] Improve build & project file. * Add missing [MarshalDirective] attributes. Add missing [MarshalDirective] attributes, which also requires implementing support for out parameters in the binding generator, since one of the signatures missing the [MarshalDirective] contains such an out parameter. Also add tests for all the API I've added [MarshalDirective] to. * [bindings-generator] Remove redundant if check. * [monotouch-test] Rename file to end with 'Test.cs'. * [tests] Fix a few build errors for Xamarin.Mac. * [uikit] Fix UIColor and UIInputViewController tvOS availability (#2569) - Fixes introspection tests on tvOS 10. * [storekit] Fix SKCloudServiceSetupMessageIdentifier and SKProductStorePromotionController tvOS availability (#2568) - Fixes introspection tests on tvOS 10. * [mapkit] Fix MKMapItemTypeIdentifier tvOS availability (#2566) - Also remove double [Mac] availability attribute. - Fixes introspection tests on tvOS 10. * [ARKit] Fix marshalling for ARPointCloud.RawFeaturePoints. (#2565) ARPointCloud.RawFeaturePoints is an array of Vector3, but each vector is 16-byte aligned (as if it were an array of Vector4). This means we need to account for this when creating a managed array from pointer to the native C-style array. * [ModelIO] Fix MDLVoxelIndexExtent struct. (#2564) The MDLVoxelIndexExtent is a struct containing two 4-dimensional vectors of integers (not floats, as originally and incorrectly implemented). Fix this my creating a new MDLVoxelIndexExtent2 struct with the right fields, re-implement all the API that exposes this struct and obsolete the old API. Also add missing [MarshalDirective] attributes. And write a test to make sure it works fine now and forever. * [coredata] Enable new fields since rdar #33878590 is fixed w/beta 6 (#2570) reference: https://trello.com/c/dlSRYPFx * [xtro-sharpie] Add a Simd check class to verify signatures with Simd types. * [Simd] Add simd matrix types. The OpenTK matrices (Matrix2/3/4) has a different memory layout than Apple's matrix_float2x2/matrix_float3x3/matrix_float4x4 matrices: the OpenTK versions are row-major, while Apple's versions are column-major. This means that when blitting memory from one to the other, the matrix will appear to have been transposed. See bug #[58599][2] for an example. Unfortunately we've already bound several API with Apple's matrix_floatXxX matrices using OpenTK's matrices, and although they're bound wrong, and the matrices appear transposed on input/output, we can't change the behavior because we have to maintain compatibility. This means we have to introduce new API, and then also just define new matrix types with the right memory layout (column-major). Additionally, in the future we might be able to mark these matrices as Simd-matrixes, so that the JIT/AOT compiler can generate the correct alignment for them, avoiding having to define a native conversion method (using the [MarshalDirective] hack). The matrices have been designed to match API-wise the matrices in the System.Numerics.Vectors namespace [1], but for the moment with only a few basic operations implemented (Determinant/Transpose/Multiply) defined (we can always add more later if we want to). In addition explicit conversion operators to and from the corresponding OpenTK.MatrixX are implemented, which means any operation defined in the OpenTK matrices can be used by converting back and forth. [1]: https://msdn.microsoft.com/en-us/library/system.numerics.matrix4x4(v=vs.111).aspx [2]: https://bugzilla.xamarin.com/show_bug.cgi?id=58599 * [ARKit] Use the new Simd matrix types. * [Vision] Use the new Simd matrix types. * [ModelIO] Use the new Simd-compatible matrix types, and deprecate the old API. * [GameplayKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [SpriteKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [xtro] Don't report missing [MarshalDirective] for obsolete methods. * [xtro] Remove unnecessary ignores. The implementation changed, and these stayed accidentally. * [wkwebkit] Fix (native) protocol names (#2572) Also ignore xtro's WKSnapshotConfiguration since it's an Apple bug 34185961 reference (xtro) !missing-protocol! WKURLSchemeHandler not bound !missing-protocol! WKURLSchemeTask not bound !unknown-protocol! WKUrlSchemeHandler bound !unknown-protocol! WKUrlSchemeTask bound !unknown-type! WKSnapshotConfiguration bound * [uikit] Fix enums availability attributes (#2575) - Fixes bug #59132: [uikit] Extra types in watchOS (https://bugzilla.xamarin.com/show_bug.cgi?id=59132) * [watchkit] Add missing designated initializers (#2574) references (xtro) !missing-designated-initializer! WKInterfaceController::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! WKUserNotificationInterfaceController::init is missing an [DesignatedInitializer] attribute * [xtro] Reword some of the Simd diagnostic messages according to review. * [tests] Make sure test symbols don't clash between different test libraries. Fixes this build problem for framework-test: clang: error: linker command failed with exit code 1 (use -v to see invocation) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_get_rotation_matrix'. MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticObjectTest.framework/XStaticObjectTest (Location related to previous error) MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticArTest.framework/XStaticArTest(libtest-ar.x86_64.o) (Location related to previous error) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransformcomponent_get_local_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_create_global_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float4x4'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float3x3'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float2x2'. MTOUCH: error MT5209: Native linking error: 6 duplicate symbols for architecture x86_64 MTOUCH: error MT5202: Native linking failed. Please review the build log. * [tests] Since libtest.a need ModelIO now, the corresponding LinkWith attributes need to state that too. * [introspection] Don't check native signatures on obsolete members, and ignore the right simd matrix types. Fixes this introspection/Mac problem: ***** ApiSignatureTest.NativeSignatures Selector: uniformWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: uniformWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: uniformWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: setMatrixFloat2x2Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: setMatrixFloat3x3Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: setMatrixFloat4x4Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: initWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: initWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: initWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded * [monotouch-tests] Include more custom asserts for watchOS to make the build work. Fixes this: Simd/MatrixFloat4x4Test.cs(28,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(29,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(37,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(48,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' [...] * [monotouch-test] Exclude code that requires the binding project from xammac tests. Exclude code that requires the test binding project from xammac tests because there's currently no XM version of the test binding project. Fixes this: tests/monotouch-test/SpriteKit/UniformTest.cs(20,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLMaterialProperty.cs(37,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLTransform.cs(34,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) * Bump version for preview #8 (#2576) * [spritekit] Audit fixes (xtro) (#2577) 1. SKVideoNode is now, partially, available on watchOS and does not require the extra, manual code to swicth selectors depending on the OS version being run. !missing-type! SKVideoNode not bound !missing-selector! SKVideoNode::anchorPoint not bound !missing-selector! SKVideoNode::initWithCoder: not bound !missing-selector! SKVideoNode::initWithFileNamed: not bound !missing-selector! SKVideoNode::initWithURL: not bound !missing-selector! SKVideoNode::setAnchorPoint: not bound !missing-selector! SKVideoNode::setSize: not bound !missing-selector! SKVideoNode::size not bound !missing-selector! +SKVideoNode::videoNodeWithFileNamed: not bound !missing-selector! +SKVideoNode::videoNodeWithURL: not bound 2. SKNodeFocusBehavior is exposed needlessly on watchOS because SpriteKit/Enums.cs was not processed by the generator, so [NoWatch] did not matter. !unknown-native-enum! SKNodeFocusBehavior bound It's also visible on macOS but nothing uses it (so we do not expose it needlessly) !missing-enum! SKNodeFocusBehavior not bound 3. Add missing designated initializer on default `init` !missing-designated-initializer! SKAttributeValue::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! SKNode::init is missing an [DesignatedInitializer] attribute 4. Remove inconsistency for SKNode subclasses wrt XAMCORE_4_0 The trio attributeValues, setAttributeValues and setValue:forAttributeNamed: that was moved from SKNode (deprecated) into its subclasses. This was done using XAMCORE_4_0 but not on every subclasses. This adds them everywhere to be consistent (only SKNode versions are not defined in XAMCORE_4_0) !missing-selector! SKEffectNode::attributeValues not bound !missing-selector! SKEffectNode::setAttributeValues: not bound !missing-selector! SKEffectNode::setValue:forAttributeNamed: not bound !missing-selector! SKEffectNode::valueForAttributeNamed: not bound !missing-selector! SKEmitterNode::attributeValues not bound !missing-selector! SKEmitterNode::setAttributeValues: not bound !missing-selector! SKEmitterNode::setValue:forAttributeNamed: not bound !missing-selector! SKEmitterNode::valueForAttributeNamed: not bound !missing-selector! SKSpriteNode::attributeValues not bound !missing-selector! SKSpriteNode::setAttributeValues: not bound !missing-selector! SKSpriteNode::setValue:forAttributeNamed: not bound !missing-selector! SKSpriteNode::valueForAttributeNamed: not bound * [introspection] Make sure '[FAIL]' is printed before every failure. (#2578) This makes xharness able to list the failures in the inline summary. * [xtro] Reword some of the Simd diagnostic messages according to review. * [xharness] Add a missing IsServerMode check to generate correct html. (#2581) * [SpriteKit] SKTransformNode is new in Xcode 9 so no need to keep the broken (and obsolete) non-simd version of RotationMatrix. * [intents] Fix some (partial) xtro issues and #59156 (#2585) reference https://bugzilla.xamarin.com/show_bug.cgi?id=59156 Remaining issues are filled in https://bugzilla.xamarin.com/show_bug.cgi?id=59183 !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound * [Intents] Confirm* interface methods should be bound as Confirm, Fixes Bug 59164 (#2591) * [Intents] Confirm* interface methods should probably be bound as Confirm, Fixes Bug 59164 https://bugzilla.xamarin.com/show_bug.cgi?id=59164 All Confirm* methods from *IntentHandling interfaces should be named just `Confirm` to avoid confusion because most of them do not directly confirm as an acion, but instead they **ask** for confirmation also we would follow swift's naming by doing this. * [Intents] XAMCORE_4_0 all Confirm* methods from *IntentHandling Turns any Confirm* into just Confirm inside a XAMCORE_4_0 block, * [Intents] Fix breaking changes in Intents added in Xcode 9 Bindings (#2590) Apple added more protocol conformances to INRidesharingDomainHandling and INPaymentsDomainHandling protocols in Xcode 9, I introduced these breaking changes back when I did intents binding so fixing them :) * [Metal] New bindings from Xcode 9 betas (#2457) * [AVFoundation] Updated bindings for xcode9. (#2272) * [Xcode9] Add IOSurface bindings (#2363) * This framework was a private framework before iOS 11. This framework was a private framework before iOS 11, yet the headers claim many API were introduced in iOS 10. So take account of this difference by using the private framework location in iOS 10.3 or earlier. Testing these API from Xcode works fine when run on an iOS 10.3 device, and I've confirmed the IOSurface framework is loaded from the private frameworks path on older devices (and when built using Xcode 9 and linked with the public framework path). * Disable code to make IOSurface work on iOS 10. Disable the code to make IOSurface work on iOS 10, since it may be rejected by the App Store. This also means adjusting the availability attributes, so that the introspection tests pass (and to document that technically these API won't work when used with Xamarin.iOS in iOS 10). I've filed bug #[59201][1] to keep track of this, maybe we can re-enable this later. [1]: https://bugzilla.xamarin.com/show_bug.cgi?id=59201 * [CoreMedia] Fix leak in CMAttachmentBearer.GetAttachments. (#2593) The caller owns the return value from CMCopyDictionaryOfAttachments, so tell Runtime.GetNSObject that. * [Intents] Adds missing API found by xtro, fixes Bug 59183 (#2596) https://bugzilla.xamarin.com/show_bug.cgi?id=59183 Fixes !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !incorrect-protocol-member! INUIHostedViewControlling::configureWithInteraction:context:completion: is OPTIONAL and should NOT be abstract * [xtro] Fix StartWorkingDirectory to enable debugging (#2598) * [iosurface] Enable for tvOS and XM classic (to avoid multiple defines around consumer API) (#2597) * [xtro] Fix EnumCheck (#2600) * [ARKit] Rename a few method to make them nicer. (#2604) * DisplayTransform -> GetDisplayTransform since methods should have verbs. * SessionWasInterrupted -> WasInterrupted and SessionInterruptionEnded -> InterruptionEnded since these names match better with the other names (CameraDidChangeTrackingState / DidFail / DidOutputAudioSampleBuffer: none are prefixed with 'Session'). Additionally, the type is a Model (for the delegate pattern), which means all methods are more-or-less event-like, and the first argument is always the same (the protocol itself), which is another indicator the methods should be named similarly. * [Foundation] Remove 'Key' suffix from some fields. (#2606) Of the 168 fields in NSMetadataItem, only these 5 hadn't removed the 'Key' suffix. So make them all equivalent by removing the 'Key' suffix from these 5 fields. * [ImageIO] Fix API to not duplicate the instance in instance methods. (#2609) An instance method does not need to take the instance as a parameter, so remove the first (instance) parameter for CGImageDestination.AddAuxiliaryDataInfo and CGImageSource.CopyAuxiliaryDataInfo. An alternative solution would be to make the methods static, but I like the instance API better. * [UIKit] De-model UIDataSourceTranslating. (#2603) It's not clear from neither the documentation nor the headers how this protocol is supposed to be used, and since it doesn't correspond to the delegate pattern, remove the [Model] attribute for now. We can always add it back later. * [CoreML] Improve API. (#2592) * [CoreML] Improve API. * The indices, shape and stride properties for MLMultiArray and MLMultiArrayConstraint can logically only be arrays of integers, so type them as such. This means adding overloads for MLMultiArray's constructors, GetObject and SetObject methods, and the indexers that takes nint[] arrays instead of NSNumber[] arrays. * Change MLFeatureValue's static factory methods to be a method ('Create') instead of a preposition, and call all the different factory methods the same, since they can be overloaded nicely. * [tests][monotouch-test] Add version check to MLMultiArrayTest and make sure the arrays we create are big enough for the data we put in them. * [tests][monotouch-test] MLMultiArray's elements aren't zero-initialized, so don't assume that in the tests. * Support overloading Objective-C methods based on static/instance. (#2607) Two Objective-C methods can be named identically as long as one is static and the other instance. We must support this since Apple did just this (in the NSItemProviderReading / NSItemProviderWriting protocols). We solve it by prepending a '+' or '-' to the selector when hashing it (to determine selector uniqueness, and to look the method up again at runtime). * [uikit] Update for Xcode 9 - Part 6 (#2602) NSAttributedString.h NSFileProviderExtension.h NSLayoutAnchor.h UIAccessibility.h UIAccessibilityAdditions.h UIAccessibilityContainer.h UIAccessibilityContentSizeCategoryImageAdjusting.h UIAccessibilityCustomRotor.h UIAccessibilityLocationDescriptor.h UITabBar.h UINavigationBar.h UIScreen.h * Xcode9 scenekit (#2512) * [SceneKit] basic work * Added key * [xcode9] SCNCameraController * [xcode9] SCNCamera updates * [xcode9] SCNMaterial * [xcode9] SCNGeometryTessellator, SCNCameraControlConfiguration, SCNView, small bits * Add trailing commas to last enum value * Remove whitespace noise * [scenekit] Update deprecated attributes messages * Addresses some of Rolf's feedback * Drop the WeakDelegate in SCNCameraController * Rename method to Render, remove ctor from class that can not be constructed in Palygrounds, add typo exception * [AppKit] Rename NSBezierPath.AppendBezierPathWithCGGlyph to match its sibling methods. (#2605) NSBezierPath contains a lot of 'AppendPathWithXXX' methods, that all map to 'appendBezierPathXXX' selectors. So rename AppendBezierPathWithCGGlyph accordingly, to make it more similar to the other methods in the same type. * [uikit] Add all UISpringLoadedInteractionSupporting (#2616) Types do not conform to the protocol but protocol methods work on those types (see monotouch-test). Fixed introspection tests accordingly and tested the selectors in monotouch-test. * [Intents] Add convenience ctor overload and call correct base ctor in manual ctor. (#2613) Add a convenience constructor overload in INGetUserCurrentRestaurantReservationBookingsIntent that uses nint instead of NSNumber, since logically "number of results" will always be some sort of integer. Also call the correct base constructor in INSpeakableString's custom constructor (same as any other generated constructor). Otherwise we end up doing something like this: [[[INSpeakableString alloc] init] initWith ...], i.e. calling two different init methods. * [coreimage] Add new headers API up to beta 6 (#2601) Filters are not complete (ref: #57350) https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * Some new constants are not yet documented (type is known), so they are commented / ignored https://bugzilla.xamarin.com/show_bug.cgi?id=59296 * Filled bug for [Wrap] inside [Category] so strong dictionary helpers can be re-enabled later https://bugzilla.xamarin.com/show_bug.cgi?id=59294 * [foundation] xtro fixes for watchOS (#2586) !missing-enum! NSProcessInfoThermalState not bound !missing-field! NSProcessInfoThermalStateDidChangeNotification not bound !missing-selector! NSProcessInfo::thermalState not bound Headers are wrong and preferredPresentationStyle is not in tvOS and watchOS !missing-selector! NSItemProvider::preferredPresentationStyle not bound !missing-selector! NSItemProvider::setPreferredPresentationStyle: not bound * [uikit] Also remove UIPreferredPresentationStyle enum from platform where it's not used * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. (#2614) * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. * NSItemProviderWriting: * NSItemProviderReading: Implement correctly and completely by uncommenting commented out code. * NSMutableString: * NSAttributedString: remove inlined members, since these classes don't implement NSItemProviderReading / NSItemProviderWriting (according to the headers at least). * NSUrl: all platforms now seem to implement NSItemProviderReading / NSItemProviderWriting. * NSString: all platforms now seem to implement both NSItemProviderReading and NSItemProviderWriting * UIColor: * UIImage: Update inlined protocol members according to the latest beta. Additionally, due to the following conditions: * The protocols all have the correct members now. * In the API definition we tell the generator to inline members from a protocol by inheriting from the corresponding interface. * The generator doesn't inline static members from protocols. several 'new' keywords had to be added to silence a compiler warning that occurrs when we manually inline a static member, since the member would be included in the type both from the inherited interface and the manual implementation. * [Foundation] Comment out NSItemProviderWriting.GetItemProviderVisibility to avoid inlining/generating unusable methods. NSItemProviderWriting.GetItemProviderVisibility is an optional method, and none of the native classes that implements NSItemProviderWriting actually imlements the method. This means inlining the method in those classes ends up creating unusable API; so just comment out the method to avoid generating the unusable API. The introspection tests found this: [FAIL] Foundation.NSString : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Foundation.NSUrl : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Contacts.CNContact : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] MapKit.MKMapItem : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIColor : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIImage : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] iOSApiSelectorTest.ApiSelectorTest.StaticMethods : 6 errors found in 2348 static selector validated: See also https://bugzilla.xamarin.com/show_bug.cgi?id=59308 * [iosurface] Add missing [TV] attributes (#2619) * [opengles] Enable the new API using IOSurface (#2618) The symbol only exists inside device libraries, not on simulator, and the introspection tests were updated to ignore it. Part of https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [avfoundation][watchos] Enable AudioBufferList (fix #59145) + audit (xtro) (#2617) 1. AudioBufferList is part of CoreAudio (wrong namespace, which needs a few changes in the generator) and now available in watchOS 4 https://bugzilla.xamarin.com/show_bug.cgi?id=59145 2. Also fixes xtro found issues: !missing-type! AVAudioRecorder not bound !missing-selector! AVAudioRecorder::averagePowerForChannel: not bound !missing-selector! AVAudioRecorder::channelAssignments not bound !missing-selector! AVAudioRecorder::currentTime not bound !missing-selector! AVAudioRecorder::delegate not bound !missing-selector! AVAudioRecorder::deviceCurrentTime not bound !missing-selector! AVAudioRecorder::format not bound !missing-selector! AVAudioRecorder::initWithURL:format:error: not bound !missing-selector! AVAudioRecorder::initWithURL:settings:error: not bound !missing-selector! AVAudioRecorder::isMeteringEnabled not bound !missing-selector! AVAudioRecorder::isRecording not bound !missing-selector! AVAudioRecorder::peakPowerForChannel: not bound !missing-selector! AVAudioRecorder::recordAtTime: not bound !missing-selector! AVAudioRecorder::recordAtTime:forDuration: not bound !missing-selector! AVAudioRecorder::recordForDuration: not bound !missing-selector! AVAudioRecorder::setChannelAssignments: not bound !missing-selector! AVAudioRecorder::setDelegate: not bound !missing-selector! AVAudioRecorder::setMeteringEnabled: not bound !missing-selector! AVAudioRecorder::settings not bound !missing-selector! AVAudioRecorder::url not bound !missing-protocol! AVAudioRecorderDelegate not bound !missing-selector! AVAudioEngine::inputNode not bound !missing-selector! AVAudioEngine::manualRenderingBlock not bound !missing-selector! AVAudioInputNode::setManualRenderingInputPCMFormat:inputBlock: not bound !missing-selector! AVAudioPlayer::format not bound !missing-selector! AVAudioSession::requestRecordPermission: not bound !unknown-field! AVFileType3GPP bound !unknown-field! AVFileType3GPP2 bound !unknown-field! AVFileTypeAC3 bound !unknown-field! AVFileTypeAIFC bound !unknown-field! AVFileTypeAIFF bound !unknown-field! AVFileTypeAMR bound !unknown-field! AVFileTypeAVCI bound !unknown-field! AVFileTypeAppleM4A bound !unknown-field! AVFileTypeAppleM4V bound !unknown-field! AVFileTypeCoreAudioFormat bound !unknown-field! AVFileTypeDNG bound !unknown-field! AVFileTypeEnhancedAC3 bound !unknown-field! AVFileTypeHEIC bound !unknown-field! AVFileTypeHEIF bound !unknown-field! AVFileTypeJPEG bound !unknown-field! AVFileTypeMPEG4 bound !unknown-field! AVFileTypeMPEGLayer3 bound !unknown-field! AVFileTypeQuickTimeMovie bound !unknown-field! AVFileTypeSunAU bound !unknown-field! AVFileTypeTIFF bound !unknown-field! AVFileTypeWAVE bound * [Metal] Implement API using IOSurface now that IOSurface is implemented. Partially fixes #58054. (#2621) https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [PdfKit] Improve PdfAnnotation.QuadrilateralPoints binding by making it strongly typed. (#2620) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). (#2622) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). * [ARKit/Vision] Use the new simd vector types instead of the OpenTK versions. * [ModelIO] Use the new simd vectors in new API (MDLVoxelIndexExtent2). This way we won't have to create a MDLVoxelIndexExtent3 in the future. * [SpriteKit] Use the new simd vectors in new API. * [metal] Audit (xtro) based fixes (#2623) !extra-protocol-member! unexpected selector MTLArgumentEncoder::newArgumentEncoderForBufferAtIndex: found !extra-protocol-member! unexpected selector MTLComputeCommandEncoder::dispatchThreads:threadsPerThreadgroup: found macos-only !missing-field! MTLDeviceRemovalRequestedNotification not bound !missing-field! MTLDeviceWasAddedNotification not bound !missing-field! MTLDeviceWasRemovedNotification not bound !missing-pinvoke! MTLCopyAllDevices is not bound * [CloudKit] Update bindings to beta 6. (#2615) * [FileProvider] Turn NSFileProviderItemIdentifier enum into a static class, fixes bug 59329 (#2634) https://bugzilla.xamarin.com/show_bug.cgi?id=59329 At the time of binding NSFileProviderItemIdentifier it wasn't clear how it was supposed to be used, I mean apple provides two keys which I thought were the only possible values hence binding it as an smart enum. Unfortunately this wasn't the case and the user can use those two values provided from the SDK or their own NSString Identifier. Swift provides a wrapper unfortunately we can't do the same due to NSFileProviderItemIdentifier is used in the NSFileProviderItem protocol and we currently do not support changing signatures on them. * [mtouch] Teach mtouch about the 'IOSurface' framework for tvOS. Fixes #59333. (#2630) https://bugzilla.xamarin.com/show_bug.cgi?id=59333 * Bump Touch.Unit to get fix for API breakage. (#2631) spouliot/Touch.Unit@8f1e19d [NUnitOutputTextWriter] Reintroduce previous constructor to make sure we don't break binary ABI. spouliot/Touch.Unit@00b0c0b [NUnitOutputTextWriter] Don't write invalid xml comments. spouliot/Touch.Unit@de9fe20 [TouchRunner] Restore the original code path when not wrapping NUnit xml output. * [IOSurface] Add missing availability attributes for tvOS. (#2629) * Bump versions for preview 9 (#2624) * [AVFoundation] Add missing interface AVRouteDetector. (#2637) * [tests] Update xtro to reduce list sizes (#2636) * Skip OpenTK duplicate declaration (we can't change them); * Fix rule name change for ARKit / simd; * Add missing default initializer on `init` to pending actions; * Add note for AVPersistableContentKeyRequest changes wrt tvOS; * [ReplayKit] Make RPBroadcastActivityViewController.LoadBroadcastActivityViewController async-capable. (#2639) * [xcode9] More SceneKit bindings (#2633) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 (#2644) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 https://bugzilla.xamarin.com/show_bug.cgi?id=59380 vector_float3 is 16 bytes, which means the binding is incorrect, because Vector3 is 12 bytes, and our code does not that difference into account. * Add tests * [DeviceCheck] Disable default ctor for DCDevice. (#2642) It doesn't seem to be useful according to the documentation, since it appears that the only way to get an instance is to use the static CurrentDevice property. * [audiounit] Audit (xtro) fixes for tvOS (#2635) Availability attributes in non-generated files don't hide symbols/code. reference: !unknown-pinvoke! AudioUnitExtensionCopyComponentList bound !unknown-pinvoke! AudioUnitExtensionSetComponentList bound * [tests] Make sure tvOS tests don't use the (unexisting) API * [tests] Add all test project variations to tests-mac.sln (#2579) * [xharness] Make sure generated mac projects have different project guids. * [introspection] Change the project guid so that it doesn't match the dontlink-mac project guid. * [tests] Add all test project variations to tests-mac.sln. * [xharness] Fix else condition. * [FileProvider] Adds missing NSFileProviderPage constants, fixes bug 59297. (#2646) https://bugzilla.xamarin.com/show_bug.cgi?id=59297 Adds NSFileProviderInitialPageSortedByName and NSFileProviderInitialPageSortedByDate NSData constants * [Xcode9] Remove NSFileProviderMessage and NSFileProviderMessageInterface (#2647) APIs were removed in beta 2 * [Foundation/UIKit] Provide LoadObject[s] methods that return the expected type in the callback. Fixes #59049. (#2638) The callback for these LoadObject[s] methods take an INSItemProviderReading parameter. This tells our runtime that we must provide an instance of a managed object that implements this interface (but nothing else), so we create a `NSItemProviderReadingWrapper` instance, which complies with the API (since the wrapper type implements the corresponding interface). Unfortunately these methods are supposed to return an instance of the passed- in type, so in order to comply with this soft (documentation-only) requirement, provide a wrapper method that creates instances of the right types. https://bugzilla.xamarin.com/show_bug.cgi?id=59049 * [arkit] Ignore deprecated selectors (#2645) * [FileProvider] Adds missing protocol and keys from audit (#2652) ``` !missing-protocol! NSFileProviderServiceSource not bound !missing-field! NSFileProviderErrorCollidingItemKey not bound !missing-field! NSFileProviderErrorNonExistentItemIdentifierKey not bound !missing-field! NSFileProviderFavoriteRankUnranked not bound ``` Also adds `NSXpcListenerEndpoint` to foundation, needed by `NSFileProviderServiceSource` protocol. * [tests][xtro] Workaround xtro runner dupe entry exception and update data files (#2654) * [AVFoundation] Rename field to match others. (#2657) * [homekit] Audit (xtro) fixes (#2653) - HMCharacteristicEvent conforms to NSMutableCopying on iOS11 which makes it 64 bits only (so adjust intro tests) - Ignore extra setters on HMMutablePresenceEvent, rdar 33883958 !missing-selector! HMMutablePresenceEvent::setPresenceEventType: not bound !missing-selector! HMMutablePresenceEvent::setPresenceUserType: not bound * [xtro] Add missing pinvoke to pending (#2662) - Bug 59422: [uikit] Missing UIContentSizeCategoryCompareToCategory & UIContentSizeCategoryIsAccessibilityCategory (https://bugzilla.xamarin.com/show_bug.cgi?id=59422) * Merge latest d15-3 fixes into xcode9 (#2660) * [msbuild] Re-added wildcard (*) expandsion for application-identifier in Entitlements.plist (#2186) Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=57119 * Bump mono (#2213) * Framework tests were still binding non-linked Simple class which errors now (#2216) (#2218) - Improve Makefile to rebuild when projects build with errors * Bump mono to get cecil fix for bug #56808. (#2222) https://bugzilla.xamarin.com/show_bug.cgi?id=56808 * [msbuild] Use @(ReferencePath) instead of @(ResolvedFiles) (#2188) (#2214) This allows things to work on both xbuild and msbuild. In xbuild, both lists are exactly the same and on msbuild, only @(ReferencePath) exists. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=55147 * NSActivityOptions.IdleDisplaySleepDisabled had wrong value (#2232) (#2239) This was due to an integer overflow. The original value was based on Int32 1 << 40 == 256 The correct value should be based on a UInt64. 1UL << 40 == 1099511627776 * [tests] Fix bug 57699 - [iOS]InternalsTest failure (Linkall) tests on device (#2243) Strip native debugging symbols should not be checked for debug builds * Bump mono to get fix for bug #57780. https://bugzilla.xamarin.com/show_bug.cgi?id=57780 * Update .gitmodules Change branch to d15-3 branch of mono * Bump maccore to get fix for bug #55064. https://bugzilla.xamarin.com/show_bug.cgi?id=55064 * [mono] Bump mono to get the head of cecil/mono-2017-04 and fix IsComObject #57919 Also fix #58789 [1], the typo in tools/mtouch/Tuning.cs showing in MT0000 errors instead MT2102. That's already in master and d15-4 mono bump includes: [2] commit 2a6502cee0df9de5198eafe7c8b5f6ac25106f34 (HEAD -> d15-3, origin/d15-3) Merge: 02457c20fcf 5e05cafc6f1 Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 10:04:06 2017 -0400 Merge pull request #5401 from marek-safar/com [Marshal.IsComObject] Make this predicate return false instead of thr… [3] commit 02457c20fcf57c0610e844d638eb1da82b5d1eb0 Merge: da80840ea55 73fd9a1b82e Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 09:59:06 2017 -0400 Merge pull request #5400 from spouliot/bump-cecil-58834-d15-3 [cecil] Bump to the head of the mono-2017-04 branch and pick the fix for bug #58834 References [1] https://bugzilla.xamarin.com/show_bug.cgi?id=58789 [2] https://bugzilla.xamarin.com/show_bug.cgi?id=57919 [3] https://bugzilla.xamarin.com/show_bug.cgi?id=58834 * [mtouch] Put 'mono_profiler_startup_log' in the symbol list. Fixes #58778. (#2501) We need the 'mono_profiler_startup_log' symbol when profiling is enabled, so make sure to add the symbol to the correct list of symbols we need. Previously we were passing `-u _mono_profiler_startup_log` to clang directly, which is fine, but not complete, since it does not write the symbol to the symbollist file (--symbollist=file), which means it wouldn't be preserved when the MSBuild tasks strip the executable. https://bugzilla.xamarin.com/show_bug.cgi?id=58778 * Bump versions for SR3 https://trello.com/c/EVze08ei * Bump mono to include HttpClientHandler fix #44027 https://trello.com/c/jYFXadH8/8-systemnethttp-close-request-stream-when-httpclienthandler https://bugzilla.xamarin.com/show_bug.cgi?id=44027 * [FileProvider] Add missing API and turn NSString to string (#2663) Turned NSString to string in order to match exisiting API. * [uikit] Add UIPasteConfigurationSupporting and UITextPasteConfigurationSupporting (#2649) - Fixes bug #59363: Missing UIPasteConfigurationSupporting, UITextPasteConfigurationSupporting, UITextDraggable and UITextDroppable on a couple of types (https://bugzilla.xamarin.com/show_bug.cgi?id=59363) * [uikit] Remove 129 types in UIPasteConfigurationSupporting case * [scenekit] Audit (xtro) fixes (#2648) This looks like an Apple breaking change (since `SCNAnimation` is new) but we now have: > typedef void (^SCNAnimationEventBlock)(id<SCNAnimation> animation, id animatedObject, BOOL playingBackward); bound as > delegate void SCNAnimationEventHandler (CAAnimation animation, NSObject animatedObject, bool playingBackward); and `CAAnimation` conforms to `SCNAnimation` but *only* the later is available on watchOS. The delegate is only updated (since it's new) on our watchOS profile. xtro references: (watchos) !unknown-protocol! SCNCameraControlConfiguration bound (tvos/watchos) !missing-selector! SCNAnimation::animationEvents not bound !missing-selector! SCNAnimation::setAnimationEvents: not bound !missing-selector! SCNConstraint::isEnabled not bound !missing-selector! SCNConstraint::setEnabled: not bound !missing-field! SCNSceneSourceConvertToYUpKey not bound !missing-field! SCNSceneSourceConvertUnitsToMetersKey not bound (ios/tvos) !missing-protocol-conformance! SCNNode should conform to UIFocusItem * Bump maccore post 15.3 merge (#2665) * Bump Xcode 9 to GM (#2667) * Force build (on wrench) * [avfoundation] Fix breaking changes (apidiff) (#2664) * [TVServices] Update to Xcode 9 GM (#2675) * [GameController] Update to Xcode 9 GM (#2673) * [LocalAuthentication] Update to Xcode 9 GM (#2671) * [LocalAuthentication] Update to Xcode 9 GM * Remove availability from BiometryNotAvailable, BiometryNotEnrolled and BiometryLockout * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer (#2659) * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer Some of the new added types were already present BUT under a #if MONOMAC, they had to be moved. * [AVFoundation] Set the wrongly added API to be obsolete and ensure it returns logical values. (#2650) * [xtro] The right platform for macOS is 'macos', not 'osx'. (#2677) The platform name is used to filter availability attributes, and if we use the wrong platform, we'll incorrectly skip all availability attributes. The net result in unclassified entries: https://gist.github.com/rolfbjarne/a4474bc2a40c49a85cad495b51bb514f * Various Xcode 9 API improvements and also fixes bug 59433 (#2676) https://bugzilla.xamarin.com/show_bug.cgi?id=59433 While fixing bug 59433 I noticed some additional issues outlined below: AVDepthData: * Renamed **non** static `Create` methods because `Create` only makes sense with the **Static** method in this context. Also by renaming the methods we are now closer to the names that swift uses. * Kept descriptive method names in favor of self-documenting code. `Convert`, `Apply` and `Replace` do not fully give us the intent of the method. * Added a convenience `Create` static method that takes a `CGImageAuxiliaryDataInfo`. * AvailableDepthDataTypes is now an array of `CVPixelFormatType` instead of a `NSNumber` array (The aactual fix for bug 59433). ImageIO: * Refactored `CGImageAuxiliaryDataInfo` to be a `StrongDictionary` in order to avoid most of the manual code and also to avoid reimplementing the `ToDictionary` method (which contained a subtle bug). * Adjusted code to reflect the above change. * Added missing `.ctor (IntPtr, bool)` to `CGImageMetadata` so the class is able to be created by our `Runtime.Get*`. * Simplified `CopyAuxiliaryDataInfo` method by using `CGImageAuxiliaryDataInfo` as a `DictionaryContainer`. Tests: * Added `xamarinmonkey.heic` which is an image that contains depth data needed to test above changes. * Adds `AVDepthDataTests` that touches most of the changes listed here. * Tweak the Simd-compatible matrices and vectors (#2668) * Rename them to be OpenTK.NMatrix# (instead of Simd.MatrixFloat#x#). * Remove the Vector2 and Vector4 variants, we'll use the OpenTK types instead (but we'll keep the NVector3 variant, since it's not identical to the OpenTK version). * Update the API to match their OpenTK counterparts better: * NMatrix2 and NMatrix3 have a 0-based R#C# scheme for their fields. * NMatrix4 has a 1-based M## scheme for its fields (i.e. no change). * [AVFoundation] Use Simd-matrix for API that needs it. (#2679) This also requires implementing the corresponding matrix (NMatrix4x3). Fixes this xtro issue: > !unknown-simd-type-in-signature! OpenTK.Matrix3 AVFoundation.AVCameraCalibrationData::get_GetIntrinsicMatrix(): the native signature has a simd type (matrix_float3x3), while the corresponding managed method is using an incorrect (non-simd) type. * [xtro] Fix checking availability on categories. (#2682) When checking for category availability, check if both the current declaration is a category, and if the current's declaration container is a category. Otherwise this scenario fails: * Category method is available. * Category does not have availability attributes. * Main class is unavailable. with this typical code sequence: ```csharp // don't process methods (or types) that are unavailable for the current platform if (!decl.IsAvailable () || !(decl.DeclContext as Decl).IsAvailable ()) return; ``` In which case we'd: * First check the method (`decl`): * It's available, so no further checks is done on the method. * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container's container is a category (it isn't, it's the namespace). and as such determine that the method is available. With this change, the second step will become: * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container is a category (it is), and if its main class is available (it isn't). and as such determine that the method is unavailable. * Check for attributes on the method's container (no attributes, so we continue). * Check if the method's Unclassified diff: https://gist.github.com/rolfbjarne/8fa80962596978a426eadf9b7ba39dc1 * [uikit] Update for Xcode 9 GM (#2670) * [AVFoundation] Implement AVCapturePhoto. Partially fixes #59388. (#2678) Fixes: > common.unclassified:!missing-type! AVCapturePhoto not bound https://bugzilla.xamarin.com/show_bug.cgi?id=59388 * Use strong dictionaries for AVCapturePhoto.Metadata and AVCapturePhoto.EmbeddedThumbnailPhotoFormat. * [SIMD] Implement Simd double types (VectorDouble3/MatrixDouble4x4). (#2632) The following types will be used by ModelIO bindings * Fix delta to be double * Rename Simd-compatible matrices and vectors to match our final naming. This also means removing the new Vector2 and Vector4 variants (but not Vector3). * [avfoundation] Remove AVAssetDownloadDelegate.DidLoadTimeRange since it was removed in one of the betas (#2687) * [foundation] Move NSUrlSessionMultipathServiceType to a file processed by the generator (for the availability attributes) (#2688) * [arkit] Update for Xcode 9 GM (#2681) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes (#2690) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes Type Changed: Intents.INCarSeatResolutionResult Removed methods: public static INCarSeatResolutionResult GetConfirmationRequired (INCarSeat valueToConfirm); public static INCarSeatResolutionResult GetSuccess (INCarSeat resolvedValue); * [avfoundation] Add missing protocol members and deprecations (#2691) !missing-protocol-member! AVCapturePhotoCaptureDelegate::captureOutput:didFinishProcessingPhoto:error: not found and the selector removed from PR#2687 was actually replaced with this one !missing-protocol-member! AVAssetDownloadDelegate::URLSession:aggregateAssetDownloadTask:didLoadTimeRange:totalTimeRangesLoaded:timeRangeExpectedToLoad:forMediaSelection: not found * [tests][xtro] Map some enums, more fix with protocols and update entries (#2692) * [Tests] Reenable dns tests on the watch. (#2674) * [arkit] Add ARBlendShapeLocationOptions strong dictionary (#2696) * [coreimage] Skip not yet bound filters added in Xcode9 (#2698) Tracked in https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * [Metal] Renamed MTLArgumentDescriptor.ArgumentDescriptor to Create, fixes bug 59498 (#2702) https://bugzilla.xamarin.com/show_bug.cgi?id=59498 From [argumentDescriptor docs](https://developer.apple.com/documentation/metal/mtlargumentdescriptor/2915746-argumentdescriptor?language=objc) > Creates an empty argument descriptor. * [msbuild] Always codesign app bundles if the codesign key is non-null (#2697) ...even if it is a simulator build. Turns out that starting with Xcode9, sim builds need to be codesigned for App Groups entitlements to work properly. Interestingly, the DetectSigningIdentity logic had a comment about needing to codesign simulator builds for some entitlements to work already starting with Xcode 8 but apparently the iOS targets did not respect this. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=59379 * [Foundation] Add NSProxy stub in order to workaround bug 59247 (#2693) https://bugzilla.xamarin.com/show_bug.cgi?id=59247 We need to have a better solution that removes all what NSProxy does not responds to. Right now this works because NSObject implements NSObject protocol just like NSProxy, but NSProxy responds to far less selectors hence doing it internal so it is not a breaking change when we provide the correct fix. * Keep NSProxy around and avoid XML linker description We need to keep NSProxy (avoid linking it) if WKNavigationDelegate or IWKNavigationDelegate is used. We know WKWebView will be there and can hold a reference to it. * [Xcode 9] Update Metal for GM (#2689) * [iosurface] IOSurface is not usable before iOS/tvOS 11. Fixes #59201 (#2706) Apple rejects apps that links with the previously private IOSurface.framework. We were not sure about this [1] and had it disabled (this is removed). However another bug stopped our adjustment logic [2] from being executed. This is needed since `clang` picks up the private framework if it does not find the public one (even when asking for a weak framework), [1] https://bugzilla.xamarin.com/show_bug.cgi?id=59201 [2] Added a while ago for JavascriptCore * Bump maccore to point to commit with the docs fix. (#2703) * Bump XI to 11.0.x (and XM to 3.99.9.x) (#2684) * fix typo
2017-09-16 00:53:16 +03:00
[Export ("sensorHeight")]
nfloat SensorHeight { get; set; }
[Watch (4, 0), TV (11, 0), Mac (10, 13, onlyOn64: true), iOS (11, 0)]
Merge xcode9 into d15-4[-xi] (#2710) * [FileProvider] Add Xcode 9 Beta 1, 2 & 3 Bindings (#2279) * [FileProvider] Add Xcode 9 Beta 1 Bindings * Better naming * Feedback not related to BindAs * [FileProvider] Removes BindAs, add manual code for it and updated to Beta 3 * [FileProvider] Implement feedback * [CoreSpotlight] Updated spotlight bindings for xcode 9 beta 3. (#2193) Updated spotlight bindings for xcode 9 beta 3. * Fix warning caused by duplicate (#2354) * [FileProviderUI] Add Xcode 9 Beta 1 to 3 bindings (#2356) * Bump to Xcode 9 beta 4 * [arkit] ARLightEstimate does not conform to NSCopying anymore (fix unit test) * [uikit] NSFileProviderExtension.ReparentItem got a new parameter in beta4 (fix unit test) * [coreimage] CIImageAccumulator init returns nil in beta 4 There's no header change to mention `init` is not allowed but it's not clear how this default initializer could be used. Also make public some other API to construct this type (outside of XM). It's not clear why there were `internal` as they are (at least now) part of the header files. * [photos] Add helpers when PHLivePhotoEditingOption/NSDictionary is null (to avoid ambiguous API) (#2360) Adding a strongly typed `PHLivePhotoEditingOption` (a strongly typed version of an `NSDictionary`) can cause a `CS0121` (call is ambiguous) since using a `null` argument is common (only one option exist so far). This PR adds overloads that makes the code nicer in such case, e.g. before Xcode9: > // null is used when no options are given > _foo.SaveLivePhoto (output, null, completion); current (Xcode 9) > // casting required to remove ambiguity with PHLivePhotoEditingOption > _foo.SaveLivePhoto (output, (NSDictionary)null, completion); with this PR > // no option, no argument > _foo.SaveLivePhoto (output, completion); The same applies to `PrepareLivePhotoForPlayback`. * [tests] Disable/tweak two tests that breaks on (almost) all Xcode updates Those tests were not added to validate xOS so just keep the parts that helps us (without constantly checking back the new break flavor) * Disable watchOS to check if this hides others issues * [mapkit] Update for beta 4 * [coredata] Update for beta 4 * [wkwebkit] Update for beta 4 Note: WKWindowFeatures.h is not compiled (part of the framework umbrella) and the `@interface WKWindowFeatures (WKPrivate)` sounds like it should not have been exposed (it's all fields starting with `_`) * [corelocation] Update for beta 4 * Revert "Disable watchOS to check if this hides others issues" This reverts commit fed2249fa43290a1956ab2fe0d48f83ab6db9711. * [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]: https://github.com/xamarin/xamarin-macios/blob/f5956d6cc1eb5dfa7bab16628cf282d40237f64e/src/generator.cs#L5985 * [FinderSync] Update to beta 4 (#2377) * [ImageIO] Update to Xcode 9 (#2353) * [PhotosUI] Move macOS photosui bindings out of photos.cs into photosui.cs (#2358) * [quicklook] Update up to beta 4 (#2374) * [uikit] UIDragInteraction & UIDragInteractionDelegate (Xcode 9 b1,2,3) (#2357) * [safariservices] Update up to beta 4 (#2380) * [coreanimation] Update to beta 4 (#2382) Apple removed (mistake?) some API in beta 1. Filed as rdar 33590997 Internal tracking in https://trello.com/c/J8BDDUV9/86-33590997-coreanimation-quartzcore-api-removals * [storekit] Update up to beta 4 (#2379) * [CoreML] Update to Xcode 9 Beta 4 (#2387) * [uikit] UICollectionView/UITableView Drag & Drop (Xcode 9 b1,2,3 & 4) (#2355) * Update code after radar 32929318 and 32897776 are fixed in b4 (#2394) * [xcode9 CoreAudio] New definitions from Beta1 to Beta3 (#2359) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 (#2397) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 https://bugzilla.xamarin.com/show_bug.cgi?id=58512 Created strong API (VNBarcodeSymbology) on the following properties * VNDetectBarcodesRequest.SupportedSymbologies * VNDetectBarcodesRequest.Symbologies * VNBarcodeObservation.Symbology * Remove modern C# because classic can't do it 😡 * [mediaplayer] Update up to beta 4 (#2388) * [watchkit] Update to beta 4 (#2398) * Bump Visual Studio for Mac max version (#2408) * [coreimage] Add CIBarcodeDescriptor and enabled missing API for VNBarcodeObservation. Fix #58197 (#2411) https://bugzilla.xamarin.com/show_bug.cgi?id=58197 * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 (#2407) * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 * [uikit] Fixes based on comments * [coreimage] CIImageAccumulator API fixes. Fix #58349 (#2412) * Obsolete the default `init`; * XM exposed some older APIs using `int` instead of `CIFormat`. This is fixed and old APIs are obsoleted; * Both new & old APIs are now using `CIFormat` for both XI and XM. https://bugzilla.xamarin.com/show_bug.cgi?id=58349 * [uikit] UIText drag & drop - up to Xcode 9 beta 4 (#2410) * [uikit] UISplitView & UIStackView up to Xcode 9 beta 4 (#2425) * Bump XI/XM versions before preview 4 (#2422) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 (#2378) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 * [PDFKit] Implement feedback * [PDFKit] the forgotten enum * [PDFKit] More feedback * [PDFKit] Add Mac changes * Missing change * Fix test RectangleF VS CGRect * Pass -Wunguarded-availability-new to quiet a new clang warning (#2424) - https://bugzilla.xamarin.com/show_bug.cgi?id=58574 * [mtouch/mmp] Ignore warnings about unguarded code section with regards to availability. (#2441) * [monotouch-test] Remove workaround for fixed Apple bug. (#2445) * Bump to Xcode 9 beta 5. (#2447) * Bump to Xcode 9 beta 5. * [mmp] Disable the partial static registrar, because Apple's macOS SDK is broken. > In file included from Xamarin.Mac.registrar.mobile.i386.m:1: > In file included from ./Xamarin.Mac.registrar.mobile.i386.h:11: > /Applications/Xcode9-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVFoundation.h:88:9: fatal error: 'AVFoundation/AVRouteDetector.h' file not found https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [mmp] Fix partial static registrar removal. * [CallKit] Update to Xcode 9 beta 5. * [ARKit] ARPointCloud doesn't conform to NSCopying anymore in Xcode 9 beta 5. * [ARKit] Update to Xcode 9 beta 5 enough to make tests happy. * [CoreImage] Stub out new filters in Xcode 9 beta 5. * [tests][monotouch] Simplify some MDLMesh asserts since values change a lot between OS versions. * [mmp] Default to the dynamic registrar for release builds again, due to bug #58629. https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [tests][introspection] CXCall started implementing NSCopying without saying so in the headers. * Disable mmp static registrar tests due to 58629 for now * [quicklook] Update to beta 5 (#2450) * [photos] Update for beta 5 (#2452) Also update some existing enum members were added in beta 1 on macOS * [safariservices] Update for beta 5 (#2455) * [mediaplayer] Update to beta 5 (#2456) * [CoreLocation] Update Xcode 9 Beta 5 (#2453) * [CoreML] Update to Xcode 9 Beta 5 (#2454) * [Contacts] Update to Xcode 9 Beta 5 (#2451) * [Vision] Update to Xcode 9 Beta 5 (#2458) * [builds] Tell LLVM to stay away from newer macOS functions. (#2459) Fixes this build problem on Sierra: > ld: weak import of symbol '_futimens' not supported because of option: -no_weak_imports for architecture x86_64 This is a symbol that was (will be?) introduced in High Sierra. Interestingly this only occurs if the Xcode 8.X Command Line Tools haven't been manually installed. Because if the Xcode 8.X Command Line Tools are installed, this happens: 1. llvm's configure script detects that 'futimens' is not usable. 2. llvm's configure script detects that 'futimens' is not usable, because xcrun sets SDKROOT=/ when calling clang. a. When the SDKROOT variable is set, clang passes '-syslibroot /usr/lib' to ld. b. When ld gets '-syslibroot /usr/lib', ld looks in '/usr/lib' for a library that contains 'futimens' in the OS itself, and since we're on Sierra, that fails to link. c. So when llvm's configure script creates a test program that checks if 'futimens' is present, the program fails. This is correct, and makes llvm *not* use futimens. 3. xcrun sets SDKROOT=/ because /usr/share/current-os.sdk/Info.plist exists. If that file does not exist, then xcrun sets SDKROOT to Xcode9's macOS SDK (because that's what xcode-select reports). a. When SDKROOT is set to Xcode9's macOS SDK, the configure check for 'futimens' succeeds, because the macOS 10.13 SDK contains that function. b. llvm happily uses 'futimens', and then the final link fails because we're using a symbol not available on all target platforms. * [arkit] Update for Xcode 9 beta 5 - Part 1 (#2460) * [tests] The container app for watchOS tests should be 64-bit. (#2463) * [xharness] watchOS tests need to run in a clean environment. Works around #58348. (#2462) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [xharness] It watchOS tests don't need to be clean anymore. Fixes #58348. (#2473) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [uikit] UIView/UIScrollView/UIViewController up to Xcode 9 beta 5 (#2431) - Add NSDirectionalEdgeInsets type. - Includes DirectionalEdgeInsetsTest. * [AudioToolbox] Update bindings to Xcode 9 beta3 (not later changes). (#2294) * [xharness] Add a file existence check. (#2478) Fixes this exception: ``` Harness exception for 'introspection': System.IO.FileNotFoundException: Could not find file '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log'. File name: '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log' at System.IO.__Error.WinIOError (System.Int32 errorCode, System.String maybeFullPath) [0x00207] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/__error.cs:188 at System.IO.FileInfo.get_Length () [0x00038] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/fileinfo.cs:171 at xharness.CaptureLog.StopCapture () [0x00021] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Log.cs:252 at (wrapper remoting-invoke-with-check) xharness.CaptureLog:StopCapture () at xharness.AppRunner+<RunAsync>d__68.MoveNext () [0x0127f] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/AppRunner.cs:642 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter`1[TResult].GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:357 at xharness.RunSimulatorTask+<RunTestAsync>d__7.MoveNext () [0x0029d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2894 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.RunTestTask+<ExecuteAsync>d__8.MoveNext () [0x0010b] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2538 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.TestTask+<RunInternalAsync>d__87.MoveNext () [0x0010d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:1870 ``` I'm not sure how this can happen, but it has on the bots [1]. [1] https://jenkins.mono-project.com/job/xamarin-macios-pr-builder/4548/Test_Report/ * Bump versions for preview 5 (#2479) * [passkit] Update to beta 5 (#2481) * [tests] Remove workaround for radar #32688391. (#2486) * [replaykit] Update up to beta 5 (#2484) * Bump maccore to get fix for bug #55064. (#2487) * [apidiff] Update definition to new 10.12 (d15-3) stable release (#2490) * [SceneKit] basic work (#2483) * [coredata] Update to beta 5 (#2488) * [homekit] Update for Xcode 9 beta 5 (#2492) * [Foundation] Update for xcode9 (#2468) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 (#2493) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 * [Intents] Implement feedback * [Intents] Add a generic version for INInteraction.GetParameterValue * [Intents] Missing check * [Contacts] Add missing foundation NSItemProviderWriting protocol to CNContact (#2496) https://bugzilla.xamarin.com/show_bug.cgi?id=58203 This is available on all Contacts supported platforms ``` ./iPhoneOS.platform/Developer/SDKs/iPhoneOS11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchOS.platform/Developer/SDKs/WatchOS4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchSimulator.platform/Developer/SDKs/WatchSimulator4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ``` * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) (#2497) * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) * [IntentsUI] Better use a delegate instead so we have named params * Bump versions before 6th preview (#2514) * [arkit] Add missing MarshalDirective to ARPlaneAnchor (#2517) - Fixes bug #58648: ARPlaneAnchor.Extent property seems incorrect but changes to correct value after Debug access (https://bugzilla.xamarin.com/show_bug.cgi?id=58648) * [xtro-sharpie] Fix a compiler warning. (#2516) Fixes these warnings: Runner.cs(197,5): warning CS0642: Possible mistaken empty statement Runner.cs(199,5): warning CS0642: Possible mistaken empty statement Runner.cs(201,5): warning CS0642: Possible mistaken empty statement Runner.cs(203,5): warning CS0642: Possible mistaken empty statement Runner.cs(205,5): warning CS0642: Possible mistaken empty statement * [uikit] Update for Xcode 9 beta 5 - Part 3 (#2511) - UIKeyCommand - UINavigationBar - UINavigationItem - UIPasteboard - UITableViewHeaderFooterView * [xtro-sharpie] Remove xtro-plugin and misc other fixes. (#2522) * [xtro-sharpie] Build with msbuild and be as quiet as requested when building. * [xtro-sharpie] Must run as a 64-bit process, since the required native libraries are 64-bit. * [xtro-sharpie] Add run configurations to the project file to ease debugging in the IDE. * [xtro-sharpie] Remove xtro-plugin and the related commands. This was needed when there wasn't a 64-bit mono, in order to run xtro-sharpie in a 64-bit process. Now there is a 64-bit mono, so it's not needed anymore. Also improve makefile targets a bit, to auto-build stuff when needed, by setting the right dependencies. * Bump Xcode 9 to beta 6 (#2519) Disable watchOS tests again It seems like the Carousel crash from beta 4 is back to haunt us. This was working fine with beta 5. * Backport d15-3 SR2 fixes (#2515) * [coredata] Update to beta 6 (#2528) This seems to only revert some nullability changes from beta 5. * [coreml] Update to beta 6 (#2531) Fix our rdar 33643011 where additional setters were added in the headers but did not exists. * [videosubscriberaccount] Update to beta 6 (#2533) Only b1 and b2 introduced some additions/changes * [uikit] Update for Xcode 9 beta 6 - Part 4 (#2527) The following headers are now up to date: - UICollectionViewFlowLayout.h - UIDocumentPickerViewController.h - UIFontDescriptor.h - UIImage.h - UIImageView.h - UIImagePickerController.h * [xharness] Re-enable the watchOS tests. (#2534) It works fine for me locally, so let's see what Jenkins says. * [macos] Add new APIs in CoreWlan from Xcode9b3 (#2525) * Update AppKit bindings based on radar 33271241 results (#2518) * Update AppKit bindings based on radar 33271241 results - The header comment was updated to note it was NSSliderTouchBarItem view that has the protocol * Remove NSUserInterfaceCompression where not listed in header * [vision] Update to beta 6 (#2532) Removal of some deprecated (during beta) `init*` selectors. Also sync the versions that were inlined in subclasses - the old ones were not removed and the new ones were not added. * [xtro-sharpie] Many methods don't have selectors in Clang's API, so default to the name if no selector. (#2523) This makes a few more unclassified entries show up (mostly missing designated initializers): https://gist.github.com/rolfbjarne/07aa20f9b50b75bf3e69ac6a825e873a * [macos] Add ExternalAccessory APIs from xcode9 (#2526) * [58851] Disable NSMenuView in AllItemsWithNSMenuShouldAllowNull (#2504) * [arkit] Update for Xcode 9 beta 5 - Part 2 (#2505) - Add last missing selector. - Add tests for manual code. * [monotouch-test] Disable FontDescriptorTest.WithFeature (#2537) Disabled because it looks like the tvOS font we use: "Gujarati Sangam MN" does not have rare ligatures anymore (and the entire test is based on it). Before getting an actual fix for that, let's disable the test so it doesn't break all current builds. See: https://bugzilla.xamarin.com/show_bug.cgi?id=58929 * [xtro-sharpie] Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute. (#2524) Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute to calculate the native name for a TypeDefinition. Unclassified changes: https://gist.github.com/rolfbjarne/828f8ee41eebb0a3b60a38d71822fe59 * [foundation/uikit] Inline NSItemProvider_UIKitAdditions in NSItemProvider (#2538) As suggested here: https://github.com/xamarin/xamarin-macios/pull/2527#discussion_r134670981 * [intents] Fix breaking changes (api-diff) (#2543) Additions of @required members inside `INSpeakable` cannot be `[Abstract]` * [contacts] Fix breaking change (api-diff) (#2542) Type Changed: Contacts.CNPostalAddress Removed method: public static string LocalizeProperty (CNPostalAddressKeyOption option); * [macos] Reenable static registrar since Xcode9b6 un-broke SDK headers (#2544) - Fix a subtle spacing issues in PartialStaticLibrary property * [corebluetooth] Update up to beta 6 and enable it on watchOS (#2540) macOS 10.13 has finally catch up with iOS and this simplifies the bindings a bit. * [foundation] API fixes (apidiff) (#2545) 1. Let's not add new, already [Obsolete] API Type Changed: Foundation.NSDimension Added constructors: [Obsolete ("Not intended to be directly instantiated, this is an abstract class.")] public NSDimension (); 2. Fix inconsistently named API, e.g. Type Changed: Foundation.NSAttributedString Added properties: public static string[] ReadableTypeIdentifiersForItemProvider { get; } public static string[] WritableTypeIdentifiers { get; } * [pdfkit] Do not add already [Obsolete] API in new profiles (#2547) and ensure using the newer, correct API works cross-platforms iOS (before) [Obsolete ("Use 'Find (string, NSStringCompareOptions)' instead.")] public virtual PdfSelection[] Find (string text, nint options); public PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'Find (string, PdfSelection, NSStringCompareOptions)' instead.")] public virtual PdfSelection Find (string text, PdfSelection selection, nint options); public void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string, NSStringCompareOptions)' instead.")] public virtual void FindAsync (string text, nint options); public void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string [], NSStringCompareOptions)' instead.")] public virtual void FindAsync (string[] text, nint options); iOS (after) public virtual PdfSelection[] Find (string text, Foundation.NSStringCompareOptions compareOptions); public virtual PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); * Bump versions for the 7th preview (#2541) * Remove additions of AVKit removed in beta5 (#2536) * NSUrlSessionTask should implement NSProgressReporting for iOS (#2548) NSUrlSessionTask implements NSProgressReporting on iOS as well as Mac, so the #if MONOMAC isn't needed. * Add missing availability attributes causing failures on older iOS versions (#2550) * [vision] Minor fix wrt xtro (#2551) including some things we need to ignore manually !missing-field! VNVisionVersionNumber not bound !missing-pinvoke! VNImagePointForFaceLandmarkPoint is not bound !missing-pinvoke! VNNormalizedFaceBoundingBoxPointForLandmarkPoint is not bound * [uikit] NSFileProviderMessaging was removed in beta 2. Fixes #58222 (#2552) reference: https://bugzilla.xamarin.com/show_bug.cgi?id=58222 * [uikit] Update for Xcode 9 - Part 5 (#2546) Bindings for the following headers: - UIActivity.h - UIActivityItemProvider.h - UIAlertController.h - UIApplication.h - UIBarButtonItem.h - UIButton.h - UICollectionViewLayout.h - UIColor.h - UIControl.h - UIDocumentMenuViewController.h - UIFontMetrics.h - UIGestureRecognizer.h - UIGraphicsImageRenderer.h - UIInputViewController.h * [CoreText] Fix an extraneous free in CTFont.GetDefaultCascadeList. (#2555) We do not own the return value from CFArrayGetValueAtIndex, so don't say we do when creating CTFontDescriptor instances, since that leads to angry dragons: 2017-08-28 20:15:20.293 monotouchtest[33186:2311738] A_FontTest 2017-08-28 20:15:20.294 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithFontDescriptorAndOptions 2017-08-28 20:15:20.295 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithNameAndOptions 2017-08-28 20:15:20.296 monotouchtest[33186:2311738] critical: Stacktrace: at <unknown> <0xffffffff> at (wrapper managed-to-native) CoreText.CTFont.CTFontCopyDefaultCascadeListForLanguages (intptr,intptr) [0x0000a] in <ae65a2b1eea242d2b68fe784749543bf>:0 at CoreText.CTFont.GetDefaultCascadeList (string[]) [0x00013] in /work/maccore/xcode9/xamarin-macios/src/CoreText/CTFont.cs:2185 at MonoTouchFixtures.CoreText.A_FontTest.GetCascadeList () [0x0001e] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/CoreText/FontTest.cs:78 at (wrapper runtime-invoke) object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) [0x0004f] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) System.Reflection.MonoMethod.InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&) [0x00016] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at System.Reflection.MonoMethod.Invoke (object,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo) [0x00032] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/corlib/System.Reflection/MonoMethod.cs:305 at System.Reflection.MethodBase.Invoke (object,object[]) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/referencesource/mscorlib/system/reflection/methodbase.cs:229 at NUnit.Framework.Internal.Reflect.InvokeMethod (System.Reflection.MethodInfo,object,object[]) [0x00009] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Reflect.cs:215 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunNonAsyncTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x00025] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:116 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x0001a] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:90 at NUnit.Framework.Internal.Commands.TestMethodCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:66 at NUnit.Framework.Internal.Commands.SetUpTearDownCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00007] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/SetUpTearDownCommand.cs:84 at NUnit.Framework.Internal.WorkItems.SimpleWorkItem.PerformWork () [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/SimpleWorkItem.cs:64 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at MonoTouch.NUnit.UI.BaseTouchRunner.Run (NUnit.Framework.Internal.Test) [0x0004d] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:442 at MonoTouch.NUnit.UI.BaseTouchRunner.Run () [0x00030] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:171 at MonoTouch.Dialog.StringElement.Selected (MonoTouch.Dialog.DialogViewController,UIKit.UITableView,Foundation.NSIndexPath) [0x00008] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/Elements.cs:765 at MonoTouch.Dialog.DialogViewController.Selected (Foundation.NSIndexPath) [0x00026] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:577 at MonoTouch.Dialog.DialogViewController/Source.RowSelected (UIKit.UITableView,Foundation.NSIndexPath) [0x00016] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:402 at (wrapper runtime-invoke) <Module>.runtime_invoke_void__this___object_object (object,intptr,intptr,intptr) [0x0005d] in <32f0c196c5bc4aa18daea2ee64a7814e>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) UIKit.UIApplication.UIApplicationMain (int,string[],intptr,intptr) [0x0005c] in <ae65a2b1eea242d2b68fe784749543bf>:0 at UIKit.UIApplication.Main (string[],intptr,intptr) [0x00005] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:79 at UIKit.UIApplication.Main (string[],string,string) [0x00038] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:63 at monotouchtest.Application.Main (string[]) [0x00011] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/Main.cs:27 at (wrapper runtime-invoke) <Module>.runtime_invoke_void_object (object,intptr,intptr,intptr) [0x00051] in <30a7f7e09de9467b8b454221034a0e38>:0 Native stacktrace: 0 monotouchtest 0x000000010fca03c4 mono_handle_native_crash + 244 1 monotouchtest 0x000000010fcadd30 mono_sigsegv_signal_handler + 288 2 libsystem_platform.dylib 0x000000011feb3b3a _sigtramp + 26 3 CoreFoundation 0x000000011de035a2 computeSanitizedString + 146 4 CoreText 0x00000001168df314 _ZN15TPurgeableCache19RetainedValueForKeyEPKv + 54 5 CoreText 0x00000001168def85 _ZNK17TDescriptorSource22CopyDescriptorUncachedEPK7__CFURLbPK10__CFString + 55 6 CoreText 0x00000001168df34f _ZNK17TDescriptorSource14CopyDescriptorEPK7__CFURLbPK10__CFString + 27 7 CoreText 0x00000001168e20ad _ZNK17TDescriptorSource35CopyFontDescriptorPerPostScriptNameEPK10__CFStringmm + 297 8 CoreText 0x00000001168dfd9e _ZNK17TDescriptorSource30CopySystemFontDescriptorByNameEPK10__CFString10UIFontFlag + 54 9 CoreText 0x00000001168e54c4 _ZNK14TFontFallbacks17CopyFontFallbacksEPK10__CFStringS2_PK9__CFArray + 652 10 CoreText 0x00000001168e4a00 _ZNK14TFontFallbacks29CopyFontFallbacksForLanguagesEPK10__CFStringPK9__CFArray + 122 11 CoreText 0x00000001168e4971 _ZN17TDescriptorSource39CopyDefaultSubstitutionListForLanguagesEPK10__CFStringPK9__CFArray + 61 12 CoreText 0x00000001169397a7 _ZNK9TBaseFont28CreateSystemDefaultFallbacksEPK10__CFStringPK9__CFArray + 51 13 CoreText 0x000000011693999c _ZNK9TBaseFont15CreateFallbacksE10UIFontFlagPPK16__CFCharacterSetPK9__CFArray + 346 14 CoreText 0x00000001168c1036 _ZNK5TFont24CreateDefaultCascadeListEPK9__CFArray + 242 15 CoreText 0x00000001168b8ff9 CTFontCopyDefaultCascadeListForLanguages + 97 16 ??? 0x0000000140eaefd3 0x0 + 5384105939 17 ??? 0x0000000140eae761 0x0 + 5384103777 18 ??? 0x000000013c9c8e74 0x0 + 5311860340 19 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 20 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 21 monotouchtest 0x000000010fd71bac mono_runtime_try_invoke_array + 1292 22 monotouchtest 0x000000010fd15587 ves_icall_InternalInvoke + 647 23 ??? 0x000000013e9fcd13 0x0 + 5345627411 24 ??? 0x000000013e9fc738 0x0 + 5345625912 25 ??? 0x000000013e9fded5 0x0 + 5345631957 26 ??? 0x000000013e9fbb76 0x0 + 5345622902 27 ??? 0x000000013e9e237e 0x0 + 5345518462 28 ??? 0x000000013e9e237e 0x0 + 5345518462 29 ??? 0x000000013e9e237e 0x0 + 5345518462 30 ??? 0x000000013e9e237e 0x0 + 5345518462 31 ??? 0x000000013e873006 0x0 + 5344014342 32 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 33 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 34 monotouchtest 0x000000010fd6e320 mono_runtime_invoke + 208 35 monotouchtest 0x000000010fe71af1 xamarin_invoke_trampoline + 5617 36 monotouchtest 0x000000010fe79ddd xamarin_arch_trampoline + 189 37 monotouchtest 0x000000010fe7b1a1 xamarin_x86_64_common_trampoline + 110 38 UIKit 0x0000000111b9876b -[UITableView _selectRowAtIndexPath:animated:scrollPosition:notifyDelegate:] + 1810 39 UIKit 0x0000000111b98986 -[UITableView _userSelectRowAtPendingSelectionIndexPath:] + 344 40 UIKit 0x0000000111a6b5c9 _runAfterCACommitDeferredBlocks + 318 41 UIKit 0x0000000111a59dad _cleanUpAfterCAFlushAndRunDeferredBlocks + 280 42 UIKit 0x0000000111a89f68 _afterCACommitHandler + 137 43 CoreFoundation 0x000000011de3ddb7 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23 44 CoreFoundation 0x000000011de3dd0e __CFRunLoopDoObservers + 430 45 CoreFoundation 0x000000011de22324 __CFRunLoopRun + 1572 46 CoreFoundation 0x000000011de21a89 CFRunLoopRunSpecific + 409 47 GraphicsServices 0x0000000121b7e9c6 GSEventRunModal + 62 48 UIKit 0x0000000111a5f7d0 UIApplicationMain + 159 49 ??? 0x000000013c9c4474 0x0 + 5311841396 50 ??? 0x000000013c9c40ad 0x0 + 5311840429 ================================================================= Got a SIGSEGV while executing native code. This usually indicates a fatal error in the mono runtime or one of the native libraries used by your application. ================================================================= * [monotouch-test] Don't subclass MKMapView. (#2556) MKMapView doesn't like being subclassed (Apple says "you should not subclass the MKMapView class itself"). Bad things like this starts happening: Thread 0 name: tid_303 Dispatch queue: com.apple.main-thread Thread 0 Crashed: 0 libsystem_kernel.dylib 0x0000000186b25348 __pthread_kill + 8 1 libsystem_pthread.dylib 0x0000000186c39354 pthread_kill$VARIANT$mp + 396 2 libsystem_c.dylib 0x0000000186a94fd8 abort + 140 3 monotouchtest 0x0000000101c02c14 mono_handle_native_crash + 22047764 (mini-exceptions.c:2548) 4 monotouchtest 0x0000000101c0d02c mono_sigsegv_signal_handler + 22089772 (mini-runtime.c:2886) 5 libsystem_platform.dylib 0x0000000186c33b60 _sigtramp + 52 6 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 7 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 8 CoreFoundation 0x0000000186eda51c -[__NSArrayM dealloc] + 68 9 CoreFoundation 0x000000018703f5c8 __CFBasicHashDrain + 312 10 CoreFoundation 0x0000000186fb5b44 _CFRelease + 224 11 CoreText 0x000000018a808404 TDescriptorSource::PurgeFontFallbacksCache+ 488452 () + 92 12 CoreText 0x000000018a808374 TDescriptorSource::PurgeFromCaches+ 488308 (__CFURL const*) const + 176 13 CoreText 0x000000018a7eec74 CTFontRemoveFromCaches + 168 14 VectorKit 0x0000000196a539b0 +[VKSharedResourcesManager removeResourceUser:] + 324 15 VectorKit 0x0000000196ca27a4 md::MapEngine::~MapEngine+ 2643876 () + 360 16 VectorKit 0x0000000196ca2634 md::MapEngine::~MapEngine+ 2643508 () + 12 17 libobjc.A.dylib 0x000000018651eef4 object_cxxDestructFromClass+ 28404 (objc_object*, objc_class*) + 148 18 libobjc.A.dylib 0x000000018652c638 objc_destructInstance + 88 19 libobjc.A.dylib 0x000000018652c690 object_dispose + 16 20 QuartzCore 0x000000018afca3ac -[CALayer dealloc] + 116 21 VectorKit 0x0000000196a43294 -[VKMapView dealloc] + 940 22 QuartzCore 0x000000018af6aafc CA::release_objects+ 744188 (X::List<void const*>*) + 32 23 QuartzCore 0x000000018afd97d8 CA::Layer::~Layer+ 1198040 () + 276 24 QuartzCore 0x000000018afca37c -[CALayer dealloc] + 68 25 QuartzCore 0x000000018af6b16c CA::Transaction::commit+ 745836 () + 1052 26 UIKit 0x0000000190393290 _afterCACommitHandler + 256 27 CoreFoundation 0x0000000186fb38b8 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 32 28 CoreFoundation 0x0000000186fb1270 __CFRunLoopDoObservers + 412 29 CoreFoundation 0x0000000186fb182c __CFRunLoopRun + 1292 30 CoreFoundation 0x0000000186ed22d8 CFRunLoopRunSpecific + 436 31 GraphicsServices 0x0000000188d58f84 GSEventRunModal + 100 32 UIKit 0x000000019040427c UIApplicationMain + 208 33 monotouchtest 0x000000010106eb90 wrapper_managed_to_native_UIKit_UIApplication_UIApplicationMain_int_string___intptr_intptr + 9907088 (/<unknown>:1) 34 monotouchtest 0x0000000100f0d6ac UIKit_UIApplication_Main_string___intptr_intptr + 8459948 (UIApplication.cs:79) 35 monotouchtest 0x0000000100f0d66c UIKit_UIApplication_Main_string___string_string + 8459884 (UIApplication.cs:63) 36 monotouchtest 0x0000000100b10450 monotouchtest_Application_Main_string__ + 4277328 (Main.cs:27) 37 monotouchtest 0x0000000100e0c244 wrapper_runtime_invoke_object_runtime_invoke_dynamic_intptr_intptr_intptr_intptr + 244 38 monotouchtest 0x0000000101c10048 mono_jit_runtime_invoke + 22102088 (mini-runtime.c:2526) 39 monotouchtest 0x0000000101c75eec do_runtime_invoke + 22519532 (object.c:2829) 40 monotouchtest 0x0000000101c78a3c do_exec_main_checked + 22530620 (object.c:4623) 41 monotouchtest 0x0000000101bf9a1c mono_jit_exec + 22010396 (driver.g.c:1040) 42 monotouchtest 0x0000000101d13d60 xamarin_main + 23166304 (monotouch-main.m:482) 43 monotouchtest 0x00000001007de710 main + 927504 (main.m:67) 44 libdyld.dylib 0x00000001869f656c start + 4 * [introspection] Let SkipDueToAttributeInProperty skip setters too (#2557) `SkipDueToAttributeInProperty` which is used to check the availability attribute of properties when the Availability info only exist on the property and not on the property Getter or Setter was wrong. This lead to `setSpringLoaded` (which was introduced in iOS 11) to not be ignored by the test (making it fail). - Fix bug #59085: [introspection-ios] selector not found for UIKit.UIBarButtonItem : setSpringLoaded: - Broken test (https://bugzilla.xamarin.com/show_bug.cgi?id=59085) * [corevideo][watchos] Enable CoreVideo on watchOS (#2553) * [storekit] Fix CampaignToken typo (#2559) (#2560) - Fixes bug #59078: StoreProductParameters and invalid property for CampaignToken (https://bugzilla.xamarin.com/show_bug.cgi?id=59078) * [coreml][watchos] Enable API using CoreVideo on watchOS. Fix #58097 (#2561) https://bugzilla.xamarin.com/show_bug.cgi?id=58097 * Add missing [MarshalDirective] attributes. (#2558) * [bindings-generator] Improve build & project file. * Add missing [MarshalDirective] attributes. Add missing [MarshalDirective] attributes, which also requires implementing support for out parameters in the binding generator, since one of the signatures missing the [MarshalDirective] contains such an out parameter. Also add tests for all the API I've added [MarshalDirective] to. * [bindings-generator] Remove redundant if check. * [monotouch-test] Rename file to end with 'Test.cs'. * [tests] Fix a few build errors for Xamarin.Mac. * [uikit] Fix UIColor and UIInputViewController tvOS availability (#2569) - Fixes introspection tests on tvOS 10. * [storekit] Fix SKCloudServiceSetupMessageIdentifier and SKProductStorePromotionController tvOS availability (#2568) - Fixes introspection tests on tvOS 10. * [mapkit] Fix MKMapItemTypeIdentifier tvOS availability (#2566) - Also remove double [Mac] availability attribute. - Fixes introspection tests on tvOS 10. * [ARKit] Fix marshalling for ARPointCloud.RawFeaturePoints. (#2565) ARPointCloud.RawFeaturePoints is an array of Vector3, but each vector is 16-byte aligned (as if it were an array of Vector4). This means we need to account for this when creating a managed array from pointer to the native C-style array. * [ModelIO] Fix MDLVoxelIndexExtent struct. (#2564) The MDLVoxelIndexExtent is a struct containing two 4-dimensional vectors of integers (not floats, as originally and incorrectly implemented). Fix this my creating a new MDLVoxelIndexExtent2 struct with the right fields, re-implement all the API that exposes this struct and obsolete the old API. Also add missing [MarshalDirective] attributes. And write a test to make sure it works fine now and forever. * [coredata] Enable new fields since rdar #33878590 is fixed w/beta 6 (#2570) reference: https://trello.com/c/dlSRYPFx * [xtro-sharpie] Add a Simd check class to verify signatures with Simd types. * [Simd] Add simd matrix types. The OpenTK matrices (Matrix2/3/4) has a different memory layout than Apple's matrix_float2x2/matrix_float3x3/matrix_float4x4 matrices: the OpenTK versions are row-major, while Apple's versions are column-major. This means that when blitting memory from one to the other, the matrix will appear to have been transposed. See bug #[58599][2] for an example. Unfortunately we've already bound several API with Apple's matrix_floatXxX matrices using OpenTK's matrices, and although they're bound wrong, and the matrices appear transposed on input/output, we can't change the behavior because we have to maintain compatibility. This means we have to introduce new API, and then also just define new matrix types with the right memory layout (column-major). Additionally, in the future we might be able to mark these matrices as Simd-matrixes, so that the JIT/AOT compiler can generate the correct alignment for them, avoiding having to define a native conversion method (using the [MarshalDirective] hack). The matrices have been designed to match API-wise the matrices in the System.Numerics.Vectors namespace [1], but for the moment with only a few basic operations implemented (Determinant/Transpose/Multiply) defined (we can always add more later if we want to). In addition explicit conversion operators to and from the corresponding OpenTK.MatrixX are implemented, which means any operation defined in the OpenTK matrices can be used by converting back and forth. [1]: https://msdn.microsoft.com/en-us/library/system.numerics.matrix4x4(v=vs.111).aspx [2]: https://bugzilla.xamarin.com/show_bug.cgi?id=58599 * [ARKit] Use the new Simd matrix types. * [Vision] Use the new Simd matrix types. * [ModelIO] Use the new Simd-compatible matrix types, and deprecate the old API. * [GameplayKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [SpriteKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [xtro] Don't report missing [MarshalDirective] for obsolete methods. * [xtro] Remove unnecessary ignores. The implementation changed, and these stayed accidentally. * [wkwebkit] Fix (native) protocol names (#2572) Also ignore xtro's WKSnapshotConfiguration since it's an Apple bug 34185961 reference (xtro) !missing-protocol! WKURLSchemeHandler not bound !missing-protocol! WKURLSchemeTask not bound !unknown-protocol! WKUrlSchemeHandler bound !unknown-protocol! WKUrlSchemeTask bound !unknown-type! WKSnapshotConfiguration bound * [uikit] Fix enums availability attributes (#2575) - Fixes bug #59132: [uikit] Extra types in watchOS (https://bugzilla.xamarin.com/show_bug.cgi?id=59132) * [watchkit] Add missing designated initializers (#2574) references (xtro) !missing-designated-initializer! WKInterfaceController::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! WKUserNotificationInterfaceController::init is missing an [DesignatedInitializer] attribute * [xtro] Reword some of the Simd diagnostic messages according to review. * [tests] Make sure test symbols don't clash between different test libraries. Fixes this build problem for framework-test: clang: error: linker command failed with exit code 1 (use -v to see invocation) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_get_rotation_matrix'. MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticObjectTest.framework/XStaticObjectTest (Location related to previous error) MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticArTest.framework/XStaticArTest(libtest-ar.x86_64.o) (Location related to previous error) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransformcomponent_get_local_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_create_global_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float4x4'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float3x3'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float2x2'. MTOUCH: error MT5209: Native linking error: 6 duplicate symbols for architecture x86_64 MTOUCH: error MT5202: Native linking failed. Please review the build log. * [tests] Since libtest.a need ModelIO now, the corresponding LinkWith attributes need to state that too. * [introspection] Don't check native signatures on obsolete members, and ignore the right simd matrix types. Fixes this introspection/Mac problem: ***** ApiSignatureTest.NativeSignatures Selector: uniformWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: uniformWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: uniformWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: setMatrixFloat2x2Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: setMatrixFloat3x3Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: setMatrixFloat4x4Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: initWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: initWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: initWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded * [monotouch-tests] Include more custom asserts for watchOS to make the build work. Fixes this: Simd/MatrixFloat4x4Test.cs(28,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(29,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(37,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(48,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' [...] * [monotouch-test] Exclude code that requires the binding project from xammac tests. Exclude code that requires the test binding project from xammac tests because there's currently no XM version of the test binding project. Fixes this: tests/monotouch-test/SpriteKit/UniformTest.cs(20,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLMaterialProperty.cs(37,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLTransform.cs(34,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) * Bump version for preview #8 (#2576) * [spritekit] Audit fixes (xtro) (#2577) 1. SKVideoNode is now, partially, available on watchOS and does not require the extra, manual code to swicth selectors depending on the OS version being run. !missing-type! SKVideoNode not bound !missing-selector! SKVideoNode::anchorPoint not bound !missing-selector! SKVideoNode::initWithCoder: not bound !missing-selector! SKVideoNode::initWithFileNamed: not bound !missing-selector! SKVideoNode::initWithURL: not bound !missing-selector! SKVideoNode::setAnchorPoint: not bound !missing-selector! SKVideoNode::setSize: not bound !missing-selector! SKVideoNode::size not bound !missing-selector! +SKVideoNode::videoNodeWithFileNamed: not bound !missing-selector! +SKVideoNode::videoNodeWithURL: not bound 2. SKNodeFocusBehavior is exposed needlessly on watchOS because SpriteKit/Enums.cs was not processed by the generator, so [NoWatch] did not matter. !unknown-native-enum! SKNodeFocusBehavior bound It's also visible on macOS but nothing uses it (so we do not expose it needlessly) !missing-enum! SKNodeFocusBehavior not bound 3. Add missing designated initializer on default `init` !missing-designated-initializer! SKAttributeValue::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! SKNode::init is missing an [DesignatedInitializer] attribute 4. Remove inconsistency for SKNode subclasses wrt XAMCORE_4_0 The trio attributeValues, setAttributeValues and setValue:forAttributeNamed: that was moved from SKNode (deprecated) into its subclasses. This was done using XAMCORE_4_0 but not on every subclasses. This adds them everywhere to be consistent (only SKNode versions are not defined in XAMCORE_4_0) !missing-selector! SKEffectNode::attributeValues not bound !missing-selector! SKEffectNode::setAttributeValues: not bound !missing-selector! SKEffectNode::setValue:forAttributeNamed: not bound !missing-selector! SKEffectNode::valueForAttributeNamed: not bound !missing-selector! SKEmitterNode::attributeValues not bound !missing-selector! SKEmitterNode::setAttributeValues: not bound !missing-selector! SKEmitterNode::setValue:forAttributeNamed: not bound !missing-selector! SKEmitterNode::valueForAttributeNamed: not bound !missing-selector! SKSpriteNode::attributeValues not bound !missing-selector! SKSpriteNode::setAttributeValues: not bound !missing-selector! SKSpriteNode::setValue:forAttributeNamed: not bound !missing-selector! SKSpriteNode::valueForAttributeNamed: not bound * [introspection] Make sure '[FAIL]' is printed before every failure. (#2578) This makes xharness able to list the failures in the inline summary. * [xtro] Reword some of the Simd diagnostic messages according to review. * [xharness] Add a missing IsServerMode check to generate correct html. (#2581) * [SpriteKit] SKTransformNode is new in Xcode 9 so no need to keep the broken (and obsolete) non-simd version of RotationMatrix. * [intents] Fix some (partial) xtro issues and #59156 (#2585) reference https://bugzilla.xamarin.com/show_bug.cgi?id=59156 Remaining issues are filled in https://bugzilla.xamarin.com/show_bug.cgi?id=59183 !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound * [Intents] Confirm* interface methods should be bound as Confirm, Fixes Bug 59164 (#2591) * [Intents] Confirm* interface methods should probably be bound as Confirm, Fixes Bug 59164 https://bugzilla.xamarin.com/show_bug.cgi?id=59164 All Confirm* methods from *IntentHandling interfaces should be named just `Confirm` to avoid confusion because most of them do not directly confirm as an acion, but instead they **ask** for confirmation also we would follow swift's naming by doing this. * [Intents] XAMCORE_4_0 all Confirm* methods from *IntentHandling Turns any Confirm* into just Confirm inside a XAMCORE_4_0 block, * [Intents] Fix breaking changes in Intents added in Xcode 9 Bindings (#2590) Apple added more protocol conformances to INRidesharingDomainHandling and INPaymentsDomainHandling protocols in Xcode 9, I introduced these breaking changes back when I did intents binding so fixing them :) * [Metal] New bindings from Xcode 9 betas (#2457) * [AVFoundation] Updated bindings for xcode9. (#2272) * [Xcode9] Add IOSurface bindings (#2363) * This framework was a private framework before iOS 11. This framework was a private framework before iOS 11, yet the headers claim many API were introduced in iOS 10. So take account of this difference by using the private framework location in iOS 10.3 or earlier. Testing these API from Xcode works fine when run on an iOS 10.3 device, and I've confirmed the IOSurface framework is loaded from the private frameworks path on older devices (and when built using Xcode 9 and linked with the public framework path). * Disable code to make IOSurface work on iOS 10. Disable the code to make IOSurface work on iOS 10, since it may be rejected by the App Store. This also means adjusting the availability attributes, so that the introspection tests pass (and to document that technically these API won't work when used with Xamarin.iOS in iOS 10). I've filed bug #[59201][1] to keep track of this, maybe we can re-enable this later. [1]: https://bugzilla.xamarin.com/show_bug.cgi?id=59201 * [CoreMedia] Fix leak in CMAttachmentBearer.GetAttachments. (#2593) The caller owns the return value from CMCopyDictionaryOfAttachments, so tell Runtime.GetNSObject that. * [Intents] Adds missing API found by xtro, fixes Bug 59183 (#2596) https://bugzilla.xamarin.com/show_bug.cgi?id=59183 Fixes !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !incorrect-protocol-member! INUIHostedViewControlling::configureWithInteraction:context:completion: is OPTIONAL and should NOT be abstract * [xtro] Fix StartWorkingDirectory to enable debugging (#2598) * [iosurface] Enable for tvOS and XM classic (to avoid multiple defines around consumer API) (#2597) * [xtro] Fix EnumCheck (#2600) * [ARKit] Rename a few method to make them nicer. (#2604) * DisplayTransform -> GetDisplayTransform since methods should have verbs. * SessionWasInterrupted -> WasInterrupted and SessionInterruptionEnded -> InterruptionEnded since these names match better with the other names (CameraDidChangeTrackingState / DidFail / DidOutputAudioSampleBuffer: none are prefixed with 'Session'). Additionally, the type is a Model (for the delegate pattern), which means all methods are more-or-less event-like, and the first argument is always the same (the protocol itself), which is another indicator the methods should be named similarly. * [Foundation] Remove 'Key' suffix from some fields. (#2606) Of the 168 fields in NSMetadataItem, only these 5 hadn't removed the 'Key' suffix. So make them all equivalent by removing the 'Key' suffix from these 5 fields. * [ImageIO] Fix API to not duplicate the instance in instance methods. (#2609) An instance method does not need to take the instance as a parameter, so remove the first (instance) parameter for CGImageDestination.AddAuxiliaryDataInfo and CGImageSource.CopyAuxiliaryDataInfo. An alternative solution would be to make the methods static, but I like the instance API better. * [UIKit] De-model UIDataSourceTranslating. (#2603) It's not clear from neither the documentation nor the headers how this protocol is supposed to be used, and since it doesn't correspond to the delegate pattern, remove the [Model] attribute for now. We can always add it back later. * [CoreML] Improve API. (#2592) * [CoreML] Improve API. * The indices, shape and stride properties for MLMultiArray and MLMultiArrayConstraint can logically only be arrays of integers, so type them as such. This means adding overloads for MLMultiArray's constructors, GetObject and SetObject methods, and the indexers that takes nint[] arrays instead of NSNumber[] arrays. * Change MLFeatureValue's static factory methods to be a method ('Create') instead of a preposition, and call all the different factory methods the same, since they can be overloaded nicely. * [tests][monotouch-test] Add version check to MLMultiArrayTest and make sure the arrays we create are big enough for the data we put in them. * [tests][monotouch-test] MLMultiArray's elements aren't zero-initialized, so don't assume that in the tests. * Support overloading Objective-C methods based on static/instance. (#2607) Two Objective-C methods can be named identically as long as one is static and the other instance. We must support this since Apple did just this (in the NSItemProviderReading / NSItemProviderWriting protocols). We solve it by prepending a '+' or '-' to the selector when hashing it (to determine selector uniqueness, and to look the method up again at runtime). * [uikit] Update for Xcode 9 - Part 6 (#2602) NSAttributedString.h NSFileProviderExtension.h NSLayoutAnchor.h UIAccessibility.h UIAccessibilityAdditions.h UIAccessibilityContainer.h UIAccessibilityContentSizeCategoryImageAdjusting.h UIAccessibilityCustomRotor.h UIAccessibilityLocationDescriptor.h UITabBar.h UINavigationBar.h UIScreen.h * Xcode9 scenekit (#2512) * [SceneKit] basic work * Added key * [xcode9] SCNCameraController * [xcode9] SCNCamera updates * [xcode9] SCNMaterial * [xcode9] SCNGeometryTessellator, SCNCameraControlConfiguration, SCNView, small bits * Add trailing commas to last enum value * Remove whitespace noise * [scenekit] Update deprecated attributes messages * Addresses some of Rolf's feedback * Drop the WeakDelegate in SCNCameraController * Rename method to Render, remove ctor from class that can not be constructed in Palygrounds, add typo exception * [AppKit] Rename NSBezierPath.AppendBezierPathWithCGGlyph to match its sibling methods. (#2605) NSBezierPath contains a lot of 'AppendPathWithXXX' methods, that all map to 'appendBezierPathXXX' selectors. So rename AppendBezierPathWithCGGlyph accordingly, to make it more similar to the other methods in the same type. * [uikit] Add all UISpringLoadedInteractionSupporting (#2616) Types do not conform to the protocol but protocol methods work on those types (see monotouch-test). Fixed introspection tests accordingly and tested the selectors in monotouch-test. * [Intents] Add convenience ctor overload and call correct base ctor in manual ctor. (#2613) Add a convenience constructor overload in INGetUserCurrentRestaurantReservationBookingsIntent that uses nint instead of NSNumber, since logically "number of results" will always be some sort of integer. Also call the correct base constructor in INSpeakableString's custom constructor (same as any other generated constructor). Otherwise we end up doing something like this: [[[INSpeakableString alloc] init] initWith ...], i.e. calling two different init methods. * [coreimage] Add new headers API up to beta 6 (#2601) Filters are not complete (ref: #57350) https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * Some new constants are not yet documented (type is known), so they are commented / ignored https://bugzilla.xamarin.com/show_bug.cgi?id=59296 * Filled bug for [Wrap] inside [Category] so strong dictionary helpers can be re-enabled later https://bugzilla.xamarin.com/show_bug.cgi?id=59294 * [foundation] xtro fixes for watchOS (#2586) !missing-enum! NSProcessInfoThermalState not bound !missing-field! NSProcessInfoThermalStateDidChangeNotification not bound !missing-selector! NSProcessInfo::thermalState not bound Headers are wrong and preferredPresentationStyle is not in tvOS and watchOS !missing-selector! NSItemProvider::preferredPresentationStyle not bound !missing-selector! NSItemProvider::setPreferredPresentationStyle: not bound * [uikit] Also remove UIPreferredPresentationStyle enum from platform where it's not used * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. (#2614) * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. * NSItemProviderWriting: * NSItemProviderReading: Implement correctly and completely by uncommenting commented out code. * NSMutableString: * NSAttributedString: remove inlined members, since these classes don't implement NSItemProviderReading / NSItemProviderWriting (according to the headers at least). * NSUrl: all platforms now seem to implement NSItemProviderReading / NSItemProviderWriting. * NSString: all platforms now seem to implement both NSItemProviderReading and NSItemProviderWriting * UIColor: * UIImage: Update inlined protocol members according to the latest beta. Additionally, due to the following conditions: * The protocols all have the correct members now. * In the API definition we tell the generator to inline members from a protocol by inheriting from the corresponding interface. * The generator doesn't inline static members from protocols. several 'new' keywords had to be added to silence a compiler warning that occurrs when we manually inline a static member, since the member would be included in the type both from the inherited interface and the manual implementation. * [Foundation] Comment out NSItemProviderWriting.GetItemProviderVisibility to avoid inlining/generating unusable methods. NSItemProviderWriting.GetItemProviderVisibility is an optional method, and none of the native classes that implements NSItemProviderWriting actually imlements the method. This means inlining the method in those classes ends up creating unusable API; so just comment out the method to avoid generating the unusable API. The introspection tests found this: [FAIL] Foundation.NSString : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Foundation.NSUrl : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Contacts.CNContact : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] MapKit.MKMapItem : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIColor : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIImage : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] iOSApiSelectorTest.ApiSelectorTest.StaticMethods : 6 errors found in 2348 static selector validated: See also https://bugzilla.xamarin.com/show_bug.cgi?id=59308 * [iosurface] Add missing [TV] attributes (#2619) * [opengles] Enable the new API using IOSurface (#2618) The symbol only exists inside device libraries, not on simulator, and the introspection tests were updated to ignore it. Part of https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [avfoundation][watchos] Enable AudioBufferList (fix #59145) + audit (xtro) (#2617) 1. AudioBufferList is part of CoreAudio (wrong namespace, which needs a few changes in the generator) and now available in watchOS 4 https://bugzilla.xamarin.com/show_bug.cgi?id=59145 2. Also fixes xtro found issues: !missing-type! AVAudioRecorder not bound !missing-selector! AVAudioRecorder::averagePowerForChannel: not bound !missing-selector! AVAudioRecorder::channelAssignments not bound !missing-selector! AVAudioRecorder::currentTime not bound !missing-selector! AVAudioRecorder::delegate not bound !missing-selector! AVAudioRecorder::deviceCurrentTime not bound !missing-selector! AVAudioRecorder::format not bound !missing-selector! AVAudioRecorder::initWithURL:format:error: not bound !missing-selector! AVAudioRecorder::initWithURL:settings:error: not bound !missing-selector! AVAudioRecorder::isMeteringEnabled not bound !missing-selector! AVAudioRecorder::isRecording not bound !missing-selector! AVAudioRecorder::peakPowerForChannel: not bound !missing-selector! AVAudioRecorder::recordAtTime: not bound !missing-selector! AVAudioRecorder::recordAtTime:forDuration: not bound !missing-selector! AVAudioRecorder::recordForDuration: not bound !missing-selector! AVAudioRecorder::setChannelAssignments: not bound !missing-selector! AVAudioRecorder::setDelegate: not bound !missing-selector! AVAudioRecorder::setMeteringEnabled: not bound !missing-selector! AVAudioRecorder::settings not bound !missing-selector! AVAudioRecorder::url not bound !missing-protocol! AVAudioRecorderDelegate not bound !missing-selector! AVAudioEngine::inputNode not bound !missing-selector! AVAudioEngine::manualRenderingBlock not bound !missing-selector! AVAudioInputNode::setManualRenderingInputPCMFormat:inputBlock: not bound !missing-selector! AVAudioPlayer::format not bound !missing-selector! AVAudioSession::requestRecordPermission: not bound !unknown-field! AVFileType3GPP bound !unknown-field! AVFileType3GPP2 bound !unknown-field! AVFileTypeAC3 bound !unknown-field! AVFileTypeAIFC bound !unknown-field! AVFileTypeAIFF bound !unknown-field! AVFileTypeAMR bound !unknown-field! AVFileTypeAVCI bound !unknown-field! AVFileTypeAppleM4A bound !unknown-field! AVFileTypeAppleM4V bound !unknown-field! AVFileTypeCoreAudioFormat bound !unknown-field! AVFileTypeDNG bound !unknown-field! AVFileTypeEnhancedAC3 bound !unknown-field! AVFileTypeHEIC bound !unknown-field! AVFileTypeHEIF bound !unknown-field! AVFileTypeJPEG bound !unknown-field! AVFileTypeMPEG4 bound !unknown-field! AVFileTypeMPEGLayer3 bound !unknown-field! AVFileTypeQuickTimeMovie bound !unknown-field! AVFileTypeSunAU bound !unknown-field! AVFileTypeTIFF bound !unknown-field! AVFileTypeWAVE bound * [Metal] Implement API using IOSurface now that IOSurface is implemented. Partially fixes #58054. (#2621) https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [PdfKit] Improve PdfAnnotation.QuadrilateralPoints binding by making it strongly typed. (#2620) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). (#2622) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). * [ARKit/Vision] Use the new simd vector types instead of the OpenTK versions. * [ModelIO] Use the new simd vectors in new API (MDLVoxelIndexExtent2). This way we won't have to create a MDLVoxelIndexExtent3 in the future. * [SpriteKit] Use the new simd vectors in new API. * [metal] Audit (xtro) based fixes (#2623) !extra-protocol-member! unexpected selector MTLArgumentEncoder::newArgumentEncoderForBufferAtIndex: found !extra-protocol-member! unexpected selector MTLComputeCommandEncoder::dispatchThreads:threadsPerThreadgroup: found macos-only !missing-field! MTLDeviceRemovalRequestedNotification not bound !missing-field! MTLDeviceWasAddedNotification not bound !missing-field! MTLDeviceWasRemovedNotification not bound !missing-pinvoke! MTLCopyAllDevices is not bound * [CloudKit] Update bindings to beta 6. (#2615) * [FileProvider] Turn NSFileProviderItemIdentifier enum into a static class, fixes bug 59329 (#2634) https://bugzilla.xamarin.com/show_bug.cgi?id=59329 At the time of binding NSFileProviderItemIdentifier it wasn't clear how it was supposed to be used, I mean apple provides two keys which I thought were the only possible values hence binding it as an smart enum. Unfortunately this wasn't the case and the user can use those two values provided from the SDK or their own NSString Identifier. Swift provides a wrapper unfortunately we can't do the same due to NSFileProviderItemIdentifier is used in the NSFileProviderItem protocol and we currently do not support changing signatures on them. * [mtouch] Teach mtouch about the 'IOSurface' framework for tvOS. Fixes #59333. (#2630) https://bugzilla.xamarin.com/show_bug.cgi?id=59333 * Bump Touch.Unit to get fix for API breakage. (#2631) spouliot/Touch.Unit@8f1e19d [NUnitOutputTextWriter] Reintroduce previous constructor to make sure we don't break binary ABI. spouliot/Touch.Unit@00b0c0b [NUnitOutputTextWriter] Don't write invalid xml comments. spouliot/Touch.Unit@de9fe20 [TouchRunner] Restore the original code path when not wrapping NUnit xml output. * [IOSurface] Add missing availability attributes for tvOS. (#2629) * Bump versions for preview 9 (#2624) * [AVFoundation] Add missing interface AVRouteDetector. (#2637) * [tests] Update xtro to reduce list sizes (#2636) * Skip OpenTK duplicate declaration (we can't change them); * Fix rule name change for ARKit / simd; * Add missing default initializer on `init` to pending actions; * Add note for AVPersistableContentKeyRequest changes wrt tvOS; * [ReplayKit] Make RPBroadcastActivityViewController.LoadBroadcastActivityViewController async-capable. (#2639) * [xcode9] More SceneKit bindings (#2633) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 (#2644) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 https://bugzilla.xamarin.com/show_bug.cgi?id=59380 vector_float3 is 16 bytes, which means the binding is incorrect, because Vector3 is 12 bytes, and our code does not that difference into account. * Add tests * [DeviceCheck] Disable default ctor for DCDevice. (#2642) It doesn't seem to be useful according to the documentation, since it appears that the only way to get an instance is to use the static CurrentDevice property. * [audiounit] Audit (xtro) fixes for tvOS (#2635) Availability attributes in non-generated files don't hide symbols/code. reference: !unknown-pinvoke! AudioUnitExtensionCopyComponentList bound !unknown-pinvoke! AudioUnitExtensionSetComponentList bound * [tests] Make sure tvOS tests don't use the (unexisting) API * [tests] Add all test project variations to tests-mac.sln (#2579) * [xharness] Make sure generated mac projects have different project guids. * [introspection] Change the project guid so that it doesn't match the dontlink-mac project guid. * [tests] Add all test project variations to tests-mac.sln. * [xharness] Fix else condition. * [FileProvider] Adds missing NSFileProviderPage constants, fixes bug 59297. (#2646) https://bugzilla.xamarin.com/show_bug.cgi?id=59297 Adds NSFileProviderInitialPageSortedByName and NSFileProviderInitialPageSortedByDate NSData constants * [Xcode9] Remove NSFileProviderMessage and NSFileProviderMessageInterface (#2647) APIs were removed in beta 2 * [Foundation/UIKit] Provide LoadObject[s] methods that return the expected type in the callback. Fixes #59049. (#2638) The callback for these LoadObject[s] methods take an INSItemProviderReading parameter. This tells our runtime that we must provide an instance of a managed object that implements this interface (but nothing else), so we create a `NSItemProviderReadingWrapper` instance, which complies with the API (since the wrapper type implements the corresponding interface). Unfortunately these methods are supposed to return an instance of the passed- in type, so in order to comply with this soft (documentation-only) requirement, provide a wrapper method that creates instances of the right types. https://bugzilla.xamarin.com/show_bug.cgi?id=59049 * [arkit] Ignore deprecated selectors (#2645) * [FileProvider] Adds missing protocol and keys from audit (#2652) ``` !missing-protocol! NSFileProviderServiceSource not bound !missing-field! NSFileProviderErrorCollidingItemKey not bound !missing-field! NSFileProviderErrorNonExistentItemIdentifierKey not bound !missing-field! NSFileProviderFavoriteRankUnranked not bound ``` Also adds `NSXpcListenerEndpoint` to foundation, needed by `NSFileProviderServiceSource` protocol. * [tests][xtro] Workaround xtro runner dupe entry exception and update data files (#2654) * [AVFoundation] Rename field to match others. (#2657) * [homekit] Audit (xtro) fixes (#2653) - HMCharacteristicEvent conforms to NSMutableCopying on iOS11 which makes it 64 bits only (so adjust intro tests) - Ignore extra setters on HMMutablePresenceEvent, rdar 33883958 !missing-selector! HMMutablePresenceEvent::setPresenceEventType: not bound !missing-selector! HMMutablePresenceEvent::setPresenceUserType: not bound * [xtro] Add missing pinvoke to pending (#2662) - Bug 59422: [uikit] Missing UIContentSizeCategoryCompareToCategory & UIContentSizeCategoryIsAccessibilityCategory (https://bugzilla.xamarin.com/show_bug.cgi?id=59422) * Merge latest d15-3 fixes into xcode9 (#2660) * [msbuild] Re-added wildcard (*) expandsion for application-identifier in Entitlements.plist (#2186) Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=57119 * Bump mono (#2213) * Framework tests were still binding non-linked Simple class which errors now (#2216) (#2218) - Improve Makefile to rebuild when projects build with errors * Bump mono to get cecil fix for bug #56808. (#2222) https://bugzilla.xamarin.com/show_bug.cgi?id=56808 * [msbuild] Use @(ReferencePath) instead of @(ResolvedFiles) (#2188) (#2214) This allows things to work on both xbuild and msbuild. In xbuild, both lists are exactly the same and on msbuild, only @(ReferencePath) exists. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=55147 * NSActivityOptions.IdleDisplaySleepDisabled had wrong value (#2232) (#2239) This was due to an integer overflow. The original value was based on Int32 1 << 40 == 256 The correct value should be based on a UInt64. 1UL << 40 == 1099511627776 * [tests] Fix bug 57699 - [iOS]InternalsTest failure (Linkall) tests on device (#2243) Strip native debugging symbols should not be checked for debug builds * Bump mono to get fix for bug #57780. https://bugzilla.xamarin.com/show_bug.cgi?id=57780 * Update .gitmodules Change branch to d15-3 branch of mono * Bump maccore to get fix for bug #55064. https://bugzilla.xamarin.com/show_bug.cgi?id=55064 * [mono] Bump mono to get the head of cecil/mono-2017-04 and fix IsComObject #57919 Also fix #58789 [1], the typo in tools/mtouch/Tuning.cs showing in MT0000 errors instead MT2102. That's already in master and d15-4 mono bump includes: [2] commit 2a6502cee0df9de5198eafe7c8b5f6ac25106f34 (HEAD -> d15-3, origin/d15-3) Merge: 02457c20fcf 5e05cafc6f1 Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 10:04:06 2017 -0400 Merge pull request #5401 from marek-safar/com [Marshal.IsComObject] Make this predicate return false instead of thr… [3] commit 02457c20fcf57c0610e844d638eb1da82b5d1eb0 Merge: da80840ea55 73fd9a1b82e Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 09:59:06 2017 -0400 Merge pull request #5400 from spouliot/bump-cecil-58834-d15-3 [cecil] Bump to the head of the mono-2017-04 branch and pick the fix for bug #58834 References [1] https://bugzilla.xamarin.com/show_bug.cgi?id=58789 [2] https://bugzilla.xamarin.com/show_bug.cgi?id=57919 [3] https://bugzilla.xamarin.com/show_bug.cgi?id=58834 * [mtouch] Put 'mono_profiler_startup_log' in the symbol list. Fixes #58778. (#2501) We need the 'mono_profiler_startup_log' symbol when profiling is enabled, so make sure to add the symbol to the correct list of symbols we need. Previously we were passing `-u _mono_profiler_startup_log` to clang directly, which is fine, but not complete, since it does not write the symbol to the symbollist file (--symbollist=file), which means it wouldn't be preserved when the MSBuild tasks strip the executable. https://bugzilla.xamarin.com/show_bug.cgi?id=58778 * Bump versions for SR3 https://trello.com/c/EVze08ei * Bump mono to include HttpClientHandler fix #44027 https://trello.com/c/jYFXadH8/8-systemnethttp-close-request-stream-when-httpclienthandler https://bugzilla.xamarin.com/show_bug.cgi?id=44027 * [FileProvider] Add missing API and turn NSString to string (#2663) Turned NSString to string in order to match exisiting API. * [uikit] Add UIPasteConfigurationSupporting and UITextPasteConfigurationSupporting (#2649) - Fixes bug #59363: Missing UIPasteConfigurationSupporting, UITextPasteConfigurationSupporting, UITextDraggable and UITextDroppable on a couple of types (https://bugzilla.xamarin.com/show_bug.cgi?id=59363) * [uikit] Remove 129 types in UIPasteConfigurationSupporting case * [scenekit] Audit (xtro) fixes (#2648) This looks like an Apple breaking change (since `SCNAnimation` is new) but we now have: > typedef void (^SCNAnimationEventBlock)(id<SCNAnimation> animation, id animatedObject, BOOL playingBackward); bound as > delegate void SCNAnimationEventHandler (CAAnimation animation, NSObject animatedObject, bool playingBackward); and `CAAnimation` conforms to `SCNAnimation` but *only* the later is available on watchOS. The delegate is only updated (since it's new) on our watchOS profile. xtro references: (watchos) !unknown-protocol! SCNCameraControlConfiguration bound (tvos/watchos) !missing-selector! SCNAnimation::animationEvents not bound !missing-selector! SCNAnimation::setAnimationEvents: not bound !missing-selector! SCNConstraint::isEnabled not bound !missing-selector! SCNConstraint::setEnabled: not bound !missing-field! SCNSceneSourceConvertToYUpKey not bound !missing-field! SCNSceneSourceConvertUnitsToMetersKey not bound (ios/tvos) !missing-protocol-conformance! SCNNode should conform to UIFocusItem * Bump maccore post 15.3 merge (#2665) * Bump Xcode 9 to GM (#2667) * Force build (on wrench) * [avfoundation] Fix breaking changes (apidiff) (#2664) * [TVServices] Update to Xcode 9 GM (#2675) * [GameController] Update to Xcode 9 GM (#2673) * [LocalAuthentication] Update to Xcode 9 GM (#2671) * [LocalAuthentication] Update to Xcode 9 GM * Remove availability from BiometryNotAvailable, BiometryNotEnrolled and BiometryLockout * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer (#2659) * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer Some of the new added types were already present BUT under a #if MONOMAC, they had to be moved. * [AVFoundation] Set the wrongly added API to be obsolete and ensure it returns logical values. (#2650) * [xtro] The right platform for macOS is 'macos', not 'osx'. (#2677) The platform name is used to filter availability attributes, and if we use the wrong platform, we'll incorrectly skip all availability attributes. The net result in unclassified entries: https://gist.github.com/rolfbjarne/a4474bc2a40c49a85cad495b51bb514f * Various Xcode 9 API improvements and also fixes bug 59433 (#2676) https://bugzilla.xamarin.com/show_bug.cgi?id=59433 While fixing bug 59433 I noticed some additional issues outlined below: AVDepthData: * Renamed **non** static `Create` methods because `Create` only makes sense with the **Static** method in this context. Also by renaming the methods we are now closer to the names that swift uses. * Kept descriptive method names in favor of self-documenting code. `Convert`, `Apply` and `Replace` do not fully give us the intent of the method. * Added a convenience `Create` static method that takes a `CGImageAuxiliaryDataInfo`. * AvailableDepthDataTypes is now an array of `CVPixelFormatType` instead of a `NSNumber` array (The aactual fix for bug 59433). ImageIO: * Refactored `CGImageAuxiliaryDataInfo` to be a `StrongDictionary` in order to avoid most of the manual code and also to avoid reimplementing the `ToDictionary` method (which contained a subtle bug). * Adjusted code to reflect the above change. * Added missing `.ctor (IntPtr, bool)` to `CGImageMetadata` so the class is able to be created by our `Runtime.Get*`. * Simplified `CopyAuxiliaryDataInfo` method by using `CGImageAuxiliaryDataInfo` as a `DictionaryContainer`. Tests: * Added `xamarinmonkey.heic` which is an image that contains depth data needed to test above changes. * Adds `AVDepthDataTests` that touches most of the changes listed here. * Tweak the Simd-compatible matrices and vectors (#2668) * Rename them to be OpenTK.NMatrix# (instead of Simd.MatrixFloat#x#). * Remove the Vector2 and Vector4 variants, we'll use the OpenTK types instead (but we'll keep the NVector3 variant, since it's not identical to the OpenTK version). * Update the API to match their OpenTK counterparts better: * NMatrix2 and NMatrix3 have a 0-based R#C# scheme for their fields. * NMatrix4 has a 1-based M## scheme for its fields (i.e. no change). * [AVFoundation] Use Simd-matrix for API that needs it. (#2679) This also requires implementing the corresponding matrix (NMatrix4x3). Fixes this xtro issue: > !unknown-simd-type-in-signature! OpenTK.Matrix3 AVFoundation.AVCameraCalibrationData::get_GetIntrinsicMatrix(): the native signature has a simd type (matrix_float3x3), while the corresponding managed method is using an incorrect (non-simd) type. * [xtro] Fix checking availability on categories. (#2682) When checking for category availability, check if both the current declaration is a category, and if the current's declaration container is a category. Otherwise this scenario fails: * Category method is available. * Category does not have availability attributes. * Main class is unavailable. with this typical code sequence: ```csharp // don't process methods (or types) that are unavailable for the current platform if (!decl.IsAvailable () || !(decl.DeclContext as Decl).IsAvailable ()) return; ``` In which case we'd: * First check the method (`decl`): * It's available, so no further checks is done on the method. * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container's container is a category (it isn't, it's the namespace). and as such determine that the method is available. With this change, the second step will become: * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container is a category (it is), and if its main class is available (it isn't). and as such determine that the method is unavailable. * Check for attributes on the method's container (no attributes, so we continue). * Check if the method's Unclassified diff: https://gist.github.com/rolfbjarne/8fa80962596978a426eadf9b7ba39dc1 * [uikit] Update for Xcode 9 GM (#2670) * [AVFoundation] Implement AVCapturePhoto. Partially fixes #59388. (#2678) Fixes: > common.unclassified:!missing-type! AVCapturePhoto not bound https://bugzilla.xamarin.com/show_bug.cgi?id=59388 * Use strong dictionaries for AVCapturePhoto.Metadata and AVCapturePhoto.EmbeddedThumbnailPhotoFormat. * [SIMD] Implement Simd double types (VectorDouble3/MatrixDouble4x4). (#2632) The following types will be used by ModelIO bindings * Fix delta to be double * Rename Simd-compatible matrices and vectors to match our final naming. This also means removing the new Vector2 and Vector4 variants (but not Vector3). * [avfoundation] Remove AVAssetDownloadDelegate.DidLoadTimeRange since it was removed in one of the betas (#2687) * [foundation] Move NSUrlSessionMultipathServiceType to a file processed by the generator (for the availability attributes) (#2688) * [arkit] Update for Xcode 9 GM (#2681) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes (#2690) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes Type Changed: Intents.INCarSeatResolutionResult Removed methods: public static INCarSeatResolutionResult GetConfirmationRequired (INCarSeat valueToConfirm); public static INCarSeatResolutionResult GetSuccess (INCarSeat resolvedValue); * [avfoundation] Add missing protocol members and deprecations (#2691) !missing-protocol-member! AVCapturePhotoCaptureDelegate::captureOutput:didFinishProcessingPhoto:error: not found and the selector removed from PR#2687 was actually replaced with this one !missing-protocol-member! AVAssetDownloadDelegate::URLSession:aggregateAssetDownloadTask:didLoadTimeRange:totalTimeRangesLoaded:timeRangeExpectedToLoad:forMediaSelection: not found * [tests][xtro] Map some enums, more fix with protocols and update entries (#2692) * [Tests] Reenable dns tests on the watch. (#2674) * [arkit] Add ARBlendShapeLocationOptions strong dictionary (#2696) * [coreimage] Skip not yet bound filters added in Xcode9 (#2698) Tracked in https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * [Metal] Renamed MTLArgumentDescriptor.ArgumentDescriptor to Create, fixes bug 59498 (#2702) https://bugzilla.xamarin.com/show_bug.cgi?id=59498 From [argumentDescriptor docs](https://developer.apple.com/documentation/metal/mtlargumentdescriptor/2915746-argumentdescriptor?language=objc) > Creates an empty argument descriptor. * [msbuild] Always codesign app bundles if the codesign key is non-null (#2697) ...even if it is a simulator build. Turns out that starting with Xcode9, sim builds need to be codesigned for App Groups entitlements to work properly. Interestingly, the DetectSigningIdentity logic had a comment about needing to codesign simulator builds for some entitlements to work already starting with Xcode 8 but apparently the iOS targets did not respect this. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=59379 * [Foundation] Add NSProxy stub in order to workaround bug 59247 (#2693) https://bugzilla.xamarin.com/show_bug.cgi?id=59247 We need to have a better solution that removes all what NSProxy does not responds to. Right now this works because NSObject implements NSObject protocol just like NSProxy, but NSProxy responds to far less selectors hence doing it internal so it is not a breaking change when we provide the correct fix. * Keep NSProxy around and avoid XML linker description We need to keep NSProxy (avoid linking it) if WKNavigationDelegate or IWKNavigationDelegate is used. We know WKWebView will be there and can hold a reference to it. * [Xcode 9] Update Metal for GM (#2689) * [iosurface] IOSurface is not usable before iOS/tvOS 11. Fixes #59201 (#2706) Apple rejects apps that links with the previously private IOSurface.framework. We were not sure about this [1] and had it disabled (this is removed). However another bug stopped our adjustment logic [2] from being executed. This is needed since `clang` picks up the private framework if it does not find the public one (even when asking for a weak framework), [1] https://bugzilla.xamarin.com/show_bug.cgi?id=59201 [2] Added a while ago for JavascriptCore * Bump maccore to point to commit with the docs fix. (#2703) * Bump XI to 11.0.x (and XM to 3.99.9.x) (#2684) * fix typo
2017-09-16 00:53:16 +03:00
[Export ("wantsDepthOfField")]
bool WantsDepthOfField { get; set; }
[Watch (4, 0), TV (11, 0), Mac (10, 13, onlyOn64: true), iOS (11, 0)]
Merge xcode9 into d15-4[-xi] (#2710) * [FileProvider] Add Xcode 9 Beta 1, 2 & 3 Bindings (#2279) * [FileProvider] Add Xcode 9 Beta 1 Bindings * Better naming * Feedback not related to BindAs * [FileProvider] Removes BindAs, add manual code for it and updated to Beta 3 * [FileProvider] Implement feedback * [CoreSpotlight] Updated spotlight bindings for xcode 9 beta 3. (#2193) Updated spotlight bindings for xcode 9 beta 3. * Fix warning caused by duplicate (#2354) * [FileProviderUI] Add Xcode 9 Beta 1 to 3 bindings (#2356) * Bump to Xcode 9 beta 4 * [arkit] ARLightEstimate does not conform to NSCopying anymore (fix unit test) * [uikit] NSFileProviderExtension.ReparentItem got a new parameter in beta4 (fix unit test) * [coreimage] CIImageAccumulator init returns nil in beta 4 There's no header change to mention `init` is not allowed but it's not clear how this default initializer could be used. Also make public some other API to construct this type (outside of XM). It's not clear why there were `internal` as they are (at least now) part of the header files. * [photos] Add helpers when PHLivePhotoEditingOption/NSDictionary is null (to avoid ambiguous API) (#2360) Adding a strongly typed `PHLivePhotoEditingOption` (a strongly typed version of an `NSDictionary`) can cause a `CS0121` (call is ambiguous) since using a `null` argument is common (only one option exist so far). This PR adds overloads that makes the code nicer in such case, e.g. before Xcode9: > // null is used when no options are given > _foo.SaveLivePhoto (output, null, completion); current (Xcode 9) > // casting required to remove ambiguity with PHLivePhotoEditingOption > _foo.SaveLivePhoto (output, (NSDictionary)null, completion); with this PR > // no option, no argument > _foo.SaveLivePhoto (output, completion); The same applies to `PrepareLivePhotoForPlayback`. * [tests] Disable/tweak two tests that breaks on (almost) all Xcode updates Those tests were not added to validate xOS so just keep the parts that helps us (without constantly checking back the new break flavor) * Disable watchOS to check if this hides others issues * [mapkit] Update for beta 4 * [coredata] Update for beta 4 * [wkwebkit] Update for beta 4 Note: WKWindowFeatures.h is not compiled (part of the framework umbrella) and the `@interface WKWindowFeatures (WKPrivate)` sounds like it should not have been exposed (it's all fields starting with `_`) * [corelocation] Update for beta 4 * Revert "Disable watchOS to check if this hides others issues" This reverts commit fed2249fa43290a1956ab2fe0d48f83ab6db9711. * [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]: https://github.com/xamarin/xamarin-macios/blob/f5956d6cc1eb5dfa7bab16628cf282d40237f64e/src/generator.cs#L5985 * [FinderSync] Update to beta 4 (#2377) * [ImageIO] Update to Xcode 9 (#2353) * [PhotosUI] Move macOS photosui bindings out of photos.cs into photosui.cs (#2358) * [quicklook] Update up to beta 4 (#2374) * [uikit] UIDragInteraction & UIDragInteractionDelegate (Xcode 9 b1,2,3) (#2357) * [safariservices] Update up to beta 4 (#2380) * [coreanimation] Update to beta 4 (#2382) Apple removed (mistake?) some API in beta 1. Filed as rdar 33590997 Internal tracking in https://trello.com/c/J8BDDUV9/86-33590997-coreanimation-quartzcore-api-removals * [storekit] Update up to beta 4 (#2379) * [CoreML] Update to Xcode 9 Beta 4 (#2387) * [uikit] UICollectionView/UITableView Drag & Drop (Xcode 9 b1,2,3 & 4) (#2355) * Update code after radar 32929318 and 32897776 are fixed in b4 (#2394) * [xcode9 CoreAudio] New definitions from Beta1 to Beta3 (#2359) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 (#2397) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 https://bugzilla.xamarin.com/show_bug.cgi?id=58512 Created strong API (VNBarcodeSymbology) on the following properties * VNDetectBarcodesRequest.SupportedSymbologies * VNDetectBarcodesRequest.Symbologies * VNBarcodeObservation.Symbology * Remove modern C# because classic can't do it 😡 * [mediaplayer] Update up to beta 4 (#2388) * [watchkit] Update to beta 4 (#2398) * Bump Visual Studio for Mac max version (#2408) * [coreimage] Add CIBarcodeDescriptor and enabled missing API for VNBarcodeObservation. Fix #58197 (#2411) https://bugzilla.xamarin.com/show_bug.cgi?id=58197 * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 (#2407) * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 * [uikit] Fixes based on comments * [coreimage] CIImageAccumulator API fixes. Fix #58349 (#2412) * Obsolete the default `init`; * XM exposed some older APIs using `int` instead of `CIFormat`. This is fixed and old APIs are obsoleted; * Both new & old APIs are now using `CIFormat` for both XI and XM. https://bugzilla.xamarin.com/show_bug.cgi?id=58349 * [uikit] UIText drag & drop - up to Xcode 9 beta 4 (#2410) * [uikit] UISplitView & UIStackView up to Xcode 9 beta 4 (#2425) * Bump XI/XM versions before preview 4 (#2422) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 (#2378) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 * [PDFKit] Implement feedback * [PDFKit] the forgotten enum * [PDFKit] More feedback * [PDFKit] Add Mac changes * Missing change * Fix test RectangleF VS CGRect * Pass -Wunguarded-availability-new to quiet a new clang warning (#2424) - https://bugzilla.xamarin.com/show_bug.cgi?id=58574 * [mtouch/mmp] Ignore warnings about unguarded code section with regards to availability. (#2441) * [monotouch-test] Remove workaround for fixed Apple bug. (#2445) * Bump to Xcode 9 beta 5. (#2447) * Bump to Xcode 9 beta 5. * [mmp] Disable the partial static registrar, because Apple's macOS SDK is broken. > In file included from Xamarin.Mac.registrar.mobile.i386.m:1: > In file included from ./Xamarin.Mac.registrar.mobile.i386.h:11: > /Applications/Xcode9-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVFoundation.h:88:9: fatal error: 'AVFoundation/AVRouteDetector.h' file not found https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [mmp] Fix partial static registrar removal. * [CallKit] Update to Xcode 9 beta 5. * [ARKit] ARPointCloud doesn't conform to NSCopying anymore in Xcode 9 beta 5. * [ARKit] Update to Xcode 9 beta 5 enough to make tests happy. * [CoreImage] Stub out new filters in Xcode 9 beta 5. * [tests][monotouch] Simplify some MDLMesh asserts since values change a lot between OS versions. * [mmp] Default to the dynamic registrar for release builds again, due to bug #58629. https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [tests][introspection] CXCall started implementing NSCopying without saying so in the headers. * Disable mmp static registrar tests due to 58629 for now * [quicklook] Update to beta 5 (#2450) * [photos] Update for beta 5 (#2452) Also update some existing enum members were added in beta 1 on macOS * [safariservices] Update for beta 5 (#2455) * [mediaplayer] Update to beta 5 (#2456) * [CoreLocation] Update Xcode 9 Beta 5 (#2453) * [CoreML] Update to Xcode 9 Beta 5 (#2454) * [Contacts] Update to Xcode 9 Beta 5 (#2451) * [Vision] Update to Xcode 9 Beta 5 (#2458) * [builds] Tell LLVM to stay away from newer macOS functions. (#2459) Fixes this build problem on Sierra: > ld: weak import of symbol '_futimens' not supported because of option: -no_weak_imports for architecture x86_64 This is a symbol that was (will be?) introduced in High Sierra. Interestingly this only occurs if the Xcode 8.X Command Line Tools haven't been manually installed. Because if the Xcode 8.X Command Line Tools are installed, this happens: 1. llvm's configure script detects that 'futimens' is not usable. 2. llvm's configure script detects that 'futimens' is not usable, because xcrun sets SDKROOT=/ when calling clang. a. When the SDKROOT variable is set, clang passes '-syslibroot /usr/lib' to ld. b. When ld gets '-syslibroot /usr/lib', ld looks in '/usr/lib' for a library that contains 'futimens' in the OS itself, and since we're on Sierra, that fails to link. c. So when llvm's configure script creates a test program that checks if 'futimens' is present, the program fails. This is correct, and makes llvm *not* use futimens. 3. xcrun sets SDKROOT=/ because /usr/share/current-os.sdk/Info.plist exists. If that file does not exist, then xcrun sets SDKROOT to Xcode9's macOS SDK (because that's what xcode-select reports). a. When SDKROOT is set to Xcode9's macOS SDK, the configure check for 'futimens' succeeds, because the macOS 10.13 SDK contains that function. b. llvm happily uses 'futimens', and then the final link fails because we're using a symbol not available on all target platforms. * [arkit] Update for Xcode 9 beta 5 - Part 1 (#2460) * [tests] The container app for watchOS tests should be 64-bit. (#2463) * [xharness] watchOS tests need to run in a clean environment. Works around #58348. (#2462) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [xharness] It watchOS tests don't need to be clean anymore. Fixes #58348. (#2473) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [uikit] UIView/UIScrollView/UIViewController up to Xcode 9 beta 5 (#2431) - Add NSDirectionalEdgeInsets type. - Includes DirectionalEdgeInsetsTest. * [AudioToolbox] Update bindings to Xcode 9 beta3 (not later changes). (#2294) * [xharness] Add a file existence check. (#2478) Fixes this exception: ``` Harness exception for 'introspection': System.IO.FileNotFoundException: Could not find file '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log'. File name: '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log' at System.IO.__Error.WinIOError (System.Int32 errorCode, System.String maybeFullPath) [0x00207] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/__error.cs:188 at System.IO.FileInfo.get_Length () [0x00038] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/fileinfo.cs:171 at xharness.CaptureLog.StopCapture () [0x00021] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Log.cs:252 at (wrapper remoting-invoke-with-check) xharness.CaptureLog:StopCapture () at xharness.AppRunner+<RunAsync>d__68.MoveNext () [0x0127f] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/AppRunner.cs:642 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter`1[TResult].GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:357 at xharness.RunSimulatorTask+<RunTestAsync>d__7.MoveNext () [0x0029d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2894 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.RunTestTask+<ExecuteAsync>d__8.MoveNext () [0x0010b] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2538 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.TestTask+<RunInternalAsync>d__87.MoveNext () [0x0010d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:1870 ``` I'm not sure how this can happen, but it has on the bots [1]. [1] https://jenkins.mono-project.com/job/xamarin-macios-pr-builder/4548/Test_Report/ * Bump versions for preview 5 (#2479) * [passkit] Update to beta 5 (#2481) * [tests] Remove workaround for radar #32688391. (#2486) * [replaykit] Update up to beta 5 (#2484) * Bump maccore to get fix for bug #55064. (#2487) * [apidiff] Update definition to new 10.12 (d15-3) stable release (#2490) * [SceneKit] basic work (#2483) * [coredata] Update to beta 5 (#2488) * [homekit] Update for Xcode 9 beta 5 (#2492) * [Foundation] Update for xcode9 (#2468) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 (#2493) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 * [Intents] Implement feedback * [Intents] Add a generic version for INInteraction.GetParameterValue * [Intents] Missing check * [Contacts] Add missing foundation NSItemProviderWriting protocol to CNContact (#2496) https://bugzilla.xamarin.com/show_bug.cgi?id=58203 This is available on all Contacts supported platforms ``` ./iPhoneOS.platform/Developer/SDKs/iPhoneOS11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchOS.platform/Developer/SDKs/WatchOS4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchSimulator.platform/Developer/SDKs/WatchSimulator4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ``` * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) (#2497) * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) * [IntentsUI] Better use a delegate instead so we have named params * Bump versions before 6th preview (#2514) * [arkit] Add missing MarshalDirective to ARPlaneAnchor (#2517) - Fixes bug #58648: ARPlaneAnchor.Extent property seems incorrect but changes to correct value after Debug access (https://bugzilla.xamarin.com/show_bug.cgi?id=58648) * [xtro-sharpie] Fix a compiler warning. (#2516) Fixes these warnings: Runner.cs(197,5): warning CS0642: Possible mistaken empty statement Runner.cs(199,5): warning CS0642: Possible mistaken empty statement Runner.cs(201,5): warning CS0642: Possible mistaken empty statement Runner.cs(203,5): warning CS0642: Possible mistaken empty statement Runner.cs(205,5): warning CS0642: Possible mistaken empty statement * [uikit] Update for Xcode 9 beta 5 - Part 3 (#2511) - UIKeyCommand - UINavigationBar - UINavigationItem - UIPasteboard - UITableViewHeaderFooterView * [xtro-sharpie] Remove xtro-plugin and misc other fixes. (#2522) * [xtro-sharpie] Build with msbuild and be as quiet as requested when building. * [xtro-sharpie] Must run as a 64-bit process, since the required native libraries are 64-bit. * [xtro-sharpie] Add run configurations to the project file to ease debugging in the IDE. * [xtro-sharpie] Remove xtro-plugin and the related commands. This was needed when there wasn't a 64-bit mono, in order to run xtro-sharpie in a 64-bit process. Now there is a 64-bit mono, so it's not needed anymore. Also improve makefile targets a bit, to auto-build stuff when needed, by setting the right dependencies. * Bump Xcode 9 to beta 6 (#2519) Disable watchOS tests again It seems like the Carousel crash from beta 4 is back to haunt us. This was working fine with beta 5. * Backport d15-3 SR2 fixes (#2515) * [coredata] Update to beta 6 (#2528) This seems to only revert some nullability changes from beta 5. * [coreml] Update to beta 6 (#2531) Fix our rdar 33643011 where additional setters were added in the headers but did not exists. * [videosubscriberaccount] Update to beta 6 (#2533) Only b1 and b2 introduced some additions/changes * [uikit] Update for Xcode 9 beta 6 - Part 4 (#2527) The following headers are now up to date: - UICollectionViewFlowLayout.h - UIDocumentPickerViewController.h - UIFontDescriptor.h - UIImage.h - UIImageView.h - UIImagePickerController.h * [xharness] Re-enable the watchOS tests. (#2534) It works fine for me locally, so let's see what Jenkins says. * [macos] Add new APIs in CoreWlan from Xcode9b3 (#2525) * Update AppKit bindings based on radar 33271241 results (#2518) * Update AppKit bindings based on radar 33271241 results - The header comment was updated to note it was NSSliderTouchBarItem view that has the protocol * Remove NSUserInterfaceCompression where not listed in header * [vision] Update to beta 6 (#2532) Removal of some deprecated (during beta) `init*` selectors. Also sync the versions that were inlined in subclasses - the old ones were not removed and the new ones were not added. * [xtro-sharpie] Many methods don't have selectors in Clang's API, so default to the name if no selector. (#2523) This makes a few more unclassified entries show up (mostly missing designated initializers): https://gist.github.com/rolfbjarne/07aa20f9b50b75bf3e69ac6a825e873a * [macos] Add ExternalAccessory APIs from xcode9 (#2526) * [58851] Disable NSMenuView in AllItemsWithNSMenuShouldAllowNull (#2504) * [arkit] Update for Xcode 9 beta 5 - Part 2 (#2505) - Add last missing selector. - Add tests for manual code. * [monotouch-test] Disable FontDescriptorTest.WithFeature (#2537) Disabled because it looks like the tvOS font we use: "Gujarati Sangam MN" does not have rare ligatures anymore (and the entire test is based on it). Before getting an actual fix for that, let's disable the test so it doesn't break all current builds. See: https://bugzilla.xamarin.com/show_bug.cgi?id=58929 * [xtro-sharpie] Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute. (#2524) Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute to calculate the native name for a TypeDefinition. Unclassified changes: https://gist.github.com/rolfbjarne/828f8ee41eebb0a3b60a38d71822fe59 * [foundation/uikit] Inline NSItemProvider_UIKitAdditions in NSItemProvider (#2538) As suggested here: https://github.com/xamarin/xamarin-macios/pull/2527#discussion_r134670981 * [intents] Fix breaking changes (api-diff) (#2543) Additions of @required members inside `INSpeakable` cannot be `[Abstract]` * [contacts] Fix breaking change (api-diff) (#2542) Type Changed: Contacts.CNPostalAddress Removed method: public static string LocalizeProperty (CNPostalAddressKeyOption option); * [macos] Reenable static registrar since Xcode9b6 un-broke SDK headers (#2544) - Fix a subtle spacing issues in PartialStaticLibrary property * [corebluetooth] Update up to beta 6 and enable it on watchOS (#2540) macOS 10.13 has finally catch up with iOS and this simplifies the bindings a bit. * [foundation] API fixes (apidiff) (#2545) 1. Let's not add new, already [Obsolete] API Type Changed: Foundation.NSDimension Added constructors: [Obsolete ("Not intended to be directly instantiated, this is an abstract class.")] public NSDimension (); 2. Fix inconsistently named API, e.g. Type Changed: Foundation.NSAttributedString Added properties: public static string[] ReadableTypeIdentifiersForItemProvider { get; } public static string[] WritableTypeIdentifiers { get; } * [pdfkit] Do not add already [Obsolete] API in new profiles (#2547) and ensure using the newer, correct API works cross-platforms iOS (before) [Obsolete ("Use 'Find (string, NSStringCompareOptions)' instead.")] public virtual PdfSelection[] Find (string text, nint options); public PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'Find (string, PdfSelection, NSStringCompareOptions)' instead.")] public virtual PdfSelection Find (string text, PdfSelection selection, nint options); public void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string, NSStringCompareOptions)' instead.")] public virtual void FindAsync (string text, nint options); public void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string [], NSStringCompareOptions)' instead.")] public virtual void FindAsync (string[] text, nint options); iOS (after) public virtual PdfSelection[] Find (string text, Foundation.NSStringCompareOptions compareOptions); public virtual PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); * Bump versions for the 7th preview (#2541) * Remove additions of AVKit removed in beta5 (#2536) * NSUrlSessionTask should implement NSProgressReporting for iOS (#2548) NSUrlSessionTask implements NSProgressReporting on iOS as well as Mac, so the #if MONOMAC isn't needed. * Add missing availability attributes causing failures on older iOS versions (#2550) * [vision] Minor fix wrt xtro (#2551) including some things we need to ignore manually !missing-field! VNVisionVersionNumber not bound !missing-pinvoke! VNImagePointForFaceLandmarkPoint is not bound !missing-pinvoke! VNNormalizedFaceBoundingBoxPointForLandmarkPoint is not bound * [uikit] NSFileProviderMessaging was removed in beta 2. Fixes #58222 (#2552) reference: https://bugzilla.xamarin.com/show_bug.cgi?id=58222 * [uikit] Update for Xcode 9 - Part 5 (#2546) Bindings for the following headers: - UIActivity.h - UIActivityItemProvider.h - UIAlertController.h - UIApplication.h - UIBarButtonItem.h - UIButton.h - UICollectionViewLayout.h - UIColor.h - UIControl.h - UIDocumentMenuViewController.h - UIFontMetrics.h - UIGestureRecognizer.h - UIGraphicsImageRenderer.h - UIInputViewController.h * [CoreText] Fix an extraneous free in CTFont.GetDefaultCascadeList. (#2555) We do not own the return value from CFArrayGetValueAtIndex, so don't say we do when creating CTFontDescriptor instances, since that leads to angry dragons: 2017-08-28 20:15:20.293 monotouchtest[33186:2311738] A_FontTest 2017-08-28 20:15:20.294 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithFontDescriptorAndOptions 2017-08-28 20:15:20.295 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithNameAndOptions 2017-08-28 20:15:20.296 monotouchtest[33186:2311738] critical: Stacktrace: at <unknown> <0xffffffff> at (wrapper managed-to-native) CoreText.CTFont.CTFontCopyDefaultCascadeListForLanguages (intptr,intptr) [0x0000a] in <ae65a2b1eea242d2b68fe784749543bf>:0 at CoreText.CTFont.GetDefaultCascadeList (string[]) [0x00013] in /work/maccore/xcode9/xamarin-macios/src/CoreText/CTFont.cs:2185 at MonoTouchFixtures.CoreText.A_FontTest.GetCascadeList () [0x0001e] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/CoreText/FontTest.cs:78 at (wrapper runtime-invoke) object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) [0x0004f] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) System.Reflection.MonoMethod.InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&) [0x00016] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at System.Reflection.MonoMethod.Invoke (object,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo) [0x00032] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/corlib/System.Reflection/MonoMethod.cs:305 at System.Reflection.MethodBase.Invoke (object,object[]) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/referencesource/mscorlib/system/reflection/methodbase.cs:229 at NUnit.Framework.Internal.Reflect.InvokeMethod (System.Reflection.MethodInfo,object,object[]) [0x00009] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Reflect.cs:215 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunNonAsyncTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x00025] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:116 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x0001a] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:90 at NUnit.Framework.Internal.Commands.TestMethodCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:66 at NUnit.Framework.Internal.Commands.SetUpTearDownCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00007] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/SetUpTearDownCommand.cs:84 at NUnit.Framework.Internal.WorkItems.SimpleWorkItem.PerformWork () [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/SimpleWorkItem.cs:64 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at MonoTouch.NUnit.UI.BaseTouchRunner.Run (NUnit.Framework.Internal.Test) [0x0004d] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:442 at MonoTouch.NUnit.UI.BaseTouchRunner.Run () [0x00030] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:171 at MonoTouch.Dialog.StringElement.Selected (MonoTouch.Dialog.DialogViewController,UIKit.UITableView,Foundation.NSIndexPath) [0x00008] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/Elements.cs:765 at MonoTouch.Dialog.DialogViewController.Selected (Foundation.NSIndexPath) [0x00026] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:577 at MonoTouch.Dialog.DialogViewController/Source.RowSelected (UIKit.UITableView,Foundation.NSIndexPath) [0x00016] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:402 at (wrapper runtime-invoke) <Module>.runtime_invoke_void__this___object_object (object,intptr,intptr,intptr) [0x0005d] in <32f0c196c5bc4aa18daea2ee64a7814e>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) UIKit.UIApplication.UIApplicationMain (int,string[],intptr,intptr) [0x0005c] in <ae65a2b1eea242d2b68fe784749543bf>:0 at UIKit.UIApplication.Main (string[],intptr,intptr) [0x00005] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:79 at UIKit.UIApplication.Main (string[],string,string) [0x00038] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:63 at monotouchtest.Application.Main (string[]) [0x00011] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/Main.cs:27 at (wrapper runtime-invoke) <Module>.runtime_invoke_void_object (object,intptr,intptr,intptr) [0x00051] in <30a7f7e09de9467b8b454221034a0e38>:0 Native stacktrace: 0 monotouchtest 0x000000010fca03c4 mono_handle_native_crash + 244 1 monotouchtest 0x000000010fcadd30 mono_sigsegv_signal_handler + 288 2 libsystem_platform.dylib 0x000000011feb3b3a _sigtramp + 26 3 CoreFoundation 0x000000011de035a2 computeSanitizedString + 146 4 CoreText 0x00000001168df314 _ZN15TPurgeableCache19RetainedValueForKeyEPKv + 54 5 CoreText 0x00000001168def85 _ZNK17TDescriptorSource22CopyDescriptorUncachedEPK7__CFURLbPK10__CFString + 55 6 CoreText 0x00000001168df34f _ZNK17TDescriptorSource14CopyDescriptorEPK7__CFURLbPK10__CFString + 27 7 CoreText 0x00000001168e20ad _ZNK17TDescriptorSource35CopyFontDescriptorPerPostScriptNameEPK10__CFStringmm + 297 8 CoreText 0x00000001168dfd9e _ZNK17TDescriptorSource30CopySystemFontDescriptorByNameEPK10__CFString10UIFontFlag + 54 9 CoreText 0x00000001168e54c4 _ZNK14TFontFallbacks17CopyFontFallbacksEPK10__CFStringS2_PK9__CFArray + 652 10 CoreText 0x00000001168e4a00 _ZNK14TFontFallbacks29CopyFontFallbacksForLanguagesEPK10__CFStringPK9__CFArray + 122 11 CoreText 0x00000001168e4971 _ZN17TDescriptorSource39CopyDefaultSubstitutionListForLanguagesEPK10__CFStringPK9__CFArray + 61 12 CoreText 0x00000001169397a7 _ZNK9TBaseFont28CreateSystemDefaultFallbacksEPK10__CFStringPK9__CFArray + 51 13 CoreText 0x000000011693999c _ZNK9TBaseFont15CreateFallbacksE10UIFontFlagPPK16__CFCharacterSetPK9__CFArray + 346 14 CoreText 0x00000001168c1036 _ZNK5TFont24CreateDefaultCascadeListEPK9__CFArray + 242 15 CoreText 0x00000001168b8ff9 CTFontCopyDefaultCascadeListForLanguages + 97 16 ??? 0x0000000140eaefd3 0x0 + 5384105939 17 ??? 0x0000000140eae761 0x0 + 5384103777 18 ??? 0x000000013c9c8e74 0x0 + 5311860340 19 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 20 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 21 monotouchtest 0x000000010fd71bac mono_runtime_try_invoke_array + 1292 22 monotouchtest 0x000000010fd15587 ves_icall_InternalInvoke + 647 23 ??? 0x000000013e9fcd13 0x0 + 5345627411 24 ??? 0x000000013e9fc738 0x0 + 5345625912 25 ??? 0x000000013e9fded5 0x0 + 5345631957 26 ??? 0x000000013e9fbb76 0x0 + 5345622902 27 ??? 0x000000013e9e237e 0x0 + 5345518462 28 ??? 0x000000013e9e237e 0x0 + 5345518462 29 ??? 0x000000013e9e237e 0x0 + 5345518462 30 ??? 0x000000013e9e237e 0x0 + 5345518462 31 ??? 0x000000013e873006 0x0 + 5344014342 32 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 33 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 34 monotouchtest 0x000000010fd6e320 mono_runtime_invoke + 208 35 monotouchtest 0x000000010fe71af1 xamarin_invoke_trampoline + 5617 36 monotouchtest 0x000000010fe79ddd xamarin_arch_trampoline + 189 37 monotouchtest 0x000000010fe7b1a1 xamarin_x86_64_common_trampoline + 110 38 UIKit 0x0000000111b9876b -[UITableView _selectRowAtIndexPath:animated:scrollPosition:notifyDelegate:] + 1810 39 UIKit 0x0000000111b98986 -[UITableView _userSelectRowAtPendingSelectionIndexPath:] + 344 40 UIKit 0x0000000111a6b5c9 _runAfterCACommitDeferredBlocks + 318 41 UIKit 0x0000000111a59dad _cleanUpAfterCAFlushAndRunDeferredBlocks + 280 42 UIKit 0x0000000111a89f68 _afterCACommitHandler + 137 43 CoreFoundation 0x000000011de3ddb7 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23 44 CoreFoundation 0x000000011de3dd0e __CFRunLoopDoObservers + 430 45 CoreFoundation 0x000000011de22324 __CFRunLoopRun + 1572 46 CoreFoundation 0x000000011de21a89 CFRunLoopRunSpecific + 409 47 GraphicsServices 0x0000000121b7e9c6 GSEventRunModal + 62 48 UIKit 0x0000000111a5f7d0 UIApplicationMain + 159 49 ??? 0x000000013c9c4474 0x0 + 5311841396 50 ??? 0x000000013c9c40ad 0x0 + 5311840429 ================================================================= Got a SIGSEGV while executing native code. This usually indicates a fatal error in the mono runtime or one of the native libraries used by your application. ================================================================= * [monotouch-test] Don't subclass MKMapView. (#2556) MKMapView doesn't like being subclassed (Apple says "you should not subclass the MKMapView class itself"). Bad things like this starts happening: Thread 0 name: tid_303 Dispatch queue: com.apple.main-thread Thread 0 Crashed: 0 libsystem_kernel.dylib 0x0000000186b25348 __pthread_kill + 8 1 libsystem_pthread.dylib 0x0000000186c39354 pthread_kill$VARIANT$mp + 396 2 libsystem_c.dylib 0x0000000186a94fd8 abort + 140 3 monotouchtest 0x0000000101c02c14 mono_handle_native_crash + 22047764 (mini-exceptions.c:2548) 4 monotouchtest 0x0000000101c0d02c mono_sigsegv_signal_handler + 22089772 (mini-runtime.c:2886) 5 libsystem_platform.dylib 0x0000000186c33b60 _sigtramp + 52 6 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 7 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 8 CoreFoundation 0x0000000186eda51c -[__NSArrayM dealloc] + 68 9 CoreFoundation 0x000000018703f5c8 __CFBasicHashDrain + 312 10 CoreFoundation 0x0000000186fb5b44 _CFRelease + 224 11 CoreText 0x000000018a808404 TDescriptorSource::PurgeFontFallbacksCache+ 488452 () + 92 12 CoreText 0x000000018a808374 TDescriptorSource::PurgeFromCaches+ 488308 (__CFURL const*) const + 176 13 CoreText 0x000000018a7eec74 CTFontRemoveFromCaches + 168 14 VectorKit 0x0000000196a539b0 +[VKSharedResourcesManager removeResourceUser:] + 324 15 VectorKit 0x0000000196ca27a4 md::MapEngine::~MapEngine+ 2643876 () + 360 16 VectorKit 0x0000000196ca2634 md::MapEngine::~MapEngine+ 2643508 () + 12 17 libobjc.A.dylib 0x000000018651eef4 object_cxxDestructFromClass+ 28404 (objc_object*, objc_class*) + 148 18 libobjc.A.dylib 0x000000018652c638 objc_destructInstance + 88 19 libobjc.A.dylib 0x000000018652c690 object_dispose + 16 20 QuartzCore 0x000000018afca3ac -[CALayer dealloc] + 116 21 VectorKit 0x0000000196a43294 -[VKMapView dealloc] + 940 22 QuartzCore 0x000000018af6aafc CA::release_objects+ 744188 (X::List<void const*>*) + 32 23 QuartzCore 0x000000018afd97d8 CA::Layer::~Layer+ 1198040 () + 276 24 QuartzCore 0x000000018afca37c -[CALayer dealloc] + 68 25 QuartzCore 0x000000018af6b16c CA::Transaction::commit+ 745836 () + 1052 26 UIKit 0x0000000190393290 _afterCACommitHandler + 256 27 CoreFoundation 0x0000000186fb38b8 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 32 28 CoreFoundation 0x0000000186fb1270 __CFRunLoopDoObservers + 412 29 CoreFoundation 0x0000000186fb182c __CFRunLoopRun + 1292 30 CoreFoundation 0x0000000186ed22d8 CFRunLoopRunSpecific + 436 31 GraphicsServices 0x0000000188d58f84 GSEventRunModal + 100 32 UIKit 0x000000019040427c UIApplicationMain + 208 33 monotouchtest 0x000000010106eb90 wrapper_managed_to_native_UIKit_UIApplication_UIApplicationMain_int_string___intptr_intptr + 9907088 (/<unknown>:1) 34 monotouchtest 0x0000000100f0d6ac UIKit_UIApplication_Main_string___intptr_intptr + 8459948 (UIApplication.cs:79) 35 monotouchtest 0x0000000100f0d66c UIKit_UIApplication_Main_string___string_string + 8459884 (UIApplication.cs:63) 36 monotouchtest 0x0000000100b10450 monotouchtest_Application_Main_string__ + 4277328 (Main.cs:27) 37 monotouchtest 0x0000000100e0c244 wrapper_runtime_invoke_object_runtime_invoke_dynamic_intptr_intptr_intptr_intptr + 244 38 monotouchtest 0x0000000101c10048 mono_jit_runtime_invoke + 22102088 (mini-runtime.c:2526) 39 monotouchtest 0x0000000101c75eec do_runtime_invoke + 22519532 (object.c:2829) 40 monotouchtest 0x0000000101c78a3c do_exec_main_checked + 22530620 (object.c:4623) 41 monotouchtest 0x0000000101bf9a1c mono_jit_exec + 22010396 (driver.g.c:1040) 42 monotouchtest 0x0000000101d13d60 xamarin_main + 23166304 (monotouch-main.m:482) 43 monotouchtest 0x00000001007de710 main + 927504 (main.m:67) 44 libdyld.dylib 0x00000001869f656c start + 4 * [introspection] Let SkipDueToAttributeInProperty skip setters too (#2557) `SkipDueToAttributeInProperty` which is used to check the availability attribute of properties when the Availability info only exist on the property and not on the property Getter or Setter was wrong. This lead to `setSpringLoaded` (which was introduced in iOS 11) to not be ignored by the test (making it fail). - Fix bug #59085: [introspection-ios] selector not found for UIKit.UIBarButtonItem : setSpringLoaded: - Broken test (https://bugzilla.xamarin.com/show_bug.cgi?id=59085) * [corevideo][watchos] Enable CoreVideo on watchOS (#2553) * [storekit] Fix CampaignToken typo (#2559) (#2560) - Fixes bug #59078: StoreProductParameters and invalid property for CampaignToken (https://bugzilla.xamarin.com/show_bug.cgi?id=59078) * [coreml][watchos] Enable API using CoreVideo on watchOS. Fix #58097 (#2561) https://bugzilla.xamarin.com/show_bug.cgi?id=58097 * Add missing [MarshalDirective] attributes. (#2558) * [bindings-generator] Improve build & project file. * Add missing [MarshalDirective] attributes. Add missing [MarshalDirective] attributes, which also requires implementing support for out parameters in the binding generator, since one of the signatures missing the [MarshalDirective] contains such an out parameter. Also add tests for all the API I've added [MarshalDirective] to. * [bindings-generator] Remove redundant if check. * [monotouch-test] Rename file to end with 'Test.cs'. * [tests] Fix a few build errors for Xamarin.Mac. * [uikit] Fix UIColor and UIInputViewController tvOS availability (#2569) - Fixes introspection tests on tvOS 10. * [storekit] Fix SKCloudServiceSetupMessageIdentifier and SKProductStorePromotionController tvOS availability (#2568) - Fixes introspection tests on tvOS 10. * [mapkit] Fix MKMapItemTypeIdentifier tvOS availability (#2566) - Also remove double [Mac] availability attribute. - Fixes introspection tests on tvOS 10. * [ARKit] Fix marshalling for ARPointCloud.RawFeaturePoints. (#2565) ARPointCloud.RawFeaturePoints is an array of Vector3, but each vector is 16-byte aligned (as if it were an array of Vector4). This means we need to account for this when creating a managed array from pointer to the native C-style array. * [ModelIO] Fix MDLVoxelIndexExtent struct. (#2564) The MDLVoxelIndexExtent is a struct containing two 4-dimensional vectors of integers (not floats, as originally and incorrectly implemented). Fix this my creating a new MDLVoxelIndexExtent2 struct with the right fields, re-implement all the API that exposes this struct and obsolete the old API. Also add missing [MarshalDirective] attributes. And write a test to make sure it works fine now and forever. * [coredata] Enable new fields since rdar #33878590 is fixed w/beta 6 (#2570) reference: https://trello.com/c/dlSRYPFx * [xtro-sharpie] Add a Simd check class to verify signatures with Simd types. * [Simd] Add simd matrix types. The OpenTK matrices (Matrix2/3/4) has a different memory layout than Apple's matrix_float2x2/matrix_float3x3/matrix_float4x4 matrices: the OpenTK versions are row-major, while Apple's versions are column-major. This means that when blitting memory from one to the other, the matrix will appear to have been transposed. See bug #[58599][2] for an example. Unfortunately we've already bound several API with Apple's matrix_floatXxX matrices using OpenTK's matrices, and although they're bound wrong, and the matrices appear transposed on input/output, we can't change the behavior because we have to maintain compatibility. This means we have to introduce new API, and then also just define new matrix types with the right memory layout (column-major). Additionally, in the future we might be able to mark these matrices as Simd-matrixes, so that the JIT/AOT compiler can generate the correct alignment for them, avoiding having to define a native conversion method (using the [MarshalDirective] hack). The matrices have been designed to match API-wise the matrices in the System.Numerics.Vectors namespace [1], but for the moment with only a few basic operations implemented (Determinant/Transpose/Multiply) defined (we can always add more later if we want to). In addition explicit conversion operators to and from the corresponding OpenTK.MatrixX are implemented, which means any operation defined in the OpenTK matrices can be used by converting back and forth. [1]: https://msdn.microsoft.com/en-us/library/system.numerics.matrix4x4(v=vs.111).aspx [2]: https://bugzilla.xamarin.com/show_bug.cgi?id=58599 * [ARKit] Use the new Simd matrix types. * [Vision] Use the new Simd matrix types. * [ModelIO] Use the new Simd-compatible matrix types, and deprecate the old API. * [GameplayKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [SpriteKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [xtro] Don't report missing [MarshalDirective] for obsolete methods. * [xtro] Remove unnecessary ignores. The implementation changed, and these stayed accidentally. * [wkwebkit] Fix (native) protocol names (#2572) Also ignore xtro's WKSnapshotConfiguration since it's an Apple bug 34185961 reference (xtro) !missing-protocol! WKURLSchemeHandler not bound !missing-protocol! WKURLSchemeTask not bound !unknown-protocol! WKUrlSchemeHandler bound !unknown-protocol! WKUrlSchemeTask bound !unknown-type! WKSnapshotConfiguration bound * [uikit] Fix enums availability attributes (#2575) - Fixes bug #59132: [uikit] Extra types in watchOS (https://bugzilla.xamarin.com/show_bug.cgi?id=59132) * [watchkit] Add missing designated initializers (#2574) references (xtro) !missing-designated-initializer! WKInterfaceController::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! WKUserNotificationInterfaceController::init is missing an [DesignatedInitializer] attribute * [xtro] Reword some of the Simd diagnostic messages according to review. * [tests] Make sure test symbols don't clash between different test libraries. Fixes this build problem for framework-test: clang: error: linker command failed with exit code 1 (use -v to see invocation) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_get_rotation_matrix'. MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticObjectTest.framework/XStaticObjectTest (Location related to previous error) MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticArTest.framework/XStaticArTest(libtest-ar.x86_64.o) (Location related to previous error) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransformcomponent_get_local_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_create_global_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float4x4'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float3x3'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float2x2'. MTOUCH: error MT5209: Native linking error: 6 duplicate symbols for architecture x86_64 MTOUCH: error MT5202: Native linking failed. Please review the build log. * [tests] Since libtest.a need ModelIO now, the corresponding LinkWith attributes need to state that too. * [introspection] Don't check native signatures on obsolete members, and ignore the right simd matrix types. Fixes this introspection/Mac problem: ***** ApiSignatureTest.NativeSignatures Selector: uniformWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: uniformWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: uniformWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: setMatrixFloat2x2Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: setMatrixFloat3x3Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: setMatrixFloat4x4Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: initWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: initWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: initWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded * [monotouch-tests] Include more custom asserts for watchOS to make the build work. Fixes this: Simd/MatrixFloat4x4Test.cs(28,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(29,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(37,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(48,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' [...] * [monotouch-test] Exclude code that requires the binding project from xammac tests. Exclude code that requires the test binding project from xammac tests because there's currently no XM version of the test binding project. Fixes this: tests/monotouch-test/SpriteKit/UniformTest.cs(20,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLMaterialProperty.cs(37,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLTransform.cs(34,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) * Bump version for preview #8 (#2576) * [spritekit] Audit fixes (xtro) (#2577) 1. SKVideoNode is now, partially, available on watchOS and does not require the extra, manual code to swicth selectors depending on the OS version being run. !missing-type! SKVideoNode not bound !missing-selector! SKVideoNode::anchorPoint not bound !missing-selector! SKVideoNode::initWithCoder: not bound !missing-selector! SKVideoNode::initWithFileNamed: not bound !missing-selector! SKVideoNode::initWithURL: not bound !missing-selector! SKVideoNode::setAnchorPoint: not bound !missing-selector! SKVideoNode::setSize: not bound !missing-selector! SKVideoNode::size not bound !missing-selector! +SKVideoNode::videoNodeWithFileNamed: not bound !missing-selector! +SKVideoNode::videoNodeWithURL: not bound 2. SKNodeFocusBehavior is exposed needlessly on watchOS because SpriteKit/Enums.cs was not processed by the generator, so [NoWatch] did not matter. !unknown-native-enum! SKNodeFocusBehavior bound It's also visible on macOS but nothing uses it (so we do not expose it needlessly) !missing-enum! SKNodeFocusBehavior not bound 3. Add missing designated initializer on default `init` !missing-designated-initializer! SKAttributeValue::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! SKNode::init is missing an [DesignatedInitializer] attribute 4. Remove inconsistency for SKNode subclasses wrt XAMCORE_4_0 The trio attributeValues, setAttributeValues and setValue:forAttributeNamed: that was moved from SKNode (deprecated) into its subclasses. This was done using XAMCORE_4_0 but not on every subclasses. This adds them everywhere to be consistent (only SKNode versions are not defined in XAMCORE_4_0) !missing-selector! SKEffectNode::attributeValues not bound !missing-selector! SKEffectNode::setAttributeValues: not bound !missing-selector! SKEffectNode::setValue:forAttributeNamed: not bound !missing-selector! SKEffectNode::valueForAttributeNamed: not bound !missing-selector! SKEmitterNode::attributeValues not bound !missing-selector! SKEmitterNode::setAttributeValues: not bound !missing-selector! SKEmitterNode::setValue:forAttributeNamed: not bound !missing-selector! SKEmitterNode::valueForAttributeNamed: not bound !missing-selector! SKSpriteNode::attributeValues not bound !missing-selector! SKSpriteNode::setAttributeValues: not bound !missing-selector! SKSpriteNode::setValue:forAttributeNamed: not bound !missing-selector! SKSpriteNode::valueForAttributeNamed: not bound * [introspection] Make sure '[FAIL]' is printed before every failure. (#2578) This makes xharness able to list the failures in the inline summary. * [xtro] Reword some of the Simd diagnostic messages according to review. * [xharness] Add a missing IsServerMode check to generate correct html. (#2581) * [SpriteKit] SKTransformNode is new in Xcode 9 so no need to keep the broken (and obsolete) non-simd version of RotationMatrix. * [intents] Fix some (partial) xtro issues and #59156 (#2585) reference https://bugzilla.xamarin.com/show_bug.cgi?id=59156 Remaining issues are filled in https://bugzilla.xamarin.com/show_bug.cgi?id=59183 !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound * [Intents] Confirm* interface methods should be bound as Confirm, Fixes Bug 59164 (#2591) * [Intents] Confirm* interface methods should probably be bound as Confirm, Fixes Bug 59164 https://bugzilla.xamarin.com/show_bug.cgi?id=59164 All Confirm* methods from *IntentHandling interfaces should be named just `Confirm` to avoid confusion because most of them do not directly confirm as an acion, but instead they **ask** for confirmation also we would follow swift's naming by doing this. * [Intents] XAMCORE_4_0 all Confirm* methods from *IntentHandling Turns any Confirm* into just Confirm inside a XAMCORE_4_0 block, * [Intents] Fix breaking changes in Intents added in Xcode 9 Bindings (#2590) Apple added more protocol conformances to INRidesharingDomainHandling and INPaymentsDomainHandling protocols in Xcode 9, I introduced these breaking changes back when I did intents binding so fixing them :) * [Metal] New bindings from Xcode 9 betas (#2457) * [AVFoundation] Updated bindings for xcode9. (#2272) * [Xcode9] Add IOSurface bindings (#2363) * This framework was a private framework before iOS 11. This framework was a private framework before iOS 11, yet the headers claim many API were introduced in iOS 10. So take account of this difference by using the private framework location in iOS 10.3 or earlier. Testing these API from Xcode works fine when run on an iOS 10.3 device, and I've confirmed the IOSurface framework is loaded from the private frameworks path on older devices (and when built using Xcode 9 and linked with the public framework path). * Disable code to make IOSurface work on iOS 10. Disable the code to make IOSurface work on iOS 10, since it may be rejected by the App Store. This also means adjusting the availability attributes, so that the introspection tests pass (and to document that technically these API won't work when used with Xamarin.iOS in iOS 10). I've filed bug #[59201][1] to keep track of this, maybe we can re-enable this later. [1]: https://bugzilla.xamarin.com/show_bug.cgi?id=59201 * [CoreMedia] Fix leak in CMAttachmentBearer.GetAttachments. (#2593) The caller owns the return value from CMCopyDictionaryOfAttachments, so tell Runtime.GetNSObject that. * [Intents] Adds missing API found by xtro, fixes Bug 59183 (#2596) https://bugzilla.xamarin.com/show_bug.cgi?id=59183 Fixes !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !incorrect-protocol-member! INUIHostedViewControlling::configureWithInteraction:context:completion: is OPTIONAL and should NOT be abstract * [xtro] Fix StartWorkingDirectory to enable debugging (#2598) * [iosurface] Enable for tvOS and XM classic (to avoid multiple defines around consumer API) (#2597) * [xtro] Fix EnumCheck (#2600) * [ARKit] Rename a few method to make them nicer. (#2604) * DisplayTransform -> GetDisplayTransform since methods should have verbs. * SessionWasInterrupted -> WasInterrupted and SessionInterruptionEnded -> InterruptionEnded since these names match better with the other names (CameraDidChangeTrackingState / DidFail / DidOutputAudioSampleBuffer: none are prefixed with 'Session'). Additionally, the type is a Model (for the delegate pattern), which means all methods are more-or-less event-like, and the first argument is always the same (the protocol itself), which is another indicator the methods should be named similarly. * [Foundation] Remove 'Key' suffix from some fields. (#2606) Of the 168 fields in NSMetadataItem, only these 5 hadn't removed the 'Key' suffix. So make them all equivalent by removing the 'Key' suffix from these 5 fields. * [ImageIO] Fix API to not duplicate the instance in instance methods. (#2609) An instance method does not need to take the instance as a parameter, so remove the first (instance) parameter for CGImageDestination.AddAuxiliaryDataInfo and CGImageSource.CopyAuxiliaryDataInfo. An alternative solution would be to make the methods static, but I like the instance API better. * [UIKit] De-model UIDataSourceTranslating. (#2603) It's not clear from neither the documentation nor the headers how this protocol is supposed to be used, and since it doesn't correspond to the delegate pattern, remove the [Model] attribute for now. We can always add it back later. * [CoreML] Improve API. (#2592) * [CoreML] Improve API. * The indices, shape and stride properties for MLMultiArray and MLMultiArrayConstraint can logically only be arrays of integers, so type them as such. This means adding overloads for MLMultiArray's constructors, GetObject and SetObject methods, and the indexers that takes nint[] arrays instead of NSNumber[] arrays. * Change MLFeatureValue's static factory methods to be a method ('Create') instead of a preposition, and call all the different factory methods the same, since they can be overloaded nicely. * [tests][monotouch-test] Add version check to MLMultiArrayTest and make sure the arrays we create are big enough for the data we put in them. * [tests][monotouch-test] MLMultiArray's elements aren't zero-initialized, so don't assume that in the tests. * Support overloading Objective-C methods based on static/instance. (#2607) Two Objective-C methods can be named identically as long as one is static and the other instance. We must support this since Apple did just this (in the NSItemProviderReading / NSItemProviderWriting protocols). We solve it by prepending a '+' or '-' to the selector when hashing it (to determine selector uniqueness, and to look the method up again at runtime). * [uikit] Update for Xcode 9 - Part 6 (#2602) NSAttributedString.h NSFileProviderExtension.h NSLayoutAnchor.h UIAccessibility.h UIAccessibilityAdditions.h UIAccessibilityContainer.h UIAccessibilityContentSizeCategoryImageAdjusting.h UIAccessibilityCustomRotor.h UIAccessibilityLocationDescriptor.h UITabBar.h UINavigationBar.h UIScreen.h * Xcode9 scenekit (#2512) * [SceneKit] basic work * Added key * [xcode9] SCNCameraController * [xcode9] SCNCamera updates * [xcode9] SCNMaterial * [xcode9] SCNGeometryTessellator, SCNCameraControlConfiguration, SCNView, small bits * Add trailing commas to last enum value * Remove whitespace noise * [scenekit] Update deprecated attributes messages * Addresses some of Rolf's feedback * Drop the WeakDelegate in SCNCameraController * Rename method to Render, remove ctor from class that can not be constructed in Palygrounds, add typo exception * [AppKit] Rename NSBezierPath.AppendBezierPathWithCGGlyph to match its sibling methods. (#2605) NSBezierPath contains a lot of 'AppendPathWithXXX' methods, that all map to 'appendBezierPathXXX' selectors. So rename AppendBezierPathWithCGGlyph accordingly, to make it more similar to the other methods in the same type. * [uikit] Add all UISpringLoadedInteractionSupporting (#2616) Types do not conform to the protocol but protocol methods work on those types (see monotouch-test). Fixed introspection tests accordingly and tested the selectors in monotouch-test. * [Intents] Add convenience ctor overload and call correct base ctor in manual ctor. (#2613) Add a convenience constructor overload in INGetUserCurrentRestaurantReservationBookingsIntent that uses nint instead of NSNumber, since logically "number of results" will always be some sort of integer. Also call the correct base constructor in INSpeakableString's custom constructor (same as any other generated constructor). Otherwise we end up doing something like this: [[[INSpeakableString alloc] init] initWith ...], i.e. calling two different init methods. * [coreimage] Add new headers API up to beta 6 (#2601) Filters are not complete (ref: #57350) https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * Some new constants are not yet documented (type is known), so they are commented / ignored https://bugzilla.xamarin.com/show_bug.cgi?id=59296 * Filled bug for [Wrap] inside [Category] so strong dictionary helpers can be re-enabled later https://bugzilla.xamarin.com/show_bug.cgi?id=59294 * [foundation] xtro fixes for watchOS (#2586) !missing-enum! NSProcessInfoThermalState not bound !missing-field! NSProcessInfoThermalStateDidChangeNotification not bound !missing-selector! NSProcessInfo::thermalState not bound Headers are wrong and preferredPresentationStyle is not in tvOS and watchOS !missing-selector! NSItemProvider::preferredPresentationStyle not bound !missing-selector! NSItemProvider::setPreferredPresentationStyle: not bound * [uikit] Also remove UIPreferredPresentationStyle enum from platform where it's not used * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. (#2614) * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. * NSItemProviderWriting: * NSItemProviderReading: Implement correctly and completely by uncommenting commented out code. * NSMutableString: * NSAttributedString: remove inlined members, since these classes don't implement NSItemProviderReading / NSItemProviderWriting (according to the headers at least). * NSUrl: all platforms now seem to implement NSItemProviderReading / NSItemProviderWriting. * NSString: all platforms now seem to implement both NSItemProviderReading and NSItemProviderWriting * UIColor: * UIImage: Update inlined protocol members according to the latest beta. Additionally, due to the following conditions: * The protocols all have the correct members now. * In the API definition we tell the generator to inline members from a protocol by inheriting from the corresponding interface. * The generator doesn't inline static members from protocols. several 'new' keywords had to be added to silence a compiler warning that occurrs when we manually inline a static member, since the member would be included in the type both from the inherited interface and the manual implementation. * [Foundation] Comment out NSItemProviderWriting.GetItemProviderVisibility to avoid inlining/generating unusable methods. NSItemProviderWriting.GetItemProviderVisibility is an optional method, and none of the native classes that implements NSItemProviderWriting actually imlements the method. This means inlining the method in those classes ends up creating unusable API; so just comment out the method to avoid generating the unusable API. The introspection tests found this: [FAIL] Foundation.NSString : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Foundation.NSUrl : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Contacts.CNContact : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] MapKit.MKMapItem : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIColor : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIImage : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] iOSApiSelectorTest.ApiSelectorTest.StaticMethods : 6 errors found in 2348 static selector validated: See also https://bugzilla.xamarin.com/show_bug.cgi?id=59308 * [iosurface] Add missing [TV] attributes (#2619) * [opengles] Enable the new API using IOSurface (#2618) The symbol only exists inside device libraries, not on simulator, and the introspection tests were updated to ignore it. Part of https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [avfoundation][watchos] Enable AudioBufferList (fix #59145) + audit (xtro) (#2617) 1. AudioBufferList is part of CoreAudio (wrong namespace, which needs a few changes in the generator) and now available in watchOS 4 https://bugzilla.xamarin.com/show_bug.cgi?id=59145 2. Also fixes xtro found issues: !missing-type! AVAudioRecorder not bound !missing-selector! AVAudioRecorder::averagePowerForChannel: not bound !missing-selector! AVAudioRecorder::channelAssignments not bound !missing-selector! AVAudioRecorder::currentTime not bound !missing-selector! AVAudioRecorder::delegate not bound !missing-selector! AVAudioRecorder::deviceCurrentTime not bound !missing-selector! AVAudioRecorder::format not bound !missing-selector! AVAudioRecorder::initWithURL:format:error: not bound !missing-selector! AVAudioRecorder::initWithURL:settings:error: not bound !missing-selector! AVAudioRecorder::isMeteringEnabled not bound !missing-selector! AVAudioRecorder::isRecording not bound !missing-selector! AVAudioRecorder::peakPowerForChannel: not bound !missing-selector! AVAudioRecorder::recordAtTime: not bound !missing-selector! AVAudioRecorder::recordAtTime:forDuration: not bound !missing-selector! AVAudioRecorder::recordForDuration: not bound !missing-selector! AVAudioRecorder::setChannelAssignments: not bound !missing-selector! AVAudioRecorder::setDelegate: not bound !missing-selector! AVAudioRecorder::setMeteringEnabled: not bound !missing-selector! AVAudioRecorder::settings not bound !missing-selector! AVAudioRecorder::url not bound !missing-protocol! AVAudioRecorderDelegate not bound !missing-selector! AVAudioEngine::inputNode not bound !missing-selector! AVAudioEngine::manualRenderingBlock not bound !missing-selector! AVAudioInputNode::setManualRenderingInputPCMFormat:inputBlock: not bound !missing-selector! AVAudioPlayer::format not bound !missing-selector! AVAudioSession::requestRecordPermission: not bound !unknown-field! AVFileType3GPP bound !unknown-field! AVFileType3GPP2 bound !unknown-field! AVFileTypeAC3 bound !unknown-field! AVFileTypeAIFC bound !unknown-field! AVFileTypeAIFF bound !unknown-field! AVFileTypeAMR bound !unknown-field! AVFileTypeAVCI bound !unknown-field! AVFileTypeAppleM4A bound !unknown-field! AVFileTypeAppleM4V bound !unknown-field! AVFileTypeCoreAudioFormat bound !unknown-field! AVFileTypeDNG bound !unknown-field! AVFileTypeEnhancedAC3 bound !unknown-field! AVFileTypeHEIC bound !unknown-field! AVFileTypeHEIF bound !unknown-field! AVFileTypeJPEG bound !unknown-field! AVFileTypeMPEG4 bound !unknown-field! AVFileTypeMPEGLayer3 bound !unknown-field! AVFileTypeQuickTimeMovie bound !unknown-field! AVFileTypeSunAU bound !unknown-field! AVFileTypeTIFF bound !unknown-field! AVFileTypeWAVE bound * [Metal] Implement API using IOSurface now that IOSurface is implemented. Partially fixes #58054. (#2621) https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [PdfKit] Improve PdfAnnotation.QuadrilateralPoints binding by making it strongly typed. (#2620) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). (#2622) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). * [ARKit/Vision] Use the new simd vector types instead of the OpenTK versions. * [ModelIO] Use the new simd vectors in new API (MDLVoxelIndexExtent2). This way we won't have to create a MDLVoxelIndexExtent3 in the future. * [SpriteKit] Use the new simd vectors in new API. * [metal] Audit (xtro) based fixes (#2623) !extra-protocol-member! unexpected selector MTLArgumentEncoder::newArgumentEncoderForBufferAtIndex: found !extra-protocol-member! unexpected selector MTLComputeCommandEncoder::dispatchThreads:threadsPerThreadgroup: found macos-only !missing-field! MTLDeviceRemovalRequestedNotification not bound !missing-field! MTLDeviceWasAddedNotification not bound !missing-field! MTLDeviceWasRemovedNotification not bound !missing-pinvoke! MTLCopyAllDevices is not bound * [CloudKit] Update bindings to beta 6. (#2615) * [FileProvider] Turn NSFileProviderItemIdentifier enum into a static class, fixes bug 59329 (#2634) https://bugzilla.xamarin.com/show_bug.cgi?id=59329 At the time of binding NSFileProviderItemIdentifier it wasn't clear how it was supposed to be used, I mean apple provides two keys which I thought were the only possible values hence binding it as an smart enum. Unfortunately this wasn't the case and the user can use those two values provided from the SDK or their own NSString Identifier. Swift provides a wrapper unfortunately we can't do the same due to NSFileProviderItemIdentifier is used in the NSFileProviderItem protocol and we currently do not support changing signatures on them. * [mtouch] Teach mtouch about the 'IOSurface' framework for tvOS. Fixes #59333. (#2630) https://bugzilla.xamarin.com/show_bug.cgi?id=59333 * Bump Touch.Unit to get fix for API breakage. (#2631) spouliot/Touch.Unit@8f1e19d [NUnitOutputTextWriter] Reintroduce previous constructor to make sure we don't break binary ABI. spouliot/Touch.Unit@00b0c0b [NUnitOutputTextWriter] Don't write invalid xml comments. spouliot/Touch.Unit@de9fe20 [TouchRunner] Restore the original code path when not wrapping NUnit xml output. * [IOSurface] Add missing availability attributes for tvOS. (#2629) * Bump versions for preview 9 (#2624) * [AVFoundation] Add missing interface AVRouteDetector. (#2637) * [tests] Update xtro to reduce list sizes (#2636) * Skip OpenTK duplicate declaration (we can't change them); * Fix rule name change for ARKit / simd; * Add missing default initializer on `init` to pending actions; * Add note for AVPersistableContentKeyRequest changes wrt tvOS; * [ReplayKit] Make RPBroadcastActivityViewController.LoadBroadcastActivityViewController async-capable. (#2639) * [xcode9] More SceneKit bindings (#2633) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 (#2644) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 https://bugzilla.xamarin.com/show_bug.cgi?id=59380 vector_float3 is 16 bytes, which means the binding is incorrect, because Vector3 is 12 bytes, and our code does not that difference into account. * Add tests * [DeviceCheck] Disable default ctor for DCDevice. (#2642) It doesn't seem to be useful according to the documentation, since it appears that the only way to get an instance is to use the static CurrentDevice property. * [audiounit] Audit (xtro) fixes for tvOS (#2635) Availability attributes in non-generated files don't hide symbols/code. reference: !unknown-pinvoke! AudioUnitExtensionCopyComponentList bound !unknown-pinvoke! AudioUnitExtensionSetComponentList bound * [tests] Make sure tvOS tests don't use the (unexisting) API * [tests] Add all test project variations to tests-mac.sln (#2579) * [xharness] Make sure generated mac projects have different project guids. * [introspection] Change the project guid so that it doesn't match the dontlink-mac project guid. * [tests] Add all test project variations to tests-mac.sln. * [xharness] Fix else condition. * [FileProvider] Adds missing NSFileProviderPage constants, fixes bug 59297. (#2646) https://bugzilla.xamarin.com/show_bug.cgi?id=59297 Adds NSFileProviderInitialPageSortedByName and NSFileProviderInitialPageSortedByDate NSData constants * [Xcode9] Remove NSFileProviderMessage and NSFileProviderMessageInterface (#2647) APIs were removed in beta 2 * [Foundation/UIKit] Provide LoadObject[s] methods that return the expected type in the callback. Fixes #59049. (#2638) The callback for these LoadObject[s] methods take an INSItemProviderReading parameter. This tells our runtime that we must provide an instance of a managed object that implements this interface (but nothing else), so we create a `NSItemProviderReadingWrapper` instance, which complies with the API (since the wrapper type implements the corresponding interface). Unfortunately these methods are supposed to return an instance of the passed- in type, so in order to comply with this soft (documentation-only) requirement, provide a wrapper method that creates instances of the right types. https://bugzilla.xamarin.com/show_bug.cgi?id=59049 * [arkit] Ignore deprecated selectors (#2645) * [FileProvider] Adds missing protocol and keys from audit (#2652) ``` !missing-protocol! NSFileProviderServiceSource not bound !missing-field! NSFileProviderErrorCollidingItemKey not bound !missing-field! NSFileProviderErrorNonExistentItemIdentifierKey not bound !missing-field! NSFileProviderFavoriteRankUnranked not bound ``` Also adds `NSXpcListenerEndpoint` to foundation, needed by `NSFileProviderServiceSource` protocol. * [tests][xtro] Workaround xtro runner dupe entry exception and update data files (#2654) * [AVFoundation] Rename field to match others. (#2657) * [homekit] Audit (xtro) fixes (#2653) - HMCharacteristicEvent conforms to NSMutableCopying on iOS11 which makes it 64 bits only (so adjust intro tests) - Ignore extra setters on HMMutablePresenceEvent, rdar 33883958 !missing-selector! HMMutablePresenceEvent::setPresenceEventType: not bound !missing-selector! HMMutablePresenceEvent::setPresenceUserType: not bound * [xtro] Add missing pinvoke to pending (#2662) - Bug 59422: [uikit] Missing UIContentSizeCategoryCompareToCategory & UIContentSizeCategoryIsAccessibilityCategory (https://bugzilla.xamarin.com/show_bug.cgi?id=59422) * Merge latest d15-3 fixes into xcode9 (#2660) * [msbuild] Re-added wildcard (*) expandsion for application-identifier in Entitlements.plist (#2186) Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=57119 * Bump mono (#2213) * Framework tests were still binding non-linked Simple class which errors now (#2216) (#2218) - Improve Makefile to rebuild when projects build with errors * Bump mono to get cecil fix for bug #56808. (#2222) https://bugzilla.xamarin.com/show_bug.cgi?id=56808 * [msbuild] Use @(ReferencePath) instead of @(ResolvedFiles) (#2188) (#2214) This allows things to work on both xbuild and msbuild. In xbuild, both lists are exactly the same and on msbuild, only @(ReferencePath) exists. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=55147 * NSActivityOptions.IdleDisplaySleepDisabled had wrong value (#2232) (#2239) This was due to an integer overflow. The original value was based on Int32 1 << 40 == 256 The correct value should be based on a UInt64. 1UL << 40 == 1099511627776 * [tests] Fix bug 57699 - [iOS]InternalsTest failure (Linkall) tests on device (#2243) Strip native debugging symbols should not be checked for debug builds * Bump mono to get fix for bug #57780. https://bugzilla.xamarin.com/show_bug.cgi?id=57780 * Update .gitmodules Change branch to d15-3 branch of mono * Bump maccore to get fix for bug #55064. https://bugzilla.xamarin.com/show_bug.cgi?id=55064 * [mono] Bump mono to get the head of cecil/mono-2017-04 and fix IsComObject #57919 Also fix #58789 [1], the typo in tools/mtouch/Tuning.cs showing in MT0000 errors instead MT2102. That's already in master and d15-4 mono bump includes: [2] commit 2a6502cee0df9de5198eafe7c8b5f6ac25106f34 (HEAD -> d15-3, origin/d15-3) Merge: 02457c20fcf 5e05cafc6f1 Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 10:04:06 2017 -0400 Merge pull request #5401 from marek-safar/com [Marshal.IsComObject] Make this predicate return false instead of thr… [3] commit 02457c20fcf57c0610e844d638eb1da82b5d1eb0 Merge: da80840ea55 73fd9a1b82e Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 09:59:06 2017 -0400 Merge pull request #5400 from spouliot/bump-cecil-58834-d15-3 [cecil] Bump to the head of the mono-2017-04 branch and pick the fix for bug #58834 References [1] https://bugzilla.xamarin.com/show_bug.cgi?id=58789 [2] https://bugzilla.xamarin.com/show_bug.cgi?id=57919 [3] https://bugzilla.xamarin.com/show_bug.cgi?id=58834 * [mtouch] Put 'mono_profiler_startup_log' in the symbol list. Fixes #58778. (#2501) We need the 'mono_profiler_startup_log' symbol when profiling is enabled, so make sure to add the symbol to the correct list of symbols we need. Previously we were passing `-u _mono_profiler_startup_log` to clang directly, which is fine, but not complete, since it does not write the symbol to the symbollist file (--symbollist=file), which means it wouldn't be preserved when the MSBuild tasks strip the executable. https://bugzilla.xamarin.com/show_bug.cgi?id=58778 * Bump versions for SR3 https://trello.com/c/EVze08ei * Bump mono to include HttpClientHandler fix #44027 https://trello.com/c/jYFXadH8/8-systemnethttp-close-request-stream-when-httpclienthandler https://bugzilla.xamarin.com/show_bug.cgi?id=44027 * [FileProvider] Add missing API and turn NSString to string (#2663) Turned NSString to string in order to match exisiting API. * [uikit] Add UIPasteConfigurationSupporting and UITextPasteConfigurationSupporting (#2649) - Fixes bug #59363: Missing UIPasteConfigurationSupporting, UITextPasteConfigurationSupporting, UITextDraggable and UITextDroppable on a couple of types (https://bugzilla.xamarin.com/show_bug.cgi?id=59363) * [uikit] Remove 129 types in UIPasteConfigurationSupporting case * [scenekit] Audit (xtro) fixes (#2648) This looks like an Apple breaking change (since `SCNAnimation` is new) but we now have: > typedef void (^SCNAnimationEventBlock)(id<SCNAnimation> animation, id animatedObject, BOOL playingBackward); bound as > delegate void SCNAnimationEventHandler (CAAnimation animation, NSObject animatedObject, bool playingBackward); and `CAAnimation` conforms to `SCNAnimation` but *only* the later is available on watchOS. The delegate is only updated (since it's new) on our watchOS profile. xtro references: (watchos) !unknown-protocol! SCNCameraControlConfiguration bound (tvos/watchos) !missing-selector! SCNAnimation::animationEvents not bound !missing-selector! SCNAnimation::setAnimationEvents: not bound !missing-selector! SCNConstraint::isEnabled not bound !missing-selector! SCNConstraint::setEnabled: not bound !missing-field! SCNSceneSourceConvertToYUpKey not bound !missing-field! SCNSceneSourceConvertUnitsToMetersKey not bound (ios/tvos) !missing-protocol-conformance! SCNNode should conform to UIFocusItem * Bump maccore post 15.3 merge (#2665) * Bump Xcode 9 to GM (#2667) * Force build (on wrench) * [avfoundation] Fix breaking changes (apidiff) (#2664) * [TVServices] Update to Xcode 9 GM (#2675) * [GameController] Update to Xcode 9 GM (#2673) * [LocalAuthentication] Update to Xcode 9 GM (#2671) * [LocalAuthentication] Update to Xcode 9 GM * Remove availability from BiometryNotAvailable, BiometryNotEnrolled and BiometryLockout * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer (#2659) * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer Some of the new added types were already present BUT under a #if MONOMAC, they had to be moved. * [AVFoundation] Set the wrongly added API to be obsolete and ensure it returns logical values. (#2650) * [xtro] The right platform for macOS is 'macos', not 'osx'. (#2677) The platform name is used to filter availability attributes, and if we use the wrong platform, we'll incorrectly skip all availability attributes. The net result in unclassified entries: https://gist.github.com/rolfbjarne/a4474bc2a40c49a85cad495b51bb514f * Various Xcode 9 API improvements and also fixes bug 59433 (#2676) https://bugzilla.xamarin.com/show_bug.cgi?id=59433 While fixing bug 59433 I noticed some additional issues outlined below: AVDepthData: * Renamed **non** static `Create` methods because `Create` only makes sense with the **Static** method in this context. Also by renaming the methods we are now closer to the names that swift uses. * Kept descriptive method names in favor of self-documenting code. `Convert`, `Apply` and `Replace` do not fully give us the intent of the method. * Added a convenience `Create` static method that takes a `CGImageAuxiliaryDataInfo`. * AvailableDepthDataTypes is now an array of `CVPixelFormatType` instead of a `NSNumber` array (The aactual fix for bug 59433). ImageIO: * Refactored `CGImageAuxiliaryDataInfo` to be a `StrongDictionary` in order to avoid most of the manual code and also to avoid reimplementing the `ToDictionary` method (which contained a subtle bug). * Adjusted code to reflect the above change. * Added missing `.ctor (IntPtr, bool)` to `CGImageMetadata` so the class is able to be created by our `Runtime.Get*`. * Simplified `CopyAuxiliaryDataInfo` method by using `CGImageAuxiliaryDataInfo` as a `DictionaryContainer`. Tests: * Added `xamarinmonkey.heic` which is an image that contains depth data needed to test above changes. * Adds `AVDepthDataTests` that touches most of the changes listed here. * Tweak the Simd-compatible matrices and vectors (#2668) * Rename them to be OpenTK.NMatrix# (instead of Simd.MatrixFloat#x#). * Remove the Vector2 and Vector4 variants, we'll use the OpenTK types instead (but we'll keep the NVector3 variant, since it's not identical to the OpenTK version). * Update the API to match their OpenTK counterparts better: * NMatrix2 and NMatrix3 have a 0-based R#C# scheme for their fields. * NMatrix4 has a 1-based M## scheme for its fields (i.e. no change). * [AVFoundation] Use Simd-matrix for API that needs it. (#2679) This also requires implementing the corresponding matrix (NMatrix4x3). Fixes this xtro issue: > !unknown-simd-type-in-signature! OpenTK.Matrix3 AVFoundation.AVCameraCalibrationData::get_GetIntrinsicMatrix(): the native signature has a simd type (matrix_float3x3), while the corresponding managed method is using an incorrect (non-simd) type. * [xtro] Fix checking availability on categories. (#2682) When checking for category availability, check if both the current declaration is a category, and if the current's declaration container is a category. Otherwise this scenario fails: * Category method is available. * Category does not have availability attributes. * Main class is unavailable. with this typical code sequence: ```csharp // don't process methods (or types) that are unavailable for the current platform if (!decl.IsAvailable () || !(decl.DeclContext as Decl).IsAvailable ()) return; ``` In which case we'd: * First check the method (`decl`): * It's available, so no further checks is done on the method. * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container's container is a category (it isn't, it's the namespace). and as such determine that the method is available. With this change, the second step will become: * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container is a category (it is), and if its main class is available (it isn't). and as such determine that the method is unavailable. * Check for attributes on the method's container (no attributes, so we continue). * Check if the method's Unclassified diff: https://gist.github.com/rolfbjarne/8fa80962596978a426eadf9b7ba39dc1 * [uikit] Update for Xcode 9 GM (#2670) * [AVFoundation] Implement AVCapturePhoto. Partially fixes #59388. (#2678) Fixes: > common.unclassified:!missing-type! AVCapturePhoto not bound https://bugzilla.xamarin.com/show_bug.cgi?id=59388 * Use strong dictionaries for AVCapturePhoto.Metadata and AVCapturePhoto.EmbeddedThumbnailPhotoFormat. * [SIMD] Implement Simd double types (VectorDouble3/MatrixDouble4x4). (#2632) The following types will be used by ModelIO bindings * Fix delta to be double * Rename Simd-compatible matrices and vectors to match our final naming. This also means removing the new Vector2 and Vector4 variants (but not Vector3). * [avfoundation] Remove AVAssetDownloadDelegate.DidLoadTimeRange since it was removed in one of the betas (#2687) * [foundation] Move NSUrlSessionMultipathServiceType to a file processed by the generator (for the availability attributes) (#2688) * [arkit] Update for Xcode 9 GM (#2681) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes (#2690) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes Type Changed: Intents.INCarSeatResolutionResult Removed methods: public static INCarSeatResolutionResult GetConfirmationRequired (INCarSeat valueToConfirm); public static INCarSeatResolutionResult GetSuccess (INCarSeat resolvedValue); * [avfoundation] Add missing protocol members and deprecations (#2691) !missing-protocol-member! AVCapturePhotoCaptureDelegate::captureOutput:didFinishProcessingPhoto:error: not found and the selector removed from PR#2687 was actually replaced with this one !missing-protocol-member! AVAssetDownloadDelegate::URLSession:aggregateAssetDownloadTask:didLoadTimeRange:totalTimeRangesLoaded:timeRangeExpectedToLoad:forMediaSelection: not found * [tests][xtro] Map some enums, more fix with protocols and update entries (#2692) * [Tests] Reenable dns tests on the watch. (#2674) * [arkit] Add ARBlendShapeLocationOptions strong dictionary (#2696) * [coreimage] Skip not yet bound filters added in Xcode9 (#2698) Tracked in https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * [Metal] Renamed MTLArgumentDescriptor.ArgumentDescriptor to Create, fixes bug 59498 (#2702) https://bugzilla.xamarin.com/show_bug.cgi?id=59498 From [argumentDescriptor docs](https://developer.apple.com/documentation/metal/mtlargumentdescriptor/2915746-argumentdescriptor?language=objc) > Creates an empty argument descriptor. * [msbuild] Always codesign app bundles if the codesign key is non-null (#2697) ...even if it is a simulator build. Turns out that starting with Xcode9, sim builds need to be codesigned for App Groups entitlements to work properly. Interestingly, the DetectSigningIdentity logic had a comment about needing to codesign simulator builds for some entitlements to work already starting with Xcode 8 but apparently the iOS targets did not respect this. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=59379 * [Foundation] Add NSProxy stub in order to workaround bug 59247 (#2693) https://bugzilla.xamarin.com/show_bug.cgi?id=59247 We need to have a better solution that removes all what NSProxy does not responds to. Right now this works because NSObject implements NSObject protocol just like NSProxy, but NSProxy responds to far less selectors hence doing it internal so it is not a breaking change when we provide the correct fix. * Keep NSProxy around and avoid XML linker description We need to keep NSProxy (avoid linking it) if WKNavigationDelegate or IWKNavigationDelegate is used. We know WKWebView will be there and can hold a reference to it. * [Xcode 9] Update Metal for GM (#2689) * [iosurface] IOSurface is not usable before iOS/tvOS 11. Fixes #59201 (#2706) Apple rejects apps that links with the previously private IOSurface.framework. We were not sure about this [1] and had it disabled (this is removed). However another bug stopped our adjustment logic [2] from being executed. This is needed since `clang` picks up the private framework if it does not find the public one (even when asking for a weak framework), [1] https://bugzilla.xamarin.com/show_bug.cgi?id=59201 [2] Added a while ago for JavascriptCore * Bump maccore to point to commit with the docs fix. (#2703) * Bump XI to 11.0.x (and XM to 3.99.9.x) (#2684) * fix typo
2017-09-16 00:53:16 +03:00
[Export ("focusDistance")]
nfloat FocusDistance { get; set; }
[Watch (4, 0), TV (11, 0), Mac (10, 13, onlyOn64: true), iOS (11, 0)]
Merge xcode9 into d15-4[-xi] (#2710) * [FileProvider] Add Xcode 9 Beta 1, 2 & 3 Bindings (#2279) * [FileProvider] Add Xcode 9 Beta 1 Bindings * Better naming * Feedback not related to BindAs * [FileProvider] Removes BindAs, add manual code for it and updated to Beta 3 * [FileProvider] Implement feedback * [CoreSpotlight] Updated spotlight bindings for xcode 9 beta 3. (#2193) Updated spotlight bindings for xcode 9 beta 3. * Fix warning caused by duplicate (#2354) * [FileProviderUI] Add Xcode 9 Beta 1 to 3 bindings (#2356) * Bump to Xcode 9 beta 4 * [arkit] ARLightEstimate does not conform to NSCopying anymore (fix unit test) * [uikit] NSFileProviderExtension.ReparentItem got a new parameter in beta4 (fix unit test) * [coreimage] CIImageAccumulator init returns nil in beta 4 There's no header change to mention `init` is not allowed but it's not clear how this default initializer could be used. Also make public some other API to construct this type (outside of XM). It's not clear why there were `internal` as they are (at least now) part of the header files. * [photos] Add helpers when PHLivePhotoEditingOption/NSDictionary is null (to avoid ambiguous API) (#2360) Adding a strongly typed `PHLivePhotoEditingOption` (a strongly typed version of an `NSDictionary`) can cause a `CS0121` (call is ambiguous) since using a `null` argument is common (only one option exist so far). This PR adds overloads that makes the code nicer in such case, e.g. before Xcode9: > // null is used when no options are given > _foo.SaveLivePhoto (output, null, completion); current (Xcode 9) > // casting required to remove ambiguity with PHLivePhotoEditingOption > _foo.SaveLivePhoto (output, (NSDictionary)null, completion); with this PR > // no option, no argument > _foo.SaveLivePhoto (output, completion); The same applies to `PrepareLivePhotoForPlayback`. * [tests] Disable/tweak two tests that breaks on (almost) all Xcode updates Those tests were not added to validate xOS so just keep the parts that helps us (without constantly checking back the new break flavor) * Disable watchOS to check if this hides others issues * [mapkit] Update for beta 4 * [coredata] Update for beta 4 * [wkwebkit] Update for beta 4 Note: WKWindowFeatures.h is not compiled (part of the framework umbrella) and the `@interface WKWindowFeatures (WKPrivate)` sounds like it should not have been exposed (it's all fields starting with `_`) * [corelocation] Update for beta 4 * Revert "Disable watchOS to check if this hides others issues" This reverts commit fed2249fa43290a1956ab2fe0d48f83ab6db9711. * [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]: https://github.com/xamarin/xamarin-macios/blob/f5956d6cc1eb5dfa7bab16628cf282d40237f64e/src/generator.cs#L5985 * [FinderSync] Update to beta 4 (#2377) * [ImageIO] Update to Xcode 9 (#2353) * [PhotosUI] Move macOS photosui bindings out of photos.cs into photosui.cs (#2358) * [quicklook] Update up to beta 4 (#2374) * [uikit] UIDragInteraction & UIDragInteractionDelegate (Xcode 9 b1,2,3) (#2357) * [safariservices] Update up to beta 4 (#2380) * [coreanimation] Update to beta 4 (#2382) Apple removed (mistake?) some API in beta 1. Filed as rdar 33590997 Internal tracking in https://trello.com/c/J8BDDUV9/86-33590997-coreanimation-quartzcore-api-removals * [storekit] Update up to beta 4 (#2379) * [CoreML] Update to Xcode 9 Beta 4 (#2387) * [uikit] UICollectionView/UITableView Drag & Drop (Xcode 9 b1,2,3 & 4) (#2355) * Update code after radar 32929318 and 32897776 are fixed in b4 (#2394) * [xcode9 CoreAudio] New definitions from Beta1 to Beta3 (#2359) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 (#2397) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 https://bugzilla.xamarin.com/show_bug.cgi?id=58512 Created strong API (VNBarcodeSymbology) on the following properties * VNDetectBarcodesRequest.SupportedSymbologies * VNDetectBarcodesRequest.Symbologies * VNBarcodeObservation.Symbology * Remove modern C# because classic can't do it 😡 * [mediaplayer] Update up to beta 4 (#2388) * [watchkit] Update to beta 4 (#2398) * Bump Visual Studio for Mac max version (#2408) * [coreimage] Add CIBarcodeDescriptor and enabled missing API for VNBarcodeObservation. Fix #58197 (#2411) https://bugzilla.xamarin.com/show_bug.cgi?id=58197 * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 (#2407) * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 * [uikit] Fixes based on comments * [coreimage] CIImageAccumulator API fixes. Fix #58349 (#2412) * Obsolete the default `init`; * XM exposed some older APIs using `int` instead of `CIFormat`. This is fixed and old APIs are obsoleted; * Both new & old APIs are now using `CIFormat` for both XI and XM. https://bugzilla.xamarin.com/show_bug.cgi?id=58349 * [uikit] UIText drag & drop - up to Xcode 9 beta 4 (#2410) * [uikit] UISplitView & UIStackView up to Xcode 9 beta 4 (#2425) * Bump XI/XM versions before preview 4 (#2422) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 (#2378) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 * [PDFKit] Implement feedback * [PDFKit] the forgotten enum * [PDFKit] More feedback * [PDFKit] Add Mac changes * Missing change * Fix test RectangleF VS CGRect * Pass -Wunguarded-availability-new to quiet a new clang warning (#2424) - https://bugzilla.xamarin.com/show_bug.cgi?id=58574 * [mtouch/mmp] Ignore warnings about unguarded code section with regards to availability. (#2441) * [monotouch-test] Remove workaround for fixed Apple bug. (#2445) * Bump to Xcode 9 beta 5. (#2447) * Bump to Xcode 9 beta 5. * [mmp] Disable the partial static registrar, because Apple's macOS SDK is broken. > In file included from Xamarin.Mac.registrar.mobile.i386.m:1: > In file included from ./Xamarin.Mac.registrar.mobile.i386.h:11: > /Applications/Xcode9-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVFoundation.h:88:9: fatal error: 'AVFoundation/AVRouteDetector.h' file not found https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [mmp] Fix partial static registrar removal. * [CallKit] Update to Xcode 9 beta 5. * [ARKit] ARPointCloud doesn't conform to NSCopying anymore in Xcode 9 beta 5. * [ARKit] Update to Xcode 9 beta 5 enough to make tests happy. * [CoreImage] Stub out new filters in Xcode 9 beta 5. * [tests][monotouch] Simplify some MDLMesh asserts since values change a lot between OS versions. * [mmp] Default to the dynamic registrar for release builds again, due to bug #58629. https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [tests][introspection] CXCall started implementing NSCopying without saying so in the headers. * Disable mmp static registrar tests due to 58629 for now * [quicklook] Update to beta 5 (#2450) * [photos] Update for beta 5 (#2452) Also update some existing enum members were added in beta 1 on macOS * [safariservices] Update for beta 5 (#2455) * [mediaplayer] Update to beta 5 (#2456) * [CoreLocation] Update Xcode 9 Beta 5 (#2453) * [CoreML] Update to Xcode 9 Beta 5 (#2454) * [Contacts] Update to Xcode 9 Beta 5 (#2451) * [Vision] Update to Xcode 9 Beta 5 (#2458) * [builds] Tell LLVM to stay away from newer macOS functions. (#2459) Fixes this build problem on Sierra: > ld: weak import of symbol '_futimens' not supported because of option: -no_weak_imports for architecture x86_64 This is a symbol that was (will be?) introduced in High Sierra. Interestingly this only occurs if the Xcode 8.X Command Line Tools haven't been manually installed. Because if the Xcode 8.X Command Line Tools are installed, this happens: 1. llvm's configure script detects that 'futimens' is not usable. 2. llvm's configure script detects that 'futimens' is not usable, because xcrun sets SDKROOT=/ when calling clang. a. When the SDKROOT variable is set, clang passes '-syslibroot /usr/lib' to ld. b. When ld gets '-syslibroot /usr/lib', ld looks in '/usr/lib' for a library that contains 'futimens' in the OS itself, and since we're on Sierra, that fails to link. c. So when llvm's configure script creates a test program that checks if 'futimens' is present, the program fails. This is correct, and makes llvm *not* use futimens. 3. xcrun sets SDKROOT=/ because /usr/share/current-os.sdk/Info.plist exists. If that file does not exist, then xcrun sets SDKROOT to Xcode9's macOS SDK (because that's what xcode-select reports). a. When SDKROOT is set to Xcode9's macOS SDK, the configure check for 'futimens' succeeds, because the macOS 10.13 SDK contains that function. b. llvm happily uses 'futimens', and then the final link fails because we're using a symbol not available on all target platforms. * [arkit] Update for Xcode 9 beta 5 - Part 1 (#2460) * [tests] The container app for watchOS tests should be 64-bit. (#2463) * [xharness] watchOS tests need to run in a clean environment. Works around #58348. (#2462) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [xharness] It watchOS tests don't need to be clean anymore. Fixes #58348. (#2473) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [uikit] UIView/UIScrollView/UIViewController up to Xcode 9 beta 5 (#2431) - Add NSDirectionalEdgeInsets type. - Includes DirectionalEdgeInsetsTest. * [AudioToolbox] Update bindings to Xcode 9 beta3 (not later changes). (#2294) * [xharness] Add a file existence check. (#2478) Fixes this exception: ``` Harness exception for 'introspection': System.IO.FileNotFoundException: Could not find file '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log'. File name: '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log' at System.IO.__Error.WinIOError (System.Int32 errorCode, System.String maybeFullPath) [0x00207] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/__error.cs:188 at System.IO.FileInfo.get_Length () [0x00038] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/fileinfo.cs:171 at xharness.CaptureLog.StopCapture () [0x00021] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Log.cs:252 at (wrapper remoting-invoke-with-check) xharness.CaptureLog:StopCapture () at xharness.AppRunner+<RunAsync>d__68.MoveNext () [0x0127f] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/AppRunner.cs:642 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter`1[TResult].GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:357 at xharness.RunSimulatorTask+<RunTestAsync>d__7.MoveNext () [0x0029d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2894 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.RunTestTask+<ExecuteAsync>d__8.MoveNext () [0x0010b] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2538 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.TestTask+<RunInternalAsync>d__87.MoveNext () [0x0010d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:1870 ``` I'm not sure how this can happen, but it has on the bots [1]. [1] https://jenkins.mono-project.com/job/xamarin-macios-pr-builder/4548/Test_Report/ * Bump versions for preview 5 (#2479) * [passkit] Update to beta 5 (#2481) * [tests] Remove workaround for radar #32688391. (#2486) * [replaykit] Update up to beta 5 (#2484) * Bump maccore to get fix for bug #55064. (#2487) * [apidiff] Update definition to new 10.12 (d15-3) stable release (#2490) * [SceneKit] basic work (#2483) * [coredata] Update to beta 5 (#2488) * [homekit] Update for Xcode 9 beta 5 (#2492) * [Foundation] Update for xcode9 (#2468) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 (#2493) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 * [Intents] Implement feedback * [Intents] Add a generic version for INInteraction.GetParameterValue * [Intents] Missing check * [Contacts] Add missing foundation NSItemProviderWriting protocol to CNContact (#2496) https://bugzilla.xamarin.com/show_bug.cgi?id=58203 This is available on all Contacts supported platforms ``` ./iPhoneOS.platform/Developer/SDKs/iPhoneOS11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchOS.platform/Developer/SDKs/WatchOS4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchSimulator.platform/Developer/SDKs/WatchSimulator4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ``` * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) (#2497) * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) * [IntentsUI] Better use a delegate instead so we have named params * Bump versions before 6th preview (#2514) * [arkit] Add missing MarshalDirective to ARPlaneAnchor (#2517) - Fixes bug #58648: ARPlaneAnchor.Extent property seems incorrect but changes to correct value after Debug access (https://bugzilla.xamarin.com/show_bug.cgi?id=58648) * [xtro-sharpie] Fix a compiler warning. (#2516) Fixes these warnings: Runner.cs(197,5): warning CS0642: Possible mistaken empty statement Runner.cs(199,5): warning CS0642: Possible mistaken empty statement Runner.cs(201,5): warning CS0642: Possible mistaken empty statement Runner.cs(203,5): warning CS0642: Possible mistaken empty statement Runner.cs(205,5): warning CS0642: Possible mistaken empty statement * [uikit] Update for Xcode 9 beta 5 - Part 3 (#2511) - UIKeyCommand - UINavigationBar - UINavigationItem - UIPasteboard - UITableViewHeaderFooterView * [xtro-sharpie] Remove xtro-plugin and misc other fixes. (#2522) * [xtro-sharpie] Build with msbuild and be as quiet as requested when building. * [xtro-sharpie] Must run as a 64-bit process, since the required native libraries are 64-bit. * [xtro-sharpie] Add run configurations to the project file to ease debugging in the IDE. * [xtro-sharpie] Remove xtro-plugin and the related commands. This was needed when there wasn't a 64-bit mono, in order to run xtro-sharpie in a 64-bit process. Now there is a 64-bit mono, so it's not needed anymore. Also improve makefile targets a bit, to auto-build stuff when needed, by setting the right dependencies. * Bump Xcode 9 to beta 6 (#2519) Disable watchOS tests again It seems like the Carousel crash from beta 4 is back to haunt us. This was working fine with beta 5. * Backport d15-3 SR2 fixes (#2515) * [coredata] Update to beta 6 (#2528) This seems to only revert some nullability changes from beta 5. * [coreml] Update to beta 6 (#2531) Fix our rdar 33643011 where additional setters were added in the headers but did not exists. * [videosubscriberaccount] Update to beta 6 (#2533) Only b1 and b2 introduced some additions/changes * [uikit] Update for Xcode 9 beta 6 - Part 4 (#2527) The following headers are now up to date: - UICollectionViewFlowLayout.h - UIDocumentPickerViewController.h - UIFontDescriptor.h - UIImage.h - UIImageView.h - UIImagePickerController.h * [xharness] Re-enable the watchOS tests. (#2534) It works fine for me locally, so let's see what Jenkins says. * [macos] Add new APIs in CoreWlan from Xcode9b3 (#2525) * Update AppKit bindings based on radar 33271241 results (#2518) * Update AppKit bindings based on radar 33271241 results - The header comment was updated to note it was NSSliderTouchBarItem view that has the protocol * Remove NSUserInterfaceCompression where not listed in header * [vision] Update to beta 6 (#2532) Removal of some deprecated (during beta) `init*` selectors. Also sync the versions that were inlined in subclasses - the old ones were not removed and the new ones were not added. * [xtro-sharpie] Many methods don't have selectors in Clang's API, so default to the name if no selector. (#2523) This makes a few more unclassified entries show up (mostly missing designated initializers): https://gist.github.com/rolfbjarne/07aa20f9b50b75bf3e69ac6a825e873a * [macos] Add ExternalAccessory APIs from xcode9 (#2526) * [58851] Disable NSMenuView in AllItemsWithNSMenuShouldAllowNull (#2504) * [arkit] Update for Xcode 9 beta 5 - Part 2 (#2505) - Add last missing selector. - Add tests for manual code. * [monotouch-test] Disable FontDescriptorTest.WithFeature (#2537) Disabled because it looks like the tvOS font we use: "Gujarati Sangam MN" does not have rare ligatures anymore (and the entire test is based on it). Before getting an actual fix for that, let's disable the test so it doesn't break all current builds. See: https://bugzilla.xamarin.com/show_bug.cgi?id=58929 * [xtro-sharpie] Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute. (#2524) Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute to calculate the native name for a TypeDefinition. Unclassified changes: https://gist.github.com/rolfbjarne/828f8ee41eebb0a3b60a38d71822fe59 * [foundation/uikit] Inline NSItemProvider_UIKitAdditions in NSItemProvider (#2538) As suggested here: https://github.com/xamarin/xamarin-macios/pull/2527#discussion_r134670981 * [intents] Fix breaking changes (api-diff) (#2543) Additions of @required members inside `INSpeakable` cannot be `[Abstract]` * [contacts] Fix breaking change (api-diff) (#2542) Type Changed: Contacts.CNPostalAddress Removed method: public static string LocalizeProperty (CNPostalAddressKeyOption option); * [macos] Reenable static registrar since Xcode9b6 un-broke SDK headers (#2544) - Fix a subtle spacing issues in PartialStaticLibrary property * [corebluetooth] Update up to beta 6 and enable it on watchOS (#2540) macOS 10.13 has finally catch up with iOS and this simplifies the bindings a bit. * [foundation] API fixes (apidiff) (#2545) 1. Let's not add new, already [Obsolete] API Type Changed: Foundation.NSDimension Added constructors: [Obsolete ("Not intended to be directly instantiated, this is an abstract class.")] public NSDimension (); 2. Fix inconsistently named API, e.g. Type Changed: Foundation.NSAttributedString Added properties: public static string[] ReadableTypeIdentifiersForItemProvider { get; } public static string[] WritableTypeIdentifiers { get; } * [pdfkit] Do not add already [Obsolete] API in new profiles (#2547) and ensure using the newer, correct API works cross-platforms iOS (before) [Obsolete ("Use 'Find (string, NSStringCompareOptions)' instead.")] public virtual PdfSelection[] Find (string text, nint options); public PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'Find (string, PdfSelection, NSStringCompareOptions)' instead.")] public virtual PdfSelection Find (string text, PdfSelection selection, nint options); public void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string, NSStringCompareOptions)' instead.")] public virtual void FindAsync (string text, nint options); public void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string [], NSStringCompareOptions)' instead.")] public virtual void FindAsync (string[] text, nint options); iOS (after) public virtual PdfSelection[] Find (string text, Foundation.NSStringCompareOptions compareOptions); public virtual PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); * Bump versions for the 7th preview (#2541) * Remove additions of AVKit removed in beta5 (#2536) * NSUrlSessionTask should implement NSProgressReporting for iOS (#2548) NSUrlSessionTask implements NSProgressReporting on iOS as well as Mac, so the #if MONOMAC isn't needed. * Add missing availability attributes causing failures on older iOS versions (#2550) * [vision] Minor fix wrt xtro (#2551) including some things we need to ignore manually !missing-field! VNVisionVersionNumber not bound !missing-pinvoke! VNImagePointForFaceLandmarkPoint is not bound !missing-pinvoke! VNNormalizedFaceBoundingBoxPointForLandmarkPoint is not bound * [uikit] NSFileProviderMessaging was removed in beta 2. Fixes #58222 (#2552) reference: https://bugzilla.xamarin.com/show_bug.cgi?id=58222 * [uikit] Update for Xcode 9 - Part 5 (#2546) Bindings for the following headers: - UIActivity.h - UIActivityItemProvider.h - UIAlertController.h - UIApplication.h - UIBarButtonItem.h - UIButton.h - UICollectionViewLayout.h - UIColor.h - UIControl.h - UIDocumentMenuViewController.h - UIFontMetrics.h - UIGestureRecognizer.h - UIGraphicsImageRenderer.h - UIInputViewController.h * [CoreText] Fix an extraneous free in CTFont.GetDefaultCascadeList. (#2555) We do not own the return value from CFArrayGetValueAtIndex, so don't say we do when creating CTFontDescriptor instances, since that leads to angry dragons: 2017-08-28 20:15:20.293 monotouchtest[33186:2311738] A_FontTest 2017-08-28 20:15:20.294 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithFontDescriptorAndOptions 2017-08-28 20:15:20.295 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithNameAndOptions 2017-08-28 20:15:20.296 monotouchtest[33186:2311738] critical: Stacktrace: at <unknown> <0xffffffff> at (wrapper managed-to-native) CoreText.CTFont.CTFontCopyDefaultCascadeListForLanguages (intptr,intptr) [0x0000a] in <ae65a2b1eea242d2b68fe784749543bf>:0 at CoreText.CTFont.GetDefaultCascadeList (string[]) [0x00013] in /work/maccore/xcode9/xamarin-macios/src/CoreText/CTFont.cs:2185 at MonoTouchFixtures.CoreText.A_FontTest.GetCascadeList () [0x0001e] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/CoreText/FontTest.cs:78 at (wrapper runtime-invoke) object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) [0x0004f] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) System.Reflection.MonoMethod.InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&) [0x00016] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at System.Reflection.MonoMethod.Invoke (object,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo) [0x00032] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/corlib/System.Reflection/MonoMethod.cs:305 at System.Reflection.MethodBase.Invoke (object,object[]) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/referencesource/mscorlib/system/reflection/methodbase.cs:229 at NUnit.Framework.Internal.Reflect.InvokeMethod (System.Reflection.MethodInfo,object,object[]) [0x00009] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Reflect.cs:215 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunNonAsyncTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x00025] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:116 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x0001a] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:90 at NUnit.Framework.Internal.Commands.TestMethodCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:66 at NUnit.Framework.Internal.Commands.SetUpTearDownCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00007] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/SetUpTearDownCommand.cs:84 at NUnit.Framework.Internal.WorkItems.SimpleWorkItem.PerformWork () [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/SimpleWorkItem.cs:64 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at MonoTouch.NUnit.UI.BaseTouchRunner.Run (NUnit.Framework.Internal.Test) [0x0004d] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:442 at MonoTouch.NUnit.UI.BaseTouchRunner.Run () [0x00030] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:171 at MonoTouch.Dialog.StringElement.Selected (MonoTouch.Dialog.DialogViewController,UIKit.UITableView,Foundation.NSIndexPath) [0x00008] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/Elements.cs:765 at MonoTouch.Dialog.DialogViewController.Selected (Foundation.NSIndexPath) [0x00026] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:577 at MonoTouch.Dialog.DialogViewController/Source.RowSelected (UIKit.UITableView,Foundation.NSIndexPath) [0x00016] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:402 at (wrapper runtime-invoke) <Module>.runtime_invoke_void__this___object_object (object,intptr,intptr,intptr) [0x0005d] in <32f0c196c5bc4aa18daea2ee64a7814e>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) UIKit.UIApplication.UIApplicationMain (int,string[],intptr,intptr) [0x0005c] in <ae65a2b1eea242d2b68fe784749543bf>:0 at UIKit.UIApplication.Main (string[],intptr,intptr) [0x00005] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:79 at UIKit.UIApplication.Main (string[],string,string) [0x00038] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:63 at monotouchtest.Application.Main (string[]) [0x00011] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/Main.cs:27 at (wrapper runtime-invoke) <Module>.runtime_invoke_void_object (object,intptr,intptr,intptr) [0x00051] in <30a7f7e09de9467b8b454221034a0e38>:0 Native stacktrace: 0 monotouchtest 0x000000010fca03c4 mono_handle_native_crash + 244 1 monotouchtest 0x000000010fcadd30 mono_sigsegv_signal_handler + 288 2 libsystem_platform.dylib 0x000000011feb3b3a _sigtramp + 26 3 CoreFoundation 0x000000011de035a2 computeSanitizedString + 146 4 CoreText 0x00000001168df314 _ZN15TPurgeableCache19RetainedValueForKeyEPKv + 54 5 CoreText 0x00000001168def85 _ZNK17TDescriptorSource22CopyDescriptorUncachedEPK7__CFURLbPK10__CFString + 55 6 CoreText 0x00000001168df34f _ZNK17TDescriptorSource14CopyDescriptorEPK7__CFURLbPK10__CFString + 27 7 CoreText 0x00000001168e20ad _ZNK17TDescriptorSource35CopyFontDescriptorPerPostScriptNameEPK10__CFStringmm + 297 8 CoreText 0x00000001168dfd9e _ZNK17TDescriptorSource30CopySystemFontDescriptorByNameEPK10__CFString10UIFontFlag + 54 9 CoreText 0x00000001168e54c4 _ZNK14TFontFallbacks17CopyFontFallbacksEPK10__CFStringS2_PK9__CFArray + 652 10 CoreText 0x00000001168e4a00 _ZNK14TFontFallbacks29CopyFontFallbacksForLanguagesEPK10__CFStringPK9__CFArray + 122 11 CoreText 0x00000001168e4971 _ZN17TDescriptorSource39CopyDefaultSubstitutionListForLanguagesEPK10__CFStringPK9__CFArray + 61 12 CoreText 0x00000001169397a7 _ZNK9TBaseFont28CreateSystemDefaultFallbacksEPK10__CFStringPK9__CFArray + 51 13 CoreText 0x000000011693999c _ZNK9TBaseFont15CreateFallbacksE10UIFontFlagPPK16__CFCharacterSetPK9__CFArray + 346 14 CoreText 0x00000001168c1036 _ZNK5TFont24CreateDefaultCascadeListEPK9__CFArray + 242 15 CoreText 0x00000001168b8ff9 CTFontCopyDefaultCascadeListForLanguages + 97 16 ??? 0x0000000140eaefd3 0x0 + 5384105939 17 ??? 0x0000000140eae761 0x0 + 5384103777 18 ??? 0x000000013c9c8e74 0x0 + 5311860340 19 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 20 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 21 monotouchtest 0x000000010fd71bac mono_runtime_try_invoke_array + 1292 22 monotouchtest 0x000000010fd15587 ves_icall_InternalInvoke + 647 23 ??? 0x000000013e9fcd13 0x0 + 5345627411 24 ??? 0x000000013e9fc738 0x0 + 5345625912 25 ??? 0x000000013e9fded5 0x0 + 5345631957 26 ??? 0x000000013e9fbb76 0x0 + 5345622902 27 ??? 0x000000013e9e237e 0x0 + 5345518462 28 ??? 0x000000013e9e237e 0x0 + 5345518462 29 ??? 0x000000013e9e237e 0x0 + 5345518462 30 ??? 0x000000013e9e237e 0x0 + 5345518462 31 ??? 0x000000013e873006 0x0 + 5344014342 32 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 33 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 34 monotouchtest 0x000000010fd6e320 mono_runtime_invoke + 208 35 monotouchtest 0x000000010fe71af1 xamarin_invoke_trampoline + 5617 36 monotouchtest 0x000000010fe79ddd xamarin_arch_trampoline + 189 37 monotouchtest 0x000000010fe7b1a1 xamarin_x86_64_common_trampoline + 110 38 UIKit 0x0000000111b9876b -[UITableView _selectRowAtIndexPath:animated:scrollPosition:notifyDelegate:] + 1810 39 UIKit 0x0000000111b98986 -[UITableView _userSelectRowAtPendingSelectionIndexPath:] + 344 40 UIKit 0x0000000111a6b5c9 _runAfterCACommitDeferredBlocks + 318 41 UIKit 0x0000000111a59dad _cleanUpAfterCAFlushAndRunDeferredBlocks + 280 42 UIKit 0x0000000111a89f68 _afterCACommitHandler + 137 43 CoreFoundation 0x000000011de3ddb7 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23 44 CoreFoundation 0x000000011de3dd0e __CFRunLoopDoObservers + 430 45 CoreFoundation 0x000000011de22324 __CFRunLoopRun + 1572 46 CoreFoundation 0x000000011de21a89 CFRunLoopRunSpecific + 409 47 GraphicsServices 0x0000000121b7e9c6 GSEventRunModal + 62 48 UIKit 0x0000000111a5f7d0 UIApplicationMain + 159 49 ??? 0x000000013c9c4474 0x0 + 5311841396 50 ??? 0x000000013c9c40ad 0x0 + 5311840429 ================================================================= Got a SIGSEGV while executing native code. This usually indicates a fatal error in the mono runtime or one of the native libraries used by your application. ================================================================= * [monotouch-test] Don't subclass MKMapView. (#2556) MKMapView doesn't like being subclassed (Apple says "you should not subclass the MKMapView class itself"). Bad things like this starts happening: Thread 0 name: tid_303 Dispatch queue: com.apple.main-thread Thread 0 Crashed: 0 libsystem_kernel.dylib 0x0000000186b25348 __pthread_kill + 8 1 libsystem_pthread.dylib 0x0000000186c39354 pthread_kill$VARIANT$mp + 396 2 libsystem_c.dylib 0x0000000186a94fd8 abort + 140 3 monotouchtest 0x0000000101c02c14 mono_handle_native_crash + 22047764 (mini-exceptions.c:2548) 4 monotouchtest 0x0000000101c0d02c mono_sigsegv_signal_handler + 22089772 (mini-runtime.c:2886) 5 libsystem_platform.dylib 0x0000000186c33b60 _sigtramp + 52 6 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 7 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 8 CoreFoundation 0x0000000186eda51c -[__NSArrayM dealloc] + 68 9 CoreFoundation 0x000000018703f5c8 __CFBasicHashDrain + 312 10 CoreFoundation 0x0000000186fb5b44 _CFRelease + 224 11 CoreText 0x000000018a808404 TDescriptorSource::PurgeFontFallbacksCache+ 488452 () + 92 12 CoreText 0x000000018a808374 TDescriptorSource::PurgeFromCaches+ 488308 (__CFURL const*) const + 176 13 CoreText 0x000000018a7eec74 CTFontRemoveFromCaches + 168 14 VectorKit 0x0000000196a539b0 +[VKSharedResourcesManager removeResourceUser:] + 324 15 VectorKit 0x0000000196ca27a4 md::MapEngine::~MapEngine+ 2643876 () + 360 16 VectorKit 0x0000000196ca2634 md::MapEngine::~MapEngine+ 2643508 () + 12 17 libobjc.A.dylib 0x000000018651eef4 object_cxxDestructFromClass+ 28404 (objc_object*, objc_class*) + 148 18 libobjc.A.dylib 0x000000018652c638 objc_destructInstance + 88 19 libobjc.A.dylib 0x000000018652c690 object_dispose + 16 20 QuartzCore 0x000000018afca3ac -[CALayer dealloc] + 116 21 VectorKit 0x0000000196a43294 -[VKMapView dealloc] + 940 22 QuartzCore 0x000000018af6aafc CA::release_objects+ 744188 (X::List<void const*>*) + 32 23 QuartzCore 0x000000018afd97d8 CA::Layer::~Layer+ 1198040 () + 276 24 QuartzCore 0x000000018afca37c -[CALayer dealloc] + 68 25 QuartzCore 0x000000018af6b16c CA::Transaction::commit+ 745836 () + 1052 26 UIKit 0x0000000190393290 _afterCACommitHandler + 256 27 CoreFoundation 0x0000000186fb38b8 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 32 28 CoreFoundation 0x0000000186fb1270 __CFRunLoopDoObservers + 412 29 CoreFoundation 0x0000000186fb182c __CFRunLoopRun + 1292 30 CoreFoundation 0x0000000186ed22d8 CFRunLoopRunSpecific + 436 31 GraphicsServices 0x0000000188d58f84 GSEventRunModal + 100 32 UIKit 0x000000019040427c UIApplicationMain + 208 33 monotouchtest 0x000000010106eb90 wrapper_managed_to_native_UIKit_UIApplication_UIApplicationMain_int_string___intptr_intptr + 9907088 (/<unknown>:1) 34 monotouchtest 0x0000000100f0d6ac UIKit_UIApplication_Main_string___intptr_intptr + 8459948 (UIApplication.cs:79) 35 monotouchtest 0x0000000100f0d66c UIKit_UIApplication_Main_string___string_string + 8459884 (UIApplication.cs:63) 36 monotouchtest 0x0000000100b10450 monotouchtest_Application_Main_string__ + 4277328 (Main.cs:27) 37 monotouchtest 0x0000000100e0c244 wrapper_runtime_invoke_object_runtime_invoke_dynamic_intptr_intptr_intptr_intptr + 244 38 monotouchtest 0x0000000101c10048 mono_jit_runtime_invoke + 22102088 (mini-runtime.c:2526) 39 monotouchtest 0x0000000101c75eec do_runtime_invoke + 22519532 (object.c:2829) 40 monotouchtest 0x0000000101c78a3c do_exec_main_checked + 22530620 (object.c:4623) 41 monotouchtest 0x0000000101bf9a1c mono_jit_exec + 22010396 (driver.g.c:1040) 42 monotouchtest 0x0000000101d13d60 xamarin_main + 23166304 (monotouch-main.m:482) 43 monotouchtest 0x00000001007de710 main + 927504 (main.m:67) 44 libdyld.dylib 0x00000001869f656c start + 4 * [introspection] Let SkipDueToAttributeInProperty skip setters too (#2557) `SkipDueToAttributeInProperty` which is used to check the availability attribute of properties when the Availability info only exist on the property and not on the property Getter or Setter was wrong. This lead to `setSpringLoaded` (which was introduced in iOS 11) to not be ignored by the test (making it fail). - Fix bug #59085: [introspection-ios] selector not found for UIKit.UIBarButtonItem : setSpringLoaded: - Broken test (https://bugzilla.xamarin.com/show_bug.cgi?id=59085) * [corevideo][watchos] Enable CoreVideo on watchOS (#2553) * [storekit] Fix CampaignToken typo (#2559) (#2560) - Fixes bug #59078: StoreProductParameters and invalid property for CampaignToken (https://bugzilla.xamarin.com/show_bug.cgi?id=59078) * [coreml][watchos] Enable API using CoreVideo on watchOS. Fix #58097 (#2561) https://bugzilla.xamarin.com/show_bug.cgi?id=58097 * Add missing [MarshalDirective] attributes. (#2558) * [bindings-generator] Improve build & project file. * Add missing [MarshalDirective] attributes. Add missing [MarshalDirective] attributes, which also requires implementing support for out parameters in the binding generator, since one of the signatures missing the [MarshalDirective] contains such an out parameter. Also add tests for all the API I've added [MarshalDirective] to. * [bindings-generator] Remove redundant if check. * [monotouch-test] Rename file to end with 'Test.cs'. * [tests] Fix a few build errors for Xamarin.Mac. * [uikit] Fix UIColor and UIInputViewController tvOS availability (#2569) - Fixes introspection tests on tvOS 10. * [storekit] Fix SKCloudServiceSetupMessageIdentifier and SKProductStorePromotionController tvOS availability (#2568) - Fixes introspection tests on tvOS 10. * [mapkit] Fix MKMapItemTypeIdentifier tvOS availability (#2566) - Also remove double [Mac] availability attribute. - Fixes introspection tests on tvOS 10. * [ARKit] Fix marshalling for ARPointCloud.RawFeaturePoints. (#2565) ARPointCloud.RawFeaturePoints is an array of Vector3, but each vector is 16-byte aligned (as if it were an array of Vector4). This means we need to account for this when creating a managed array from pointer to the native C-style array. * [ModelIO] Fix MDLVoxelIndexExtent struct. (#2564) The MDLVoxelIndexExtent is a struct containing two 4-dimensional vectors of integers (not floats, as originally and incorrectly implemented). Fix this my creating a new MDLVoxelIndexExtent2 struct with the right fields, re-implement all the API that exposes this struct and obsolete the old API. Also add missing [MarshalDirective] attributes. And write a test to make sure it works fine now and forever. * [coredata] Enable new fields since rdar #33878590 is fixed w/beta 6 (#2570) reference: https://trello.com/c/dlSRYPFx * [xtro-sharpie] Add a Simd check class to verify signatures with Simd types. * [Simd] Add simd matrix types. The OpenTK matrices (Matrix2/3/4) has a different memory layout than Apple's matrix_float2x2/matrix_float3x3/matrix_float4x4 matrices: the OpenTK versions are row-major, while Apple's versions are column-major. This means that when blitting memory from one to the other, the matrix will appear to have been transposed. See bug #[58599][2] for an example. Unfortunately we've already bound several API with Apple's matrix_floatXxX matrices using OpenTK's matrices, and although they're bound wrong, and the matrices appear transposed on input/output, we can't change the behavior because we have to maintain compatibility. This means we have to introduce new API, and then also just define new matrix types with the right memory layout (column-major). Additionally, in the future we might be able to mark these matrices as Simd-matrixes, so that the JIT/AOT compiler can generate the correct alignment for them, avoiding having to define a native conversion method (using the [MarshalDirective] hack). The matrices have been designed to match API-wise the matrices in the System.Numerics.Vectors namespace [1], but for the moment with only a few basic operations implemented (Determinant/Transpose/Multiply) defined (we can always add more later if we want to). In addition explicit conversion operators to and from the corresponding OpenTK.MatrixX are implemented, which means any operation defined in the OpenTK matrices can be used by converting back and forth. [1]: https://msdn.microsoft.com/en-us/library/system.numerics.matrix4x4(v=vs.111).aspx [2]: https://bugzilla.xamarin.com/show_bug.cgi?id=58599 * [ARKit] Use the new Simd matrix types. * [Vision] Use the new Simd matrix types. * [ModelIO] Use the new Simd-compatible matrix types, and deprecate the old API. * [GameplayKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [SpriteKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [xtro] Don't report missing [MarshalDirective] for obsolete methods. * [xtro] Remove unnecessary ignores. The implementation changed, and these stayed accidentally. * [wkwebkit] Fix (native) protocol names (#2572) Also ignore xtro's WKSnapshotConfiguration since it's an Apple bug 34185961 reference (xtro) !missing-protocol! WKURLSchemeHandler not bound !missing-protocol! WKURLSchemeTask not bound !unknown-protocol! WKUrlSchemeHandler bound !unknown-protocol! WKUrlSchemeTask bound !unknown-type! WKSnapshotConfiguration bound * [uikit] Fix enums availability attributes (#2575) - Fixes bug #59132: [uikit] Extra types in watchOS (https://bugzilla.xamarin.com/show_bug.cgi?id=59132) * [watchkit] Add missing designated initializers (#2574) references (xtro) !missing-designated-initializer! WKInterfaceController::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! WKUserNotificationInterfaceController::init is missing an [DesignatedInitializer] attribute * [xtro] Reword some of the Simd diagnostic messages according to review. * [tests] Make sure test symbols don't clash between different test libraries. Fixes this build problem for framework-test: clang: error: linker command failed with exit code 1 (use -v to see invocation) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_get_rotation_matrix'. MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticObjectTest.framework/XStaticObjectTest (Location related to previous error) MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticArTest.framework/XStaticArTest(libtest-ar.x86_64.o) (Location related to previous error) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransformcomponent_get_local_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_create_global_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float4x4'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float3x3'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float2x2'. MTOUCH: error MT5209: Native linking error: 6 duplicate symbols for architecture x86_64 MTOUCH: error MT5202: Native linking failed. Please review the build log. * [tests] Since libtest.a need ModelIO now, the corresponding LinkWith attributes need to state that too. * [introspection] Don't check native signatures on obsolete members, and ignore the right simd matrix types. Fixes this introspection/Mac problem: ***** ApiSignatureTest.NativeSignatures Selector: uniformWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: uniformWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: uniformWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: setMatrixFloat2x2Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: setMatrixFloat3x3Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: setMatrixFloat4x4Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: initWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: initWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: initWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded * [monotouch-tests] Include more custom asserts for watchOS to make the build work. Fixes this: Simd/MatrixFloat4x4Test.cs(28,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(29,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(37,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(48,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' [...] * [monotouch-test] Exclude code that requires the binding project from xammac tests. Exclude code that requires the test binding project from xammac tests because there's currently no XM version of the test binding project. Fixes this: tests/monotouch-test/SpriteKit/UniformTest.cs(20,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLMaterialProperty.cs(37,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLTransform.cs(34,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) * Bump version for preview #8 (#2576) * [spritekit] Audit fixes (xtro) (#2577) 1. SKVideoNode is now, partially, available on watchOS and does not require the extra, manual code to swicth selectors depending on the OS version being run. !missing-type! SKVideoNode not bound !missing-selector! SKVideoNode::anchorPoint not bound !missing-selector! SKVideoNode::initWithCoder: not bound !missing-selector! SKVideoNode::initWithFileNamed: not bound !missing-selector! SKVideoNode::initWithURL: not bound !missing-selector! SKVideoNode::setAnchorPoint: not bound !missing-selector! SKVideoNode::setSize: not bound !missing-selector! SKVideoNode::size not bound !missing-selector! +SKVideoNode::videoNodeWithFileNamed: not bound !missing-selector! +SKVideoNode::videoNodeWithURL: not bound 2. SKNodeFocusBehavior is exposed needlessly on watchOS because SpriteKit/Enums.cs was not processed by the generator, so [NoWatch] did not matter. !unknown-native-enum! SKNodeFocusBehavior bound It's also visible on macOS but nothing uses it (so we do not expose it needlessly) !missing-enum! SKNodeFocusBehavior not bound 3. Add missing designated initializer on default `init` !missing-designated-initializer! SKAttributeValue::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! SKNode::init is missing an [DesignatedInitializer] attribute 4. Remove inconsistency for SKNode subclasses wrt XAMCORE_4_0 The trio attributeValues, setAttributeValues and setValue:forAttributeNamed: that was moved from SKNode (deprecated) into its subclasses. This was done using XAMCORE_4_0 but not on every subclasses. This adds them everywhere to be consistent (only SKNode versions are not defined in XAMCORE_4_0) !missing-selector! SKEffectNode::attributeValues not bound !missing-selector! SKEffectNode::setAttributeValues: not bound !missing-selector! SKEffectNode::setValue:forAttributeNamed: not bound !missing-selector! SKEffectNode::valueForAttributeNamed: not bound !missing-selector! SKEmitterNode::attributeValues not bound !missing-selector! SKEmitterNode::setAttributeValues: not bound !missing-selector! SKEmitterNode::setValue:forAttributeNamed: not bound !missing-selector! SKEmitterNode::valueForAttributeNamed: not bound !missing-selector! SKSpriteNode::attributeValues not bound !missing-selector! SKSpriteNode::setAttributeValues: not bound !missing-selector! SKSpriteNode::setValue:forAttributeNamed: not bound !missing-selector! SKSpriteNode::valueForAttributeNamed: not bound * [introspection] Make sure '[FAIL]' is printed before every failure. (#2578) This makes xharness able to list the failures in the inline summary. * [xtro] Reword some of the Simd diagnostic messages according to review. * [xharness] Add a missing IsServerMode check to generate correct html. (#2581) * [SpriteKit] SKTransformNode is new in Xcode 9 so no need to keep the broken (and obsolete) non-simd version of RotationMatrix. * [intents] Fix some (partial) xtro issues and #59156 (#2585) reference https://bugzilla.xamarin.com/show_bug.cgi?id=59156 Remaining issues are filled in https://bugzilla.xamarin.com/show_bug.cgi?id=59183 !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound * [Intents] Confirm* interface methods should be bound as Confirm, Fixes Bug 59164 (#2591) * [Intents] Confirm* interface methods should probably be bound as Confirm, Fixes Bug 59164 https://bugzilla.xamarin.com/show_bug.cgi?id=59164 All Confirm* methods from *IntentHandling interfaces should be named just `Confirm` to avoid confusion because most of them do not directly confirm as an acion, but instead they **ask** for confirmation also we would follow swift's naming by doing this. * [Intents] XAMCORE_4_0 all Confirm* methods from *IntentHandling Turns any Confirm* into just Confirm inside a XAMCORE_4_0 block, * [Intents] Fix breaking changes in Intents added in Xcode 9 Bindings (#2590) Apple added more protocol conformances to INRidesharingDomainHandling and INPaymentsDomainHandling protocols in Xcode 9, I introduced these breaking changes back when I did intents binding so fixing them :) * [Metal] New bindings from Xcode 9 betas (#2457) * [AVFoundation] Updated bindings for xcode9. (#2272) * [Xcode9] Add IOSurface bindings (#2363) * This framework was a private framework before iOS 11. This framework was a private framework before iOS 11, yet the headers claim many API were introduced in iOS 10. So take account of this difference by using the private framework location in iOS 10.3 or earlier. Testing these API from Xcode works fine when run on an iOS 10.3 device, and I've confirmed the IOSurface framework is loaded from the private frameworks path on older devices (and when built using Xcode 9 and linked with the public framework path). * Disable code to make IOSurface work on iOS 10. Disable the code to make IOSurface work on iOS 10, since it may be rejected by the App Store. This also means adjusting the availability attributes, so that the introspection tests pass (and to document that technically these API won't work when used with Xamarin.iOS in iOS 10). I've filed bug #[59201][1] to keep track of this, maybe we can re-enable this later. [1]: https://bugzilla.xamarin.com/show_bug.cgi?id=59201 * [CoreMedia] Fix leak in CMAttachmentBearer.GetAttachments. (#2593) The caller owns the return value from CMCopyDictionaryOfAttachments, so tell Runtime.GetNSObject that. * [Intents] Adds missing API found by xtro, fixes Bug 59183 (#2596) https://bugzilla.xamarin.com/show_bug.cgi?id=59183 Fixes !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !incorrect-protocol-member! INUIHostedViewControlling::configureWithInteraction:context:completion: is OPTIONAL and should NOT be abstract * [xtro] Fix StartWorkingDirectory to enable debugging (#2598) * [iosurface] Enable for tvOS and XM classic (to avoid multiple defines around consumer API) (#2597) * [xtro] Fix EnumCheck (#2600) * [ARKit] Rename a few method to make them nicer. (#2604) * DisplayTransform -> GetDisplayTransform since methods should have verbs. * SessionWasInterrupted -> WasInterrupted and SessionInterruptionEnded -> InterruptionEnded since these names match better with the other names (CameraDidChangeTrackingState / DidFail / DidOutputAudioSampleBuffer: none are prefixed with 'Session'). Additionally, the type is a Model (for the delegate pattern), which means all methods are more-or-less event-like, and the first argument is always the same (the protocol itself), which is another indicator the methods should be named similarly. * [Foundation] Remove 'Key' suffix from some fields. (#2606) Of the 168 fields in NSMetadataItem, only these 5 hadn't removed the 'Key' suffix. So make them all equivalent by removing the 'Key' suffix from these 5 fields. * [ImageIO] Fix API to not duplicate the instance in instance methods. (#2609) An instance method does not need to take the instance as a parameter, so remove the first (instance) parameter for CGImageDestination.AddAuxiliaryDataInfo and CGImageSource.CopyAuxiliaryDataInfo. An alternative solution would be to make the methods static, but I like the instance API better. * [UIKit] De-model UIDataSourceTranslating. (#2603) It's not clear from neither the documentation nor the headers how this protocol is supposed to be used, and since it doesn't correspond to the delegate pattern, remove the [Model] attribute for now. We can always add it back later. * [CoreML] Improve API. (#2592) * [CoreML] Improve API. * The indices, shape and stride properties for MLMultiArray and MLMultiArrayConstraint can logically only be arrays of integers, so type them as such. This means adding overloads for MLMultiArray's constructors, GetObject and SetObject methods, and the indexers that takes nint[] arrays instead of NSNumber[] arrays. * Change MLFeatureValue's static factory methods to be a method ('Create') instead of a preposition, and call all the different factory methods the same, since they can be overloaded nicely. * [tests][monotouch-test] Add version check to MLMultiArrayTest and make sure the arrays we create are big enough for the data we put in them. * [tests][monotouch-test] MLMultiArray's elements aren't zero-initialized, so don't assume that in the tests. * Support overloading Objective-C methods based on static/instance. (#2607) Two Objective-C methods can be named identically as long as one is static and the other instance. We must support this since Apple did just this (in the NSItemProviderReading / NSItemProviderWriting protocols). We solve it by prepending a '+' or '-' to the selector when hashing it (to determine selector uniqueness, and to look the method up again at runtime). * [uikit] Update for Xcode 9 - Part 6 (#2602) NSAttributedString.h NSFileProviderExtension.h NSLayoutAnchor.h UIAccessibility.h UIAccessibilityAdditions.h UIAccessibilityContainer.h UIAccessibilityContentSizeCategoryImageAdjusting.h UIAccessibilityCustomRotor.h UIAccessibilityLocationDescriptor.h UITabBar.h UINavigationBar.h UIScreen.h * Xcode9 scenekit (#2512) * [SceneKit] basic work * Added key * [xcode9] SCNCameraController * [xcode9] SCNCamera updates * [xcode9] SCNMaterial * [xcode9] SCNGeometryTessellator, SCNCameraControlConfiguration, SCNView, small bits * Add trailing commas to last enum value * Remove whitespace noise * [scenekit] Update deprecated attributes messages * Addresses some of Rolf's feedback * Drop the WeakDelegate in SCNCameraController * Rename method to Render, remove ctor from class that can not be constructed in Palygrounds, add typo exception * [AppKit] Rename NSBezierPath.AppendBezierPathWithCGGlyph to match its sibling methods. (#2605) NSBezierPath contains a lot of 'AppendPathWithXXX' methods, that all map to 'appendBezierPathXXX' selectors. So rename AppendBezierPathWithCGGlyph accordingly, to make it more similar to the other methods in the same type. * [uikit] Add all UISpringLoadedInteractionSupporting (#2616) Types do not conform to the protocol but protocol methods work on those types (see monotouch-test). Fixed introspection tests accordingly and tested the selectors in monotouch-test. * [Intents] Add convenience ctor overload and call correct base ctor in manual ctor. (#2613) Add a convenience constructor overload in INGetUserCurrentRestaurantReservationBookingsIntent that uses nint instead of NSNumber, since logically "number of results" will always be some sort of integer. Also call the correct base constructor in INSpeakableString's custom constructor (same as any other generated constructor). Otherwise we end up doing something like this: [[[INSpeakableString alloc] init] initWith ...], i.e. calling two different init methods. * [coreimage] Add new headers API up to beta 6 (#2601) Filters are not complete (ref: #57350) https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * Some new constants are not yet documented (type is known), so they are commented / ignored https://bugzilla.xamarin.com/show_bug.cgi?id=59296 * Filled bug for [Wrap] inside [Category] so strong dictionary helpers can be re-enabled later https://bugzilla.xamarin.com/show_bug.cgi?id=59294 * [foundation] xtro fixes for watchOS (#2586) !missing-enum! NSProcessInfoThermalState not bound !missing-field! NSProcessInfoThermalStateDidChangeNotification not bound !missing-selector! NSProcessInfo::thermalState not bound Headers are wrong and preferredPresentationStyle is not in tvOS and watchOS !missing-selector! NSItemProvider::preferredPresentationStyle not bound !missing-selector! NSItemProvider::setPreferredPresentationStyle: not bound * [uikit] Also remove UIPreferredPresentationStyle enum from platform where it's not used * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. (#2614) * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. * NSItemProviderWriting: * NSItemProviderReading: Implement correctly and completely by uncommenting commented out code. * NSMutableString: * NSAttributedString: remove inlined members, since these classes don't implement NSItemProviderReading / NSItemProviderWriting (according to the headers at least). * NSUrl: all platforms now seem to implement NSItemProviderReading / NSItemProviderWriting. * NSString: all platforms now seem to implement both NSItemProviderReading and NSItemProviderWriting * UIColor: * UIImage: Update inlined protocol members according to the latest beta. Additionally, due to the following conditions: * The protocols all have the correct members now. * In the API definition we tell the generator to inline members from a protocol by inheriting from the corresponding interface. * The generator doesn't inline static members from protocols. several 'new' keywords had to be added to silence a compiler warning that occurrs when we manually inline a static member, since the member would be included in the type both from the inherited interface and the manual implementation. * [Foundation] Comment out NSItemProviderWriting.GetItemProviderVisibility to avoid inlining/generating unusable methods. NSItemProviderWriting.GetItemProviderVisibility is an optional method, and none of the native classes that implements NSItemProviderWriting actually imlements the method. This means inlining the method in those classes ends up creating unusable API; so just comment out the method to avoid generating the unusable API. The introspection tests found this: [FAIL] Foundation.NSString : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Foundation.NSUrl : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Contacts.CNContact : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] MapKit.MKMapItem : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIColor : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIImage : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] iOSApiSelectorTest.ApiSelectorTest.StaticMethods : 6 errors found in 2348 static selector validated: See also https://bugzilla.xamarin.com/show_bug.cgi?id=59308 * [iosurface] Add missing [TV] attributes (#2619) * [opengles] Enable the new API using IOSurface (#2618) The symbol only exists inside device libraries, not on simulator, and the introspection tests were updated to ignore it. Part of https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [avfoundation][watchos] Enable AudioBufferList (fix #59145) + audit (xtro) (#2617) 1. AudioBufferList is part of CoreAudio (wrong namespace, which needs a few changes in the generator) and now available in watchOS 4 https://bugzilla.xamarin.com/show_bug.cgi?id=59145 2. Also fixes xtro found issues: !missing-type! AVAudioRecorder not bound !missing-selector! AVAudioRecorder::averagePowerForChannel: not bound !missing-selector! AVAudioRecorder::channelAssignments not bound !missing-selector! AVAudioRecorder::currentTime not bound !missing-selector! AVAudioRecorder::delegate not bound !missing-selector! AVAudioRecorder::deviceCurrentTime not bound !missing-selector! AVAudioRecorder::format not bound !missing-selector! AVAudioRecorder::initWithURL:format:error: not bound !missing-selector! AVAudioRecorder::initWithURL:settings:error: not bound !missing-selector! AVAudioRecorder::isMeteringEnabled not bound !missing-selector! AVAudioRecorder::isRecording not bound !missing-selector! AVAudioRecorder::peakPowerForChannel: not bound !missing-selector! AVAudioRecorder::recordAtTime: not bound !missing-selector! AVAudioRecorder::recordAtTime:forDuration: not bound !missing-selector! AVAudioRecorder::recordForDuration: not bound !missing-selector! AVAudioRecorder::setChannelAssignments: not bound !missing-selector! AVAudioRecorder::setDelegate: not bound !missing-selector! AVAudioRecorder::setMeteringEnabled: not bound !missing-selector! AVAudioRecorder::settings not bound !missing-selector! AVAudioRecorder::url not bound !missing-protocol! AVAudioRecorderDelegate not bound !missing-selector! AVAudioEngine::inputNode not bound !missing-selector! AVAudioEngine::manualRenderingBlock not bound !missing-selector! AVAudioInputNode::setManualRenderingInputPCMFormat:inputBlock: not bound !missing-selector! AVAudioPlayer::format not bound !missing-selector! AVAudioSession::requestRecordPermission: not bound !unknown-field! AVFileType3GPP bound !unknown-field! AVFileType3GPP2 bound !unknown-field! AVFileTypeAC3 bound !unknown-field! AVFileTypeAIFC bound !unknown-field! AVFileTypeAIFF bound !unknown-field! AVFileTypeAMR bound !unknown-field! AVFileTypeAVCI bound !unknown-field! AVFileTypeAppleM4A bound !unknown-field! AVFileTypeAppleM4V bound !unknown-field! AVFileTypeCoreAudioFormat bound !unknown-field! AVFileTypeDNG bound !unknown-field! AVFileTypeEnhancedAC3 bound !unknown-field! AVFileTypeHEIC bound !unknown-field! AVFileTypeHEIF bound !unknown-field! AVFileTypeJPEG bound !unknown-field! AVFileTypeMPEG4 bound !unknown-field! AVFileTypeMPEGLayer3 bound !unknown-field! AVFileTypeQuickTimeMovie bound !unknown-field! AVFileTypeSunAU bound !unknown-field! AVFileTypeTIFF bound !unknown-field! AVFileTypeWAVE bound * [Metal] Implement API using IOSurface now that IOSurface is implemented. Partially fixes #58054. (#2621) https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [PdfKit] Improve PdfAnnotation.QuadrilateralPoints binding by making it strongly typed. (#2620) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). (#2622) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). * [ARKit/Vision] Use the new simd vector types instead of the OpenTK versions. * [ModelIO] Use the new simd vectors in new API (MDLVoxelIndexExtent2). This way we won't have to create a MDLVoxelIndexExtent3 in the future. * [SpriteKit] Use the new simd vectors in new API. * [metal] Audit (xtro) based fixes (#2623) !extra-protocol-member! unexpected selector MTLArgumentEncoder::newArgumentEncoderForBufferAtIndex: found !extra-protocol-member! unexpected selector MTLComputeCommandEncoder::dispatchThreads:threadsPerThreadgroup: found macos-only !missing-field! MTLDeviceRemovalRequestedNotification not bound !missing-field! MTLDeviceWasAddedNotification not bound !missing-field! MTLDeviceWasRemovedNotification not bound !missing-pinvoke! MTLCopyAllDevices is not bound * [CloudKit] Update bindings to beta 6. (#2615) * [FileProvider] Turn NSFileProviderItemIdentifier enum into a static class, fixes bug 59329 (#2634) https://bugzilla.xamarin.com/show_bug.cgi?id=59329 At the time of binding NSFileProviderItemIdentifier it wasn't clear how it was supposed to be used, I mean apple provides two keys which I thought were the only possible values hence binding it as an smart enum. Unfortunately this wasn't the case and the user can use those two values provided from the SDK or their own NSString Identifier. Swift provides a wrapper unfortunately we can't do the same due to NSFileProviderItemIdentifier is used in the NSFileProviderItem protocol and we currently do not support changing signatures on them. * [mtouch] Teach mtouch about the 'IOSurface' framework for tvOS. Fixes #59333. (#2630) https://bugzilla.xamarin.com/show_bug.cgi?id=59333 * Bump Touch.Unit to get fix for API breakage. (#2631) spouliot/Touch.Unit@8f1e19d [NUnitOutputTextWriter] Reintroduce previous constructor to make sure we don't break binary ABI. spouliot/Touch.Unit@00b0c0b [NUnitOutputTextWriter] Don't write invalid xml comments. spouliot/Touch.Unit@de9fe20 [TouchRunner] Restore the original code path when not wrapping NUnit xml output. * [IOSurface] Add missing availability attributes for tvOS. (#2629) * Bump versions for preview 9 (#2624) * [AVFoundation] Add missing interface AVRouteDetector. (#2637) * [tests] Update xtro to reduce list sizes (#2636) * Skip OpenTK duplicate declaration (we can't change them); * Fix rule name change for ARKit / simd; * Add missing default initializer on `init` to pending actions; * Add note for AVPersistableContentKeyRequest changes wrt tvOS; * [ReplayKit] Make RPBroadcastActivityViewController.LoadBroadcastActivityViewController async-capable. (#2639) * [xcode9] More SceneKit bindings (#2633) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 (#2644) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 https://bugzilla.xamarin.com/show_bug.cgi?id=59380 vector_float3 is 16 bytes, which means the binding is incorrect, because Vector3 is 12 bytes, and our code does not that difference into account. * Add tests * [DeviceCheck] Disable default ctor for DCDevice. (#2642) It doesn't seem to be useful according to the documentation, since it appears that the only way to get an instance is to use the static CurrentDevice property. * [audiounit] Audit (xtro) fixes for tvOS (#2635) Availability attributes in non-generated files don't hide symbols/code. reference: !unknown-pinvoke! AudioUnitExtensionCopyComponentList bound !unknown-pinvoke! AudioUnitExtensionSetComponentList bound * [tests] Make sure tvOS tests don't use the (unexisting) API * [tests] Add all test project variations to tests-mac.sln (#2579) * [xharness] Make sure generated mac projects have different project guids. * [introspection] Change the project guid so that it doesn't match the dontlink-mac project guid. * [tests] Add all test project variations to tests-mac.sln. * [xharness] Fix else condition. * [FileProvider] Adds missing NSFileProviderPage constants, fixes bug 59297. (#2646) https://bugzilla.xamarin.com/show_bug.cgi?id=59297 Adds NSFileProviderInitialPageSortedByName and NSFileProviderInitialPageSortedByDate NSData constants * [Xcode9] Remove NSFileProviderMessage and NSFileProviderMessageInterface (#2647) APIs were removed in beta 2 * [Foundation/UIKit] Provide LoadObject[s] methods that return the expected type in the callback. Fixes #59049. (#2638) The callback for these LoadObject[s] methods take an INSItemProviderReading parameter. This tells our runtime that we must provide an instance of a managed object that implements this interface (but nothing else), so we create a `NSItemProviderReadingWrapper` instance, which complies with the API (since the wrapper type implements the corresponding interface). Unfortunately these methods are supposed to return an instance of the passed- in type, so in order to comply with this soft (documentation-only) requirement, provide a wrapper method that creates instances of the right types. https://bugzilla.xamarin.com/show_bug.cgi?id=59049 * [arkit] Ignore deprecated selectors (#2645) * [FileProvider] Adds missing protocol and keys from audit (#2652) ``` !missing-protocol! NSFileProviderServiceSource not bound !missing-field! NSFileProviderErrorCollidingItemKey not bound !missing-field! NSFileProviderErrorNonExistentItemIdentifierKey not bound !missing-field! NSFileProviderFavoriteRankUnranked not bound ``` Also adds `NSXpcListenerEndpoint` to foundation, needed by `NSFileProviderServiceSource` protocol. * [tests][xtro] Workaround xtro runner dupe entry exception and update data files (#2654) * [AVFoundation] Rename field to match others. (#2657) * [homekit] Audit (xtro) fixes (#2653) - HMCharacteristicEvent conforms to NSMutableCopying on iOS11 which makes it 64 bits only (so adjust intro tests) - Ignore extra setters on HMMutablePresenceEvent, rdar 33883958 !missing-selector! HMMutablePresenceEvent::setPresenceEventType: not bound !missing-selector! HMMutablePresenceEvent::setPresenceUserType: not bound * [xtro] Add missing pinvoke to pending (#2662) - Bug 59422: [uikit] Missing UIContentSizeCategoryCompareToCategory & UIContentSizeCategoryIsAccessibilityCategory (https://bugzilla.xamarin.com/show_bug.cgi?id=59422) * Merge latest d15-3 fixes into xcode9 (#2660) * [msbuild] Re-added wildcard (*) expandsion for application-identifier in Entitlements.plist (#2186) Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=57119 * Bump mono (#2213) * Framework tests were still binding non-linked Simple class which errors now (#2216) (#2218) - Improve Makefile to rebuild when projects build with errors * Bump mono to get cecil fix for bug #56808. (#2222) https://bugzilla.xamarin.com/show_bug.cgi?id=56808 * [msbuild] Use @(ReferencePath) instead of @(ResolvedFiles) (#2188) (#2214) This allows things to work on both xbuild and msbuild. In xbuild, both lists are exactly the same and on msbuild, only @(ReferencePath) exists. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=55147 * NSActivityOptions.IdleDisplaySleepDisabled had wrong value (#2232) (#2239) This was due to an integer overflow. The original value was based on Int32 1 << 40 == 256 The correct value should be based on a UInt64. 1UL << 40 == 1099511627776 * [tests] Fix bug 57699 - [iOS]InternalsTest failure (Linkall) tests on device (#2243) Strip native debugging symbols should not be checked for debug builds * Bump mono to get fix for bug #57780. https://bugzilla.xamarin.com/show_bug.cgi?id=57780 * Update .gitmodules Change branch to d15-3 branch of mono * Bump maccore to get fix for bug #55064. https://bugzilla.xamarin.com/show_bug.cgi?id=55064 * [mono] Bump mono to get the head of cecil/mono-2017-04 and fix IsComObject #57919 Also fix #58789 [1], the typo in tools/mtouch/Tuning.cs showing in MT0000 errors instead MT2102. That's already in master and d15-4 mono bump includes: [2] commit 2a6502cee0df9de5198eafe7c8b5f6ac25106f34 (HEAD -> d15-3, origin/d15-3) Merge: 02457c20fcf 5e05cafc6f1 Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 10:04:06 2017 -0400 Merge pull request #5401 from marek-safar/com [Marshal.IsComObject] Make this predicate return false instead of thr… [3] commit 02457c20fcf57c0610e844d638eb1da82b5d1eb0 Merge: da80840ea55 73fd9a1b82e Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 09:59:06 2017 -0400 Merge pull request #5400 from spouliot/bump-cecil-58834-d15-3 [cecil] Bump to the head of the mono-2017-04 branch and pick the fix for bug #58834 References [1] https://bugzilla.xamarin.com/show_bug.cgi?id=58789 [2] https://bugzilla.xamarin.com/show_bug.cgi?id=57919 [3] https://bugzilla.xamarin.com/show_bug.cgi?id=58834 * [mtouch] Put 'mono_profiler_startup_log' in the symbol list. Fixes #58778. (#2501) We need the 'mono_profiler_startup_log' symbol when profiling is enabled, so make sure to add the symbol to the correct list of symbols we need. Previously we were passing `-u _mono_profiler_startup_log` to clang directly, which is fine, but not complete, since it does not write the symbol to the symbollist file (--symbollist=file), which means it wouldn't be preserved when the MSBuild tasks strip the executable. https://bugzilla.xamarin.com/show_bug.cgi?id=58778 * Bump versions for SR3 https://trello.com/c/EVze08ei * Bump mono to include HttpClientHandler fix #44027 https://trello.com/c/jYFXadH8/8-systemnethttp-close-request-stream-when-httpclienthandler https://bugzilla.xamarin.com/show_bug.cgi?id=44027 * [FileProvider] Add missing API and turn NSString to string (#2663) Turned NSString to string in order to match exisiting API. * [uikit] Add UIPasteConfigurationSupporting and UITextPasteConfigurationSupporting (#2649) - Fixes bug #59363: Missing UIPasteConfigurationSupporting, UITextPasteConfigurationSupporting, UITextDraggable and UITextDroppable on a couple of types (https://bugzilla.xamarin.com/show_bug.cgi?id=59363) * [uikit] Remove 129 types in UIPasteConfigurationSupporting case * [scenekit] Audit (xtro) fixes (#2648) This looks like an Apple breaking change (since `SCNAnimation` is new) but we now have: > typedef void (^SCNAnimationEventBlock)(id<SCNAnimation> animation, id animatedObject, BOOL playingBackward); bound as > delegate void SCNAnimationEventHandler (CAAnimation animation, NSObject animatedObject, bool playingBackward); and `CAAnimation` conforms to `SCNAnimation` but *only* the later is available on watchOS. The delegate is only updated (since it's new) on our watchOS profile. xtro references: (watchos) !unknown-protocol! SCNCameraControlConfiguration bound (tvos/watchos) !missing-selector! SCNAnimation::animationEvents not bound !missing-selector! SCNAnimation::setAnimationEvents: not bound !missing-selector! SCNConstraint::isEnabled not bound !missing-selector! SCNConstraint::setEnabled: not bound !missing-field! SCNSceneSourceConvertToYUpKey not bound !missing-field! SCNSceneSourceConvertUnitsToMetersKey not bound (ios/tvos) !missing-protocol-conformance! SCNNode should conform to UIFocusItem * Bump maccore post 15.3 merge (#2665) * Bump Xcode 9 to GM (#2667) * Force build (on wrench) * [avfoundation] Fix breaking changes (apidiff) (#2664) * [TVServices] Update to Xcode 9 GM (#2675) * [GameController] Update to Xcode 9 GM (#2673) * [LocalAuthentication] Update to Xcode 9 GM (#2671) * [LocalAuthentication] Update to Xcode 9 GM * Remove availability from BiometryNotAvailable, BiometryNotEnrolled and BiometryLockout * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer (#2659) * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer Some of the new added types were already present BUT under a #if MONOMAC, they had to be moved. * [AVFoundation] Set the wrongly added API to be obsolete and ensure it returns logical values. (#2650) * [xtro] The right platform for macOS is 'macos', not 'osx'. (#2677) The platform name is used to filter availability attributes, and if we use the wrong platform, we'll incorrectly skip all availability attributes. The net result in unclassified entries: https://gist.github.com/rolfbjarne/a4474bc2a40c49a85cad495b51bb514f * Various Xcode 9 API improvements and also fixes bug 59433 (#2676) https://bugzilla.xamarin.com/show_bug.cgi?id=59433 While fixing bug 59433 I noticed some additional issues outlined below: AVDepthData: * Renamed **non** static `Create` methods because `Create` only makes sense with the **Static** method in this context. Also by renaming the methods we are now closer to the names that swift uses. * Kept descriptive method names in favor of self-documenting code. `Convert`, `Apply` and `Replace` do not fully give us the intent of the method. * Added a convenience `Create` static method that takes a `CGImageAuxiliaryDataInfo`. * AvailableDepthDataTypes is now an array of `CVPixelFormatType` instead of a `NSNumber` array (The aactual fix for bug 59433). ImageIO: * Refactored `CGImageAuxiliaryDataInfo` to be a `StrongDictionary` in order to avoid most of the manual code and also to avoid reimplementing the `ToDictionary` method (which contained a subtle bug). * Adjusted code to reflect the above change. * Added missing `.ctor (IntPtr, bool)` to `CGImageMetadata` so the class is able to be created by our `Runtime.Get*`. * Simplified `CopyAuxiliaryDataInfo` method by using `CGImageAuxiliaryDataInfo` as a `DictionaryContainer`. Tests: * Added `xamarinmonkey.heic` which is an image that contains depth data needed to test above changes. * Adds `AVDepthDataTests` that touches most of the changes listed here. * Tweak the Simd-compatible matrices and vectors (#2668) * Rename them to be OpenTK.NMatrix# (instead of Simd.MatrixFloat#x#). * Remove the Vector2 and Vector4 variants, we'll use the OpenTK types instead (but we'll keep the NVector3 variant, since it's not identical to the OpenTK version). * Update the API to match their OpenTK counterparts better: * NMatrix2 and NMatrix3 have a 0-based R#C# scheme for their fields. * NMatrix4 has a 1-based M## scheme for its fields (i.e. no change). * [AVFoundation] Use Simd-matrix for API that needs it. (#2679) This also requires implementing the corresponding matrix (NMatrix4x3). Fixes this xtro issue: > !unknown-simd-type-in-signature! OpenTK.Matrix3 AVFoundation.AVCameraCalibrationData::get_GetIntrinsicMatrix(): the native signature has a simd type (matrix_float3x3), while the corresponding managed method is using an incorrect (non-simd) type. * [xtro] Fix checking availability on categories. (#2682) When checking for category availability, check if both the current declaration is a category, and if the current's declaration container is a category. Otherwise this scenario fails: * Category method is available. * Category does not have availability attributes. * Main class is unavailable. with this typical code sequence: ```csharp // don't process methods (or types) that are unavailable for the current platform if (!decl.IsAvailable () || !(decl.DeclContext as Decl).IsAvailable ()) return; ``` In which case we'd: * First check the method (`decl`): * It's available, so no further checks is done on the method. * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container's container is a category (it isn't, it's the namespace). and as such determine that the method is available. With this change, the second step will become: * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container is a category (it is), and if its main class is available (it isn't). and as such determine that the method is unavailable. * Check for attributes on the method's container (no attributes, so we continue). * Check if the method's Unclassified diff: https://gist.github.com/rolfbjarne/8fa80962596978a426eadf9b7ba39dc1 * [uikit] Update for Xcode 9 GM (#2670) * [AVFoundation] Implement AVCapturePhoto. Partially fixes #59388. (#2678) Fixes: > common.unclassified:!missing-type! AVCapturePhoto not bound https://bugzilla.xamarin.com/show_bug.cgi?id=59388 * Use strong dictionaries for AVCapturePhoto.Metadata and AVCapturePhoto.EmbeddedThumbnailPhotoFormat. * [SIMD] Implement Simd double types (VectorDouble3/MatrixDouble4x4). (#2632) The following types will be used by ModelIO bindings * Fix delta to be double * Rename Simd-compatible matrices and vectors to match our final naming. This also means removing the new Vector2 and Vector4 variants (but not Vector3). * [avfoundation] Remove AVAssetDownloadDelegate.DidLoadTimeRange since it was removed in one of the betas (#2687) * [foundation] Move NSUrlSessionMultipathServiceType to a file processed by the generator (for the availability attributes) (#2688) * [arkit] Update for Xcode 9 GM (#2681) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes (#2690) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes Type Changed: Intents.INCarSeatResolutionResult Removed methods: public static INCarSeatResolutionResult GetConfirmationRequired (INCarSeat valueToConfirm); public static INCarSeatResolutionResult GetSuccess (INCarSeat resolvedValue); * [avfoundation] Add missing protocol members and deprecations (#2691) !missing-protocol-member! AVCapturePhotoCaptureDelegate::captureOutput:didFinishProcessingPhoto:error: not found and the selector removed from PR#2687 was actually replaced with this one !missing-protocol-member! AVAssetDownloadDelegate::URLSession:aggregateAssetDownloadTask:didLoadTimeRange:totalTimeRangesLoaded:timeRangeExpectedToLoad:forMediaSelection: not found * [tests][xtro] Map some enums, more fix with protocols and update entries (#2692) * [Tests] Reenable dns tests on the watch. (#2674) * [arkit] Add ARBlendShapeLocationOptions strong dictionary (#2696) * [coreimage] Skip not yet bound filters added in Xcode9 (#2698) Tracked in https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * [Metal] Renamed MTLArgumentDescriptor.ArgumentDescriptor to Create, fixes bug 59498 (#2702) https://bugzilla.xamarin.com/show_bug.cgi?id=59498 From [argumentDescriptor docs](https://developer.apple.com/documentation/metal/mtlargumentdescriptor/2915746-argumentdescriptor?language=objc) > Creates an empty argument descriptor. * [msbuild] Always codesign app bundles if the codesign key is non-null (#2697) ...even if it is a simulator build. Turns out that starting with Xcode9, sim builds need to be codesigned for App Groups entitlements to work properly. Interestingly, the DetectSigningIdentity logic had a comment about needing to codesign simulator builds for some entitlements to work already starting with Xcode 8 but apparently the iOS targets did not respect this. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=59379 * [Foundation] Add NSProxy stub in order to workaround bug 59247 (#2693) https://bugzilla.xamarin.com/show_bug.cgi?id=59247 We need to have a better solution that removes all what NSProxy does not responds to. Right now this works because NSObject implements NSObject protocol just like NSProxy, but NSProxy responds to far less selectors hence doing it internal so it is not a breaking change when we provide the correct fix. * Keep NSProxy around and avoid XML linker description We need to keep NSProxy (avoid linking it) if WKNavigationDelegate or IWKNavigationDelegate is used. We know WKWebView will be there and can hold a reference to it. * [Xcode 9] Update Metal for GM (#2689) * [iosurface] IOSurface is not usable before iOS/tvOS 11. Fixes #59201 (#2706) Apple rejects apps that links with the previously private IOSurface.framework. We were not sure about this [1] and had it disabled (this is removed). However another bug stopped our adjustment logic [2] from being executed. This is needed since `clang` picks up the private framework if it does not find the public one (even when asking for a weak framework), [1] https://bugzilla.xamarin.com/show_bug.cgi?id=59201 [2] Added a while ago for JavascriptCore * Bump maccore to point to commit with the docs fix. (#2703) * Bump XI to 11.0.x (and XM to 3.99.9.x) (#2684) * fix typo
2017-09-16 00:53:16 +03:00
[Export ("focalBlurSampleCount")]
nint FocalBlurSampleCount { get; set; }
[Watch (4, 0), TV (11, 0), Mac (10, 13, onlyOn64: true), iOS (11, 0)]
Merge xcode9 into d15-4[-xi] (#2710) * [FileProvider] Add Xcode 9 Beta 1, 2 & 3 Bindings (#2279) * [FileProvider] Add Xcode 9 Beta 1 Bindings * Better naming * Feedback not related to BindAs * [FileProvider] Removes BindAs, add manual code for it and updated to Beta 3 * [FileProvider] Implement feedback * [CoreSpotlight] Updated spotlight bindings for xcode 9 beta 3. (#2193) Updated spotlight bindings for xcode 9 beta 3. * Fix warning caused by duplicate (#2354) * [FileProviderUI] Add Xcode 9 Beta 1 to 3 bindings (#2356) * Bump to Xcode 9 beta 4 * [arkit] ARLightEstimate does not conform to NSCopying anymore (fix unit test) * [uikit] NSFileProviderExtension.ReparentItem got a new parameter in beta4 (fix unit test) * [coreimage] CIImageAccumulator init returns nil in beta 4 There's no header change to mention `init` is not allowed but it's not clear how this default initializer could be used. Also make public some other API to construct this type (outside of XM). It's not clear why there were `internal` as they are (at least now) part of the header files. * [photos] Add helpers when PHLivePhotoEditingOption/NSDictionary is null (to avoid ambiguous API) (#2360) Adding a strongly typed `PHLivePhotoEditingOption` (a strongly typed version of an `NSDictionary`) can cause a `CS0121` (call is ambiguous) since using a `null` argument is common (only one option exist so far). This PR adds overloads that makes the code nicer in such case, e.g. before Xcode9: > // null is used when no options are given > _foo.SaveLivePhoto (output, null, completion); current (Xcode 9) > // casting required to remove ambiguity with PHLivePhotoEditingOption > _foo.SaveLivePhoto (output, (NSDictionary)null, completion); with this PR > // no option, no argument > _foo.SaveLivePhoto (output, completion); The same applies to `PrepareLivePhotoForPlayback`. * [tests] Disable/tweak two tests that breaks on (almost) all Xcode updates Those tests were not added to validate xOS so just keep the parts that helps us (without constantly checking back the new break flavor) * Disable watchOS to check if this hides others issues * [mapkit] Update for beta 4 * [coredata] Update for beta 4 * [wkwebkit] Update for beta 4 Note: WKWindowFeatures.h is not compiled (part of the framework umbrella) and the `@interface WKWindowFeatures (WKPrivate)` sounds like it should not have been exposed (it's all fields starting with `_`) * [corelocation] Update for beta 4 * Revert "Disable watchOS to check if this hides others issues" This reverts commit fed2249fa43290a1956ab2fe0d48f83ab6db9711. * [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]: https://github.com/xamarin/xamarin-macios/blob/f5956d6cc1eb5dfa7bab16628cf282d40237f64e/src/generator.cs#L5985 * [FinderSync] Update to beta 4 (#2377) * [ImageIO] Update to Xcode 9 (#2353) * [PhotosUI] Move macOS photosui bindings out of photos.cs into photosui.cs (#2358) * [quicklook] Update up to beta 4 (#2374) * [uikit] UIDragInteraction & UIDragInteractionDelegate (Xcode 9 b1,2,3) (#2357) * [safariservices] Update up to beta 4 (#2380) * [coreanimation] Update to beta 4 (#2382) Apple removed (mistake?) some API in beta 1. Filed as rdar 33590997 Internal tracking in https://trello.com/c/J8BDDUV9/86-33590997-coreanimation-quartzcore-api-removals * [storekit] Update up to beta 4 (#2379) * [CoreML] Update to Xcode 9 Beta 4 (#2387) * [uikit] UICollectionView/UITableView Drag & Drop (Xcode 9 b1,2,3 & 4) (#2355) * Update code after radar 32929318 and 32897776 are fixed in b4 (#2394) * [xcode9 CoreAudio] New definitions from Beta1 to Beta3 (#2359) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 (#2397) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 https://bugzilla.xamarin.com/show_bug.cgi?id=58512 Created strong API (VNBarcodeSymbology) on the following properties * VNDetectBarcodesRequest.SupportedSymbologies * VNDetectBarcodesRequest.Symbologies * VNBarcodeObservation.Symbology * Remove modern C# because classic can't do it 😡 * [mediaplayer] Update up to beta 4 (#2388) * [watchkit] Update to beta 4 (#2398) * Bump Visual Studio for Mac max version (#2408) * [coreimage] Add CIBarcodeDescriptor and enabled missing API for VNBarcodeObservation. Fix #58197 (#2411) https://bugzilla.xamarin.com/show_bug.cgi?id=58197 * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 (#2407) * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 * [uikit] Fixes based on comments * [coreimage] CIImageAccumulator API fixes. Fix #58349 (#2412) * Obsolete the default `init`; * XM exposed some older APIs using `int` instead of `CIFormat`. This is fixed and old APIs are obsoleted; * Both new & old APIs are now using `CIFormat` for both XI and XM. https://bugzilla.xamarin.com/show_bug.cgi?id=58349 * [uikit] UIText drag & drop - up to Xcode 9 beta 4 (#2410) * [uikit] UISplitView & UIStackView up to Xcode 9 beta 4 (#2425) * Bump XI/XM versions before preview 4 (#2422) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 (#2378) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 * [PDFKit] Implement feedback * [PDFKit] the forgotten enum * [PDFKit] More feedback * [PDFKit] Add Mac changes * Missing change * Fix test RectangleF VS CGRect * Pass -Wunguarded-availability-new to quiet a new clang warning (#2424) - https://bugzilla.xamarin.com/show_bug.cgi?id=58574 * [mtouch/mmp] Ignore warnings about unguarded code section with regards to availability. (#2441) * [monotouch-test] Remove workaround for fixed Apple bug. (#2445) * Bump to Xcode 9 beta 5. (#2447) * Bump to Xcode 9 beta 5. * [mmp] Disable the partial static registrar, because Apple's macOS SDK is broken. > In file included from Xamarin.Mac.registrar.mobile.i386.m:1: > In file included from ./Xamarin.Mac.registrar.mobile.i386.h:11: > /Applications/Xcode9-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVFoundation.h:88:9: fatal error: 'AVFoundation/AVRouteDetector.h' file not found https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [mmp] Fix partial static registrar removal. * [CallKit] Update to Xcode 9 beta 5. * [ARKit] ARPointCloud doesn't conform to NSCopying anymore in Xcode 9 beta 5. * [ARKit] Update to Xcode 9 beta 5 enough to make tests happy. * [CoreImage] Stub out new filters in Xcode 9 beta 5. * [tests][monotouch] Simplify some MDLMesh asserts since values change a lot between OS versions. * [mmp] Default to the dynamic registrar for release builds again, due to bug #58629. https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [tests][introspection] CXCall started implementing NSCopying without saying so in the headers. * Disable mmp static registrar tests due to 58629 for now * [quicklook] Update to beta 5 (#2450) * [photos] Update for beta 5 (#2452) Also update some existing enum members were added in beta 1 on macOS * [safariservices] Update for beta 5 (#2455) * [mediaplayer] Update to beta 5 (#2456) * [CoreLocation] Update Xcode 9 Beta 5 (#2453) * [CoreML] Update to Xcode 9 Beta 5 (#2454) * [Contacts] Update to Xcode 9 Beta 5 (#2451) * [Vision] Update to Xcode 9 Beta 5 (#2458) * [builds] Tell LLVM to stay away from newer macOS functions. (#2459) Fixes this build problem on Sierra: > ld: weak import of symbol '_futimens' not supported because of option: -no_weak_imports for architecture x86_64 This is a symbol that was (will be?) introduced in High Sierra. Interestingly this only occurs if the Xcode 8.X Command Line Tools haven't been manually installed. Because if the Xcode 8.X Command Line Tools are installed, this happens: 1. llvm's configure script detects that 'futimens' is not usable. 2. llvm's configure script detects that 'futimens' is not usable, because xcrun sets SDKROOT=/ when calling clang. a. When the SDKROOT variable is set, clang passes '-syslibroot /usr/lib' to ld. b. When ld gets '-syslibroot /usr/lib', ld looks in '/usr/lib' for a library that contains 'futimens' in the OS itself, and since we're on Sierra, that fails to link. c. So when llvm's configure script creates a test program that checks if 'futimens' is present, the program fails. This is correct, and makes llvm *not* use futimens. 3. xcrun sets SDKROOT=/ because /usr/share/current-os.sdk/Info.plist exists. If that file does not exist, then xcrun sets SDKROOT to Xcode9's macOS SDK (because that's what xcode-select reports). a. When SDKROOT is set to Xcode9's macOS SDK, the configure check for 'futimens' succeeds, because the macOS 10.13 SDK contains that function. b. llvm happily uses 'futimens', and then the final link fails because we're using a symbol not available on all target platforms. * [arkit] Update for Xcode 9 beta 5 - Part 1 (#2460) * [tests] The container app for watchOS tests should be 64-bit. (#2463) * [xharness] watchOS tests need to run in a clean environment. Works around #58348. (#2462) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [xharness] It watchOS tests don't need to be clean anymore. Fixes #58348. (#2473) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [uikit] UIView/UIScrollView/UIViewController up to Xcode 9 beta 5 (#2431) - Add NSDirectionalEdgeInsets type. - Includes DirectionalEdgeInsetsTest. * [AudioToolbox] Update bindings to Xcode 9 beta3 (not later changes). (#2294) * [xharness] Add a file existence check. (#2478) Fixes this exception: ``` Harness exception for 'introspection': System.IO.FileNotFoundException: Could not find file '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log'. File name: '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log' at System.IO.__Error.WinIOError (System.Int32 errorCode, System.String maybeFullPath) [0x00207] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/__error.cs:188 at System.IO.FileInfo.get_Length () [0x00038] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/fileinfo.cs:171 at xharness.CaptureLog.StopCapture () [0x00021] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Log.cs:252 at (wrapper remoting-invoke-with-check) xharness.CaptureLog:StopCapture () at xharness.AppRunner+<RunAsync>d__68.MoveNext () [0x0127f] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/AppRunner.cs:642 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter`1[TResult].GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:357 at xharness.RunSimulatorTask+<RunTestAsync>d__7.MoveNext () [0x0029d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2894 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.RunTestTask+<ExecuteAsync>d__8.MoveNext () [0x0010b] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2538 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.TestTask+<RunInternalAsync>d__87.MoveNext () [0x0010d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:1870 ``` I'm not sure how this can happen, but it has on the bots [1]. [1] https://jenkins.mono-project.com/job/xamarin-macios-pr-builder/4548/Test_Report/ * Bump versions for preview 5 (#2479) * [passkit] Update to beta 5 (#2481) * [tests] Remove workaround for radar #32688391. (#2486) * [replaykit] Update up to beta 5 (#2484) * Bump maccore to get fix for bug #55064. (#2487) * [apidiff] Update definition to new 10.12 (d15-3) stable release (#2490) * [SceneKit] basic work (#2483) * [coredata] Update to beta 5 (#2488) * [homekit] Update for Xcode 9 beta 5 (#2492) * [Foundation] Update for xcode9 (#2468) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 (#2493) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 * [Intents] Implement feedback * [Intents] Add a generic version for INInteraction.GetParameterValue * [Intents] Missing check * [Contacts] Add missing foundation NSItemProviderWriting protocol to CNContact (#2496) https://bugzilla.xamarin.com/show_bug.cgi?id=58203 This is available on all Contacts supported platforms ``` ./iPhoneOS.platform/Developer/SDKs/iPhoneOS11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchOS.platform/Developer/SDKs/WatchOS4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchSimulator.platform/Developer/SDKs/WatchSimulator4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ``` * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) (#2497) * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) * [IntentsUI] Better use a delegate instead so we have named params * Bump versions before 6th preview (#2514) * [arkit] Add missing MarshalDirective to ARPlaneAnchor (#2517) - Fixes bug #58648: ARPlaneAnchor.Extent property seems incorrect but changes to correct value after Debug access (https://bugzilla.xamarin.com/show_bug.cgi?id=58648) * [xtro-sharpie] Fix a compiler warning. (#2516) Fixes these warnings: Runner.cs(197,5): warning CS0642: Possible mistaken empty statement Runner.cs(199,5): warning CS0642: Possible mistaken empty statement Runner.cs(201,5): warning CS0642: Possible mistaken empty statement Runner.cs(203,5): warning CS0642: Possible mistaken empty statement Runner.cs(205,5): warning CS0642: Possible mistaken empty statement * [uikit] Update for Xcode 9 beta 5 - Part 3 (#2511) - UIKeyCommand - UINavigationBar - UINavigationItem - UIPasteboard - UITableViewHeaderFooterView * [xtro-sharpie] Remove xtro-plugin and misc other fixes. (#2522) * [xtro-sharpie] Build with msbuild and be as quiet as requested when building. * [xtro-sharpie] Must run as a 64-bit process, since the required native libraries are 64-bit. * [xtro-sharpie] Add run configurations to the project file to ease debugging in the IDE. * [xtro-sharpie] Remove xtro-plugin and the related commands. This was needed when there wasn't a 64-bit mono, in order to run xtro-sharpie in a 64-bit process. Now there is a 64-bit mono, so it's not needed anymore. Also improve makefile targets a bit, to auto-build stuff when needed, by setting the right dependencies. * Bump Xcode 9 to beta 6 (#2519) Disable watchOS tests again It seems like the Carousel crash from beta 4 is back to haunt us. This was working fine with beta 5. * Backport d15-3 SR2 fixes (#2515) * [coredata] Update to beta 6 (#2528) This seems to only revert some nullability changes from beta 5. * [coreml] Update to beta 6 (#2531) Fix our rdar 33643011 where additional setters were added in the headers but did not exists. * [videosubscriberaccount] Update to beta 6 (#2533) Only b1 and b2 introduced some additions/changes * [uikit] Update for Xcode 9 beta 6 - Part 4 (#2527) The following headers are now up to date: - UICollectionViewFlowLayout.h - UIDocumentPickerViewController.h - UIFontDescriptor.h - UIImage.h - UIImageView.h - UIImagePickerController.h * [xharness] Re-enable the watchOS tests. (#2534) It works fine for me locally, so let's see what Jenkins says. * [macos] Add new APIs in CoreWlan from Xcode9b3 (#2525) * Update AppKit bindings based on radar 33271241 results (#2518) * Update AppKit bindings based on radar 33271241 results - The header comment was updated to note it was NSSliderTouchBarItem view that has the protocol * Remove NSUserInterfaceCompression where not listed in header * [vision] Update to beta 6 (#2532) Removal of some deprecated (during beta) `init*` selectors. Also sync the versions that were inlined in subclasses - the old ones were not removed and the new ones were not added. * [xtro-sharpie] Many methods don't have selectors in Clang's API, so default to the name if no selector. (#2523) This makes a few more unclassified entries show up (mostly missing designated initializers): https://gist.github.com/rolfbjarne/07aa20f9b50b75bf3e69ac6a825e873a * [macos] Add ExternalAccessory APIs from xcode9 (#2526) * [58851] Disable NSMenuView in AllItemsWithNSMenuShouldAllowNull (#2504) * [arkit] Update for Xcode 9 beta 5 - Part 2 (#2505) - Add last missing selector. - Add tests for manual code. * [monotouch-test] Disable FontDescriptorTest.WithFeature (#2537) Disabled because it looks like the tvOS font we use: "Gujarati Sangam MN" does not have rare ligatures anymore (and the entire test is based on it). Before getting an actual fix for that, let's disable the test so it doesn't break all current builds. See: https://bugzilla.xamarin.com/show_bug.cgi?id=58929 * [xtro-sharpie] Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute. (#2524) Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute to calculate the native name for a TypeDefinition. Unclassified changes: https://gist.github.com/rolfbjarne/828f8ee41eebb0a3b60a38d71822fe59 * [foundation/uikit] Inline NSItemProvider_UIKitAdditions in NSItemProvider (#2538) As suggested here: https://github.com/xamarin/xamarin-macios/pull/2527#discussion_r134670981 * [intents] Fix breaking changes (api-diff) (#2543) Additions of @required members inside `INSpeakable` cannot be `[Abstract]` * [contacts] Fix breaking change (api-diff) (#2542) Type Changed: Contacts.CNPostalAddress Removed method: public static string LocalizeProperty (CNPostalAddressKeyOption option); * [macos] Reenable static registrar since Xcode9b6 un-broke SDK headers (#2544) - Fix a subtle spacing issues in PartialStaticLibrary property * [corebluetooth] Update up to beta 6 and enable it on watchOS (#2540) macOS 10.13 has finally catch up with iOS and this simplifies the bindings a bit. * [foundation] API fixes (apidiff) (#2545) 1. Let's not add new, already [Obsolete] API Type Changed: Foundation.NSDimension Added constructors: [Obsolete ("Not intended to be directly instantiated, this is an abstract class.")] public NSDimension (); 2. Fix inconsistently named API, e.g. Type Changed: Foundation.NSAttributedString Added properties: public static string[] ReadableTypeIdentifiersForItemProvider { get; } public static string[] WritableTypeIdentifiers { get; } * [pdfkit] Do not add already [Obsolete] API in new profiles (#2547) and ensure using the newer, correct API works cross-platforms iOS (before) [Obsolete ("Use 'Find (string, NSStringCompareOptions)' instead.")] public virtual PdfSelection[] Find (string text, nint options); public PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'Find (string, PdfSelection, NSStringCompareOptions)' instead.")] public virtual PdfSelection Find (string text, PdfSelection selection, nint options); public void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string, NSStringCompareOptions)' instead.")] public virtual void FindAsync (string text, nint options); public void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string [], NSStringCompareOptions)' instead.")] public virtual void FindAsync (string[] text, nint options); iOS (after) public virtual PdfSelection[] Find (string text, Foundation.NSStringCompareOptions compareOptions); public virtual PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); * Bump versions for the 7th preview (#2541) * Remove additions of AVKit removed in beta5 (#2536) * NSUrlSessionTask should implement NSProgressReporting for iOS (#2548) NSUrlSessionTask implements NSProgressReporting on iOS as well as Mac, so the #if MONOMAC isn't needed. * Add missing availability attributes causing failures on older iOS versions (#2550) * [vision] Minor fix wrt xtro (#2551) including some things we need to ignore manually !missing-field! VNVisionVersionNumber not bound !missing-pinvoke! VNImagePointForFaceLandmarkPoint is not bound !missing-pinvoke! VNNormalizedFaceBoundingBoxPointForLandmarkPoint is not bound * [uikit] NSFileProviderMessaging was removed in beta 2. Fixes #58222 (#2552) reference: https://bugzilla.xamarin.com/show_bug.cgi?id=58222 * [uikit] Update for Xcode 9 - Part 5 (#2546) Bindings for the following headers: - UIActivity.h - UIActivityItemProvider.h - UIAlertController.h - UIApplication.h - UIBarButtonItem.h - UIButton.h - UICollectionViewLayout.h - UIColor.h - UIControl.h - UIDocumentMenuViewController.h - UIFontMetrics.h - UIGestureRecognizer.h - UIGraphicsImageRenderer.h - UIInputViewController.h * [CoreText] Fix an extraneous free in CTFont.GetDefaultCascadeList. (#2555) We do not own the return value from CFArrayGetValueAtIndex, so don't say we do when creating CTFontDescriptor instances, since that leads to angry dragons: 2017-08-28 20:15:20.293 monotouchtest[33186:2311738] A_FontTest 2017-08-28 20:15:20.294 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithFontDescriptorAndOptions 2017-08-28 20:15:20.295 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithNameAndOptions 2017-08-28 20:15:20.296 monotouchtest[33186:2311738] critical: Stacktrace: at <unknown> <0xffffffff> at (wrapper managed-to-native) CoreText.CTFont.CTFontCopyDefaultCascadeListForLanguages (intptr,intptr) [0x0000a] in <ae65a2b1eea242d2b68fe784749543bf>:0 at CoreText.CTFont.GetDefaultCascadeList (string[]) [0x00013] in /work/maccore/xcode9/xamarin-macios/src/CoreText/CTFont.cs:2185 at MonoTouchFixtures.CoreText.A_FontTest.GetCascadeList () [0x0001e] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/CoreText/FontTest.cs:78 at (wrapper runtime-invoke) object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) [0x0004f] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) System.Reflection.MonoMethod.InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&) [0x00016] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at System.Reflection.MonoMethod.Invoke (object,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo) [0x00032] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/corlib/System.Reflection/MonoMethod.cs:305 at System.Reflection.MethodBase.Invoke (object,object[]) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/referencesource/mscorlib/system/reflection/methodbase.cs:229 at NUnit.Framework.Internal.Reflect.InvokeMethod (System.Reflection.MethodInfo,object,object[]) [0x00009] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Reflect.cs:215 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunNonAsyncTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x00025] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:116 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x0001a] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:90 at NUnit.Framework.Internal.Commands.TestMethodCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:66 at NUnit.Framework.Internal.Commands.SetUpTearDownCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00007] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/SetUpTearDownCommand.cs:84 at NUnit.Framework.Internal.WorkItems.SimpleWorkItem.PerformWork () [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/SimpleWorkItem.cs:64 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at MonoTouch.NUnit.UI.BaseTouchRunner.Run (NUnit.Framework.Internal.Test) [0x0004d] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:442 at MonoTouch.NUnit.UI.BaseTouchRunner.Run () [0x00030] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:171 at MonoTouch.Dialog.StringElement.Selected (MonoTouch.Dialog.DialogViewController,UIKit.UITableView,Foundation.NSIndexPath) [0x00008] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/Elements.cs:765 at MonoTouch.Dialog.DialogViewController.Selected (Foundation.NSIndexPath) [0x00026] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:577 at MonoTouch.Dialog.DialogViewController/Source.RowSelected (UIKit.UITableView,Foundation.NSIndexPath) [0x00016] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:402 at (wrapper runtime-invoke) <Module>.runtime_invoke_void__this___object_object (object,intptr,intptr,intptr) [0x0005d] in <32f0c196c5bc4aa18daea2ee64a7814e>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) UIKit.UIApplication.UIApplicationMain (int,string[],intptr,intptr) [0x0005c] in <ae65a2b1eea242d2b68fe784749543bf>:0 at UIKit.UIApplication.Main (string[],intptr,intptr) [0x00005] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:79 at UIKit.UIApplication.Main (string[],string,string) [0x00038] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:63 at monotouchtest.Application.Main (string[]) [0x00011] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/Main.cs:27 at (wrapper runtime-invoke) <Module>.runtime_invoke_void_object (object,intptr,intptr,intptr) [0x00051] in <30a7f7e09de9467b8b454221034a0e38>:0 Native stacktrace: 0 monotouchtest 0x000000010fca03c4 mono_handle_native_crash + 244 1 monotouchtest 0x000000010fcadd30 mono_sigsegv_signal_handler + 288 2 libsystem_platform.dylib 0x000000011feb3b3a _sigtramp + 26 3 CoreFoundation 0x000000011de035a2 computeSanitizedString + 146 4 CoreText 0x00000001168df314 _ZN15TPurgeableCache19RetainedValueForKeyEPKv + 54 5 CoreText 0x00000001168def85 _ZNK17TDescriptorSource22CopyDescriptorUncachedEPK7__CFURLbPK10__CFString + 55 6 CoreText 0x00000001168df34f _ZNK17TDescriptorSource14CopyDescriptorEPK7__CFURLbPK10__CFString + 27 7 CoreText 0x00000001168e20ad _ZNK17TDescriptorSource35CopyFontDescriptorPerPostScriptNameEPK10__CFStringmm + 297 8 CoreText 0x00000001168dfd9e _ZNK17TDescriptorSource30CopySystemFontDescriptorByNameEPK10__CFString10UIFontFlag + 54 9 CoreText 0x00000001168e54c4 _ZNK14TFontFallbacks17CopyFontFallbacksEPK10__CFStringS2_PK9__CFArray + 652 10 CoreText 0x00000001168e4a00 _ZNK14TFontFallbacks29CopyFontFallbacksForLanguagesEPK10__CFStringPK9__CFArray + 122 11 CoreText 0x00000001168e4971 _ZN17TDescriptorSource39CopyDefaultSubstitutionListForLanguagesEPK10__CFStringPK9__CFArray + 61 12 CoreText 0x00000001169397a7 _ZNK9TBaseFont28CreateSystemDefaultFallbacksEPK10__CFStringPK9__CFArray + 51 13 CoreText 0x000000011693999c _ZNK9TBaseFont15CreateFallbacksE10UIFontFlagPPK16__CFCharacterSetPK9__CFArray + 346 14 CoreText 0x00000001168c1036 _ZNK5TFont24CreateDefaultCascadeListEPK9__CFArray + 242 15 CoreText 0x00000001168b8ff9 CTFontCopyDefaultCascadeListForLanguages + 97 16 ??? 0x0000000140eaefd3 0x0 + 5384105939 17 ??? 0x0000000140eae761 0x0 + 5384103777 18 ??? 0x000000013c9c8e74 0x0 + 5311860340 19 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 20 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 21 monotouchtest 0x000000010fd71bac mono_runtime_try_invoke_array + 1292 22 monotouchtest 0x000000010fd15587 ves_icall_InternalInvoke + 647 23 ??? 0x000000013e9fcd13 0x0 + 5345627411 24 ??? 0x000000013e9fc738 0x0 + 5345625912 25 ??? 0x000000013e9fded5 0x0 + 5345631957 26 ??? 0x000000013e9fbb76 0x0 + 5345622902 27 ??? 0x000000013e9e237e 0x0 + 5345518462 28 ??? 0x000000013e9e237e 0x0 + 5345518462 29 ??? 0x000000013e9e237e 0x0 + 5345518462 30 ??? 0x000000013e9e237e 0x0 + 5345518462 31 ??? 0x000000013e873006 0x0 + 5344014342 32 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 33 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 34 monotouchtest 0x000000010fd6e320 mono_runtime_invoke + 208 35 monotouchtest 0x000000010fe71af1 xamarin_invoke_trampoline + 5617 36 monotouchtest 0x000000010fe79ddd xamarin_arch_trampoline + 189 37 monotouchtest 0x000000010fe7b1a1 xamarin_x86_64_common_trampoline + 110 38 UIKit 0x0000000111b9876b -[UITableView _selectRowAtIndexPath:animated:scrollPosition:notifyDelegate:] + 1810 39 UIKit 0x0000000111b98986 -[UITableView _userSelectRowAtPendingSelectionIndexPath:] + 344 40 UIKit 0x0000000111a6b5c9 _runAfterCACommitDeferredBlocks + 318 41 UIKit 0x0000000111a59dad _cleanUpAfterCAFlushAndRunDeferredBlocks + 280 42 UIKit 0x0000000111a89f68 _afterCACommitHandler + 137 43 CoreFoundation 0x000000011de3ddb7 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23 44 CoreFoundation 0x000000011de3dd0e __CFRunLoopDoObservers + 430 45 CoreFoundation 0x000000011de22324 __CFRunLoopRun + 1572 46 CoreFoundation 0x000000011de21a89 CFRunLoopRunSpecific + 409 47 GraphicsServices 0x0000000121b7e9c6 GSEventRunModal + 62 48 UIKit 0x0000000111a5f7d0 UIApplicationMain + 159 49 ??? 0x000000013c9c4474 0x0 + 5311841396 50 ??? 0x000000013c9c40ad 0x0 + 5311840429 ================================================================= Got a SIGSEGV while executing native code. This usually indicates a fatal error in the mono runtime or one of the native libraries used by your application. ================================================================= * [monotouch-test] Don't subclass MKMapView. (#2556) MKMapView doesn't like being subclassed (Apple says "you should not subclass the MKMapView class itself"). Bad things like this starts happening: Thread 0 name: tid_303 Dispatch queue: com.apple.main-thread Thread 0 Crashed: 0 libsystem_kernel.dylib 0x0000000186b25348 __pthread_kill + 8 1 libsystem_pthread.dylib 0x0000000186c39354 pthread_kill$VARIANT$mp + 396 2 libsystem_c.dylib 0x0000000186a94fd8 abort + 140 3 monotouchtest 0x0000000101c02c14 mono_handle_native_crash + 22047764 (mini-exceptions.c:2548) 4 monotouchtest 0x0000000101c0d02c mono_sigsegv_signal_handler + 22089772 (mini-runtime.c:2886) 5 libsystem_platform.dylib 0x0000000186c33b60 _sigtramp + 52 6 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 7 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 8 CoreFoundation 0x0000000186eda51c -[__NSArrayM dealloc] + 68 9 CoreFoundation 0x000000018703f5c8 __CFBasicHashDrain + 312 10 CoreFoundation 0x0000000186fb5b44 _CFRelease + 224 11 CoreText 0x000000018a808404 TDescriptorSource::PurgeFontFallbacksCache+ 488452 () + 92 12 CoreText 0x000000018a808374 TDescriptorSource::PurgeFromCaches+ 488308 (__CFURL const*) const + 176 13 CoreText 0x000000018a7eec74 CTFontRemoveFromCaches + 168 14 VectorKit 0x0000000196a539b0 +[VKSharedResourcesManager removeResourceUser:] + 324 15 VectorKit 0x0000000196ca27a4 md::MapEngine::~MapEngine+ 2643876 () + 360 16 VectorKit 0x0000000196ca2634 md::MapEngine::~MapEngine+ 2643508 () + 12 17 libobjc.A.dylib 0x000000018651eef4 object_cxxDestructFromClass+ 28404 (objc_object*, objc_class*) + 148 18 libobjc.A.dylib 0x000000018652c638 objc_destructInstance + 88 19 libobjc.A.dylib 0x000000018652c690 object_dispose + 16 20 QuartzCore 0x000000018afca3ac -[CALayer dealloc] + 116 21 VectorKit 0x0000000196a43294 -[VKMapView dealloc] + 940 22 QuartzCore 0x000000018af6aafc CA::release_objects+ 744188 (X::List<void const*>*) + 32 23 QuartzCore 0x000000018afd97d8 CA::Layer::~Layer+ 1198040 () + 276 24 QuartzCore 0x000000018afca37c -[CALayer dealloc] + 68 25 QuartzCore 0x000000018af6b16c CA::Transaction::commit+ 745836 () + 1052 26 UIKit 0x0000000190393290 _afterCACommitHandler + 256 27 CoreFoundation 0x0000000186fb38b8 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 32 28 CoreFoundation 0x0000000186fb1270 __CFRunLoopDoObservers + 412 29 CoreFoundation 0x0000000186fb182c __CFRunLoopRun + 1292 30 CoreFoundation 0x0000000186ed22d8 CFRunLoopRunSpecific + 436 31 GraphicsServices 0x0000000188d58f84 GSEventRunModal + 100 32 UIKit 0x000000019040427c UIApplicationMain + 208 33 monotouchtest 0x000000010106eb90 wrapper_managed_to_native_UIKit_UIApplication_UIApplicationMain_int_string___intptr_intptr + 9907088 (/<unknown>:1) 34 monotouchtest 0x0000000100f0d6ac UIKit_UIApplication_Main_string___intptr_intptr + 8459948 (UIApplication.cs:79) 35 monotouchtest 0x0000000100f0d66c UIKit_UIApplication_Main_string___string_string + 8459884 (UIApplication.cs:63) 36 monotouchtest 0x0000000100b10450 monotouchtest_Application_Main_string__ + 4277328 (Main.cs:27) 37 monotouchtest 0x0000000100e0c244 wrapper_runtime_invoke_object_runtime_invoke_dynamic_intptr_intptr_intptr_intptr + 244 38 monotouchtest 0x0000000101c10048 mono_jit_runtime_invoke + 22102088 (mini-runtime.c:2526) 39 monotouchtest 0x0000000101c75eec do_runtime_invoke + 22519532 (object.c:2829) 40 monotouchtest 0x0000000101c78a3c do_exec_main_checked + 22530620 (object.c:4623) 41 monotouchtest 0x0000000101bf9a1c mono_jit_exec + 22010396 (driver.g.c:1040) 42 monotouchtest 0x0000000101d13d60 xamarin_main + 23166304 (monotouch-main.m:482) 43 monotouchtest 0x00000001007de710 main + 927504 (main.m:67) 44 libdyld.dylib 0x00000001869f656c start + 4 * [introspection] Let SkipDueToAttributeInProperty skip setters too (#2557) `SkipDueToAttributeInProperty` which is used to check the availability attribute of properties when the Availability info only exist on the property and not on the property Getter or Setter was wrong. This lead to `setSpringLoaded` (which was introduced in iOS 11) to not be ignored by the test (making it fail). - Fix bug #59085: [introspection-ios] selector not found for UIKit.UIBarButtonItem : setSpringLoaded: - Broken test (https://bugzilla.xamarin.com/show_bug.cgi?id=59085) * [corevideo][watchos] Enable CoreVideo on watchOS (#2553) * [storekit] Fix CampaignToken typo (#2559) (#2560) - Fixes bug #59078: StoreProductParameters and invalid property for CampaignToken (https://bugzilla.xamarin.com/show_bug.cgi?id=59078) * [coreml][watchos] Enable API using CoreVideo on watchOS. Fix #58097 (#2561) https://bugzilla.xamarin.com/show_bug.cgi?id=58097 * Add missing [MarshalDirective] attributes. (#2558) * [bindings-generator] Improve build & project file. * Add missing [MarshalDirective] attributes. Add missing [MarshalDirective] attributes, which also requires implementing support for out parameters in the binding generator, since one of the signatures missing the [MarshalDirective] contains such an out parameter. Also add tests for all the API I've added [MarshalDirective] to. * [bindings-generator] Remove redundant if check. * [monotouch-test] Rename file to end with 'Test.cs'. * [tests] Fix a few build errors for Xamarin.Mac. * [uikit] Fix UIColor and UIInputViewController tvOS availability (#2569) - Fixes introspection tests on tvOS 10. * [storekit] Fix SKCloudServiceSetupMessageIdentifier and SKProductStorePromotionController tvOS availability (#2568) - Fixes introspection tests on tvOS 10. * [mapkit] Fix MKMapItemTypeIdentifier tvOS availability (#2566) - Also remove double [Mac] availability attribute. - Fixes introspection tests on tvOS 10. * [ARKit] Fix marshalling for ARPointCloud.RawFeaturePoints. (#2565) ARPointCloud.RawFeaturePoints is an array of Vector3, but each vector is 16-byte aligned (as if it were an array of Vector4). This means we need to account for this when creating a managed array from pointer to the native C-style array. * [ModelIO] Fix MDLVoxelIndexExtent struct. (#2564) The MDLVoxelIndexExtent is a struct containing two 4-dimensional vectors of integers (not floats, as originally and incorrectly implemented). Fix this my creating a new MDLVoxelIndexExtent2 struct with the right fields, re-implement all the API that exposes this struct and obsolete the old API. Also add missing [MarshalDirective] attributes. And write a test to make sure it works fine now and forever. * [coredata] Enable new fields since rdar #33878590 is fixed w/beta 6 (#2570) reference: https://trello.com/c/dlSRYPFx * [xtro-sharpie] Add a Simd check class to verify signatures with Simd types. * [Simd] Add simd matrix types. The OpenTK matrices (Matrix2/3/4) has a different memory layout than Apple's matrix_float2x2/matrix_float3x3/matrix_float4x4 matrices: the OpenTK versions are row-major, while Apple's versions are column-major. This means that when blitting memory from one to the other, the matrix will appear to have been transposed. See bug #[58599][2] for an example. Unfortunately we've already bound several API with Apple's matrix_floatXxX matrices using OpenTK's matrices, and although they're bound wrong, and the matrices appear transposed on input/output, we can't change the behavior because we have to maintain compatibility. This means we have to introduce new API, and then also just define new matrix types with the right memory layout (column-major). Additionally, in the future we might be able to mark these matrices as Simd-matrixes, so that the JIT/AOT compiler can generate the correct alignment for them, avoiding having to define a native conversion method (using the [MarshalDirective] hack). The matrices have been designed to match API-wise the matrices in the System.Numerics.Vectors namespace [1], but for the moment with only a few basic operations implemented (Determinant/Transpose/Multiply) defined (we can always add more later if we want to). In addition explicit conversion operators to and from the corresponding OpenTK.MatrixX are implemented, which means any operation defined in the OpenTK matrices can be used by converting back and forth. [1]: https://msdn.microsoft.com/en-us/library/system.numerics.matrix4x4(v=vs.111).aspx [2]: https://bugzilla.xamarin.com/show_bug.cgi?id=58599 * [ARKit] Use the new Simd matrix types. * [Vision] Use the new Simd matrix types. * [ModelIO] Use the new Simd-compatible matrix types, and deprecate the old API. * [GameplayKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [SpriteKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [xtro] Don't report missing [MarshalDirective] for obsolete methods. * [xtro] Remove unnecessary ignores. The implementation changed, and these stayed accidentally. * [wkwebkit] Fix (native) protocol names (#2572) Also ignore xtro's WKSnapshotConfiguration since it's an Apple bug 34185961 reference (xtro) !missing-protocol! WKURLSchemeHandler not bound !missing-protocol! WKURLSchemeTask not bound !unknown-protocol! WKUrlSchemeHandler bound !unknown-protocol! WKUrlSchemeTask bound !unknown-type! WKSnapshotConfiguration bound * [uikit] Fix enums availability attributes (#2575) - Fixes bug #59132: [uikit] Extra types in watchOS (https://bugzilla.xamarin.com/show_bug.cgi?id=59132) * [watchkit] Add missing designated initializers (#2574) references (xtro) !missing-designated-initializer! WKInterfaceController::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! WKUserNotificationInterfaceController::init is missing an [DesignatedInitializer] attribute * [xtro] Reword some of the Simd diagnostic messages according to review. * [tests] Make sure test symbols don't clash between different test libraries. Fixes this build problem for framework-test: clang: error: linker command failed with exit code 1 (use -v to see invocation) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_get_rotation_matrix'. MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticObjectTest.framework/XStaticObjectTest (Location related to previous error) MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticArTest.framework/XStaticArTest(libtest-ar.x86_64.o) (Location related to previous error) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransformcomponent_get_local_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_create_global_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float4x4'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float3x3'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float2x2'. MTOUCH: error MT5209: Native linking error: 6 duplicate symbols for architecture x86_64 MTOUCH: error MT5202: Native linking failed. Please review the build log. * [tests] Since libtest.a need ModelIO now, the corresponding LinkWith attributes need to state that too. * [introspection] Don't check native signatures on obsolete members, and ignore the right simd matrix types. Fixes this introspection/Mac problem: ***** ApiSignatureTest.NativeSignatures Selector: uniformWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: uniformWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: uniformWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: setMatrixFloat2x2Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: setMatrixFloat3x3Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: setMatrixFloat4x4Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: initWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: initWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: initWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded * [monotouch-tests] Include more custom asserts for watchOS to make the build work. Fixes this: Simd/MatrixFloat4x4Test.cs(28,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(29,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(37,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(48,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' [...] * [monotouch-test] Exclude code that requires the binding project from xammac tests. Exclude code that requires the test binding project from xammac tests because there's currently no XM version of the test binding project. Fixes this: tests/monotouch-test/SpriteKit/UniformTest.cs(20,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLMaterialProperty.cs(37,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLTransform.cs(34,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) * Bump version for preview #8 (#2576) * [spritekit] Audit fixes (xtro) (#2577) 1. SKVideoNode is now, partially, available on watchOS and does not require the extra, manual code to swicth selectors depending on the OS version being run. !missing-type! SKVideoNode not bound !missing-selector! SKVideoNode::anchorPoint not bound !missing-selector! SKVideoNode::initWithCoder: not bound !missing-selector! SKVideoNode::initWithFileNamed: not bound !missing-selector! SKVideoNode::initWithURL: not bound !missing-selector! SKVideoNode::setAnchorPoint: not bound !missing-selector! SKVideoNode::setSize: not bound !missing-selector! SKVideoNode::size not bound !missing-selector! +SKVideoNode::videoNodeWithFileNamed: not bound !missing-selector! +SKVideoNode::videoNodeWithURL: not bound 2. SKNodeFocusBehavior is exposed needlessly on watchOS because SpriteKit/Enums.cs was not processed by the generator, so [NoWatch] did not matter. !unknown-native-enum! SKNodeFocusBehavior bound It's also visible on macOS but nothing uses it (so we do not expose it needlessly) !missing-enum! SKNodeFocusBehavior not bound 3. Add missing designated initializer on default `init` !missing-designated-initializer! SKAttributeValue::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! SKNode::init is missing an [DesignatedInitializer] attribute 4. Remove inconsistency for SKNode subclasses wrt XAMCORE_4_0 The trio attributeValues, setAttributeValues and setValue:forAttributeNamed: that was moved from SKNode (deprecated) into its subclasses. This was done using XAMCORE_4_0 but not on every subclasses. This adds them everywhere to be consistent (only SKNode versions are not defined in XAMCORE_4_0) !missing-selector! SKEffectNode::attributeValues not bound !missing-selector! SKEffectNode::setAttributeValues: not bound !missing-selector! SKEffectNode::setValue:forAttributeNamed: not bound !missing-selector! SKEffectNode::valueForAttributeNamed: not bound !missing-selector! SKEmitterNode::attributeValues not bound !missing-selector! SKEmitterNode::setAttributeValues: not bound !missing-selector! SKEmitterNode::setValue:forAttributeNamed: not bound !missing-selector! SKEmitterNode::valueForAttributeNamed: not bound !missing-selector! SKSpriteNode::attributeValues not bound !missing-selector! SKSpriteNode::setAttributeValues: not bound !missing-selector! SKSpriteNode::setValue:forAttributeNamed: not bound !missing-selector! SKSpriteNode::valueForAttributeNamed: not bound * [introspection] Make sure '[FAIL]' is printed before every failure. (#2578) This makes xharness able to list the failures in the inline summary. * [xtro] Reword some of the Simd diagnostic messages according to review. * [xharness] Add a missing IsServerMode check to generate correct html. (#2581) * [SpriteKit] SKTransformNode is new in Xcode 9 so no need to keep the broken (and obsolete) non-simd version of RotationMatrix. * [intents] Fix some (partial) xtro issues and #59156 (#2585) reference https://bugzilla.xamarin.com/show_bug.cgi?id=59156 Remaining issues are filled in https://bugzilla.xamarin.com/show_bug.cgi?id=59183 !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound * [Intents] Confirm* interface methods should be bound as Confirm, Fixes Bug 59164 (#2591) * [Intents] Confirm* interface methods should probably be bound as Confirm, Fixes Bug 59164 https://bugzilla.xamarin.com/show_bug.cgi?id=59164 All Confirm* methods from *IntentHandling interfaces should be named just `Confirm` to avoid confusion because most of them do not directly confirm as an acion, but instead they **ask** for confirmation also we would follow swift's naming by doing this. * [Intents] XAMCORE_4_0 all Confirm* methods from *IntentHandling Turns any Confirm* into just Confirm inside a XAMCORE_4_0 block, * [Intents] Fix breaking changes in Intents added in Xcode 9 Bindings (#2590) Apple added more protocol conformances to INRidesharingDomainHandling and INPaymentsDomainHandling protocols in Xcode 9, I introduced these breaking changes back when I did intents binding so fixing them :) * [Metal] New bindings from Xcode 9 betas (#2457) * [AVFoundation] Updated bindings for xcode9. (#2272) * [Xcode9] Add IOSurface bindings (#2363) * This framework was a private framework before iOS 11. This framework was a private framework before iOS 11, yet the headers claim many API were introduced in iOS 10. So take account of this difference by using the private framework location in iOS 10.3 or earlier. Testing these API from Xcode works fine when run on an iOS 10.3 device, and I've confirmed the IOSurface framework is loaded from the private frameworks path on older devices (and when built using Xcode 9 and linked with the public framework path). * Disable code to make IOSurface work on iOS 10. Disable the code to make IOSurface work on iOS 10, since it may be rejected by the App Store. This also means adjusting the availability attributes, so that the introspection tests pass (and to document that technically these API won't work when used with Xamarin.iOS in iOS 10). I've filed bug #[59201][1] to keep track of this, maybe we can re-enable this later. [1]: https://bugzilla.xamarin.com/show_bug.cgi?id=59201 * [CoreMedia] Fix leak in CMAttachmentBearer.GetAttachments. (#2593) The caller owns the return value from CMCopyDictionaryOfAttachments, so tell Runtime.GetNSObject that. * [Intents] Adds missing API found by xtro, fixes Bug 59183 (#2596) https://bugzilla.xamarin.com/show_bug.cgi?id=59183 Fixes !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !incorrect-protocol-member! INUIHostedViewControlling::configureWithInteraction:context:completion: is OPTIONAL and should NOT be abstract * [xtro] Fix StartWorkingDirectory to enable debugging (#2598) * [iosurface] Enable for tvOS and XM classic (to avoid multiple defines around consumer API) (#2597) * [xtro] Fix EnumCheck (#2600) * [ARKit] Rename a few method to make them nicer. (#2604) * DisplayTransform -> GetDisplayTransform since methods should have verbs. * SessionWasInterrupted -> WasInterrupted and SessionInterruptionEnded -> InterruptionEnded since these names match better with the other names (CameraDidChangeTrackingState / DidFail / DidOutputAudioSampleBuffer: none are prefixed with 'Session'). Additionally, the type is a Model (for the delegate pattern), which means all methods are more-or-less event-like, and the first argument is always the same (the protocol itself), which is another indicator the methods should be named similarly. * [Foundation] Remove 'Key' suffix from some fields. (#2606) Of the 168 fields in NSMetadataItem, only these 5 hadn't removed the 'Key' suffix. So make them all equivalent by removing the 'Key' suffix from these 5 fields. * [ImageIO] Fix API to not duplicate the instance in instance methods. (#2609) An instance method does not need to take the instance as a parameter, so remove the first (instance) parameter for CGImageDestination.AddAuxiliaryDataInfo and CGImageSource.CopyAuxiliaryDataInfo. An alternative solution would be to make the methods static, but I like the instance API better. * [UIKit] De-model UIDataSourceTranslating. (#2603) It's not clear from neither the documentation nor the headers how this protocol is supposed to be used, and since it doesn't correspond to the delegate pattern, remove the [Model] attribute for now. We can always add it back later. * [CoreML] Improve API. (#2592) * [CoreML] Improve API. * The indices, shape and stride properties for MLMultiArray and MLMultiArrayConstraint can logically only be arrays of integers, so type them as such. This means adding overloads for MLMultiArray's constructors, GetObject and SetObject methods, and the indexers that takes nint[] arrays instead of NSNumber[] arrays. * Change MLFeatureValue's static factory methods to be a method ('Create') instead of a preposition, and call all the different factory methods the same, since they can be overloaded nicely. * [tests][monotouch-test] Add version check to MLMultiArrayTest and make sure the arrays we create are big enough for the data we put in them. * [tests][monotouch-test] MLMultiArray's elements aren't zero-initialized, so don't assume that in the tests. * Support overloading Objective-C methods based on static/instance. (#2607) Two Objective-C methods can be named identically as long as one is static and the other instance. We must support this since Apple did just this (in the NSItemProviderReading / NSItemProviderWriting protocols). We solve it by prepending a '+' or '-' to the selector when hashing it (to determine selector uniqueness, and to look the method up again at runtime). * [uikit] Update for Xcode 9 - Part 6 (#2602) NSAttributedString.h NSFileProviderExtension.h NSLayoutAnchor.h UIAccessibility.h UIAccessibilityAdditions.h UIAccessibilityContainer.h UIAccessibilityContentSizeCategoryImageAdjusting.h UIAccessibilityCustomRotor.h UIAccessibilityLocationDescriptor.h UITabBar.h UINavigationBar.h UIScreen.h * Xcode9 scenekit (#2512) * [SceneKit] basic work * Added key * [xcode9] SCNCameraController * [xcode9] SCNCamera updates * [xcode9] SCNMaterial * [xcode9] SCNGeometryTessellator, SCNCameraControlConfiguration, SCNView, small bits * Add trailing commas to last enum value * Remove whitespace noise * [scenekit] Update deprecated attributes messages * Addresses some of Rolf's feedback * Drop the WeakDelegate in SCNCameraController * Rename method to Render, remove ctor from class that can not be constructed in Palygrounds, add typo exception * [AppKit] Rename NSBezierPath.AppendBezierPathWithCGGlyph to match its sibling methods. (#2605) NSBezierPath contains a lot of 'AppendPathWithXXX' methods, that all map to 'appendBezierPathXXX' selectors. So rename AppendBezierPathWithCGGlyph accordingly, to make it more similar to the other methods in the same type. * [uikit] Add all UISpringLoadedInteractionSupporting (#2616) Types do not conform to the protocol but protocol methods work on those types (see monotouch-test). Fixed introspection tests accordingly and tested the selectors in monotouch-test. * [Intents] Add convenience ctor overload and call correct base ctor in manual ctor. (#2613) Add a convenience constructor overload in INGetUserCurrentRestaurantReservationBookingsIntent that uses nint instead of NSNumber, since logically "number of results" will always be some sort of integer. Also call the correct base constructor in INSpeakableString's custom constructor (same as any other generated constructor). Otherwise we end up doing something like this: [[[INSpeakableString alloc] init] initWith ...], i.e. calling two different init methods. * [coreimage] Add new headers API up to beta 6 (#2601) Filters are not complete (ref: #57350) https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * Some new constants are not yet documented (type is known), so they are commented / ignored https://bugzilla.xamarin.com/show_bug.cgi?id=59296 * Filled bug for [Wrap] inside [Category] so strong dictionary helpers can be re-enabled later https://bugzilla.xamarin.com/show_bug.cgi?id=59294 * [foundation] xtro fixes for watchOS (#2586) !missing-enum! NSProcessInfoThermalState not bound !missing-field! NSProcessInfoThermalStateDidChangeNotification not bound !missing-selector! NSProcessInfo::thermalState not bound Headers are wrong and preferredPresentationStyle is not in tvOS and watchOS !missing-selector! NSItemProvider::preferredPresentationStyle not bound !missing-selector! NSItemProvider::setPreferredPresentationStyle: not bound * [uikit] Also remove UIPreferredPresentationStyle enum from platform where it's not used * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. (#2614) * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. * NSItemProviderWriting: * NSItemProviderReading: Implement correctly and completely by uncommenting commented out code. * NSMutableString: * NSAttributedString: remove inlined members, since these classes don't implement NSItemProviderReading / NSItemProviderWriting (according to the headers at least). * NSUrl: all platforms now seem to implement NSItemProviderReading / NSItemProviderWriting. * NSString: all platforms now seem to implement both NSItemProviderReading and NSItemProviderWriting * UIColor: * UIImage: Update inlined protocol members according to the latest beta. Additionally, due to the following conditions: * The protocols all have the correct members now. * In the API definition we tell the generator to inline members from a protocol by inheriting from the corresponding interface. * The generator doesn't inline static members from protocols. several 'new' keywords had to be added to silence a compiler warning that occurrs when we manually inline a static member, since the member would be included in the type both from the inherited interface and the manual implementation. * [Foundation] Comment out NSItemProviderWriting.GetItemProviderVisibility to avoid inlining/generating unusable methods. NSItemProviderWriting.GetItemProviderVisibility is an optional method, and none of the native classes that implements NSItemProviderWriting actually imlements the method. This means inlining the method in those classes ends up creating unusable API; so just comment out the method to avoid generating the unusable API. The introspection tests found this: [FAIL] Foundation.NSString : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Foundation.NSUrl : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Contacts.CNContact : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] MapKit.MKMapItem : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIColor : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIImage : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] iOSApiSelectorTest.ApiSelectorTest.StaticMethods : 6 errors found in 2348 static selector validated: See also https://bugzilla.xamarin.com/show_bug.cgi?id=59308 * [iosurface] Add missing [TV] attributes (#2619) * [opengles] Enable the new API using IOSurface (#2618) The symbol only exists inside device libraries, not on simulator, and the introspection tests were updated to ignore it. Part of https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [avfoundation][watchos] Enable AudioBufferList (fix #59145) + audit (xtro) (#2617) 1. AudioBufferList is part of CoreAudio (wrong namespace, which needs a few changes in the generator) and now available in watchOS 4 https://bugzilla.xamarin.com/show_bug.cgi?id=59145 2. Also fixes xtro found issues: !missing-type! AVAudioRecorder not bound !missing-selector! AVAudioRecorder::averagePowerForChannel: not bound !missing-selector! AVAudioRecorder::channelAssignments not bound !missing-selector! AVAudioRecorder::currentTime not bound !missing-selector! AVAudioRecorder::delegate not bound !missing-selector! AVAudioRecorder::deviceCurrentTime not bound !missing-selector! AVAudioRecorder::format not bound !missing-selector! AVAudioRecorder::initWithURL:format:error: not bound !missing-selector! AVAudioRecorder::initWithURL:settings:error: not bound !missing-selector! AVAudioRecorder::isMeteringEnabled not bound !missing-selector! AVAudioRecorder::isRecording not bound !missing-selector! AVAudioRecorder::peakPowerForChannel: not bound !missing-selector! AVAudioRecorder::recordAtTime: not bound !missing-selector! AVAudioRecorder::recordAtTime:forDuration: not bound !missing-selector! AVAudioRecorder::recordForDuration: not bound !missing-selector! AVAudioRecorder::setChannelAssignments: not bound !missing-selector! AVAudioRecorder::setDelegate: not bound !missing-selector! AVAudioRecorder::setMeteringEnabled: not bound !missing-selector! AVAudioRecorder::settings not bound !missing-selector! AVAudioRecorder::url not bound !missing-protocol! AVAudioRecorderDelegate not bound !missing-selector! AVAudioEngine::inputNode not bound !missing-selector! AVAudioEngine::manualRenderingBlock not bound !missing-selector! AVAudioInputNode::setManualRenderingInputPCMFormat:inputBlock: not bound !missing-selector! AVAudioPlayer::format not bound !missing-selector! AVAudioSession::requestRecordPermission: not bound !unknown-field! AVFileType3GPP bound !unknown-field! AVFileType3GPP2 bound !unknown-field! AVFileTypeAC3 bound !unknown-field! AVFileTypeAIFC bound !unknown-field! AVFileTypeAIFF bound !unknown-field! AVFileTypeAMR bound !unknown-field! AVFileTypeAVCI bound !unknown-field! AVFileTypeAppleM4A bound !unknown-field! AVFileTypeAppleM4V bound !unknown-field! AVFileTypeCoreAudioFormat bound !unknown-field! AVFileTypeDNG bound !unknown-field! AVFileTypeEnhancedAC3 bound !unknown-field! AVFileTypeHEIC bound !unknown-field! AVFileTypeHEIF bound !unknown-field! AVFileTypeJPEG bound !unknown-field! AVFileTypeMPEG4 bound !unknown-field! AVFileTypeMPEGLayer3 bound !unknown-field! AVFileTypeQuickTimeMovie bound !unknown-field! AVFileTypeSunAU bound !unknown-field! AVFileTypeTIFF bound !unknown-field! AVFileTypeWAVE bound * [Metal] Implement API using IOSurface now that IOSurface is implemented. Partially fixes #58054. (#2621) https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [PdfKit] Improve PdfAnnotation.QuadrilateralPoints binding by making it strongly typed. (#2620) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). (#2622) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). * [ARKit/Vision] Use the new simd vector types instead of the OpenTK versions. * [ModelIO] Use the new simd vectors in new API (MDLVoxelIndexExtent2). This way we won't have to create a MDLVoxelIndexExtent3 in the future. * [SpriteKit] Use the new simd vectors in new API. * [metal] Audit (xtro) based fixes (#2623) !extra-protocol-member! unexpected selector MTLArgumentEncoder::newArgumentEncoderForBufferAtIndex: found !extra-protocol-member! unexpected selector MTLComputeCommandEncoder::dispatchThreads:threadsPerThreadgroup: found macos-only !missing-field! MTLDeviceRemovalRequestedNotification not bound !missing-field! MTLDeviceWasAddedNotification not bound !missing-field! MTLDeviceWasRemovedNotification not bound !missing-pinvoke! MTLCopyAllDevices is not bound * [CloudKit] Update bindings to beta 6. (#2615) * [FileProvider] Turn NSFileProviderItemIdentifier enum into a static class, fixes bug 59329 (#2634) https://bugzilla.xamarin.com/show_bug.cgi?id=59329 At the time of binding NSFileProviderItemIdentifier it wasn't clear how it was supposed to be used, I mean apple provides two keys which I thought were the only possible values hence binding it as an smart enum. Unfortunately this wasn't the case and the user can use those two values provided from the SDK or their own NSString Identifier. Swift provides a wrapper unfortunately we can't do the same due to NSFileProviderItemIdentifier is used in the NSFileProviderItem protocol and we currently do not support changing signatures on them. * [mtouch] Teach mtouch about the 'IOSurface' framework for tvOS. Fixes #59333. (#2630) https://bugzilla.xamarin.com/show_bug.cgi?id=59333 * Bump Touch.Unit to get fix for API breakage. (#2631) spouliot/Touch.Unit@8f1e19d [NUnitOutputTextWriter] Reintroduce previous constructor to make sure we don't break binary ABI. spouliot/Touch.Unit@00b0c0b [NUnitOutputTextWriter] Don't write invalid xml comments. spouliot/Touch.Unit@de9fe20 [TouchRunner] Restore the original code path when not wrapping NUnit xml output. * [IOSurface] Add missing availability attributes for tvOS. (#2629) * Bump versions for preview 9 (#2624) * [AVFoundation] Add missing interface AVRouteDetector. (#2637) * [tests] Update xtro to reduce list sizes (#2636) * Skip OpenTK duplicate declaration (we can't change them); * Fix rule name change for ARKit / simd; * Add missing default initializer on `init` to pending actions; * Add note for AVPersistableContentKeyRequest changes wrt tvOS; * [ReplayKit] Make RPBroadcastActivityViewController.LoadBroadcastActivityViewController async-capable. (#2639) * [xcode9] More SceneKit bindings (#2633) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 (#2644) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 https://bugzilla.xamarin.com/show_bug.cgi?id=59380 vector_float3 is 16 bytes, which means the binding is incorrect, because Vector3 is 12 bytes, and our code does not that difference into account. * Add tests * [DeviceCheck] Disable default ctor for DCDevice. (#2642) It doesn't seem to be useful according to the documentation, since it appears that the only way to get an instance is to use the static CurrentDevice property. * [audiounit] Audit (xtro) fixes for tvOS (#2635) Availability attributes in non-generated files don't hide symbols/code. reference: !unknown-pinvoke! AudioUnitExtensionCopyComponentList bound !unknown-pinvoke! AudioUnitExtensionSetComponentList bound * [tests] Make sure tvOS tests don't use the (unexisting) API * [tests] Add all test project variations to tests-mac.sln (#2579) * [xharness] Make sure generated mac projects have different project guids. * [introspection] Change the project guid so that it doesn't match the dontlink-mac project guid. * [tests] Add all test project variations to tests-mac.sln. * [xharness] Fix else condition. * [FileProvider] Adds missing NSFileProviderPage constants, fixes bug 59297. (#2646) https://bugzilla.xamarin.com/show_bug.cgi?id=59297 Adds NSFileProviderInitialPageSortedByName and NSFileProviderInitialPageSortedByDate NSData constants * [Xcode9] Remove NSFileProviderMessage and NSFileProviderMessageInterface (#2647) APIs were removed in beta 2 * [Foundation/UIKit] Provide LoadObject[s] methods that return the expected type in the callback. Fixes #59049. (#2638) The callback for these LoadObject[s] methods take an INSItemProviderReading parameter. This tells our runtime that we must provide an instance of a managed object that implements this interface (but nothing else), so we create a `NSItemProviderReadingWrapper` instance, which complies with the API (since the wrapper type implements the corresponding interface). Unfortunately these methods are supposed to return an instance of the passed- in type, so in order to comply with this soft (documentation-only) requirement, provide a wrapper method that creates instances of the right types. https://bugzilla.xamarin.com/show_bug.cgi?id=59049 * [arkit] Ignore deprecated selectors (#2645) * [FileProvider] Adds missing protocol and keys from audit (#2652) ``` !missing-protocol! NSFileProviderServiceSource not bound !missing-field! NSFileProviderErrorCollidingItemKey not bound !missing-field! NSFileProviderErrorNonExistentItemIdentifierKey not bound !missing-field! NSFileProviderFavoriteRankUnranked not bound ``` Also adds `NSXpcListenerEndpoint` to foundation, needed by `NSFileProviderServiceSource` protocol. * [tests][xtro] Workaround xtro runner dupe entry exception and update data files (#2654) * [AVFoundation] Rename field to match others. (#2657) * [homekit] Audit (xtro) fixes (#2653) - HMCharacteristicEvent conforms to NSMutableCopying on iOS11 which makes it 64 bits only (so adjust intro tests) - Ignore extra setters on HMMutablePresenceEvent, rdar 33883958 !missing-selector! HMMutablePresenceEvent::setPresenceEventType: not bound !missing-selector! HMMutablePresenceEvent::setPresenceUserType: not bound * [xtro] Add missing pinvoke to pending (#2662) - Bug 59422: [uikit] Missing UIContentSizeCategoryCompareToCategory & UIContentSizeCategoryIsAccessibilityCategory (https://bugzilla.xamarin.com/show_bug.cgi?id=59422) * Merge latest d15-3 fixes into xcode9 (#2660) * [msbuild] Re-added wildcard (*) expandsion for application-identifier in Entitlements.plist (#2186) Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=57119 * Bump mono (#2213) * Framework tests were still binding non-linked Simple class which errors now (#2216) (#2218) - Improve Makefile to rebuild when projects build with errors * Bump mono to get cecil fix for bug #56808. (#2222) https://bugzilla.xamarin.com/show_bug.cgi?id=56808 * [msbuild] Use @(ReferencePath) instead of @(ResolvedFiles) (#2188) (#2214) This allows things to work on both xbuild and msbuild. In xbuild, both lists are exactly the same and on msbuild, only @(ReferencePath) exists. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=55147 * NSActivityOptions.IdleDisplaySleepDisabled had wrong value (#2232) (#2239) This was due to an integer overflow. The original value was based on Int32 1 << 40 == 256 The correct value should be based on a UInt64. 1UL << 40 == 1099511627776 * [tests] Fix bug 57699 - [iOS]InternalsTest failure (Linkall) tests on device (#2243) Strip native debugging symbols should not be checked for debug builds * Bump mono to get fix for bug #57780. https://bugzilla.xamarin.com/show_bug.cgi?id=57780 * Update .gitmodules Change branch to d15-3 branch of mono * Bump maccore to get fix for bug #55064. https://bugzilla.xamarin.com/show_bug.cgi?id=55064 * [mono] Bump mono to get the head of cecil/mono-2017-04 and fix IsComObject #57919 Also fix #58789 [1], the typo in tools/mtouch/Tuning.cs showing in MT0000 errors instead MT2102. That's already in master and d15-4 mono bump includes: [2] commit 2a6502cee0df9de5198eafe7c8b5f6ac25106f34 (HEAD -> d15-3, origin/d15-3) Merge: 02457c20fcf 5e05cafc6f1 Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 10:04:06 2017 -0400 Merge pull request #5401 from marek-safar/com [Marshal.IsComObject] Make this predicate return false instead of thr… [3] commit 02457c20fcf57c0610e844d638eb1da82b5d1eb0 Merge: da80840ea55 73fd9a1b82e Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 09:59:06 2017 -0400 Merge pull request #5400 from spouliot/bump-cecil-58834-d15-3 [cecil] Bump to the head of the mono-2017-04 branch and pick the fix for bug #58834 References [1] https://bugzilla.xamarin.com/show_bug.cgi?id=58789 [2] https://bugzilla.xamarin.com/show_bug.cgi?id=57919 [3] https://bugzilla.xamarin.com/show_bug.cgi?id=58834 * [mtouch] Put 'mono_profiler_startup_log' in the symbol list. Fixes #58778. (#2501) We need the 'mono_profiler_startup_log' symbol when profiling is enabled, so make sure to add the symbol to the correct list of symbols we need. Previously we were passing `-u _mono_profiler_startup_log` to clang directly, which is fine, but not complete, since it does not write the symbol to the symbollist file (--symbollist=file), which means it wouldn't be preserved when the MSBuild tasks strip the executable. https://bugzilla.xamarin.com/show_bug.cgi?id=58778 * Bump versions for SR3 https://trello.com/c/EVze08ei * Bump mono to include HttpClientHandler fix #44027 https://trello.com/c/jYFXadH8/8-systemnethttp-close-request-stream-when-httpclienthandler https://bugzilla.xamarin.com/show_bug.cgi?id=44027 * [FileProvider] Add missing API and turn NSString to string (#2663) Turned NSString to string in order to match exisiting API. * [uikit] Add UIPasteConfigurationSupporting and UITextPasteConfigurationSupporting (#2649) - Fixes bug #59363: Missing UIPasteConfigurationSupporting, UITextPasteConfigurationSupporting, UITextDraggable and UITextDroppable on a couple of types (https://bugzilla.xamarin.com/show_bug.cgi?id=59363) * [uikit] Remove 129 types in UIPasteConfigurationSupporting case * [scenekit] Audit (xtro) fixes (#2648) This looks like an Apple breaking change (since `SCNAnimation` is new) but we now have: > typedef void (^SCNAnimationEventBlock)(id<SCNAnimation> animation, id animatedObject, BOOL playingBackward); bound as > delegate void SCNAnimationEventHandler (CAAnimation animation, NSObject animatedObject, bool playingBackward); and `CAAnimation` conforms to `SCNAnimation` but *only* the later is available on watchOS. The delegate is only updated (since it's new) on our watchOS profile. xtro references: (watchos) !unknown-protocol! SCNCameraControlConfiguration bound (tvos/watchos) !missing-selector! SCNAnimation::animationEvents not bound !missing-selector! SCNAnimation::setAnimationEvents: not bound !missing-selector! SCNConstraint::isEnabled not bound !missing-selector! SCNConstraint::setEnabled: not bound !missing-field! SCNSceneSourceConvertToYUpKey not bound !missing-field! SCNSceneSourceConvertUnitsToMetersKey not bound (ios/tvos) !missing-protocol-conformance! SCNNode should conform to UIFocusItem * Bump maccore post 15.3 merge (#2665) * Bump Xcode 9 to GM (#2667) * Force build (on wrench) * [avfoundation] Fix breaking changes (apidiff) (#2664) * [TVServices] Update to Xcode 9 GM (#2675) * [GameController] Update to Xcode 9 GM (#2673) * [LocalAuthentication] Update to Xcode 9 GM (#2671) * [LocalAuthentication] Update to Xcode 9 GM * Remove availability from BiometryNotAvailable, BiometryNotEnrolled and BiometryLockout * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer (#2659) * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer Some of the new added types were already present BUT under a #if MONOMAC, they had to be moved. * [AVFoundation] Set the wrongly added API to be obsolete and ensure it returns logical values. (#2650) * [xtro] The right platform for macOS is 'macos', not 'osx'. (#2677) The platform name is used to filter availability attributes, and if we use the wrong platform, we'll incorrectly skip all availability attributes. The net result in unclassified entries: https://gist.github.com/rolfbjarne/a4474bc2a40c49a85cad495b51bb514f * Various Xcode 9 API improvements and also fixes bug 59433 (#2676) https://bugzilla.xamarin.com/show_bug.cgi?id=59433 While fixing bug 59433 I noticed some additional issues outlined below: AVDepthData: * Renamed **non** static `Create` methods because `Create` only makes sense with the **Static** method in this context. Also by renaming the methods we are now closer to the names that swift uses. * Kept descriptive method names in favor of self-documenting code. `Convert`, `Apply` and `Replace` do not fully give us the intent of the method. * Added a convenience `Create` static method that takes a `CGImageAuxiliaryDataInfo`. * AvailableDepthDataTypes is now an array of `CVPixelFormatType` instead of a `NSNumber` array (The aactual fix for bug 59433). ImageIO: * Refactored `CGImageAuxiliaryDataInfo` to be a `StrongDictionary` in order to avoid most of the manual code and also to avoid reimplementing the `ToDictionary` method (which contained a subtle bug). * Adjusted code to reflect the above change. * Added missing `.ctor (IntPtr, bool)` to `CGImageMetadata` so the class is able to be created by our `Runtime.Get*`. * Simplified `CopyAuxiliaryDataInfo` method by using `CGImageAuxiliaryDataInfo` as a `DictionaryContainer`. Tests: * Added `xamarinmonkey.heic` which is an image that contains depth data needed to test above changes. * Adds `AVDepthDataTests` that touches most of the changes listed here. * Tweak the Simd-compatible matrices and vectors (#2668) * Rename them to be OpenTK.NMatrix# (instead of Simd.MatrixFloat#x#). * Remove the Vector2 and Vector4 variants, we'll use the OpenTK types instead (but we'll keep the NVector3 variant, since it's not identical to the OpenTK version). * Update the API to match their OpenTK counterparts better: * NMatrix2 and NMatrix3 have a 0-based R#C# scheme for their fields. * NMatrix4 has a 1-based M## scheme for its fields (i.e. no change). * [AVFoundation] Use Simd-matrix for API that needs it. (#2679) This also requires implementing the corresponding matrix (NMatrix4x3). Fixes this xtro issue: > !unknown-simd-type-in-signature! OpenTK.Matrix3 AVFoundation.AVCameraCalibrationData::get_GetIntrinsicMatrix(): the native signature has a simd type (matrix_float3x3), while the corresponding managed method is using an incorrect (non-simd) type. * [xtro] Fix checking availability on categories. (#2682) When checking for category availability, check if both the current declaration is a category, and if the current's declaration container is a category. Otherwise this scenario fails: * Category method is available. * Category does not have availability attributes. * Main class is unavailable. with this typical code sequence: ```csharp // don't process methods (or types) that are unavailable for the current platform if (!decl.IsAvailable () || !(decl.DeclContext as Decl).IsAvailable ()) return; ``` In which case we'd: * First check the method (`decl`): * It's available, so no further checks is done on the method. * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container's container is a category (it isn't, it's the namespace). and as such determine that the method is available. With this change, the second step will become: * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container is a category (it is), and if its main class is available (it isn't). and as such determine that the method is unavailable. * Check for attributes on the method's container (no attributes, so we continue). * Check if the method's Unclassified diff: https://gist.github.com/rolfbjarne/8fa80962596978a426eadf9b7ba39dc1 * [uikit] Update for Xcode 9 GM (#2670) * [AVFoundation] Implement AVCapturePhoto. Partially fixes #59388. (#2678) Fixes: > common.unclassified:!missing-type! AVCapturePhoto not bound https://bugzilla.xamarin.com/show_bug.cgi?id=59388 * Use strong dictionaries for AVCapturePhoto.Metadata and AVCapturePhoto.EmbeddedThumbnailPhotoFormat. * [SIMD] Implement Simd double types (VectorDouble3/MatrixDouble4x4). (#2632) The following types will be used by ModelIO bindings * Fix delta to be double * Rename Simd-compatible matrices and vectors to match our final naming. This also means removing the new Vector2 and Vector4 variants (but not Vector3). * [avfoundation] Remove AVAssetDownloadDelegate.DidLoadTimeRange since it was removed in one of the betas (#2687) * [foundation] Move NSUrlSessionMultipathServiceType to a file processed by the generator (for the availability attributes) (#2688) * [arkit] Update for Xcode 9 GM (#2681) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes (#2690) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes Type Changed: Intents.INCarSeatResolutionResult Removed methods: public static INCarSeatResolutionResult GetConfirmationRequired (INCarSeat valueToConfirm); public static INCarSeatResolutionResult GetSuccess (INCarSeat resolvedValue); * [avfoundation] Add missing protocol members and deprecations (#2691) !missing-protocol-member! AVCapturePhotoCaptureDelegate::captureOutput:didFinishProcessingPhoto:error: not found and the selector removed from PR#2687 was actually replaced with this one !missing-protocol-member! AVAssetDownloadDelegate::URLSession:aggregateAssetDownloadTask:didLoadTimeRange:totalTimeRangesLoaded:timeRangeExpectedToLoad:forMediaSelection: not found * [tests][xtro] Map some enums, more fix with protocols and update entries (#2692) * [Tests] Reenable dns tests on the watch. (#2674) * [arkit] Add ARBlendShapeLocationOptions strong dictionary (#2696) * [coreimage] Skip not yet bound filters added in Xcode9 (#2698) Tracked in https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * [Metal] Renamed MTLArgumentDescriptor.ArgumentDescriptor to Create, fixes bug 59498 (#2702) https://bugzilla.xamarin.com/show_bug.cgi?id=59498 From [argumentDescriptor docs](https://developer.apple.com/documentation/metal/mtlargumentdescriptor/2915746-argumentdescriptor?language=objc) > Creates an empty argument descriptor. * [msbuild] Always codesign app bundles if the codesign key is non-null (#2697) ...even if it is a simulator build. Turns out that starting with Xcode9, sim builds need to be codesigned for App Groups entitlements to work properly. Interestingly, the DetectSigningIdentity logic had a comment about needing to codesign simulator builds for some entitlements to work already starting with Xcode 8 but apparently the iOS targets did not respect this. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=59379 * [Foundation] Add NSProxy stub in order to workaround bug 59247 (#2693) https://bugzilla.xamarin.com/show_bug.cgi?id=59247 We need to have a better solution that removes all what NSProxy does not responds to. Right now this works because NSObject implements NSObject protocol just like NSProxy, but NSProxy responds to far less selectors hence doing it internal so it is not a breaking change when we provide the correct fix. * Keep NSProxy around and avoid XML linker description We need to keep NSProxy (avoid linking it) if WKNavigationDelegate or IWKNavigationDelegate is used. We know WKWebView will be there and can hold a reference to it. * [Xcode 9] Update Metal for GM (#2689) * [iosurface] IOSurface is not usable before iOS/tvOS 11. Fixes #59201 (#2706) Apple rejects apps that links with the previously private IOSurface.framework. We were not sure about this [1] and had it disabled (this is removed). However another bug stopped our adjustment logic [2] from being executed. This is needed since `clang` picks up the private framework if it does not find the public one (even when asking for a weak framework), [1] https://bugzilla.xamarin.com/show_bug.cgi?id=59201 [2] Added a while ago for JavascriptCore * Bump maccore to point to commit with the docs fix. (#2703) * Bump XI to 11.0.x (and XM to 3.99.9.x) (#2684) * fix typo
2017-09-16 00:53:16 +03:00
[Export ("fStop")]
nfloat FStop { get; set; }
[Watch (4, 0), TV (11, 0), Mac (10, 13, onlyOn64: true), iOS (11, 0)]
Merge xcode9 into d15-4[-xi] (#2710) * [FileProvider] Add Xcode 9 Beta 1, 2 & 3 Bindings (#2279) * [FileProvider] Add Xcode 9 Beta 1 Bindings * Better naming * Feedback not related to BindAs * [FileProvider] Removes BindAs, add manual code for it and updated to Beta 3 * [FileProvider] Implement feedback * [CoreSpotlight] Updated spotlight bindings for xcode 9 beta 3. (#2193) Updated spotlight bindings for xcode 9 beta 3. * Fix warning caused by duplicate (#2354) * [FileProviderUI] Add Xcode 9 Beta 1 to 3 bindings (#2356) * Bump to Xcode 9 beta 4 * [arkit] ARLightEstimate does not conform to NSCopying anymore (fix unit test) * [uikit] NSFileProviderExtension.ReparentItem got a new parameter in beta4 (fix unit test) * [coreimage] CIImageAccumulator init returns nil in beta 4 There's no header change to mention `init` is not allowed but it's not clear how this default initializer could be used. Also make public some other API to construct this type (outside of XM). It's not clear why there were `internal` as they are (at least now) part of the header files. * [photos] Add helpers when PHLivePhotoEditingOption/NSDictionary is null (to avoid ambiguous API) (#2360) Adding a strongly typed `PHLivePhotoEditingOption` (a strongly typed version of an `NSDictionary`) can cause a `CS0121` (call is ambiguous) since using a `null` argument is common (only one option exist so far). This PR adds overloads that makes the code nicer in such case, e.g. before Xcode9: > // null is used when no options are given > _foo.SaveLivePhoto (output, null, completion); current (Xcode 9) > // casting required to remove ambiguity with PHLivePhotoEditingOption > _foo.SaveLivePhoto (output, (NSDictionary)null, completion); with this PR > // no option, no argument > _foo.SaveLivePhoto (output, completion); The same applies to `PrepareLivePhotoForPlayback`. * [tests] Disable/tweak two tests that breaks on (almost) all Xcode updates Those tests were not added to validate xOS so just keep the parts that helps us (without constantly checking back the new break flavor) * Disable watchOS to check if this hides others issues * [mapkit] Update for beta 4 * [coredata] Update for beta 4 * [wkwebkit] Update for beta 4 Note: WKWindowFeatures.h is not compiled (part of the framework umbrella) and the `@interface WKWindowFeatures (WKPrivate)` sounds like it should not have been exposed (it's all fields starting with `_`) * [corelocation] Update for beta 4 * Revert "Disable watchOS to check if this hides others issues" This reverts commit fed2249fa43290a1956ab2fe0d48f83ab6db9711. * [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]: https://github.com/xamarin/xamarin-macios/blob/f5956d6cc1eb5dfa7bab16628cf282d40237f64e/src/generator.cs#L5985 * [FinderSync] Update to beta 4 (#2377) * [ImageIO] Update to Xcode 9 (#2353) * [PhotosUI] Move macOS photosui bindings out of photos.cs into photosui.cs (#2358) * [quicklook] Update up to beta 4 (#2374) * [uikit] UIDragInteraction & UIDragInteractionDelegate (Xcode 9 b1,2,3) (#2357) * [safariservices] Update up to beta 4 (#2380) * [coreanimation] Update to beta 4 (#2382) Apple removed (mistake?) some API in beta 1. Filed as rdar 33590997 Internal tracking in https://trello.com/c/J8BDDUV9/86-33590997-coreanimation-quartzcore-api-removals * [storekit] Update up to beta 4 (#2379) * [CoreML] Update to Xcode 9 Beta 4 (#2387) * [uikit] UICollectionView/UITableView Drag & Drop (Xcode 9 b1,2,3 & 4) (#2355) * Update code after radar 32929318 and 32897776 are fixed in b4 (#2394) * [xcode9 CoreAudio] New definitions from Beta1 to Beta3 (#2359) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 (#2397) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 https://bugzilla.xamarin.com/show_bug.cgi?id=58512 Created strong API (VNBarcodeSymbology) on the following properties * VNDetectBarcodesRequest.SupportedSymbologies * VNDetectBarcodesRequest.Symbologies * VNBarcodeObservation.Symbology * Remove modern C# because classic can't do it 😡 * [mediaplayer] Update up to beta 4 (#2388) * [watchkit] Update to beta 4 (#2398) * Bump Visual Studio for Mac max version (#2408) * [coreimage] Add CIBarcodeDescriptor and enabled missing API for VNBarcodeObservation. Fix #58197 (#2411) https://bugzilla.xamarin.com/show_bug.cgi?id=58197 * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 (#2407) * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 * [uikit] Fixes based on comments * [coreimage] CIImageAccumulator API fixes. Fix #58349 (#2412) * Obsolete the default `init`; * XM exposed some older APIs using `int` instead of `CIFormat`. This is fixed and old APIs are obsoleted; * Both new & old APIs are now using `CIFormat` for both XI and XM. https://bugzilla.xamarin.com/show_bug.cgi?id=58349 * [uikit] UIText drag & drop - up to Xcode 9 beta 4 (#2410) * [uikit] UISplitView & UIStackView up to Xcode 9 beta 4 (#2425) * Bump XI/XM versions before preview 4 (#2422) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 (#2378) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 * [PDFKit] Implement feedback * [PDFKit] the forgotten enum * [PDFKit] More feedback * [PDFKit] Add Mac changes * Missing change * Fix test RectangleF VS CGRect * Pass -Wunguarded-availability-new to quiet a new clang warning (#2424) - https://bugzilla.xamarin.com/show_bug.cgi?id=58574 * [mtouch/mmp] Ignore warnings about unguarded code section with regards to availability. (#2441) * [monotouch-test] Remove workaround for fixed Apple bug. (#2445) * Bump to Xcode 9 beta 5. (#2447) * Bump to Xcode 9 beta 5. * [mmp] Disable the partial static registrar, because Apple's macOS SDK is broken. > In file included from Xamarin.Mac.registrar.mobile.i386.m:1: > In file included from ./Xamarin.Mac.registrar.mobile.i386.h:11: > /Applications/Xcode9-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVFoundation.h:88:9: fatal error: 'AVFoundation/AVRouteDetector.h' file not found https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [mmp] Fix partial static registrar removal. * [CallKit] Update to Xcode 9 beta 5. * [ARKit] ARPointCloud doesn't conform to NSCopying anymore in Xcode 9 beta 5. * [ARKit] Update to Xcode 9 beta 5 enough to make tests happy. * [CoreImage] Stub out new filters in Xcode 9 beta 5. * [tests][monotouch] Simplify some MDLMesh asserts since values change a lot between OS versions. * [mmp] Default to the dynamic registrar for release builds again, due to bug #58629. https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [tests][introspection] CXCall started implementing NSCopying without saying so in the headers. * Disable mmp static registrar tests due to 58629 for now * [quicklook] Update to beta 5 (#2450) * [photos] Update for beta 5 (#2452) Also update some existing enum members were added in beta 1 on macOS * [safariservices] Update for beta 5 (#2455) * [mediaplayer] Update to beta 5 (#2456) * [CoreLocation] Update Xcode 9 Beta 5 (#2453) * [CoreML] Update to Xcode 9 Beta 5 (#2454) * [Contacts] Update to Xcode 9 Beta 5 (#2451) * [Vision] Update to Xcode 9 Beta 5 (#2458) * [builds] Tell LLVM to stay away from newer macOS functions. (#2459) Fixes this build problem on Sierra: > ld: weak import of symbol '_futimens' not supported because of option: -no_weak_imports for architecture x86_64 This is a symbol that was (will be?) introduced in High Sierra. Interestingly this only occurs if the Xcode 8.X Command Line Tools haven't been manually installed. Because if the Xcode 8.X Command Line Tools are installed, this happens: 1. llvm's configure script detects that 'futimens' is not usable. 2. llvm's configure script detects that 'futimens' is not usable, because xcrun sets SDKROOT=/ when calling clang. a. When the SDKROOT variable is set, clang passes '-syslibroot /usr/lib' to ld. b. When ld gets '-syslibroot /usr/lib', ld looks in '/usr/lib' for a library that contains 'futimens' in the OS itself, and since we're on Sierra, that fails to link. c. So when llvm's configure script creates a test program that checks if 'futimens' is present, the program fails. This is correct, and makes llvm *not* use futimens. 3. xcrun sets SDKROOT=/ because /usr/share/current-os.sdk/Info.plist exists. If that file does not exist, then xcrun sets SDKROOT to Xcode9's macOS SDK (because that's what xcode-select reports). a. When SDKROOT is set to Xcode9's macOS SDK, the configure check for 'futimens' succeeds, because the macOS 10.13 SDK contains that function. b. llvm happily uses 'futimens', and then the final link fails because we're using a symbol not available on all target platforms. * [arkit] Update for Xcode 9 beta 5 - Part 1 (#2460) * [tests] The container app for watchOS tests should be 64-bit. (#2463) * [xharness] watchOS tests need to run in a clean environment. Works around #58348. (#2462) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [xharness] It watchOS tests don't need to be clean anymore. Fixes #58348. (#2473) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [uikit] UIView/UIScrollView/UIViewController up to Xcode 9 beta 5 (#2431) - Add NSDirectionalEdgeInsets type. - Includes DirectionalEdgeInsetsTest. * [AudioToolbox] Update bindings to Xcode 9 beta3 (not later changes). (#2294) * [xharness] Add a file existence check. (#2478) Fixes this exception: ``` Harness exception for 'introspection': System.IO.FileNotFoundException: Could not find file '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log'. File name: '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log' at System.IO.__Error.WinIOError (System.Int32 errorCode, System.String maybeFullPath) [0x00207] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/__error.cs:188 at System.IO.FileInfo.get_Length () [0x00038] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/fileinfo.cs:171 at xharness.CaptureLog.StopCapture () [0x00021] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Log.cs:252 at (wrapper remoting-invoke-with-check) xharness.CaptureLog:StopCapture () at xharness.AppRunner+<RunAsync>d__68.MoveNext () [0x0127f] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/AppRunner.cs:642 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter`1[TResult].GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:357 at xharness.RunSimulatorTask+<RunTestAsync>d__7.MoveNext () [0x0029d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2894 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.RunTestTask+<ExecuteAsync>d__8.MoveNext () [0x0010b] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2538 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.TestTask+<RunInternalAsync>d__87.MoveNext () [0x0010d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:1870 ``` I'm not sure how this can happen, but it has on the bots [1]. [1] https://jenkins.mono-project.com/job/xamarin-macios-pr-builder/4548/Test_Report/ * Bump versions for preview 5 (#2479) * [passkit] Update to beta 5 (#2481) * [tests] Remove workaround for radar #32688391. (#2486) * [replaykit] Update up to beta 5 (#2484) * Bump maccore to get fix for bug #55064. (#2487) * [apidiff] Update definition to new 10.12 (d15-3) stable release (#2490) * [SceneKit] basic work (#2483) * [coredata] Update to beta 5 (#2488) * [homekit] Update for Xcode 9 beta 5 (#2492) * [Foundation] Update for xcode9 (#2468) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 (#2493) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 * [Intents] Implement feedback * [Intents] Add a generic version for INInteraction.GetParameterValue * [Intents] Missing check * [Contacts] Add missing foundation NSItemProviderWriting protocol to CNContact (#2496) https://bugzilla.xamarin.com/show_bug.cgi?id=58203 This is available on all Contacts supported platforms ``` ./iPhoneOS.platform/Developer/SDKs/iPhoneOS11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchOS.platform/Developer/SDKs/WatchOS4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchSimulator.platform/Developer/SDKs/WatchSimulator4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ``` * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) (#2497) * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) * [IntentsUI] Better use a delegate instead so we have named params * Bump versions before 6th preview (#2514) * [arkit] Add missing MarshalDirective to ARPlaneAnchor (#2517) - Fixes bug #58648: ARPlaneAnchor.Extent property seems incorrect but changes to correct value after Debug access (https://bugzilla.xamarin.com/show_bug.cgi?id=58648) * [xtro-sharpie] Fix a compiler warning. (#2516) Fixes these warnings: Runner.cs(197,5): warning CS0642: Possible mistaken empty statement Runner.cs(199,5): warning CS0642: Possible mistaken empty statement Runner.cs(201,5): warning CS0642: Possible mistaken empty statement Runner.cs(203,5): warning CS0642: Possible mistaken empty statement Runner.cs(205,5): warning CS0642: Possible mistaken empty statement * [uikit] Update for Xcode 9 beta 5 - Part 3 (#2511) - UIKeyCommand - UINavigationBar - UINavigationItem - UIPasteboard - UITableViewHeaderFooterView * [xtro-sharpie] Remove xtro-plugin and misc other fixes. (#2522) * [xtro-sharpie] Build with msbuild and be as quiet as requested when building. * [xtro-sharpie] Must run as a 64-bit process, since the required native libraries are 64-bit. * [xtro-sharpie] Add run configurations to the project file to ease debugging in the IDE. * [xtro-sharpie] Remove xtro-plugin and the related commands. This was needed when there wasn't a 64-bit mono, in order to run xtro-sharpie in a 64-bit process. Now there is a 64-bit mono, so it's not needed anymore. Also improve makefile targets a bit, to auto-build stuff when needed, by setting the right dependencies. * Bump Xcode 9 to beta 6 (#2519) Disable watchOS tests again It seems like the Carousel crash from beta 4 is back to haunt us. This was working fine with beta 5. * Backport d15-3 SR2 fixes (#2515) * [coredata] Update to beta 6 (#2528) This seems to only revert some nullability changes from beta 5. * [coreml] Update to beta 6 (#2531) Fix our rdar 33643011 where additional setters were added in the headers but did not exists. * [videosubscriberaccount] Update to beta 6 (#2533) Only b1 and b2 introduced some additions/changes * [uikit] Update for Xcode 9 beta 6 - Part 4 (#2527) The following headers are now up to date: - UICollectionViewFlowLayout.h - UIDocumentPickerViewController.h - UIFontDescriptor.h - UIImage.h - UIImageView.h - UIImagePickerController.h * [xharness] Re-enable the watchOS tests. (#2534) It works fine for me locally, so let's see what Jenkins says. * [macos] Add new APIs in CoreWlan from Xcode9b3 (#2525) * Update AppKit bindings based on radar 33271241 results (#2518) * Update AppKit bindings based on radar 33271241 results - The header comment was updated to note it was NSSliderTouchBarItem view that has the protocol * Remove NSUserInterfaceCompression where not listed in header * [vision] Update to beta 6 (#2532) Removal of some deprecated (during beta) `init*` selectors. Also sync the versions that were inlined in subclasses - the old ones were not removed and the new ones were not added. * [xtro-sharpie] Many methods don't have selectors in Clang's API, so default to the name if no selector. (#2523) This makes a few more unclassified entries show up (mostly missing designated initializers): https://gist.github.com/rolfbjarne/07aa20f9b50b75bf3e69ac6a825e873a * [macos] Add ExternalAccessory APIs from xcode9 (#2526) * [58851] Disable NSMenuView in AllItemsWithNSMenuShouldAllowNull (#2504) * [arkit] Update for Xcode 9 beta 5 - Part 2 (#2505) - Add last missing selector. - Add tests for manual code. * [monotouch-test] Disable FontDescriptorTest.WithFeature (#2537) Disabled because it looks like the tvOS font we use: "Gujarati Sangam MN" does not have rare ligatures anymore (and the entire test is based on it). Before getting an actual fix for that, let's disable the test so it doesn't break all current builds. See: https://bugzilla.xamarin.com/show_bug.cgi?id=58929 * [xtro-sharpie] Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute. (#2524) Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute to calculate the native name for a TypeDefinition. Unclassified changes: https://gist.github.com/rolfbjarne/828f8ee41eebb0a3b60a38d71822fe59 * [foundation/uikit] Inline NSItemProvider_UIKitAdditions in NSItemProvider (#2538) As suggested here: https://github.com/xamarin/xamarin-macios/pull/2527#discussion_r134670981 * [intents] Fix breaking changes (api-diff) (#2543) Additions of @required members inside `INSpeakable` cannot be `[Abstract]` * [contacts] Fix breaking change (api-diff) (#2542) Type Changed: Contacts.CNPostalAddress Removed method: public static string LocalizeProperty (CNPostalAddressKeyOption option); * [macos] Reenable static registrar since Xcode9b6 un-broke SDK headers (#2544) - Fix a subtle spacing issues in PartialStaticLibrary property * [corebluetooth] Update up to beta 6 and enable it on watchOS (#2540) macOS 10.13 has finally catch up with iOS and this simplifies the bindings a bit. * [foundation] API fixes (apidiff) (#2545) 1. Let's not add new, already [Obsolete] API Type Changed: Foundation.NSDimension Added constructors: [Obsolete ("Not intended to be directly instantiated, this is an abstract class.")] public NSDimension (); 2. Fix inconsistently named API, e.g. Type Changed: Foundation.NSAttributedString Added properties: public static string[] ReadableTypeIdentifiersForItemProvider { get; } public static string[] WritableTypeIdentifiers { get; } * [pdfkit] Do not add already [Obsolete] API in new profiles (#2547) and ensure using the newer, correct API works cross-platforms iOS (before) [Obsolete ("Use 'Find (string, NSStringCompareOptions)' instead.")] public virtual PdfSelection[] Find (string text, nint options); public PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'Find (string, PdfSelection, NSStringCompareOptions)' instead.")] public virtual PdfSelection Find (string text, PdfSelection selection, nint options); public void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string, NSStringCompareOptions)' instead.")] public virtual void FindAsync (string text, nint options); public void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string [], NSStringCompareOptions)' instead.")] public virtual void FindAsync (string[] text, nint options); iOS (after) public virtual PdfSelection[] Find (string text, Foundation.NSStringCompareOptions compareOptions); public virtual PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); * Bump versions for the 7th preview (#2541) * Remove additions of AVKit removed in beta5 (#2536) * NSUrlSessionTask should implement NSProgressReporting for iOS (#2548) NSUrlSessionTask implements NSProgressReporting on iOS as well as Mac, so the #if MONOMAC isn't needed. * Add missing availability attributes causing failures on older iOS versions (#2550) * [vision] Minor fix wrt xtro (#2551) including some things we need to ignore manually !missing-field! VNVisionVersionNumber not bound !missing-pinvoke! VNImagePointForFaceLandmarkPoint is not bound !missing-pinvoke! VNNormalizedFaceBoundingBoxPointForLandmarkPoint is not bound * [uikit] NSFileProviderMessaging was removed in beta 2. Fixes #58222 (#2552) reference: https://bugzilla.xamarin.com/show_bug.cgi?id=58222 * [uikit] Update for Xcode 9 - Part 5 (#2546) Bindings for the following headers: - UIActivity.h - UIActivityItemProvider.h - UIAlertController.h - UIApplication.h - UIBarButtonItem.h - UIButton.h - UICollectionViewLayout.h - UIColor.h - UIControl.h - UIDocumentMenuViewController.h - UIFontMetrics.h - UIGestureRecognizer.h - UIGraphicsImageRenderer.h - UIInputViewController.h * [CoreText] Fix an extraneous free in CTFont.GetDefaultCascadeList. (#2555) We do not own the return value from CFArrayGetValueAtIndex, so don't say we do when creating CTFontDescriptor instances, since that leads to angry dragons: 2017-08-28 20:15:20.293 monotouchtest[33186:2311738] A_FontTest 2017-08-28 20:15:20.294 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithFontDescriptorAndOptions 2017-08-28 20:15:20.295 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithNameAndOptions 2017-08-28 20:15:20.296 monotouchtest[33186:2311738] critical: Stacktrace: at <unknown> <0xffffffff> at (wrapper managed-to-native) CoreText.CTFont.CTFontCopyDefaultCascadeListForLanguages (intptr,intptr) [0x0000a] in <ae65a2b1eea242d2b68fe784749543bf>:0 at CoreText.CTFont.GetDefaultCascadeList (string[]) [0x00013] in /work/maccore/xcode9/xamarin-macios/src/CoreText/CTFont.cs:2185 at MonoTouchFixtures.CoreText.A_FontTest.GetCascadeList () [0x0001e] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/CoreText/FontTest.cs:78 at (wrapper runtime-invoke) object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) [0x0004f] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) System.Reflection.MonoMethod.InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&) [0x00016] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at System.Reflection.MonoMethod.Invoke (object,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo) [0x00032] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/corlib/System.Reflection/MonoMethod.cs:305 at System.Reflection.MethodBase.Invoke (object,object[]) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/referencesource/mscorlib/system/reflection/methodbase.cs:229 at NUnit.Framework.Internal.Reflect.InvokeMethod (System.Reflection.MethodInfo,object,object[]) [0x00009] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Reflect.cs:215 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunNonAsyncTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x00025] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:116 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x0001a] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:90 at NUnit.Framework.Internal.Commands.TestMethodCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:66 at NUnit.Framework.Internal.Commands.SetUpTearDownCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00007] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/SetUpTearDownCommand.cs:84 at NUnit.Framework.Internal.WorkItems.SimpleWorkItem.PerformWork () [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/SimpleWorkItem.cs:64 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at MonoTouch.NUnit.UI.BaseTouchRunner.Run (NUnit.Framework.Internal.Test) [0x0004d] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:442 at MonoTouch.NUnit.UI.BaseTouchRunner.Run () [0x00030] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:171 at MonoTouch.Dialog.StringElement.Selected (MonoTouch.Dialog.DialogViewController,UIKit.UITableView,Foundation.NSIndexPath) [0x00008] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/Elements.cs:765 at MonoTouch.Dialog.DialogViewController.Selected (Foundation.NSIndexPath) [0x00026] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:577 at MonoTouch.Dialog.DialogViewController/Source.RowSelected (UIKit.UITableView,Foundation.NSIndexPath) [0x00016] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:402 at (wrapper runtime-invoke) <Module>.runtime_invoke_void__this___object_object (object,intptr,intptr,intptr) [0x0005d] in <32f0c196c5bc4aa18daea2ee64a7814e>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) UIKit.UIApplication.UIApplicationMain (int,string[],intptr,intptr) [0x0005c] in <ae65a2b1eea242d2b68fe784749543bf>:0 at UIKit.UIApplication.Main (string[],intptr,intptr) [0x00005] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:79 at UIKit.UIApplication.Main (string[],string,string) [0x00038] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:63 at monotouchtest.Application.Main (string[]) [0x00011] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/Main.cs:27 at (wrapper runtime-invoke) <Module>.runtime_invoke_void_object (object,intptr,intptr,intptr) [0x00051] in <30a7f7e09de9467b8b454221034a0e38>:0 Native stacktrace: 0 monotouchtest 0x000000010fca03c4 mono_handle_native_crash + 244 1 monotouchtest 0x000000010fcadd30 mono_sigsegv_signal_handler + 288 2 libsystem_platform.dylib 0x000000011feb3b3a _sigtramp + 26 3 CoreFoundation 0x000000011de035a2 computeSanitizedString + 146 4 CoreText 0x00000001168df314 _ZN15TPurgeableCache19RetainedValueForKeyEPKv + 54 5 CoreText 0x00000001168def85 _ZNK17TDescriptorSource22CopyDescriptorUncachedEPK7__CFURLbPK10__CFString + 55 6 CoreText 0x00000001168df34f _ZNK17TDescriptorSource14CopyDescriptorEPK7__CFURLbPK10__CFString + 27 7 CoreText 0x00000001168e20ad _ZNK17TDescriptorSource35CopyFontDescriptorPerPostScriptNameEPK10__CFStringmm + 297 8 CoreText 0x00000001168dfd9e _ZNK17TDescriptorSource30CopySystemFontDescriptorByNameEPK10__CFString10UIFontFlag + 54 9 CoreText 0x00000001168e54c4 _ZNK14TFontFallbacks17CopyFontFallbacksEPK10__CFStringS2_PK9__CFArray + 652 10 CoreText 0x00000001168e4a00 _ZNK14TFontFallbacks29CopyFontFallbacksForLanguagesEPK10__CFStringPK9__CFArray + 122 11 CoreText 0x00000001168e4971 _ZN17TDescriptorSource39CopyDefaultSubstitutionListForLanguagesEPK10__CFStringPK9__CFArray + 61 12 CoreText 0x00000001169397a7 _ZNK9TBaseFont28CreateSystemDefaultFallbacksEPK10__CFStringPK9__CFArray + 51 13 CoreText 0x000000011693999c _ZNK9TBaseFont15CreateFallbacksE10UIFontFlagPPK16__CFCharacterSetPK9__CFArray + 346 14 CoreText 0x00000001168c1036 _ZNK5TFont24CreateDefaultCascadeListEPK9__CFArray + 242 15 CoreText 0x00000001168b8ff9 CTFontCopyDefaultCascadeListForLanguages + 97 16 ??? 0x0000000140eaefd3 0x0 + 5384105939 17 ??? 0x0000000140eae761 0x0 + 5384103777 18 ??? 0x000000013c9c8e74 0x0 + 5311860340 19 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 20 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 21 monotouchtest 0x000000010fd71bac mono_runtime_try_invoke_array + 1292 22 monotouchtest 0x000000010fd15587 ves_icall_InternalInvoke + 647 23 ??? 0x000000013e9fcd13 0x0 + 5345627411 24 ??? 0x000000013e9fc738 0x0 + 5345625912 25 ??? 0x000000013e9fded5 0x0 + 5345631957 26 ??? 0x000000013e9fbb76 0x0 + 5345622902 27 ??? 0x000000013e9e237e 0x0 + 5345518462 28 ??? 0x000000013e9e237e 0x0 + 5345518462 29 ??? 0x000000013e9e237e 0x0 + 5345518462 30 ??? 0x000000013e9e237e 0x0 + 5345518462 31 ??? 0x000000013e873006 0x0 + 5344014342 32 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 33 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 34 monotouchtest 0x000000010fd6e320 mono_runtime_invoke + 208 35 monotouchtest 0x000000010fe71af1 xamarin_invoke_trampoline + 5617 36 monotouchtest 0x000000010fe79ddd xamarin_arch_trampoline + 189 37 monotouchtest 0x000000010fe7b1a1 xamarin_x86_64_common_trampoline + 110 38 UIKit 0x0000000111b9876b -[UITableView _selectRowAtIndexPath:animated:scrollPosition:notifyDelegate:] + 1810 39 UIKit 0x0000000111b98986 -[UITableView _userSelectRowAtPendingSelectionIndexPath:] + 344 40 UIKit 0x0000000111a6b5c9 _runAfterCACommitDeferredBlocks + 318 41 UIKit 0x0000000111a59dad _cleanUpAfterCAFlushAndRunDeferredBlocks + 280 42 UIKit 0x0000000111a89f68 _afterCACommitHandler + 137 43 CoreFoundation 0x000000011de3ddb7 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23 44 CoreFoundation 0x000000011de3dd0e __CFRunLoopDoObservers + 430 45 CoreFoundation 0x000000011de22324 __CFRunLoopRun + 1572 46 CoreFoundation 0x000000011de21a89 CFRunLoopRunSpecific + 409 47 GraphicsServices 0x0000000121b7e9c6 GSEventRunModal + 62 48 UIKit 0x0000000111a5f7d0 UIApplicationMain + 159 49 ??? 0x000000013c9c4474 0x0 + 5311841396 50 ??? 0x000000013c9c40ad 0x0 + 5311840429 ================================================================= Got a SIGSEGV while executing native code. This usually indicates a fatal error in the mono runtime or one of the native libraries used by your application. ================================================================= * [monotouch-test] Don't subclass MKMapView. (#2556) MKMapView doesn't like being subclassed (Apple says "you should not subclass the MKMapView class itself"). Bad things like this starts happening: Thread 0 name: tid_303 Dispatch queue: com.apple.main-thread Thread 0 Crashed: 0 libsystem_kernel.dylib 0x0000000186b25348 __pthread_kill + 8 1 libsystem_pthread.dylib 0x0000000186c39354 pthread_kill$VARIANT$mp + 396 2 libsystem_c.dylib 0x0000000186a94fd8 abort + 140 3 monotouchtest 0x0000000101c02c14 mono_handle_native_crash + 22047764 (mini-exceptions.c:2548) 4 monotouchtest 0x0000000101c0d02c mono_sigsegv_signal_handler + 22089772 (mini-runtime.c:2886) 5 libsystem_platform.dylib 0x0000000186c33b60 _sigtramp + 52 6 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 7 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 8 CoreFoundation 0x0000000186eda51c -[__NSArrayM dealloc] + 68 9 CoreFoundation 0x000000018703f5c8 __CFBasicHashDrain + 312 10 CoreFoundation 0x0000000186fb5b44 _CFRelease + 224 11 CoreText 0x000000018a808404 TDescriptorSource::PurgeFontFallbacksCache+ 488452 () + 92 12 CoreText 0x000000018a808374 TDescriptorSource::PurgeFromCaches+ 488308 (__CFURL const*) const + 176 13 CoreText 0x000000018a7eec74 CTFontRemoveFromCaches + 168 14 VectorKit 0x0000000196a539b0 +[VKSharedResourcesManager removeResourceUser:] + 324 15 VectorKit 0x0000000196ca27a4 md::MapEngine::~MapEngine+ 2643876 () + 360 16 VectorKit 0x0000000196ca2634 md::MapEngine::~MapEngine+ 2643508 () + 12 17 libobjc.A.dylib 0x000000018651eef4 object_cxxDestructFromClass+ 28404 (objc_object*, objc_class*) + 148 18 libobjc.A.dylib 0x000000018652c638 objc_destructInstance + 88 19 libobjc.A.dylib 0x000000018652c690 object_dispose + 16 20 QuartzCore 0x000000018afca3ac -[CALayer dealloc] + 116 21 VectorKit 0x0000000196a43294 -[VKMapView dealloc] + 940 22 QuartzCore 0x000000018af6aafc CA::release_objects+ 744188 (X::List<void const*>*) + 32 23 QuartzCore 0x000000018afd97d8 CA::Layer::~Layer+ 1198040 () + 276 24 QuartzCore 0x000000018afca37c -[CALayer dealloc] + 68 25 QuartzCore 0x000000018af6b16c CA::Transaction::commit+ 745836 () + 1052 26 UIKit 0x0000000190393290 _afterCACommitHandler + 256 27 CoreFoundation 0x0000000186fb38b8 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 32 28 CoreFoundation 0x0000000186fb1270 __CFRunLoopDoObservers + 412 29 CoreFoundation 0x0000000186fb182c __CFRunLoopRun + 1292 30 CoreFoundation 0x0000000186ed22d8 CFRunLoopRunSpecific + 436 31 GraphicsServices 0x0000000188d58f84 GSEventRunModal + 100 32 UIKit 0x000000019040427c UIApplicationMain + 208 33 monotouchtest 0x000000010106eb90 wrapper_managed_to_native_UIKit_UIApplication_UIApplicationMain_int_string___intptr_intptr + 9907088 (/<unknown>:1) 34 monotouchtest 0x0000000100f0d6ac UIKit_UIApplication_Main_string___intptr_intptr + 8459948 (UIApplication.cs:79) 35 monotouchtest 0x0000000100f0d66c UIKit_UIApplication_Main_string___string_string + 8459884 (UIApplication.cs:63) 36 monotouchtest 0x0000000100b10450 monotouchtest_Application_Main_string__ + 4277328 (Main.cs:27) 37 monotouchtest 0x0000000100e0c244 wrapper_runtime_invoke_object_runtime_invoke_dynamic_intptr_intptr_intptr_intptr + 244 38 monotouchtest 0x0000000101c10048 mono_jit_runtime_invoke + 22102088 (mini-runtime.c:2526) 39 monotouchtest 0x0000000101c75eec do_runtime_invoke + 22519532 (object.c:2829) 40 monotouchtest 0x0000000101c78a3c do_exec_main_checked + 22530620 (object.c:4623) 41 monotouchtest 0x0000000101bf9a1c mono_jit_exec + 22010396 (driver.g.c:1040) 42 monotouchtest 0x0000000101d13d60 xamarin_main + 23166304 (monotouch-main.m:482) 43 monotouchtest 0x00000001007de710 main + 927504 (main.m:67) 44 libdyld.dylib 0x00000001869f656c start + 4 * [introspection] Let SkipDueToAttributeInProperty skip setters too (#2557) `SkipDueToAttributeInProperty` which is used to check the availability attribute of properties when the Availability info only exist on the property and not on the property Getter or Setter was wrong. This lead to `setSpringLoaded` (which was introduced in iOS 11) to not be ignored by the test (making it fail). - Fix bug #59085: [introspection-ios] selector not found for UIKit.UIBarButtonItem : setSpringLoaded: - Broken test (https://bugzilla.xamarin.com/show_bug.cgi?id=59085) * [corevideo][watchos] Enable CoreVideo on watchOS (#2553) * [storekit] Fix CampaignToken typo (#2559) (#2560) - Fixes bug #59078: StoreProductParameters and invalid property for CampaignToken (https://bugzilla.xamarin.com/show_bug.cgi?id=59078) * [coreml][watchos] Enable API using CoreVideo on watchOS. Fix #58097 (#2561) https://bugzilla.xamarin.com/show_bug.cgi?id=58097 * Add missing [MarshalDirective] attributes. (#2558) * [bindings-generator] Improve build & project file. * Add missing [MarshalDirective] attributes. Add missing [MarshalDirective] attributes, which also requires implementing support for out parameters in the binding generator, since one of the signatures missing the [MarshalDirective] contains such an out parameter. Also add tests for all the API I've added [MarshalDirective] to. * [bindings-generator] Remove redundant if check. * [monotouch-test] Rename file to end with 'Test.cs'. * [tests] Fix a few build errors for Xamarin.Mac. * [uikit] Fix UIColor and UIInputViewController tvOS availability (#2569) - Fixes introspection tests on tvOS 10. * [storekit] Fix SKCloudServiceSetupMessageIdentifier and SKProductStorePromotionController tvOS availability (#2568) - Fixes introspection tests on tvOS 10. * [mapkit] Fix MKMapItemTypeIdentifier tvOS availability (#2566) - Also remove double [Mac] availability attribute. - Fixes introspection tests on tvOS 10. * [ARKit] Fix marshalling for ARPointCloud.RawFeaturePoints. (#2565) ARPointCloud.RawFeaturePoints is an array of Vector3, but each vector is 16-byte aligned (as if it were an array of Vector4). This means we need to account for this when creating a managed array from pointer to the native C-style array. * [ModelIO] Fix MDLVoxelIndexExtent struct. (#2564) The MDLVoxelIndexExtent is a struct containing two 4-dimensional vectors of integers (not floats, as originally and incorrectly implemented). Fix this my creating a new MDLVoxelIndexExtent2 struct with the right fields, re-implement all the API that exposes this struct and obsolete the old API. Also add missing [MarshalDirective] attributes. And write a test to make sure it works fine now and forever. * [coredata] Enable new fields since rdar #33878590 is fixed w/beta 6 (#2570) reference: https://trello.com/c/dlSRYPFx * [xtro-sharpie] Add a Simd check class to verify signatures with Simd types. * [Simd] Add simd matrix types. The OpenTK matrices (Matrix2/3/4) has a different memory layout than Apple's matrix_float2x2/matrix_float3x3/matrix_float4x4 matrices: the OpenTK versions are row-major, while Apple's versions are column-major. This means that when blitting memory from one to the other, the matrix will appear to have been transposed. See bug #[58599][2] for an example. Unfortunately we've already bound several API with Apple's matrix_floatXxX matrices using OpenTK's matrices, and although they're bound wrong, and the matrices appear transposed on input/output, we can't change the behavior because we have to maintain compatibility. This means we have to introduce new API, and then also just define new matrix types with the right memory layout (column-major). Additionally, in the future we might be able to mark these matrices as Simd-matrixes, so that the JIT/AOT compiler can generate the correct alignment for them, avoiding having to define a native conversion method (using the [MarshalDirective] hack). The matrices have been designed to match API-wise the matrices in the System.Numerics.Vectors namespace [1], but for the moment with only a few basic operations implemented (Determinant/Transpose/Multiply) defined (we can always add more later if we want to). In addition explicit conversion operators to and from the corresponding OpenTK.MatrixX are implemented, which means any operation defined in the OpenTK matrices can be used by converting back and forth. [1]: https://msdn.microsoft.com/en-us/library/system.numerics.matrix4x4(v=vs.111).aspx [2]: https://bugzilla.xamarin.com/show_bug.cgi?id=58599 * [ARKit] Use the new Simd matrix types. * [Vision] Use the new Simd matrix types. * [ModelIO] Use the new Simd-compatible matrix types, and deprecate the old API. * [GameplayKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [SpriteKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [xtro] Don't report missing [MarshalDirective] for obsolete methods. * [xtro] Remove unnecessary ignores. The implementation changed, and these stayed accidentally. * [wkwebkit] Fix (native) protocol names (#2572) Also ignore xtro's WKSnapshotConfiguration since it's an Apple bug 34185961 reference (xtro) !missing-protocol! WKURLSchemeHandler not bound !missing-protocol! WKURLSchemeTask not bound !unknown-protocol! WKUrlSchemeHandler bound !unknown-protocol! WKUrlSchemeTask bound !unknown-type! WKSnapshotConfiguration bound * [uikit] Fix enums availability attributes (#2575) - Fixes bug #59132: [uikit] Extra types in watchOS (https://bugzilla.xamarin.com/show_bug.cgi?id=59132) * [watchkit] Add missing designated initializers (#2574) references (xtro) !missing-designated-initializer! WKInterfaceController::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! WKUserNotificationInterfaceController::init is missing an [DesignatedInitializer] attribute * [xtro] Reword some of the Simd diagnostic messages according to review. * [tests] Make sure test symbols don't clash between different test libraries. Fixes this build problem for framework-test: clang: error: linker command failed with exit code 1 (use -v to see invocation) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_get_rotation_matrix'. MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticObjectTest.framework/XStaticObjectTest (Location related to previous error) MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticArTest.framework/XStaticArTest(libtest-ar.x86_64.o) (Location related to previous error) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransformcomponent_get_local_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_create_global_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float4x4'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float3x3'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float2x2'. MTOUCH: error MT5209: Native linking error: 6 duplicate symbols for architecture x86_64 MTOUCH: error MT5202: Native linking failed. Please review the build log. * [tests] Since libtest.a need ModelIO now, the corresponding LinkWith attributes need to state that too. * [introspection] Don't check native signatures on obsolete members, and ignore the right simd matrix types. Fixes this introspection/Mac problem: ***** ApiSignatureTest.NativeSignatures Selector: uniformWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: uniformWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: uniformWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: setMatrixFloat2x2Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: setMatrixFloat3x3Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: setMatrixFloat4x4Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: initWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: initWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: initWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded * [monotouch-tests] Include more custom asserts for watchOS to make the build work. Fixes this: Simd/MatrixFloat4x4Test.cs(28,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(29,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(37,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(48,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' [...] * [monotouch-test] Exclude code that requires the binding project from xammac tests. Exclude code that requires the test binding project from xammac tests because there's currently no XM version of the test binding project. Fixes this: tests/monotouch-test/SpriteKit/UniformTest.cs(20,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLMaterialProperty.cs(37,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLTransform.cs(34,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) * Bump version for preview #8 (#2576) * [spritekit] Audit fixes (xtro) (#2577) 1. SKVideoNode is now, partially, available on watchOS and does not require the extra, manual code to swicth selectors depending on the OS version being run. !missing-type! SKVideoNode not bound !missing-selector! SKVideoNode::anchorPoint not bound !missing-selector! SKVideoNode::initWithCoder: not bound !missing-selector! SKVideoNode::initWithFileNamed: not bound !missing-selector! SKVideoNode::initWithURL: not bound !missing-selector! SKVideoNode::setAnchorPoint: not bound !missing-selector! SKVideoNode::setSize: not bound !missing-selector! SKVideoNode::size not bound !missing-selector! +SKVideoNode::videoNodeWithFileNamed: not bound !missing-selector! +SKVideoNode::videoNodeWithURL: not bound 2. SKNodeFocusBehavior is exposed needlessly on watchOS because SpriteKit/Enums.cs was not processed by the generator, so [NoWatch] did not matter. !unknown-native-enum! SKNodeFocusBehavior bound It's also visible on macOS but nothing uses it (so we do not expose it needlessly) !missing-enum! SKNodeFocusBehavior not bound 3. Add missing designated initializer on default `init` !missing-designated-initializer! SKAttributeValue::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! SKNode::init is missing an [DesignatedInitializer] attribute 4. Remove inconsistency for SKNode subclasses wrt XAMCORE_4_0 The trio attributeValues, setAttributeValues and setValue:forAttributeNamed: that was moved from SKNode (deprecated) into its subclasses. This was done using XAMCORE_4_0 but not on every subclasses. This adds them everywhere to be consistent (only SKNode versions are not defined in XAMCORE_4_0) !missing-selector! SKEffectNode::attributeValues not bound !missing-selector! SKEffectNode::setAttributeValues: not bound !missing-selector! SKEffectNode::setValue:forAttributeNamed: not bound !missing-selector! SKEffectNode::valueForAttributeNamed: not bound !missing-selector! SKEmitterNode::attributeValues not bound !missing-selector! SKEmitterNode::setAttributeValues: not bound !missing-selector! SKEmitterNode::setValue:forAttributeNamed: not bound !missing-selector! SKEmitterNode::valueForAttributeNamed: not bound !missing-selector! SKSpriteNode::attributeValues not bound !missing-selector! SKSpriteNode::setAttributeValues: not bound !missing-selector! SKSpriteNode::setValue:forAttributeNamed: not bound !missing-selector! SKSpriteNode::valueForAttributeNamed: not bound * [introspection] Make sure '[FAIL]' is printed before every failure. (#2578) This makes xharness able to list the failures in the inline summary. * [xtro] Reword some of the Simd diagnostic messages according to review. * [xharness] Add a missing IsServerMode check to generate correct html. (#2581) * [SpriteKit] SKTransformNode is new in Xcode 9 so no need to keep the broken (and obsolete) non-simd version of RotationMatrix. * [intents] Fix some (partial) xtro issues and #59156 (#2585) reference https://bugzilla.xamarin.com/show_bug.cgi?id=59156 Remaining issues are filled in https://bugzilla.xamarin.com/show_bug.cgi?id=59183 !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound * [Intents] Confirm* interface methods should be bound as Confirm, Fixes Bug 59164 (#2591) * [Intents] Confirm* interface methods should probably be bound as Confirm, Fixes Bug 59164 https://bugzilla.xamarin.com/show_bug.cgi?id=59164 All Confirm* methods from *IntentHandling interfaces should be named just `Confirm` to avoid confusion because most of them do not directly confirm as an acion, but instead they **ask** for confirmation also we would follow swift's naming by doing this. * [Intents] XAMCORE_4_0 all Confirm* methods from *IntentHandling Turns any Confirm* into just Confirm inside a XAMCORE_4_0 block, * [Intents] Fix breaking changes in Intents added in Xcode 9 Bindings (#2590) Apple added more protocol conformances to INRidesharingDomainHandling and INPaymentsDomainHandling protocols in Xcode 9, I introduced these breaking changes back when I did intents binding so fixing them :) * [Metal] New bindings from Xcode 9 betas (#2457) * [AVFoundation] Updated bindings for xcode9. (#2272) * [Xcode9] Add IOSurface bindings (#2363) * This framework was a private framework before iOS 11. This framework was a private framework before iOS 11, yet the headers claim many API were introduced in iOS 10. So take account of this difference by using the private framework location in iOS 10.3 or earlier. Testing these API from Xcode works fine when run on an iOS 10.3 device, and I've confirmed the IOSurface framework is loaded from the private frameworks path on older devices (and when built using Xcode 9 and linked with the public framework path). * Disable code to make IOSurface work on iOS 10. Disable the code to make IOSurface work on iOS 10, since it may be rejected by the App Store. This also means adjusting the availability attributes, so that the introspection tests pass (and to document that technically these API won't work when used with Xamarin.iOS in iOS 10). I've filed bug #[59201][1] to keep track of this, maybe we can re-enable this later. [1]: https://bugzilla.xamarin.com/show_bug.cgi?id=59201 * [CoreMedia] Fix leak in CMAttachmentBearer.GetAttachments. (#2593) The caller owns the return value from CMCopyDictionaryOfAttachments, so tell Runtime.GetNSObject that. * [Intents] Adds missing API found by xtro, fixes Bug 59183 (#2596) https://bugzilla.xamarin.com/show_bug.cgi?id=59183 Fixes !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !incorrect-protocol-member! INUIHostedViewControlling::configureWithInteraction:context:completion: is OPTIONAL and should NOT be abstract * [xtro] Fix StartWorkingDirectory to enable debugging (#2598) * [iosurface] Enable for tvOS and XM classic (to avoid multiple defines around consumer API) (#2597) * [xtro] Fix EnumCheck (#2600) * [ARKit] Rename a few method to make them nicer. (#2604) * DisplayTransform -> GetDisplayTransform since methods should have verbs. * SessionWasInterrupted -> WasInterrupted and SessionInterruptionEnded -> InterruptionEnded since these names match better with the other names (CameraDidChangeTrackingState / DidFail / DidOutputAudioSampleBuffer: none are prefixed with 'Session'). Additionally, the type is a Model (for the delegate pattern), which means all methods are more-or-less event-like, and the first argument is always the same (the protocol itself), which is another indicator the methods should be named similarly. * [Foundation] Remove 'Key' suffix from some fields. (#2606) Of the 168 fields in NSMetadataItem, only these 5 hadn't removed the 'Key' suffix. So make them all equivalent by removing the 'Key' suffix from these 5 fields. * [ImageIO] Fix API to not duplicate the instance in instance methods. (#2609) An instance method does not need to take the instance as a parameter, so remove the first (instance) parameter for CGImageDestination.AddAuxiliaryDataInfo and CGImageSource.CopyAuxiliaryDataInfo. An alternative solution would be to make the methods static, but I like the instance API better. * [UIKit] De-model UIDataSourceTranslating. (#2603) It's not clear from neither the documentation nor the headers how this protocol is supposed to be used, and since it doesn't correspond to the delegate pattern, remove the [Model] attribute for now. We can always add it back later. * [CoreML] Improve API. (#2592) * [CoreML] Improve API. * The indices, shape and stride properties for MLMultiArray and MLMultiArrayConstraint can logically only be arrays of integers, so type them as such. This means adding overloads for MLMultiArray's constructors, GetObject and SetObject methods, and the indexers that takes nint[] arrays instead of NSNumber[] arrays. * Change MLFeatureValue's static factory methods to be a method ('Create') instead of a preposition, and call all the different factory methods the same, since they can be overloaded nicely. * [tests][monotouch-test] Add version check to MLMultiArrayTest and make sure the arrays we create are big enough for the data we put in them. * [tests][monotouch-test] MLMultiArray's elements aren't zero-initialized, so don't assume that in the tests. * Support overloading Objective-C methods based on static/instance. (#2607) Two Objective-C methods can be named identically as long as one is static and the other instance. We must support this since Apple did just this (in the NSItemProviderReading / NSItemProviderWriting protocols). We solve it by prepending a '+' or '-' to the selector when hashing it (to determine selector uniqueness, and to look the method up again at runtime). * [uikit] Update for Xcode 9 - Part 6 (#2602) NSAttributedString.h NSFileProviderExtension.h NSLayoutAnchor.h UIAccessibility.h UIAccessibilityAdditions.h UIAccessibilityContainer.h UIAccessibilityContentSizeCategoryImageAdjusting.h UIAccessibilityCustomRotor.h UIAccessibilityLocationDescriptor.h UITabBar.h UINavigationBar.h UIScreen.h * Xcode9 scenekit (#2512) * [SceneKit] basic work * Added key * [xcode9] SCNCameraController * [xcode9] SCNCamera updates * [xcode9] SCNMaterial * [xcode9] SCNGeometryTessellator, SCNCameraControlConfiguration, SCNView, small bits * Add trailing commas to last enum value * Remove whitespace noise * [scenekit] Update deprecated attributes messages * Addresses some of Rolf's feedback * Drop the WeakDelegate in SCNCameraController * Rename method to Render, remove ctor from class that can not be constructed in Palygrounds, add typo exception * [AppKit] Rename NSBezierPath.AppendBezierPathWithCGGlyph to match its sibling methods. (#2605) NSBezierPath contains a lot of 'AppendPathWithXXX' methods, that all map to 'appendBezierPathXXX' selectors. So rename AppendBezierPathWithCGGlyph accordingly, to make it more similar to the other methods in the same type. * [uikit] Add all UISpringLoadedInteractionSupporting (#2616) Types do not conform to the protocol but protocol methods work on those types (see monotouch-test). Fixed introspection tests accordingly and tested the selectors in monotouch-test. * [Intents] Add convenience ctor overload and call correct base ctor in manual ctor. (#2613) Add a convenience constructor overload in INGetUserCurrentRestaurantReservationBookingsIntent that uses nint instead of NSNumber, since logically "number of results" will always be some sort of integer. Also call the correct base constructor in INSpeakableString's custom constructor (same as any other generated constructor). Otherwise we end up doing something like this: [[[INSpeakableString alloc] init] initWith ...], i.e. calling two different init methods. * [coreimage] Add new headers API up to beta 6 (#2601) Filters are not complete (ref: #57350) https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * Some new constants are not yet documented (type is known), so they are commented / ignored https://bugzilla.xamarin.com/show_bug.cgi?id=59296 * Filled bug for [Wrap] inside [Category] so strong dictionary helpers can be re-enabled later https://bugzilla.xamarin.com/show_bug.cgi?id=59294 * [foundation] xtro fixes for watchOS (#2586) !missing-enum! NSProcessInfoThermalState not bound !missing-field! NSProcessInfoThermalStateDidChangeNotification not bound !missing-selector! NSProcessInfo::thermalState not bound Headers are wrong and preferredPresentationStyle is not in tvOS and watchOS !missing-selector! NSItemProvider::preferredPresentationStyle not bound !missing-selector! NSItemProvider::setPreferredPresentationStyle: not bound * [uikit] Also remove UIPreferredPresentationStyle enum from platform where it's not used * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. (#2614) * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. * NSItemProviderWriting: * NSItemProviderReading: Implement correctly and completely by uncommenting commented out code. * NSMutableString: * NSAttributedString: remove inlined members, since these classes don't implement NSItemProviderReading / NSItemProviderWriting (according to the headers at least). * NSUrl: all platforms now seem to implement NSItemProviderReading / NSItemProviderWriting. * NSString: all platforms now seem to implement both NSItemProviderReading and NSItemProviderWriting * UIColor: * UIImage: Update inlined protocol members according to the latest beta. Additionally, due to the following conditions: * The protocols all have the correct members now. * In the API definition we tell the generator to inline members from a protocol by inheriting from the corresponding interface. * The generator doesn't inline static members from protocols. several 'new' keywords had to be added to silence a compiler warning that occurrs when we manually inline a static member, since the member would be included in the type both from the inherited interface and the manual implementation. * [Foundation] Comment out NSItemProviderWriting.GetItemProviderVisibility to avoid inlining/generating unusable methods. NSItemProviderWriting.GetItemProviderVisibility is an optional method, and none of the native classes that implements NSItemProviderWriting actually imlements the method. This means inlining the method in those classes ends up creating unusable API; so just comment out the method to avoid generating the unusable API. The introspection tests found this: [FAIL] Foundation.NSString : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Foundation.NSUrl : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Contacts.CNContact : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] MapKit.MKMapItem : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIColor : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIImage : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] iOSApiSelectorTest.ApiSelectorTest.StaticMethods : 6 errors found in 2348 static selector validated: See also https://bugzilla.xamarin.com/show_bug.cgi?id=59308 * [iosurface] Add missing [TV] attributes (#2619) * [opengles] Enable the new API using IOSurface (#2618) The symbol only exists inside device libraries, not on simulator, and the introspection tests were updated to ignore it. Part of https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [avfoundation][watchos] Enable AudioBufferList (fix #59145) + audit (xtro) (#2617) 1. AudioBufferList is part of CoreAudio (wrong namespace, which needs a few changes in the generator) and now available in watchOS 4 https://bugzilla.xamarin.com/show_bug.cgi?id=59145 2. Also fixes xtro found issues: !missing-type! AVAudioRecorder not bound !missing-selector! AVAudioRecorder::averagePowerForChannel: not bound !missing-selector! AVAudioRecorder::channelAssignments not bound !missing-selector! AVAudioRecorder::currentTime not bound !missing-selector! AVAudioRecorder::delegate not bound !missing-selector! AVAudioRecorder::deviceCurrentTime not bound !missing-selector! AVAudioRecorder::format not bound !missing-selector! AVAudioRecorder::initWithURL:format:error: not bound !missing-selector! AVAudioRecorder::initWithURL:settings:error: not bound !missing-selector! AVAudioRecorder::isMeteringEnabled not bound !missing-selector! AVAudioRecorder::isRecording not bound !missing-selector! AVAudioRecorder::peakPowerForChannel: not bound !missing-selector! AVAudioRecorder::recordAtTime: not bound !missing-selector! AVAudioRecorder::recordAtTime:forDuration: not bound !missing-selector! AVAudioRecorder::recordForDuration: not bound !missing-selector! AVAudioRecorder::setChannelAssignments: not bound !missing-selector! AVAudioRecorder::setDelegate: not bound !missing-selector! AVAudioRecorder::setMeteringEnabled: not bound !missing-selector! AVAudioRecorder::settings not bound !missing-selector! AVAudioRecorder::url not bound !missing-protocol! AVAudioRecorderDelegate not bound !missing-selector! AVAudioEngine::inputNode not bound !missing-selector! AVAudioEngine::manualRenderingBlock not bound !missing-selector! AVAudioInputNode::setManualRenderingInputPCMFormat:inputBlock: not bound !missing-selector! AVAudioPlayer::format not bound !missing-selector! AVAudioSession::requestRecordPermission: not bound !unknown-field! AVFileType3GPP bound !unknown-field! AVFileType3GPP2 bound !unknown-field! AVFileTypeAC3 bound !unknown-field! AVFileTypeAIFC bound !unknown-field! AVFileTypeAIFF bound !unknown-field! AVFileTypeAMR bound !unknown-field! AVFileTypeAVCI bound !unknown-field! AVFileTypeAppleM4A bound !unknown-field! AVFileTypeAppleM4V bound !unknown-field! AVFileTypeCoreAudioFormat bound !unknown-field! AVFileTypeDNG bound !unknown-field! AVFileTypeEnhancedAC3 bound !unknown-field! AVFileTypeHEIC bound !unknown-field! AVFileTypeHEIF bound !unknown-field! AVFileTypeJPEG bound !unknown-field! AVFileTypeMPEG4 bound !unknown-field! AVFileTypeMPEGLayer3 bound !unknown-field! AVFileTypeQuickTimeMovie bound !unknown-field! AVFileTypeSunAU bound !unknown-field! AVFileTypeTIFF bound !unknown-field! AVFileTypeWAVE bound * [Metal] Implement API using IOSurface now that IOSurface is implemented. Partially fixes #58054. (#2621) https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [PdfKit] Improve PdfAnnotation.QuadrilateralPoints binding by making it strongly typed. (#2620) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). (#2622) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). * [ARKit/Vision] Use the new simd vector types instead of the OpenTK versions. * [ModelIO] Use the new simd vectors in new API (MDLVoxelIndexExtent2). This way we won't have to create a MDLVoxelIndexExtent3 in the future. * [SpriteKit] Use the new simd vectors in new API. * [metal] Audit (xtro) based fixes (#2623) !extra-protocol-member! unexpected selector MTLArgumentEncoder::newArgumentEncoderForBufferAtIndex: found !extra-protocol-member! unexpected selector MTLComputeCommandEncoder::dispatchThreads:threadsPerThreadgroup: found macos-only !missing-field! MTLDeviceRemovalRequestedNotification not bound !missing-field! MTLDeviceWasAddedNotification not bound !missing-field! MTLDeviceWasRemovedNotification not bound !missing-pinvoke! MTLCopyAllDevices is not bound * [CloudKit] Update bindings to beta 6. (#2615) * [FileProvider] Turn NSFileProviderItemIdentifier enum into a static class, fixes bug 59329 (#2634) https://bugzilla.xamarin.com/show_bug.cgi?id=59329 At the time of binding NSFileProviderItemIdentifier it wasn't clear how it was supposed to be used, I mean apple provides two keys which I thought were the only possible values hence binding it as an smart enum. Unfortunately this wasn't the case and the user can use those two values provided from the SDK or their own NSString Identifier. Swift provides a wrapper unfortunately we can't do the same due to NSFileProviderItemIdentifier is used in the NSFileProviderItem protocol and we currently do not support changing signatures on them. * [mtouch] Teach mtouch about the 'IOSurface' framework for tvOS. Fixes #59333. (#2630) https://bugzilla.xamarin.com/show_bug.cgi?id=59333 * Bump Touch.Unit to get fix for API breakage. (#2631) spouliot/Touch.Unit@8f1e19d [NUnitOutputTextWriter] Reintroduce previous constructor to make sure we don't break binary ABI. spouliot/Touch.Unit@00b0c0b [NUnitOutputTextWriter] Don't write invalid xml comments. spouliot/Touch.Unit@de9fe20 [TouchRunner] Restore the original code path when not wrapping NUnit xml output. * [IOSurface] Add missing availability attributes for tvOS. (#2629) * Bump versions for preview 9 (#2624) * [AVFoundation] Add missing interface AVRouteDetector. (#2637) * [tests] Update xtro to reduce list sizes (#2636) * Skip OpenTK duplicate declaration (we can't change them); * Fix rule name change for ARKit / simd; * Add missing default initializer on `init` to pending actions; * Add note for AVPersistableContentKeyRequest changes wrt tvOS; * [ReplayKit] Make RPBroadcastActivityViewController.LoadBroadcastActivityViewController async-capable. (#2639) * [xcode9] More SceneKit bindings (#2633) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 (#2644) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 https://bugzilla.xamarin.com/show_bug.cgi?id=59380 vector_float3 is 16 bytes, which means the binding is incorrect, because Vector3 is 12 bytes, and our code does not that difference into account. * Add tests * [DeviceCheck] Disable default ctor for DCDevice. (#2642) It doesn't seem to be useful according to the documentation, since it appears that the only way to get an instance is to use the static CurrentDevice property. * [audiounit] Audit (xtro) fixes for tvOS (#2635) Availability attributes in non-generated files don't hide symbols/code. reference: !unknown-pinvoke! AudioUnitExtensionCopyComponentList bound !unknown-pinvoke! AudioUnitExtensionSetComponentList bound * [tests] Make sure tvOS tests don't use the (unexisting) API * [tests] Add all test project variations to tests-mac.sln (#2579) * [xharness] Make sure generated mac projects have different project guids. * [introspection] Change the project guid so that it doesn't match the dontlink-mac project guid. * [tests] Add all test project variations to tests-mac.sln. * [xharness] Fix else condition. * [FileProvider] Adds missing NSFileProviderPage constants, fixes bug 59297. (#2646) https://bugzilla.xamarin.com/show_bug.cgi?id=59297 Adds NSFileProviderInitialPageSortedByName and NSFileProviderInitialPageSortedByDate NSData constants * [Xcode9] Remove NSFileProviderMessage and NSFileProviderMessageInterface (#2647) APIs were removed in beta 2 * [Foundation/UIKit] Provide LoadObject[s] methods that return the expected type in the callback. Fixes #59049. (#2638) The callback for these LoadObject[s] methods take an INSItemProviderReading parameter. This tells our runtime that we must provide an instance of a managed object that implements this interface (but nothing else), so we create a `NSItemProviderReadingWrapper` instance, which complies with the API (since the wrapper type implements the corresponding interface). Unfortunately these methods are supposed to return an instance of the passed- in type, so in order to comply with this soft (documentation-only) requirement, provide a wrapper method that creates instances of the right types. https://bugzilla.xamarin.com/show_bug.cgi?id=59049 * [arkit] Ignore deprecated selectors (#2645) * [FileProvider] Adds missing protocol and keys from audit (#2652) ``` !missing-protocol! NSFileProviderServiceSource not bound !missing-field! NSFileProviderErrorCollidingItemKey not bound !missing-field! NSFileProviderErrorNonExistentItemIdentifierKey not bound !missing-field! NSFileProviderFavoriteRankUnranked not bound ``` Also adds `NSXpcListenerEndpoint` to foundation, needed by `NSFileProviderServiceSource` protocol. * [tests][xtro] Workaround xtro runner dupe entry exception and update data files (#2654) * [AVFoundation] Rename field to match others. (#2657) * [homekit] Audit (xtro) fixes (#2653) - HMCharacteristicEvent conforms to NSMutableCopying on iOS11 which makes it 64 bits only (so adjust intro tests) - Ignore extra setters on HMMutablePresenceEvent, rdar 33883958 !missing-selector! HMMutablePresenceEvent::setPresenceEventType: not bound !missing-selector! HMMutablePresenceEvent::setPresenceUserType: not bound * [xtro] Add missing pinvoke to pending (#2662) - Bug 59422: [uikit] Missing UIContentSizeCategoryCompareToCategory & UIContentSizeCategoryIsAccessibilityCategory (https://bugzilla.xamarin.com/show_bug.cgi?id=59422) * Merge latest d15-3 fixes into xcode9 (#2660) * [msbuild] Re-added wildcard (*) expandsion for application-identifier in Entitlements.plist (#2186) Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=57119 * Bump mono (#2213) * Framework tests were still binding non-linked Simple class which errors now (#2216) (#2218) - Improve Makefile to rebuild when projects build with errors * Bump mono to get cecil fix for bug #56808. (#2222) https://bugzilla.xamarin.com/show_bug.cgi?id=56808 * [msbuild] Use @(ReferencePath) instead of @(ResolvedFiles) (#2188) (#2214) This allows things to work on both xbuild and msbuild. In xbuild, both lists are exactly the same and on msbuild, only @(ReferencePath) exists. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=55147 * NSActivityOptions.IdleDisplaySleepDisabled had wrong value (#2232) (#2239) This was due to an integer overflow. The original value was based on Int32 1 << 40 == 256 The correct value should be based on a UInt64. 1UL << 40 == 1099511627776 * [tests] Fix bug 57699 - [iOS]InternalsTest failure (Linkall) tests on device (#2243) Strip native debugging symbols should not be checked for debug builds * Bump mono to get fix for bug #57780. https://bugzilla.xamarin.com/show_bug.cgi?id=57780 * Update .gitmodules Change branch to d15-3 branch of mono * Bump maccore to get fix for bug #55064. https://bugzilla.xamarin.com/show_bug.cgi?id=55064 * [mono] Bump mono to get the head of cecil/mono-2017-04 and fix IsComObject #57919 Also fix #58789 [1], the typo in tools/mtouch/Tuning.cs showing in MT0000 errors instead MT2102. That's already in master and d15-4 mono bump includes: [2] commit 2a6502cee0df9de5198eafe7c8b5f6ac25106f34 (HEAD -> d15-3, origin/d15-3) Merge: 02457c20fcf 5e05cafc6f1 Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 10:04:06 2017 -0400 Merge pull request #5401 from marek-safar/com [Marshal.IsComObject] Make this predicate return false instead of thr… [3] commit 02457c20fcf57c0610e844d638eb1da82b5d1eb0 Merge: da80840ea55 73fd9a1b82e Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 09:59:06 2017 -0400 Merge pull request #5400 from spouliot/bump-cecil-58834-d15-3 [cecil] Bump to the head of the mono-2017-04 branch and pick the fix for bug #58834 References [1] https://bugzilla.xamarin.com/show_bug.cgi?id=58789 [2] https://bugzilla.xamarin.com/show_bug.cgi?id=57919 [3] https://bugzilla.xamarin.com/show_bug.cgi?id=58834 * [mtouch] Put 'mono_profiler_startup_log' in the symbol list. Fixes #58778. (#2501) We need the 'mono_profiler_startup_log' symbol when profiling is enabled, so make sure to add the symbol to the correct list of symbols we need. Previously we were passing `-u _mono_profiler_startup_log` to clang directly, which is fine, but not complete, since it does not write the symbol to the symbollist file (--symbollist=file), which means it wouldn't be preserved when the MSBuild tasks strip the executable. https://bugzilla.xamarin.com/show_bug.cgi?id=58778 * Bump versions for SR3 https://trello.com/c/EVze08ei * Bump mono to include HttpClientHandler fix #44027 https://trello.com/c/jYFXadH8/8-systemnethttp-close-request-stream-when-httpclienthandler https://bugzilla.xamarin.com/show_bug.cgi?id=44027 * [FileProvider] Add missing API and turn NSString to string (#2663) Turned NSString to string in order to match exisiting API. * [uikit] Add UIPasteConfigurationSupporting and UITextPasteConfigurationSupporting (#2649) - Fixes bug #59363: Missing UIPasteConfigurationSupporting, UITextPasteConfigurationSupporting, UITextDraggable and UITextDroppable on a couple of types (https://bugzilla.xamarin.com/show_bug.cgi?id=59363) * [uikit] Remove 129 types in UIPasteConfigurationSupporting case * [scenekit] Audit (xtro) fixes (#2648) This looks like an Apple breaking change (since `SCNAnimation` is new) but we now have: > typedef void (^SCNAnimationEventBlock)(id<SCNAnimation> animation, id animatedObject, BOOL playingBackward); bound as > delegate void SCNAnimationEventHandler (CAAnimation animation, NSObject animatedObject, bool playingBackward); and `CAAnimation` conforms to `SCNAnimation` but *only* the later is available on watchOS. The delegate is only updated (since it's new) on our watchOS profile. xtro references: (watchos) !unknown-protocol! SCNCameraControlConfiguration bound (tvos/watchos) !missing-selector! SCNAnimation::animationEvents not bound !missing-selector! SCNAnimation::setAnimationEvents: not bound !missing-selector! SCNConstraint::isEnabled not bound !missing-selector! SCNConstraint::setEnabled: not bound !missing-field! SCNSceneSourceConvertToYUpKey not bound !missing-field! SCNSceneSourceConvertUnitsToMetersKey not bound (ios/tvos) !missing-protocol-conformance! SCNNode should conform to UIFocusItem * Bump maccore post 15.3 merge (#2665) * Bump Xcode 9 to GM (#2667) * Force build (on wrench) * [avfoundation] Fix breaking changes (apidiff) (#2664) * [TVServices] Update to Xcode 9 GM (#2675) * [GameController] Update to Xcode 9 GM (#2673) * [LocalAuthentication] Update to Xcode 9 GM (#2671) * [LocalAuthentication] Update to Xcode 9 GM * Remove availability from BiometryNotAvailable, BiometryNotEnrolled and BiometryLockout * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer (#2659) * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer Some of the new added types were already present BUT under a #if MONOMAC, they had to be moved. * [AVFoundation] Set the wrongly added API to be obsolete and ensure it returns logical values. (#2650) * [xtro] The right platform for macOS is 'macos', not 'osx'. (#2677) The platform name is used to filter availability attributes, and if we use the wrong platform, we'll incorrectly skip all availability attributes. The net result in unclassified entries: https://gist.github.com/rolfbjarne/a4474bc2a40c49a85cad495b51bb514f * Various Xcode 9 API improvements and also fixes bug 59433 (#2676) https://bugzilla.xamarin.com/show_bug.cgi?id=59433 While fixing bug 59433 I noticed some additional issues outlined below: AVDepthData: * Renamed **non** static `Create` methods because `Create` only makes sense with the **Static** method in this context. Also by renaming the methods we are now closer to the names that swift uses. * Kept descriptive method names in favor of self-documenting code. `Convert`, `Apply` and `Replace` do not fully give us the intent of the method. * Added a convenience `Create` static method that takes a `CGImageAuxiliaryDataInfo`. * AvailableDepthDataTypes is now an array of `CVPixelFormatType` instead of a `NSNumber` array (The aactual fix for bug 59433). ImageIO: * Refactored `CGImageAuxiliaryDataInfo` to be a `StrongDictionary` in order to avoid most of the manual code and also to avoid reimplementing the `ToDictionary` method (which contained a subtle bug). * Adjusted code to reflect the above change. * Added missing `.ctor (IntPtr, bool)` to `CGImageMetadata` so the class is able to be created by our `Runtime.Get*`. * Simplified `CopyAuxiliaryDataInfo` method by using `CGImageAuxiliaryDataInfo` as a `DictionaryContainer`. Tests: * Added `xamarinmonkey.heic` which is an image that contains depth data needed to test above changes. * Adds `AVDepthDataTests` that touches most of the changes listed here. * Tweak the Simd-compatible matrices and vectors (#2668) * Rename them to be OpenTK.NMatrix# (instead of Simd.MatrixFloat#x#). * Remove the Vector2 and Vector4 variants, we'll use the OpenTK types instead (but we'll keep the NVector3 variant, since it's not identical to the OpenTK version). * Update the API to match their OpenTK counterparts better: * NMatrix2 and NMatrix3 have a 0-based R#C# scheme for their fields. * NMatrix4 has a 1-based M## scheme for its fields (i.e. no change). * [AVFoundation] Use Simd-matrix for API that needs it. (#2679) This also requires implementing the corresponding matrix (NMatrix4x3). Fixes this xtro issue: > !unknown-simd-type-in-signature! OpenTK.Matrix3 AVFoundation.AVCameraCalibrationData::get_GetIntrinsicMatrix(): the native signature has a simd type (matrix_float3x3), while the corresponding managed method is using an incorrect (non-simd) type. * [xtro] Fix checking availability on categories. (#2682) When checking for category availability, check if both the current declaration is a category, and if the current's declaration container is a category. Otherwise this scenario fails: * Category method is available. * Category does not have availability attributes. * Main class is unavailable. with this typical code sequence: ```csharp // don't process methods (or types) that are unavailable for the current platform if (!decl.IsAvailable () || !(decl.DeclContext as Decl).IsAvailable ()) return; ``` In which case we'd: * First check the method (`decl`): * It's available, so no further checks is done on the method. * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container's container is a category (it isn't, it's the namespace). and as such determine that the method is available. With this change, the second step will become: * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container is a category (it is), and if its main class is available (it isn't). and as such determine that the method is unavailable. * Check for attributes on the method's container (no attributes, so we continue). * Check if the method's Unclassified diff: https://gist.github.com/rolfbjarne/8fa80962596978a426eadf9b7ba39dc1 * [uikit] Update for Xcode 9 GM (#2670) * [AVFoundation] Implement AVCapturePhoto. Partially fixes #59388. (#2678) Fixes: > common.unclassified:!missing-type! AVCapturePhoto not bound https://bugzilla.xamarin.com/show_bug.cgi?id=59388 * Use strong dictionaries for AVCapturePhoto.Metadata and AVCapturePhoto.EmbeddedThumbnailPhotoFormat. * [SIMD] Implement Simd double types (VectorDouble3/MatrixDouble4x4). (#2632) The following types will be used by ModelIO bindings * Fix delta to be double * Rename Simd-compatible matrices and vectors to match our final naming. This also means removing the new Vector2 and Vector4 variants (but not Vector3). * [avfoundation] Remove AVAssetDownloadDelegate.DidLoadTimeRange since it was removed in one of the betas (#2687) * [foundation] Move NSUrlSessionMultipathServiceType to a file processed by the generator (for the availability attributes) (#2688) * [arkit] Update for Xcode 9 GM (#2681) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes (#2690) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes Type Changed: Intents.INCarSeatResolutionResult Removed methods: public static INCarSeatResolutionResult GetConfirmationRequired (INCarSeat valueToConfirm); public static INCarSeatResolutionResult GetSuccess (INCarSeat resolvedValue); * [avfoundation] Add missing protocol members and deprecations (#2691) !missing-protocol-member! AVCapturePhotoCaptureDelegate::captureOutput:didFinishProcessingPhoto:error: not found and the selector removed from PR#2687 was actually replaced with this one !missing-protocol-member! AVAssetDownloadDelegate::URLSession:aggregateAssetDownloadTask:didLoadTimeRange:totalTimeRangesLoaded:timeRangeExpectedToLoad:forMediaSelection: not found * [tests][xtro] Map some enums, more fix with protocols and update entries (#2692) * [Tests] Reenable dns tests on the watch. (#2674) * [arkit] Add ARBlendShapeLocationOptions strong dictionary (#2696) * [coreimage] Skip not yet bound filters added in Xcode9 (#2698) Tracked in https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * [Metal] Renamed MTLArgumentDescriptor.ArgumentDescriptor to Create, fixes bug 59498 (#2702) https://bugzilla.xamarin.com/show_bug.cgi?id=59498 From [argumentDescriptor docs](https://developer.apple.com/documentation/metal/mtlargumentdescriptor/2915746-argumentdescriptor?language=objc) > Creates an empty argument descriptor. * [msbuild] Always codesign app bundles if the codesign key is non-null (#2697) ...even if it is a simulator build. Turns out that starting with Xcode9, sim builds need to be codesigned for App Groups entitlements to work properly. Interestingly, the DetectSigningIdentity logic had a comment about needing to codesign simulator builds for some entitlements to work already starting with Xcode 8 but apparently the iOS targets did not respect this. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=59379 * [Foundation] Add NSProxy stub in order to workaround bug 59247 (#2693) https://bugzilla.xamarin.com/show_bug.cgi?id=59247 We need to have a better solution that removes all what NSProxy does not responds to. Right now this works because NSObject implements NSObject protocol just like NSProxy, but NSProxy responds to far less selectors hence doing it internal so it is not a breaking change when we provide the correct fix. * Keep NSProxy around and avoid XML linker description We need to keep NSProxy (avoid linking it) if WKNavigationDelegate or IWKNavigationDelegate is used. We know WKWebView will be there and can hold a reference to it. * [Xcode 9] Update Metal for GM (#2689) * [iosurface] IOSurface is not usable before iOS/tvOS 11. Fixes #59201 (#2706) Apple rejects apps that links with the previously private IOSurface.framework. We were not sure about this [1] and had it disabled (this is removed). However another bug stopped our adjustment logic [2] from being executed. This is needed since `clang` picks up the private framework if it does not find the public one (even when asking for a weak framework), [1] https://bugzilla.xamarin.com/show_bug.cgi?id=59201 [2] Added a while ago for JavascriptCore * Bump maccore to point to commit with the docs fix. (#2703) * Bump XI to 11.0.x (and XM to 3.99.9.x) (#2684) * fix typo
2017-09-16 00:53:16 +03:00
[Export ("apertureBladeCount")]
nint ApertureBladeCount { get; set; }
[Watch (4, 0), TV (11, 0), Mac (10, 13, onlyOn64: true), iOS (11, 0)]
Merge xcode9 into d15-4[-xi] (#2710) * [FileProvider] Add Xcode 9 Beta 1, 2 & 3 Bindings (#2279) * [FileProvider] Add Xcode 9 Beta 1 Bindings * Better naming * Feedback not related to BindAs * [FileProvider] Removes BindAs, add manual code for it and updated to Beta 3 * [FileProvider] Implement feedback * [CoreSpotlight] Updated spotlight bindings for xcode 9 beta 3. (#2193) Updated spotlight bindings for xcode 9 beta 3. * Fix warning caused by duplicate (#2354) * [FileProviderUI] Add Xcode 9 Beta 1 to 3 bindings (#2356) * Bump to Xcode 9 beta 4 * [arkit] ARLightEstimate does not conform to NSCopying anymore (fix unit test) * [uikit] NSFileProviderExtension.ReparentItem got a new parameter in beta4 (fix unit test) * [coreimage] CIImageAccumulator init returns nil in beta 4 There's no header change to mention `init` is not allowed but it's not clear how this default initializer could be used. Also make public some other API to construct this type (outside of XM). It's not clear why there were `internal` as they are (at least now) part of the header files. * [photos] Add helpers when PHLivePhotoEditingOption/NSDictionary is null (to avoid ambiguous API) (#2360) Adding a strongly typed `PHLivePhotoEditingOption` (a strongly typed version of an `NSDictionary`) can cause a `CS0121` (call is ambiguous) since using a `null` argument is common (only one option exist so far). This PR adds overloads that makes the code nicer in such case, e.g. before Xcode9: > // null is used when no options are given > _foo.SaveLivePhoto (output, null, completion); current (Xcode 9) > // casting required to remove ambiguity with PHLivePhotoEditingOption > _foo.SaveLivePhoto (output, (NSDictionary)null, completion); with this PR > // no option, no argument > _foo.SaveLivePhoto (output, completion); The same applies to `PrepareLivePhotoForPlayback`. * [tests] Disable/tweak two tests that breaks on (almost) all Xcode updates Those tests were not added to validate xOS so just keep the parts that helps us (without constantly checking back the new break flavor) * Disable watchOS to check if this hides others issues * [mapkit] Update for beta 4 * [coredata] Update for beta 4 * [wkwebkit] Update for beta 4 Note: WKWindowFeatures.h is not compiled (part of the framework umbrella) and the `@interface WKWindowFeatures (WKPrivate)` sounds like it should not have been exposed (it's all fields starting with `_`) * [corelocation] Update for beta 4 * Revert "Disable watchOS to check if this hides others issues" This reverts commit fed2249fa43290a1956ab2fe0d48f83ab6db9711. * [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]: https://github.com/xamarin/xamarin-macios/blob/f5956d6cc1eb5dfa7bab16628cf282d40237f64e/src/generator.cs#L5985 * [FinderSync] Update to beta 4 (#2377) * [ImageIO] Update to Xcode 9 (#2353) * [PhotosUI] Move macOS photosui bindings out of photos.cs into photosui.cs (#2358) * [quicklook] Update up to beta 4 (#2374) * [uikit] UIDragInteraction & UIDragInteractionDelegate (Xcode 9 b1,2,3) (#2357) * [safariservices] Update up to beta 4 (#2380) * [coreanimation] Update to beta 4 (#2382) Apple removed (mistake?) some API in beta 1. Filed as rdar 33590997 Internal tracking in https://trello.com/c/J8BDDUV9/86-33590997-coreanimation-quartzcore-api-removals * [storekit] Update up to beta 4 (#2379) * [CoreML] Update to Xcode 9 Beta 4 (#2387) * [uikit] UICollectionView/UITableView Drag & Drop (Xcode 9 b1,2,3 & 4) (#2355) * Update code after radar 32929318 and 32897776 are fixed in b4 (#2394) * [xcode9 CoreAudio] New definitions from Beta1 to Beta3 (#2359) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 (#2397) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 https://bugzilla.xamarin.com/show_bug.cgi?id=58512 Created strong API (VNBarcodeSymbology) on the following properties * VNDetectBarcodesRequest.SupportedSymbologies * VNDetectBarcodesRequest.Symbologies * VNBarcodeObservation.Symbology * Remove modern C# because classic can't do it 😡 * [mediaplayer] Update up to beta 4 (#2388) * [watchkit] Update to beta 4 (#2398) * Bump Visual Studio for Mac max version (#2408) * [coreimage] Add CIBarcodeDescriptor and enabled missing API for VNBarcodeObservation. Fix #58197 (#2411) https://bugzilla.xamarin.com/show_bug.cgi?id=58197 * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 (#2407) * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 * [uikit] Fixes based on comments * [coreimage] CIImageAccumulator API fixes. Fix #58349 (#2412) * Obsolete the default `init`; * XM exposed some older APIs using `int` instead of `CIFormat`. This is fixed and old APIs are obsoleted; * Both new & old APIs are now using `CIFormat` for both XI and XM. https://bugzilla.xamarin.com/show_bug.cgi?id=58349 * [uikit] UIText drag & drop - up to Xcode 9 beta 4 (#2410) * [uikit] UISplitView & UIStackView up to Xcode 9 beta 4 (#2425) * Bump XI/XM versions before preview 4 (#2422) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 (#2378) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 * [PDFKit] Implement feedback * [PDFKit] the forgotten enum * [PDFKit] More feedback * [PDFKit] Add Mac changes * Missing change * Fix test RectangleF VS CGRect * Pass -Wunguarded-availability-new to quiet a new clang warning (#2424) - https://bugzilla.xamarin.com/show_bug.cgi?id=58574 * [mtouch/mmp] Ignore warnings about unguarded code section with regards to availability. (#2441) * [monotouch-test] Remove workaround for fixed Apple bug. (#2445) * Bump to Xcode 9 beta 5. (#2447) * Bump to Xcode 9 beta 5. * [mmp] Disable the partial static registrar, because Apple's macOS SDK is broken. > In file included from Xamarin.Mac.registrar.mobile.i386.m:1: > In file included from ./Xamarin.Mac.registrar.mobile.i386.h:11: > /Applications/Xcode9-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVFoundation.h:88:9: fatal error: 'AVFoundation/AVRouteDetector.h' file not found https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [mmp] Fix partial static registrar removal. * [CallKit] Update to Xcode 9 beta 5. * [ARKit] ARPointCloud doesn't conform to NSCopying anymore in Xcode 9 beta 5. * [ARKit] Update to Xcode 9 beta 5 enough to make tests happy. * [CoreImage] Stub out new filters in Xcode 9 beta 5. * [tests][monotouch] Simplify some MDLMesh asserts since values change a lot between OS versions. * [mmp] Default to the dynamic registrar for release builds again, due to bug #58629. https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [tests][introspection] CXCall started implementing NSCopying without saying so in the headers. * Disable mmp static registrar tests due to 58629 for now * [quicklook] Update to beta 5 (#2450) * [photos] Update for beta 5 (#2452) Also update some existing enum members were added in beta 1 on macOS * [safariservices] Update for beta 5 (#2455) * [mediaplayer] Update to beta 5 (#2456) * [CoreLocation] Update Xcode 9 Beta 5 (#2453) * [CoreML] Update to Xcode 9 Beta 5 (#2454) * [Contacts] Update to Xcode 9 Beta 5 (#2451) * [Vision] Update to Xcode 9 Beta 5 (#2458) * [builds] Tell LLVM to stay away from newer macOS functions. (#2459) Fixes this build problem on Sierra: > ld: weak import of symbol '_futimens' not supported because of option: -no_weak_imports for architecture x86_64 This is a symbol that was (will be?) introduced in High Sierra. Interestingly this only occurs if the Xcode 8.X Command Line Tools haven't been manually installed. Because if the Xcode 8.X Command Line Tools are installed, this happens: 1. llvm's configure script detects that 'futimens' is not usable. 2. llvm's configure script detects that 'futimens' is not usable, because xcrun sets SDKROOT=/ when calling clang. a. When the SDKROOT variable is set, clang passes '-syslibroot /usr/lib' to ld. b. When ld gets '-syslibroot /usr/lib', ld looks in '/usr/lib' for a library that contains 'futimens' in the OS itself, and since we're on Sierra, that fails to link. c. So when llvm's configure script creates a test program that checks if 'futimens' is present, the program fails. This is correct, and makes llvm *not* use futimens. 3. xcrun sets SDKROOT=/ because /usr/share/current-os.sdk/Info.plist exists. If that file does not exist, then xcrun sets SDKROOT to Xcode9's macOS SDK (because that's what xcode-select reports). a. When SDKROOT is set to Xcode9's macOS SDK, the configure check for 'futimens' succeeds, because the macOS 10.13 SDK contains that function. b. llvm happily uses 'futimens', and then the final link fails because we're using a symbol not available on all target platforms. * [arkit] Update for Xcode 9 beta 5 - Part 1 (#2460) * [tests] The container app for watchOS tests should be 64-bit. (#2463) * [xharness] watchOS tests need to run in a clean environment. Works around #58348. (#2462) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [xharness] It watchOS tests don't need to be clean anymore. Fixes #58348. (#2473) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [uikit] UIView/UIScrollView/UIViewController up to Xcode 9 beta 5 (#2431) - Add NSDirectionalEdgeInsets type. - Includes DirectionalEdgeInsetsTest. * [AudioToolbox] Update bindings to Xcode 9 beta3 (not later changes). (#2294) * [xharness] Add a file existence check. (#2478) Fixes this exception: ``` Harness exception for 'introspection': System.IO.FileNotFoundException: Could not find file '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log'. File name: '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log' at System.IO.__Error.WinIOError (System.Int32 errorCode, System.String maybeFullPath) [0x00207] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/__error.cs:188 at System.IO.FileInfo.get_Length () [0x00038] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/fileinfo.cs:171 at xharness.CaptureLog.StopCapture () [0x00021] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Log.cs:252 at (wrapper remoting-invoke-with-check) xharness.CaptureLog:StopCapture () at xharness.AppRunner+<RunAsync>d__68.MoveNext () [0x0127f] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/AppRunner.cs:642 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter`1[TResult].GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:357 at xharness.RunSimulatorTask+<RunTestAsync>d__7.MoveNext () [0x0029d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2894 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.RunTestTask+<ExecuteAsync>d__8.MoveNext () [0x0010b] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2538 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.TestTask+<RunInternalAsync>d__87.MoveNext () [0x0010d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:1870 ``` I'm not sure how this can happen, but it has on the bots [1]. [1] https://jenkins.mono-project.com/job/xamarin-macios-pr-builder/4548/Test_Report/ * Bump versions for preview 5 (#2479) * [passkit] Update to beta 5 (#2481) * [tests] Remove workaround for radar #32688391. (#2486) * [replaykit] Update up to beta 5 (#2484) * Bump maccore to get fix for bug #55064. (#2487) * [apidiff] Update definition to new 10.12 (d15-3) stable release (#2490) * [SceneKit] basic work (#2483) * [coredata] Update to beta 5 (#2488) * [homekit] Update for Xcode 9 beta 5 (#2492) * [Foundation] Update for xcode9 (#2468) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 (#2493) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 * [Intents] Implement feedback * [Intents] Add a generic version for INInteraction.GetParameterValue * [Intents] Missing check * [Contacts] Add missing foundation NSItemProviderWriting protocol to CNContact (#2496) https://bugzilla.xamarin.com/show_bug.cgi?id=58203 This is available on all Contacts supported platforms ``` ./iPhoneOS.platform/Developer/SDKs/iPhoneOS11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchOS.platform/Developer/SDKs/WatchOS4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchSimulator.platform/Developer/SDKs/WatchSimulator4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ``` * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) (#2497) * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) * [IntentsUI] Better use a delegate instead so we have named params * Bump versions before 6th preview (#2514) * [arkit] Add missing MarshalDirective to ARPlaneAnchor (#2517) - Fixes bug #58648: ARPlaneAnchor.Extent property seems incorrect but changes to correct value after Debug access (https://bugzilla.xamarin.com/show_bug.cgi?id=58648) * [xtro-sharpie] Fix a compiler warning. (#2516) Fixes these warnings: Runner.cs(197,5): warning CS0642: Possible mistaken empty statement Runner.cs(199,5): warning CS0642: Possible mistaken empty statement Runner.cs(201,5): warning CS0642: Possible mistaken empty statement Runner.cs(203,5): warning CS0642: Possible mistaken empty statement Runner.cs(205,5): warning CS0642: Possible mistaken empty statement * [uikit] Update for Xcode 9 beta 5 - Part 3 (#2511) - UIKeyCommand - UINavigationBar - UINavigationItem - UIPasteboard - UITableViewHeaderFooterView * [xtro-sharpie] Remove xtro-plugin and misc other fixes. (#2522) * [xtro-sharpie] Build with msbuild and be as quiet as requested when building. * [xtro-sharpie] Must run as a 64-bit process, since the required native libraries are 64-bit. * [xtro-sharpie] Add run configurations to the project file to ease debugging in the IDE. * [xtro-sharpie] Remove xtro-plugin and the related commands. This was needed when there wasn't a 64-bit mono, in order to run xtro-sharpie in a 64-bit process. Now there is a 64-bit mono, so it's not needed anymore. Also improve makefile targets a bit, to auto-build stuff when needed, by setting the right dependencies. * Bump Xcode 9 to beta 6 (#2519) Disable watchOS tests again It seems like the Carousel crash from beta 4 is back to haunt us. This was working fine with beta 5. * Backport d15-3 SR2 fixes (#2515) * [coredata] Update to beta 6 (#2528) This seems to only revert some nullability changes from beta 5. * [coreml] Update to beta 6 (#2531) Fix our rdar 33643011 where additional setters were added in the headers but did not exists. * [videosubscriberaccount] Update to beta 6 (#2533) Only b1 and b2 introduced some additions/changes * [uikit] Update for Xcode 9 beta 6 - Part 4 (#2527) The following headers are now up to date: - UICollectionViewFlowLayout.h - UIDocumentPickerViewController.h - UIFontDescriptor.h - UIImage.h - UIImageView.h - UIImagePickerController.h * [xharness] Re-enable the watchOS tests. (#2534) It works fine for me locally, so let's see what Jenkins says. * [macos] Add new APIs in CoreWlan from Xcode9b3 (#2525) * Update AppKit bindings based on radar 33271241 results (#2518) * Update AppKit bindings based on radar 33271241 results - The header comment was updated to note it was NSSliderTouchBarItem view that has the protocol * Remove NSUserInterfaceCompression where not listed in header * [vision] Update to beta 6 (#2532) Removal of some deprecated (during beta) `init*` selectors. Also sync the versions that were inlined in subclasses - the old ones were not removed and the new ones were not added. * [xtro-sharpie] Many methods don't have selectors in Clang's API, so default to the name if no selector. (#2523) This makes a few more unclassified entries show up (mostly missing designated initializers): https://gist.github.com/rolfbjarne/07aa20f9b50b75bf3e69ac6a825e873a * [macos] Add ExternalAccessory APIs from xcode9 (#2526) * [58851] Disable NSMenuView in AllItemsWithNSMenuShouldAllowNull (#2504) * [arkit] Update for Xcode 9 beta 5 - Part 2 (#2505) - Add last missing selector. - Add tests for manual code. * [monotouch-test] Disable FontDescriptorTest.WithFeature (#2537) Disabled because it looks like the tvOS font we use: "Gujarati Sangam MN" does not have rare ligatures anymore (and the entire test is based on it). Before getting an actual fix for that, let's disable the test so it doesn't break all current builds. See: https://bugzilla.xamarin.com/show_bug.cgi?id=58929 * [xtro-sharpie] Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute. (#2524) Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute to calculate the native name for a TypeDefinition. Unclassified changes: https://gist.github.com/rolfbjarne/828f8ee41eebb0a3b60a38d71822fe59 * [foundation/uikit] Inline NSItemProvider_UIKitAdditions in NSItemProvider (#2538) As suggested here: https://github.com/xamarin/xamarin-macios/pull/2527#discussion_r134670981 * [intents] Fix breaking changes (api-diff) (#2543) Additions of @required members inside `INSpeakable` cannot be `[Abstract]` * [contacts] Fix breaking change (api-diff) (#2542) Type Changed: Contacts.CNPostalAddress Removed method: public static string LocalizeProperty (CNPostalAddressKeyOption option); * [macos] Reenable static registrar since Xcode9b6 un-broke SDK headers (#2544) - Fix a subtle spacing issues in PartialStaticLibrary property * [corebluetooth] Update up to beta 6 and enable it on watchOS (#2540) macOS 10.13 has finally catch up with iOS and this simplifies the bindings a bit. * [foundation] API fixes (apidiff) (#2545) 1. Let's not add new, already [Obsolete] API Type Changed: Foundation.NSDimension Added constructors: [Obsolete ("Not intended to be directly instantiated, this is an abstract class.")] public NSDimension (); 2. Fix inconsistently named API, e.g. Type Changed: Foundation.NSAttributedString Added properties: public static string[] ReadableTypeIdentifiersForItemProvider { get; } public static string[] WritableTypeIdentifiers { get; } * [pdfkit] Do not add already [Obsolete] API in new profiles (#2547) and ensure using the newer, correct API works cross-platforms iOS (before) [Obsolete ("Use 'Find (string, NSStringCompareOptions)' instead.")] public virtual PdfSelection[] Find (string text, nint options); public PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'Find (string, PdfSelection, NSStringCompareOptions)' instead.")] public virtual PdfSelection Find (string text, PdfSelection selection, nint options); public void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string, NSStringCompareOptions)' instead.")] public virtual void FindAsync (string text, nint options); public void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string [], NSStringCompareOptions)' instead.")] public virtual void FindAsync (string[] text, nint options); iOS (after) public virtual PdfSelection[] Find (string text, Foundation.NSStringCompareOptions compareOptions); public virtual PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); * Bump versions for the 7th preview (#2541) * Remove additions of AVKit removed in beta5 (#2536) * NSUrlSessionTask should implement NSProgressReporting for iOS (#2548) NSUrlSessionTask implements NSProgressReporting on iOS as well as Mac, so the #if MONOMAC isn't needed. * Add missing availability attributes causing failures on older iOS versions (#2550) * [vision] Minor fix wrt xtro (#2551) including some things we need to ignore manually !missing-field! VNVisionVersionNumber not bound !missing-pinvoke! VNImagePointForFaceLandmarkPoint is not bound !missing-pinvoke! VNNormalizedFaceBoundingBoxPointForLandmarkPoint is not bound * [uikit] NSFileProviderMessaging was removed in beta 2. Fixes #58222 (#2552) reference: https://bugzilla.xamarin.com/show_bug.cgi?id=58222 * [uikit] Update for Xcode 9 - Part 5 (#2546) Bindings for the following headers: - UIActivity.h - UIActivityItemProvider.h - UIAlertController.h - UIApplication.h - UIBarButtonItem.h - UIButton.h - UICollectionViewLayout.h - UIColor.h - UIControl.h - UIDocumentMenuViewController.h - UIFontMetrics.h - UIGestureRecognizer.h - UIGraphicsImageRenderer.h - UIInputViewController.h * [CoreText] Fix an extraneous free in CTFont.GetDefaultCascadeList. (#2555) We do not own the return value from CFArrayGetValueAtIndex, so don't say we do when creating CTFontDescriptor instances, since that leads to angry dragons: 2017-08-28 20:15:20.293 monotouchtest[33186:2311738] A_FontTest 2017-08-28 20:15:20.294 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithFontDescriptorAndOptions 2017-08-28 20:15:20.295 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithNameAndOptions 2017-08-28 20:15:20.296 monotouchtest[33186:2311738] critical: Stacktrace: at <unknown> <0xffffffff> at (wrapper managed-to-native) CoreText.CTFont.CTFontCopyDefaultCascadeListForLanguages (intptr,intptr) [0x0000a] in <ae65a2b1eea242d2b68fe784749543bf>:0 at CoreText.CTFont.GetDefaultCascadeList (string[]) [0x00013] in /work/maccore/xcode9/xamarin-macios/src/CoreText/CTFont.cs:2185 at MonoTouchFixtures.CoreText.A_FontTest.GetCascadeList () [0x0001e] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/CoreText/FontTest.cs:78 at (wrapper runtime-invoke) object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) [0x0004f] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) System.Reflection.MonoMethod.InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&) [0x00016] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at System.Reflection.MonoMethod.Invoke (object,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo) [0x00032] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/corlib/System.Reflection/MonoMethod.cs:305 at System.Reflection.MethodBase.Invoke (object,object[]) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/referencesource/mscorlib/system/reflection/methodbase.cs:229 at NUnit.Framework.Internal.Reflect.InvokeMethod (System.Reflection.MethodInfo,object,object[]) [0x00009] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Reflect.cs:215 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunNonAsyncTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x00025] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:116 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x0001a] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:90 at NUnit.Framework.Internal.Commands.TestMethodCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:66 at NUnit.Framework.Internal.Commands.SetUpTearDownCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00007] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/SetUpTearDownCommand.cs:84 at NUnit.Framework.Internal.WorkItems.SimpleWorkItem.PerformWork () [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/SimpleWorkItem.cs:64 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at MonoTouch.NUnit.UI.BaseTouchRunner.Run (NUnit.Framework.Internal.Test) [0x0004d] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:442 at MonoTouch.NUnit.UI.BaseTouchRunner.Run () [0x00030] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:171 at MonoTouch.Dialog.StringElement.Selected (MonoTouch.Dialog.DialogViewController,UIKit.UITableView,Foundation.NSIndexPath) [0x00008] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/Elements.cs:765 at MonoTouch.Dialog.DialogViewController.Selected (Foundation.NSIndexPath) [0x00026] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:577 at MonoTouch.Dialog.DialogViewController/Source.RowSelected (UIKit.UITableView,Foundation.NSIndexPath) [0x00016] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:402 at (wrapper runtime-invoke) <Module>.runtime_invoke_void__this___object_object (object,intptr,intptr,intptr) [0x0005d] in <32f0c196c5bc4aa18daea2ee64a7814e>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) UIKit.UIApplication.UIApplicationMain (int,string[],intptr,intptr) [0x0005c] in <ae65a2b1eea242d2b68fe784749543bf>:0 at UIKit.UIApplication.Main (string[],intptr,intptr) [0x00005] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:79 at UIKit.UIApplication.Main (string[],string,string) [0x00038] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:63 at monotouchtest.Application.Main (string[]) [0x00011] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/Main.cs:27 at (wrapper runtime-invoke) <Module>.runtime_invoke_void_object (object,intptr,intptr,intptr) [0x00051] in <30a7f7e09de9467b8b454221034a0e38>:0 Native stacktrace: 0 monotouchtest 0x000000010fca03c4 mono_handle_native_crash + 244 1 monotouchtest 0x000000010fcadd30 mono_sigsegv_signal_handler + 288 2 libsystem_platform.dylib 0x000000011feb3b3a _sigtramp + 26 3 CoreFoundation 0x000000011de035a2 computeSanitizedString + 146 4 CoreText 0x00000001168df314 _ZN15TPurgeableCache19RetainedValueForKeyEPKv + 54 5 CoreText 0x00000001168def85 _ZNK17TDescriptorSource22CopyDescriptorUncachedEPK7__CFURLbPK10__CFString + 55 6 CoreText 0x00000001168df34f _ZNK17TDescriptorSource14CopyDescriptorEPK7__CFURLbPK10__CFString + 27 7 CoreText 0x00000001168e20ad _ZNK17TDescriptorSource35CopyFontDescriptorPerPostScriptNameEPK10__CFStringmm + 297 8 CoreText 0x00000001168dfd9e _ZNK17TDescriptorSource30CopySystemFontDescriptorByNameEPK10__CFString10UIFontFlag + 54 9 CoreText 0x00000001168e54c4 _ZNK14TFontFallbacks17CopyFontFallbacksEPK10__CFStringS2_PK9__CFArray + 652 10 CoreText 0x00000001168e4a00 _ZNK14TFontFallbacks29CopyFontFallbacksForLanguagesEPK10__CFStringPK9__CFArray + 122 11 CoreText 0x00000001168e4971 _ZN17TDescriptorSource39CopyDefaultSubstitutionListForLanguagesEPK10__CFStringPK9__CFArray + 61 12 CoreText 0x00000001169397a7 _ZNK9TBaseFont28CreateSystemDefaultFallbacksEPK10__CFStringPK9__CFArray + 51 13 CoreText 0x000000011693999c _ZNK9TBaseFont15CreateFallbacksE10UIFontFlagPPK16__CFCharacterSetPK9__CFArray + 346 14 CoreText 0x00000001168c1036 _ZNK5TFont24CreateDefaultCascadeListEPK9__CFArray + 242 15 CoreText 0x00000001168b8ff9 CTFontCopyDefaultCascadeListForLanguages + 97 16 ??? 0x0000000140eaefd3 0x0 + 5384105939 17 ??? 0x0000000140eae761 0x0 + 5384103777 18 ??? 0x000000013c9c8e74 0x0 + 5311860340 19 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 20 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 21 monotouchtest 0x000000010fd71bac mono_runtime_try_invoke_array + 1292 22 monotouchtest 0x000000010fd15587 ves_icall_InternalInvoke + 647 23 ??? 0x000000013e9fcd13 0x0 + 5345627411 24 ??? 0x000000013e9fc738 0x0 + 5345625912 25 ??? 0x000000013e9fded5 0x0 + 5345631957 26 ??? 0x000000013e9fbb76 0x0 + 5345622902 27 ??? 0x000000013e9e237e 0x0 + 5345518462 28 ??? 0x000000013e9e237e 0x0 + 5345518462 29 ??? 0x000000013e9e237e 0x0 + 5345518462 30 ??? 0x000000013e9e237e 0x0 + 5345518462 31 ??? 0x000000013e873006 0x0 + 5344014342 32 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 33 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 34 monotouchtest 0x000000010fd6e320 mono_runtime_invoke + 208 35 monotouchtest 0x000000010fe71af1 xamarin_invoke_trampoline + 5617 36 monotouchtest 0x000000010fe79ddd xamarin_arch_trampoline + 189 37 monotouchtest 0x000000010fe7b1a1 xamarin_x86_64_common_trampoline + 110 38 UIKit 0x0000000111b9876b -[UITableView _selectRowAtIndexPath:animated:scrollPosition:notifyDelegate:] + 1810 39 UIKit 0x0000000111b98986 -[UITableView _userSelectRowAtPendingSelectionIndexPath:] + 344 40 UIKit 0x0000000111a6b5c9 _runAfterCACommitDeferredBlocks + 318 41 UIKit 0x0000000111a59dad _cleanUpAfterCAFlushAndRunDeferredBlocks + 280 42 UIKit 0x0000000111a89f68 _afterCACommitHandler + 137 43 CoreFoundation 0x000000011de3ddb7 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23 44 CoreFoundation 0x000000011de3dd0e __CFRunLoopDoObservers + 430 45 CoreFoundation 0x000000011de22324 __CFRunLoopRun + 1572 46 CoreFoundation 0x000000011de21a89 CFRunLoopRunSpecific + 409 47 GraphicsServices 0x0000000121b7e9c6 GSEventRunModal + 62 48 UIKit 0x0000000111a5f7d0 UIApplicationMain + 159 49 ??? 0x000000013c9c4474 0x0 + 5311841396 50 ??? 0x000000013c9c40ad 0x0 + 5311840429 ================================================================= Got a SIGSEGV while executing native code. This usually indicates a fatal error in the mono runtime or one of the native libraries used by your application. ================================================================= * [monotouch-test] Don't subclass MKMapView. (#2556) MKMapView doesn't like being subclassed (Apple says "you should not subclass the MKMapView class itself"). Bad things like this starts happening: Thread 0 name: tid_303 Dispatch queue: com.apple.main-thread Thread 0 Crashed: 0 libsystem_kernel.dylib 0x0000000186b25348 __pthread_kill + 8 1 libsystem_pthread.dylib 0x0000000186c39354 pthread_kill$VARIANT$mp + 396 2 libsystem_c.dylib 0x0000000186a94fd8 abort + 140 3 monotouchtest 0x0000000101c02c14 mono_handle_native_crash + 22047764 (mini-exceptions.c:2548) 4 monotouchtest 0x0000000101c0d02c mono_sigsegv_signal_handler + 22089772 (mini-runtime.c:2886) 5 libsystem_platform.dylib 0x0000000186c33b60 _sigtramp + 52 6 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 7 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 8 CoreFoundation 0x0000000186eda51c -[__NSArrayM dealloc] + 68 9 CoreFoundation 0x000000018703f5c8 __CFBasicHashDrain + 312 10 CoreFoundation 0x0000000186fb5b44 _CFRelease + 224 11 CoreText 0x000000018a808404 TDescriptorSource::PurgeFontFallbacksCache+ 488452 () + 92 12 CoreText 0x000000018a808374 TDescriptorSource::PurgeFromCaches+ 488308 (__CFURL const*) const + 176 13 CoreText 0x000000018a7eec74 CTFontRemoveFromCaches + 168 14 VectorKit 0x0000000196a539b0 +[VKSharedResourcesManager removeResourceUser:] + 324 15 VectorKit 0x0000000196ca27a4 md::MapEngine::~MapEngine+ 2643876 () + 360 16 VectorKit 0x0000000196ca2634 md::MapEngine::~MapEngine+ 2643508 () + 12 17 libobjc.A.dylib 0x000000018651eef4 object_cxxDestructFromClass+ 28404 (objc_object*, objc_class*) + 148 18 libobjc.A.dylib 0x000000018652c638 objc_destructInstance + 88 19 libobjc.A.dylib 0x000000018652c690 object_dispose + 16 20 QuartzCore 0x000000018afca3ac -[CALayer dealloc] + 116 21 VectorKit 0x0000000196a43294 -[VKMapView dealloc] + 940 22 QuartzCore 0x000000018af6aafc CA::release_objects+ 744188 (X::List<void const*>*) + 32 23 QuartzCore 0x000000018afd97d8 CA::Layer::~Layer+ 1198040 () + 276 24 QuartzCore 0x000000018afca37c -[CALayer dealloc] + 68 25 QuartzCore 0x000000018af6b16c CA::Transaction::commit+ 745836 () + 1052 26 UIKit 0x0000000190393290 _afterCACommitHandler + 256 27 CoreFoundation 0x0000000186fb38b8 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 32 28 CoreFoundation 0x0000000186fb1270 __CFRunLoopDoObservers + 412 29 CoreFoundation 0x0000000186fb182c __CFRunLoopRun + 1292 30 CoreFoundation 0x0000000186ed22d8 CFRunLoopRunSpecific + 436 31 GraphicsServices 0x0000000188d58f84 GSEventRunModal + 100 32 UIKit 0x000000019040427c UIApplicationMain + 208 33 monotouchtest 0x000000010106eb90 wrapper_managed_to_native_UIKit_UIApplication_UIApplicationMain_int_string___intptr_intptr + 9907088 (/<unknown>:1) 34 monotouchtest 0x0000000100f0d6ac UIKit_UIApplication_Main_string___intptr_intptr + 8459948 (UIApplication.cs:79) 35 monotouchtest 0x0000000100f0d66c UIKit_UIApplication_Main_string___string_string + 8459884 (UIApplication.cs:63) 36 monotouchtest 0x0000000100b10450 monotouchtest_Application_Main_string__ + 4277328 (Main.cs:27) 37 monotouchtest 0x0000000100e0c244 wrapper_runtime_invoke_object_runtime_invoke_dynamic_intptr_intptr_intptr_intptr + 244 38 monotouchtest 0x0000000101c10048 mono_jit_runtime_invoke + 22102088 (mini-runtime.c:2526) 39 monotouchtest 0x0000000101c75eec do_runtime_invoke + 22519532 (object.c:2829) 40 monotouchtest 0x0000000101c78a3c do_exec_main_checked + 22530620 (object.c:4623) 41 monotouchtest 0x0000000101bf9a1c mono_jit_exec + 22010396 (driver.g.c:1040) 42 monotouchtest 0x0000000101d13d60 xamarin_main + 23166304 (monotouch-main.m:482) 43 monotouchtest 0x00000001007de710 main + 927504 (main.m:67) 44 libdyld.dylib 0x00000001869f656c start + 4 * [introspection] Let SkipDueToAttributeInProperty skip setters too (#2557) `SkipDueToAttributeInProperty` which is used to check the availability attribute of properties when the Availability info only exist on the property and not on the property Getter or Setter was wrong. This lead to `setSpringLoaded` (which was introduced in iOS 11) to not be ignored by the test (making it fail). - Fix bug #59085: [introspection-ios] selector not found for UIKit.UIBarButtonItem : setSpringLoaded: - Broken test (https://bugzilla.xamarin.com/show_bug.cgi?id=59085) * [corevideo][watchos] Enable CoreVideo on watchOS (#2553) * [storekit] Fix CampaignToken typo (#2559) (#2560) - Fixes bug #59078: StoreProductParameters and invalid property for CampaignToken (https://bugzilla.xamarin.com/show_bug.cgi?id=59078) * [coreml][watchos] Enable API using CoreVideo on watchOS. Fix #58097 (#2561) https://bugzilla.xamarin.com/show_bug.cgi?id=58097 * Add missing [MarshalDirective] attributes. (#2558) * [bindings-generator] Improve build & project file. * Add missing [MarshalDirective] attributes. Add missing [MarshalDirective] attributes, which also requires implementing support for out parameters in the binding generator, since one of the signatures missing the [MarshalDirective] contains such an out parameter. Also add tests for all the API I've added [MarshalDirective] to. * [bindings-generator] Remove redundant if check. * [monotouch-test] Rename file to end with 'Test.cs'. * [tests] Fix a few build errors for Xamarin.Mac. * [uikit] Fix UIColor and UIInputViewController tvOS availability (#2569) - Fixes introspection tests on tvOS 10. * [storekit] Fix SKCloudServiceSetupMessageIdentifier and SKProductStorePromotionController tvOS availability (#2568) - Fixes introspection tests on tvOS 10. * [mapkit] Fix MKMapItemTypeIdentifier tvOS availability (#2566) - Also remove double [Mac] availability attribute. - Fixes introspection tests on tvOS 10. * [ARKit] Fix marshalling for ARPointCloud.RawFeaturePoints. (#2565) ARPointCloud.RawFeaturePoints is an array of Vector3, but each vector is 16-byte aligned (as if it were an array of Vector4). This means we need to account for this when creating a managed array from pointer to the native C-style array. * [ModelIO] Fix MDLVoxelIndexExtent struct. (#2564) The MDLVoxelIndexExtent is a struct containing two 4-dimensional vectors of integers (not floats, as originally and incorrectly implemented). Fix this my creating a new MDLVoxelIndexExtent2 struct with the right fields, re-implement all the API that exposes this struct and obsolete the old API. Also add missing [MarshalDirective] attributes. And write a test to make sure it works fine now and forever. * [coredata] Enable new fields since rdar #33878590 is fixed w/beta 6 (#2570) reference: https://trello.com/c/dlSRYPFx * [xtro-sharpie] Add a Simd check class to verify signatures with Simd types. * [Simd] Add simd matrix types. The OpenTK matrices (Matrix2/3/4) has a different memory layout than Apple's matrix_float2x2/matrix_float3x3/matrix_float4x4 matrices: the OpenTK versions are row-major, while Apple's versions are column-major. This means that when blitting memory from one to the other, the matrix will appear to have been transposed. See bug #[58599][2] for an example. Unfortunately we've already bound several API with Apple's matrix_floatXxX matrices using OpenTK's matrices, and although they're bound wrong, and the matrices appear transposed on input/output, we can't change the behavior because we have to maintain compatibility. This means we have to introduce new API, and then also just define new matrix types with the right memory layout (column-major). Additionally, in the future we might be able to mark these matrices as Simd-matrixes, so that the JIT/AOT compiler can generate the correct alignment for them, avoiding having to define a native conversion method (using the [MarshalDirective] hack). The matrices have been designed to match API-wise the matrices in the System.Numerics.Vectors namespace [1], but for the moment with only a few basic operations implemented (Determinant/Transpose/Multiply) defined (we can always add more later if we want to). In addition explicit conversion operators to and from the corresponding OpenTK.MatrixX are implemented, which means any operation defined in the OpenTK matrices can be used by converting back and forth. [1]: https://msdn.microsoft.com/en-us/library/system.numerics.matrix4x4(v=vs.111).aspx [2]: https://bugzilla.xamarin.com/show_bug.cgi?id=58599 * [ARKit] Use the new Simd matrix types. * [Vision] Use the new Simd matrix types. * [ModelIO] Use the new Simd-compatible matrix types, and deprecate the old API. * [GameplayKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [SpriteKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [xtro] Don't report missing [MarshalDirective] for obsolete methods. * [xtro] Remove unnecessary ignores. The implementation changed, and these stayed accidentally. * [wkwebkit] Fix (native) protocol names (#2572) Also ignore xtro's WKSnapshotConfiguration since it's an Apple bug 34185961 reference (xtro) !missing-protocol! WKURLSchemeHandler not bound !missing-protocol! WKURLSchemeTask not bound !unknown-protocol! WKUrlSchemeHandler bound !unknown-protocol! WKUrlSchemeTask bound !unknown-type! WKSnapshotConfiguration bound * [uikit] Fix enums availability attributes (#2575) - Fixes bug #59132: [uikit] Extra types in watchOS (https://bugzilla.xamarin.com/show_bug.cgi?id=59132) * [watchkit] Add missing designated initializers (#2574) references (xtro) !missing-designated-initializer! WKInterfaceController::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! WKUserNotificationInterfaceController::init is missing an [DesignatedInitializer] attribute * [xtro] Reword some of the Simd diagnostic messages according to review. * [tests] Make sure test symbols don't clash between different test libraries. Fixes this build problem for framework-test: clang: error: linker command failed with exit code 1 (use -v to see invocation) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_get_rotation_matrix'. MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticObjectTest.framework/XStaticObjectTest (Location related to previous error) MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticArTest.framework/XStaticArTest(libtest-ar.x86_64.o) (Location related to previous error) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransformcomponent_get_local_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_create_global_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float4x4'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float3x3'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float2x2'. MTOUCH: error MT5209: Native linking error: 6 duplicate symbols for architecture x86_64 MTOUCH: error MT5202: Native linking failed. Please review the build log. * [tests] Since libtest.a need ModelIO now, the corresponding LinkWith attributes need to state that too. * [introspection] Don't check native signatures on obsolete members, and ignore the right simd matrix types. Fixes this introspection/Mac problem: ***** ApiSignatureTest.NativeSignatures Selector: uniformWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: uniformWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: uniformWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: setMatrixFloat2x2Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: setMatrixFloat3x3Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: setMatrixFloat4x4Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: initWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: initWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: initWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded * [monotouch-tests] Include more custom asserts for watchOS to make the build work. Fixes this: Simd/MatrixFloat4x4Test.cs(28,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(29,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(37,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(48,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' [...] * [monotouch-test] Exclude code that requires the binding project from xammac tests. Exclude code that requires the test binding project from xammac tests because there's currently no XM version of the test binding project. Fixes this: tests/monotouch-test/SpriteKit/UniformTest.cs(20,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLMaterialProperty.cs(37,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLTransform.cs(34,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) * Bump version for preview #8 (#2576) * [spritekit] Audit fixes (xtro) (#2577) 1. SKVideoNode is now, partially, available on watchOS and does not require the extra, manual code to swicth selectors depending on the OS version being run. !missing-type! SKVideoNode not bound !missing-selector! SKVideoNode::anchorPoint not bound !missing-selector! SKVideoNode::initWithCoder: not bound !missing-selector! SKVideoNode::initWithFileNamed: not bound !missing-selector! SKVideoNode::initWithURL: not bound !missing-selector! SKVideoNode::setAnchorPoint: not bound !missing-selector! SKVideoNode::setSize: not bound !missing-selector! SKVideoNode::size not bound !missing-selector! +SKVideoNode::videoNodeWithFileNamed: not bound !missing-selector! +SKVideoNode::videoNodeWithURL: not bound 2. SKNodeFocusBehavior is exposed needlessly on watchOS because SpriteKit/Enums.cs was not processed by the generator, so [NoWatch] did not matter. !unknown-native-enum! SKNodeFocusBehavior bound It's also visible on macOS but nothing uses it (so we do not expose it needlessly) !missing-enum! SKNodeFocusBehavior not bound 3. Add missing designated initializer on default `init` !missing-designated-initializer! SKAttributeValue::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! SKNode::init is missing an [DesignatedInitializer] attribute 4. Remove inconsistency for SKNode subclasses wrt XAMCORE_4_0 The trio attributeValues, setAttributeValues and setValue:forAttributeNamed: that was moved from SKNode (deprecated) into its subclasses. This was done using XAMCORE_4_0 but not on every subclasses. This adds them everywhere to be consistent (only SKNode versions are not defined in XAMCORE_4_0) !missing-selector! SKEffectNode::attributeValues not bound !missing-selector! SKEffectNode::setAttributeValues: not bound !missing-selector! SKEffectNode::setValue:forAttributeNamed: not bound !missing-selector! SKEffectNode::valueForAttributeNamed: not bound !missing-selector! SKEmitterNode::attributeValues not bound !missing-selector! SKEmitterNode::setAttributeValues: not bound !missing-selector! SKEmitterNode::setValue:forAttributeNamed: not bound !missing-selector! SKEmitterNode::valueForAttributeNamed: not bound !missing-selector! SKSpriteNode::attributeValues not bound !missing-selector! SKSpriteNode::setAttributeValues: not bound !missing-selector! SKSpriteNode::setValue:forAttributeNamed: not bound !missing-selector! SKSpriteNode::valueForAttributeNamed: not bound * [introspection] Make sure '[FAIL]' is printed before every failure. (#2578) This makes xharness able to list the failures in the inline summary. * [xtro] Reword some of the Simd diagnostic messages according to review. * [xharness] Add a missing IsServerMode check to generate correct html. (#2581) * [SpriteKit] SKTransformNode is new in Xcode 9 so no need to keep the broken (and obsolete) non-simd version of RotationMatrix. * [intents] Fix some (partial) xtro issues and #59156 (#2585) reference https://bugzilla.xamarin.com/show_bug.cgi?id=59156 Remaining issues are filled in https://bugzilla.xamarin.com/show_bug.cgi?id=59183 !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound * [Intents] Confirm* interface methods should be bound as Confirm, Fixes Bug 59164 (#2591) * [Intents] Confirm* interface methods should probably be bound as Confirm, Fixes Bug 59164 https://bugzilla.xamarin.com/show_bug.cgi?id=59164 All Confirm* methods from *IntentHandling interfaces should be named just `Confirm` to avoid confusion because most of them do not directly confirm as an acion, but instead they **ask** for confirmation also we would follow swift's naming by doing this. * [Intents] XAMCORE_4_0 all Confirm* methods from *IntentHandling Turns any Confirm* into just Confirm inside a XAMCORE_4_0 block, * [Intents] Fix breaking changes in Intents added in Xcode 9 Bindings (#2590) Apple added more protocol conformances to INRidesharingDomainHandling and INPaymentsDomainHandling protocols in Xcode 9, I introduced these breaking changes back when I did intents binding so fixing them :) * [Metal] New bindings from Xcode 9 betas (#2457) * [AVFoundation] Updated bindings for xcode9. (#2272) * [Xcode9] Add IOSurface bindings (#2363) * This framework was a private framework before iOS 11. This framework was a private framework before iOS 11, yet the headers claim many API were introduced in iOS 10. So take account of this difference by using the private framework location in iOS 10.3 or earlier. Testing these API from Xcode works fine when run on an iOS 10.3 device, and I've confirmed the IOSurface framework is loaded from the private frameworks path on older devices (and when built using Xcode 9 and linked with the public framework path). * Disable code to make IOSurface work on iOS 10. Disable the code to make IOSurface work on iOS 10, since it may be rejected by the App Store. This also means adjusting the availability attributes, so that the introspection tests pass (and to document that technically these API won't work when used with Xamarin.iOS in iOS 10). I've filed bug #[59201][1] to keep track of this, maybe we can re-enable this later. [1]: https://bugzilla.xamarin.com/show_bug.cgi?id=59201 * [CoreMedia] Fix leak in CMAttachmentBearer.GetAttachments. (#2593) The caller owns the return value from CMCopyDictionaryOfAttachments, so tell Runtime.GetNSObject that. * [Intents] Adds missing API found by xtro, fixes Bug 59183 (#2596) https://bugzilla.xamarin.com/show_bug.cgi?id=59183 Fixes !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !incorrect-protocol-member! INUIHostedViewControlling::configureWithInteraction:context:completion: is OPTIONAL and should NOT be abstract * [xtro] Fix StartWorkingDirectory to enable debugging (#2598) * [iosurface] Enable for tvOS and XM classic (to avoid multiple defines around consumer API) (#2597) * [xtro] Fix EnumCheck (#2600) * [ARKit] Rename a few method to make them nicer. (#2604) * DisplayTransform -> GetDisplayTransform since methods should have verbs. * SessionWasInterrupted -> WasInterrupted and SessionInterruptionEnded -> InterruptionEnded since these names match better with the other names (CameraDidChangeTrackingState / DidFail / DidOutputAudioSampleBuffer: none are prefixed with 'Session'). Additionally, the type is a Model (for the delegate pattern), which means all methods are more-or-less event-like, and the first argument is always the same (the protocol itself), which is another indicator the methods should be named similarly. * [Foundation] Remove 'Key' suffix from some fields. (#2606) Of the 168 fields in NSMetadataItem, only these 5 hadn't removed the 'Key' suffix. So make them all equivalent by removing the 'Key' suffix from these 5 fields. * [ImageIO] Fix API to not duplicate the instance in instance methods. (#2609) An instance method does not need to take the instance as a parameter, so remove the first (instance) parameter for CGImageDestination.AddAuxiliaryDataInfo and CGImageSource.CopyAuxiliaryDataInfo. An alternative solution would be to make the methods static, but I like the instance API better. * [UIKit] De-model UIDataSourceTranslating. (#2603) It's not clear from neither the documentation nor the headers how this protocol is supposed to be used, and since it doesn't correspond to the delegate pattern, remove the [Model] attribute for now. We can always add it back later. * [CoreML] Improve API. (#2592) * [CoreML] Improve API. * The indices, shape and stride properties for MLMultiArray and MLMultiArrayConstraint can logically only be arrays of integers, so type them as such. This means adding overloads for MLMultiArray's constructors, GetObject and SetObject methods, and the indexers that takes nint[] arrays instead of NSNumber[] arrays. * Change MLFeatureValue's static factory methods to be a method ('Create') instead of a preposition, and call all the different factory methods the same, since they can be overloaded nicely. * [tests][monotouch-test] Add version check to MLMultiArrayTest and make sure the arrays we create are big enough for the data we put in them. * [tests][monotouch-test] MLMultiArray's elements aren't zero-initialized, so don't assume that in the tests. * Support overloading Objective-C methods based on static/instance. (#2607) Two Objective-C methods can be named identically as long as one is static and the other instance. We must support this since Apple did just this (in the NSItemProviderReading / NSItemProviderWriting protocols). We solve it by prepending a '+' or '-' to the selector when hashing it (to determine selector uniqueness, and to look the method up again at runtime). * [uikit] Update for Xcode 9 - Part 6 (#2602) NSAttributedString.h NSFileProviderExtension.h NSLayoutAnchor.h UIAccessibility.h UIAccessibilityAdditions.h UIAccessibilityContainer.h UIAccessibilityContentSizeCategoryImageAdjusting.h UIAccessibilityCustomRotor.h UIAccessibilityLocationDescriptor.h UITabBar.h UINavigationBar.h UIScreen.h * Xcode9 scenekit (#2512) * [SceneKit] basic work * Added key * [xcode9] SCNCameraController * [xcode9] SCNCamera updates * [xcode9] SCNMaterial * [xcode9] SCNGeometryTessellator, SCNCameraControlConfiguration, SCNView, small bits * Add trailing commas to last enum value * Remove whitespace noise * [scenekit] Update deprecated attributes messages * Addresses some of Rolf's feedback * Drop the WeakDelegate in SCNCameraController * Rename method to Render, remove ctor from class that can not be constructed in Palygrounds, add typo exception * [AppKit] Rename NSBezierPath.AppendBezierPathWithCGGlyph to match its sibling methods. (#2605) NSBezierPath contains a lot of 'AppendPathWithXXX' methods, that all map to 'appendBezierPathXXX' selectors. So rename AppendBezierPathWithCGGlyph accordingly, to make it more similar to the other methods in the same type. * [uikit] Add all UISpringLoadedInteractionSupporting (#2616) Types do not conform to the protocol but protocol methods work on those types (see monotouch-test). Fixed introspection tests accordingly and tested the selectors in monotouch-test. * [Intents] Add convenience ctor overload and call correct base ctor in manual ctor. (#2613) Add a convenience constructor overload in INGetUserCurrentRestaurantReservationBookingsIntent that uses nint instead of NSNumber, since logically "number of results" will always be some sort of integer. Also call the correct base constructor in INSpeakableString's custom constructor (same as any other generated constructor). Otherwise we end up doing something like this: [[[INSpeakableString alloc] init] initWith ...], i.e. calling two different init methods. * [coreimage] Add new headers API up to beta 6 (#2601) Filters are not complete (ref: #57350) https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * Some new constants are not yet documented (type is known), so they are commented / ignored https://bugzilla.xamarin.com/show_bug.cgi?id=59296 * Filled bug for [Wrap] inside [Category] so strong dictionary helpers can be re-enabled later https://bugzilla.xamarin.com/show_bug.cgi?id=59294 * [foundation] xtro fixes for watchOS (#2586) !missing-enum! NSProcessInfoThermalState not bound !missing-field! NSProcessInfoThermalStateDidChangeNotification not bound !missing-selector! NSProcessInfo::thermalState not bound Headers are wrong and preferredPresentationStyle is not in tvOS and watchOS !missing-selector! NSItemProvider::preferredPresentationStyle not bound !missing-selector! NSItemProvider::setPreferredPresentationStyle: not bound * [uikit] Also remove UIPreferredPresentationStyle enum from platform where it's not used * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. (#2614) * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. * NSItemProviderWriting: * NSItemProviderReading: Implement correctly and completely by uncommenting commented out code. * NSMutableString: * NSAttributedString: remove inlined members, since these classes don't implement NSItemProviderReading / NSItemProviderWriting (according to the headers at least). * NSUrl: all platforms now seem to implement NSItemProviderReading / NSItemProviderWriting. * NSString: all platforms now seem to implement both NSItemProviderReading and NSItemProviderWriting * UIColor: * UIImage: Update inlined protocol members according to the latest beta. Additionally, due to the following conditions: * The protocols all have the correct members now. * In the API definition we tell the generator to inline members from a protocol by inheriting from the corresponding interface. * The generator doesn't inline static members from protocols. several 'new' keywords had to be added to silence a compiler warning that occurrs when we manually inline a static member, since the member would be included in the type both from the inherited interface and the manual implementation. * [Foundation] Comment out NSItemProviderWriting.GetItemProviderVisibility to avoid inlining/generating unusable methods. NSItemProviderWriting.GetItemProviderVisibility is an optional method, and none of the native classes that implements NSItemProviderWriting actually imlements the method. This means inlining the method in those classes ends up creating unusable API; so just comment out the method to avoid generating the unusable API. The introspection tests found this: [FAIL] Foundation.NSString : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Foundation.NSUrl : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Contacts.CNContact : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] MapKit.MKMapItem : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIColor : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIImage : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] iOSApiSelectorTest.ApiSelectorTest.StaticMethods : 6 errors found in 2348 static selector validated: See also https://bugzilla.xamarin.com/show_bug.cgi?id=59308 * [iosurface] Add missing [TV] attributes (#2619) * [opengles] Enable the new API using IOSurface (#2618) The symbol only exists inside device libraries, not on simulator, and the introspection tests were updated to ignore it. Part of https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [avfoundation][watchos] Enable AudioBufferList (fix #59145) + audit (xtro) (#2617) 1. AudioBufferList is part of CoreAudio (wrong namespace, which needs a few changes in the generator) and now available in watchOS 4 https://bugzilla.xamarin.com/show_bug.cgi?id=59145 2. Also fixes xtro found issues: !missing-type! AVAudioRecorder not bound !missing-selector! AVAudioRecorder::averagePowerForChannel: not bound !missing-selector! AVAudioRecorder::channelAssignments not bound !missing-selector! AVAudioRecorder::currentTime not bound !missing-selector! AVAudioRecorder::delegate not bound !missing-selector! AVAudioRecorder::deviceCurrentTime not bound !missing-selector! AVAudioRecorder::format not bound !missing-selector! AVAudioRecorder::initWithURL:format:error: not bound !missing-selector! AVAudioRecorder::initWithURL:settings:error: not bound !missing-selector! AVAudioRecorder::isMeteringEnabled not bound !missing-selector! AVAudioRecorder::isRecording not bound !missing-selector! AVAudioRecorder::peakPowerForChannel: not bound !missing-selector! AVAudioRecorder::recordAtTime: not bound !missing-selector! AVAudioRecorder::recordAtTime:forDuration: not bound !missing-selector! AVAudioRecorder::recordForDuration: not bound !missing-selector! AVAudioRecorder::setChannelAssignments: not bound !missing-selector! AVAudioRecorder::setDelegate: not bound !missing-selector! AVAudioRecorder::setMeteringEnabled: not bound !missing-selector! AVAudioRecorder::settings not bound !missing-selector! AVAudioRecorder::url not bound !missing-protocol! AVAudioRecorderDelegate not bound !missing-selector! AVAudioEngine::inputNode not bound !missing-selector! AVAudioEngine::manualRenderingBlock not bound !missing-selector! AVAudioInputNode::setManualRenderingInputPCMFormat:inputBlock: not bound !missing-selector! AVAudioPlayer::format not bound !missing-selector! AVAudioSession::requestRecordPermission: not bound !unknown-field! AVFileType3GPP bound !unknown-field! AVFileType3GPP2 bound !unknown-field! AVFileTypeAC3 bound !unknown-field! AVFileTypeAIFC bound !unknown-field! AVFileTypeAIFF bound !unknown-field! AVFileTypeAMR bound !unknown-field! AVFileTypeAVCI bound !unknown-field! AVFileTypeAppleM4A bound !unknown-field! AVFileTypeAppleM4V bound !unknown-field! AVFileTypeCoreAudioFormat bound !unknown-field! AVFileTypeDNG bound !unknown-field! AVFileTypeEnhancedAC3 bound !unknown-field! AVFileTypeHEIC bound !unknown-field! AVFileTypeHEIF bound !unknown-field! AVFileTypeJPEG bound !unknown-field! AVFileTypeMPEG4 bound !unknown-field! AVFileTypeMPEGLayer3 bound !unknown-field! AVFileTypeQuickTimeMovie bound !unknown-field! AVFileTypeSunAU bound !unknown-field! AVFileTypeTIFF bound !unknown-field! AVFileTypeWAVE bound * [Metal] Implement API using IOSurface now that IOSurface is implemented. Partially fixes #58054. (#2621) https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [PdfKit] Improve PdfAnnotation.QuadrilateralPoints binding by making it strongly typed. (#2620) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). (#2622) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). * [ARKit/Vision] Use the new simd vector types instead of the OpenTK versions. * [ModelIO] Use the new simd vectors in new API (MDLVoxelIndexExtent2). This way we won't have to create a MDLVoxelIndexExtent3 in the future. * [SpriteKit] Use the new simd vectors in new API. * [metal] Audit (xtro) based fixes (#2623) !extra-protocol-member! unexpected selector MTLArgumentEncoder::newArgumentEncoderForBufferAtIndex: found !extra-protocol-member! unexpected selector MTLComputeCommandEncoder::dispatchThreads:threadsPerThreadgroup: found macos-only !missing-field! MTLDeviceRemovalRequestedNotification not bound !missing-field! MTLDeviceWasAddedNotification not bound !missing-field! MTLDeviceWasRemovedNotification not bound !missing-pinvoke! MTLCopyAllDevices is not bound * [CloudKit] Update bindings to beta 6. (#2615) * [FileProvider] Turn NSFileProviderItemIdentifier enum into a static class, fixes bug 59329 (#2634) https://bugzilla.xamarin.com/show_bug.cgi?id=59329 At the time of binding NSFileProviderItemIdentifier it wasn't clear how it was supposed to be used, I mean apple provides two keys which I thought were the only possible values hence binding it as an smart enum. Unfortunately this wasn't the case and the user can use those two values provided from the SDK or their own NSString Identifier. Swift provides a wrapper unfortunately we can't do the same due to NSFileProviderItemIdentifier is used in the NSFileProviderItem protocol and we currently do not support changing signatures on them. * [mtouch] Teach mtouch about the 'IOSurface' framework for tvOS. Fixes #59333. (#2630) https://bugzilla.xamarin.com/show_bug.cgi?id=59333 * Bump Touch.Unit to get fix for API breakage. (#2631) spouliot/Touch.Unit@8f1e19d [NUnitOutputTextWriter] Reintroduce previous constructor to make sure we don't break binary ABI. spouliot/Touch.Unit@00b0c0b [NUnitOutputTextWriter] Don't write invalid xml comments. spouliot/Touch.Unit@de9fe20 [TouchRunner] Restore the original code path when not wrapping NUnit xml output. * [IOSurface] Add missing availability attributes for tvOS. (#2629) * Bump versions for preview 9 (#2624) * [AVFoundation] Add missing interface AVRouteDetector. (#2637) * [tests] Update xtro to reduce list sizes (#2636) * Skip OpenTK duplicate declaration (we can't change them); * Fix rule name change for ARKit / simd; * Add missing default initializer on `init` to pending actions; * Add note for AVPersistableContentKeyRequest changes wrt tvOS; * [ReplayKit] Make RPBroadcastActivityViewController.LoadBroadcastActivityViewController async-capable. (#2639) * [xcode9] More SceneKit bindings (#2633) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 (#2644) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 https://bugzilla.xamarin.com/show_bug.cgi?id=59380 vector_float3 is 16 bytes, which means the binding is incorrect, because Vector3 is 12 bytes, and our code does not that difference into account. * Add tests * [DeviceCheck] Disable default ctor for DCDevice. (#2642) It doesn't seem to be useful according to the documentation, since it appears that the only way to get an instance is to use the static CurrentDevice property. * [audiounit] Audit (xtro) fixes for tvOS (#2635) Availability attributes in non-generated files don't hide symbols/code. reference: !unknown-pinvoke! AudioUnitExtensionCopyComponentList bound !unknown-pinvoke! AudioUnitExtensionSetComponentList bound * [tests] Make sure tvOS tests don't use the (unexisting) API * [tests] Add all test project variations to tests-mac.sln (#2579) * [xharness] Make sure generated mac projects have different project guids. * [introspection] Change the project guid so that it doesn't match the dontlink-mac project guid. * [tests] Add all test project variations to tests-mac.sln. * [xharness] Fix else condition. * [FileProvider] Adds missing NSFileProviderPage constants, fixes bug 59297. (#2646) https://bugzilla.xamarin.com/show_bug.cgi?id=59297 Adds NSFileProviderInitialPageSortedByName and NSFileProviderInitialPageSortedByDate NSData constants * [Xcode9] Remove NSFileProviderMessage and NSFileProviderMessageInterface (#2647) APIs were removed in beta 2 * [Foundation/UIKit] Provide LoadObject[s] methods that return the expected type in the callback. Fixes #59049. (#2638) The callback for these LoadObject[s] methods take an INSItemProviderReading parameter. This tells our runtime that we must provide an instance of a managed object that implements this interface (but nothing else), so we create a `NSItemProviderReadingWrapper` instance, which complies with the API (since the wrapper type implements the corresponding interface). Unfortunately these methods are supposed to return an instance of the passed- in type, so in order to comply with this soft (documentation-only) requirement, provide a wrapper method that creates instances of the right types. https://bugzilla.xamarin.com/show_bug.cgi?id=59049 * [arkit] Ignore deprecated selectors (#2645) * [FileProvider] Adds missing protocol and keys from audit (#2652) ``` !missing-protocol! NSFileProviderServiceSource not bound !missing-field! NSFileProviderErrorCollidingItemKey not bound !missing-field! NSFileProviderErrorNonExistentItemIdentifierKey not bound !missing-field! NSFileProviderFavoriteRankUnranked not bound ``` Also adds `NSXpcListenerEndpoint` to foundation, needed by `NSFileProviderServiceSource` protocol. * [tests][xtro] Workaround xtro runner dupe entry exception and update data files (#2654) * [AVFoundation] Rename field to match others. (#2657) * [homekit] Audit (xtro) fixes (#2653) - HMCharacteristicEvent conforms to NSMutableCopying on iOS11 which makes it 64 bits only (so adjust intro tests) - Ignore extra setters on HMMutablePresenceEvent, rdar 33883958 !missing-selector! HMMutablePresenceEvent::setPresenceEventType: not bound !missing-selector! HMMutablePresenceEvent::setPresenceUserType: not bound * [xtro] Add missing pinvoke to pending (#2662) - Bug 59422: [uikit] Missing UIContentSizeCategoryCompareToCategory & UIContentSizeCategoryIsAccessibilityCategory (https://bugzilla.xamarin.com/show_bug.cgi?id=59422) * Merge latest d15-3 fixes into xcode9 (#2660) * [msbuild] Re-added wildcard (*) expandsion for application-identifier in Entitlements.plist (#2186) Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=57119 * Bump mono (#2213) * Framework tests were still binding non-linked Simple class which errors now (#2216) (#2218) - Improve Makefile to rebuild when projects build with errors * Bump mono to get cecil fix for bug #56808. (#2222) https://bugzilla.xamarin.com/show_bug.cgi?id=56808 * [msbuild] Use @(ReferencePath) instead of @(ResolvedFiles) (#2188) (#2214) This allows things to work on both xbuild and msbuild. In xbuild, both lists are exactly the same and on msbuild, only @(ReferencePath) exists. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=55147 * NSActivityOptions.IdleDisplaySleepDisabled had wrong value (#2232) (#2239) This was due to an integer overflow. The original value was based on Int32 1 << 40 == 256 The correct value should be based on a UInt64. 1UL << 40 == 1099511627776 * [tests] Fix bug 57699 - [iOS]InternalsTest failure (Linkall) tests on device (#2243) Strip native debugging symbols should not be checked for debug builds * Bump mono to get fix for bug #57780. https://bugzilla.xamarin.com/show_bug.cgi?id=57780 * Update .gitmodules Change branch to d15-3 branch of mono * Bump maccore to get fix for bug #55064. https://bugzilla.xamarin.com/show_bug.cgi?id=55064 * [mono] Bump mono to get the head of cecil/mono-2017-04 and fix IsComObject #57919 Also fix #58789 [1], the typo in tools/mtouch/Tuning.cs showing in MT0000 errors instead MT2102. That's already in master and d15-4 mono bump includes: [2] commit 2a6502cee0df9de5198eafe7c8b5f6ac25106f34 (HEAD -> d15-3, origin/d15-3) Merge: 02457c20fcf 5e05cafc6f1 Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 10:04:06 2017 -0400 Merge pull request #5401 from marek-safar/com [Marshal.IsComObject] Make this predicate return false instead of thr… [3] commit 02457c20fcf57c0610e844d638eb1da82b5d1eb0 Merge: da80840ea55 73fd9a1b82e Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 09:59:06 2017 -0400 Merge pull request #5400 from spouliot/bump-cecil-58834-d15-3 [cecil] Bump to the head of the mono-2017-04 branch and pick the fix for bug #58834 References [1] https://bugzilla.xamarin.com/show_bug.cgi?id=58789 [2] https://bugzilla.xamarin.com/show_bug.cgi?id=57919 [3] https://bugzilla.xamarin.com/show_bug.cgi?id=58834 * [mtouch] Put 'mono_profiler_startup_log' in the symbol list. Fixes #58778. (#2501) We need the 'mono_profiler_startup_log' symbol when profiling is enabled, so make sure to add the symbol to the correct list of symbols we need. Previously we were passing `-u _mono_profiler_startup_log` to clang directly, which is fine, but not complete, since it does not write the symbol to the symbollist file (--symbollist=file), which means it wouldn't be preserved when the MSBuild tasks strip the executable. https://bugzilla.xamarin.com/show_bug.cgi?id=58778 * Bump versions for SR3 https://trello.com/c/EVze08ei * Bump mono to include HttpClientHandler fix #44027 https://trello.com/c/jYFXadH8/8-systemnethttp-close-request-stream-when-httpclienthandler https://bugzilla.xamarin.com/show_bug.cgi?id=44027 * [FileProvider] Add missing API and turn NSString to string (#2663) Turned NSString to string in order to match exisiting API. * [uikit] Add UIPasteConfigurationSupporting and UITextPasteConfigurationSupporting (#2649) - Fixes bug #59363: Missing UIPasteConfigurationSupporting, UITextPasteConfigurationSupporting, UITextDraggable and UITextDroppable on a couple of types (https://bugzilla.xamarin.com/show_bug.cgi?id=59363) * [uikit] Remove 129 types in UIPasteConfigurationSupporting case * [scenekit] Audit (xtro) fixes (#2648) This looks like an Apple breaking change (since `SCNAnimation` is new) but we now have: > typedef void (^SCNAnimationEventBlock)(id<SCNAnimation> animation, id animatedObject, BOOL playingBackward); bound as > delegate void SCNAnimationEventHandler (CAAnimation animation, NSObject animatedObject, bool playingBackward); and `CAAnimation` conforms to `SCNAnimation` but *only* the later is available on watchOS. The delegate is only updated (since it's new) on our watchOS profile. xtro references: (watchos) !unknown-protocol! SCNCameraControlConfiguration bound (tvos/watchos) !missing-selector! SCNAnimation::animationEvents not bound !missing-selector! SCNAnimation::setAnimationEvents: not bound !missing-selector! SCNConstraint::isEnabled not bound !missing-selector! SCNConstraint::setEnabled: not bound !missing-field! SCNSceneSourceConvertToYUpKey not bound !missing-field! SCNSceneSourceConvertUnitsToMetersKey not bound (ios/tvos) !missing-protocol-conformance! SCNNode should conform to UIFocusItem * Bump maccore post 15.3 merge (#2665) * Bump Xcode 9 to GM (#2667) * Force build (on wrench) * [avfoundation] Fix breaking changes (apidiff) (#2664) * [TVServices] Update to Xcode 9 GM (#2675) * [GameController] Update to Xcode 9 GM (#2673) * [LocalAuthentication] Update to Xcode 9 GM (#2671) * [LocalAuthentication] Update to Xcode 9 GM * Remove availability from BiometryNotAvailable, BiometryNotEnrolled and BiometryLockout * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer (#2659) * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer Some of the new added types were already present BUT under a #if MONOMAC, they had to be moved. * [AVFoundation] Set the wrongly added API to be obsolete and ensure it returns logical values. (#2650) * [xtro] The right platform for macOS is 'macos', not 'osx'. (#2677) The platform name is used to filter availability attributes, and if we use the wrong platform, we'll incorrectly skip all availability attributes. The net result in unclassified entries: https://gist.github.com/rolfbjarne/a4474bc2a40c49a85cad495b51bb514f * Various Xcode 9 API improvements and also fixes bug 59433 (#2676) https://bugzilla.xamarin.com/show_bug.cgi?id=59433 While fixing bug 59433 I noticed some additional issues outlined below: AVDepthData: * Renamed **non** static `Create` methods because `Create` only makes sense with the **Static** method in this context. Also by renaming the methods we are now closer to the names that swift uses. * Kept descriptive method names in favor of self-documenting code. `Convert`, `Apply` and `Replace` do not fully give us the intent of the method. * Added a convenience `Create` static method that takes a `CGImageAuxiliaryDataInfo`. * AvailableDepthDataTypes is now an array of `CVPixelFormatType` instead of a `NSNumber` array (The aactual fix for bug 59433). ImageIO: * Refactored `CGImageAuxiliaryDataInfo` to be a `StrongDictionary` in order to avoid most of the manual code and also to avoid reimplementing the `ToDictionary` method (which contained a subtle bug). * Adjusted code to reflect the above change. * Added missing `.ctor (IntPtr, bool)` to `CGImageMetadata` so the class is able to be created by our `Runtime.Get*`. * Simplified `CopyAuxiliaryDataInfo` method by using `CGImageAuxiliaryDataInfo` as a `DictionaryContainer`. Tests: * Added `xamarinmonkey.heic` which is an image that contains depth data needed to test above changes. * Adds `AVDepthDataTests` that touches most of the changes listed here. * Tweak the Simd-compatible matrices and vectors (#2668) * Rename them to be OpenTK.NMatrix# (instead of Simd.MatrixFloat#x#). * Remove the Vector2 and Vector4 variants, we'll use the OpenTK types instead (but we'll keep the NVector3 variant, since it's not identical to the OpenTK version). * Update the API to match their OpenTK counterparts better: * NMatrix2 and NMatrix3 have a 0-based R#C# scheme for their fields. * NMatrix4 has a 1-based M## scheme for its fields (i.e. no change). * [AVFoundation] Use Simd-matrix for API that needs it. (#2679) This also requires implementing the corresponding matrix (NMatrix4x3). Fixes this xtro issue: > !unknown-simd-type-in-signature! OpenTK.Matrix3 AVFoundation.AVCameraCalibrationData::get_GetIntrinsicMatrix(): the native signature has a simd type (matrix_float3x3), while the corresponding managed method is using an incorrect (non-simd) type. * [xtro] Fix checking availability on categories. (#2682) When checking for category availability, check if both the current declaration is a category, and if the current's declaration container is a category. Otherwise this scenario fails: * Category method is available. * Category does not have availability attributes. * Main class is unavailable. with this typical code sequence: ```csharp // don't process methods (or types) that are unavailable for the current platform if (!decl.IsAvailable () || !(decl.DeclContext as Decl).IsAvailable ()) return; ``` In which case we'd: * First check the method (`decl`): * It's available, so no further checks is done on the method. * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container's container is a category (it isn't, it's the namespace). and as such determine that the method is available. With this change, the second step will become: * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container is a category (it is), and if its main class is available (it isn't). and as such determine that the method is unavailable. * Check for attributes on the method's container (no attributes, so we continue). * Check if the method's Unclassified diff: https://gist.github.com/rolfbjarne/8fa80962596978a426eadf9b7ba39dc1 * [uikit] Update for Xcode 9 GM (#2670) * [AVFoundation] Implement AVCapturePhoto. Partially fixes #59388. (#2678) Fixes: > common.unclassified:!missing-type! AVCapturePhoto not bound https://bugzilla.xamarin.com/show_bug.cgi?id=59388 * Use strong dictionaries for AVCapturePhoto.Metadata and AVCapturePhoto.EmbeddedThumbnailPhotoFormat. * [SIMD] Implement Simd double types (VectorDouble3/MatrixDouble4x4). (#2632) The following types will be used by ModelIO bindings * Fix delta to be double * Rename Simd-compatible matrices and vectors to match our final naming. This also means removing the new Vector2 and Vector4 variants (but not Vector3). * [avfoundation] Remove AVAssetDownloadDelegate.DidLoadTimeRange since it was removed in one of the betas (#2687) * [foundation] Move NSUrlSessionMultipathServiceType to a file processed by the generator (for the availability attributes) (#2688) * [arkit] Update for Xcode 9 GM (#2681) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes (#2690) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes Type Changed: Intents.INCarSeatResolutionResult Removed methods: public static INCarSeatResolutionResult GetConfirmationRequired (INCarSeat valueToConfirm); public static INCarSeatResolutionResult GetSuccess (INCarSeat resolvedValue); * [avfoundation] Add missing protocol members and deprecations (#2691) !missing-protocol-member! AVCapturePhotoCaptureDelegate::captureOutput:didFinishProcessingPhoto:error: not found and the selector removed from PR#2687 was actually replaced with this one !missing-protocol-member! AVAssetDownloadDelegate::URLSession:aggregateAssetDownloadTask:didLoadTimeRange:totalTimeRangesLoaded:timeRangeExpectedToLoad:forMediaSelection: not found * [tests][xtro] Map some enums, more fix with protocols and update entries (#2692) * [Tests] Reenable dns tests on the watch. (#2674) * [arkit] Add ARBlendShapeLocationOptions strong dictionary (#2696) * [coreimage] Skip not yet bound filters added in Xcode9 (#2698) Tracked in https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * [Metal] Renamed MTLArgumentDescriptor.ArgumentDescriptor to Create, fixes bug 59498 (#2702) https://bugzilla.xamarin.com/show_bug.cgi?id=59498 From [argumentDescriptor docs](https://developer.apple.com/documentation/metal/mtlargumentdescriptor/2915746-argumentdescriptor?language=objc) > Creates an empty argument descriptor. * [msbuild] Always codesign app bundles if the codesign key is non-null (#2697) ...even if it is a simulator build. Turns out that starting with Xcode9, sim builds need to be codesigned for App Groups entitlements to work properly. Interestingly, the DetectSigningIdentity logic had a comment about needing to codesign simulator builds for some entitlements to work already starting with Xcode 8 but apparently the iOS targets did not respect this. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=59379 * [Foundation] Add NSProxy stub in order to workaround bug 59247 (#2693) https://bugzilla.xamarin.com/show_bug.cgi?id=59247 We need to have a better solution that removes all what NSProxy does not responds to. Right now this works because NSObject implements NSObject protocol just like NSProxy, but NSProxy responds to far less selectors hence doing it internal so it is not a breaking change when we provide the correct fix. * Keep NSProxy around and avoid XML linker description We need to keep NSProxy (avoid linking it) if WKNavigationDelegate or IWKNavigationDelegate is used. We know WKWebView will be there and can hold a reference to it. * [Xcode 9] Update Metal for GM (#2689) * [iosurface] IOSurface is not usable before iOS/tvOS 11. Fixes #59201 (#2706) Apple rejects apps that links with the previously private IOSurface.framework. We were not sure about this [1] and had it disabled (this is removed). However another bug stopped our adjustment logic [2] from being executed. This is needed since `clang` picks up the private framework if it does not find the public one (even when asking for a weak framework), [1] https://bugzilla.xamarin.com/show_bug.cgi?id=59201 [2] Added a while ago for JavascriptCore * Bump maccore to point to commit with the docs fix. (#2703) * Bump XI to 11.0.x (and XM to 3.99.9.x) (#2684) * fix typo
2017-09-16 00:53:16 +03:00
[Export ("screenSpaceAmbientOcclusionIntensity")]
nfloat ScreenSpaceAmbientOcclusionIntensity { get; set; }
[Watch (4, 0), TV (11, 0), Mac (10, 13, onlyOn64: true), iOS (11, 0)]
Merge xcode9 into d15-4[-xi] (#2710) * [FileProvider] Add Xcode 9 Beta 1, 2 & 3 Bindings (#2279) * [FileProvider] Add Xcode 9 Beta 1 Bindings * Better naming * Feedback not related to BindAs * [FileProvider] Removes BindAs, add manual code for it and updated to Beta 3 * [FileProvider] Implement feedback * [CoreSpotlight] Updated spotlight bindings for xcode 9 beta 3. (#2193) Updated spotlight bindings for xcode 9 beta 3. * Fix warning caused by duplicate (#2354) * [FileProviderUI] Add Xcode 9 Beta 1 to 3 bindings (#2356) * Bump to Xcode 9 beta 4 * [arkit] ARLightEstimate does not conform to NSCopying anymore (fix unit test) * [uikit] NSFileProviderExtension.ReparentItem got a new parameter in beta4 (fix unit test) * [coreimage] CIImageAccumulator init returns nil in beta 4 There's no header change to mention `init` is not allowed but it's not clear how this default initializer could be used. Also make public some other API to construct this type (outside of XM). It's not clear why there were `internal` as they are (at least now) part of the header files. * [photos] Add helpers when PHLivePhotoEditingOption/NSDictionary is null (to avoid ambiguous API) (#2360) Adding a strongly typed `PHLivePhotoEditingOption` (a strongly typed version of an `NSDictionary`) can cause a `CS0121` (call is ambiguous) since using a `null` argument is common (only one option exist so far). This PR adds overloads that makes the code nicer in such case, e.g. before Xcode9: > // null is used when no options are given > _foo.SaveLivePhoto (output, null, completion); current (Xcode 9) > // casting required to remove ambiguity with PHLivePhotoEditingOption > _foo.SaveLivePhoto (output, (NSDictionary)null, completion); with this PR > // no option, no argument > _foo.SaveLivePhoto (output, completion); The same applies to `PrepareLivePhotoForPlayback`. * [tests] Disable/tweak two tests that breaks on (almost) all Xcode updates Those tests were not added to validate xOS so just keep the parts that helps us (without constantly checking back the new break flavor) * Disable watchOS to check if this hides others issues * [mapkit] Update for beta 4 * [coredata] Update for beta 4 * [wkwebkit] Update for beta 4 Note: WKWindowFeatures.h is not compiled (part of the framework umbrella) and the `@interface WKWindowFeatures (WKPrivate)` sounds like it should not have been exposed (it's all fields starting with `_`) * [corelocation] Update for beta 4 * Revert "Disable watchOS to check if this hides others issues" This reverts commit fed2249fa43290a1956ab2fe0d48f83ab6db9711. * [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]: https://github.com/xamarin/xamarin-macios/blob/f5956d6cc1eb5dfa7bab16628cf282d40237f64e/src/generator.cs#L5985 * [FinderSync] Update to beta 4 (#2377) * [ImageIO] Update to Xcode 9 (#2353) * [PhotosUI] Move macOS photosui bindings out of photos.cs into photosui.cs (#2358) * [quicklook] Update up to beta 4 (#2374) * [uikit] UIDragInteraction & UIDragInteractionDelegate (Xcode 9 b1,2,3) (#2357) * [safariservices] Update up to beta 4 (#2380) * [coreanimation] Update to beta 4 (#2382) Apple removed (mistake?) some API in beta 1. Filed as rdar 33590997 Internal tracking in https://trello.com/c/J8BDDUV9/86-33590997-coreanimation-quartzcore-api-removals * [storekit] Update up to beta 4 (#2379) * [CoreML] Update to Xcode 9 Beta 4 (#2387) * [uikit] UICollectionView/UITableView Drag & Drop (Xcode 9 b1,2,3 & 4) (#2355) * Update code after radar 32929318 and 32897776 are fixed in b4 (#2394) * [xcode9 CoreAudio] New definitions from Beta1 to Beta3 (#2359) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 (#2397) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 https://bugzilla.xamarin.com/show_bug.cgi?id=58512 Created strong API (VNBarcodeSymbology) on the following properties * VNDetectBarcodesRequest.SupportedSymbologies * VNDetectBarcodesRequest.Symbologies * VNBarcodeObservation.Symbology * Remove modern C# because classic can't do it 😡 * [mediaplayer] Update up to beta 4 (#2388) * [watchkit] Update to beta 4 (#2398) * Bump Visual Studio for Mac max version (#2408) * [coreimage] Add CIBarcodeDescriptor and enabled missing API for VNBarcodeObservation. Fix #58197 (#2411) https://bugzilla.xamarin.com/show_bug.cgi?id=58197 * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 (#2407) * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 * [uikit] Fixes based on comments * [coreimage] CIImageAccumulator API fixes. Fix #58349 (#2412) * Obsolete the default `init`; * XM exposed some older APIs using `int` instead of `CIFormat`. This is fixed and old APIs are obsoleted; * Both new & old APIs are now using `CIFormat` for both XI and XM. https://bugzilla.xamarin.com/show_bug.cgi?id=58349 * [uikit] UIText drag & drop - up to Xcode 9 beta 4 (#2410) * [uikit] UISplitView & UIStackView up to Xcode 9 beta 4 (#2425) * Bump XI/XM versions before preview 4 (#2422) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 (#2378) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 * [PDFKit] Implement feedback * [PDFKit] the forgotten enum * [PDFKit] More feedback * [PDFKit] Add Mac changes * Missing change * Fix test RectangleF VS CGRect * Pass -Wunguarded-availability-new to quiet a new clang warning (#2424) - https://bugzilla.xamarin.com/show_bug.cgi?id=58574 * [mtouch/mmp] Ignore warnings about unguarded code section with regards to availability. (#2441) * [monotouch-test] Remove workaround for fixed Apple bug. (#2445) * Bump to Xcode 9 beta 5. (#2447) * Bump to Xcode 9 beta 5. * [mmp] Disable the partial static registrar, because Apple's macOS SDK is broken. > In file included from Xamarin.Mac.registrar.mobile.i386.m:1: > In file included from ./Xamarin.Mac.registrar.mobile.i386.h:11: > /Applications/Xcode9-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVFoundation.h:88:9: fatal error: 'AVFoundation/AVRouteDetector.h' file not found https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [mmp] Fix partial static registrar removal. * [CallKit] Update to Xcode 9 beta 5. * [ARKit] ARPointCloud doesn't conform to NSCopying anymore in Xcode 9 beta 5. * [ARKit] Update to Xcode 9 beta 5 enough to make tests happy. * [CoreImage] Stub out new filters in Xcode 9 beta 5. * [tests][monotouch] Simplify some MDLMesh asserts since values change a lot between OS versions. * [mmp] Default to the dynamic registrar for release builds again, due to bug #58629. https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [tests][introspection] CXCall started implementing NSCopying without saying so in the headers. * Disable mmp static registrar tests due to 58629 for now * [quicklook] Update to beta 5 (#2450) * [photos] Update for beta 5 (#2452) Also update some existing enum members were added in beta 1 on macOS * [safariservices] Update for beta 5 (#2455) * [mediaplayer] Update to beta 5 (#2456) * [CoreLocation] Update Xcode 9 Beta 5 (#2453) * [CoreML] Update to Xcode 9 Beta 5 (#2454) * [Contacts] Update to Xcode 9 Beta 5 (#2451) * [Vision] Update to Xcode 9 Beta 5 (#2458) * [builds] Tell LLVM to stay away from newer macOS functions. (#2459) Fixes this build problem on Sierra: > ld: weak import of symbol '_futimens' not supported because of option: -no_weak_imports for architecture x86_64 This is a symbol that was (will be?) introduced in High Sierra. Interestingly this only occurs if the Xcode 8.X Command Line Tools haven't been manually installed. Because if the Xcode 8.X Command Line Tools are installed, this happens: 1. llvm's configure script detects that 'futimens' is not usable. 2. llvm's configure script detects that 'futimens' is not usable, because xcrun sets SDKROOT=/ when calling clang. a. When the SDKROOT variable is set, clang passes '-syslibroot /usr/lib' to ld. b. When ld gets '-syslibroot /usr/lib', ld looks in '/usr/lib' for a library that contains 'futimens' in the OS itself, and since we're on Sierra, that fails to link. c. So when llvm's configure script creates a test program that checks if 'futimens' is present, the program fails. This is correct, and makes llvm *not* use futimens. 3. xcrun sets SDKROOT=/ because /usr/share/current-os.sdk/Info.plist exists. If that file does not exist, then xcrun sets SDKROOT to Xcode9's macOS SDK (because that's what xcode-select reports). a. When SDKROOT is set to Xcode9's macOS SDK, the configure check for 'futimens' succeeds, because the macOS 10.13 SDK contains that function. b. llvm happily uses 'futimens', and then the final link fails because we're using a symbol not available on all target platforms. * [arkit] Update for Xcode 9 beta 5 - Part 1 (#2460) * [tests] The container app for watchOS tests should be 64-bit. (#2463) * [xharness] watchOS tests need to run in a clean environment. Works around #58348. (#2462) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [xharness] It watchOS tests don't need to be clean anymore. Fixes #58348. (#2473) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [uikit] UIView/UIScrollView/UIViewController up to Xcode 9 beta 5 (#2431) - Add NSDirectionalEdgeInsets type. - Includes DirectionalEdgeInsetsTest. * [AudioToolbox] Update bindings to Xcode 9 beta3 (not later changes). (#2294) * [xharness] Add a file existence check. (#2478) Fixes this exception: ``` Harness exception for 'introspection': System.IO.FileNotFoundException: Could not find file '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log'. File name: '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log' at System.IO.__Error.WinIOError (System.Int32 errorCode, System.String maybeFullPath) [0x00207] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/__error.cs:188 at System.IO.FileInfo.get_Length () [0x00038] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/fileinfo.cs:171 at xharness.CaptureLog.StopCapture () [0x00021] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Log.cs:252 at (wrapper remoting-invoke-with-check) xharness.CaptureLog:StopCapture () at xharness.AppRunner+<RunAsync>d__68.MoveNext () [0x0127f] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/AppRunner.cs:642 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter`1[TResult].GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:357 at xharness.RunSimulatorTask+<RunTestAsync>d__7.MoveNext () [0x0029d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2894 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.RunTestTask+<ExecuteAsync>d__8.MoveNext () [0x0010b] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2538 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.TestTask+<RunInternalAsync>d__87.MoveNext () [0x0010d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:1870 ``` I'm not sure how this can happen, but it has on the bots [1]. [1] https://jenkins.mono-project.com/job/xamarin-macios-pr-builder/4548/Test_Report/ * Bump versions for preview 5 (#2479) * [passkit] Update to beta 5 (#2481) * [tests] Remove workaround for radar #32688391. (#2486) * [replaykit] Update up to beta 5 (#2484) * Bump maccore to get fix for bug #55064. (#2487) * [apidiff] Update definition to new 10.12 (d15-3) stable release (#2490) * [SceneKit] basic work (#2483) * [coredata] Update to beta 5 (#2488) * [homekit] Update for Xcode 9 beta 5 (#2492) * [Foundation] Update for xcode9 (#2468) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 (#2493) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 * [Intents] Implement feedback * [Intents] Add a generic version for INInteraction.GetParameterValue * [Intents] Missing check * [Contacts] Add missing foundation NSItemProviderWriting protocol to CNContact (#2496) https://bugzilla.xamarin.com/show_bug.cgi?id=58203 This is available on all Contacts supported platforms ``` ./iPhoneOS.platform/Developer/SDKs/iPhoneOS11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchOS.platform/Developer/SDKs/WatchOS4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchSimulator.platform/Developer/SDKs/WatchSimulator4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ``` * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) (#2497) * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) * [IntentsUI] Better use a delegate instead so we have named params * Bump versions before 6th preview (#2514) * [arkit] Add missing MarshalDirective to ARPlaneAnchor (#2517) - Fixes bug #58648: ARPlaneAnchor.Extent property seems incorrect but changes to correct value after Debug access (https://bugzilla.xamarin.com/show_bug.cgi?id=58648) * [xtro-sharpie] Fix a compiler warning. (#2516) Fixes these warnings: Runner.cs(197,5): warning CS0642: Possible mistaken empty statement Runner.cs(199,5): warning CS0642: Possible mistaken empty statement Runner.cs(201,5): warning CS0642: Possible mistaken empty statement Runner.cs(203,5): warning CS0642: Possible mistaken empty statement Runner.cs(205,5): warning CS0642: Possible mistaken empty statement * [uikit] Update for Xcode 9 beta 5 - Part 3 (#2511) - UIKeyCommand - UINavigationBar - UINavigationItem - UIPasteboard - UITableViewHeaderFooterView * [xtro-sharpie] Remove xtro-plugin and misc other fixes. (#2522) * [xtro-sharpie] Build with msbuild and be as quiet as requested when building. * [xtro-sharpie] Must run as a 64-bit process, since the required native libraries are 64-bit. * [xtro-sharpie] Add run configurations to the project file to ease debugging in the IDE. * [xtro-sharpie] Remove xtro-plugin and the related commands. This was needed when there wasn't a 64-bit mono, in order to run xtro-sharpie in a 64-bit process. Now there is a 64-bit mono, so it's not needed anymore. Also improve makefile targets a bit, to auto-build stuff when needed, by setting the right dependencies. * Bump Xcode 9 to beta 6 (#2519) Disable watchOS tests again It seems like the Carousel crash from beta 4 is back to haunt us. This was working fine with beta 5. * Backport d15-3 SR2 fixes (#2515) * [coredata] Update to beta 6 (#2528) This seems to only revert some nullability changes from beta 5. * [coreml] Update to beta 6 (#2531) Fix our rdar 33643011 where additional setters were added in the headers but did not exists. * [videosubscriberaccount] Update to beta 6 (#2533) Only b1 and b2 introduced some additions/changes * [uikit] Update for Xcode 9 beta 6 - Part 4 (#2527) The following headers are now up to date: - UICollectionViewFlowLayout.h - UIDocumentPickerViewController.h - UIFontDescriptor.h - UIImage.h - UIImageView.h - UIImagePickerController.h * [xharness] Re-enable the watchOS tests. (#2534) It works fine for me locally, so let's see what Jenkins says. * [macos] Add new APIs in CoreWlan from Xcode9b3 (#2525) * Update AppKit bindings based on radar 33271241 results (#2518) * Update AppKit bindings based on radar 33271241 results - The header comment was updated to note it was NSSliderTouchBarItem view that has the protocol * Remove NSUserInterfaceCompression where not listed in header * [vision] Update to beta 6 (#2532) Removal of some deprecated (during beta) `init*` selectors. Also sync the versions that were inlined in subclasses - the old ones were not removed and the new ones were not added. * [xtro-sharpie] Many methods don't have selectors in Clang's API, so default to the name if no selector. (#2523) This makes a few more unclassified entries show up (mostly missing designated initializers): https://gist.github.com/rolfbjarne/07aa20f9b50b75bf3e69ac6a825e873a * [macos] Add ExternalAccessory APIs from xcode9 (#2526) * [58851] Disable NSMenuView in AllItemsWithNSMenuShouldAllowNull (#2504) * [arkit] Update for Xcode 9 beta 5 - Part 2 (#2505) - Add last missing selector. - Add tests for manual code. * [monotouch-test] Disable FontDescriptorTest.WithFeature (#2537) Disabled because it looks like the tvOS font we use: "Gujarati Sangam MN" does not have rare ligatures anymore (and the entire test is based on it). Before getting an actual fix for that, let's disable the test so it doesn't break all current builds. See: https://bugzilla.xamarin.com/show_bug.cgi?id=58929 * [xtro-sharpie] Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute. (#2524) Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute to calculate the native name for a TypeDefinition. Unclassified changes: https://gist.github.com/rolfbjarne/828f8ee41eebb0a3b60a38d71822fe59 * [foundation/uikit] Inline NSItemProvider_UIKitAdditions in NSItemProvider (#2538) As suggested here: https://github.com/xamarin/xamarin-macios/pull/2527#discussion_r134670981 * [intents] Fix breaking changes (api-diff) (#2543) Additions of @required members inside `INSpeakable` cannot be `[Abstract]` * [contacts] Fix breaking change (api-diff) (#2542) Type Changed: Contacts.CNPostalAddress Removed method: public static string LocalizeProperty (CNPostalAddressKeyOption option); * [macos] Reenable static registrar since Xcode9b6 un-broke SDK headers (#2544) - Fix a subtle spacing issues in PartialStaticLibrary property * [corebluetooth] Update up to beta 6 and enable it on watchOS (#2540) macOS 10.13 has finally catch up with iOS and this simplifies the bindings a bit. * [foundation] API fixes (apidiff) (#2545) 1. Let's not add new, already [Obsolete] API Type Changed: Foundation.NSDimension Added constructors: [Obsolete ("Not intended to be directly instantiated, this is an abstract class.")] public NSDimension (); 2. Fix inconsistently named API, e.g. Type Changed: Foundation.NSAttributedString Added properties: public static string[] ReadableTypeIdentifiersForItemProvider { get; } public static string[] WritableTypeIdentifiers { get; } * [pdfkit] Do not add already [Obsolete] API in new profiles (#2547) and ensure using the newer, correct API works cross-platforms iOS (before) [Obsolete ("Use 'Find (string, NSStringCompareOptions)' instead.")] public virtual PdfSelection[] Find (string text, nint options); public PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'Find (string, PdfSelection, NSStringCompareOptions)' instead.")] public virtual PdfSelection Find (string text, PdfSelection selection, nint options); public void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string, NSStringCompareOptions)' instead.")] public virtual void FindAsync (string text, nint options); public void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string [], NSStringCompareOptions)' instead.")] public virtual void FindAsync (string[] text, nint options); iOS (after) public virtual PdfSelection[] Find (string text, Foundation.NSStringCompareOptions compareOptions); public virtual PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); * Bump versions for the 7th preview (#2541) * Remove additions of AVKit removed in beta5 (#2536) * NSUrlSessionTask should implement NSProgressReporting for iOS (#2548) NSUrlSessionTask implements NSProgressReporting on iOS as well as Mac, so the #if MONOMAC isn't needed. * Add missing availability attributes causing failures on older iOS versions (#2550) * [vision] Minor fix wrt xtro (#2551) including some things we need to ignore manually !missing-field! VNVisionVersionNumber not bound !missing-pinvoke! VNImagePointForFaceLandmarkPoint is not bound !missing-pinvoke! VNNormalizedFaceBoundingBoxPointForLandmarkPoint is not bound * [uikit] NSFileProviderMessaging was removed in beta 2. Fixes #58222 (#2552) reference: https://bugzilla.xamarin.com/show_bug.cgi?id=58222 * [uikit] Update for Xcode 9 - Part 5 (#2546) Bindings for the following headers: - UIActivity.h - UIActivityItemProvider.h - UIAlertController.h - UIApplication.h - UIBarButtonItem.h - UIButton.h - UICollectionViewLayout.h - UIColor.h - UIControl.h - UIDocumentMenuViewController.h - UIFontMetrics.h - UIGestureRecognizer.h - UIGraphicsImageRenderer.h - UIInputViewController.h * [CoreText] Fix an extraneous free in CTFont.GetDefaultCascadeList. (#2555) We do not own the return value from CFArrayGetValueAtIndex, so don't say we do when creating CTFontDescriptor instances, since that leads to angry dragons: 2017-08-28 20:15:20.293 monotouchtest[33186:2311738] A_FontTest 2017-08-28 20:15:20.294 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithFontDescriptorAndOptions 2017-08-28 20:15:20.295 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithNameAndOptions 2017-08-28 20:15:20.296 monotouchtest[33186:2311738] critical: Stacktrace: at <unknown> <0xffffffff> at (wrapper managed-to-native) CoreText.CTFont.CTFontCopyDefaultCascadeListForLanguages (intptr,intptr) [0x0000a] in <ae65a2b1eea242d2b68fe784749543bf>:0 at CoreText.CTFont.GetDefaultCascadeList (string[]) [0x00013] in /work/maccore/xcode9/xamarin-macios/src/CoreText/CTFont.cs:2185 at MonoTouchFixtures.CoreText.A_FontTest.GetCascadeList () [0x0001e] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/CoreText/FontTest.cs:78 at (wrapper runtime-invoke) object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) [0x0004f] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) System.Reflection.MonoMethod.InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&) [0x00016] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at System.Reflection.MonoMethod.Invoke (object,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo) [0x00032] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/corlib/System.Reflection/MonoMethod.cs:305 at System.Reflection.MethodBase.Invoke (object,object[]) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/referencesource/mscorlib/system/reflection/methodbase.cs:229 at NUnit.Framework.Internal.Reflect.InvokeMethod (System.Reflection.MethodInfo,object,object[]) [0x00009] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Reflect.cs:215 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunNonAsyncTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x00025] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:116 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x0001a] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:90 at NUnit.Framework.Internal.Commands.TestMethodCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:66 at NUnit.Framework.Internal.Commands.SetUpTearDownCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00007] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/SetUpTearDownCommand.cs:84 at NUnit.Framework.Internal.WorkItems.SimpleWorkItem.PerformWork () [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/SimpleWorkItem.cs:64 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at MonoTouch.NUnit.UI.BaseTouchRunner.Run (NUnit.Framework.Internal.Test) [0x0004d] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:442 at MonoTouch.NUnit.UI.BaseTouchRunner.Run () [0x00030] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:171 at MonoTouch.Dialog.StringElement.Selected (MonoTouch.Dialog.DialogViewController,UIKit.UITableView,Foundation.NSIndexPath) [0x00008] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/Elements.cs:765 at MonoTouch.Dialog.DialogViewController.Selected (Foundation.NSIndexPath) [0x00026] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:577 at MonoTouch.Dialog.DialogViewController/Source.RowSelected (UIKit.UITableView,Foundation.NSIndexPath) [0x00016] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:402 at (wrapper runtime-invoke) <Module>.runtime_invoke_void__this___object_object (object,intptr,intptr,intptr) [0x0005d] in <32f0c196c5bc4aa18daea2ee64a7814e>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) UIKit.UIApplication.UIApplicationMain (int,string[],intptr,intptr) [0x0005c] in <ae65a2b1eea242d2b68fe784749543bf>:0 at UIKit.UIApplication.Main (string[],intptr,intptr) [0x00005] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:79 at UIKit.UIApplication.Main (string[],string,string) [0x00038] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:63 at monotouchtest.Application.Main (string[]) [0x00011] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/Main.cs:27 at (wrapper runtime-invoke) <Module>.runtime_invoke_void_object (object,intptr,intptr,intptr) [0x00051] in <30a7f7e09de9467b8b454221034a0e38>:0 Native stacktrace: 0 monotouchtest 0x000000010fca03c4 mono_handle_native_crash + 244 1 monotouchtest 0x000000010fcadd30 mono_sigsegv_signal_handler + 288 2 libsystem_platform.dylib 0x000000011feb3b3a _sigtramp + 26 3 CoreFoundation 0x000000011de035a2 computeSanitizedString + 146 4 CoreText 0x00000001168df314 _ZN15TPurgeableCache19RetainedValueForKeyEPKv + 54 5 CoreText 0x00000001168def85 _ZNK17TDescriptorSource22CopyDescriptorUncachedEPK7__CFURLbPK10__CFString + 55 6 CoreText 0x00000001168df34f _ZNK17TDescriptorSource14CopyDescriptorEPK7__CFURLbPK10__CFString + 27 7 CoreText 0x00000001168e20ad _ZNK17TDescriptorSource35CopyFontDescriptorPerPostScriptNameEPK10__CFStringmm + 297 8 CoreText 0x00000001168dfd9e _ZNK17TDescriptorSource30CopySystemFontDescriptorByNameEPK10__CFString10UIFontFlag + 54 9 CoreText 0x00000001168e54c4 _ZNK14TFontFallbacks17CopyFontFallbacksEPK10__CFStringS2_PK9__CFArray + 652 10 CoreText 0x00000001168e4a00 _ZNK14TFontFallbacks29CopyFontFallbacksForLanguagesEPK10__CFStringPK9__CFArray + 122 11 CoreText 0x00000001168e4971 _ZN17TDescriptorSource39CopyDefaultSubstitutionListForLanguagesEPK10__CFStringPK9__CFArray + 61 12 CoreText 0x00000001169397a7 _ZNK9TBaseFont28CreateSystemDefaultFallbacksEPK10__CFStringPK9__CFArray + 51 13 CoreText 0x000000011693999c _ZNK9TBaseFont15CreateFallbacksE10UIFontFlagPPK16__CFCharacterSetPK9__CFArray + 346 14 CoreText 0x00000001168c1036 _ZNK5TFont24CreateDefaultCascadeListEPK9__CFArray + 242 15 CoreText 0x00000001168b8ff9 CTFontCopyDefaultCascadeListForLanguages + 97 16 ??? 0x0000000140eaefd3 0x0 + 5384105939 17 ??? 0x0000000140eae761 0x0 + 5384103777 18 ??? 0x000000013c9c8e74 0x0 + 5311860340 19 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 20 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 21 monotouchtest 0x000000010fd71bac mono_runtime_try_invoke_array + 1292 22 monotouchtest 0x000000010fd15587 ves_icall_InternalInvoke + 647 23 ??? 0x000000013e9fcd13 0x0 + 5345627411 24 ??? 0x000000013e9fc738 0x0 + 5345625912 25 ??? 0x000000013e9fded5 0x0 + 5345631957 26 ??? 0x000000013e9fbb76 0x0 + 5345622902 27 ??? 0x000000013e9e237e 0x0 + 5345518462 28 ??? 0x000000013e9e237e 0x0 + 5345518462 29 ??? 0x000000013e9e237e 0x0 + 5345518462 30 ??? 0x000000013e9e237e 0x0 + 5345518462 31 ??? 0x000000013e873006 0x0 + 5344014342 32 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 33 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 34 monotouchtest 0x000000010fd6e320 mono_runtime_invoke + 208 35 monotouchtest 0x000000010fe71af1 xamarin_invoke_trampoline + 5617 36 monotouchtest 0x000000010fe79ddd xamarin_arch_trampoline + 189 37 monotouchtest 0x000000010fe7b1a1 xamarin_x86_64_common_trampoline + 110 38 UIKit 0x0000000111b9876b -[UITableView _selectRowAtIndexPath:animated:scrollPosition:notifyDelegate:] + 1810 39 UIKit 0x0000000111b98986 -[UITableView _userSelectRowAtPendingSelectionIndexPath:] + 344 40 UIKit 0x0000000111a6b5c9 _runAfterCACommitDeferredBlocks + 318 41 UIKit 0x0000000111a59dad _cleanUpAfterCAFlushAndRunDeferredBlocks + 280 42 UIKit 0x0000000111a89f68 _afterCACommitHandler + 137 43 CoreFoundation 0x000000011de3ddb7 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23 44 CoreFoundation 0x000000011de3dd0e __CFRunLoopDoObservers + 430 45 CoreFoundation 0x000000011de22324 __CFRunLoopRun + 1572 46 CoreFoundation 0x000000011de21a89 CFRunLoopRunSpecific + 409 47 GraphicsServices 0x0000000121b7e9c6 GSEventRunModal + 62 48 UIKit 0x0000000111a5f7d0 UIApplicationMain + 159 49 ??? 0x000000013c9c4474 0x0 + 5311841396 50 ??? 0x000000013c9c40ad 0x0 + 5311840429 ================================================================= Got a SIGSEGV while executing native code. This usually indicates a fatal error in the mono runtime or one of the native libraries used by your application. ================================================================= * [monotouch-test] Don't subclass MKMapView. (#2556) MKMapView doesn't like being subclassed (Apple says "you should not subclass the MKMapView class itself"). Bad things like this starts happening: Thread 0 name: tid_303 Dispatch queue: com.apple.main-thread Thread 0 Crashed: 0 libsystem_kernel.dylib 0x0000000186b25348 __pthread_kill + 8 1 libsystem_pthread.dylib 0x0000000186c39354 pthread_kill$VARIANT$mp + 396 2 libsystem_c.dylib 0x0000000186a94fd8 abort + 140 3 monotouchtest 0x0000000101c02c14 mono_handle_native_crash + 22047764 (mini-exceptions.c:2548) 4 monotouchtest 0x0000000101c0d02c mono_sigsegv_signal_handler + 22089772 (mini-runtime.c:2886) 5 libsystem_platform.dylib 0x0000000186c33b60 _sigtramp + 52 6 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 7 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 8 CoreFoundation 0x0000000186eda51c -[__NSArrayM dealloc] + 68 9 CoreFoundation 0x000000018703f5c8 __CFBasicHashDrain + 312 10 CoreFoundation 0x0000000186fb5b44 _CFRelease + 224 11 CoreText 0x000000018a808404 TDescriptorSource::PurgeFontFallbacksCache+ 488452 () + 92 12 CoreText 0x000000018a808374 TDescriptorSource::PurgeFromCaches+ 488308 (__CFURL const*) const + 176 13 CoreText 0x000000018a7eec74 CTFontRemoveFromCaches + 168 14 VectorKit 0x0000000196a539b0 +[VKSharedResourcesManager removeResourceUser:] + 324 15 VectorKit 0x0000000196ca27a4 md::MapEngine::~MapEngine+ 2643876 () + 360 16 VectorKit 0x0000000196ca2634 md::MapEngine::~MapEngine+ 2643508 () + 12 17 libobjc.A.dylib 0x000000018651eef4 object_cxxDestructFromClass+ 28404 (objc_object*, objc_class*) + 148 18 libobjc.A.dylib 0x000000018652c638 objc_destructInstance + 88 19 libobjc.A.dylib 0x000000018652c690 object_dispose + 16 20 QuartzCore 0x000000018afca3ac -[CALayer dealloc] + 116 21 VectorKit 0x0000000196a43294 -[VKMapView dealloc] + 940 22 QuartzCore 0x000000018af6aafc CA::release_objects+ 744188 (X::List<void const*>*) + 32 23 QuartzCore 0x000000018afd97d8 CA::Layer::~Layer+ 1198040 () + 276 24 QuartzCore 0x000000018afca37c -[CALayer dealloc] + 68 25 QuartzCore 0x000000018af6b16c CA::Transaction::commit+ 745836 () + 1052 26 UIKit 0x0000000190393290 _afterCACommitHandler + 256 27 CoreFoundation 0x0000000186fb38b8 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 32 28 CoreFoundation 0x0000000186fb1270 __CFRunLoopDoObservers + 412 29 CoreFoundation 0x0000000186fb182c __CFRunLoopRun + 1292 30 CoreFoundation 0x0000000186ed22d8 CFRunLoopRunSpecific + 436 31 GraphicsServices 0x0000000188d58f84 GSEventRunModal + 100 32 UIKit 0x000000019040427c UIApplicationMain + 208 33 monotouchtest 0x000000010106eb90 wrapper_managed_to_native_UIKit_UIApplication_UIApplicationMain_int_string___intptr_intptr + 9907088 (/<unknown>:1) 34 monotouchtest 0x0000000100f0d6ac UIKit_UIApplication_Main_string___intptr_intptr + 8459948 (UIApplication.cs:79) 35 monotouchtest 0x0000000100f0d66c UIKit_UIApplication_Main_string___string_string + 8459884 (UIApplication.cs:63) 36 monotouchtest 0x0000000100b10450 monotouchtest_Application_Main_string__ + 4277328 (Main.cs:27) 37 monotouchtest 0x0000000100e0c244 wrapper_runtime_invoke_object_runtime_invoke_dynamic_intptr_intptr_intptr_intptr + 244 38 monotouchtest 0x0000000101c10048 mono_jit_runtime_invoke + 22102088 (mini-runtime.c:2526) 39 monotouchtest 0x0000000101c75eec do_runtime_invoke + 22519532 (object.c:2829) 40 monotouchtest 0x0000000101c78a3c do_exec_main_checked + 22530620 (object.c:4623) 41 monotouchtest 0x0000000101bf9a1c mono_jit_exec + 22010396 (driver.g.c:1040) 42 monotouchtest 0x0000000101d13d60 xamarin_main + 23166304 (monotouch-main.m:482) 43 monotouchtest 0x00000001007de710 main + 927504 (main.m:67) 44 libdyld.dylib 0x00000001869f656c start + 4 * [introspection] Let SkipDueToAttributeInProperty skip setters too (#2557) `SkipDueToAttributeInProperty` which is used to check the availability attribute of properties when the Availability info only exist on the property and not on the property Getter or Setter was wrong. This lead to `setSpringLoaded` (which was introduced in iOS 11) to not be ignored by the test (making it fail). - Fix bug #59085: [introspection-ios] selector not found for UIKit.UIBarButtonItem : setSpringLoaded: - Broken test (https://bugzilla.xamarin.com/show_bug.cgi?id=59085) * [corevideo][watchos] Enable CoreVideo on watchOS (#2553) * [storekit] Fix CampaignToken typo (#2559) (#2560) - Fixes bug #59078: StoreProductParameters and invalid property for CampaignToken (https://bugzilla.xamarin.com/show_bug.cgi?id=59078) * [coreml][watchos] Enable API using CoreVideo on watchOS. Fix #58097 (#2561) https://bugzilla.xamarin.com/show_bug.cgi?id=58097 * Add missing [MarshalDirective] attributes. (#2558) * [bindings-generator] Improve build & project file. * Add missing [MarshalDirective] attributes. Add missing [MarshalDirective] attributes, which also requires implementing support for out parameters in the binding generator, since one of the signatures missing the [MarshalDirective] contains such an out parameter. Also add tests for all the API I've added [MarshalDirective] to. * [bindings-generator] Remove redundant if check. * [monotouch-test] Rename file to end with 'Test.cs'. * [tests] Fix a few build errors for Xamarin.Mac. * [uikit] Fix UIColor and UIInputViewController tvOS availability (#2569) - Fixes introspection tests on tvOS 10. * [storekit] Fix SKCloudServiceSetupMessageIdentifier and SKProductStorePromotionController tvOS availability (#2568) - Fixes introspection tests on tvOS 10. * [mapkit] Fix MKMapItemTypeIdentifier tvOS availability (#2566) - Also remove double [Mac] availability attribute. - Fixes introspection tests on tvOS 10. * [ARKit] Fix marshalling for ARPointCloud.RawFeaturePoints. (#2565) ARPointCloud.RawFeaturePoints is an array of Vector3, but each vector is 16-byte aligned (as if it were an array of Vector4). This means we need to account for this when creating a managed array from pointer to the native C-style array. * [ModelIO] Fix MDLVoxelIndexExtent struct. (#2564) The MDLVoxelIndexExtent is a struct containing two 4-dimensional vectors of integers (not floats, as originally and incorrectly implemented). Fix this my creating a new MDLVoxelIndexExtent2 struct with the right fields, re-implement all the API that exposes this struct and obsolete the old API. Also add missing [MarshalDirective] attributes. And write a test to make sure it works fine now and forever. * [coredata] Enable new fields since rdar #33878590 is fixed w/beta 6 (#2570) reference: https://trello.com/c/dlSRYPFx * [xtro-sharpie] Add a Simd check class to verify signatures with Simd types. * [Simd] Add simd matrix types. The OpenTK matrices (Matrix2/3/4) has a different memory layout than Apple's matrix_float2x2/matrix_float3x3/matrix_float4x4 matrices: the OpenTK versions are row-major, while Apple's versions are column-major. This means that when blitting memory from one to the other, the matrix will appear to have been transposed. See bug #[58599][2] for an example. Unfortunately we've already bound several API with Apple's matrix_floatXxX matrices using OpenTK's matrices, and although they're bound wrong, and the matrices appear transposed on input/output, we can't change the behavior because we have to maintain compatibility. This means we have to introduce new API, and then also just define new matrix types with the right memory layout (column-major). Additionally, in the future we might be able to mark these matrices as Simd-matrixes, so that the JIT/AOT compiler can generate the correct alignment for them, avoiding having to define a native conversion method (using the [MarshalDirective] hack). The matrices have been designed to match API-wise the matrices in the System.Numerics.Vectors namespace [1], but for the moment with only a few basic operations implemented (Determinant/Transpose/Multiply) defined (we can always add more later if we want to). In addition explicit conversion operators to and from the corresponding OpenTK.MatrixX are implemented, which means any operation defined in the OpenTK matrices can be used by converting back and forth. [1]: https://msdn.microsoft.com/en-us/library/system.numerics.matrix4x4(v=vs.111).aspx [2]: https://bugzilla.xamarin.com/show_bug.cgi?id=58599 * [ARKit] Use the new Simd matrix types. * [Vision] Use the new Simd matrix types. * [ModelIO] Use the new Simd-compatible matrix types, and deprecate the old API. * [GameplayKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [SpriteKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [xtro] Don't report missing [MarshalDirective] for obsolete methods. * [xtro] Remove unnecessary ignores. The implementation changed, and these stayed accidentally. * [wkwebkit] Fix (native) protocol names (#2572) Also ignore xtro's WKSnapshotConfiguration since it's an Apple bug 34185961 reference (xtro) !missing-protocol! WKURLSchemeHandler not bound !missing-protocol! WKURLSchemeTask not bound !unknown-protocol! WKUrlSchemeHandler bound !unknown-protocol! WKUrlSchemeTask bound !unknown-type! WKSnapshotConfiguration bound * [uikit] Fix enums availability attributes (#2575) - Fixes bug #59132: [uikit] Extra types in watchOS (https://bugzilla.xamarin.com/show_bug.cgi?id=59132) * [watchkit] Add missing designated initializers (#2574) references (xtro) !missing-designated-initializer! WKInterfaceController::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! WKUserNotificationInterfaceController::init is missing an [DesignatedInitializer] attribute * [xtro] Reword some of the Simd diagnostic messages according to review. * [tests] Make sure test symbols don't clash between different test libraries. Fixes this build problem for framework-test: clang: error: linker command failed with exit code 1 (use -v to see invocation) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_get_rotation_matrix'. MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticObjectTest.framework/XStaticObjectTest (Location related to previous error) MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticArTest.framework/XStaticArTest(libtest-ar.x86_64.o) (Location related to previous error) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransformcomponent_get_local_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_create_global_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float4x4'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float3x3'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float2x2'. MTOUCH: error MT5209: Native linking error: 6 duplicate symbols for architecture x86_64 MTOUCH: error MT5202: Native linking failed. Please review the build log. * [tests] Since libtest.a need ModelIO now, the corresponding LinkWith attributes need to state that too. * [introspection] Don't check native signatures on obsolete members, and ignore the right simd matrix types. Fixes this introspection/Mac problem: ***** ApiSignatureTest.NativeSignatures Selector: uniformWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: uniformWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: uniformWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: setMatrixFloat2x2Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: setMatrixFloat3x3Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: setMatrixFloat4x4Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: initWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: initWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: initWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded * [monotouch-tests] Include more custom asserts for watchOS to make the build work. Fixes this: Simd/MatrixFloat4x4Test.cs(28,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(29,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(37,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(48,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' [...] * [monotouch-test] Exclude code that requires the binding project from xammac tests. Exclude code that requires the test binding project from xammac tests because there's currently no XM version of the test binding project. Fixes this: tests/monotouch-test/SpriteKit/UniformTest.cs(20,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLMaterialProperty.cs(37,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLTransform.cs(34,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) * Bump version for preview #8 (#2576) * [spritekit] Audit fixes (xtro) (#2577) 1. SKVideoNode is now, partially, available on watchOS and does not require the extra, manual code to swicth selectors depending on the OS version being run. !missing-type! SKVideoNode not bound !missing-selector! SKVideoNode::anchorPoint not bound !missing-selector! SKVideoNode::initWithCoder: not bound !missing-selector! SKVideoNode::initWithFileNamed: not bound !missing-selector! SKVideoNode::initWithURL: not bound !missing-selector! SKVideoNode::setAnchorPoint: not bound !missing-selector! SKVideoNode::setSize: not bound !missing-selector! SKVideoNode::size not bound !missing-selector! +SKVideoNode::videoNodeWithFileNamed: not bound !missing-selector! +SKVideoNode::videoNodeWithURL: not bound 2. SKNodeFocusBehavior is exposed needlessly on watchOS because SpriteKit/Enums.cs was not processed by the generator, so [NoWatch] did not matter. !unknown-native-enum! SKNodeFocusBehavior bound It's also visible on macOS but nothing uses it (so we do not expose it needlessly) !missing-enum! SKNodeFocusBehavior not bound 3. Add missing designated initializer on default `init` !missing-designated-initializer! SKAttributeValue::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! SKNode::init is missing an [DesignatedInitializer] attribute 4. Remove inconsistency for SKNode subclasses wrt XAMCORE_4_0 The trio attributeValues, setAttributeValues and setValue:forAttributeNamed: that was moved from SKNode (deprecated) into its subclasses. This was done using XAMCORE_4_0 but not on every subclasses. This adds them everywhere to be consistent (only SKNode versions are not defined in XAMCORE_4_0) !missing-selector! SKEffectNode::attributeValues not bound !missing-selector! SKEffectNode::setAttributeValues: not bound !missing-selector! SKEffectNode::setValue:forAttributeNamed: not bound !missing-selector! SKEffectNode::valueForAttributeNamed: not bound !missing-selector! SKEmitterNode::attributeValues not bound !missing-selector! SKEmitterNode::setAttributeValues: not bound !missing-selector! SKEmitterNode::setValue:forAttributeNamed: not bound !missing-selector! SKEmitterNode::valueForAttributeNamed: not bound !missing-selector! SKSpriteNode::attributeValues not bound !missing-selector! SKSpriteNode::setAttributeValues: not bound !missing-selector! SKSpriteNode::setValue:forAttributeNamed: not bound !missing-selector! SKSpriteNode::valueForAttributeNamed: not bound * [introspection] Make sure '[FAIL]' is printed before every failure. (#2578) This makes xharness able to list the failures in the inline summary. * [xtro] Reword some of the Simd diagnostic messages according to review. * [xharness] Add a missing IsServerMode check to generate correct html. (#2581) * [SpriteKit] SKTransformNode is new in Xcode 9 so no need to keep the broken (and obsolete) non-simd version of RotationMatrix. * [intents] Fix some (partial) xtro issues and #59156 (#2585) reference https://bugzilla.xamarin.com/show_bug.cgi?id=59156 Remaining issues are filled in https://bugzilla.xamarin.com/show_bug.cgi?id=59183 !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound * [Intents] Confirm* interface methods should be bound as Confirm, Fixes Bug 59164 (#2591) * [Intents] Confirm* interface methods should probably be bound as Confirm, Fixes Bug 59164 https://bugzilla.xamarin.com/show_bug.cgi?id=59164 All Confirm* methods from *IntentHandling interfaces should be named just `Confirm` to avoid confusion because most of them do not directly confirm as an acion, but instead they **ask** for confirmation also we would follow swift's naming by doing this. * [Intents] XAMCORE_4_0 all Confirm* methods from *IntentHandling Turns any Confirm* into just Confirm inside a XAMCORE_4_0 block, * [Intents] Fix breaking changes in Intents added in Xcode 9 Bindings (#2590) Apple added more protocol conformances to INRidesharingDomainHandling and INPaymentsDomainHandling protocols in Xcode 9, I introduced these breaking changes back when I did intents binding so fixing them :) * [Metal] New bindings from Xcode 9 betas (#2457) * [AVFoundation] Updated bindings for xcode9. (#2272) * [Xcode9] Add IOSurface bindings (#2363) * This framework was a private framework before iOS 11. This framework was a private framework before iOS 11, yet the headers claim many API were introduced in iOS 10. So take account of this difference by using the private framework location in iOS 10.3 or earlier. Testing these API from Xcode works fine when run on an iOS 10.3 device, and I've confirmed the IOSurface framework is loaded from the private frameworks path on older devices (and when built using Xcode 9 and linked with the public framework path). * Disable code to make IOSurface work on iOS 10. Disable the code to make IOSurface work on iOS 10, since it may be rejected by the App Store. This also means adjusting the availability attributes, so that the introspection tests pass (and to document that technically these API won't work when used with Xamarin.iOS in iOS 10). I've filed bug #[59201][1] to keep track of this, maybe we can re-enable this later. [1]: https://bugzilla.xamarin.com/show_bug.cgi?id=59201 * [CoreMedia] Fix leak in CMAttachmentBearer.GetAttachments. (#2593) The caller owns the return value from CMCopyDictionaryOfAttachments, so tell Runtime.GetNSObject that. * [Intents] Adds missing API found by xtro, fixes Bug 59183 (#2596) https://bugzilla.xamarin.com/show_bug.cgi?id=59183 Fixes !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !incorrect-protocol-member! INUIHostedViewControlling::configureWithInteraction:context:completion: is OPTIONAL and should NOT be abstract * [xtro] Fix StartWorkingDirectory to enable debugging (#2598) * [iosurface] Enable for tvOS and XM classic (to avoid multiple defines around consumer API) (#2597) * [xtro] Fix EnumCheck (#2600) * [ARKit] Rename a few method to make them nicer. (#2604) * DisplayTransform -> GetDisplayTransform since methods should have verbs. * SessionWasInterrupted -> WasInterrupted and SessionInterruptionEnded -> InterruptionEnded since these names match better with the other names (CameraDidChangeTrackingState / DidFail / DidOutputAudioSampleBuffer: none are prefixed with 'Session'). Additionally, the type is a Model (for the delegate pattern), which means all methods are more-or-less event-like, and the first argument is always the same (the protocol itself), which is another indicator the methods should be named similarly. * [Foundation] Remove 'Key' suffix from some fields. (#2606) Of the 168 fields in NSMetadataItem, only these 5 hadn't removed the 'Key' suffix. So make them all equivalent by removing the 'Key' suffix from these 5 fields. * [ImageIO] Fix API to not duplicate the instance in instance methods. (#2609) An instance method does not need to take the instance as a parameter, so remove the first (instance) parameter for CGImageDestination.AddAuxiliaryDataInfo and CGImageSource.CopyAuxiliaryDataInfo. An alternative solution would be to make the methods static, but I like the instance API better. * [UIKit] De-model UIDataSourceTranslating. (#2603) It's not clear from neither the documentation nor the headers how this protocol is supposed to be used, and since it doesn't correspond to the delegate pattern, remove the [Model] attribute for now. We can always add it back later. * [CoreML] Improve API. (#2592) * [CoreML] Improve API. * The indices, shape and stride properties for MLMultiArray and MLMultiArrayConstraint can logically only be arrays of integers, so type them as such. This means adding overloads for MLMultiArray's constructors, GetObject and SetObject methods, and the indexers that takes nint[] arrays instead of NSNumber[] arrays. * Change MLFeatureValue's static factory methods to be a method ('Create') instead of a preposition, and call all the different factory methods the same, since they can be overloaded nicely. * [tests][monotouch-test] Add version check to MLMultiArrayTest and make sure the arrays we create are big enough for the data we put in them. * [tests][monotouch-test] MLMultiArray's elements aren't zero-initialized, so don't assume that in the tests. * Support overloading Objective-C methods based on static/instance. (#2607) Two Objective-C methods can be named identically as long as one is static and the other instance. We must support this since Apple did just this (in the NSItemProviderReading / NSItemProviderWriting protocols). We solve it by prepending a '+' or '-' to the selector when hashing it (to determine selector uniqueness, and to look the method up again at runtime). * [uikit] Update for Xcode 9 - Part 6 (#2602) NSAttributedString.h NSFileProviderExtension.h NSLayoutAnchor.h UIAccessibility.h UIAccessibilityAdditions.h UIAccessibilityContainer.h UIAccessibilityContentSizeCategoryImageAdjusting.h UIAccessibilityCustomRotor.h UIAccessibilityLocationDescriptor.h UITabBar.h UINavigationBar.h UIScreen.h * Xcode9 scenekit (#2512) * [SceneKit] basic work * Added key * [xcode9] SCNCameraController * [xcode9] SCNCamera updates * [xcode9] SCNMaterial * [xcode9] SCNGeometryTessellator, SCNCameraControlConfiguration, SCNView, small bits * Add trailing commas to last enum value * Remove whitespace noise * [scenekit] Update deprecated attributes messages * Addresses some of Rolf's feedback * Drop the WeakDelegate in SCNCameraController * Rename method to Render, remove ctor from class that can not be constructed in Palygrounds, add typo exception * [AppKit] Rename NSBezierPath.AppendBezierPathWithCGGlyph to match its sibling methods. (#2605) NSBezierPath contains a lot of 'AppendPathWithXXX' methods, that all map to 'appendBezierPathXXX' selectors. So rename AppendBezierPathWithCGGlyph accordingly, to make it more similar to the other methods in the same type. * [uikit] Add all UISpringLoadedInteractionSupporting (#2616) Types do not conform to the protocol but protocol methods work on those types (see monotouch-test). Fixed introspection tests accordingly and tested the selectors in monotouch-test. * [Intents] Add convenience ctor overload and call correct base ctor in manual ctor. (#2613) Add a convenience constructor overload in INGetUserCurrentRestaurantReservationBookingsIntent that uses nint instead of NSNumber, since logically "number of results" will always be some sort of integer. Also call the correct base constructor in INSpeakableString's custom constructor (same as any other generated constructor). Otherwise we end up doing something like this: [[[INSpeakableString alloc] init] initWith ...], i.e. calling two different init methods. * [coreimage] Add new headers API up to beta 6 (#2601) Filters are not complete (ref: #57350) https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * Some new constants are not yet documented (type is known), so they are commented / ignored https://bugzilla.xamarin.com/show_bug.cgi?id=59296 * Filled bug for [Wrap] inside [Category] so strong dictionary helpers can be re-enabled later https://bugzilla.xamarin.com/show_bug.cgi?id=59294 * [foundation] xtro fixes for watchOS (#2586) !missing-enum! NSProcessInfoThermalState not bound !missing-field! NSProcessInfoThermalStateDidChangeNotification not bound !missing-selector! NSProcessInfo::thermalState not bound Headers are wrong and preferredPresentationStyle is not in tvOS and watchOS !missing-selector! NSItemProvider::preferredPresentationStyle not bound !missing-selector! NSItemProvider::setPreferredPresentationStyle: not bound * [uikit] Also remove UIPreferredPresentationStyle enum from platform where it's not used * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. (#2614) * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. * NSItemProviderWriting: * NSItemProviderReading: Implement correctly and completely by uncommenting commented out code. * NSMutableString: * NSAttributedString: remove inlined members, since these classes don't implement NSItemProviderReading / NSItemProviderWriting (according to the headers at least). * NSUrl: all platforms now seem to implement NSItemProviderReading / NSItemProviderWriting. * NSString: all platforms now seem to implement both NSItemProviderReading and NSItemProviderWriting * UIColor: * UIImage: Update inlined protocol members according to the latest beta. Additionally, due to the following conditions: * The protocols all have the correct members now. * In the API definition we tell the generator to inline members from a protocol by inheriting from the corresponding interface. * The generator doesn't inline static members from protocols. several 'new' keywords had to be added to silence a compiler warning that occurrs when we manually inline a static member, since the member would be included in the type both from the inherited interface and the manual implementation. * [Foundation] Comment out NSItemProviderWriting.GetItemProviderVisibility to avoid inlining/generating unusable methods. NSItemProviderWriting.GetItemProviderVisibility is an optional method, and none of the native classes that implements NSItemProviderWriting actually imlements the method. This means inlining the method in those classes ends up creating unusable API; so just comment out the method to avoid generating the unusable API. The introspection tests found this: [FAIL] Foundation.NSString : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Foundation.NSUrl : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Contacts.CNContact : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] MapKit.MKMapItem : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIColor : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIImage : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] iOSApiSelectorTest.ApiSelectorTest.StaticMethods : 6 errors found in 2348 static selector validated: See also https://bugzilla.xamarin.com/show_bug.cgi?id=59308 * [iosurface] Add missing [TV] attributes (#2619) * [opengles] Enable the new API using IOSurface (#2618) The symbol only exists inside device libraries, not on simulator, and the introspection tests were updated to ignore it. Part of https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [avfoundation][watchos] Enable AudioBufferList (fix #59145) + audit (xtro) (#2617) 1. AudioBufferList is part of CoreAudio (wrong namespace, which needs a few changes in the generator) and now available in watchOS 4 https://bugzilla.xamarin.com/show_bug.cgi?id=59145 2. Also fixes xtro found issues: !missing-type! AVAudioRecorder not bound !missing-selector! AVAudioRecorder::averagePowerForChannel: not bound !missing-selector! AVAudioRecorder::channelAssignments not bound !missing-selector! AVAudioRecorder::currentTime not bound !missing-selector! AVAudioRecorder::delegate not bound !missing-selector! AVAudioRecorder::deviceCurrentTime not bound !missing-selector! AVAudioRecorder::format not bound !missing-selector! AVAudioRecorder::initWithURL:format:error: not bound !missing-selector! AVAudioRecorder::initWithURL:settings:error: not bound !missing-selector! AVAudioRecorder::isMeteringEnabled not bound !missing-selector! AVAudioRecorder::isRecording not bound !missing-selector! AVAudioRecorder::peakPowerForChannel: not bound !missing-selector! AVAudioRecorder::recordAtTime: not bound !missing-selector! AVAudioRecorder::recordAtTime:forDuration: not bound !missing-selector! AVAudioRecorder::recordForDuration: not bound !missing-selector! AVAudioRecorder::setChannelAssignments: not bound !missing-selector! AVAudioRecorder::setDelegate: not bound !missing-selector! AVAudioRecorder::setMeteringEnabled: not bound !missing-selector! AVAudioRecorder::settings not bound !missing-selector! AVAudioRecorder::url not bound !missing-protocol! AVAudioRecorderDelegate not bound !missing-selector! AVAudioEngine::inputNode not bound !missing-selector! AVAudioEngine::manualRenderingBlock not bound !missing-selector! AVAudioInputNode::setManualRenderingInputPCMFormat:inputBlock: not bound !missing-selector! AVAudioPlayer::format not bound !missing-selector! AVAudioSession::requestRecordPermission: not bound !unknown-field! AVFileType3GPP bound !unknown-field! AVFileType3GPP2 bound !unknown-field! AVFileTypeAC3 bound !unknown-field! AVFileTypeAIFC bound !unknown-field! AVFileTypeAIFF bound !unknown-field! AVFileTypeAMR bound !unknown-field! AVFileTypeAVCI bound !unknown-field! AVFileTypeAppleM4A bound !unknown-field! AVFileTypeAppleM4V bound !unknown-field! AVFileTypeCoreAudioFormat bound !unknown-field! AVFileTypeDNG bound !unknown-field! AVFileTypeEnhancedAC3 bound !unknown-field! AVFileTypeHEIC bound !unknown-field! AVFileTypeHEIF bound !unknown-field! AVFileTypeJPEG bound !unknown-field! AVFileTypeMPEG4 bound !unknown-field! AVFileTypeMPEGLayer3 bound !unknown-field! AVFileTypeQuickTimeMovie bound !unknown-field! AVFileTypeSunAU bound !unknown-field! AVFileTypeTIFF bound !unknown-field! AVFileTypeWAVE bound * [Metal] Implement API using IOSurface now that IOSurface is implemented. Partially fixes #58054. (#2621) https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [PdfKit] Improve PdfAnnotation.QuadrilateralPoints binding by making it strongly typed. (#2620) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). (#2622) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). * [ARKit/Vision] Use the new simd vector types instead of the OpenTK versions. * [ModelIO] Use the new simd vectors in new API (MDLVoxelIndexExtent2). This way we won't have to create a MDLVoxelIndexExtent3 in the future. * [SpriteKit] Use the new simd vectors in new API. * [metal] Audit (xtro) based fixes (#2623) !extra-protocol-member! unexpected selector MTLArgumentEncoder::newArgumentEncoderForBufferAtIndex: found !extra-protocol-member! unexpected selector MTLComputeCommandEncoder::dispatchThreads:threadsPerThreadgroup: found macos-only !missing-field! MTLDeviceRemovalRequestedNotification not bound !missing-field! MTLDeviceWasAddedNotification not bound !missing-field! MTLDeviceWasRemovedNotification not bound !missing-pinvoke! MTLCopyAllDevices is not bound * [CloudKit] Update bindings to beta 6. (#2615) * [FileProvider] Turn NSFileProviderItemIdentifier enum into a static class, fixes bug 59329 (#2634) https://bugzilla.xamarin.com/show_bug.cgi?id=59329 At the time of binding NSFileProviderItemIdentifier it wasn't clear how it was supposed to be used, I mean apple provides two keys which I thought were the only possible values hence binding it as an smart enum. Unfortunately this wasn't the case and the user can use those two values provided from the SDK or their own NSString Identifier. Swift provides a wrapper unfortunately we can't do the same due to NSFileProviderItemIdentifier is used in the NSFileProviderItem protocol and we currently do not support changing signatures on them. * [mtouch] Teach mtouch about the 'IOSurface' framework for tvOS. Fixes #59333. (#2630) https://bugzilla.xamarin.com/show_bug.cgi?id=59333 * Bump Touch.Unit to get fix for API breakage. (#2631) spouliot/Touch.Unit@8f1e19d [NUnitOutputTextWriter] Reintroduce previous constructor to make sure we don't break binary ABI. spouliot/Touch.Unit@00b0c0b [NUnitOutputTextWriter] Don't write invalid xml comments. spouliot/Touch.Unit@de9fe20 [TouchRunner] Restore the original code path when not wrapping NUnit xml output. * [IOSurface] Add missing availability attributes for tvOS. (#2629) * Bump versions for preview 9 (#2624) * [AVFoundation] Add missing interface AVRouteDetector. (#2637) * [tests] Update xtro to reduce list sizes (#2636) * Skip OpenTK duplicate declaration (we can't change them); * Fix rule name change for ARKit / simd; * Add missing default initializer on `init` to pending actions; * Add note for AVPersistableContentKeyRequest changes wrt tvOS; * [ReplayKit] Make RPBroadcastActivityViewController.LoadBroadcastActivityViewController async-capable. (#2639) * [xcode9] More SceneKit bindings (#2633) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 (#2644) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 https://bugzilla.xamarin.com/show_bug.cgi?id=59380 vector_float3 is 16 bytes, which means the binding is incorrect, because Vector3 is 12 bytes, and our code does not that difference into account. * Add tests * [DeviceCheck] Disable default ctor for DCDevice. (#2642) It doesn't seem to be useful according to the documentation, since it appears that the only way to get an instance is to use the static CurrentDevice property. * [audiounit] Audit (xtro) fixes for tvOS (#2635) Availability attributes in non-generated files don't hide symbols/code. reference: !unknown-pinvoke! AudioUnitExtensionCopyComponentList bound !unknown-pinvoke! AudioUnitExtensionSetComponentList bound * [tests] Make sure tvOS tests don't use the (unexisting) API * [tests] Add all test project variations to tests-mac.sln (#2579) * [xharness] Make sure generated mac projects have different project guids. * [introspection] Change the project guid so that it doesn't match the dontlink-mac project guid. * [tests] Add all test project variations to tests-mac.sln. * [xharness] Fix else condition. * [FileProvider] Adds missing NSFileProviderPage constants, fixes bug 59297. (#2646) https://bugzilla.xamarin.com/show_bug.cgi?id=59297 Adds NSFileProviderInitialPageSortedByName and NSFileProviderInitialPageSortedByDate NSData constants * [Xcode9] Remove NSFileProviderMessage and NSFileProviderMessageInterface (#2647) APIs were removed in beta 2 * [Foundation/UIKit] Provide LoadObject[s] methods that return the expected type in the callback. Fixes #59049. (#2638) The callback for these LoadObject[s] methods take an INSItemProviderReading parameter. This tells our runtime that we must provide an instance of a managed object that implements this interface (but nothing else), so we create a `NSItemProviderReadingWrapper` instance, which complies with the API (since the wrapper type implements the corresponding interface). Unfortunately these methods are supposed to return an instance of the passed- in type, so in order to comply with this soft (documentation-only) requirement, provide a wrapper method that creates instances of the right types. https://bugzilla.xamarin.com/show_bug.cgi?id=59049 * [arkit] Ignore deprecated selectors (#2645) * [FileProvider] Adds missing protocol and keys from audit (#2652) ``` !missing-protocol! NSFileProviderServiceSource not bound !missing-field! NSFileProviderErrorCollidingItemKey not bound !missing-field! NSFileProviderErrorNonExistentItemIdentifierKey not bound !missing-field! NSFileProviderFavoriteRankUnranked not bound ``` Also adds `NSXpcListenerEndpoint` to foundation, needed by `NSFileProviderServiceSource` protocol. * [tests][xtro] Workaround xtro runner dupe entry exception and update data files (#2654) * [AVFoundation] Rename field to match others. (#2657) * [homekit] Audit (xtro) fixes (#2653) - HMCharacteristicEvent conforms to NSMutableCopying on iOS11 which makes it 64 bits only (so adjust intro tests) - Ignore extra setters on HMMutablePresenceEvent, rdar 33883958 !missing-selector! HMMutablePresenceEvent::setPresenceEventType: not bound !missing-selector! HMMutablePresenceEvent::setPresenceUserType: not bound * [xtro] Add missing pinvoke to pending (#2662) - Bug 59422: [uikit] Missing UIContentSizeCategoryCompareToCategory & UIContentSizeCategoryIsAccessibilityCategory (https://bugzilla.xamarin.com/show_bug.cgi?id=59422) * Merge latest d15-3 fixes into xcode9 (#2660) * [msbuild] Re-added wildcard (*) expandsion for application-identifier in Entitlements.plist (#2186) Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=57119 * Bump mono (#2213) * Framework tests were still binding non-linked Simple class which errors now (#2216) (#2218) - Improve Makefile to rebuild when projects build with errors * Bump mono to get cecil fix for bug #56808. (#2222) https://bugzilla.xamarin.com/show_bug.cgi?id=56808 * [msbuild] Use @(ReferencePath) instead of @(ResolvedFiles) (#2188) (#2214) This allows things to work on both xbuild and msbuild. In xbuild, both lists are exactly the same and on msbuild, only @(ReferencePath) exists. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=55147 * NSActivityOptions.IdleDisplaySleepDisabled had wrong value (#2232) (#2239) This was due to an integer overflow. The original value was based on Int32 1 << 40 == 256 The correct value should be based on a UInt64. 1UL << 40 == 1099511627776 * [tests] Fix bug 57699 - [iOS]InternalsTest failure (Linkall) tests on device (#2243) Strip native debugging symbols should not be checked for debug builds * Bump mono to get fix for bug #57780. https://bugzilla.xamarin.com/show_bug.cgi?id=57780 * Update .gitmodules Change branch to d15-3 branch of mono * Bump maccore to get fix for bug #55064. https://bugzilla.xamarin.com/show_bug.cgi?id=55064 * [mono] Bump mono to get the head of cecil/mono-2017-04 and fix IsComObject #57919 Also fix #58789 [1], the typo in tools/mtouch/Tuning.cs showing in MT0000 errors instead MT2102. That's already in master and d15-4 mono bump includes: [2] commit 2a6502cee0df9de5198eafe7c8b5f6ac25106f34 (HEAD -> d15-3, origin/d15-3) Merge: 02457c20fcf 5e05cafc6f1 Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 10:04:06 2017 -0400 Merge pull request #5401 from marek-safar/com [Marshal.IsComObject] Make this predicate return false instead of thr… [3] commit 02457c20fcf57c0610e844d638eb1da82b5d1eb0 Merge: da80840ea55 73fd9a1b82e Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 09:59:06 2017 -0400 Merge pull request #5400 from spouliot/bump-cecil-58834-d15-3 [cecil] Bump to the head of the mono-2017-04 branch and pick the fix for bug #58834 References [1] https://bugzilla.xamarin.com/show_bug.cgi?id=58789 [2] https://bugzilla.xamarin.com/show_bug.cgi?id=57919 [3] https://bugzilla.xamarin.com/show_bug.cgi?id=58834 * [mtouch] Put 'mono_profiler_startup_log' in the symbol list. Fixes #58778. (#2501) We need the 'mono_profiler_startup_log' symbol when profiling is enabled, so make sure to add the symbol to the correct list of symbols we need. Previously we were passing `-u _mono_profiler_startup_log` to clang directly, which is fine, but not complete, since it does not write the symbol to the symbollist file (--symbollist=file), which means it wouldn't be preserved when the MSBuild tasks strip the executable. https://bugzilla.xamarin.com/show_bug.cgi?id=58778 * Bump versions for SR3 https://trello.com/c/EVze08ei * Bump mono to include HttpClientHandler fix #44027 https://trello.com/c/jYFXadH8/8-systemnethttp-close-request-stream-when-httpclienthandler https://bugzilla.xamarin.com/show_bug.cgi?id=44027 * [FileProvider] Add missing API and turn NSString to string (#2663) Turned NSString to string in order to match exisiting API. * [uikit] Add UIPasteConfigurationSupporting and UITextPasteConfigurationSupporting (#2649) - Fixes bug #59363: Missing UIPasteConfigurationSupporting, UITextPasteConfigurationSupporting, UITextDraggable and UITextDroppable on a couple of types (https://bugzilla.xamarin.com/show_bug.cgi?id=59363) * [uikit] Remove 129 types in UIPasteConfigurationSupporting case * [scenekit] Audit (xtro) fixes (#2648) This looks like an Apple breaking change (since `SCNAnimation` is new) but we now have: > typedef void (^SCNAnimationEventBlock)(id<SCNAnimation> animation, id animatedObject, BOOL playingBackward); bound as > delegate void SCNAnimationEventHandler (CAAnimation animation, NSObject animatedObject, bool playingBackward); and `CAAnimation` conforms to `SCNAnimation` but *only* the later is available on watchOS. The delegate is only updated (since it's new) on our watchOS profile. xtro references: (watchos) !unknown-protocol! SCNCameraControlConfiguration bound (tvos/watchos) !missing-selector! SCNAnimation::animationEvents not bound !missing-selector! SCNAnimation::setAnimationEvents: not bound !missing-selector! SCNConstraint::isEnabled not bound !missing-selector! SCNConstraint::setEnabled: not bound !missing-field! SCNSceneSourceConvertToYUpKey not bound !missing-field! SCNSceneSourceConvertUnitsToMetersKey not bound (ios/tvos) !missing-protocol-conformance! SCNNode should conform to UIFocusItem * Bump maccore post 15.3 merge (#2665) * Bump Xcode 9 to GM (#2667) * Force build (on wrench) * [avfoundation] Fix breaking changes (apidiff) (#2664) * [TVServices] Update to Xcode 9 GM (#2675) * [GameController] Update to Xcode 9 GM (#2673) * [LocalAuthentication] Update to Xcode 9 GM (#2671) * [LocalAuthentication] Update to Xcode 9 GM * Remove availability from BiometryNotAvailable, BiometryNotEnrolled and BiometryLockout * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer (#2659) * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer Some of the new added types were already present BUT under a #if MONOMAC, they had to be moved. * [AVFoundation] Set the wrongly added API to be obsolete and ensure it returns logical values. (#2650) * [xtro] The right platform for macOS is 'macos', not 'osx'. (#2677) The platform name is used to filter availability attributes, and if we use the wrong platform, we'll incorrectly skip all availability attributes. The net result in unclassified entries: https://gist.github.com/rolfbjarne/a4474bc2a40c49a85cad495b51bb514f * Various Xcode 9 API improvements and also fixes bug 59433 (#2676) https://bugzilla.xamarin.com/show_bug.cgi?id=59433 While fixing bug 59433 I noticed some additional issues outlined below: AVDepthData: * Renamed **non** static `Create` methods because `Create` only makes sense with the **Static** method in this context. Also by renaming the methods we are now closer to the names that swift uses. * Kept descriptive method names in favor of self-documenting code. `Convert`, `Apply` and `Replace` do not fully give us the intent of the method. * Added a convenience `Create` static method that takes a `CGImageAuxiliaryDataInfo`. * AvailableDepthDataTypes is now an array of `CVPixelFormatType` instead of a `NSNumber` array (The aactual fix for bug 59433). ImageIO: * Refactored `CGImageAuxiliaryDataInfo` to be a `StrongDictionary` in order to avoid most of the manual code and also to avoid reimplementing the `ToDictionary` method (which contained a subtle bug). * Adjusted code to reflect the above change. * Added missing `.ctor (IntPtr, bool)` to `CGImageMetadata` so the class is able to be created by our `Runtime.Get*`. * Simplified `CopyAuxiliaryDataInfo` method by using `CGImageAuxiliaryDataInfo` as a `DictionaryContainer`. Tests: * Added `xamarinmonkey.heic` which is an image that contains depth data needed to test above changes. * Adds `AVDepthDataTests` that touches most of the changes listed here. * Tweak the Simd-compatible matrices and vectors (#2668) * Rename them to be OpenTK.NMatrix# (instead of Simd.MatrixFloat#x#). * Remove the Vector2 and Vector4 variants, we'll use the OpenTK types instead (but we'll keep the NVector3 variant, since it's not identical to the OpenTK version). * Update the API to match their OpenTK counterparts better: * NMatrix2 and NMatrix3 have a 0-based R#C# scheme for their fields. * NMatrix4 has a 1-based M## scheme for its fields (i.e. no change). * [AVFoundation] Use Simd-matrix for API that needs it. (#2679) This also requires implementing the corresponding matrix (NMatrix4x3). Fixes this xtro issue: > !unknown-simd-type-in-signature! OpenTK.Matrix3 AVFoundation.AVCameraCalibrationData::get_GetIntrinsicMatrix(): the native signature has a simd type (matrix_float3x3), while the corresponding managed method is using an incorrect (non-simd) type. * [xtro] Fix checking availability on categories. (#2682) When checking for category availability, check if both the current declaration is a category, and if the current's declaration container is a category. Otherwise this scenario fails: * Category method is available. * Category does not have availability attributes. * Main class is unavailable. with this typical code sequence: ```csharp // don't process methods (or types) that are unavailable for the current platform if (!decl.IsAvailable () || !(decl.DeclContext as Decl).IsAvailable ()) return; ``` In which case we'd: * First check the method (`decl`): * It's available, so no further checks is done on the method. * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container's container is a category (it isn't, it's the namespace). and as such determine that the method is available. With this change, the second step will become: * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container is a category (it is), and if its main class is available (it isn't). and as such determine that the method is unavailable. * Check for attributes on the method's container (no attributes, so we continue). * Check if the method's Unclassified diff: https://gist.github.com/rolfbjarne/8fa80962596978a426eadf9b7ba39dc1 * [uikit] Update for Xcode 9 GM (#2670) * [AVFoundation] Implement AVCapturePhoto. Partially fixes #59388. (#2678) Fixes: > common.unclassified:!missing-type! AVCapturePhoto not bound https://bugzilla.xamarin.com/show_bug.cgi?id=59388 * Use strong dictionaries for AVCapturePhoto.Metadata and AVCapturePhoto.EmbeddedThumbnailPhotoFormat. * [SIMD] Implement Simd double types (VectorDouble3/MatrixDouble4x4). (#2632) The following types will be used by ModelIO bindings * Fix delta to be double * Rename Simd-compatible matrices and vectors to match our final naming. This also means removing the new Vector2 and Vector4 variants (but not Vector3). * [avfoundation] Remove AVAssetDownloadDelegate.DidLoadTimeRange since it was removed in one of the betas (#2687) * [foundation] Move NSUrlSessionMultipathServiceType to a file processed by the generator (for the availability attributes) (#2688) * [arkit] Update for Xcode 9 GM (#2681) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes (#2690) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes Type Changed: Intents.INCarSeatResolutionResult Removed methods: public static INCarSeatResolutionResult GetConfirmationRequired (INCarSeat valueToConfirm); public static INCarSeatResolutionResult GetSuccess (INCarSeat resolvedValue); * [avfoundation] Add missing protocol members and deprecations (#2691) !missing-protocol-member! AVCapturePhotoCaptureDelegate::captureOutput:didFinishProcessingPhoto:error: not found and the selector removed from PR#2687 was actually replaced with this one !missing-protocol-member! AVAssetDownloadDelegate::URLSession:aggregateAssetDownloadTask:didLoadTimeRange:totalTimeRangesLoaded:timeRangeExpectedToLoad:forMediaSelection: not found * [tests][xtro] Map some enums, more fix with protocols and update entries (#2692) * [Tests] Reenable dns tests on the watch. (#2674) * [arkit] Add ARBlendShapeLocationOptions strong dictionary (#2696) * [coreimage] Skip not yet bound filters added in Xcode9 (#2698) Tracked in https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * [Metal] Renamed MTLArgumentDescriptor.ArgumentDescriptor to Create, fixes bug 59498 (#2702) https://bugzilla.xamarin.com/show_bug.cgi?id=59498 From [argumentDescriptor docs](https://developer.apple.com/documentation/metal/mtlargumentdescriptor/2915746-argumentdescriptor?language=objc) > Creates an empty argument descriptor. * [msbuild] Always codesign app bundles if the codesign key is non-null (#2697) ...even if it is a simulator build. Turns out that starting with Xcode9, sim builds need to be codesigned for App Groups entitlements to work properly. Interestingly, the DetectSigningIdentity logic had a comment about needing to codesign simulator builds for some entitlements to work already starting with Xcode 8 but apparently the iOS targets did not respect this. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=59379 * [Foundation] Add NSProxy stub in order to workaround bug 59247 (#2693) https://bugzilla.xamarin.com/show_bug.cgi?id=59247 We need to have a better solution that removes all what NSProxy does not responds to. Right now this works because NSObject implements NSObject protocol just like NSProxy, but NSProxy responds to far less selectors hence doing it internal so it is not a breaking change when we provide the correct fix. * Keep NSProxy around and avoid XML linker description We need to keep NSProxy (avoid linking it) if WKNavigationDelegate or IWKNavigationDelegate is used. We know WKWebView will be there and can hold a reference to it. * [Xcode 9] Update Metal for GM (#2689) * [iosurface] IOSurface is not usable before iOS/tvOS 11. Fixes #59201 (#2706) Apple rejects apps that links with the previously private IOSurface.framework. We were not sure about this [1] and had it disabled (this is removed). However another bug stopped our adjustment logic [2] from being executed. This is needed since `clang` picks up the private framework if it does not find the public one (even when asking for a weak framework), [1] https://bugzilla.xamarin.com/show_bug.cgi?id=59201 [2] Added a while ago for JavascriptCore * Bump maccore to point to commit with the docs fix. (#2703) * Bump XI to 11.0.x (and XM to 3.99.9.x) (#2684) * fix typo
2017-09-16 00:53:16 +03:00
[Export ("screenSpaceAmbientOcclusionRadius")]
nfloat ScreenSpaceAmbientOcclusionRadius { get; set; }
[Watch (4, 0), TV (11, 0), Mac (10, 13, onlyOn64: true), iOS (11, 0)]
Merge xcode9 into d15-4[-xi] (#2710) * [FileProvider] Add Xcode 9 Beta 1, 2 & 3 Bindings (#2279) * [FileProvider] Add Xcode 9 Beta 1 Bindings * Better naming * Feedback not related to BindAs * [FileProvider] Removes BindAs, add manual code for it and updated to Beta 3 * [FileProvider] Implement feedback * [CoreSpotlight] Updated spotlight bindings for xcode 9 beta 3. (#2193) Updated spotlight bindings for xcode 9 beta 3. * Fix warning caused by duplicate (#2354) * [FileProviderUI] Add Xcode 9 Beta 1 to 3 bindings (#2356) * Bump to Xcode 9 beta 4 * [arkit] ARLightEstimate does not conform to NSCopying anymore (fix unit test) * [uikit] NSFileProviderExtension.ReparentItem got a new parameter in beta4 (fix unit test) * [coreimage] CIImageAccumulator init returns nil in beta 4 There's no header change to mention `init` is not allowed but it's not clear how this default initializer could be used. Also make public some other API to construct this type (outside of XM). It's not clear why there were `internal` as they are (at least now) part of the header files. * [photos] Add helpers when PHLivePhotoEditingOption/NSDictionary is null (to avoid ambiguous API) (#2360) Adding a strongly typed `PHLivePhotoEditingOption` (a strongly typed version of an `NSDictionary`) can cause a `CS0121` (call is ambiguous) since using a `null` argument is common (only one option exist so far). This PR adds overloads that makes the code nicer in such case, e.g. before Xcode9: > // null is used when no options are given > _foo.SaveLivePhoto (output, null, completion); current (Xcode 9) > // casting required to remove ambiguity with PHLivePhotoEditingOption > _foo.SaveLivePhoto (output, (NSDictionary)null, completion); with this PR > // no option, no argument > _foo.SaveLivePhoto (output, completion); The same applies to `PrepareLivePhotoForPlayback`. * [tests] Disable/tweak two tests that breaks on (almost) all Xcode updates Those tests were not added to validate xOS so just keep the parts that helps us (without constantly checking back the new break flavor) * Disable watchOS to check if this hides others issues * [mapkit] Update for beta 4 * [coredata] Update for beta 4 * [wkwebkit] Update for beta 4 Note: WKWindowFeatures.h is not compiled (part of the framework umbrella) and the `@interface WKWindowFeatures (WKPrivate)` sounds like it should not have been exposed (it's all fields starting with `_`) * [corelocation] Update for beta 4 * Revert "Disable watchOS to check if this hides others issues" This reverts commit fed2249fa43290a1956ab2fe0d48f83ab6db9711. * [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]: https://github.com/xamarin/xamarin-macios/blob/f5956d6cc1eb5dfa7bab16628cf282d40237f64e/src/generator.cs#L5985 * [FinderSync] Update to beta 4 (#2377) * [ImageIO] Update to Xcode 9 (#2353) * [PhotosUI] Move macOS photosui bindings out of photos.cs into photosui.cs (#2358) * [quicklook] Update up to beta 4 (#2374) * [uikit] UIDragInteraction & UIDragInteractionDelegate (Xcode 9 b1,2,3) (#2357) * [safariservices] Update up to beta 4 (#2380) * [coreanimation] Update to beta 4 (#2382) Apple removed (mistake?) some API in beta 1. Filed as rdar 33590997 Internal tracking in https://trello.com/c/J8BDDUV9/86-33590997-coreanimation-quartzcore-api-removals * [storekit] Update up to beta 4 (#2379) * [CoreML] Update to Xcode 9 Beta 4 (#2387) * [uikit] UICollectionView/UITableView Drag & Drop (Xcode 9 b1,2,3 & 4) (#2355) * Update code after radar 32929318 and 32897776 are fixed in b4 (#2394) * [xcode9 CoreAudio] New definitions from Beta1 to Beta3 (#2359) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 (#2397) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 https://bugzilla.xamarin.com/show_bug.cgi?id=58512 Created strong API (VNBarcodeSymbology) on the following properties * VNDetectBarcodesRequest.SupportedSymbologies * VNDetectBarcodesRequest.Symbologies * VNBarcodeObservation.Symbology * Remove modern C# because classic can't do it 😡 * [mediaplayer] Update up to beta 4 (#2388) * [watchkit] Update to beta 4 (#2398) * Bump Visual Studio for Mac max version (#2408) * [coreimage] Add CIBarcodeDescriptor and enabled missing API for VNBarcodeObservation. Fix #58197 (#2411) https://bugzilla.xamarin.com/show_bug.cgi?id=58197 * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 (#2407) * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 * [uikit] Fixes based on comments * [coreimage] CIImageAccumulator API fixes. Fix #58349 (#2412) * Obsolete the default `init`; * XM exposed some older APIs using `int` instead of `CIFormat`. This is fixed and old APIs are obsoleted; * Both new & old APIs are now using `CIFormat` for both XI and XM. https://bugzilla.xamarin.com/show_bug.cgi?id=58349 * [uikit] UIText drag & drop - up to Xcode 9 beta 4 (#2410) * [uikit] UISplitView & UIStackView up to Xcode 9 beta 4 (#2425) * Bump XI/XM versions before preview 4 (#2422) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 (#2378) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 * [PDFKit] Implement feedback * [PDFKit] the forgotten enum * [PDFKit] More feedback * [PDFKit] Add Mac changes * Missing change * Fix test RectangleF VS CGRect * Pass -Wunguarded-availability-new to quiet a new clang warning (#2424) - https://bugzilla.xamarin.com/show_bug.cgi?id=58574 * [mtouch/mmp] Ignore warnings about unguarded code section with regards to availability. (#2441) * [monotouch-test] Remove workaround for fixed Apple bug. (#2445) * Bump to Xcode 9 beta 5. (#2447) * Bump to Xcode 9 beta 5. * [mmp] Disable the partial static registrar, because Apple's macOS SDK is broken. > In file included from Xamarin.Mac.registrar.mobile.i386.m:1: > In file included from ./Xamarin.Mac.registrar.mobile.i386.h:11: > /Applications/Xcode9-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVFoundation.h:88:9: fatal error: 'AVFoundation/AVRouteDetector.h' file not found https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [mmp] Fix partial static registrar removal. * [CallKit] Update to Xcode 9 beta 5. * [ARKit] ARPointCloud doesn't conform to NSCopying anymore in Xcode 9 beta 5. * [ARKit] Update to Xcode 9 beta 5 enough to make tests happy. * [CoreImage] Stub out new filters in Xcode 9 beta 5. * [tests][monotouch] Simplify some MDLMesh asserts since values change a lot between OS versions. * [mmp] Default to the dynamic registrar for release builds again, due to bug #58629. https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [tests][introspection] CXCall started implementing NSCopying without saying so in the headers. * Disable mmp static registrar tests due to 58629 for now * [quicklook] Update to beta 5 (#2450) * [photos] Update for beta 5 (#2452) Also update some existing enum members were added in beta 1 on macOS * [safariservices] Update for beta 5 (#2455) * [mediaplayer] Update to beta 5 (#2456) * [CoreLocation] Update Xcode 9 Beta 5 (#2453) * [CoreML] Update to Xcode 9 Beta 5 (#2454) * [Contacts] Update to Xcode 9 Beta 5 (#2451) * [Vision] Update to Xcode 9 Beta 5 (#2458) * [builds] Tell LLVM to stay away from newer macOS functions. (#2459) Fixes this build problem on Sierra: > ld: weak import of symbol '_futimens' not supported because of option: -no_weak_imports for architecture x86_64 This is a symbol that was (will be?) introduced in High Sierra. Interestingly this only occurs if the Xcode 8.X Command Line Tools haven't been manually installed. Because if the Xcode 8.X Command Line Tools are installed, this happens: 1. llvm's configure script detects that 'futimens' is not usable. 2. llvm's configure script detects that 'futimens' is not usable, because xcrun sets SDKROOT=/ when calling clang. a. When the SDKROOT variable is set, clang passes '-syslibroot /usr/lib' to ld. b. When ld gets '-syslibroot /usr/lib', ld looks in '/usr/lib' for a library that contains 'futimens' in the OS itself, and since we're on Sierra, that fails to link. c. So when llvm's configure script creates a test program that checks if 'futimens' is present, the program fails. This is correct, and makes llvm *not* use futimens. 3. xcrun sets SDKROOT=/ because /usr/share/current-os.sdk/Info.plist exists. If that file does not exist, then xcrun sets SDKROOT to Xcode9's macOS SDK (because that's what xcode-select reports). a. When SDKROOT is set to Xcode9's macOS SDK, the configure check for 'futimens' succeeds, because the macOS 10.13 SDK contains that function. b. llvm happily uses 'futimens', and then the final link fails because we're using a symbol not available on all target platforms. * [arkit] Update for Xcode 9 beta 5 - Part 1 (#2460) * [tests] The container app for watchOS tests should be 64-bit. (#2463) * [xharness] watchOS tests need to run in a clean environment. Works around #58348. (#2462) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [xharness] It watchOS tests don't need to be clean anymore. Fixes #58348. (#2473) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [uikit] UIView/UIScrollView/UIViewController up to Xcode 9 beta 5 (#2431) - Add NSDirectionalEdgeInsets type. - Includes DirectionalEdgeInsetsTest. * [AudioToolbox] Update bindings to Xcode 9 beta3 (not later changes). (#2294) * [xharness] Add a file existence check. (#2478) Fixes this exception: ``` Harness exception for 'introspection': System.IO.FileNotFoundException: Could not find file '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log'. File name: '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log' at System.IO.__Error.WinIOError (System.Int32 errorCode, System.String maybeFullPath) [0x00207] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/__error.cs:188 at System.IO.FileInfo.get_Length () [0x00038] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/fileinfo.cs:171 at xharness.CaptureLog.StopCapture () [0x00021] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Log.cs:252 at (wrapper remoting-invoke-with-check) xharness.CaptureLog:StopCapture () at xharness.AppRunner+<RunAsync>d__68.MoveNext () [0x0127f] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/AppRunner.cs:642 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter`1[TResult].GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:357 at xharness.RunSimulatorTask+<RunTestAsync>d__7.MoveNext () [0x0029d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2894 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.RunTestTask+<ExecuteAsync>d__8.MoveNext () [0x0010b] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2538 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.TestTask+<RunInternalAsync>d__87.MoveNext () [0x0010d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:1870 ``` I'm not sure how this can happen, but it has on the bots [1]. [1] https://jenkins.mono-project.com/job/xamarin-macios-pr-builder/4548/Test_Report/ * Bump versions for preview 5 (#2479) * [passkit] Update to beta 5 (#2481) * [tests] Remove workaround for radar #32688391. (#2486) * [replaykit] Update up to beta 5 (#2484) * Bump maccore to get fix for bug #55064. (#2487) * [apidiff] Update definition to new 10.12 (d15-3) stable release (#2490) * [SceneKit] basic work (#2483) * [coredata] Update to beta 5 (#2488) * [homekit] Update for Xcode 9 beta 5 (#2492) * [Foundation] Update for xcode9 (#2468) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 (#2493) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 * [Intents] Implement feedback * [Intents] Add a generic version for INInteraction.GetParameterValue * [Intents] Missing check * [Contacts] Add missing foundation NSItemProviderWriting protocol to CNContact (#2496) https://bugzilla.xamarin.com/show_bug.cgi?id=58203 This is available on all Contacts supported platforms ``` ./iPhoneOS.platform/Developer/SDKs/iPhoneOS11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchOS.platform/Developer/SDKs/WatchOS4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchSimulator.platform/Developer/SDKs/WatchSimulator4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ``` * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) (#2497) * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) * [IntentsUI] Better use a delegate instead so we have named params * Bump versions before 6th preview (#2514) * [arkit] Add missing MarshalDirective to ARPlaneAnchor (#2517) - Fixes bug #58648: ARPlaneAnchor.Extent property seems incorrect but changes to correct value after Debug access (https://bugzilla.xamarin.com/show_bug.cgi?id=58648) * [xtro-sharpie] Fix a compiler warning. (#2516) Fixes these warnings: Runner.cs(197,5): warning CS0642: Possible mistaken empty statement Runner.cs(199,5): warning CS0642: Possible mistaken empty statement Runner.cs(201,5): warning CS0642: Possible mistaken empty statement Runner.cs(203,5): warning CS0642: Possible mistaken empty statement Runner.cs(205,5): warning CS0642: Possible mistaken empty statement * [uikit] Update for Xcode 9 beta 5 - Part 3 (#2511) - UIKeyCommand - UINavigationBar - UINavigationItem - UIPasteboard - UITableViewHeaderFooterView * [xtro-sharpie] Remove xtro-plugin and misc other fixes. (#2522) * [xtro-sharpie] Build with msbuild and be as quiet as requested when building. * [xtro-sharpie] Must run as a 64-bit process, since the required native libraries are 64-bit. * [xtro-sharpie] Add run configurations to the project file to ease debugging in the IDE. * [xtro-sharpie] Remove xtro-plugin and the related commands. This was needed when there wasn't a 64-bit mono, in order to run xtro-sharpie in a 64-bit process. Now there is a 64-bit mono, so it's not needed anymore. Also improve makefile targets a bit, to auto-build stuff when needed, by setting the right dependencies. * Bump Xcode 9 to beta 6 (#2519) Disable watchOS tests again It seems like the Carousel crash from beta 4 is back to haunt us. This was working fine with beta 5. * Backport d15-3 SR2 fixes (#2515) * [coredata] Update to beta 6 (#2528) This seems to only revert some nullability changes from beta 5. * [coreml] Update to beta 6 (#2531) Fix our rdar 33643011 where additional setters were added in the headers but did not exists. * [videosubscriberaccount] Update to beta 6 (#2533) Only b1 and b2 introduced some additions/changes * [uikit] Update for Xcode 9 beta 6 - Part 4 (#2527) The following headers are now up to date: - UICollectionViewFlowLayout.h - UIDocumentPickerViewController.h - UIFontDescriptor.h - UIImage.h - UIImageView.h - UIImagePickerController.h * [xharness] Re-enable the watchOS tests. (#2534) It works fine for me locally, so let's see what Jenkins says. * [macos] Add new APIs in CoreWlan from Xcode9b3 (#2525) * Update AppKit bindings based on radar 33271241 results (#2518) * Update AppKit bindings based on radar 33271241 results - The header comment was updated to note it was NSSliderTouchBarItem view that has the protocol * Remove NSUserInterfaceCompression where not listed in header * [vision] Update to beta 6 (#2532) Removal of some deprecated (during beta) `init*` selectors. Also sync the versions that were inlined in subclasses - the old ones were not removed and the new ones were not added. * [xtro-sharpie] Many methods don't have selectors in Clang's API, so default to the name if no selector. (#2523) This makes a few more unclassified entries show up (mostly missing designated initializers): https://gist.github.com/rolfbjarne/07aa20f9b50b75bf3e69ac6a825e873a * [macos] Add ExternalAccessory APIs from xcode9 (#2526) * [58851] Disable NSMenuView in AllItemsWithNSMenuShouldAllowNull (#2504) * [arkit] Update for Xcode 9 beta 5 - Part 2 (#2505) - Add last missing selector. - Add tests for manual code. * [monotouch-test] Disable FontDescriptorTest.WithFeature (#2537) Disabled because it looks like the tvOS font we use: "Gujarati Sangam MN" does not have rare ligatures anymore (and the entire test is based on it). Before getting an actual fix for that, let's disable the test so it doesn't break all current builds. See: https://bugzilla.xamarin.com/show_bug.cgi?id=58929 * [xtro-sharpie] Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute. (#2524) Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute to calculate the native name for a TypeDefinition. Unclassified changes: https://gist.github.com/rolfbjarne/828f8ee41eebb0a3b60a38d71822fe59 * [foundation/uikit] Inline NSItemProvider_UIKitAdditions in NSItemProvider (#2538) As suggested here: https://github.com/xamarin/xamarin-macios/pull/2527#discussion_r134670981 * [intents] Fix breaking changes (api-diff) (#2543) Additions of @required members inside `INSpeakable` cannot be `[Abstract]` * [contacts] Fix breaking change (api-diff) (#2542) Type Changed: Contacts.CNPostalAddress Removed method: public static string LocalizeProperty (CNPostalAddressKeyOption option); * [macos] Reenable static registrar since Xcode9b6 un-broke SDK headers (#2544) - Fix a subtle spacing issues in PartialStaticLibrary property * [corebluetooth] Update up to beta 6 and enable it on watchOS (#2540) macOS 10.13 has finally catch up with iOS and this simplifies the bindings a bit. * [foundation] API fixes (apidiff) (#2545) 1. Let's not add new, already [Obsolete] API Type Changed: Foundation.NSDimension Added constructors: [Obsolete ("Not intended to be directly instantiated, this is an abstract class.")] public NSDimension (); 2. Fix inconsistently named API, e.g. Type Changed: Foundation.NSAttributedString Added properties: public static string[] ReadableTypeIdentifiersForItemProvider { get; } public static string[] WritableTypeIdentifiers { get; } * [pdfkit] Do not add already [Obsolete] API in new profiles (#2547) and ensure using the newer, correct API works cross-platforms iOS (before) [Obsolete ("Use 'Find (string, NSStringCompareOptions)' instead.")] public virtual PdfSelection[] Find (string text, nint options); public PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'Find (string, PdfSelection, NSStringCompareOptions)' instead.")] public virtual PdfSelection Find (string text, PdfSelection selection, nint options); public void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string, NSStringCompareOptions)' instead.")] public virtual void FindAsync (string text, nint options); public void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string [], NSStringCompareOptions)' instead.")] public virtual void FindAsync (string[] text, nint options); iOS (after) public virtual PdfSelection[] Find (string text, Foundation.NSStringCompareOptions compareOptions); public virtual PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); * Bump versions for the 7th preview (#2541) * Remove additions of AVKit removed in beta5 (#2536) * NSUrlSessionTask should implement NSProgressReporting for iOS (#2548) NSUrlSessionTask implements NSProgressReporting on iOS as well as Mac, so the #if MONOMAC isn't needed. * Add missing availability attributes causing failures on older iOS versions (#2550) * [vision] Minor fix wrt xtro (#2551) including some things we need to ignore manually !missing-field! VNVisionVersionNumber not bound !missing-pinvoke! VNImagePointForFaceLandmarkPoint is not bound !missing-pinvoke! VNNormalizedFaceBoundingBoxPointForLandmarkPoint is not bound * [uikit] NSFileProviderMessaging was removed in beta 2. Fixes #58222 (#2552) reference: https://bugzilla.xamarin.com/show_bug.cgi?id=58222 * [uikit] Update for Xcode 9 - Part 5 (#2546) Bindings for the following headers: - UIActivity.h - UIActivityItemProvider.h - UIAlertController.h - UIApplication.h - UIBarButtonItem.h - UIButton.h - UICollectionViewLayout.h - UIColor.h - UIControl.h - UIDocumentMenuViewController.h - UIFontMetrics.h - UIGestureRecognizer.h - UIGraphicsImageRenderer.h - UIInputViewController.h * [CoreText] Fix an extraneous free in CTFont.GetDefaultCascadeList. (#2555) We do not own the return value from CFArrayGetValueAtIndex, so don't say we do when creating CTFontDescriptor instances, since that leads to angry dragons: 2017-08-28 20:15:20.293 monotouchtest[33186:2311738] A_FontTest 2017-08-28 20:15:20.294 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithFontDescriptorAndOptions 2017-08-28 20:15:20.295 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithNameAndOptions 2017-08-28 20:15:20.296 monotouchtest[33186:2311738] critical: Stacktrace: at <unknown> <0xffffffff> at (wrapper managed-to-native) CoreText.CTFont.CTFontCopyDefaultCascadeListForLanguages (intptr,intptr) [0x0000a] in <ae65a2b1eea242d2b68fe784749543bf>:0 at CoreText.CTFont.GetDefaultCascadeList (string[]) [0x00013] in /work/maccore/xcode9/xamarin-macios/src/CoreText/CTFont.cs:2185 at MonoTouchFixtures.CoreText.A_FontTest.GetCascadeList () [0x0001e] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/CoreText/FontTest.cs:78 at (wrapper runtime-invoke) object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) [0x0004f] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) System.Reflection.MonoMethod.InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&) [0x00016] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at System.Reflection.MonoMethod.Invoke (object,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo) [0x00032] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/corlib/System.Reflection/MonoMethod.cs:305 at System.Reflection.MethodBase.Invoke (object,object[]) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/referencesource/mscorlib/system/reflection/methodbase.cs:229 at NUnit.Framework.Internal.Reflect.InvokeMethod (System.Reflection.MethodInfo,object,object[]) [0x00009] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Reflect.cs:215 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunNonAsyncTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x00025] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:116 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x0001a] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:90 at NUnit.Framework.Internal.Commands.TestMethodCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:66 at NUnit.Framework.Internal.Commands.SetUpTearDownCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00007] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/SetUpTearDownCommand.cs:84 at NUnit.Framework.Internal.WorkItems.SimpleWorkItem.PerformWork () [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/SimpleWorkItem.cs:64 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at MonoTouch.NUnit.UI.BaseTouchRunner.Run (NUnit.Framework.Internal.Test) [0x0004d] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:442 at MonoTouch.NUnit.UI.BaseTouchRunner.Run () [0x00030] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:171 at MonoTouch.Dialog.StringElement.Selected (MonoTouch.Dialog.DialogViewController,UIKit.UITableView,Foundation.NSIndexPath) [0x00008] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/Elements.cs:765 at MonoTouch.Dialog.DialogViewController.Selected (Foundation.NSIndexPath) [0x00026] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:577 at MonoTouch.Dialog.DialogViewController/Source.RowSelected (UIKit.UITableView,Foundation.NSIndexPath) [0x00016] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:402 at (wrapper runtime-invoke) <Module>.runtime_invoke_void__this___object_object (object,intptr,intptr,intptr) [0x0005d] in <32f0c196c5bc4aa18daea2ee64a7814e>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) UIKit.UIApplication.UIApplicationMain (int,string[],intptr,intptr) [0x0005c] in <ae65a2b1eea242d2b68fe784749543bf>:0 at UIKit.UIApplication.Main (string[],intptr,intptr) [0x00005] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:79 at UIKit.UIApplication.Main (string[],string,string) [0x00038] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:63 at monotouchtest.Application.Main (string[]) [0x00011] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/Main.cs:27 at (wrapper runtime-invoke) <Module>.runtime_invoke_void_object (object,intptr,intptr,intptr) [0x00051] in <30a7f7e09de9467b8b454221034a0e38>:0 Native stacktrace: 0 monotouchtest 0x000000010fca03c4 mono_handle_native_crash + 244 1 monotouchtest 0x000000010fcadd30 mono_sigsegv_signal_handler + 288 2 libsystem_platform.dylib 0x000000011feb3b3a _sigtramp + 26 3 CoreFoundation 0x000000011de035a2 computeSanitizedString + 146 4 CoreText 0x00000001168df314 _ZN15TPurgeableCache19RetainedValueForKeyEPKv + 54 5 CoreText 0x00000001168def85 _ZNK17TDescriptorSource22CopyDescriptorUncachedEPK7__CFURLbPK10__CFString + 55 6 CoreText 0x00000001168df34f _ZNK17TDescriptorSource14CopyDescriptorEPK7__CFURLbPK10__CFString + 27 7 CoreText 0x00000001168e20ad _ZNK17TDescriptorSource35CopyFontDescriptorPerPostScriptNameEPK10__CFStringmm + 297 8 CoreText 0x00000001168dfd9e _ZNK17TDescriptorSource30CopySystemFontDescriptorByNameEPK10__CFString10UIFontFlag + 54 9 CoreText 0x00000001168e54c4 _ZNK14TFontFallbacks17CopyFontFallbacksEPK10__CFStringS2_PK9__CFArray + 652 10 CoreText 0x00000001168e4a00 _ZNK14TFontFallbacks29CopyFontFallbacksForLanguagesEPK10__CFStringPK9__CFArray + 122 11 CoreText 0x00000001168e4971 _ZN17TDescriptorSource39CopyDefaultSubstitutionListForLanguagesEPK10__CFStringPK9__CFArray + 61 12 CoreText 0x00000001169397a7 _ZNK9TBaseFont28CreateSystemDefaultFallbacksEPK10__CFStringPK9__CFArray + 51 13 CoreText 0x000000011693999c _ZNK9TBaseFont15CreateFallbacksE10UIFontFlagPPK16__CFCharacterSetPK9__CFArray + 346 14 CoreText 0x00000001168c1036 _ZNK5TFont24CreateDefaultCascadeListEPK9__CFArray + 242 15 CoreText 0x00000001168b8ff9 CTFontCopyDefaultCascadeListForLanguages + 97 16 ??? 0x0000000140eaefd3 0x0 + 5384105939 17 ??? 0x0000000140eae761 0x0 + 5384103777 18 ??? 0x000000013c9c8e74 0x0 + 5311860340 19 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 20 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 21 monotouchtest 0x000000010fd71bac mono_runtime_try_invoke_array + 1292 22 monotouchtest 0x000000010fd15587 ves_icall_InternalInvoke + 647 23 ??? 0x000000013e9fcd13 0x0 + 5345627411 24 ??? 0x000000013e9fc738 0x0 + 5345625912 25 ??? 0x000000013e9fded5 0x0 + 5345631957 26 ??? 0x000000013e9fbb76 0x0 + 5345622902 27 ??? 0x000000013e9e237e 0x0 + 5345518462 28 ??? 0x000000013e9e237e 0x0 + 5345518462 29 ??? 0x000000013e9e237e 0x0 + 5345518462 30 ??? 0x000000013e9e237e 0x0 + 5345518462 31 ??? 0x000000013e873006 0x0 + 5344014342 32 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 33 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 34 monotouchtest 0x000000010fd6e320 mono_runtime_invoke + 208 35 monotouchtest 0x000000010fe71af1 xamarin_invoke_trampoline + 5617 36 monotouchtest 0x000000010fe79ddd xamarin_arch_trampoline + 189 37 monotouchtest 0x000000010fe7b1a1 xamarin_x86_64_common_trampoline + 110 38 UIKit 0x0000000111b9876b -[UITableView _selectRowAtIndexPath:animated:scrollPosition:notifyDelegate:] + 1810 39 UIKit 0x0000000111b98986 -[UITableView _userSelectRowAtPendingSelectionIndexPath:] + 344 40 UIKit 0x0000000111a6b5c9 _runAfterCACommitDeferredBlocks + 318 41 UIKit 0x0000000111a59dad _cleanUpAfterCAFlushAndRunDeferredBlocks + 280 42 UIKit 0x0000000111a89f68 _afterCACommitHandler + 137 43 CoreFoundation 0x000000011de3ddb7 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23 44 CoreFoundation 0x000000011de3dd0e __CFRunLoopDoObservers + 430 45 CoreFoundation 0x000000011de22324 __CFRunLoopRun + 1572 46 CoreFoundation 0x000000011de21a89 CFRunLoopRunSpecific + 409 47 GraphicsServices 0x0000000121b7e9c6 GSEventRunModal + 62 48 UIKit 0x0000000111a5f7d0 UIApplicationMain + 159 49 ??? 0x000000013c9c4474 0x0 + 5311841396 50 ??? 0x000000013c9c40ad 0x0 + 5311840429 ================================================================= Got a SIGSEGV while executing native code. This usually indicates a fatal error in the mono runtime or one of the native libraries used by your application. ================================================================= * [monotouch-test] Don't subclass MKMapView. (#2556) MKMapView doesn't like being subclassed (Apple says "you should not subclass the MKMapView class itself"). Bad things like this starts happening: Thread 0 name: tid_303 Dispatch queue: com.apple.main-thread Thread 0 Crashed: 0 libsystem_kernel.dylib 0x0000000186b25348 __pthread_kill + 8 1 libsystem_pthread.dylib 0x0000000186c39354 pthread_kill$VARIANT$mp + 396 2 libsystem_c.dylib 0x0000000186a94fd8 abort + 140 3 monotouchtest 0x0000000101c02c14 mono_handle_native_crash + 22047764 (mini-exceptions.c:2548) 4 monotouchtest 0x0000000101c0d02c mono_sigsegv_signal_handler + 22089772 (mini-runtime.c:2886) 5 libsystem_platform.dylib 0x0000000186c33b60 _sigtramp + 52 6 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 7 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 8 CoreFoundation 0x0000000186eda51c -[__NSArrayM dealloc] + 68 9 CoreFoundation 0x000000018703f5c8 __CFBasicHashDrain + 312 10 CoreFoundation 0x0000000186fb5b44 _CFRelease + 224 11 CoreText 0x000000018a808404 TDescriptorSource::PurgeFontFallbacksCache+ 488452 () + 92 12 CoreText 0x000000018a808374 TDescriptorSource::PurgeFromCaches+ 488308 (__CFURL const*) const + 176 13 CoreText 0x000000018a7eec74 CTFontRemoveFromCaches + 168 14 VectorKit 0x0000000196a539b0 +[VKSharedResourcesManager removeResourceUser:] + 324 15 VectorKit 0x0000000196ca27a4 md::MapEngine::~MapEngine+ 2643876 () + 360 16 VectorKit 0x0000000196ca2634 md::MapEngine::~MapEngine+ 2643508 () + 12 17 libobjc.A.dylib 0x000000018651eef4 object_cxxDestructFromClass+ 28404 (objc_object*, objc_class*) + 148 18 libobjc.A.dylib 0x000000018652c638 objc_destructInstance + 88 19 libobjc.A.dylib 0x000000018652c690 object_dispose + 16 20 QuartzCore 0x000000018afca3ac -[CALayer dealloc] + 116 21 VectorKit 0x0000000196a43294 -[VKMapView dealloc] + 940 22 QuartzCore 0x000000018af6aafc CA::release_objects+ 744188 (X::List<void const*>*) + 32 23 QuartzCore 0x000000018afd97d8 CA::Layer::~Layer+ 1198040 () + 276 24 QuartzCore 0x000000018afca37c -[CALayer dealloc] + 68 25 QuartzCore 0x000000018af6b16c CA::Transaction::commit+ 745836 () + 1052 26 UIKit 0x0000000190393290 _afterCACommitHandler + 256 27 CoreFoundation 0x0000000186fb38b8 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 32 28 CoreFoundation 0x0000000186fb1270 __CFRunLoopDoObservers + 412 29 CoreFoundation 0x0000000186fb182c __CFRunLoopRun + 1292 30 CoreFoundation 0x0000000186ed22d8 CFRunLoopRunSpecific + 436 31 GraphicsServices 0x0000000188d58f84 GSEventRunModal + 100 32 UIKit 0x000000019040427c UIApplicationMain + 208 33 monotouchtest 0x000000010106eb90 wrapper_managed_to_native_UIKit_UIApplication_UIApplicationMain_int_string___intptr_intptr + 9907088 (/<unknown>:1) 34 monotouchtest 0x0000000100f0d6ac UIKit_UIApplication_Main_string___intptr_intptr + 8459948 (UIApplication.cs:79) 35 monotouchtest 0x0000000100f0d66c UIKit_UIApplication_Main_string___string_string + 8459884 (UIApplication.cs:63) 36 monotouchtest 0x0000000100b10450 monotouchtest_Application_Main_string__ + 4277328 (Main.cs:27) 37 monotouchtest 0x0000000100e0c244 wrapper_runtime_invoke_object_runtime_invoke_dynamic_intptr_intptr_intptr_intptr + 244 38 monotouchtest 0x0000000101c10048 mono_jit_runtime_invoke + 22102088 (mini-runtime.c:2526) 39 monotouchtest 0x0000000101c75eec do_runtime_invoke + 22519532 (object.c:2829) 40 monotouchtest 0x0000000101c78a3c do_exec_main_checked + 22530620 (object.c:4623) 41 monotouchtest 0x0000000101bf9a1c mono_jit_exec + 22010396 (driver.g.c:1040) 42 monotouchtest 0x0000000101d13d60 xamarin_main + 23166304 (monotouch-main.m:482) 43 monotouchtest 0x00000001007de710 main + 927504 (main.m:67) 44 libdyld.dylib 0x00000001869f656c start + 4 * [introspection] Let SkipDueToAttributeInProperty skip setters too (#2557) `SkipDueToAttributeInProperty` which is used to check the availability attribute of properties when the Availability info only exist on the property and not on the property Getter or Setter was wrong. This lead to `setSpringLoaded` (which was introduced in iOS 11) to not be ignored by the test (making it fail). - Fix bug #59085: [introspection-ios] selector not found for UIKit.UIBarButtonItem : setSpringLoaded: - Broken test (https://bugzilla.xamarin.com/show_bug.cgi?id=59085) * [corevideo][watchos] Enable CoreVideo on watchOS (#2553) * [storekit] Fix CampaignToken typo (#2559) (#2560) - Fixes bug #59078: StoreProductParameters and invalid property for CampaignToken (https://bugzilla.xamarin.com/show_bug.cgi?id=59078) * [coreml][watchos] Enable API using CoreVideo on watchOS. Fix #58097 (#2561) https://bugzilla.xamarin.com/show_bug.cgi?id=58097 * Add missing [MarshalDirective] attributes. (#2558) * [bindings-generator] Improve build & project file. * Add missing [MarshalDirective] attributes. Add missing [MarshalDirective] attributes, which also requires implementing support for out parameters in the binding generator, since one of the signatures missing the [MarshalDirective] contains such an out parameter. Also add tests for all the API I've added [MarshalDirective] to. * [bindings-generator] Remove redundant if check. * [monotouch-test] Rename file to end with 'Test.cs'. * [tests] Fix a few build errors for Xamarin.Mac. * [uikit] Fix UIColor and UIInputViewController tvOS availability (#2569) - Fixes introspection tests on tvOS 10. * [storekit] Fix SKCloudServiceSetupMessageIdentifier and SKProductStorePromotionController tvOS availability (#2568) - Fixes introspection tests on tvOS 10. * [mapkit] Fix MKMapItemTypeIdentifier tvOS availability (#2566) - Also remove double [Mac] availability attribute. - Fixes introspection tests on tvOS 10. * [ARKit] Fix marshalling for ARPointCloud.RawFeaturePoints. (#2565) ARPointCloud.RawFeaturePoints is an array of Vector3, but each vector is 16-byte aligned (as if it were an array of Vector4). This means we need to account for this when creating a managed array from pointer to the native C-style array. * [ModelIO] Fix MDLVoxelIndexExtent struct. (#2564) The MDLVoxelIndexExtent is a struct containing two 4-dimensional vectors of integers (not floats, as originally and incorrectly implemented). Fix this my creating a new MDLVoxelIndexExtent2 struct with the right fields, re-implement all the API that exposes this struct and obsolete the old API. Also add missing [MarshalDirective] attributes. And write a test to make sure it works fine now and forever. * [coredata] Enable new fields since rdar #33878590 is fixed w/beta 6 (#2570) reference: https://trello.com/c/dlSRYPFx * [xtro-sharpie] Add a Simd check class to verify signatures with Simd types. * [Simd] Add simd matrix types. The OpenTK matrices (Matrix2/3/4) has a different memory layout than Apple's matrix_float2x2/matrix_float3x3/matrix_float4x4 matrices: the OpenTK versions are row-major, while Apple's versions are column-major. This means that when blitting memory from one to the other, the matrix will appear to have been transposed. See bug #[58599][2] for an example. Unfortunately we've already bound several API with Apple's matrix_floatXxX matrices using OpenTK's matrices, and although they're bound wrong, and the matrices appear transposed on input/output, we can't change the behavior because we have to maintain compatibility. This means we have to introduce new API, and then also just define new matrix types with the right memory layout (column-major). Additionally, in the future we might be able to mark these matrices as Simd-matrixes, so that the JIT/AOT compiler can generate the correct alignment for them, avoiding having to define a native conversion method (using the [MarshalDirective] hack). The matrices have been designed to match API-wise the matrices in the System.Numerics.Vectors namespace [1], but for the moment with only a few basic operations implemented (Determinant/Transpose/Multiply) defined (we can always add more later if we want to). In addition explicit conversion operators to and from the corresponding OpenTK.MatrixX are implemented, which means any operation defined in the OpenTK matrices can be used by converting back and forth. [1]: https://msdn.microsoft.com/en-us/library/system.numerics.matrix4x4(v=vs.111).aspx [2]: https://bugzilla.xamarin.com/show_bug.cgi?id=58599 * [ARKit] Use the new Simd matrix types. * [Vision] Use the new Simd matrix types. * [ModelIO] Use the new Simd-compatible matrix types, and deprecate the old API. * [GameplayKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [SpriteKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [xtro] Don't report missing [MarshalDirective] for obsolete methods. * [xtro] Remove unnecessary ignores. The implementation changed, and these stayed accidentally. * [wkwebkit] Fix (native) protocol names (#2572) Also ignore xtro's WKSnapshotConfiguration since it's an Apple bug 34185961 reference (xtro) !missing-protocol! WKURLSchemeHandler not bound !missing-protocol! WKURLSchemeTask not bound !unknown-protocol! WKUrlSchemeHandler bound !unknown-protocol! WKUrlSchemeTask bound !unknown-type! WKSnapshotConfiguration bound * [uikit] Fix enums availability attributes (#2575) - Fixes bug #59132: [uikit] Extra types in watchOS (https://bugzilla.xamarin.com/show_bug.cgi?id=59132) * [watchkit] Add missing designated initializers (#2574) references (xtro) !missing-designated-initializer! WKInterfaceController::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! WKUserNotificationInterfaceController::init is missing an [DesignatedInitializer] attribute * [xtro] Reword some of the Simd diagnostic messages according to review. * [tests] Make sure test symbols don't clash between different test libraries. Fixes this build problem for framework-test: clang: error: linker command failed with exit code 1 (use -v to see invocation) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_get_rotation_matrix'. MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticObjectTest.framework/XStaticObjectTest (Location related to previous error) MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticArTest.framework/XStaticArTest(libtest-ar.x86_64.o) (Location related to previous error) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransformcomponent_get_local_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_create_global_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float4x4'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float3x3'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float2x2'. MTOUCH: error MT5209: Native linking error: 6 duplicate symbols for architecture x86_64 MTOUCH: error MT5202: Native linking failed. Please review the build log. * [tests] Since libtest.a need ModelIO now, the corresponding LinkWith attributes need to state that too. * [introspection] Don't check native signatures on obsolete members, and ignore the right simd matrix types. Fixes this introspection/Mac problem: ***** ApiSignatureTest.NativeSignatures Selector: uniformWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: uniformWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: uniformWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: setMatrixFloat2x2Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: setMatrixFloat3x3Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: setMatrixFloat4x4Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: initWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: initWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: initWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded * [monotouch-tests] Include more custom asserts for watchOS to make the build work. Fixes this: Simd/MatrixFloat4x4Test.cs(28,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(29,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(37,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(48,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' [...] * [monotouch-test] Exclude code that requires the binding project from xammac tests. Exclude code that requires the test binding project from xammac tests because there's currently no XM version of the test binding project. Fixes this: tests/monotouch-test/SpriteKit/UniformTest.cs(20,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLMaterialProperty.cs(37,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLTransform.cs(34,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) * Bump version for preview #8 (#2576) * [spritekit] Audit fixes (xtro) (#2577) 1. SKVideoNode is now, partially, available on watchOS and does not require the extra, manual code to swicth selectors depending on the OS version being run. !missing-type! SKVideoNode not bound !missing-selector! SKVideoNode::anchorPoint not bound !missing-selector! SKVideoNode::initWithCoder: not bound !missing-selector! SKVideoNode::initWithFileNamed: not bound !missing-selector! SKVideoNode::initWithURL: not bound !missing-selector! SKVideoNode::setAnchorPoint: not bound !missing-selector! SKVideoNode::setSize: not bound !missing-selector! SKVideoNode::size not bound !missing-selector! +SKVideoNode::videoNodeWithFileNamed: not bound !missing-selector! +SKVideoNode::videoNodeWithURL: not bound 2. SKNodeFocusBehavior is exposed needlessly on watchOS because SpriteKit/Enums.cs was not processed by the generator, so [NoWatch] did not matter. !unknown-native-enum! SKNodeFocusBehavior bound It's also visible on macOS but nothing uses it (so we do not expose it needlessly) !missing-enum! SKNodeFocusBehavior not bound 3. Add missing designated initializer on default `init` !missing-designated-initializer! SKAttributeValue::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! SKNode::init is missing an [DesignatedInitializer] attribute 4. Remove inconsistency for SKNode subclasses wrt XAMCORE_4_0 The trio attributeValues, setAttributeValues and setValue:forAttributeNamed: that was moved from SKNode (deprecated) into its subclasses. This was done using XAMCORE_4_0 but not on every subclasses. This adds them everywhere to be consistent (only SKNode versions are not defined in XAMCORE_4_0) !missing-selector! SKEffectNode::attributeValues not bound !missing-selector! SKEffectNode::setAttributeValues: not bound !missing-selector! SKEffectNode::setValue:forAttributeNamed: not bound !missing-selector! SKEffectNode::valueForAttributeNamed: not bound !missing-selector! SKEmitterNode::attributeValues not bound !missing-selector! SKEmitterNode::setAttributeValues: not bound !missing-selector! SKEmitterNode::setValue:forAttributeNamed: not bound !missing-selector! SKEmitterNode::valueForAttributeNamed: not bound !missing-selector! SKSpriteNode::attributeValues not bound !missing-selector! SKSpriteNode::setAttributeValues: not bound !missing-selector! SKSpriteNode::setValue:forAttributeNamed: not bound !missing-selector! SKSpriteNode::valueForAttributeNamed: not bound * [introspection] Make sure '[FAIL]' is printed before every failure. (#2578) This makes xharness able to list the failures in the inline summary. * [xtro] Reword some of the Simd diagnostic messages according to review. * [xharness] Add a missing IsServerMode check to generate correct html. (#2581) * [SpriteKit] SKTransformNode is new in Xcode 9 so no need to keep the broken (and obsolete) non-simd version of RotationMatrix. * [intents] Fix some (partial) xtro issues and #59156 (#2585) reference https://bugzilla.xamarin.com/show_bug.cgi?id=59156 Remaining issues are filled in https://bugzilla.xamarin.com/show_bug.cgi?id=59183 !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound * [Intents] Confirm* interface methods should be bound as Confirm, Fixes Bug 59164 (#2591) * [Intents] Confirm* interface methods should probably be bound as Confirm, Fixes Bug 59164 https://bugzilla.xamarin.com/show_bug.cgi?id=59164 All Confirm* methods from *IntentHandling interfaces should be named just `Confirm` to avoid confusion because most of them do not directly confirm as an acion, but instead they **ask** for confirmation also we would follow swift's naming by doing this. * [Intents] XAMCORE_4_0 all Confirm* methods from *IntentHandling Turns any Confirm* into just Confirm inside a XAMCORE_4_0 block, * [Intents] Fix breaking changes in Intents added in Xcode 9 Bindings (#2590) Apple added more protocol conformances to INRidesharingDomainHandling and INPaymentsDomainHandling protocols in Xcode 9, I introduced these breaking changes back when I did intents binding so fixing them :) * [Metal] New bindings from Xcode 9 betas (#2457) * [AVFoundation] Updated bindings for xcode9. (#2272) * [Xcode9] Add IOSurface bindings (#2363) * This framework was a private framework before iOS 11. This framework was a private framework before iOS 11, yet the headers claim many API were introduced in iOS 10. So take account of this difference by using the private framework location in iOS 10.3 or earlier. Testing these API from Xcode works fine when run on an iOS 10.3 device, and I've confirmed the IOSurface framework is loaded from the private frameworks path on older devices (and when built using Xcode 9 and linked with the public framework path). * Disable code to make IOSurface work on iOS 10. Disable the code to make IOSurface work on iOS 10, since it may be rejected by the App Store. This also means adjusting the availability attributes, so that the introspection tests pass (and to document that technically these API won't work when used with Xamarin.iOS in iOS 10). I've filed bug #[59201][1] to keep track of this, maybe we can re-enable this later. [1]: https://bugzilla.xamarin.com/show_bug.cgi?id=59201 * [CoreMedia] Fix leak in CMAttachmentBearer.GetAttachments. (#2593) The caller owns the return value from CMCopyDictionaryOfAttachments, so tell Runtime.GetNSObject that. * [Intents] Adds missing API found by xtro, fixes Bug 59183 (#2596) https://bugzilla.xamarin.com/show_bug.cgi?id=59183 Fixes !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !incorrect-protocol-member! INUIHostedViewControlling::configureWithInteraction:context:completion: is OPTIONAL and should NOT be abstract * [xtro] Fix StartWorkingDirectory to enable debugging (#2598) * [iosurface] Enable for tvOS and XM classic (to avoid multiple defines around consumer API) (#2597) * [xtro] Fix EnumCheck (#2600) * [ARKit] Rename a few method to make them nicer. (#2604) * DisplayTransform -> GetDisplayTransform since methods should have verbs. * SessionWasInterrupted -> WasInterrupted and SessionInterruptionEnded -> InterruptionEnded since these names match better with the other names (CameraDidChangeTrackingState / DidFail / DidOutputAudioSampleBuffer: none are prefixed with 'Session'). Additionally, the type is a Model (for the delegate pattern), which means all methods are more-or-less event-like, and the first argument is always the same (the protocol itself), which is another indicator the methods should be named similarly. * [Foundation] Remove 'Key' suffix from some fields. (#2606) Of the 168 fields in NSMetadataItem, only these 5 hadn't removed the 'Key' suffix. So make them all equivalent by removing the 'Key' suffix from these 5 fields. * [ImageIO] Fix API to not duplicate the instance in instance methods. (#2609) An instance method does not need to take the instance as a parameter, so remove the first (instance) parameter for CGImageDestination.AddAuxiliaryDataInfo and CGImageSource.CopyAuxiliaryDataInfo. An alternative solution would be to make the methods static, but I like the instance API better. * [UIKit] De-model UIDataSourceTranslating. (#2603) It's not clear from neither the documentation nor the headers how this protocol is supposed to be used, and since it doesn't correspond to the delegate pattern, remove the [Model] attribute for now. We can always add it back later. * [CoreML] Improve API. (#2592) * [CoreML] Improve API. * The indices, shape and stride properties for MLMultiArray and MLMultiArrayConstraint can logically only be arrays of integers, so type them as such. This means adding overloads for MLMultiArray's constructors, GetObject and SetObject methods, and the indexers that takes nint[] arrays instead of NSNumber[] arrays. * Change MLFeatureValue's static factory methods to be a method ('Create') instead of a preposition, and call all the different factory methods the same, since they can be overloaded nicely. * [tests][monotouch-test] Add version check to MLMultiArrayTest and make sure the arrays we create are big enough for the data we put in them. * [tests][monotouch-test] MLMultiArray's elements aren't zero-initialized, so don't assume that in the tests. * Support overloading Objective-C methods based on static/instance. (#2607) Two Objective-C methods can be named identically as long as one is static and the other instance. We must support this since Apple did just this (in the NSItemProviderReading / NSItemProviderWriting protocols). We solve it by prepending a '+' or '-' to the selector when hashing it (to determine selector uniqueness, and to look the method up again at runtime). * [uikit] Update for Xcode 9 - Part 6 (#2602) NSAttributedString.h NSFileProviderExtension.h NSLayoutAnchor.h UIAccessibility.h UIAccessibilityAdditions.h UIAccessibilityContainer.h UIAccessibilityContentSizeCategoryImageAdjusting.h UIAccessibilityCustomRotor.h UIAccessibilityLocationDescriptor.h UITabBar.h UINavigationBar.h UIScreen.h * Xcode9 scenekit (#2512) * [SceneKit] basic work * Added key * [xcode9] SCNCameraController * [xcode9] SCNCamera updates * [xcode9] SCNMaterial * [xcode9] SCNGeometryTessellator, SCNCameraControlConfiguration, SCNView, small bits * Add trailing commas to last enum value * Remove whitespace noise * [scenekit] Update deprecated attributes messages * Addresses some of Rolf's feedback * Drop the WeakDelegate in SCNCameraController * Rename method to Render, remove ctor from class that can not be constructed in Palygrounds, add typo exception * [AppKit] Rename NSBezierPath.AppendBezierPathWithCGGlyph to match its sibling methods. (#2605) NSBezierPath contains a lot of 'AppendPathWithXXX' methods, that all map to 'appendBezierPathXXX' selectors. So rename AppendBezierPathWithCGGlyph accordingly, to make it more similar to the other methods in the same type. * [uikit] Add all UISpringLoadedInteractionSupporting (#2616) Types do not conform to the protocol but protocol methods work on those types (see monotouch-test). Fixed introspection tests accordingly and tested the selectors in monotouch-test. * [Intents] Add convenience ctor overload and call correct base ctor in manual ctor. (#2613) Add a convenience constructor overload in INGetUserCurrentRestaurantReservationBookingsIntent that uses nint instead of NSNumber, since logically "number of results" will always be some sort of integer. Also call the correct base constructor in INSpeakableString's custom constructor (same as any other generated constructor). Otherwise we end up doing something like this: [[[INSpeakableString alloc] init] initWith ...], i.e. calling two different init methods. * [coreimage] Add new headers API up to beta 6 (#2601) Filters are not complete (ref: #57350) https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * Some new constants are not yet documented (type is known), so they are commented / ignored https://bugzilla.xamarin.com/show_bug.cgi?id=59296 * Filled bug for [Wrap] inside [Category] so strong dictionary helpers can be re-enabled later https://bugzilla.xamarin.com/show_bug.cgi?id=59294 * [foundation] xtro fixes for watchOS (#2586) !missing-enum! NSProcessInfoThermalState not bound !missing-field! NSProcessInfoThermalStateDidChangeNotification not bound !missing-selector! NSProcessInfo::thermalState not bound Headers are wrong and preferredPresentationStyle is not in tvOS and watchOS !missing-selector! NSItemProvider::preferredPresentationStyle not bound !missing-selector! NSItemProvider::setPreferredPresentationStyle: not bound * [uikit] Also remove UIPreferredPresentationStyle enum from platform where it's not used * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. (#2614) * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. * NSItemProviderWriting: * NSItemProviderReading: Implement correctly and completely by uncommenting commented out code. * NSMutableString: * NSAttributedString: remove inlined members, since these classes don't implement NSItemProviderReading / NSItemProviderWriting (according to the headers at least). * NSUrl: all platforms now seem to implement NSItemProviderReading / NSItemProviderWriting. * NSString: all platforms now seem to implement both NSItemProviderReading and NSItemProviderWriting * UIColor: * UIImage: Update inlined protocol members according to the latest beta. Additionally, due to the following conditions: * The protocols all have the correct members now. * In the API definition we tell the generator to inline members from a protocol by inheriting from the corresponding interface. * The generator doesn't inline static members from protocols. several 'new' keywords had to be added to silence a compiler warning that occurrs when we manually inline a static member, since the member would be included in the type both from the inherited interface and the manual implementation. * [Foundation] Comment out NSItemProviderWriting.GetItemProviderVisibility to avoid inlining/generating unusable methods. NSItemProviderWriting.GetItemProviderVisibility is an optional method, and none of the native classes that implements NSItemProviderWriting actually imlements the method. This means inlining the method in those classes ends up creating unusable API; so just comment out the method to avoid generating the unusable API. The introspection tests found this: [FAIL] Foundation.NSString : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Foundation.NSUrl : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Contacts.CNContact : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] MapKit.MKMapItem : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIColor : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIImage : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] iOSApiSelectorTest.ApiSelectorTest.StaticMethods : 6 errors found in 2348 static selector validated: See also https://bugzilla.xamarin.com/show_bug.cgi?id=59308 * [iosurface] Add missing [TV] attributes (#2619) * [opengles] Enable the new API using IOSurface (#2618) The symbol only exists inside device libraries, not on simulator, and the introspection tests were updated to ignore it. Part of https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [avfoundation][watchos] Enable AudioBufferList (fix #59145) + audit (xtro) (#2617) 1. AudioBufferList is part of CoreAudio (wrong namespace, which needs a few changes in the generator) and now available in watchOS 4 https://bugzilla.xamarin.com/show_bug.cgi?id=59145 2. Also fixes xtro found issues: !missing-type! AVAudioRecorder not bound !missing-selector! AVAudioRecorder::averagePowerForChannel: not bound !missing-selector! AVAudioRecorder::channelAssignments not bound !missing-selector! AVAudioRecorder::currentTime not bound !missing-selector! AVAudioRecorder::delegate not bound !missing-selector! AVAudioRecorder::deviceCurrentTime not bound !missing-selector! AVAudioRecorder::format not bound !missing-selector! AVAudioRecorder::initWithURL:format:error: not bound !missing-selector! AVAudioRecorder::initWithURL:settings:error: not bound !missing-selector! AVAudioRecorder::isMeteringEnabled not bound !missing-selector! AVAudioRecorder::isRecording not bound !missing-selector! AVAudioRecorder::peakPowerForChannel: not bound !missing-selector! AVAudioRecorder::recordAtTime: not bound !missing-selector! AVAudioRecorder::recordAtTime:forDuration: not bound !missing-selector! AVAudioRecorder::recordForDuration: not bound !missing-selector! AVAudioRecorder::setChannelAssignments: not bound !missing-selector! AVAudioRecorder::setDelegate: not bound !missing-selector! AVAudioRecorder::setMeteringEnabled: not bound !missing-selector! AVAudioRecorder::settings not bound !missing-selector! AVAudioRecorder::url not bound !missing-protocol! AVAudioRecorderDelegate not bound !missing-selector! AVAudioEngine::inputNode not bound !missing-selector! AVAudioEngine::manualRenderingBlock not bound !missing-selector! AVAudioInputNode::setManualRenderingInputPCMFormat:inputBlock: not bound !missing-selector! AVAudioPlayer::format not bound !missing-selector! AVAudioSession::requestRecordPermission: not bound !unknown-field! AVFileType3GPP bound !unknown-field! AVFileType3GPP2 bound !unknown-field! AVFileTypeAC3 bound !unknown-field! AVFileTypeAIFC bound !unknown-field! AVFileTypeAIFF bound !unknown-field! AVFileTypeAMR bound !unknown-field! AVFileTypeAVCI bound !unknown-field! AVFileTypeAppleM4A bound !unknown-field! AVFileTypeAppleM4V bound !unknown-field! AVFileTypeCoreAudioFormat bound !unknown-field! AVFileTypeDNG bound !unknown-field! AVFileTypeEnhancedAC3 bound !unknown-field! AVFileTypeHEIC bound !unknown-field! AVFileTypeHEIF bound !unknown-field! AVFileTypeJPEG bound !unknown-field! AVFileTypeMPEG4 bound !unknown-field! AVFileTypeMPEGLayer3 bound !unknown-field! AVFileTypeQuickTimeMovie bound !unknown-field! AVFileTypeSunAU bound !unknown-field! AVFileTypeTIFF bound !unknown-field! AVFileTypeWAVE bound * [Metal] Implement API using IOSurface now that IOSurface is implemented. Partially fixes #58054. (#2621) https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [PdfKit] Improve PdfAnnotation.QuadrilateralPoints binding by making it strongly typed. (#2620) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). (#2622) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). * [ARKit/Vision] Use the new simd vector types instead of the OpenTK versions. * [ModelIO] Use the new simd vectors in new API (MDLVoxelIndexExtent2). This way we won't have to create a MDLVoxelIndexExtent3 in the future. * [SpriteKit] Use the new simd vectors in new API. * [metal] Audit (xtro) based fixes (#2623) !extra-protocol-member! unexpected selector MTLArgumentEncoder::newArgumentEncoderForBufferAtIndex: found !extra-protocol-member! unexpected selector MTLComputeCommandEncoder::dispatchThreads:threadsPerThreadgroup: found macos-only !missing-field! MTLDeviceRemovalRequestedNotification not bound !missing-field! MTLDeviceWasAddedNotification not bound !missing-field! MTLDeviceWasRemovedNotification not bound !missing-pinvoke! MTLCopyAllDevices is not bound * [CloudKit] Update bindings to beta 6. (#2615) * [FileProvider] Turn NSFileProviderItemIdentifier enum into a static class, fixes bug 59329 (#2634) https://bugzilla.xamarin.com/show_bug.cgi?id=59329 At the time of binding NSFileProviderItemIdentifier it wasn't clear how it was supposed to be used, I mean apple provides two keys which I thought were the only possible values hence binding it as an smart enum. Unfortunately this wasn't the case and the user can use those two values provided from the SDK or their own NSString Identifier. Swift provides a wrapper unfortunately we can't do the same due to NSFileProviderItemIdentifier is used in the NSFileProviderItem protocol and we currently do not support changing signatures on them. * [mtouch] Teach mtouch about the 'IOSurface' framework for tvOS. Fixes #59333. (#2630) https://bugzilla.xamarin.com/show_bug.cgi?id=59333 * Bump Touch.Unit to get fix for API breakage. (#2631) spouliot/Touch.Unit@8f1e19d [NUnitOutputTextWriter] Reintroduce previous constructor to make sure we don't break binary ABI. spouliot/Touch.Unit@00b0c0b [NUnitOutputTextWriter] Don't write invalid xml comments. spouliot/Touch.Unit@de9fe20 [TouchRunner] Restore the original code path when not wrapping NUnit xml output. * [IOSurface] Add missing availability attributes for tvOS. (#2629) * Bump versions for preview 9 (#2624) * [AVFoundation] Add missing interface AVRouteDetector. (#2637) * [tests] Update xtro to reduce list sizes (#2636) * Skip OpenTK duplicate declaration (we can't change them); * Fix rule name change for ARKit / simd; * Add missing default initializer on `init` to pending actions; * Add note for AVPersistableContentKeyRequest changes wrt tvOS; * [ReplayKit] Make RPBroadcastActivityViewController.LoadBroadcastActivityViewController async-capable. (#2639) * [xcode9] More SceneKit bindings (#2633) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 (#2644) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 https://bugzilla.xamarin.com/show_bug.cgi?id=59380 vector_float3 is 16 bytes, which means the binding is incorrect, because Vector3 is 12 bytes, and our code does not that difference into account. * Add tests * [DeviceCheck] Disable default ctor for DCDevice. (#2642) It doesn't seem to be useful according to the documentation, since it appears that the only way to get an instance is to use the static CurrentDevice property. * [audiounit] Audit (xtro) fixes for tvOS (#2635) Availability attributes in non-generated files don't hide symbols/code. reference: !unknown-pinvoke! AudioUnitExtensionCopyComponentList bound !unknown-pinvoke! AudioUnitExtensionSetComponentList bound * [tests] Make sure tvOS tests don't use the (unexisting) API * [tests] Add all test project variations to tests-mac.sln (#2579) * [xharness] Make sure generated mac projects have different project guids. * [introspection] Change the project guid so that it doesn't match the dontlink-mac project guid. * [tests] Add all test project variations to tests-mac.sln. * [xharness] Fix else condition. * [FileProvider] Adds missing NSFileProviderPage constants, fixes bug 59297. (#2646) https://bugzilla.xamarin.com/show_bug.cgi?id=59297 Adds NSFileProviderInitialPageSortedByName and NSFileProviderInitialPageSortedByDate NSData constants * [Xcode9] Remove NSFileProviderMessage and NSFileProviderMessageInterface (#2647) APIs were removed in beta 2 * [Foundation/UIKit] Provide LoadObject[s] methods that return the expected type in the callback. Fixes #59049. (#2638) The callback for these LoadObject[s] methods take an INSItemProviderReading parameter. This tells our runtime that we must provide an instance of a managed object that implements this interface (but nothing else), so we create a `NSItemProviderReadingWrapper` instance, which complies with the API (since the wrapper type implements the corresponding interface). Unfortunately these methods are supposed to return an instance of the passed- in type, so in order to comply with this soft (documentation-only) requirement, provide a wrapper method that creates instances of the right types. https://bugzilla.xamarin.com/show_bug.cgi?id=59049 * [arkit] Ignore deprecated selectors (#2645) * [FileProvider] Adds missing protocol and keys from audit (#2652) ``` !missing-protocol! NSFileProviderServiceSource not bound !missing-field! NSFileProviderErrorCollidingItemKey not bound !missing-field! NSFileProviderErrorNonExistentItemIdentifierKey not bound !missing-field! NSFileProviderFavoriteRankUnranked not bound ``` Also adds `NSXpcListenerEndpoint` to foundation, needed by `NSFileProviderServiceSource` protocol. * [tests][xtro] Workaround xtro runner dupe entry exception and update data files (#2654) * [AVFoundation] Rename field to match others. (#2657) * [homekit] Audit (xtro) fixes (#2653) - HMCharacteristicEvent conforms to NSMutableCopying on iOS11 which makes it 64 bits only (so adjust intro tests) - Ignore extra setters on HMMutablePresenceEvent, rdar 33883958 !missing-selector! HMMutablePresenceEvent::setPresenceEventType: not bound !missing-selector! HMMutablePresenceEvent::setPresenceUserType: not bound * [xtro] Add missing pinvoke to pending (#2662) - Bug 59422: [uikit] Missing UIContentSizeCategoryCompareToCategory & UIContentSizeCategoryIsAccessibilityCategory (https://bugzilla.xamarin.com/show_bug.cgi?id=59422) * Merge latest d15-3 fixes into xcode9 (#2660) * [msbuild] Re-added wildcard (*) expandsion for application-identifier in Entitlements.plist (#2186) Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=57119 * Bump mono (#2213) * Framework tests were still binding non-linked Simple class which errors now (#2216) (#2218) - Improve Makefile to rebuild when projects build with errors * Bump mono to get cecil fix for bug #56808. (#2222) https://bugzilla.xamarin.com/show_bug.cgi?id=56808 * [msbuild] Use @(ReferencePath) instead of @(ResolvedFiles) (#2188) (#2214) This allows things to work on both xbuild and msbuild. In xbuild, both lists are exactly the same and on msbuild, only @(ReferencePath) exists. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=55147 * NSActivityOptions.IdleDisplaySleepDisabled had wrong value (#2232) (#2239) This was due to an integer overflow. The original value was based on Int32 1 << 40 == 256 The correct value should be based on a UInt64. 1UL << 40 == 1099511627776 * [tests] Fix bug 57699 - [iOS]InternalsTest failure (Linkall) tests on device (#2243) Strip native debugging symbols should not be checked for debug builds * Bump mono to get fix for bug #57780. https://bugzilla.xamarin.com/show_bug.cgi?id=57780 * Update .gitmodules Change branch to d15-3 branch of mono * Bump maccore to get fix for bug #55064. https://bugzilla.xamarin.com/show_bug.cgi?id=55064 * [mono] Bump mono to get the head of cecil/mono-2017-04 and fix IsComObject #57919 Also fix #58789 [1], the typo in tools/mtouch/Tuning.cs showing in MT0000 errors instead MT2102. That's already in master and d15-4 mono bump includes: [2] commit 2a6502cee0df9de5198eafe7c8b5f6ac25106f34 (HEAD -> d15-3, origin/d15-3) Merge: 02457c20fcf 5e05cafc6f1 Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 10:04:06 2017 -0400 Merge pull request #5401 from marek-safar/com [Marshal.IsComObject] Make this predicate return false instead of thr… [3] commit 02457c20fcf57c0610e844d638eb1da82b5d1eb0 Merge: da80840ea55 73fd9a1b82e Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 09:59:06 2017 -0400 Merge pull request #5400 from spouliot/bump-cecil-58834-d15-3 [cecil] Bump to the head of the mono-2017-04 branch and pick the fix for bug #58834 References [1] https://bugzilla.xamarin.com/show_bug.cgi?id=58789 [2] https://bugzilla.xamarin.com/show_bug.cgi?id=57919 [3] https://bugzilla.xamarin.com/show_bug.cgi?id=58834 * [mtouch] Put 'mono_profiler_startup_log' in the symbol list. Fixes #58778. (#2501) We need the 'mono_profiler_startup_log' symbol when profiling is enabled, so make sure to add the symbol to the correct list of symbols we need. Previously we were passing `-u _mono_profiler_startup_log` to clang directly, which is fine, but not complete, since it does not write the symbol to the symbollist file (--symbollist=file), which means it wouldn't be preserved when the MSBuild tasks strip the executable. https://bugzilla.xamarin.com/show_bug.cgi?id=58778 * Bump versions for SR3 https://trello.com/c/EVze08ei * Bump mono to include HttpClientHandler fix #44027 https://trello.com/c/jYFXadH8/8-systemnethttp-close-request-stream-when-httpclienthandler https://bugzilla.xamarin.com/show_bug.cgi?id=44027 * [FileProvider] Add missing API and turn NSString to string (#2663) Turned NSString to string in order to match exisiting API. * [uikit] Add UIPasteConfigurationSupporting and UITextPasteConfigurationSupporting (#2649) - Fixes bug #59363: Missing UIPasteConfigurationSupporting, UITextPasteConfigurationSupporting, UITextDraggable and UITextDroppable on a couple of types (https://bugzilla.xamarin.com/show_bug.cgi?id=59363) * [uikit] Remove 129 types in UIPasteConfigurationSupporting case * [scenekit] Audit (xtro) fixes (#2648) This looks like an Apple breaking change (since `SCNAnimation` is new) but we now have: > typedef void (^SCNAnimationEventBlock)(id<SCNAnimation> animation, id animatedObject, BOOL playingBackward); bound as > delegate void SCNAnimationEventHandler (CAAnimation animation, NSObject animatedObject, bool playingBackward); and `CAAnimation` conforms to `SCNAnimation` but *only* the later is available on watchOS. The delegate is only updated (since it's new) on our watchOS profile. xtro references: (watchos) !unknown-protocol! SCNCameraControlConfiguration bound (tvos/watchos) !missing-selector! SCNAnimation::animationEvents not bound !missing-selector! SCNAnimation::setAnimationEvents: not bound !missing-selector! SCNConstraint::isEnabled not bound !missing-selector! SCNConstraint::setEnabled: not bound !missing-field! SCNSceneSourceConvertToYUpKey not bound !missing-field! SCNSceneSourceConvertUnitsToMetersKey not bound (ios/tvos) !missing-protocol-conformance! SCNNode should conform to UIFocusItem * Bump maccore post 15.3 merge (#2665) * Bump Xcode 9 to GM (#2667) * Force build (on wrench) * [avfoundation] Fix breaking changes (apidiff) (#2664) * [TVServices] Update to Xcode 9 GM (#2675) * [GameController] Update to Xcode 9 GM (#2673) * [LocalAuthentication] Update to Xcode 9 GM (#2671) * [LocalAuthentication] Update to Xcode 9 GM * Remove availability from BiometryNotAvailable, BiometryNotEnrolled and BiometryLockout * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer (#2659) * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer Some of the new added types were already present BUT under a #if MONOMAC, they had to be moved. * [AVFoundation] Set the wrongly added API to be obsolete and ensure it returns logical values. (#2650) * [xtro] The right platform for macOS is 'macos', not 'osx'. (#2677) The platform name is used to filter availability attributes, and if we use the wrong platform, we'll incorrectly skip all availability attributes. The net result in unclassified entries: https://gist.github.com/rolfbjarne/a4474bc2a40c49a85cad495b51bb514f * Various Xcode 9 API improvements and also fixes bug 59433 (#2676) https://bugzilla.xamarin.com/show_bug.cgi?id=59433 While fixing bug 59433 I noticed some additional issues outlined below: AVDepthData: * Renamed **non** static `Create` methods because `Create` only makes sense with the **Static** method in this context. Also by renaming the methods we are now closer to the names that swift uses. * Kept descriptive method names in favor of self-documenting code. `Convert`, `Apply` and `Replace` do not fully give us the intent of the method. * Added a convenience `Create` static method that takes a `CGImageAuxiliaryDataInfo`. * AvailableDepthDataTypes is now an array of `CVPixelFormatType` instead of a `NSNumber` array (The aactual fix for bug 59433). ImageIO: * Refactored `CGImageAuxiliaryDataInfo` to be a `StrongDictionary` in order to avoid most of the manual code and also to avoid reimplementing the `ToDictionary` method (which contained a subtle bug). * Adjusted code to reflect the above change. * Added missing `.ctor (IntPtr, bool)` to `CGImageMetadata` so the class is able to be created by our `Runtime.Get*`. * Simplified `CopyAuxiliaryDataInfo` method by using `CGImageAuxiliaryDataInfo` as a `DictionaryContainer`. Tests: * Added `xamarinmonkey.heic` which is an image that contains depth data needed to test above changes. * Adds `AVDepthDataTests` that touches most of the changes listed here. * Tweak the Simd-compatible matrices and vectors (#2668) * Rename them to be OpenTK.NMatrix# (instead of Simd.MatrixFloat#x#). * Remove the Vector2 and Vector4 variants, we'll use the OpenTK types instead (but we'll keep the NVector3 variant, since it's not identical to the OpenTK version). * Update the API to match their OpenTK counterparts better: * NMatrix2 and NMatrix3 have a 0-based R#C# scheme for their fields. * NMatrix4 has a 1-based M## scheme for its fields (i.e. no change). * [AVFoundation] Use Simd-matrix for API that needs it. (#2679) This also requires implementing the corresponding matrix (NMatrix4x3). Fixes this xtro issue: > !unknown-simd-type-in-signature! OpenTK.Matrix3 AVFoundation.AVCameraCalibrationData::get_GetIntrinsicMatrix(): the native signature has a simd type (matrix_float3x3), while the corresponding managed method is using an incorrect (non-simd) type. * [xtro] Fix checking availability on categories. (#2682) When checking for category availability, check if both the current declaration is a category, and if the current's declaration container is a category. Otherwise this scenario fails: * Category method is available. * Category does not have availability attributes. * Main class is unavailable. with this typical code sequence: ```csharp // don't process methods (or types) that are unavailable for the current platform if (!decl.IsAvailable () || !(decl.DeclContext as Decl).IsAvailable ()) return; ``` In which case we'd: * First check the method (`decl`): * It's available, so no further checks is done on the method. * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container's container is a category (it isn't, it's the namespace). and as such determine that the method is available. With this change, the second step will become: * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container is a category (it is), and if its main class is available (it isn't). and as such determine that the method is unavailable. * Check for attributes on the method's container (no attributes, so we continue). * Check if the method's Unclassified diff: https://gist.github.com/rolfbjarne/8fa80962596978a426eadf9b7ba39dc1 * [uikit] Update for Xcode 9 GM (#2670) * [AVFoundation] Implement AVCapturePhoto. Partially fixes #59388. (#2678) Fixes: > common.unclassified:!missing-type! AVCapturePhoto not bound https://bugzilla.xamarin.com/show_bug.cgi?id=59388 * Use strong dictionaries for AVCapturePhoto.Metadata and AVCapturePhoto.EmbeddedThumbnailPhotoFormat. * [SIMD] Implement Simd double types (VectorDouble3/MatrixDouble4x4). (#2632) The following types will be used by ModelIO bindings * Fix delta to be double * Rename Simd-compatible matrices and vectors to match our final naming. This also means removing the new Vector2 and Vector4 variants (but not Vector3). * [avfoundation] Remove AVAssetDownloadDelegate.DidLoadTimeRange since it was removed in one of the betas (#2687) * [foundation] Move NSUrlSessionMultipathServiceType to a file processed by the generator (for the availability attributes) (#2688) * [arkit] Update for Xcode 9 GM (#2681) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes (#2690) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes Type Changed: Intents.INCarSeatResolutionResult Removed methods: public static INCarSeatResolutionResult GetConfirmationRequired (INCarSeat valueToConfirm); public static INCarSeatResolutionResult GetSuccess (INCarSeat resolvedValue); * [avfoundation] Add missing protocol members and deprecations (#2691) !missing-protocol-member! AVCapturePhotoCaptureDelegate::captureOutput:didFinishProcessingPhoto:error: not found and the selector removed from PR#2687 was actually replaced with this one !missing-protocol-member! AVAssetDownloadDelegate::URLSession:aggregateAssetDownloadTask:didLoadTimeRange:totalTimeRangesLoaded:timeRangeExpectedToLoad:forMediaSelection: not found * [tests][xtro] Map some enums, more fix with protocols and update entries (#2692) * [Tests] Reenable dns tests on the watch. (#2674) * [arkit] Add ARBlendShapeLocationOptions strong dictionary (#2696) * [coreimage] Skip not yet bound filters added in Xcode9 (#2698) Tracked in https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * [Metal] Renamed MTLArgumentDescriptor.ArgumentDescriptor to Create, fixes bug 59498 (#2702) https://bugzilla.xamarin.com/show_bug.cgi?id=59498 From [argumentDescriptor docs](https://developer.apple.com/documentation/metal/mtlargumentdescriptor/2915746-argumentdescriptor?language=objc) > Creates an empty argument descriptor. * [msbuild] Always codesign app bundles if the codesign key is non-null (#2697) ...even if it is a simulator build. Turns out that starting with Xcode9, sim builds need to be codesigned for App Groups entitlements to work properly. Interestingly, the DetectSigningIdentity logic had a comment about needing to codesign simulator builds for some entitlements to work already starting with Xcode 8 but apparently the iOS targets did not respect this. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=59379 * [Foundation] Add NSProxy stub in order to workaround bug 59247 (#2693) https://bugzilla.xamarin.com/show_bug.cgi?id=59247 We need to have a better solution that removes all what NSProxy does not responds to. Right now this works because NSObject implements NSObject protocol just like NSProxy, but NSProxy responds to far less selectors hence doing it internal so it is not a breaking change when we provide the correct fix. * Keep NSProxy around and avoid XML linker description We need to keep NSProxy (avoid linking it) if WKNavigationDelegate or IWKNavigationDelegate is used. We know WKWebView will be there and can hold a reference to it. * [Xcode 9] Update Metal for GM (#2689) * [iosurface] IOSurface is not usable before iOS/tvOS 11. Fixes #59201 (#2706) Apple rejects apps that links with the previously private IOSurface.framework. We were not sure about this [1] and had it disabled (this is removed). However another bug stopped our adjustment logic [2] from being executed. This is needed since `clang` picks up the private framework if it does not find the public one (even when asking for a weak framework), [1] https://bugzilla.xamarin.com/show_bug.cgi?id=59201 [2] Added a while ago for JavascriptCore * Bump maccore to point to commit with the docs fix. (#2703) * Bump XI to 11.0.x (and XM to 3.99.9.x) (#2684) * fix typo
2017-09-16 00:53:16 +03:00
[Export ("screenSpaceAmbientOcclusionBias")]
nfloat ScreenSpaceAmbientOcclusionBias { get; set; }
[Watch (4, 0), TV (11, 0), Mac (10, 13, onlyOn64: true), iOS (11, 0)]
Merge xcode9 into d15-4[-xi] (#2710) * [FileProvider] Add Xcode 9 Beta 1, 2 & 3 Bindings (#2279) * [FileProvider] Add Xcode 9 Beta 1 Bindings * Better naming * Feedback not related to BindAs * [FileProvider] Removes BindAs, add manual code for it and updated to Beta 3 * [FileProvider] Implement feedback * [CoreSpotlight] Updated spotlight bindings for xcode 9 beta 3. (#2193) Updated spotlight bindings for xcode 9 beta 3. * Fix warning caused by duplicate (#2354) * [FileProviderUI] Add Xcode 9 Beta 1 to 3 bindings (#2356) * Bump to Xcode 9 beta 4 * [arkit] ARLightEstimate does not conform to NSCopying anymore (fix unit test) * [uikit] NSFileProviderExtension.ReparentItem got a new parameter in beta4 (fix unit test) * [coreimage] CIImageAccumulator init returns nil in beta 4 There's no header change to mention `init` is not allowed but it's not clear how this default initializer could be used. Also make public some other API to construct this type (outside of XM). It's not clear why there were `internal` as they are (at least now) part of the header files. * [photos] Add helpers when PHLivePhotoEditingOption/NSDictionary is null (to avoid ambiguous API) (#2360) Adding a strongly typed `PHLivePhotoEditingOption` (a strongly typed version of an `NSDictionary`) can cause a `CS0121` (call is ambiguous) since using a `null` argument is common (only one option exist so far). This PR adds overloads that makes the code nicer in such case, e.g. before Xcode9: > // null is used when no options are given > _foo.SaveLivePhoto (output, null, completion); current (Xcode 9) > // casting required to remove ambiguity with PHLivePhotoEditingOption > _foo.SaveLivePhoto (output, (NSDictionary)null, completion); with this PR > // no option, no argument > _foo.SaveLivePhoto (output, completion); The same applies to `PrepareLivePhotoForPlayback`. * [tests] Disable/tweak two tests that breaks on (almost) all Xcode updates Those tests were not added to validate xOS so just keep the parts that helps us (without constantly checking back the new break flavor) * Disable watchOS to check if this hides others issues * [mapkit] Update for beta 4 * [coredata] Update for beta 4 * [wkwebkit] Update for beta 4 Note: WKWindowFeatures.h is not compiled (part of the framework umbrella) and the `@interface WKWindowFeatures (WKPrivate)` sounds like it should not have been exposed (it's all fields starting with `_`) * [corelocation] Update for beta 4 * Revert "Disable watchOS to check if this hides others issues" This reverts commit fed2249fa43290a1956ab2fe0d48f83ab6db9711. * [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]: https://github.com/xamarin/xamarin-macios/blob/f5956d6cc1eb5dfa7bab16628cf282d40237f64e/src/generator.cs#L5985 * [FinderSync] Update to beta 4 (#2377) * [ImageIO] Update to Xcode 9 (#2353) * [PhotosUI] Move macOS photosui bindings out of photos.cs into photosui.cs (#2358) * [quicklook] Update up to beta 4 (#2374) * [uikit] UIDragInteraction & UIDragInteractionDelegate (Xcode 9 b1,2,3) (#2357) * [safariservices] Update up to beta 4 (#2380) * [coreanimation] Update to beta 4 (#2382) Apple removed (mistake?) some API in beta 1. Filed as rdar 33590997 Internal tracking in https://trello.com/c/J8BDDUV9/86-33590997-coreanimation-quartzcore-api-removals * [storekit] Update up to beta 4 (#2379) * [CoreML] Update to Xcode 9 Beta 4 (#2387) * [uikit] UICollectionView/UITableView Drag & Drop (Xcode 9 b1,2,3 & 4) (#2355) * Update code after radar 32929318 and 32897776 are fixed in b4 (#2394) * [xcode9 CoreAudio] New definitions from Beta1 to Beta3 (#2359) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 (#2397) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 https://bugzilla.xamarin.com/show_bug.cgi?id=58512 Created strong API (VNBarcodeSymbology) on the following properties * VNDetectBarcodesRequest.SupportedSymbologies * VNDetectBarcodesRequest.Symbologies * VNBarcodeObservation.Symbology * Remove modern C# because classic can't do it 😡 * [mediaplayer] Update up to beta 4 (#2388) * [watchkit] Update to beta 4 (#2398) * Bump Visual Studio for Mac max version (#2408) * [coreimage] Add CIBarcodeDescriptor and enabled missing API for VNBarcodeObservation. Fix #58197 (#2411) https://bugzilla.xamarin.com/show_bug.cgi?id=58197 * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 (#2407) * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 * [uikit] Fixes based on comments * [coreimage] CIImageAccumulator API fixes. Fix #58349 (#2412) * Obsolete the default `init`; * XM exposed some older APIs using `int` instead of `CIFormat`. This is fixed and old APIs are obsoleted; * Both new & old APIs are now using `CIFormat` for both XI and XM. https://bugzilla.xamarin.com/show_bug.cgi?id=58349 * [uikit] UIText drag & drop - up to Xcode 9 beta 4 (#2410) * [uikit] UISplitView & UIStackView up to Xcode 9 beta 4 (#2425) * Bump XI/XM versions before preview 4 (#2422) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 (#2378) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 * [PDFKit] Implement feedback * [PDFKit] the forgotten enum * [PDFKit] More feedback * [PDFKit] Add Mac changes * Missing change * Fix test RectangleF VS CGRect * Pass -Wunguarded-availability-new to quiet a new clang warning (#2424) - https://bugzilla.xamarin.com/show_bug.cgi?id=58574 * [mtouch/mmp] Ignore warnings about unguarded code section with regards to availability. (#2441) * [monotouch-test] Remove workaround for fixed Apple bug. (#2445) * Bump to Xcode 9 beta 5. (#2447) * Bump to Xcode 9 beta 5. * [mmp] Disable the partial static registrar, because Apple's macOS SDK is broken. > In file included from Xamarin.Mac.registrar.mobile.i386.m:1: > In file included from ./Xamarin.Mac.registrar.mobile.i386.h:11: > /Applications/Xcode9-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVFoundation.h:88:9: fatal error: 'AVFoundation/AVRouteDetector.h' file not found https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [mmp] Fix partial static registrar removal. * [CallKit] Update to Xcode 9 beta 5. * [ARKit] ARPointCloud doesn't conform to NSCopying anymore in Xcode 9 beta 5. * [ARKit] Update to Xcode 9 beta 5 enough to make tests happy. * [CoreImage] Stub out new filters in Xcode 9 beta 5. * [tests][monotouch] Simplify some MDLMesh asserts since values change a lot between OS versions. * [mmp] Default to the dynamic registrar for release builds again, due to bug #58629. https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [tests][introspection] CXCall started implementing NSCopying without saying so in the headers. * Disable mmp static registrar tests due to 58629 for now * [quicklook] Update to beta 5 (#2450) * [photos] Update for beta 5 (#2452) Also update some existing enum members were added in beta 1 on macOS * [safariservices] Update for beta 5 (#2455) * [mediaplayer] Update to beta 5 (#2456) * [CoreLocation] Update Xcode 9 Beta 5 (#2453) * [CoreML] Update to Xcode 9 Beta 5 (#2454) * [Contacts] Update to Xcode 9 Beta 5 (#2451) * [Vision] Update to Xcode 9 Beta 5 (#2458) * [builds] Tell LLVM to stay away from newer macOS functions. (#2459) Fixes this build problem on Sierra: > ld: weak import of symbol '_futimens' not supported because of option: -no_weak_imports for architecture x86_64 This is a symbol that was (will be?) introduced in High Sierra. Interestingly this only occurs if the Xcode 8.X Command Line Tools haven't been manually installed. Because if the Xcode 8.X Command Line Tools are installed, this happens: 1. llvm's configure script detects that 'futimens' is not usable. 2. llvm's configure script detects that 'futimens' is not usable, because xcrun sets SDKROOT=/ when calling clang. a. When the SDKROOT variable is set, clang passes '-syslibroot /usr/lib' to ld. b. When ld gets '-syslibroot /usr/lib', ld looks in '/usr/lib' for a library that contains 'futimens' in the OS itself, and since we're on Sierra, that fails to link. c. So when llvm's configure script creates a test program that checks if 'futimens' is present, the program fails. This is correct, and makes llvm *not* use futimens. 3. xcrun sets SDKROOT=/ because /usr/share/current-os.sdk/Info.plist exists. If that file does not exist, then xcrun sets SDKROOT to Xcode9's macOS SDK (because that's what xcode-select reports). a. When SDKROOT is set to Xcode9's macOS SDK, the configure check for 'futimens' succeeds, because the macOS 10.13 SDK contains that function. b. llvm happily uses 'futimens', and then the final link fails because we're using a symbol not available on all target platforms. * [arkit] Update for Xcode 9 beta 5 - Part 1 (#2460) * [tests] The container app for watchOS tests should be 64-bit. (#2463) * [xharness] watchOS tests need to run in a clean environment. Works around #58348. (#2462) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [xharness] It watchOS tests don't need to be clean anymore. Fixes #58348. (#2473) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [uikit] UIView/UIScrollView/UIViewController up to Xcode 9 beta 5 (#2431) - Add NSDirectionalEdgeInsets type. - Includes DirectionalEdgeInsetsTest. * [AudioToolbox] Update bindings to Xcode 9 beta3 (not later changes). (#2294) * [xharness] Add a file existence check. (#2478) Fixes this exception: ``` Harness exception for 'introspection': System.IO.FileNotFoundException: Could not find file '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log'. File name: '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log' at System.IO.__Error.WinIOError (System.Int32 errorCode, System.String maybeFullPath) [0x00207] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/__error.cs:188 at System.IO.FileInfo.get_Length () [0x00038] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/fileinfo.cs:171 at xharness.CaptureLog.StopCapture () [0x00021] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Log.cs:252 at (wrapper remoting-invoke-with-check) xharness.CaptureLog:StopCapture () at xharness.AppRunner+<RunAsync>d__68.MoveNext () [0x0127f] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/AppRunner.cs:642 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter`1[TResult].GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:357 at xharness.RunSimulatorTask+<RunTestAsync>d__7.MoveNext () [0x0029d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2894 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.RunTestTask+<ExecuteAsync>d__8.MoveNext () [0x0010b] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2538 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.TestTask+<RunInternalAsync>d__87.MoveNext () [0x0010d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:1870 ``` I'm not sure how this can happen, but it has on the bots [1]. [1] https://jenkins.mono-project.com/job/xamarin-macios-pr-builder/4548/Test_Report/ * Bump versions for preview 5 (#2479) * [passkit] Update to beta 5 (#2481) * [tests] Remove workaround for radar #32688391. (#2486) * [replaykit] Update up to beta 5 (#2484) * Bump maccore to get fix for bug #55064. (#2487) * [apidiff] Update definition to new 10.12 (d15-3) stable release (#2490) * [SceneKit] basic work (#2483) * [coredata] Update to beta 5 (#2488) * [homekit] Update for Xcode 9 beta 5 (#2492) * [Foundation] Update for xcode9 (#2468) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 (#2493) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 * [Intents] Implement feedback * [Intents] Add a generic version for INInteraction.GetParameterValue * [Intents] Missing check * [Contacts] Add missing foundation NSItemProviderWriting protocol to CNContact (#2496) https://bugzilla.xamarin.com/show_bug.cgi?id=58203 This is available on all Contacts supported platforms ``` ./iPhoneOS.platform/Developer/SDKs/iPhoneOS11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchOS.platform/Developer/SDKs/WatchOS4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchSimulator.platform/Developer/SDKs/WatchSimulator4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ``` * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) (#2497) * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) * [IntentsUI] Better use a delegate instead so we have named params * Bump versions before 6th preview (#2514) * [arkit] Add missing MarshalDirective to ARPlaneAnchor (#2517) - Fixes bug #58648: ARPlaneAnchor.Extent property seems incorrect but changes to correct value after Debug access (https://bugzilla.xamarin.com/show_bug.cgi?id=58648) * [xtro-sharpie] Fix a compiler warning. (#2516) Fixes these warnings: Runner.cs(197,5): warning CS0642: Possible mistaken empty statement Runner.cs(199,5): warning CS0642: Possible mistaken empty statement Runner.cs(201,5): warning CS0642: Possible mistaken empty statement Runner.cs(203,5): warning CS0642: Possible mistaken empty statement Runner.cs(205,5): warning CS0642: Possible mistaken empty statement * [uikit] Update for Xcode 9 beta 5 - Part 3 (#2511) - UIKeyCommand - UINavigationBar - UINavigationItem - UIPasteboard - UITableViewHeaderFooterView * [xtro-sharpie] Remove xtro-plugin and misc other fixes. (#2522) * [xtro-sharpie] Build with msbuild and be as quiet as requested when building. * [xtro-sharpie] Must run as a 64-bit process, since the required native libraries are 64-bit. * [xtro-sharpie] Add run configurations to the project file to ease debugging in the IDE. * [xtro-sharpie] Remove xtro-plugin and the related commands. This was needed when there wasn't a 64-bit mono, in order to run xtro-sharpie in a 64-bit process. Now there is a 64-bit mono, so it's not needed anymore. Also improve makefile targets a bit, to auto-build stuff when needed, by setting the right dependencies. * Bump Xcode 9 to beta 6 (#2519) Disable watchOS tests again It seems like the Carousel crash from beta 4 is back to haunt us. This was working fine with beta 5. * Backport d15-3 SR2 fixes (#2515) * [coredata] Update to beta 6 (#2528) This seems to only revert some nullability changes from beta 5. * [coreml] Update to beta 6 (#2531) Fix our rdar 33643011 where additional setters were added in the headers but did not exists. * [videosubscriberaccount] Update to beta 6 (#2533) Only b1 and b2 introduced some additions/changes * [uikit] Update for Xcode 9 beta 6 - Part 4 (#2527) The following headers are now up to date: - UICollectionViewFlowLayout.h - UIDocumentPickerViewController.h - UIFontDescriptor.h - UIImage.h - UIImageView.h - UIImagePickerController.h * [xharness] Re-enable the watchOS tests. (#2534) It works fine for me locally, so let's see what Jenkins says. * [macos] Add new APIs in CoreWlan from Xcode9b3 (#2525) * Update AppKit bindings based on radar 33271241 results (#2518) * Update AppKit bindings based on radar 33271241 results - The header comment was updated to note it was NSSliderTouchBarItem view that has the protocol * Remove NSUserInterfaceCompression where not listed in header * [vision] Update to beta 6 (#2532) Removal of some deprecated (during beta) `init*` selectors. Also sync the versions that were inlined in subclasses - the old ones were not removed and the new ones were not added. * [xtro-sharpie] Many methods don't have selectors in Clang's API, so default to the name if no selector. (#2523) This makes a few more unclassified entries show up (mostly missing designated initializers): https://gist.github.com/rolfbjarne/07aa20f9b50b75bf3e69ac6a825e873a * [macos] Add ExternalAccessory APIs from xcode9 (#2526) * [58851] Disable NSMenuView in AllItemsWithNSMenuShouldAllowNull (#2504) * [arkit] Update for Xcode 9 beta 5 - Part 2 (#2505) - Add last missing selector. - Add tests for manual code. * [monotouch-test] Disable FontDescriptorTest.WithFeature (#2537) Disabled because it looks like the tvOS font we use: "Gujarati Sangam MN" does not have rare ligatures anymore (and the entire test is based on it). Before getting an actual fix for that, let's disable the test so it doesn't break all current builds. See: https://bugzilla.xamarin.com/show_bug.cgi?id=58929 * [xtro-sharpie] Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute. (#2524) Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute to calculate the native name for a TypeDefinition. Unclassified changes: https://gist.github.com/rolfbjarne/828f8ee41eebb0a3b60a38d71822fe59 * [foundation/uikit] Inline NSItemProvider_UIKitAdditions in NSItemProvider (#2538) As suggested here: https://github.com/xamarin/xamarin-macios/pull/2527#discussion_r134670981 * [intents] Fix breaking changes (api-diff) (#2543) Additions of @required members inside `INSpeakable` cannot be `[Abstract]` * [contacts] Fix breaking change (api-diff) (#2542) Type Changed: Contacts.CNPostalAddress Removed method: public static string LocalizeProperty (CNPostalAddressKeyOption option); * [macos] Reenable static registrar since Xcode9b6 un-broke SDK headers (#2544) - Fix a subtle spacing issues in PartialStaticLibrary property * [corebluetooth] Update up to beta 6 and enable it on watchOS (#2540) macOS 10.13 has finally catch up with iOS and this simplifies the bindings a bit. * [foundation] API fixes (apidiff) (#2545) 1. Let's not add new, already [Obsolete] API Type Changed: Foundation.NSDimension Added constructors: [Obsolete ("Not intended to be directly instantiated, this is an abstract class.")] public NSDimension (); 2. Fix inconsistently named API, e.g. Type Changed: Foundation.NSAttributedString Added properties: public static string[] ReadableTypeIdentifiersForItemProvider { get; } public static string[] WritableTypeIdentifiers { get; } * [pdfkit] Do not add already [Obsolete] API in new profiles (#2547) and ensure using the newer, correct API works cross-platforms iOS (before) [Obsolete ("Use 'Find (string, NSStringCompareOptions)' instead.")] public virtual PdfSelection[] Find (string text, nint options); public PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'Find (string, PdfSelection, NSStringCompareOptions)' instead.")] public virtual PdfSelection Find (string text, PdfSelection selection, nint options); public void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string, NSStringCompareOptions)' instead.")] public virtual void FindAsync (string text, nint options); public void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string [], NSStringCompareOptions)' instead.")] public virtual void FindAsync (string[] text, nint options); iOS (after) public virtual PdfSelection[] Find (string text, Foundation.NSStringCompareOptions compareOptions); public virtual PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); * Bump versions for the 7th preview (#2541) * Remove additions of AVKit removed in beta5 (#2536) * NSUrlSessionTask should implement NSProgressReporting for iOS (#2548) NSUrlSessionTask implements NSProgressReporting on iOS as well as Mac, so the #if MONOMAC isn't needed. * Add missing availability attributes causing failures on older iOS versions (#2550) * [vision] Minor fix wrt xtro (#2551) including some things we need to ignore manually !missing-field! VNVisionVersionNumber not bound !missing-pinvoke! VNImagePointForFaceLandmarkPoint is not bound !missing-pinvoke! VNNormalizedFaceBoundingBoxPointForLandmarkPoint is not bound * [uikit] NSFileProviderMessaging was removed in beta 2. Fixes #58222 (#2552) reference: https://bugzilla.xamarin.com/show_bug.cgi?id=58222 * [uikit] Update for Xcode 9 - Part 5 (#2546) Bindings for the following headers: - UIActivity.h - UIActivityItemProvider.h - UIAlertController.h - UIApplication.h - UIBarButtonItem.h - UIButton.h - UICollectionViewLayout.h - UIColor.h - UIControl.h - UIDocumentMenuViewController.h - UIFontMetrics.h - UIGestureRecognizer.h - UIGraphicsImageRenderer.h - UIInputViewController.h * [CoreText] Fix an extraneous free in CTFont.GetDefaultCascadeList. (#2555) We do not own the return value from CFArrayGetValueAtIndex, so don't say we do when creating CTFontDescriptor instances, since that leads to angry dragons: 2017-08-28 20:15:20.293 monotouchtest[33186:2311738] A_FontTest 2017-08-28 20:15:20.294 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithFontDescriptorAndOptions 2017-08-28 20:15:20.295 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithNameAndOptions 2017-08-28 20:15:20.296 monotouchtest[33186:2311738] critical: Stacktrace: at <unknown> <0xffffffff> at (wrapper managed-to-native) CoreText.CTFont.CTFontCopyDefaultCascadeListForLanguages (intptr,intptr) [0x0000a] in <ae65a2b1eea242d2b68fe784749543bf>:0 at CoreText.CTFont.GetDefaultCascadeList (string[]) [0x00013] in /work/maccore/xcode9/xamarin-macios/src/CoreText/CTFont.cs:2185 at MonoTouchFixtures.CoreText.A_FontTest.GetCascadeList () [0x0001e] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/CoreText/FontTest.cs:78 at (wrapper runtime-invoke) object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) [0x0004f] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) System.Reflection.MonoMethod.InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&) [0x00016] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at System.Reflection.MonoMethod.Invoke (object,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo) [0x00032] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/corlib/System.Reflection/MonoMethod.cs:305 at System.Reflection.MethodBase.Invoke (object,object[]) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/referencesource/mscorlib/system/reflection/methodbase.cs:229 at NUnit.Framework.Internal.Reflect.InvokeMethod (System.Reflection.MethodInfo,object,object[]) [0x00009] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Reflect.cs:215 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunNonAsyncTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x00025] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:116 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x0001a] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:90 at NUnit.Framework.Internal.Commands.TestMethodCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:66 at NUnit.Framework.Internal.Commands.SetUpTearDownCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00007] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/SetUpTearDownCommand.cs:84 at NUnit.Framework.Internal.WorkItems.SimpleWorkItem.PerformWork () [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/SimpleWorkItem.cs:64 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at MonoTouch.NUnit.UI.BaseTouchRunner.Run (NUnit.Framework.Internal.Test) [0x0004d] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:442 at MonoTouch.NUnit.UI.BaseTouchRunner.Run () [0x00030] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:171 at MonoTouch.Dialog.StringElement.Selected (MonoTouch.Dialog.DialogViewController,UIKit.UITableView,Foundation.NSIndexPath) [0x00008] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/Elements.cs:765 at MonoTouch.Dialog.DialogViewController.Selected (Foundation.NSIndexPath) [0x00026] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:577 at MonoTouch.Dialog.DialogViewController/Source.RowSelected (UIKit.UITableView,Foundation.NSIndexPath) [0x00016] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:402 at (wrapper runtime-invoke) <Module>.runtime_invoke_void__this___object_object (object,intptr,intptr,intptr) [0x0005d] in <32f0c196c5bc4aa18daea2ee64a7814e>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) UIKit.UIApplication.UIApplicationMain (int,string[],intptr,intptr) [0x0005c] in <ae65a2b1eea242d2b68fe784749543bf>:0 at UIKit.UIApplication.Main (string[],intptr,intptr) [0x00005] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:79 at UIKit.UIApplication.Main (string[],string,string) [0x00038] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:63 at monotouchtest.Application.Main (string[]) [0x00011] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/Main.cs:27 at (wrapper runtime-invoke) <Module>.runtime_invoke_void_object (object,intptr,intptr,intptr) [0x00051] in <30a7f7e09de9467b8b454221034a0e38>:0 Native stacktrace: 0 monotouchtest 0x000000010fca03c4 mono_handle_native_crash + 244 1 monotouchtest 0x000000010fcadd30 mono_sigsegv_signal_handler + 288 2 libsystem_platform.dylib 0x000000011feb3b3a _sigtramp + 26 3 CoreFoundation 0x000000011de035a2 computeSanitizedString + 146 4 CoreText 0x00000001168df314 _ZN15TPurgeableCache19RetainedValueForKeyEPKv + 54 5 CoreText 0x00000001168def85 _ZNK17TDescriptorSource22CopyDescriptorUncachedEPK7__CFURLbPK10__CFString + 55 6 CoreText 0x00000001168df34f _ZNK17TDescriptorSource14CopyDescriptorEPK7__CFURLbPK10__CFString + 27 7 CoreText 0x00000001168e20ad _ZNK17TDescriptorSource35CopyFontDescriptorPerPostScriptNameEPK10__CFStringmm + 297 8 CoreText 0x00000001168dfd9e _ZNK17TDescriptorSource30CopySystemFontDescriptorByNameEPK10__CFString10UIFontFlag + 54 9 CoreText 0x00000001168e54c4 _ZNK14TFontFallbacks17CopyFontFallbacksEPK10__CFStringS2_PK9__CFArray + 652 10 CoreText 0x00000001168e4a00 _ZNK14TFontFallbacks29CopyFontFallbacksForLanguagesEPK10__CFStringPK9__CFArray + 122 11 CoreText 0x00000001168e4971 _ZN17TDescriptorSource39CopyDefaultSubstitutionListForLanguagesEPK10__CFStringPK9__CFArray + 61 12 CoreText 0x00000001169397a7 _ZNK9TBaseFont28CreateSystemDefaultFallbacksEPK10__CFStringPK9__CFArray + 51 13 CoreText 0x000000011693999c _ZNK9TBaseFont15CreateFallbacksE10UIFontFlagPPK16__CFCharacterSetPK9__CFArray + 346 14 CoreText 0x00000001168c1036 _ZNK5TFont24CreateDefaultCascadeListEPK9__CFArray + 242 15 CoreText 0x00000001168b8ff9 CTFontCopyDefaultCascadeListForLanguages + 97 16 ??? 0x0000000140eaefd3 0x0 + 5384105939 17 ??? 0x0000000140eae761 0x0 + 5384103777 18 ??? 0x000000013c9c8e74 0x0 + 5311860340 19 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 20 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 21 monotouchtest 0x000000010fd71bac mono_runtime_try_invoke_array + 1292 22 monotouchtest 0x000000010fd15587 ves_icall_InternalInvoke + 647 23 ??? 0x000000013e9fcd13 0x0 + 5345627411 24 ??? 0x000000013e9fc738 0x0 + 5345625912 25 ??? 0x000000013e9fded5 0x0 + 5345631957 26 ??? 0x000000013e9fbb76 0x0 + 5345622902 27 ??? 0x000000013e9e237e 0x0 + 5345518462 28 ??? 0x000000013e9e237e 0x0 + 5345518462 29 ??? 0x000000013e9e237e 0x0 + 5345518462 30 ??? 0x000000013e9e237e 0x0 + 5345518462 31 ??? 0x000000013e873006 0x0 + 5344014342 32 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 33 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 34 monotouchtest 0x000000010fd6e320 mono_runtime_invoke + 208 35 monotouchtest 0x000000010fe71af1 xamarin_invoke_trampoline + 5617 36 monotouchtest 0x000000010fe79ddd xamarin_arch_trampoline + 189 37 monotouchtest 0x000000010fe7b1a1 xamarin_x86_64_common_trampoline + 110 38 UIKit 0x0000000111b9876b -[UITableView _selectRowAtIndexPath:animated:scrollPosition:notifyDelegate:] + 1810 39 UIKit 0x0000000111b98986 -[UITableView _userSelectRowAtPendingSelectionIndexPath:] + 344 40 UIKit 0x0000000111a6b5c9 _runAfterCACommitDeferredBlocks + 318 41 UIKit 0x0000000111a59dad _cleanUpAfterCAFlushAndRunDeferredBlocks + 280 42 UIKit 0x0000000111a89f68 _afterCACommitHandler + 137 43 CoreFoundation 0x000000011de3ddb7 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23 44 CoreFoundation 0x000000011de3dd0e __CFRunLoopDoObservers + 430 45 CoreFoundation 0x000000011de22324 __CFRunLoopRun + 1572 46 CoreFoundation 0x000000011de21a89 CFRunLoopRunSpecific + 409 47 GraphicsServices 0x0000000121b7e9c6 GSEventRunModal + 62 48 UIKit 0x0000000111a5f7d0 UIApplicationMain + 159 49 ??? 0x000000013c9c4474 0x0 + 5311841396 50 ??? 0x000000013c9c40ad 0x0 + 5311840429 ================================================================= Got a SIGSEGV while executing native code. This usually indicates a fatal error in the mono runtime or one of the native libraries used by your application. ================================================================= * [monotouch-test] Don't subclass MKMapView. (#2556) MKMapView doesn't like being subclassed (Apple says "you should not subclass the MKMapView class itself"). Bad things like this starts happening: Thread 0 name: tid_303 Dispatch queue: com.apple.main-thread Thread 0 Crashed: 0 libsystem_kernel.dylib 0x0000000186b25348 __pthread_kill + 8 1 libsystem_pthread.dylib 0x0000000186c39354 pthread_kill$VARIANT$mp + 396 2 libsystem_c.dylib 0x0000000186a94fd8 abort + 140 3 monotouchtest 0x0000000101c02c14 mono_handle_native_crash + 22047764 (mini-exceptions.c:2548) 4 monotouchtest 0x0000000101c0d02c mono_sigsegv_signal_handler + 22089772 (mini-runtime.c:2886) 5 libsystem_platform.dylib 0x0000000186c33b60 _sigtramp + 52 6 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 7 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 8 CoreFoundation 0x0000000186eda51c -[__NSArrayM dealloc] + 68 9 CoreFoundation 0x000000018703f5c8 __CFBasicHashDrain + 312 10 CoreFoundation 0x0000000186fb5b44 _CFRelease + 224 11 CoreText 0x000000018a808404 TDescriptorSource::PurgeFontFallbacksCache+ 488452 () + 92 12 CoreText 0x000000018a808374 TDescriptorSource::PurgeFromCaches+ 488308 (__CFURL const*) const + 176 13 CoreText 0x000000018a7eec74 CTFontRemoveFromCaches + 168 14 VectorKit 0x0000000196a539b0 +[VKSharedResourcesManager removeResourceUser:] + 324 15 VectorKit 0x0000000196ca27a4 md::MapEngine::~MapEngine+ 2643876 () + 360 16 VectorKit 0x0000000196ca2634 md::MapEngine::~MapEngine+ 2643508 () + 12 17 libobjc.A.dylib 0x000000018651eef4 object_cxxDestructFromClass+ 28404 (objc_object*, objc_class*) + 148 18 libobjc.A.dylib 0x000000018652c638 objc_destructInstance + 88 19 libobjc.A.dylib 0x000000018652c690 object_dispose + 16 20 QuartzCore 0x000000018afca3ac -[CALayer dealloc] + 116 21 VectorKit 0x0000000196a43294 -[VKMapView dealloc] + 940 22 QuartzCore 0x000000018af6aafc CA::release_objects+ 744188 (X::List<void const*>*) + 32 23 QuartzCore 0x000000018afd97d8 CA::Layer::~Layer+ 1198040 () + 276 24 QuartzCore 0x000000018afca37c -[CALayer dealloc] + 68 25 QuartzCore 0x000000018af6b16c CA::Transaction::commit+ 745836 () + 1052 26 UIKit 0x0000000190393290 _afterCACommitHandler + 256 27 CoreFoundation 0x0000000186fb38b8 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 32 28 CoreFoundation 0x0000000186fb1270 __CFRunLoopDoObservers + 412 29 CoreFoundation 0x0000000186fb182c __CFRunLoopRun + 1292 30 CoreFoundation 0x0000000186ed22d8 CFRunLoopRunSpecific + 436 31 GraphicsServices 0x0000000188d58f84 GSEventRunModal + 100 32 UIKit 0x000000019040427c UIApplicationMain + 208 33 monotouchtest 0x000000010106eb90 wrapper_managed_to_native_UIKit_UIApplication_UIApplicationMain_int_string___intptr_intptr + 9907088 (/<unknown>:1) 34 monotouchtest 0x0000000100f0d6ac UIKit_UIApplication_Main_string___intptr_intptr + 8459948 (UIApplication.cs:79) 35 monotouchtest 0x0000000100f0d66c UIKit_UIApplication_Main_string___string_string + 8459884 (UIApplication.cs:63) 36 monotouchtest 0x0000000100b10450 monotouchtest_Application_Main_string__ + 4277328 (Main.cs:27) 37 monotouchtest 0x0000000100e0c244 wrapper_runtime_invoke_object_runtime_invoke_dynamic_intptr_intptr_intptr_intptr + 244 38 monotouchtest 0x0000000101c10048 mono_jit_runtime_invoke + 22102088 (mini-runtime.c:2526) 39 monotouchtest 0x0000000101c75eec do_runtime_invoke + 22519532 (object.c:2829) 40 monotouchtest 0x0000000101c78a3c do_exec_main_checked + 22530620 (object.c:4623) 41 monotouchtest 0x0000000101bf9a1c mono_jit_exec + 22010396 (driver.g.c:1040) 42 monotouchtest 0x0000000101d13d60 xamarin_main + 23166304 (monotouch-main.m:482) 43 monotouchtest 0x00000001007de710 main + 927504 (main.m:67) 44 libdyld.dylib 0x00000001869f656c start + 4 * [introspection] Let SkipDueToAttributeInProperty skip setters too (#2557) `SkipDueToAttributeInProperty` which is used to check the availability attribute of properties when the Availability info only exist on the property and not on the property Getter or Setter was wrong. This lead to `setSpringLoaded` (which was introduced in iOS 11) to not be ignored by the test (making it fail). - Fix bug #59085: [introspection-ios] selector not found for UIKit.UIBarButtonItem : setSpringLoaded: - Broken test (https://bugzilla.xamarin.com/show_bug.cgi?id=59085) * [corevideo][watchos] Enable CoreVideo on watchOS (#2553) * [storekit] Fix CampaignToken typo (#2559) (#2560) - Fixes bug #59078: StoreProductParameters and invalid property for CampaignToken (https://bugzilla.xamarin.com/show_bug.cgi?id=59078) * [coreml][watchos] Enable API using CoreVideo on watchOS. Fix #58097 (#2561) https://bugzilla.xamarin.com/show_bug.cgi?id=58097 * Add missing [MarshalDirective] attributes. (#2558) * [bindings-generator] Improve build & project file. * Add missing [MarshalDirective] attributes. Add missing [MarshalDirective] attributes, which also requires implementing support for out parameters in the binding generator, since one of the signatures missing the [MarshalDirective] contains such an out parameter. Also add tests for all the API I've added [MarshalDirective] to. * [bindings-generator] Remove redundant if check. * [monotouch-test] Rename file to end with 'Test.cs'. * [tests] Fix a few build errors for Xamarin.Mac. * [uikit] Fix UIColor and UIInputViewController tvOS availability (#2569) - Fixes introspection tests on tvOS 10. * [storekit] Fix SKCloudServiceSetupMessageIdentifier and SKProductStorePromotionController tvOS availability (#2568) - Fixes introspection tests on tvOS 10. * [mapkit] Fix MKMapItemTypeIdentifier tvOS availability (#2566) - Also remove double [Mac] availability attribute. - Fixes introspection tests on tvOS 10. * [ARKit] Fix marshalling for ARPointCloud.RawFeaturePoints. (#2565) ARPointCloud.RawFeaturePoints is an array of Vector3, but each vector is 16-byte aligned (as if it were an array of Vector4). This means we need to account for this when creating a managed array from pointer to the native C-style array. * [ModelIO] Fix MDLVoxelIndexExtent struct. (#2564) The MDLVoxelIndexExtent is a struct containing two 4-dimensional vectors of integers (not floats, as originally and incorrectly implemented). Fix this my creating a new MDLVoxelIndexExtent2 struct with the right fields, re-implement all the API that exposes this struct and obsolete the old API. Also add missing [MarshalDirective] attributes. And write a test to make sure it works fine now and forever. * [coredata] Enable new fields since rdar #33878590 is fixed w/beta 6 (#2570) reference: https://trello.com/c/dlSRYPFx * [xtro-sharpie] Add a Simd check class to verify signatures with Simd types. * [Simd] Add simd matrix types. The OpenTK matrices (Matrix2/3/4) has a different memory layout than Apple's matrix_float2x2/matrix_float3x3/matrix_float4x4 matrices: the OpenTK versions are row-major, while Apple's versions are column-major. This means that when blitting memory from one to the other, the matrix will appear to have been transposed. See bug #[58599][2] for an example. Unfortunately we've already bound several API with Apple's matrix_floatXxX matrices using OpenTK's matrices, and although they're bound wrong, and the matrices appear transposed on input/output, we can't change the behavior because we have to maintain compatibility. This means we have to introduce new API, and then also just define new matrix types with the right memory layout (column-major). Additionally, in the future we might be able to mark these matrices as Simd-matrixes, so that the JIT/AOT compiler can generate the correct alignment for them, avoiding having to define a native conversion method (using the [MarshalDirective] hack). The matrices have been designed to match API-wise the matrices in the System.Numerics.Vectors namespace [1], but for the moment with only a few basic operations implemented (Determinant/Transpose/Multiply) defined (we can always add more later if we want to). In addition explicit conversion operators to and from the corresponding OpenTK.MatrixX are implemented, which means any operation defined in the OpenTK matrices can be used by converting back and forth. [1]: https://msdn.microsoft.com/en-us/library/system.numerics.matrix4x4(v=vs.111).aspx [2]: https://bugzilla.xamarin.com/show_bug.cgi?id=58599 * [ARKit] Use the new Simd matrix types. * [Vision] Use the new Simd matrix types. * [ModelIO] Use the new Simd-compatible matrix types, and deprecate the old API. * [GameplayKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [SpriteKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [xtro] Don't report missing [MarshalDirective] for obsolete methods. * [xtro] Remove unnecessary ignores. The implementation changed, and these stayed accidentally. * [wkwebkit] Fix (native) protocol names (#2572) Also ignore xtro's WKSnapshotConfiguration since it's an Apple bug 34185961 reference (xtro) !missing-protocol! WKURLSchemeHandler not bound !missing-protocol! WKURLSchemeTask not bound !unknown-protocol! WKUrlSchemeHandler bound !unknown-protocol! WKUrlSchemeTask bound !unknown-type! WKSnapshotConfiguration bound * [uikit] Fix enums availability attributes (#2575) - Fixes bug #59132: [uikit] Extra types in watchOS (https://bugzilla.xamarin.com/show_bug.cgi?id=59132) * [watchkit] Add missing designated initializers (#2574) references (xtro) !missing-designated-initializer! WKInterfaceController::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! WKUserNotificationInterfaceController::init is missing an [DesignatedInitializer] attribute * [xtro] Reword some of the Simd diagnostic messages according to review. * [tests] Make sure test symbols don't clash between different test libraries. Fixes this build problem for framework-test: clang: error: linker command failed with exit code 1 (use -v to see invocation) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_get_rotation_matrix'. MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticObjectTest.framework/XStaticObjectTest (Location related to previous error) MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticArTest.framework/XStaticArTest(libtest-ar.x86_64.o) (Location related to previous error) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransformcomponent_get_local_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_create_global_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float4x4'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float3x3'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float2x2'. MTOUCH: error MT5209: Native linking error: 6 duplicate symbols for architecture x86_64 MTOUCH: error MT5202: Native linking failed. Please review the build log. * [tests] Since libtest.a need ModelIO now, the corresponding LinkWith attributes need to state that too. * [introspection] Don't check native signatures on obsolete members, and ignore the right simd matrix types. Fixes this introspection/Mac problem: ***** ApiSignatureTest.NativeSignatures Selector: uniformWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: uniformWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: uniformWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: setMatrixFloat2x2Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: setMatrixFloat3x3Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: setMatrixFloat4x4Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: initWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: initWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: initWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded * [monotouch-tests] Include more custom asserts for watchOS to make the build work. Fixes this: Simd/MatrixFloat4x4Test.cs(28,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(29,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(37,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(48,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' [...] * [monotouch-test] Exclude code that requires the binding project from xammac tests. Exclude code that requires the test binding project from xammac tests because there's currently no XM version of the test binding project. Fixes this: tests/monotouch-test/SpriteKit/UniformTest.cs(20,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLMaterialProperty.cs(37,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLTransform.cs(34,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) * Bump version for preview #8 (#2576) * [spritekit] Audit fixes (xtro) (#2577) 1. SKVideoNode is now, partially, available on watchOS and does not require the extra, manual code to swicth selectors depending on the OS version being run. !missing-type! SKVideoNode not bound !missing-selector! SKVideoNode::anchorPoint not bound !missing-selector! SKVideoNode::initWithCoder: not bound !missing-selector! SKVideoNode::initWithFileNamed: not bound !missing-selector! SKVideoNode::initWithURL: not bound !missing-selector! SKVideoNode::setAnchorPoint: not bound !missing-selector! SKVideoNode::setSize: not bound !missing-selector! SKVideoNode::size not bound !missing-selector! +SKVideoNode::videoNodeWithFileNamed: not bound !missing-selector! +SKVideoNode::videoNodeWithURL: not bound 2. SKNodeFocusBehavior is exposed needlessly on watchOS because SpriteKit/Enums.cs was not processed by the generator, so [NoWatch] did not matter. !unknown-native-enum! SKNodeFocusBehavior bound It's also visible on macOS but nothing uses it (so we do not expose it needlessly) !missing-enum! SKNodeFocusBehavior not bound 3. Add missing designated initializer on default `init` !missing-designated-initializer! SKAttributeValue::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! SKNode::init is missing an [DesignatedInitializer] attribute 4. Remove inconsistency for SKNode subclasses wrt XAMCORE_4_0 The trio attributeValues, setAttributeValues and setValue:forAttributeNamed: that was moved from SKNode (deprecated) into its subclasses. This was done using XAMCORE_4_0 but not on every subclasses. This adds them everywhere to be consistent (only SKNode versions are not defined in XAMCORE_4_0) !missing-selector! SKEffectNode::attributeValues not bound !missing-selector! SKEffectNode::setAttributeValues: not bound !missing-selector! SKEffectNode::setValue:forAttributeNamed: not bound !missing-selector! SKEffectNode::valueForAttributeNamed: not bound !missing-selector! SKEmitterNode::attributeValues not bound !missing-selector! SKEmitterNode::setAttributeValues: not bound !missing-selector! SKEmitterNode::setValue:forAttributeNamed: not bound !missing-selector! SKEmitterNode::valueForAttributeNamed: not bound !missing-selector! SKSpriteNode::attributeValues not bound !missing-selector! SKSpriteNode::setAttributeValues: not bound !missing-selector! SKSpriteNode::setValue:forAttributeNamed: not bound !missing-selector! SKSpriteNode::valueForAttributeNamed: not bound * [introspection] Make sure '[FAIL]' is printed before every failure. (#2578) This makes xharness able to list the failures in the inline summary. * [xtro] Reword some of the Simd diagnostic messages according to review. * [xharness] Add a missing IsServerMode check to generate correct html. (#2581) * [SpriteKit] SKTransformNode is new in Xcode 9 so no need to keep the broken (and obsolete) non-simd version of RotationMatrix. * [intents] Fix some (partial) xtro issues and #59156 (#2585) reference https://bugzilla.xamarin.com/show_bug.cgi?id=59156 Remaining issues are filled in https://bugzilla.xamarin.com/show_bug.cgi?id=59183 !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound * [Intents] Confirm* interface methods should be bound as Confirm, Fixes Bug 59164 (#2591) * [Intents] Confirm* interface methods should probably be bound as Confirm, Fixes Bug 59164 https://bugzilla.xamarin.com/show_bug.cgi?id=59164 All Confirm* methods from *IntentHandling interfaces should be named just `Confirm` to avoid confusion because most of them do not directly confirm as an acion, but instead they **ask** for confirmation also we would follow swift's naming by doing this. * [Intents] XAMCORE_4_0 all Confirm* methods from *IntentHandling Turns any Confirm* into just Confirm inside a XAMCORE_4_0 block, * [Intents] Fix breaking changes in Intents added in Xcode 9 Bindings (#2590) Apple added more protocol conformances to INRidesharingDomainHandling and INPaymentsDomainHandling protocols in Xcode 9, I introduced these breaking changes back when I did intents binding so fixing them :) * [Metal] New bindings from Xcode 9 betas (#2457) * [AVFoundation] Updated bindings for xcode9. (#2272) * [Xcode9] Add IOSurface bindings (#2363) * This framework was a private framework before iOS 11. This framework was a private framework before iOS 11, yet the headers claim many API were introduced in iOS 10. So take account of this difference by using the private framework location in iOS 10.3 or earlier. Testing these API from Xcode works fine when run on an iOS 10.3 device, and I've confirmed the IOSurface framework is loaded from the private frameworks path on older devices (and when built using Xcode 9 and linked with the public framework path). * Disable code to make IOSurface work on iOS 10. Disable the code to make IOSurface work on iOS 10, since it may be rejected by the App Store. This also means adjusting the availability attributes, so that the introspection tests pass (and to document that technically these API won't work when used with Xamarin.iOS in iOS 10). I've filed bug #[59201][1] to keep track of this, maybe we can re-enable this later. [1]: https://bugzilla.xamarin.com/show_bug.cgi?id=59201 * [CoreMedia] Fix leak in CMAttachmentBearer.GetAttachments. (#2593) The caller owns the return value from CMCopyDictionaryOfAttachments, so tell Runtime.GetNSObject that. * [Intents] Adds missing API found by xtro, fixes Bug 59183 (#2596) https://bugzilla.xamarin.com/show_bug.cgi?id=59183 Fixes !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !incorrect-protocol-member! INUIHostedViewControlling::configureWithInteraction:context:completion: is OPTIONAL and should NOT be abstract * [xtro] Fix StartWorkingDirectory to enable debugging (#2598) * [iosurface] Enable for tvOS and XM classic (to avoid multiple defines around consumer API) (#2597) * [xtro] Fix EnumCheck (#2600) * [ARKit] Rename a few method to make them nicer. (#2604) * DisplayTransform -> GetDisplayTransform since methods should have verbs. * SessionWasInterrupted -> WasInterrupted and SessionInterruptionEnded -> InterruptionEnded since these names match better with the other names (CameraDidChangeTrackingState / DidFail / DidOutputAudioSampleBuffer: none are prefixed with 'Session'). Additionally, the type is a Model (for the delegate pattern), which means all methods are more-or-less event-like, and the first argument is always the same (the protocol itself), which is another indicator the methods should be named similarly. * [Foundation] Remove 'Key' suffix from some fields. (#2606) Of the 168 fields in NSMetadataItem, only these 5 hadn't removed the 'Key' suffix. So make them all equivalent by removing the 'Key' suffix from these 5 fields. * [ImageIO] Fix API to not duplicate the instance in instance methods. (#2609) An instance method does not need to take the instance as a parameter, so remove the first (instance) parameter for CGImageDestination.AddAuxiliaryDataInfo and CGImageSource.CopyAuxiliaryDataInfo. An alternative solution would be to make the methods static, but I like the instance API better. * [UIKit] De-model UIDataSourceTranslating. (#2603) It's not clear from neither the documentation nor the headers how this protocol is supposed to be used, and since it doesn't correspond to the delegate pattern, remove the [Model] attribute for now. We can always add it back later. * [CoreML] Improve API. (#2592) * [CoreML] Improve API. * The indices, shape and stride properties for MLMultiArray and MLMultiArrayConstraint can logically only be arrays of integers, so type them as such. This means adding overloads for MLMultiArray's constructors, GetObject and SetObject methods, and the indexers that takes nint[] arrays instead of NSNumber[] arrays. * Change MLFeatureValue's static factory methods to be a method ('Create') instead of a preposition, and call all the different factory methods the same, since they can be overloaded nicely. * [tests][monotouch-test] Add version check to MLMultiArrayTest and make sure the arrays we create are big enough for the data we put in them. * [tests][monotouch-test] MLMultiArray's elements aren't zero-initialized, so don't assume that in the tests. * Support overloading Objective-C methods based on static/instance. (#2607) Two Objective-C methods can be named identically as long as one is static and the other instance. We must support this since Apple did just this (in the NSItemProviderReading / NSItemProviderWriting protocols). We solve it by prepending a '+' or '-' to the selector when hashing it (to determine selector uniqueness, and to look the method up again at runtime). * [uikit] Update for Xcode 9 - Part 6 (#2602) NSAttributedString.h NSFileProviderExtension.h NSLayoutAnchor.h UIAccessibility.h UIAccessibilityAdditions.h UIAccessibilityContainer.h UIAccessibilityContentSizeCategoryImageAdjusting.h UIAccessibilityCustomRotor.h UIAccessibilityLocationDescriptor.h UITabBar.h UINavigationBar.h UIScreen.h * Xcode9 scenekit (#2512) * [SceneKit] basic work * Added key * [xcode9] SCNCameraController * [xcode9] SCNCamera updates * [xcode9] SCNMaterial * [xcode9] SCNGeometryTessellator, SCNCameraControlConfiguration, SCNView, small bits * Add trailing commas to last enum value * Remove whitespace noise * [scenekit] Update deprecated attributes messages * Addresses some of Rolf's feedback * Drop the WeakDelegate in SCNCameraController * Rename method to Render, remove ctor from class that can not be constructed in Palygrounds, add typo exception * [AppKit] Rename NSBezierPath.AppendBezierPathWithCGGlyph to match its sibling methods. (#2605) NSBezierPath contains a lot of 'AppendPathWithXXX' methods, that all map to 'appendBezierPathXXX' selectors. So rename AppendBezierPathWithCGGlyph accordingly, to make it more similar to the other methods in the same type. * [uikit] Add all UISpringLoadedInteractionSupporting (#2616) Types do not conform to the protocol but protocol methods work on those types (see monotouch-test). Fixed introspection tests accordingly and tested the selectors in monotouch-test. * [Intents] Add convenience ctor overload and call correct base ctor in manual ctor. (#2613) Add a convenience constructor overload in INGetUserCurrentRestaurantReservationBookingsIntent that uses nint instead of NSNumber, since logically "number of results" will always be some sort of integer. Also call the correct base constructor in INSpeakableString's custom constructor (same as any other generated constructor). Otherwise we end up doing something like this: [[[INSpeakableString alloc] init] initWith ...], i.e. calling two different init methods. * [coreimage] Add new headers API up to beta 6 (#2601) Filters are not complete (ref: #57350) https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * Some new constants are not yet documented (type is known), so they are commented / ignored https://bugzilla.xamarin.com/show_bug.cgi?id=59296 * Filled bug for [Wrap] inside [Category] so strong dictionary helpers can be re-enabled later https://bugzilla.xamarin.com/show_bug.cgi?id=59294 * [foundation] xtro fixes for watchOS (#2586) !missing-enum! NSProcessInfoThermalState not bound !missing-field! NSProcessInfoThermalStateDidChangeNotification not bound !missing-selector! NSProcessInfo::thermalState not bound Headers are wrong and preferredPresentationStyle is not in tvOS and watchOS !missing-selector! NSItemProvider::preferredPresentationStyle not bound !missing-selector! NSItemProvider::setPreferredPresentationStyle: not bound * [uikit] Also remove UIPreferredPresentationStyle enum from platform where it's not used * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. (#2614) * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. * NSItemProviderWriting: * NSItemProviderReading: Implement correctly and completely by uncommenting commented out code. * NSMutableString: * NSAttributedString: remove inlined members, since these classes don't implement NSItemProviderReading / NSItemProviderWriting (according to the headers at least). * NSUrl: all platforms now seem to implement NSItemProviderReading / NSItemProviderWriting. * NSString: all platforms now seem to implement both NSItemProviderReading and NSItemProviderWriting * UIColor: * UIImage: Update inlined protocol members according to the latest beta. Additionally, due to the following conditions: * The protocols all have the correct members now. * In the API definition we tell the generator to inline members from a protocol by inheriting from the corresponding interface. * The generator doesn't inline static members from protocols. several 'new' keywords had to be added to silence a compiler warning that occurrs when we manually inline a static member, since the member would be included in the type both from the inherited interface and the manual implementation. * [Foundation] Comment out NSItemProviderWriting.GetItemProviderVisibility to avoid inlining/generating unusable methods. NSItemProviderWriting.GetItemProviderVisibility is an optional method, and none of the native classes that implements NSItemProviderWriting actually imlements the method. This means inlining the method in those classes ends up creating unusable API; so just comment out the method to avoid generating the unusable API. The introspection tests found this: [FAIL] Foundation.NSString : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Foundation.NSUrl : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Contacts.CNContact : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] MapKit.MKMapItem : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIColor : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIImage : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] iOSApiSelectorTest.ApiSelectorTest.StaticMethods : 6 errors found in 2348 static selector validated: See also https://bugzilla.xamarin.com/show_bug.cgi?id=59308 * [iosurface] Add missing [TV] attributes (#2619) * [opengles] Enable the new API using IOSurface (#2618) The symbol only exists inside device libraries, not on simulator, and the introspection tests were updated to ignore it. Part of https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [avfoundation][watchos] Enable AudioBufferList (fix #59145) + audit (xtro) (#2617) 1. AudioBufferList is part of CoreAudio (wrong namespace, which needs a few changes in the generator) and now available in watchOS 4 https://bugzilla.xamarin.com/show_bug.cgi?id=59145 2. Also fixes xtro found issues: !missing-type! AVAudioRecorder not bound !missing-selector! AVAudioRecorder::averagePowerForChannel: not bound !missing-selector! AVAudioRecorder::channelAssignments not bound !missing-selector! AVAudioRecorder::currentTime not bound !missing-selector! AVAudioRecorder::delegate not bound !missing-selector! AVAudioRecorder::deviceCurrentTime not bound !missing-selector! AVAudioRecorder::format not bound !missing-selector! AVAudioRecorder::initWithURL:format:error: not bound !missing-selector! AVAudioRecorder::initWithURL:settings:error: not bound !missing-selector! AVAudioRecorder::isMeteringEnabled not bound !missing-selector! AVAudioRecorder::isRecording not bound !missing-selector! AVAudioRecorder::peakPowerForChannel: not bound !missing-selector! AVAudioRecorder::recordAtTime: not bound !missing-selector! AVAudioRecorder::recordAtTime:forDuration: not bound !missing-selector! AVAudioRecorder::recordForDuration: not bound !missing-selector! AVAudioRecorder::setChannelAssignments: not bound !missing-selector! AVAudioRecorder::setDelegate: not bound !missing-selector! AVAudioRecorder::setMeteringEnabled: not bound !missing-selector! AVAudioRecorder::settings not bound !missing-selector! AVAudioRecorder::url not bound !missing-protocol! AVAudioRecorderDelegate not bound !missing-selector! AVAudioEngine::inputNode not bound !missing-selector! AVAudioEngine::manualRenderingBlock not bound !missing-selector! AVAudioInputNode::setManualRenderingInputPCMFormat:inputBlock: not bound !missing-selector! AVAudioPlayer::format not bound !missing-selector! AVAudioSession::requestRecordPermission: not bound !unknown-field! AVFileType3GPP bound !unknown-field! AVFileType3GPP2 bound !unknown-field! AVFileTypeAC3 bound !unknown-field! AVFileTypeAIFC bound !unknown-field! AVFileTypeAIFF bound !unknown-field! AVFileTypeAMR bound !unknown-field! AVFileTypeAVCI bound !unknown-field! AVFileTypeAppleM4A bound !unknown-field! AVFileTypeAppleM4V bound !unknown-field! AVFileTypeCoreAudioFormat bound !unknown-field! AVFileTypeDNG bound !unknown-field! AVFileTypeEnhancedAC3 bound !unknown-field! AVFileTypeHEIC bound !unknown-field! AVFileTypeHEIF bound !unknown-field! AVFileTypeJPEG bound !unknown-field! AVFileTypeMPEG4 bound !unknown-field! AVFileTypeMPEGLayer3 bound !unknown-field! AVFileTypeQuickTimeMovie bound !unknown-field! AVFileTypeSunAU bound !unknown-field! AVFileTypeTIFF bound !unknown-field! AVFileTypeWAVE bound * [Metal] Implement API using IOSurface now that IOSurface is implemented. Partially fixes #58054. (#2621) https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [PdfKit] Improve PdfAnnotation.QuadrilateralPoints binding by making it strongly typed. (#2620) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). (#2622) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). * [ARKit/Vision] Use the new simd vector types instead of the OpenTK versions. * [ModelIO] Use the new simd vectors in new API (MDLVoxelIndexExtent2). This way we won't have to create a MDLVoxelIndexExtent3 in the future. * [SpriteKit] Use the new simd vectors in new API. * [metal] Audit (xtro) based fixes (#2623) !extra-protocol-member! unexpected selector MTLArgumentEncoder::newArgumentEncoderForBufferAtIndex: found !extra-protocol-member! unexpected selector MTLComputeCommandEncoder::dispatchThreads:threadsPerThreadgroup: found macos-only !missing-field! MTLDeviceRemovalRequestedNotification not bound !missing-field! MTLDeviceWasAddedNotification not bound !missing-field! MTLDeviceWasRemovedNotification not bound !missing-pinvoke! MTLCopyAllDevices is not bound * [CloudKit] Update bindings to beta 6. (#2615) * [FileProvider] Turn NSFileProviderItemIdentifier enum into a static class, fixes bug 59329 (#2634) https://bugzilla.xamarin.com/show_bug.cgi?id=59329 At the time of binding NSFileProviderItemIdentifier it wasn't clear how it was supposed to be used, I mean apple provides two keys which I thought were the only possible values hence binding it as an smart enum. Unfortunately this wasn't the case and the user can use those two values provided from the SDK or their own NSString Identifier. Swift provides a wrapper unfortunately we can't do the same due to NSFileProviderItemIdentifier is used in the NSFileProviderItem protocol and we currently do not support changing signatures on them. * [mtouch] Teach mtouch about the 'IOSurface' framework for tvOS. Fixes #59333. (#2630) https://bugzilla.xamarin.com/show_bug.cgi?id=59333 * Bump Touch.Unit to get fix for API breakage. (#2631) spouliot/Touch.Unit@8f1e19d [NUnitOutputTextWriter] Reintroduce previous constructor to make sure we don't break binary ABI. spouliot/Touch.Unit@00b0c0b [NUnitOutputTextWriter] Don't write invalid xml comments. spouliot/Touch.Unit@de9fe20 [TouchRunner] Restore the original code path when not wrapping NUnit xml output. * [IOSurface] Add missing availability attributes for tvOS. (#2629) * Bump versions for preview 9 (#2624) * [AVFoundation] Add missing interface AVRouteDetector. (#2637) * [tests] Update xtro to reduce list sizes (#2636) * Skip OpenTK duplicate declaration (we can't change them); * Fix rule name change for ARKit / simd; * Add missing default initializer on `init` to pending actions; * Add note for AVPersistableContentKeyRequest changes wrt tvOS; * [ReplayKit] Make RPBroadcastActivityViewController.LoadBroadcastActivityViewController async-capable. (#2639) * [xcode9] More SceneKit bindings (#2633) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 (#2644) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 https://bugzilla.xamarin.com/show_bug.cgi?id=59380 vector_float3 is 16 bytes, which means the binding is incorrect, because Vector3 is 12 bytes, and our code does not that difference into account. * Add tests * [DeviceCheck] Disable default ctor for DCDevice. (#2642) It doesn't seem to be useful according to the documentation, since it appears that the only way to get an instance is to use the static CurrentDevice property. * [audiounit] Audit (xtro) fixes for tvOS (#2635) Availability attributes in non-generated files don't hide symbols/code. reference: !unknown-pinvoke! AudioUnitExtensionCopyComponentList bound !unknown-pinvoke! AudioUnitExtensionSetComponentList bound * [tests] Make sure tvOS tests don't use the (unexisting) API * [tests] Add all test project variations to tests-mac.sln (#2579) * [xharness] Make sure generated mac projects have different project guids. * [introspection] Change the project guid so that it doesn't match the dontlink-mac project guid. * [tests] Add all test project variations to tests-mac.sln. * [xharness] Fix else condition. * [FileProvider] Adds missing NSFileProviderPage constants, fixes bug 59297. (#2646) https://bugzilla.xamarin.com/show_bug.cgi?id=59297 Adds NSFileProviderInitialPageSortedByName and NSFileProviderInitialPageSortedByDate NSData constants * [Xcode9] Remove NSFileProviderMessage and NSFileProviderMessageInterface (#2647) APIs were removed in beta 2 * [Foundation/UIKit] Provide LoadObject[s] methods that return the expected type in the callback. Fixes #59049. (#2638) The callback for these LoadObject[s] methods take an INSItemProviderReading parameter. This tells our runtime that we must provide an instance of a managed object that implements this interface (but nothing else), so we create a `NSItemProviderReadingWrapper` instance, which complies with the API (since the wrapper type implements the corresponding interface). Unfortunately these methods are supposed to return an instance of the passed- in type, so in order to comply with this soft (documentation-only) requirement, provide a wrapper method that creates instances of the right types. https://bugzilla.xamarin.com/show_bug.cgi?id=59049 * [arkit] Ignore deprecated selectors (#2645) * [FileProvider] Adds missing protocol and keys from audit (#2652) ``` !missing-protocol! NSFileProviderServiceSource not bound !missing-field! NSFileProviderErrorCollidingItemKey not bound !missing-field! NSFileProviderErrorNonExistentItemIdentifierKey not bound !missing-field! NSFileProviderFavoriteRankUnranked not bound ``` Also adds `NSXpcListenerEndpoint` to foundation, needed by `NSFileProviderServiceSource` protocol. * [tests][xtro] Workaround xtro runner dupe entry exception and update data files (#2654) * [AVFoundation] Rename field to match others. (#2657) * [homekit] Audit (xtro) fixes (#2653) - HMCharacteristicEvent conforms to NSMutableCopying on iOS11 which makes it 64 bits only (so adjust intro tests) - Ignore extra setters on HMMutablePresenceEvent, rdar 33883958 !missing-selector! HMMutablePresenceEvent::setPresenceEventType: not bound !missing-selector! HMMutablePresenceEvent::setPresenceUserType: not bound * [xtro] Add missing pinvoke to pending (#2662) - Bug 59422: [uikit] Missing UIContentSizeCategoryCompareToCategory & UIContentSizeCategoryIsAccessibilityCategory (https://bugzilla.xamarin.com/show_bug.cgi?id=59422) * Merge latest d15-3 fixes into xcode9 (#2660) * [msbuild] Re-added wildcard (*) expandsion for application-identifier in Entitlements.plist (#2186) Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=57119 * Bump mono (#2213) * Framework tests were still binding non-linked Simple class which errors now (#2216) (#2218) - Improve Makefile to rebuild when projects build with errors * Bump mono to get cecil fix for bug #56808. (#2222) https://bugzilla.xamarin.com/show_bug.cgi?id=56808 * [msbuild] Use @(ReferencePath) instead of @(ResolvedFiles) (#2188) (#2214) This allows things to work on both xbuild and msbuild. In xbuild, both lists are exactly the same and on msbuild, only @(ReferencePath) exists. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=55147 * NSActivityOptions.IdleDisplaySleepDisabled had wrong value (#2232) (#2239) This was due to an integer overflow. The original value was based on Int32 1 << 40 == 256 The correct value should be based on a UInt64. 1UL << 40 == 1099511627776 * [tests] Fix bug 57699 - [iOS]InternalsTest failure (Linkall) tests on device (#2243) Strip native debugging symbols should not be checked for debug builds * Bump mono to get fix for bug #57780. https://bugzilla.xamarin.com/show_bug.cgi?id=57780 * Update .gitmodules Change branch to d15-3 branch of mono * Bump maccore to get fix for bug #55064. https://bugzilla.xamarin.com/show_bug.cgi?id=55064 * [mono] Bump mono to get the head of cecil/mono-2017-04 and fix IsComObject #57919 Also fix #58789 [1], the typo in tools/mtouch/Tuning.cs showing in MT0000 errors instead MT2102. That's already in master and d15-4 mono bump includes: [2] commit 2a6502cee0df9de5198eafe7c8b5f6ac25106f34 (HEAD -> d15-3, origin/d15-3) Merge: 02457c20fcf 5e05cafc6f1 Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 10:04:06 2017 -0400 Merge pull request #5401 from marek-safar/com [Marshal.IsComObject] Make this predicate return false instead of thr… [3] commit 02457c20fcf57c0610e844d638eb1da82b5d1eb0 Merge: da80840ea55 73fd9a1b82e Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 09:59:06 2017 -0400 Merge pull request #5400 from spouliot/bump-cecil-58834-d15-3 [cecil] Bump to the head of the mono-2017-04 branch and pick the fix for bug #58834 References [1] https://bugzilla.xamarin.com/show_bug.cgi?id=58789 [2] https://bugzilla.xamarin.com/show_bug.cgi?id=57919 [3] https://bugzilla.xamarin.com/show_bug.cgi?id=58834 * [mtouch] Put 'mono_profiler_startup_log' in the symbol list. Fixes #58778. (#2501) We need the 'mono_profiler_startup_log' symbol when profiling is enabled, so make sure to add the symbol to the correct list of symbols we need. Previously we were passing `-u _mono_profiler_startup_log` to clang directly, which is fine, but not complete, since it does not write the symbol to the symbollist file (--symbollist=file), which means it wouldn't be preserved when the MSBuild tasks strip the executable. https://bugzilla.xamarin.com/show_bug.cgi?id=58778 * Bump versions for SR3 https://trello.com/c/EVze08ei * Bump mono to include HttpClientHandler fix #44027 https://trello.com/c/jYFXadH8/8-systemnethttp-close-request-stream-when-httpclienthandler https://bugzilla.xamarin.com/show_bug.cgi?id=44027 * [FileProvider] Add missing API and turn NSString to string (#2663) Turned NSString to string in order to match exisiting API. * [uikit] Add UIPasteConfigurationSupporting and UITextPasteConfigurationSupporting (#2649) - Fixes bug #59363: Missing UIPasteConfigurationSupporting, UITextPasteConfigurationSupporting, UITextDraggable and UITextDroppable on a couple of types (https://bugzilla.xamarin.com/show_bug.cgi?id=59363) * [uikit] Remove 129 types in UIPasteConfigurationSupporting case * [scenekit] Audit (xtro) fixes (#2648) This looks like an Apple breaking change (since `SCNAnimation` is new) but we now have: > typedef void (^SCNAnimationEventBlock)(id<SCNAnimation> animation, id animatedObject, BOOL playingBackward); bound as > delegate void SCNAnimationEventHandler (CAAnimation animation, NSObject animatedObject, bool playingBackward); and `CAAnimation` conforms to `SCNAnimation` but *only* the later is available on watchOS. The delegate is only updated (since it's new) on our watchOS profile. xtro references: (watchos) !unknown-protocol! SCNCameraControlConfiguration bound (tvos/watchos) !missing-selector! SCNAnimation::animationEvents not bound !missing-selector! SCNAnimation::setAnimationEvents: not bound !missing-selector! SCNConstraint::isEnabled not bound !missing-selector! SCNConstraint::setEnabled: not bound !missing-field! SCNSceneSourceConvertToYUpKey not bound !missing-field! SCNSceneSourceConvertUnitsToMetersKey not bound (ios/tvos) !missing-protocol-conformance! SCNNode should conform to UIFocusItem * Bump maccore post 15.3 merge (#2665) * Bump Xcode 9 to GM (#2667) * Force build (on wrench) * [avfoundation] Fix breaking changes (apidiff) (#2664) * [TVServices] Update to Xcode 9 GM (#2675) * [GameController] Update to Xcode 9 GM (#2673) * [LocalAuthentication] Update to Xcode 9 GM (#2671) * [LocalAuthentication] Update to Xcode 9 GM * Remove availability from BiometryNotAvailable, BiometryNotEnrolled and BiometryLockout * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer (#2659) * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer Some of the new added types were already present BUT under a #if MONOMAC, they had to be moved. * [AVFoundation] Set the wrongly added API to be obsolete and ensure it returns logical values. (#2650) * [xtro] The right platform for macOS is 'macos', not 'osx'. (#2677) The platform name is used to filter availability attributes, and if we use the wrong platform, we'll incorrectly skip all availability attributes. The net result in unclassified entries: https://gist.github.com/rolfbjarne/a4474bc2a40c49a85cad495b51bb514f * Various Xcode 9 API improvements and also fixes bug 59433 (#2676) https://bugzilla.xamarin.com/show_bug.cgi?id=59433 While fixing bug 59433 I noticed some additional issues outlined below: AVDepthData: * Renamed **non** static `Create` methods because `Create` only makes sense with the **Static** method in this context. Also by renaming the methods we are now closer to the names that swift uses. * Kept descriptive method names in favor of self-documenting code. `Convert`, `Apply` and `Replace` do not fully give us the intent of the method. * Added a convenience `Create` static method that takes a `CGImageAuxiliaryDataInfo`. * AvailableDepthDataTypes is now an array of `CVPixelFormatType` instead of a `NSNumber` array (The aactual fix for bug 59433). ImageIO: * Refactored `CGImageAuxiliaryDataInfo` to be a `StrongDictionary` in order to avoid most of the manual code and also to avoid reimplementing the `ToDictionary` method (which contained a subtle bug). * Adjusted code to reflect the above change. * Added missing `.ctor (IntPtr, bool)` to `CGImageMetadata` so the class is able to be created by our `Runtime.Get*`. * Simplified `CopyAuxiliaryDataInfo` method by using `CGImageAuxiliaryDataInfo` as a `DictionaryContainer`. Tests: * Added `xamarinmonkey.heic` which is an image that contains depth data needed to test above changes. * Adds `AVDepthDataTests` that touches most of the changes listed here. * Tweak the Simd-compatible matrices and vectors (#2668) * Rename them to be OpenTK.NMatrix# (instead of Simd.MatrixFloat#x#). * Remove the Vector2 and Vector4 variants, we'll use the OpenTK types instead (but we'll keep the NVector3 variant, since it's not identical to the OpenTK version). * Update the API to match their OpenTK counterparts better: * NMatrix2 and NMatrix3 have a 0-based R#C# scheme for their fields. * NMatrix4 has a 1-based M## scheme for its fields (i.e. no change). * [AVFoundation] Use Simd-matrix for API that needs it. (#2679) This also requires implementing the corresponding matrix (NMatrix4x3). Fixes this xtro issue: > !unknown-simd-type-in-signature! OpenTK.Matrix3 AVFoundation.AVCameraCalibrationData::get_GetIntrinsicMatrix(): the native signature has a simd type (matrix_float3x3), while the corresponding managed method is using an incorrect (non-simd) type. * [xtro] Fix checking availability on categories. (#2682) When checking for category availability, check if both the current declaration is a category, and if the current's declaration container is a category. Otherwise this scenario fails: * Category method is available. * Category does not have availability attributes. * Main class is unavailable. with this typical code sequence: ```csharp // don't process methods (or types) that are unavailable for the current platform if (!decl.IsAvailable () || !(decl.DeclContext as Decl).IsAvailable ()) return; ``` In which case we'd: * First check the method (`decl`): * It's available, so no further checks is done on the method. * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container's container is a category (it isn't, it's the namespace). and as such determine that the method is available. With this change, the second step will become: * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container is a category (it is), and if its main class is available (it isn't). and as such determine that the method is unavailable. * Check for attributes on the method's container (no attributes, so we continue). * Check if the method's Unclassified diff: https://gist.github.com/rolfbjarne/8fa80962596978a426eadf9b7ba39dc1 * [uikit] Update for Xcode 9 GM (#2670) * [AVFoundation] Implement AVCapturePhoto. Partially fixes #59388. (#2678) Fixes: > common.unclassified:!missing-type! AVCapturePhoto not bound https://bugzilla.xamarin.com/show_bug.cgi?id=59388 * Use strong dictionaries for AVCapturePhoto.Metadata and AVCapturePhoto.EmbeddedThumbnailPhotoFormat. * [SIMD] Implement Simd double types (VectorDouble3/MatrixDouble4x4). (#2632) The following types will be used by ModelIO bindings * Fix delta to be double * Rename Simd-compatible matrices and vectors to match our final naming. This also means removing the new Vector2 and Vector4 variants (but not Vector3). * [avfoundation] Remove AVAssetDownloadDelegate.DidLoadTimeRange since it was removed in one of the betas (#2687) * [foundation] Move NSUrlSessionMultipathServiceType to a file processed by the generator (for the availability attributes) (#2688) * [arkit] Update for Xcode 9 GM (#2681) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes (#2690) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes Type Changed: Intents.INCarSeatResolutionResult Removed methods: public static INCarSeatResolutionResult GetConfirmationRequired (INCarSeat valueToConfirm); public static INCarSeatResolutionResult GetSuccess (INCarSeat resolvedValue); * [avfoundation] Add missing protocol members and deprecations (#2691) !missing-protocol-member! AVCapturePhotoCaptureDelegate::captureOutput:didFinishProcessingPhoto:error: not found and the selector removed from PR#2687 was actually replaced with this one !missing-protocol-member! AVAssetDownloadDelegate::URLSession:aggregateAssetDownloadTask:didLoadTimeRange:totalTimeRangesLoaded:timeRangeExpectedToLoad:forMediaSelection: not found * [tests][xtro] Map some enums, more fix with protocols and update entries (#2692) * [Tests] Reenable dns tests on the watch. (#2674) * [arkit] Add ARBlendShapeLocationOptions strong dictionary (#2696) * [coreimage] Skip not yet bound filters added in Xcode9 (#2698) Tracked in https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * [Metal] Renamed MTLArgumentDescriptor.ArgumentDescriptor to Create, fixes bug 59498 (#2702) https://bugzilla.xamarin.com/show_bug.cgi?id=59498 From [argumentDescriptor docs](https://developer.apple.com/documentation/metal/mtlargumentdescriptor/2915746-argumentdescriptor?language=objc) > Creates an empty argument descriptor. * [msbuild] Always codesign app bundles if the codesign key is non-null (#2697) ...even if it is a simulator build. Turns out that starting with Xcode9, sim builds need to be codesigned for App Groups entitlements to work properly. Interestingly, the DetectSigningIdentity logic had a comment about needing to codesign simulator builds for some entitlements to work already starting with Xcode 8 but apparently the iOS targets did not respect this. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=59379 * [Foundation] Add NSProxy stub in order to workaround bug 59247 (#2693) https://bugzilla.xamarin.com/show_bug.cgi?id=59247 We need to have a better solution that removes all what NSProxy does not responds to. Right now this works because NSObject implements NSObject protocol just like NSProxy, but NSProxy responds to far less selectors hence doing it internal so it is not a breaking change when we provide the correct fix. * Keep NSProxy around and avoid XML linker description We need to keep NSProxy (avoid linking it) if WKNavigationDelegate or IWKNavigationDelegate is used. We know WKWebView will be there and can hold a reference to it. * [Xcode 9] Update Metal for GM (#2689) * [iosurface] IOSurface is not usable before iOS/tvOS 11. Fixes #59201 (#2706) Apple rejects apps that links with the previously private IOSurface.framework. We were not sure about this [1] and had it disabled (this is removed). However another bug stopped our adjustment logic [2] from being executed. This is needed since `clang` picks up the private framework if it does not find the public one (even when asking for a weak framework), [1] https://bugzilla.xamarin.com/show_bug.cgi?id=59201 [2] Added a while ago for JavascriptCore * Bump maccore to point to commit with the docs fix. (#2703) * Bump XI to 11.0.x (and XM to 3.99.9.x) (#2684) * fix typo
2017-09-16 00:53:16 +03:00
[Export ("screenSpaceAmbientOcclusionDepthThreshold")]
nfloat ScreenSpaceAmbientOcclusionDepthThreshold { get; set; }
[Watch (4, 0), TV (11, 0), Mac (10, 13, onlyOn64: true), iOS (11, 0)]
Merge xcode9 into d15-4[-xi] (#2710) * [FileProvider] Add Xcode 9 Beta 1, 2 & 3 Bindings (#2279) * [FileProvider] Add Xcode 9 Beta 1 Bindings * Better naming * Feedback not related to BindAs * [FileProvider] Removes BindAs, add manual code for it and updated to Beta 3 * [FileProvider] Implement feedback * [CoreSpotlight] Updated spotlight bindings for xcode 9 beta 3. (#2193) Updated spotlight bindings for xcode 9 beta 3. * Fix warning caused by duplicate (#2354) * [FileProviderUI] Add Xcode 9 Beta 1 to 3 bindings (#2356) * Bump to Xcode 9 beta 4 * [arkit] ARLightEstimate does not conform to NSCopying anymore (fix unit test) * [uikit] NSFileProviderExtension.ReparentItem got a new parameter in beta4 (fix unit test) * [coreimage] CIImageAccumulator init returns nil in beta 4 There's no header change to mention `init` is not allowed but it's not clear how this default initializer could be used. Also make public some other API to construct this type (outside of XM). It's not clear why there were `internal` as they are (at least now) part of the header files. * [photos] Add helpers when PHLivePhotoEditingOption/NSDictionary is null (to avoid ambiguous API) (#2360) Adding a strongly typed `PHLivePhotoEditingOption` (a strongly typed version of an `NSDictionary`) can cause a `CS0121` (call is ambiguous) since using a `null` argument is common (only one option exist so far). This PR adds overloads that makes the code nicer in such case, e.g. before Xcode9: > // null is used when no options are given > _foo.SaveLivePhoto (output, null, completion); current (Xcode 9) > // casting required to remove ambiguity with PHLivePhotoEditingOption > _foo.SaveLivePhoto (output, (NSDictionary)null, completion); with this PR > // no option, no argument > _foo.SaveLivePhoto (output, completion); The same applies to `PrepareLivePhotoForPlayback`. * [tests] Disable/tweak two tests that breaks on (almost) all Xcode updates Those tests were not added to validate xOS so just keep the parts that helps us (without constantly checking back the new break flavor) * Disable watchOS to check if this hides others issues * [mapkit] Update for beta 4 * [coredata] Update for beta 4 * [wkwebkit] Update for beta 4 Note: WKWindowFeatures.h is not compiled (part of the framework umbrella) and the `@interface WKWindowFeatures (WKPrivate)` sounds like it should not have been exposed (it's all fields starting with `_`) * [corelocation] Update for beta 4 * Revert "Disable watchOS to check if this hides others issues" This reverts commit fed2249fa43290a1956ab2fe0d48f83ab6db9711. * [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]: https://github.com/xamarin/xamarin-macios/blob/f5956d6cc1eb5dfa7bab16628cf282d40237f64e/src/generator.cs#L5985 * [FinderSync] Update to beta 4 (#2377) * [ImageIO] Update to Xcode 9 (#2353) * [PhotosUI] Move macOS photosui bindings out of photos.cs into photosui.cs (#2358) * [quicklook] Update up to beta 4 (#2374) * [uikit] UIDragInteraction & UIDragInteractionDelegate (Xcode 9 b1,2,3) (#2357) * [safariservices] Update up to beta 4 (#2380) * [coreanimation] Update to beta 4 (#2382) Apple removed (mistake?) some API in beta 1. Filed as rdar 33590997 Internal tracking in https://trello.com/c/J8BDDUV9/86-33590997-coreanimation-quartzcore-api-removals * [storekit] Update up to beta 4 (#2379) * [CoreML] Update to Xcode 9 Beta 4 (#2387) * [uikit] UICollectionView/UITableView Drag & Drop (Xcode 9 b1,2,3 & 4) (#2355) * Update code after radar 32929318 and 32897776 are fixed in b4 (#2394) * [xcode9 CoreAudio] New definitions from Beta1 to Beta3 (#2359) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 (#2397) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 https://bugzilla.xamarin.com/show_bug.cgi?id=58512 Created strong API (VNBarcodeSymbology) on the following properties * VNDetectBarcodesRequest.SupportedSymbologies * VNDetectBarcodesRequest.Symbologies * VNBarcodeObservation.Symbology * Remove modern C# because classic can't do it 😡 * [mediaplayer] Update up to beta 4 (#2388) * [watchkit] Update to beta 4 (#2398) * Bump Visual Studio for Mac max version (#2408) * [coreimage] Add CIBarcodeDescriptor and enabled missing API for VNBarcodeObservation. Fix #58197 (#2411) https://bugzilla.xamarin.com/show_bug.cgi?id=58197 * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 (#2407) * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 * [uikit] Fixes based on comments * [coreimage] CIImageAccumulator API fixes. Fix #58349 (#2412) * Obsolete the default `init`; * XM exposed some older APIs using `int` instead of `CIFormat`. This is fixed and old APIs are obsoleted; * Both new & old APIs are now using `CIFormat` for both XI and XM. https://bugzilla.xamarin.com/show_bug.cgi?id=58349 * [uikit] UIText drag & drop - up to Xcode 9 beta 4 (#2410) * [uikit] UISplitView & UIStackView up to Xcode 9 beta 4 (#2425) * Bump XI/XM versions before preview 4 (#2422) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 (#2378) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 * [PDFKit] Implement feedback * [PDFKit] the forgotten enum * [PDFKit] More feedback * [PDFKit] Add Mac changes * Missing change * Fix test RectangleF VS CGRect * Pass -Wunguarded-availability-new to quiet a new clang warning (#2424) - https://bugzilla.xamarin.com/show_bug.cgi?id=58574 * [mtouch/mmp] Ignore warnings about unguarded code section with regards to availability. (#2441) * [monotouch-test] Remove workaround for fixed Apple bug. (#2445) * Bump to Xcode 9 beta 5. (#2447) * Bump to Xcode 9 beta 5. * [mmp] Disable the partial static registrar, because Apple's macOS SDK is broken. > In file included from Xamarin.Mac.registrar.mobile.i386.m:1: > In file included from ./Xamarin.Mac.registrar.mobile.i386.h:11: > /Applications/Xcode9-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVFoundation.h:88:9: fatal error: 'AVFoundation/AVRouteDetector.h' file not found https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [mmp] Fix partial static registrar removal. * [CallKit] Update to Xcode 9 beta 5. * [ARKit] ARPointCloud doesn't conform to NSCopying anymore in Xcode 9 beta 5. * [ARKit] Update to Xcode 9 beta 5 enough to make tests happy. * [CoreImage] Stub out new filters in Xcode 9 beta 5. * [tests][monotouch] Simplify some MDLMesh asserts since values change a lot between OS versions. * [mmp] Default to the dynamic registrar for release builds again, due to bug #58629. https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [tests][introspection] CXCall started implementing NSCopying without saying so in the headers. * Disable mmp static registrar tests due to 58629 for now * [quicklook] Update to beta 5 (#2450) * [photos] Update for beta 5 (#2452) Also update some existing enum members were added in beta 1 on macOS * [safariservices] Update for beta 5 (#2455) * [mediaplayer] Update to beta 5 (#2456) * [CoreLocation] Update Xcode 9 Beta 5 (#2453) * [CoreML] Update to Xcode 9 Beta 5 (#2454) * [Contacts] Update to Xcode 9 Beta 5 (#2451) * [Vision] Update to Xcode 9 Beta 5 (#2458) * [builds] Tell LLVM to stay away from newer macOS functions. (#2459) Fixes this build problem on Sierra: > ld: weak import of symbol '_futimens' not supported because of option: -no_weak_imports for architecture x86_64 This is a symbol that was (will be?) introduced in High Sierra. Interestingly this only occurs if the Xcode 8.X Command Line Tools haven't been manually installed. Because if the Xcode 8.X Command Line Tools are installed, this happens: 1. llvm's configure script detects that 'futimens' is not usable. 2. llvm's configure script detects that 'futimens' is not usable, because xcrun sets SDKROOT=/ when calling clang. a. When the SDKROOT variable is set, clang passes '-syslibroot /usr/lib' to ld. b. When ld gets '-syslibroot /usr/lib', ld looks in '/usr/lib' for a library that contains 'futimens' in the OS itself, and since we're on Sierra, that fails to link. c. So when llvm's configure script creates a test program that checks if 'futimens' is present, the program fails. This is correct, and makes llvm *not* use futimens. 3. xcrun sets SDKROOT=/ because /usr/share/current-os.sdk/Info.plist exists. If that file does not exist, then xcrun sets SDKROOT to Xcode9's macOS SDK (because that's what xcode-select reports). a. When SDKROOT is set to Xcode9's macOS SDK, the configure check for 'futimens' succeeds, because the macOS 10.13 SDK contains that function. b. llvm happily uses 'futimens', and then the final link fails because we're using a symbol not available on all target platforms. * [arkit] Update for Xcode 9 beta 5 - Part 1 (#2460) * [tests] The container app for watchOS tests should be 64-bit. (#2463) * [xharness] watchOS tests need to run in a clean environment. Works around #58348. (#2462) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [xharness] It watchOS tests don't need to be clean anymore. Fixes #58348. (#2473) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [uikit] UIView/UIScrollView/UIViewController up to Xcode 9 beta 5 (#2431) - Add NSDirectionalEdgeInsets type. - Includes DirectionalEdgeInsetsTest. * [AudioToolbox] Update bindings to Xcode 9 beta3 (not later changes). (#2294) * [xharness] Add a file existence check. (#2478) Fixes this exception: ``` Harness exception for 'introspection': System.IO.FileNotFoundException: Could not find file '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log'. File name: '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log' at System.IO.__Error.WinIOError (System.Int32 errorCode, System.String maybeFullPath) [0x00207] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/__error.cs:188 at System.IO.FileInfo.get_Length () [0x00038] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/fileinfo.cs:171 at xharness.CaptureLog.StopCapture () [0x00021] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Log.cs:252 at (wrapper remoting-invoke-with-check) xharness.CaptureLog:StopCapture () at xharness.AppRunner+<RunAsync>d__68.MoveNext () [0x0127f] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/AppRunner.cs:642 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter`1[TResult].GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:357 at xharness.RunSimulatorTask+<RunTestAsync>d__7.MoveNext () [0x0029d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2894 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.RunTestTask+<ExecuteAsync>d__8.MoveNext () [0x0010b] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2538 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.TestTask+<RunInternalAsync>d__87.MoveNext () [0x0010d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:1870 ``` I'm not sure how this can happen, but it has on the bots [1]. [1] https://jenkins.mono-project.com/job/xamarin-macios-pr-builder/4548/Test_Report/ * Bump versions for preview 5 (#2479) * [passkit] Update to beta 5 (#2481) * [tests] Remove workaround for radar #32688391. (#2486) * [replaykit] Update up to beta 5 (#2484) * Bump maccore to get fix for bug #55064. (#2487) * [apidiff] Update definition to new 10.12 (d15-3) stable release (#2490) * [SceneKit] basic work (#2483) * [coredata] Update to beta 5 (#2488) * [homekit] Update for Xcode 9 beta 5 (#2492) * [Foundation] Update for xcode9 (#2468) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 (#2493) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 * [Intents] Implement feedback * [Intents] Add a generic version for INInteraction.GetParameterValue * [Intents] Missing check * [Contacts] Add missing foundation NSItemProviderWriting protocol to CNContact (#2496) https://bugzilla.xamarin.com/show_bug.cgi?id=58203 This is available on all Contacts supported platforms ``` ./iPhoneOS.platform/Developer/SDKs/iPhoneOS11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchOS.platform/Developer/SDKs/WatchOS4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchSimulator.platform/Developer/SDKs/WatchSimulator4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ``` * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) (#2497) * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) * [IntentsUI] Better use a delegate instead so we have named params * Bump versions before 6th preview (#2514) * [arkit] Add missing MarshalDirective to ARPlaneAnchor (#2517) - Fixes bug #58648: ARPlaneAnchor.Extent property seems incorrect but changes to correct value after Debug access (https://bugzilla.xamarin.com/show_bug.cgi?id=58648) * [xtro-sharpie] Fix a compiler warning. (#2516) Fixes these warnings: Runner.cs(197,5): warning CS0642: Possible mistaken empty statement Runner.cs(199,5): warning CS0642: Possible mistaken empty statement Runner.cs(201,5): warning CS0642: Possible mistaken empty statement Runner.cs(203,5): warning CS0642: Possible mistaken empty statement Runner.cs(205,5): warning CS0642: Possible mistaken empty statement * [uikit] Update for Xcode 9 beta 5 - Part 3 (#2511) - UIKeyCommand - UINavigationBar - UINavigationItem - UIPasteboard - UITableViewHeaderFooterView * [xtro-sharpie] Remove xtro-plugin and misc other fixes. (#2522) * [xtro-sharpie] Build with msbuild and be as quiet as requested when building. * [xtro-sharpie] Must run as a 64-bit process, since the required native libraries are 64-bit. * [xtro-sharpie] Add run configurations to the project file to ease debugging in the IDE. * [xtro-sharpie] Remove xtro-plugin and the related commands. This was needed when there wasn't a 64-bit mono, in order to run xtro-sharpie in a 64-bit process. Now there is a 64-bit mono, so it's not needed anymore. Also improve makefile targets a bit, to auto-build stuff when needed, by setting the right dependencies. * Bump Xcode 9 to beta 6 (#2519) Disable watchOS tests again It seems like the Carousel crash from beta 4 is back to haunt us. This was working fine with beta 5. * Backport d15-3 SR2 fixes (#2515) * [coredata] Update to beta 6 (#2528) This seems to only revert some nullability changes from beta 5. * [coreml] Update to beta 6 (#2531) Fix our rdar 33643011 where additional setters were added in the headers but did not exists. * [videosubscriberaccount] Update to beta 6 (#2533) Only b1 and b2 introduced some additions/changes * [uikit] Update for Xcode 9 beta 6 - Part 4 (#2527) The following headers are now up to date: - UICollectionViewFlowLayout.h - UIDocumentPickerViewController.h - UIFontDescriptor.h - UIImage.h - UIImageView.h - UIImagePickerController.h * [xharness] Re-enable the watchOS tests. (#2534) It works fine for me locally, so let's see what Jenkins says. * [macos] Add new APIs in CoreWlan from Xcode9b3 (#2525) * Update AppKit bindings based on radar 33271241 results (#2518) * Update AppKit bindings based on radar 33271241 results - The header comment was updated to note it was NSSliderTouchBarItem view that has the protocol * Remove NSUserInterfaceCompression where not listed in header * [vision] Update to beta 6 (#2532) Removal of some deprecated (during beta) `init*` selectors. Also sync the versions that were inlined in subclasses - the old ones were not removed and the new ones were not added. * [xtro-sharpie] Many methods don't have selectors in Clang's API, so default to the name if no selector. (#2523) This makes a few more unclassified entries show up (mostly missing designated initializers): https://gist.github.com/rolfbjarne/07aa20f9b50b75bf3e69ac6a825e873a * [macos] Add ExternalAccessory APIs from xcode9 (#2526) * [58851] Disable NSMenuView in AllItemsWithNSMenuShouldAllowNull (#2504) * [arkit] Update for Xcode 9 beta 5 - Part 2 (#2505) - Add last missing selector. - Add tests for manual code. * [monotouch-test] Disable FontDescriptorTest.WithFeature (#2537) Disabled because it looks like the tvOS font we use: "Gujarati Sangam MN" does not have rare ligatures anymore (and the entire test is based on it). Before getting an actual fix for that, let's disable the test so it doesn't break all current builds. See: https://bugzilla.xamarin.com/show_bug.cgi?id=58929 * [xtro-sharpie] Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute. (#2524) Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute to calculate the native name for a TypeDefinition. Unclassified changes: https://gist.github.com/rolfbjarne/828f8ee41eebb0a3b60a38d71822fe59 * [foundation/uikit] Inline NSItemProvider_UIKitAdditions in NSItemProvider (#2538) As suggested here: https://github.com/xamarin/xamarin-macios/pull/2527#discussion_r134670981 * [intents] Fix breaking changes (api-diff) (#2543) Additions of @required members inside `INSpeakable` cannot be `[Abstract]` * [contacts] Fix breaking change (api-diff) (#2542) Type Changed: Contacts.CNPostalAddress Removed method: public static string LocalizeProperty (CNPostalAddressKeyOption option); * [macos] Reenable static registrar since Xcode9b6 un-broke SDK headers (#2544) - Fix a subtle spacing issues in PartialStaticLibrary property * [corebluetooth] Update up to beta 6 and enable it on watchOS (#2540) macOS 10.13 has finally catch up with iOS and this simplifies the bindings a bit. * [foundation] API fixes (apidiff) (#2545) 1. Let's not add new, already [Obsolete] API Type Changed: Foundation.NSDimension Added constructors: [Obsolete ("Not intended to be directly instantiated, this is an abstract class.")] public NSDimension (); 2. Fix inconsistently named API, e.g. Type Changed: Foundation.NSAttributedString Added properties: public static string[] ReadableTypeIdentifiersForItemProvider { get; } public static string[] WritableTypeIdentifiers { get; } * [pdfkit] Do not add already [Obsolete] API in new profiles (#2547) and ensure using the newer, correct API works cross-platforms iOS (before) [Obsolete ("Use 'Find (string, NSStringCompareOptions)' instead.")] public virtual PdfSelection[] Find (string text, nint options); public PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'Find (string, PdfSelection, NSStringCompareOptions)' instead.")] public virtual PdfSelection Find (string text, PdfSelection selection, nint options); public void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string, NSStringCompareOptions)' instead.")] public virtual void FindAsync (string text, nint options); public void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string [], NSStringCompareOptions)' instead.")] public virtual void FindAsync (string[] text, nint options); iOS (after) public virtual PdfSelection[] Find (string text, Foundation.NSStringCompareOptions compareOptions); public virtual PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); * Bump versions for the 7th preview (#2541) * Remove additions of AVKit removed in beta5 (#2536) * NSUrlSessionTask should implement NSProgressReporting for iOS (#2548) NSUrlSessionTask implements NSProgressReporting on iOS as well as Mac, so the #if MONOMAC isn't needed. * Add missing availability attributes causing failures on older iOS versions (#2550) * [vision] Minor fix wrt xtro (#2551) including some things we need to ignore manually !missing-field! VNVisionVersionNumber not bound !missing-pinvoke! VNImagePointForFaceLandmarkPoint is not bound !missing-pinvoke! VNNormalizedFaceBoundingBoxPointForLandmarkPoint is not bound * [uikit] NSFileProviderMessaging was removed in beta 2. Fixes #58222 (#2552) reference: https://bugzilla.xamarin.com/show_bug.cgi?id=58222 * [uikit] Update for Xcode 9 - Part 5 (#2546) Bindings for the following headers: - UIActivity.h - UIActivityItemProvider.h - UIAlertController.h - UIApplication.h - UIBarButtonItem.h - UIButton.h - UICollectionViewLayout.h - UIColor.h - UIControl.h - UIDocumentMenuViewController.h - UIFontMetrics.h - UIGestureRecognizer.h - UIGraphicsImageRenderer.h - UIInputViewController.h * [CoreText] Fix an extraneous free in CTFont.GetDefaultCascadeList. (#2555) We do not own the return value from CFArrayGetValueAtIndex, so don't say we do when creating CTFontDescriptor instances, since that leads to angry dragons: 2017-08-28 20:15:20.293 monotouchtest[33186:2311738] A_FontTest 2017-08-28 20:15:20.294 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithFontDescriptorAndOptions 2017-08-28 20:15:20.295 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithNameAndOptions 2017-08-28 20:15:20.296 monotouchtest[33186:2311738] critical: Stacktrace: at <unknown> <0xffffffff> at (wrapper managed-to-native) CoreText.CTFont.CTFontCopyDefaultCascadeListForLanguages (intptr,intptr) [0x0000a] in <ae65a2b1eea242d2b68fe784749543bf>:0 at CoreText.CTFont.GetDefaultCascadeList (string[]) [0x00013] in /work/maccore/xcode9/xamarin-macios/src/CoreText/CTFont.cs:2185 at MonoTouchFixtures.CoreText.A_FontTest.GetCascadeList () [0x0001e] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/CoreText/FontTest.cs:78 at (wrapper runtime-invoke) object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) [0x0004f] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) System.Reflection.MonoMethod.InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&) [0x00016] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at System.Reflection.MonoMethod.Invoke (object,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo) [0x00032] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/corlib/System.Reflection/MonoMethod.cs:305 at System.Reflection.MethodBase.Invoke (object,object[]) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/referencesource/mscorlib/system/reflection/methodbase.cs:229 at NUnit.Framework.Internal.Reflect.InvokeMethod (System.Reflection.MethodInfo,object,object[]) [0x00009] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Reflect.cs:215 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunNonAsyncTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x00025] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:116 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x0001a] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:90 at NUnit.Framework.Internal.Commands.TestMethodCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:66 at NUnit.Framework.Internal.Commands.SetUpTearDownCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00007] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/SetUpTearDownCommand.cs:84 at NUnit.Framework.Internal.WorkItems.SimpleWorkItem.PerformWork () [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/SimpleWorkItem.cs:64 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at MonoTouch.NUnit.UI.BaseTouchRunner.Run (NUnit.Framework.Internal.Test) [0x0004d] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:442 at MonoTouch.NUnit.UI.BaseTouchRunner.Run () [0x00030] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:171 at MonoTouch.Dialog.StringElement.Selected (MonoTouch.Dialog.DialogViewController,UIKit.UITableView,Foundation.NSIndexPath) [0x00008] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/Elements.cs:765 at MonoTouch.Dialog.DialogViewController.Selected (Foundation.NSIndexPath) [0x00026] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:577 at MonoTouch.Dialog.DialogViewController/Source.RowSelected (UIKit.UITableView,Foundation.NSIndexPath) [0x00016] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:402 at (wrapper runtime-invoke) <Module>.runtime_invoke_void__this___object_object (object,intptr,intptr,intptr) [0x0005d] in <32f0c196c5bc4aa18daea2ee64a7814e>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) UIKit.UIApplication.UIApplicationMain (int,string[],intptr,intptr) [0x0005c] in <ae65a2b1eea242d2b68fe784749543bf>:0 at UIKit.UIApplication.Main (string[],intptr,intptr) [0x00005] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:79 at UIKit.UIApplication.Main (string[],string,string) [0x00038] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:63 at monotouchtest.Application.Main (string[]) [0x00011] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/Main.cs:27 at (wrapper runtime-invoke) <Module>.runtime_invoke_void_object (object,intptr,intptr,intptr) [0x00051] in <30a7f7e09de9467b8b454221034a0e38>:0 Native stacktrace: 0 monotouchtest 0x000000010fca03c4 mono_handle_native_crash + 244 1 monotouchtest 0x000000010fcadd30 mono_sigsegv_signal_handler + 288 2 libsystem_platform.dylib 0x000000011feb3b3a _sigtramp + 26 3 CoreFoundation 0x000000011de035a2 computeSanitizedString + 146 4 CoreText 0x00000001168df314 _ZN15TPurgeableCache19RetainedValueForKeyEPKv + 54 5 CoreText 0x00000001168def85 _ZNK17TDescriptorSource22CopyDescriptorUncachedEPK7__CFURLbPK10__CFString + 55 6 CoreText 0x00000001168df34f _ZNK17TDescriptorSource14CopyDescriptorEPK7__CFURLbPK10__CFString + 27 7 CoreText 0x00000001168e20ad _ZNK17TDescriptorSource35CopyFontDescriptorPerPostScriptNameEPK10__CFStringmm + 297 8 CoreText 0x00000001168dfd9e _ZNK17TDescriptorSource30CopySystemFontDescriptorByNameEPK10__CFString10UIFontFlag + 54 9 CoreText 0x00000001168e54c4 _ZNK14TFontFallbacks17CopyFontFallbacksEPK10__CFStringS2_PK9__CFArray + 652 10 CoreText 0x00000001168e4a00 _ZNK14TFontFallbacks29CopyFontFallbacksForLanguagesEPK10__CFStringPK9__CFArray + 122 11 CoreText 0x00000001168e4971 _ZN17TDescriptorSource39CopyDefaultSubstitutionListForLanguagesEPK10__CFStringPK9__CFArray + 61 12 CoreText 0x00000001169397a7 _ZNK9TBaseFont28CreateSystemDefaultFallbacksEPK10__CFStringPK9__CFArray + 51 13 CoreText 0x000000011693999c _ZNK9TBaseFont15CreateFallbacksE10UIFontFlagPPK16__CFCharacterSetPK9__CFArray + 346 14 CoreText 0x00000001168c1036 _ZNK5TFont24CreateDefaultCascadeListEPK9__CFArray + 242 15 CoreText 0x00000001168b8ff9 CTFontCopyDefaultCascadeListForLanguages + 97 16 ??? 0x0000000140eaefd3 0x0 + 5384105939 17 ??? 0x0000000140eae761 0x0 + 5384103777 18 ??? 0x000000013c9c8e74 0x0 + 5311860340 19 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 20 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 21 monotouchtest 0x000000010fd71bac mono_runtime_try_invoke_array + 1292 22 monotouchtest 0x000000010fd15587 ves_icall_InternalInvoke + 647 23 ??? 0x000000013e9fcd13 0x0 + 5345627411 24 ??? 0x000000013e9fc738 0x0 + 5345625912 25 ??? 0x000000013e9fded5 0x0 + 5345631957 26 ??? 0x000000013e9fbb76 0x0 + 5345622902 27 ??? 0x000000013e9e237e 0x0 + 5345518462 28 ??? 0x000000013e9e237e 0x0 + 5345518462 29 ??? 0x000000013e9e237e 0x0 + 5345518462 30 ??? 0x000000013e9e237e 0x0 + 5345518462 31 ??? 0x000000013e873006 0x0 + 5344014342 32 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 33 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 34 monotouchtest 0x000000010fd6e320 mono_runtime_invoke + 208 35 monotouchtest 0x000000010fe71af1 xamarin_invoke_trampoline + 5617 36 monotouchtest 0x000000010fe79ddd xamarin_arch_trampoline + 189 37 monotouchtest 0x000000010fe7b1a1 xamarin_x86_64_common_trampoline + 110 38 UIKit 0x0000000111b9876b -[UITableView _selectRowAtIndexPath:animated:scrollPosition:notifyDelegate:] + 1810 39 UIKit 0x0000000111b98986 -[UITableView _userSelectRowAtPendingSelectionIndexPath:] + 344 40 UIKit 0x0000000111a6b5c9 _runAfterCACommitDeferredBlocks + 318 41 UIKit 0x0000000111a59dad _cleanUpAfterCAFlushAndRunDeferredBlocks + 280 42 UIKit 0x0000000111a89f68 _afterCACommitHandler + 137 43 CoreFoundation 0x000000011de3ddb7 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23 44 CoreFoundation 0x000000011de3dd0e __CFRunLoopDoObservers + 430 45 CoreFoundation 0x000000011de22324 __CFRunLoopRun + 1572 46 CoreFoundation 0x000000011de21a89 CFRunLoopRunSpecific + 409 47 GraphicsServices 0x0000000121b7e9c6 GSEventRunModal + 62 48 UIKit 0x0000000111a5f7d0 UIApplicationMain + 159 49 ??? 0x000000013c9c4474 0x0 + 5311841396 50 ??? 0x000000013c9c40ad 0x0 + 5311840429 ================================================================= Got a SIGSEGV while executing native code. This usually indicates a fatal error in the mono runtime or one of the native libraries used by your application. ================================================================= * [monotouch-test] Don't subclass MKMapView. (#2556) MKMapView doesn't like being subclassed (Apple says "you should not subclass the MKMapView class itself"). Bad things like this starts happening: Thread 0 name: tid_303 Dispatch queue: com.apple.main-thread Thread 0 Crashed: 0 libsystem_kernel.dylib 0x0000000186b25348 __pthread_kill + 8 1 libsystem_pthread.dylib 0x0000000186c39354 pthread_kill$VARIANT$mp + 396 2 libsystem_c.dylib 0x0000000186a94fd8 abort + 140 3 monotouchtest 0x0000000101c02c14 mono_handle_native_crash + 22047764 (mini-exceptions.c:2548) 4 monotouchtest 0x0000000101c0d02c mono_sigsegv_signal_handler + 22089772 (mini-runtime.c:2886) 5 libsystem_platform.dylib 0x0000000186c33b60 _sigtramp + 52 6 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 7 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 8 CoreFoundation 0x0000000186eda51c -[__NSArrayM dealloc] + 68 9 CoreFoundation 0x000000018703f5c8 __CFBasicHashDrain + 312 10 CoreFoundation 0x0000000186fb5b44 _CFRelease + 224 11 CoreText 0x000000018a808404 TDescriptorSource::PurgeFontFallbacksCache+ 488452 () + 92 12 CoreText 0x000000018a808374 TDescriptorSource::PurgeFromCaches+ 488308 (__CFURL const*) const + 176 13 CoreText 0x000000018a7eec74 CTFontRemoveFromCaches + 168 14 VectorKit 0x0000000196a539b0 +[VKSharedResourcesManager removeResourceUser:] + 324 15 VectorKit 0x0000000196ca27a4 md::MapEngine::~MapEngine+ 2643876 () + 360 16 VectorKit 0x0000000196ca2634 md::MapEngine::~MapEngine+ 2643508 () + 12 17 libobjc.A.dylib 0x000000018651eef4 object_cxxDestructFromClass+ 28404 (objc_object*, objc_class*) + 148 18 libobjc.A.dylib 0x000000018652c638 objc_destructInstance + 88 19 libobjc.A.dylib 0x000000018652c690 object_dispose + 16 20 QuartzCore 0x000000018afca3ac -[CALayer dealloc] + 116 21 VectorKit 0x0000000196a43294 -[VKMapView dealloc] + 940 22 QuartzCore 0x000000018af6aafc CA::release_objects+ 744188 (X::List<void const*>*) + 32 23 QuartzCore 0x000000018afd97d8 CA::Layer::~Layer+ 1198040 () + 276 24 QuartzCore 0x000000018afca37c -[CALayer dealloc] + 68 25 QuartzCore 0x000000018af6b16c CA::Transaction::commit+ 745836 () + 1052 26 UIKit 0x0000000190393290 _afterCACommitHandler + 256 27 CoreFoundation 0x0000000186fb38b8 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 32 28 CoreFoundation 0x0000000186fb1270 __CFRunLoopDoObservers + 412 29 CoreFoundation 0x0000000186fb182c __CFRunLoopRun + 1292 30 CoreFoundation 0x0000000186ed22d8 CFRunLoopRunSpecific + 436 31 GraphicsServices 0x0000000188d58f84 GSEventRunModal + 100 32 UIKit 0x000000019040427c UIApplicationMain + 208 33 monotouchtest 0x000000010106eb90 wrapper_managed_to_native_UIKit_UIApplication_UIApplicationMain_int_string___intptr_intptr + 9907088 (/<unknown>:1) 34 monotouchtest 0x0000000100f0d6ac UIKit_UIApplication_Main_string___intptr_intptr + 8459948 (UIApplication.cs:79) 35 monotouchtest 0x0000000100f0d66c UIKit_UIApplication_Main_string___string_string + 8459884 (UIApplication.cs:63) 36 monotouchtest 0x0000000100b10450 monotouchtest_Application_Main_string__ + 4277328 (Main.cs:27) 37 monotouchtest 0x0000000100e0c244 wrapper_runtime_invoke_object_runtime_invoke_dynamic_intptr_intptr_intptr_intptr + 244 38 monotouchtest 0x0000000101c10048 mono_jit_runtime_invoke + 22102088 (mini-runtime.c:2526) 39 monotouchtest 0x0000000101c75eec do_runtime_invoke + 22519532 (object.c:2829) 40 monotouchtest 0x0000000101c78a3c do_exec_main_checked + 22530620 (object.c:4623) 41 monotouchtest 0x0000000101bf9a1c mono_jit_exec + 22010396 (driver.g.c:1040) 42 monotouchtest 0x0000000101d13d60 xamarin_main + 23166304 (monotouch-main.m:482) 43 monotouchtest 0x00000001007de710 main + 927504 (main.m:67) 44 libdyld.dylib 0x00000001869f656c start + 4 * [introspection] Let SkipDueToAttributeInProperty skip setters too (#2557) `SkipDueToAttributeInProperty` which is used to check the availability attribute of properties when the Availability info only exist on the property and not on the property Getter or Setter was wrong. This lead to `setSpringLoaded` (which was introduced in iOS 11) to not be ignored by the test (making it fail). - Fix bug #59085: [introspection-ios] selector not found for UIKit.UIBarButtonItem : setSpringLoaded: - Broken test (https://bugzilla.xamarin.com/show_bug.cgi?id=59085) * [corevideo][watchos] Enable CoreVideo on watchOS (#2553) * [storekit] Fix CampaignToken typo (#2559) (#2560) - Fixes bug #59078: StoreProductParameters and invalid property for CampaignToken (https://bugzilla.xamarin.com/show_bug.cgi?id=59078) * [coreml][watchos] Enable API using CoreVideo on watchOS. Fix #58097 (#2561) https://bugzilla.xamarin.com/show_bug.cgi?id=58097 * Add missing [MarshalDirective] attributes. (#2558) * [bindings-generator] Improve build & project file. * Add missing [MarshalDirective] attributes. Add missing [MarshalDirective] attributes, which also requires implementing support for out parameters in the binding generator, since one of the signatures missing the [MarshalDirective] contains such an out parameter. Also add tests for all the API I've added [MarshalDirective] to. * [bindings-generator] Remove redundant if check. * [monotouch-test] Rename file to end with 'Test.cs'. * [tests] Fix a few build errors for Xamarin.Mac. * [uikit] Fix UIColor and UIInputViewController tvOS availability (#2569) - Fixes introspection tests on tvOS 10. * [storekit] Fix SKCloudServiceSetupMessageIdentifier and SKProductStorePromotionController tvOS availability (#2568) - Fixes introspection tests on tvOS 10. * [mapkit] Fix MKMapItemTypeIdentifier tvOS availability (#2566) - Also remove double [Mac] availability attribute. - Fixes introspection tests on tvOS 10. * [ARKit] Fix marshalling for ARPointCloud.RawFeaturePoints. (#2565) ARPointCloud.RawFeaturePoints is an array of Vector3, but each vector is 16-byte aligned (as if it were an array of Vector4). This means we need to account for this when creating a managed array from pointer to the native C-style array. * [ModelIO] Fix MDLVoxelIndexExtent struct. (#2564) The MDLVoxelIndexExtent is a struct containing two 4-dimensional vectors of integers (not floats, as originally and incorrectly implemented). Fix this my creating a new MDLVoxelIndexExtent2 struct with the right fields, re-implement all the API that exposes this struct and obsolete the old API. Also add missing [MarshalDirective] attributes. And write a test to make sure it works fine now and forever. * [coredata] Enable new fields since rdar #33878590 is fixed w/beta 6 (#2570) reference: https://trello.com/c/dlSRYPFx * [xtro-sharpie] Add a Simd check class to verify signatures with Simd types. * [Simd] Add simd matrix types. The OpenTK matrices (Matrix2/3/4) has a different memory layout than Apple's matrix_float2x2/matrix_float3x3/matrix_float4x4 matrices: the OpenTK versions are row-major, while Apple's versions are column-major. This means that when blitting memory from one to the other, the matrix will appear to have been transposed. See bug #[58599][2] for an example. Unfortunately we've already bound several API with Apple's matrix_floatXxX matrices using OpenTK's matrices, and although they're bound wrong, and the matrices appear transposed on input/output, we can't change the behavior because we have to maintain compatibility. This means we have to introduce new API, and then also just define new matrix types with the right memory layout (column-major). Additionally, in the future we might be able to mark these matrices as Simd-matrixes, so that the JIT/AOT compiler can generate the correct alignment for them, avoiding having to define a native conversion method (using the [MarshalDirective] hack). The matrices have been designed to match API-wise the matrices in the System.Numerics.Vectors namespace [1], but for the moment with only a few basic operations implemented (Determinant/Transpose/Multiply) defined (we can always add more later if we want to). In addition explicit conversion operators to and from the corresponding OpenTK.MatrixX are implemented, which means any operation defined in the OpenTK matrices can be used by converting back and forth. [1]: https://msdn.microsoft.com/en-us/library/system.numerics.matrix4x4(v=vs.111).aspx [2]: https://bugzilla.xamarin.com/show_bug.cgi?id=58599 * [ARKit] Use the new Simd matrix types. * [Vision] Use the new Simd matrix types. * [ModelIO] Use the new Simd-compatible matrix types, and deprecate the old API. * [GameplayKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [SpriteKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [xtro] Don't report missing [MarshalDirective] for obsolete methods. * [xtro] Remove unnecessary ignores. The implementation changed, and these stayed accidentally. * [wkwebkit] Fix (native) protocol names (#2572) Also ignore xtro's WKSnapshotConfiguration since it's an Apple bug 34185961 reference (xtro) !missing-protocol! WKURLSchemeHandler not bound !missing-protocol! WKURLSchemeTask not bound !unknown-protocol! WKUrlSchemeHandler bound !unknown-protocol! WKUrlSchemeTask bound !unknown-type! WKSnapshotConfiguration bound * [uikit] Fix enums availability attributes (#2575) - Fixes bug #59132: [uikit] Extra types in watchOS (https://bugzilla.xamarin.com/show_bug.cgi?id=59132) * [watchkit] Add missing designated initializers (#2574) references (xtro) !missing-designated-initializer! WKInterfaceController::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! WKUserNotificationInterfaceController::init is missing an [DesignatedInitializer] attribute * [xtro] Reword some of the Simd diagnostic messages according to review. * [tests] Make sure test symbols don't clash between different test libraries. Fixes this build problem for framework-test: clang: error: linker command failed with exit code 1 (use -v to see invocation) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_get_rotation_matrix'. MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticObjectTest.framework/XStaticObjectTest (Location related to previous error) MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticArTest.framework/XStaticArTest(libtest-ar.x86_64.o) (Location related to previous error) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransformcomponent_get_local_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_create_global_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float4x4'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float3x3'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float2x2'. MTOUCH: error MT5209: Native linking error: 6 duplicate symbols for architecture x86_64 MTOUCH: error MT5202: Native linking failed. Please review the build log. * [tests] Since libtest.a need ModelIO now, the corresponding LinkWith attributes need to state that too. * [introspection] Don't check native signatures on obsolete members, and ignore the right simd matrix types. Fixes this introspection/Mac problem: ***** ApiSignatureTest.NativeSignatures Selector: uniformWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: uniformWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: uniformWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: setMatrixFloat2x2Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: setMatrixFloat3x3Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: setMatrixFloat4x4Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: initWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: initWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: initWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded * [monotouch-tests] Include more custom asserts for watchOS to make the build work. Fixes this: Simd/MatrixFloat4x4Test.cs(28,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(29,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(37,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(48,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' [...] * [monotouch-test] Exclude code that requires the binding project from xammac tests. Exclude code that requires the test binding project from xammac tests because there's currently no XM version of the test binding project. Fixes this: tests/monotouch-test/SpriteKit/UniformTest.cs(20,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLMaterialProperty.cs(37,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLTransform.cs(34,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) * Bump version for preview #8 (#2576) * [spritekit] Audit fixes (xtro) (#2577) 1. SKVideoNode is now, partially, available on watchOS and does not require the extra, manual code to swicth selectors depending on the OS version being run. !missing-type! SKVideoNode not bound !missing-selector! SKVideoNode::anchorPoint not bound !missing-selector! SKVideoNode::initWithCoder: not bound !missing-selector! SKVideoNode::initWithFileNamed: not bound !missing-selector! SKVideoNode::initWithURL: not bound !missing-selector! SKVideoNode::setAnchorPoint: not bound !missing-selector! SKVideoNode::setSize: not bound !missing-selector! SKVideoNode::size not bound !missing-selector! +SKVideoNode::videoNodeWithFileNamed: not bound !missing-selector! +SKVideoNode::videoNodeWithURL: not bound 2. SKNodeFocusBehavior is exposed needlessly on watchOS because SpriteKit/Enums.cs was not processed by the generator, so [NoWatch] did not matter. !unknown-native-enum! SKNodeFocusBehavior bound It's also visible on macOS but nothing uses it (so we do not expose it needlessly) !missing-enum! SKNodeFocusBehavior not bound 3. Add missing designated initializer on default `init` !missing-designated-initializer! SKAttributeValue::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! SKNode::init is missing an [DesignatedInitializer] attribute 4. Remove inconsistency for SKNode subclasses wrt XAMCORE_4_0 The trio attributeValues, setAttributeValues and setValue:forAttributeNamed: that was moved from SKNode (deprecated) into its subclasses. This was done using XAMCORE_4_0 but not on every subclasses. This adds them everywhere to be consistent (only SKNode versions are not defined in XAMCORE_4_0) !missing-selector! SKEffectNode::attributeValues not bound !missing-selector! SKEffectNode::setAttributeValues: not bound !missing-selector! SKEffectNode::setValue:forAttributeNamed: not bound !missing-selector! SKEffectNode::valueForAttributeNamed: not bound !missing-selector! SKEmitterNode::attributeValues not bound !missing-selector! SKEmitterNode::setAttributeValues: not bound !missing-selector! SKEmitterNode::setValue:forAttributeNamed: not bound !missing-selector! SKEmitterNode::valueForAttributeNamed: not bound !missing-selector! SKSpriteNode::attributeValues not bound !missing-selector! SKSpriteNode::setAttributeValues: not bound !missing-selector! SKSpriteNode::setValue:forAttributeNamed: not bound !missing-selector! SKSpriteNode::valueForAttributeNamed: not bound * [introspection] Make sure '[FAIL]' is printed before every failure. (#2578) This makes xharness able to list the failures in the inline summary. * [xtro] Reword some of the Simd diagnostic messages according to review. * [xharness] Add a missing IsServerMode check to generate correct html. (#2581) * [SpriteKit] SKTransformNode is new in Xcode 9 so no need to keep the broken (and obsolete) non-simd version of RotationMatrix. * [intents] Fix some (partial) xtro issues and #59156 (#2585) reference https://bugzilla.xamarin.com/show_bug.cgi?id=59156 Remaining issues are filled in https://bugzilla.xamarin.com/show_bug.cgi?id=59183 !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound * [Intents] Confirm* interface methods should be bound as Confirm, Fixes Bug 59164 (#2591) * [Intents] Confirm* interface methods should probably be bound as Confirm, Fixes Bug 59164 https://bugzilla.xamarin.com/show_bug.cgi?id=59164 All Confirm* methods from *IntentHandling interfaces should be named just `Confirm` to avoid confusion because most of them do not directly confirm as an acion, but instead they **ask** for confirmation also we would follow swift's naming by doing this. * [Intents] XAMCORE_4_0 all Confirm* methods from *IntentHandling Turns any Confirm* into just Confirm inside a XAMCORE_4_0 block, * [Intents] Fix breaking changes in Intents added in Xcode 9 Bindings (#2590) Apple added more protocol conformances to INRidesharingDomainHandling and INPaymentsDomainHandling protocols in Xcode 9, I introduced these breaking changes back when I did intents binding so fixing them :) * [Metal] New bindings from Xcode 9 betas (#2457) * [AVFoundation] Updated bindings for xcode9. (#2272) * [Xcode9] Add IOSurface bindings (#2363) * This framework was a private framework before iOS 11. This framework was a private framework before iOS 11, yet the headers claim many API were introduced in iOS 10. So take account of this difference by using the private framework location in iOS 10.3 or earlier. Testing these API from Xcode works fine when run on an iOS 10.3 device, and I've confirmed the IOSurface framework is loaded from the private frameworks path on older devices (and when built using Xcode 9 and linked with the public framework path). * Disable code to make IOSurface work on iOS 10. Disable the code to make IOSurface work on iOS 10, since it may be rejected by the App Store. This also means adjusting the availability attributes, so that the introspection tests pass (and to document that technically these API won't work when used with Xamarin.iOS in iOS 10). I've filed bug #[59201][1] to keep track of this, maybe we can re-enable this later. [1]: https://bugzilla.xamarin.com/show_bug.cgi?id=59201 * [CoreMedia] Fix leak in CMAttachmentBearer.GetAttachments. (#2593) The caller owns the return value from CMCopyDictionaryOfAttachments, so tell Runtime.GetNSObject that. * [Intents] Adds missing API found by xtro, fixes Bug 59183 (#2596) https://bugzilla.xamarin.com/show_bug.cgi?id=59183 Fixes !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !incorrect-protocol-member! INUIHostedViewControlling::configureWithInteraction:context:completion: is OPTIONAL and should NOT be abstract * [xtro] Fix StartWorkingDirectory to enable debugging (#2598) * [iosurface] Enable for tvOS and XM classic (to avoid multiple defines around consumer API) (#2597) * [xtro] Fix EnumCheck (#2600) * [ARKit] Rename a few method to make them nicer. (#2604) * DisplayTransform -> GetDisplayTransform since methods should have verbs. * SessionWasInterrupted -> WasInterrupted and SessionInterruptionEnded -> InterruptionEnded since these names match better with the other names (CameraDidChangeTrackingState / DidFail / DidOutputAudioSampleBuffer: none are prefixed with 'Session'). Additionally, the type is a Model (for the delegate pattern), which means all methods are more-or-less event-like, and the first argument is always the same (the protocol itself), which is another indicator the methods should be named similarly. * [Foundation] Remove 'Key' suffix from some fields. (#2606) Of the 168 fields in NSMetadataItem, only these 5 hadn't removed the 'Key' suffix. So make them all equivalent by removing the 'Key' suffix from these 5 fields. * [ImageIO] Fix API to not duplicate the instance in instance methods. (#2609) An instance method does not need to take the instance as a parameter, so remove the first (instance) parameter for CGImageDestination.AddAuxiliaryDataInfo and CGImageSource.CopyAuxiliaryDataInfo. An alternative solution would be to make the methods static, but I like the instance API better. * [UIKit] De-model UIDataSourceTranslating. (#2603) It's not clear from neither the documentation nor the headers how this protocol is supposed to be used, and since it doesn't correspond to the delegate pattern, remove the [Model] attribute for now. We can always add it back later. * [CoreML] Improve API. (#2592) * [CoreML] Improve API. * The indices, shape and stride properties for MLMultiArray and MLMultiArrayConstraint can logically only be arrays of integers, so type them as such. This means adding overloads for MLMultiArray's constructors, GetObject and SetObject methods, and the indexers that takes nint[] arrays instead of NSNumber[] arrays. * Change MLFeatureValue's static factory methods to be a method ('Create') instead of a preposition, and call all the different factory methods the same, since they can be overloaded nicely. * [tests][monotouch-test] Add version check to MLMultiArrayTest and make sure the arrays we create are big enough for the data we put in them. * [tests][monotouch-test] MLMultiArray's elements aren't zero-initialized, so don't assume that in the tests. * Support overloading Objective-C methods based on static/instance. (#2607) Two Objective-C methods can be named identically as long as one is static and the other instance. We must support this since Apple did just this (in the NSItemProviderReading / NSItemProviderWriting protocols). We solve it by prepending a '+' or '-' to the selector when hashing it (to determine selector uniqueness, and to look the method up again at runtime). * [uikit] Update for Xcode 9 - Part 6 (#2602) NSAttributedString.h NSFileProviderExtension.h NSLayoutAnchor.h UIAccessibility.h UIAccessibilityAdditions.h UIAccessibilityContainer.h UIAccessibilityContentSizeCategoryImageAdjusting.h UIAccessibilityCustomRotor.h UIAccessibilityLocationDescriptor.h UITabBar.h UINavigationBar.h UIScreen.h * Xcode9 scenekit (#2512) * [SceneKit] basic work * Added key * [xcode9] SCNCameraController * [xcode9] SCNCamera updates * [xcode9] SCNMaterial * [xcode9] SCNGeometryTessellator, SCNCameraControlConfiguration, SCNView, small bits * Add trailing commas to last enum value * Remove whitespace noise * [scenekit] Update deprecated attributes messages * Addresses some of Rolf's feedback * Drop the WeakDelegate in SCNCameraController * Rename method to Render, remove ctor from class that can not be constructed in Palygrounds, add typo exception * [AppKit] Rename NSBezierPath.AppendBezierPathWithCGGlyph to match its sibling methods. (#2605) NSBezierPath contains a lot of 'AppendPathWithXXX' methods, that all map to 'appendBezierPathXXX' selectors. So rename AppendBezierPathWithCGGlyph accordingly, to make it more similar to the other methods in the same type. * [uikit] Add all UISpringLoadedInteractionSupporting (#2616) Types do not conform to the protocol but protocol methods work on those types (see monotouch-test). Fixed introspection tests accordingly and tested the selectors in monotouch-test. * [Intents] Add convenience ctor overload and call correct base ctor in manual ctor. (#2613) Add a convenience constructor overload in INGetUserCurrentRestaurantReservationBookingsIntent that uses nint instead of NSNumber, since logically "number of results" will always be some sort of integer. Also call the correct base constructor in INSpeakableString's custom constructor (same as any other generated constructor). Otherwise we end up doing something like this: [[[INSpeakableString alloc] init] initWith ...], i.e. calling two different init methods. * [coreimage] Add new headers API up to beta 6 (#2601) Filters are not complete (ref: #57350) https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * Some new constants are not yet documented (type is known), so they are commented / ignored https://bugzilla.xamarin.com/show_bug.cgi?id=59296 * Filled bug for [Wrap] inside [Category] so strong dictionary helpers can be re-enabled later https://bugzilla.xamarin.com/show_bug.cgi?id=59294 * [foundation] xtro fixes for watchOS (#2586) !missing-enum! NSProcessInfoThermalState not bound !missing-field! NSProcessInfoThermalStateDidChangeNotification not bound !missing-selector! NSProcessInfo::thermalState not bound Headers are wrong and preferredPresentationStyle is not in tvOS and watchOS !missing-selector! NSItemProvider::preferredPresentationStyle not bound !missing-selector! NSItemProvider::setPreferredPresentationStyle: not bound * [uikit] Also remove UIPreferredPresentationStyle enum from platform where it's not used * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. (#2614) * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. * NSItemProviderWriting: * NSItemProviderReading: Implement correctly and completely by uncommenting commented out code. * NSMutableString: * NSAttributedString: remove inlined members, since these classes don't implement NSItemProviderReading / NSItemProviderWriting (according to the headers at least). * NSUrl: all platforms now seem to implement NSItemProviderReading / NSItemProviderWriting. * NSString: all platforms now seem to implement both NSItemProviderReading and NSItemProviderWriting * UIColor: * UIImage: Update inlined protocol members according to the latest beta. Additionally, due to the following conditions: * The protocols all have the correct members now. * In the API definition we tell the generator to inline members from a protocol by inheriting from the corresponding interface. * The generator doesn't inline static members from protocols. several 'new' keywords had to be added to silence a compiler warning that occurrs when we manually inline a static member, since the member would be included in the type both from the inherited interface and the manual implementation. * [Foundation] Comment out NSItemProviderWriting.GetItemProviderVisibility to avoid inlining/generating unusable methods. NSItemProviderWriting.GetItemProviderVisibility is an optional method, and none of the native classes that implements NSItemProviderWriting actually imlements the method. This means inlining the method in those classes ends up creating unusable API; so just comment out the method to avoid generating the unusable API. The introspection tests found this: [FAIL] Foundation.NSString : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Foundation.NSUrl : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Contacts.CNContact : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] MapKit.MKMapItem : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIColor : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIImage : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] iOSApiSelectorTest.ApiSelectorTest.StaticMethods : 6 errors found in 2348 static selector validated: See also https://bugzilla.xamarin.com/show_bug.cgi?id=59308 * [iosurface] Add missing [TV] attributes (#2619) * [opengles] Enable the new API using IOSurface (#2618) The symbol only exists inside device libraries, not on simulator, and the introspection tests were updated to ignore it. Part of https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [avfoundation][watchos] Enable AudioBufferList (fix #59145) + audit (xtro) (#2617) 1. AudioBufferList is part of CoreAudio (wrong namespace, which needs a few changes in the generator) and now available in watchOS 4 https://bugzilla.xamarin.com/show_bug.cgi?id=59145 2. Also fixes xtro found issues: !missing-type! AVAudioRecorder not bound !missing-selector! AVAudioRecorder::averagePowerForChannel: not bound !missing-selector! AVAudioRecorder::channelAssignments not bound !missing-selector! AVAudioRecorder::currentTime not bound !missing-selector! AVAudioRecorder::delegate not bound !missing-selector! AVAudioRecorder::deviceCurrentTime not bound !missing-selector! AVAudioRecorder::format not bound !missing-selector! AVAudioRecorder::initWithURL:format:error: not bound !missing-selector! AVAudioRecorder::initWithURL:settings:error: not bound !missing-selector! AVAudioRecorder::isMeteringEnabled not bound !missing-selector! AVAudioRecorder::isRecording not bound !missing-selector! AVAudioRecorder::peakPowerForChannel: not bound !missing-selector! AVAudioRecorder::recordAtTime: not bound !missing-selector! AVAudioRecorder::recordAtTime:forDuration: not bound !missing-selector! AVAudioRecorder::recordForDuration: not bound !missing-selector! AVAudioRecorder::setChannelAssignments: not bound !missing-selector! AVAudioRecorder::setDelegate: not bound !missing-selector! AVAudioRecorder::setMeteringEnabled: not bound !missing-selector! AVAudioRecorder::settings not bound !missing-selector! AVAudioRecorder::url not bound !missing-protocol! AVAudioRecorderDelegate not bound !missing-selector! AVAudioEngine::inputNode not bound !missing-selector! AVAudioEngine::manualRenderingBlock not bound !missing-selector! AVAudioInputNode::setManualRenderingInputPCMFormat:inputBlock: not bound !missing-selector! AVAudioPlayer::format not bound !missing-selector! AVAudioSession::requestRecordPermission: not bound !unknown-field! AVFileType3GPP bound !unknown-field! AVFileType3GPP2 bound !unknown-field! AVFileTypeAC3 bound !unknown-field! AVFileTypeAIFC bound !unknown-field! AVFileTypeAIFF bound !unknown-field! AVFileTypeAMR bound !unknown-field! AVFileTypeAVCI bound !unknown-field! AVFileTypeAppleM4A bound !unknown-field! AVFileTypeAppleM4V bound !unknown-field! AVFileTypeCoreAudioFormat bound !unknown-field! AVFileTypeDNG bound !unknown-field! AVFileTypeEnhancedAC3 bound !unknown-field! AVFileTypeHEIC bound !unknown-field! AVFileTypeHEIF bound !unknown-field! AVFileTypeJPEG bound !unknown-field! AVFileTypeMPEG4 bound !unknown-field! AVFileTypeMPEGLayer3 bound !unknown-field! AVFileTypeQuickTimeMovie bound !unknown-field! AVFileTypeSunAU bound !unknown-field! AVFileTypeTIFF bound !unknown-field! AVFileTypeWAVE bound * [Metal] Implement API using IOSurface now that IOSurface is implemented. Partially fixes #58054. (#2621) https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [PdfKit] Improve PdfAnnotation.QuadrilateralPoints binding by making it strongly typed. (#2620) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). (#2622) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). * [ARKit/Vision] Use the new simd vector types instead of the OpenTK versions. * [ModelIO] Use the new simd vectors in new API (MDLVoxelIndexExtent2). This way we won't have to create a MDLVoxelIndexExtent3 in the future. * [SpriteKit] Use the new simd vectors in new API. * [metal] Audit (xtro) based fixes (#2623) !extra-protocol-member! unexpected selector MTLArgumentEncoder::newArgumentEncoderForBufferAtIndex: found !extra-protocol-member! unexpected selector MTLComputeCommandEncoder::dispatchThreads:threadsPerThreadgroup: found macos-only !missing-field! MTLDeviceRemovalRequestedNotification not bound !missing-field! MTLDeviceWasAddedNotification not bound !missing-field! MTLDeviceWasRemovedNotification not bound !missing-pinvoke! MTLCopyAllDevices is not bound * [CloudKit] Update bindings to beta 6. (#2615) * [FileProvider] Turn NSFileProviderItemIdentifier enum into a static class, fixes bug 59329 (#2634) https://bugzilla.xamarin.com/show_bug.cgi?id=59329 At the time of binding NSFileProviderItemIdentifier it wasn't clear how it was supposed to be used, I mean apple provides two keys which I thought were the only possible values hence binding it as an smart enum. Unfortunately this wasn't the case and the user can use those two values provided from the SDK or their own NSString Identifier. Swift provides a wrapper unfortunately we can't do the same due to NSFileProviderItemIdentifier is used in the NSFileProviderItem protocol and we currently do not support changing signatures on them. * [mtouch] Teach mtouch about the 'IOSurface' framework for tvOS. Fixes #59333. (#2630) https://bugzilla.xamarin.com/show_bug.cgi?id=59333 * Bump Touch.Unit to get fix for API breakage. (#2631) spouliot/Touch.Unit@8f1e19d [NUnitOutputTextWriter] Reintroduce previous constructor to make sure we don't break binary ABI. spouliot/Touch.Unit@00b0c0b [NUnitOutputTextWriter] Don't write invalid xml comments. spouliot/Touch.Unit@de9fe20 [TouchRunner] Restore the original code path when not wrapping NUnit xml output. * [IOSurface] Add missing availability attributes for tvOS. (#2629) * Bump versions for preview 9 (#2624) * [AVFoundation] Add missing interface AVRouteDetector. (#2637) * [tests] Update xtro to reduce list sizes (#2636) * Skip OpenTK duplicate declaration (we can't change them); * Fix rule name change for ARKit / simd; * Add missing default initializer on `init` to pending actions; * Add note for AVPersistableContentKeyRequest changes wrt tvOS; * [ReplayKit] Make RPBroadcastActivityViewController.LoadBroadcastActivityViewController async-capable. (#2639) * [xcode9] More SceneKit bindings (#2633) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 (#2644) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 https://bugzilla.xamarin.com/show_bug.cgi?id=59380 vector_float3 is 16 bytes, which means the binding is incorrect, because Vector3 is 12 bytes, and our code does not that difference into account. * Add tests * [DeviceCheck] Disable default ctor for DCDevice. (#2642) It doesn't seem to be useful according to the documentation, since it appears that the only way to get an instance is to use the static CurrentDevice property. * [audiounit] Audit (xtro) fixes for tvOS (#2635) Availability attributes in non-generated files don't hide symbols/code. reference: !unknown-pinvoke! AudioUnitExtensionCopyComponentList bound !unknown-pinvoke! AudioUnitExtensionSetComponentList bound * [tests] Make sure tvOS tests don't use the (unexisting) API * [tests] Add all test project variations to tests-mac.sln (#2579) * [xharness] Make sure generated mac projects have different project guids. * [introspection] Change the project guid so that it doesn't match the dontlink-mac project guid. * [tests] Add all test project variations to tests-mac.sln. * [xharness] Fix else condition. * [FileProvider] Adds missing NSFileProviderPage constants, fixes bug 59297. (#2646) https://bugzilla.xamarin.com/show_bug.cgi?id=59297 Adds NSFileProviderInitialPageSortedByName and NSFileProviderInitialPageSortedByDate NSData constants * [Xcode9] Remove NSFileProviderMessage and NSFileProviderMessageInterface (#2647) APIs were removed in beta 2 * [Foundation/UIKit] Provide LoadObject[s] methods that return the expected type in the callback. Fixes #59049. (#2638) The callback for these LoadObject[s] methods take an INSItemProviderReading parameter. This tells our runtime that we must provide an instance of a managed object that implements this interface (but nothing else), so we create a `NSItemProviderReadingWrapper` instance, which complies with the API (since the wrapper type implements the corresponding interface). Unfortunately these methods are supposed to return an instance of the passed- in type, so in order to comply with this soft (documentation-only) requirement, provide a wrapper method that creates instances of the right types. https://bugzilla.xamarin.com/show_bug.cgi?id=59049 * [arkit] Ignore deprecated selectors (#2645) * [FileProvider] Adds missing protocol and keys from audit (#2652) ``` !missing-protocol! NSFileProviderServiceSource not bound !missing-field! NSFileProviderErrorCollidingItemKey not bound !missing-field! NSFileProviderErrorNonExistentItemIdentifierKey not bound !missing-field! NSFileProviderFavoriteRankUnranked not bound ``` Also adds `NSXpcListenerEndpoint` to foundation, needed by `NSFileProviderServiceSource` protocol. * [tests][xtro] Workaround xtro runner dupe entry exception and update data files (#2654) * [AVFoundation] Rename field to match others. (#2657) * [homekit] Audit (xtro) fixes (#2653) - HMCharacteristicEvent conforms to NSMutableCopying on iOS11 which makes it 64 bits only (so adjust intro tests) - Ignore extra setters on HMMutablePresenceEvent, rdar 33883958 !missing-selector! HMMutablePresenceEvent::setPresenceEventType: not bound !missing-selector! HMMutablePresenceEvent::setPresenceUserType: not bound * [xtro] Add missing pinvoke to pending (#2662) - Bug 59422: [uikit] Missing UIContentSizeCategoryCompareToCategory & UIContentSizeCategoryIsAccessibilityCategory (https://bugzilla.xamarin.com/show_bug.cgi?id=59422) * Merge latest d15-3 fixes into xcode9 (#2660) * [msbuild] Re-added wildcard (*) expandsion for application-identifier in Entitlements.plist (#2186) Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=57119 * Bump mono (#2213) * Framework tests were still binding non-linked Simple class which errors now (#2216) (#2218) - Improve Makefile to rebuild when projects build with errors * Bump mono to get cecil fix for bug #56808. (#2222) https://bugzilla.xamarin.com/show_bug.cgi?id=56808 * [msbuild] Use @(ReferencePath) instead of @(ResolvedFiles) (#2188) (#2214) This allows things to work on both xbuild and msbuild. In xbuild, both lists are exactly the same and on msbuild, only @(ReferencePath) exists. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=55147 * NSActivityOptions.IdleDisplaySleepDisabled had wrong value (#2232) (#2239) This was due to an integer overflow. The original value was based on Int32 1 << 40 == 256 The correct value should be based on a UInt64. 1UL << 40 == 1099511627776 * [tests] Fix bug 57699 - [iOS]InternalsTest failure (Linkall) tests on device (#2243) Strip native debugging symbols should not be checked for debug builds * Bump mono to get fix for bug #57780. https://bugzilla.xamarin.com/show_bug.cgi?id=57780 * Update .gitmodules Change branch to d15-3 branch of mono * Bump maccore to get fix for bug #55064. https://bugzilla.xamarin.com/show_bug.cgi?id=55064 * [mono] Bump mono to get the head of cecil/mono-2017-04 and fix IsComObject #57919 Also fix #58789 [1], the typo in tools/mtouch/Tuning.cs showing in MT0000 errors instead MT2102. That's already in master and d15-4 mono bump includes: [2] commit 2a6502cee0df9de5198eafe7c8b5f6ac25106f34 (HEAD -> d15-3, origin/d15-3) Merge: 02457c20fcf 5e05cafc6f1 Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 10:04:06 2017 -0400 Merge pull request #5401 from marek-safar/com [Marshal.IsComObject] Make this predicate return false instead of thr… [3] commit 02457c20fcf57c0610e844d638eb1da82b5d1eb0 Merge: da80840ea55 73fd9a1b82e Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 09:59:06 2017 -0400 Merge pull request #5400 from spouliot/bump-cecil-58834-d15-3 [cecil] Bump to the head of the mono-2017-04 branch and pick the fix for bug #58834 References [1] https://bugzilla.xamarin.com/show_bug.cgi?id=58789 [2] https://bugzilla.xamarin.com/show_bug.cgi?id=57919 [3] https://bugzilla.xamarin.com/show_bug.cgi?id=58834 * [mtouch] Put 'mono_profiler_startup_log' in the symbol list. Fixes #58778. (#2501) We need the 'mono_profiler_startup_log' symbol when profiling is enabled, so make sure to add the symbol to the correct list of symbols we need. Previously we were passing `-u _mono_profiler_startup_log` to clang directly, which is fine, but not complete, since it does not write the symbol to the symbollist file (--symbollist=file), which means it wouldn't be preserved when the MSBuild tasks strip the executable. https://bugzilla.xamarin.com/show_bug.cgi?id=58778 * Bump versions for SR3 https://trello.com/c/EVze08ei * Bump mono to include HttpClientHandler fix #44027 https://trello.com/c/jYFXadH8/8-systemnethttp-close-request-stream-when-httpclienthandler https://bugzilla.xamarin.com/show_bug.cgi?id=44027 * [FileProvider] Add missing API and turn NSString to string (#2663) Turned NSString to string in order to match exisiting API. * [uikit] Add UIPasteConfigurationSupporting and UITextPasteConfigurationSupporting (#2649) - Fixes bug #59363: Missing UIPasteConfigurationSupporting, UITextPasteConfigurationSupporting, UITextDraggable and UITextDroppable on a couple of types (https://bugzilla.xamarin.com/show_bug.cgi?id=59363) * [uikit] Remove 129 types in UIPasteConfigurationSupporting case * [scenekit] Audit (xtro) fixes (#2648) This looks like an Apple breaking change (since `SCNAnimation` is new) but we now have: > typedef void (^SCNAnimationEventBlock)(id<SCNAnimation> animation, id animatedObject, BOOL playingBackward); bound as > delegate void SCNAnimationEventHandler (CAAnimation animation, NSObject animatedObject, bool playingBackward); and `CAAnimation` conforms to `SCNAnimation` but *only* the later is available on watchOS. The delegate is only updated (since it's new) on our watchOS profile. xtro references: (watchos) !unknown-protocol! SCNCameraControlConfiguration bound (tvos/watchos) !missing-selector! SCNAnimation::animationEvents not bound !missing-selector! SCNAnimation::setAnimationEvents: not bound !missing-selector! SCNConstraint::isEnabled not bound !missing-selector! SCNConstraint::setEnabled: not bound !missing-field! SCNSceneSourceConvertToYUpKey not bound !missing-field! SCNSceneSourceConvertUnitsToMetersKey not bound (ios/tvos) !missing-protocol-conformance! SCNNode should conform to UIFocusItem * Bump maccore post 15.3 merge (#2665) * Bump Xcode 9 to GM (#2667) * Force build (on wrench) * [avfoundation] Fix breaking changes (apidiff) (#2664) * [TVServices] Update to Xcode 9 GM (#2675) * [GameController] Update to Xcode 9 GM (#2673) * [LocalAuthentication] Update to Xcode 9 GM (#2671) * [LocalAuthentication] Update to Xcode 9 GM * Remove availability from BiometryNotAvailable, BiometryNotEnrolled and BiometryLockout * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer (#2659) * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer Some of the new added types were already present BUT under a #if MONOMAC, they had to be moved. * [AVFoundation] Set the wrongly added API to be obsolete and ensure it returns logical values. (#2650) * [xtro] The right platform for macOS is 'macos', not 'osx'. (#2677) The platform name is used to filter availability attributes, and if we use the wrong platform, we'll incorrectly skip all availability attributes. The net result in unclassified entries: https://gist.github.com/rolfbjarne/a4474bc2a40c49a85cad495b51bb514f * Various Xcode 9 API improvements and also fixes bug 59433 (#2676) https://bugzilla.xamarin.com/show_bug.cgi?id=59433 While fixing bug 59433 I noticed some additional issues outlined below: AVDepthData: * Renamed **non** static `Create` methods because `Create` only makes sense with the **Static** method in this context. Also by renaming the methods we are now closer to the names that swift uses. * Kept descriptive method names in favor of self-documenting code. `Convert`, `Apply` and `Replace` do not fully give us the intent of the method. * Added a convenience `Create` static method that takes a `CGImageAuxiliaryDataInfo`. * AvailableDepthDataTypes is now an array of `CVPixelFormatType` instead of a `NSNumber` array (The aactual fix for bug 59433). ImageIO: * Refactored `CGImageAuxiliaryDataInfo` to be a `StrongDictionary` in order to avoid most of the manual code and also to avoid reimplementing the `ToDictionary` method (which contained a subtle bug). * Adjusted code to reflect the above change. * Added missing `.ctor (IntPtr, bool)` to `CGImageMetadata` so the class is able to be created by our `Runtime.Get*`. * Simplified `CopyAuxiliaryDataInfo` method by using `CGImageAuxiliaryDataInfo` as a `DictionaryContainer`. Tests: * Added `xamarinmonkey.heic` which is an image that contains depth data needed to test above changes. * Adds `AVDepthDataTests` that touches most of the changes listed here. * Tweak the Simd-compatible matrices and vectors (#2668) * Rename them to be OpenTK.NMatrix# (instead of Simd.MatrixFloat#x#). * Remove the Vector2 and Vector4 variants, we'll use the OpenTK types instead (but we'll keep the NVector3 variant, since it's not identical to the OpenTK version). * Update the API to match their OpenTK counterparts better: * NMatrix2 and NMatrix3 have a 0-based R#C# scheme for their fields. * NMatrix4 has a 1-based M## scheme for its fields (i.e. no change). * [AVFoundation] Use Simd-matrix for API that needs it. (#2679) This also requires implementing the corresponding matrix (NMatrix4x3). Fixes this xtro issue: > !unknown-simd-type-in-signature! OpenTK.Matrix3 AVFoundation.AVCameraCalibrationData::get_GetIntrinsicMatrix(): the native signature has a simd type (matrix_float3x3), while the corresponding managed method is using an incorrect (non-simd) type. * [xtro] Fix checking availability on categories. (#2682) When checking for category availability, check if both the current declaration is a category, and if the current's declaration container is a category. Otherwise this scenario fails: * Category method is available. * Category does not have availability attributes. * Main class is unavailable. with this typical code sequence: ```csharp // don't process methods (or types) that are unavailable for the current platform if (!decl.IsAvailable () || !(decl.DeclContext as Decl).IsAvailable ()) return; ``` In which case we'd: * First check the method (`decl`): * It's available, so no further checks is done on the method. * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container's container is a category (it isn't, it's the namespace). and as such determine that the method is available. With this change, the second step will become: * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container is a category (it is), and if its main class is available (it isn't). and as such determine that the method is unavailable. * Check for attributes on the method's container (no attributes, so we continue). * Check if the method's Unclassified diff: https://gist.github.com/rolfbjarne/8fa80962596978a426eadf9b7ba39dc1 * [uikit] Update for Xcode 9 GM (#2670) * [AVFoundation] Implement AVCapturePhoto. Partially fixes #59388. (#2678) Fixes: > common.unclassified:!missing-type! AVCapturePhoto not bound https://bugzilla.xamarin.com/show_bug.cgi?id=59388 * Use strong dictionaries for AVCapturePhoto.Metadata and AVCapturePhoto.EmbeddedThumbnailPhotoFormat. * [SIMD] Implement Simd double types (VectorDouble3/MatrixDouble4x4). (#2632) The following types will be used by ModelIO bindings * Fix delta to be double * Rename Simd-compatible matrices and vectors to match our final naming. This also means removing the new Vector2 and Vector4 variants (but not Vector3). * [avfoundation] Remove AVAssetDownloadDelegate.DidLoadTimeRange since it was removed in one of the betas (#2687) * [foundation] Move NSUrlSessionMultipathServiceType to a file processed by the generator (for the availability attributes) (#2688) * [arkit] Update for Xcode 9 GM (#2681) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes (#2690) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes Type Changed: Intents.INCarSeatResolutionResult Removed methods: public static INCarSeatResolutionResult GetConfirmationRequired (INCarSeat valueToConfirm); public static INCarSeatResolutionResult GetSuccess (INCarSeat resolvedValue); * [avfoundation] Add missing protocol members and deprecations (#2691) !missing-protocol-member! AVCapturePhotoCaptureDelegate::captureOutput:didFinishProcessingPhoto:error: not found and the selector removed from PR#2687 was actually replaced with this one !missing-protocol-member! AVAssetDownloadDelegate::URLSession:aggregateAssetDownloadTask:didLoadTimeRange:totalTimeRangesLoaded:timeRangeExpectedToLoad:forMediaSelection: not found * [tests][xtro] Map some enums, more fix with protocols and update entries (#2692) * [Tests] Reenable dns tests on the watch. (#2674) * [arkit] Add ARBlendShapeLocationOptions strong dictionary (#2696) * [coreimage] Skip not yet bound filters added in Xcode9 (#2698) Tracked in https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * [Metal] Renamed MTLArgumentDescriptor.ArgumentDescriptor to Create, fixes bug 59498 (#2702) https://bugzilla.xamarin.com/show_bug.cgi?id=59498 From [argumentDescriptor docs](https://developer.apple.com/documentation/metal/mtlargumentdescriptor/2915746-argumentdescriptor?language=objc) > Creates an empty argument descriptor. * [msbuild] Always codesign app bundles if the codesign key is non-null (#2697) ...even if it is a simulator build. Turns out that starting with Xcode9, sim builds need to be codesigned for App Groups entitlements to work properly. Interestingly, the DetectSigningIdentity logic had a comment about needing to codesign simulator builds for some entitlements to work already starting with Xcode 8 but apparently the iOS targets did not respect this. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=59379 * [Foundation] Add NSProxy stub in order to workaround bug 59247 (#2693) https://bugzilla.xamarin.com/show_bug.cgi?id=59247 We need to have a better solution that removes all what NSProxy does not responds to. Right now this works because NSObject implements NSObject protocol just like NSProxy, but NSProxy responds to far less selectors hence doing it internal so it is not a breaking change when we provide the correct fix. * Keep NSProxy around and avoid XML linker description We need to keep NSProxy (avoid linking it) if WKNavigationDelegate or IWKNavigationDelegate is used. We know WKWebView will be there and can hold a reference to it. * [Xcode 9] Update Metal for GM (#2689) * [iosurface] IOSurface is not usable before iOS/tvOS 11. Fixes #59201 (#2706) Apple rejects apps that links with the previously private IOSurface.framework. We were not sure about this [1] and had it disabled (this is removed). However another bug stopped our adjustment logic [2] from being executed. This is needed since `clang` picks up the private framework if it does not find the public one (even when asking for a weak framework), [1] https://bugzilla.xamarin.com/show_bug.cgi?id=59201 [2] Added a while ago for JavascriptCore * Bump maccore to point to commit with the docs fix. (#2703) * Bump XI to 11.0.x (and XM to 3.99.9.x) (#2684) * fix typo
2017-09-16 00:53:16 +03:00
[Export ("screenSpaceAmbientOcclusionNormalThreshold")]
nfloat ScreenSpaceAmbientOcclusionNormalThreshold { get; set; }
2016-04-21 15:30:02 +03:00
#endif
}
Merge xcode9 into d15-4[-xi] (#2710) * [FileProvider] Add Xcode 9 Beta 1, 2 & 3 Bindings (#2279) * [FileProvider] Add Xcode 9 Beta 1 Bindings * Better naming * Feedback not related to BindAs * [FileProvider] Removes BindAs, add manual code for it and updated to Beta 3 * [FileProvider] Implement feedback * [CoreSpotlight] Updated spotlight bindings for xcode 9 beta 3. (#2193) Updated spotlight bindings for xcode 9 beta 3. * Fix warning caused by duplicate (#2354) * [FileProviderUI] Add Xcode 9 Beta 1 to 3 bindings (#2356) * Bump to Xcode 9 beta 4 * [arkit] ARLightEstimate does not conform to NSCopying anymore (fix unit test) * [uikit] NSFileProviderExtension.ReparentItem got a new parameter in beta4 (fix unit test) * [coreimage] CIImageAccumulator init returns nil in beta 4 There's no header change to mention `init` is not allowed but it's not clear how this default initializer could be used. Also make public some other API to construct this type (outside of XM). It's not clear why there were `internal` as they are (at least now) part of the header files. * [photos] Add helpers when PHLivePhotoEditingOption/NSDictionary is null (to avoid ambiguous API) (#2360) Adding a strongly typed `PHLivePhotoEditingOption` (a strongly typed version of an `NSDictionary`) can cause a `CS0121` (call is ambiguous) since using a `null` argument is common (only one option exist so far). This PR adds overloads that makes the code nicer in such case, e.g. before Xcode9: > // null is used when no options are given > _foo.SaveLivePhoto (output, null, completion); current (Xcode 9) > // casting required to remove ambiguity with PHLivePhotoEditingOption > _foo.SaveLivePhoto (output, (NSDictionary)null, completion); with this PR > // no option, no argument > _foo.SaveLivePhoto (output, completion); The same applies to `PrepareLivePhotoForPlayback`. * [tests] Disable/tweak two tests that breaks on (almost) all Xcode updates Those tests were not added to validate xOS so just keep the parts that helps us (without constantly checking back the new break flavor) * Disable watchOS to check if this hides others issues * [mapkit] Update for beta 4 * [coredata] Update for beta 4 * [wkwebkit] Update for beta 4 Note: WKWindowFeatures.h is not compiled (part of the framework umbrella) and the `@interface WKWindowFeatures (WKPrivate)` sounds like it should not have been exposed (it's all fields starting with `_`) * [corelocation] Update for beta 4 * Revert "Disable watchOS to check if this hides others issues" This reverts commit fed2249fa43290a1956ab2fe0d48f83ab6db9711. * [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]: https://github.com/xamarin/xamarin-macios/blob/f5956d6cc1eb5dfa7bab16628cf282d40237f64e/src/generator.cs#L5985 * [FinderSync] Update to beta 4 (#2377) * [ImageIO] Update to Xcode 9 (#2353) * [PhotosUI] Move macOS photosui bindings out of photos.cs into photosui.cs (#2358) * [quicklook] Update up to beta 4 (#2374) * [uikit] UIDragInteraction & UIDragInteractionDelegate (Xcode 9 b1,2,3) (#2357) * [safariservices] Update up to beta 4 (#2380) * [coreanimation] Update to beta 4 (#2382) Apple removed (mistake?) some API in beta 1. Filed as rdar 33590997 Internal tracking in https://trello.com/c/J8BDDUV9/86-33590997-coreanimation-quartzcore-api-removals * [storekit] Update up to beta 4 (#2379) * [CoreML] Update to Xcode 9 Beta 4 (#2387) * [uikit] UICollectionView/UITableView Drag & Drop (Xcode 9 b1,2,3 & 4) (#2355) * Update code after radar 32929318 and 32897776 are fixed in b4 (#2394) * [xcode9 CoreAudio] New definitions from Beta1 to Beta3 (#2359) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 (#2397) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 https://bugzilla.xamarin.com/show_bug.cgi?id=58512 Created strong API (VNBarcodeSymbology) on the following properties * VNDetectBarcodesRequest.SupportedSymbologies * VNDetectBarcodesRequest.Symbologies * VNBarcodeObservation.Symbology * Remove modern C# because classic can't do it 😡 * [mediaplayer] Update up to beta 4 (#2388) * [watchkit] Update to beta 4 (#2398) * Bump Visual Studio for Mac max version (#2408) * [coreimage] Add CIBarcodeDescriptor and enabled missing API for VNBarcodeObservation. Fix #58197 (#2411) https://bugzilla.xamarin.com/show_bug.cgi?id=58197 * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 (#2407) * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 * [uikit] Fixes based on comments * [coreimage] CIImageAccumulator API fixes. Fix #58349 (#2412) * Obsolete the default `init`; * XM exposed some older APIs using `int` instead of `CIFormat`. This is fixed and old APIs are obsoleted; * Both new & old APIs are now using `CIFormat` for both XI and XM. https://bugzilla.xamarin.com/show_bug.cgi?id=58349 * [uikit] UIText drag & drop - up to Xcode 9 beta 4 (#2410) * [uikit] UISplitView & UIStackView up to Xcode 9 beta 4 (#2425) * Bump XI/XM versions before preview 4 (#2422) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 (#2378) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 * [PDFKit] Implement feedback * [PDFKit] the forgotten enum * [PDFKit] More feedback * [PDFKit] Add Mac changes * Missing change * Fix test RectangleF VS CGRect * Pass -Wunguarded-availability-new to quiet a new clang warning (#2424) - https://bugzilla.xamarin.com/show_bug.cgi?id=58574 * [mtouch/mmp] Ignore warnings about unguarded code section with regards to availability. (#2441) * [monotouch-test] Remove workaround for fixed Apple bug. (#2445) * Bump to Xcode 9 beta 5. (#2447) * Bump to Xcode 9 beta 5. * [mmp] Disable the partial static registrar, because Apple's macOS SDK is broken. > In file included from Xamarin.Mac.registrar.mobile.i386.m:1: > In file included from ./Xamarin.Mac.registrar.mobile.i386.h:11: > /Applications/Xcode9-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVFoundation.h:88:9: fatal error: 'AVFoundation/AVRouteDetector.h' file not found https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [mmp] Fix partial static registrar removal. * [CallKit] Update to Xcode 9 beta 5. * [ARKit] ARPointCloud doesn't conform to NSCopying anymore in Xcode 9 beta 5. * [ARKit] Update to Xcode 9 beta 5 enough to make tests happy. * [CoreImage] Stub out new filters in Xcode 9 beta 5. * [tests][monotouch] Simplify some MDLMesh asserts since values change a lot between OS versions. * [mmp] Default to the dynamic registrar for release builds again, due to bug #58629. https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [tests][introspection] CXCall started implementing NSCopying without saying so in the headers. * Disable mmp static registrar tests due to 58629 for now * [quicklook] Update to beta 5 (#2450) * [photos] Update for beta 5 (#2452) Also update some existing enum members were added in beta 1 on macOS * [safariservices] Update for beta 5 (#2455) * [mediaplayer] Update to beta 5 (#2456) * [CoreLocation] Update Xcode 9 Beta 5 (#2453) * [CoreML] Update to Xcode 9 Beta 5 (#2454) * [Contacts] Update to Xcode 9 Beta 5 (#2451) * [Vision] Update to Xcode 9 Beta 5 (#2458) * [builds] Tell LLVM to stay away from newer macOS functions. (#2459) Fixes this build problem on Sierra: > ld: weak import of symbol '_futimens' not supported because of option: -no_weak_imports for architecture x86_64 This is a symbol that was (will be?) introduced in High Sierra. Interestingly this only occurs if the Xcode 8.X Command Line Tools haven't been manually installed. Because if the Xcode 8.X Command Line Tools are installed, this happens: 1. llvm's configure script detects that 'futimens' is not usable. 2. llvm's configure script detects that 'futimens' is not usable, because xcrun sets SDKROOT=/ when calling clang. a. When the SDKROOT variable is set, clang passes '-syslibroot /usr/lib' to ld. b. When ld gets '-syslibroot /usr/lib', ld looks in '/usr/lib' for a library that contains 'futimens' in the OS itself, and since we're on Sierra, that fails to link. c. So when llvm's configure script creates a test program that checks if 'futimens' is present, the program fails. This is correct, and makes llvm *not* use futimens. 3. xcrun sets SDKROOT=/ because /usr/share/current-os.sdk/Info.plist exists. If that file does not exist, then xcrun sets SDKROOT to Xcode9's macOS SDK (because that's what xcode-select reports). a. When SDKROOT is set to Xcode9's macOS SDK, the configure check for 'futimens' succeeds, because the macOS 10.13 SDK contains that function. b. llvm happily uses 'futimens', and then the final link fails because we're using a symbol not available on all target platforms. * [arkit] Update for Xcode 9 beta 5 - Part 1 (#2460) * [tests] The container app for watchOS tests should be 64-bit. (#2463) * [xharness] watchOS tests need to run in a clean environment. Works around #58348. (#2462) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [xharness] It watchOS tests don't need to be clean anymore. Fixes #58348. (#2473) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [uikit] UIView/UIScrollView/UIViewController up to Xcode 9 beta 5 (#2431) - Add NSDirectionalEdgeInsets type. - Includes DirectionalEdgeInsetsTest. * [AudioToolbox] Update bindings to Xcode 9 beta3 (not later changes). (#2294) * [xharness] Add a file existence check. (#2478) Fixes this exception: ``` Harness exception for 'introspection': System.IO.FileNotFoundException: Could not find file '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log'. File name: '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log' at System.IO.__Error.WinIOError (System.Int32 errorCode, System.String maybeFullPath) [0x00207] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/__error.cs:188 at System.IO.FileInfo.get_Length () [0x00038] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/fileinfo.cs:171 at xharness.CaptureLog.StopCapture () [0x00021] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Log.cs:252 at (wrapper remoting-invoke-with-check) xharness.CaptureLog:StopCapture () at xharness.AppRunner+<RunAsync>d__68.MoveNext () [0x0127f] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/AppRunner.cs:642 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter`1[TResult].GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:357 at xharness.RunSimulatorTask+<RunTestAsync>d__7.MoveNext () [0x0029d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2894 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.RunTestTask+<ExecuteAsync>d__8.MoveNext () [0x0010b] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2538 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.TestTask+<RunInternalAsync>d__87.MoveNext () [0x0010d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:1870 ``` I'm not sure how this can happen, but it has on the bots [1]. [1] https://jenkins.mono-project.com/job/xamarin-macios-pr-builder/4548/Test_Report/ * Bump versions for preview 5 (#2479) * [passkit] Update to beta 5 (#2481) * [tests] Remove workaround for radar #32688391. (#2486) * [replaykit] Update up to beta 5 (#2484) * Bump maccore to get fix for bug #55064. (#2487) * [apidiff] Update definition to new 10.12 (d15-3) stable release (#2490) * [SceneKit] basic work (#2483) * [coredata] Update to beta 5 (#2488) * [homekit] Update for Xcode 9 beta 5 (#2492) * [Foundation] Update for xcode9 (#2468) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 (#2493) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 * [Intents] Implement feedback * [Intents] Add a generic version for INInteraction.GetParameterValue * [Intents] Missing check * [Contacts] Add missing foundation NSItemProviderWriting protocol to CNContact (#2496) https://bugzilla.xamarin.com/show_bug.cgi?id=58203 This is available on all Contacts supported platforms ``` ./iPhoneOS.platform/Developer/SDKs/iPhoneOS11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchOS.platform/Developer/SDKs/WatchOS4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchSimulator.platform/Developer/SDKs/WatchSimulator4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ``` * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) (#2497) * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) * [IntentsUI] Better use a delegate instead so we have named params * Bump versions before 6th preview (#2514) * [arkit] Add missing MarshalDirective to ARPlaneAnchor (#2517) - Fixes bug #58648: ARPlaneAnchor.Extent property seems incorrect but changes to correct value after Debug access (https://bugzilla.xamarin.com/show_bug.cgi?id=58648) * [xtro-sharpie] Fix a compiler warning. (#2516) Fixes these warnings: Runner.cs(197,5): warning CS0642: Possible mistaken empty statement Runner.cs(199,5): warning CS0642: Possible mistaken empty statement Runner.cs(201,5): warning CS0642: Possible mistaken empty statement Runner.cs(203,5): warning CS0642: Possible mistaken empty statement Runner.cs(205,5): warning CS0642: Possible mistaken empty statement * [uikit] Update for Xcode 9 beta 5 - Part 3 (#2511) - UIKeyCommand - UINavigationBar - UINavigationItem - UIPasteboard - UITableViewHeaderFooterView * [xtro-sharpie] Remove xtro-plugin and misc other fixes. (#2522) * [xtro-sharpie] Build with msbuild and be as quiet as requested when building. * [xtro-sharpie] Must run as a 64-bit process, since the required native libraries are 64-bit. * [xtro-sharpie] Add run configurations to the project file to ease debugging in the IDE. * [xtro-sharpie] Remove xtro-plugin and the related commands. This was needed when there wasn't a 64-bit mono, in order to run xtro-sharpie in a 64-bit process. Now there is a 64-bit mono, so it's not needed anymore. Also improve makefile targets a bit, to auto-build stuff when needed, by setting the right dependencies. * Bump Xcode 9 to beta 6 (#2519) Disable watchOS tests again It seems like the Carousel crash from beta 4 is back to haunt us. This was working fine with beta 5. * Backport d15-3 SR2 fixes (#2515) * [coredata] Update to beta 6 (#2528) This seems to only revert some nullability changes from beta 5. * [coreml] Update to beta 6 (#2531) Fix our rdar 33643011 where additional setters were added in the headers but did not exists. * [videosubscriberaccount] Update to beta 6 (#2533) Only b1 and b2 introduced some additions/changes * [uikit] Update for Xcode 9 beta 6 - Part 4 (#2527) The following headers are now up to date: - UICollectionViewFlowLayout.h - UIDocumentPickerViewController.h - UIFontDescriptor.h - UIImage.h - UIImageView.h - UIImagePickerController.h * [xharness] Re-enable the watchOS tests. (#2534) It works fine for me locally, so let's see what Jenkins says. * [macos] Add new APIs in CoreWlan from Xcode9b3 (#2525) * Update AppKit bindings based on radar 33271241 results (#2518) * Update AppKit bindings based on radar 33271241 results - The header comment was updated to note it was NSSliderTouchBarItem view that has the protocol * Remove NSUserInterfaceCompression where not listed in header * [vision] Update to beta 6 (#2532) Removal of some deprecated (during beta) `init*` selectors. Also sync the versions that were inlined in subclasses - the old ones were not removed and the new ones were not added. * [xtro-sharpie] Many methods don't have selectors in Clang's API, so default to the name if no selector. (#2523) This makes a few more unclassified entries show up (mostly missing designated initializers): https://gist.github.com/rolfbjarne/07aa20f9b50b75bf3e69ac6a825e873a * [macos] Add ExternalAccessory APIs from xcode9 (#2526) * [58851] Disable NSMenuView in AllItemsWithNSMenuShouldAllowNull (#2504) * [arkit] Update for Xcode 9 beta 5 - Part 2 (#2505) - Add last missing selector. - Add tests for manual code. * [monotouch-test] Disable FontDescriptorTest.WithFeature (#2537) Disabled because it looks like the tvOS font we use: "Gujarati Sangam MN" does not have rare ligatures anymore (and the entire test is based on it). Before getting an actual fix for that, let's disable the test so it doesn't break all current builds. See: https://bugzilla.xamarin.com/show_bug.cgi?id=58929 * [xtro-sharpie] Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute. (#2524) Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute to calculate the native name for a TypeDefinition. Unclassified changes: https://gist.github.com/rolfbjarne/828f8ee41eebb0a3b60a38d71822fe59 * [foundation/uikit] Inline NSItemProvider_UIKitAdditions in NSItemProvider (#2538) As suggested here: https://github.com/xamarin/xamarin-macios/pull/2527#discussion_r134670981 * [intents] Fix breaking changes (api-diff) (#2543) Additions of @required members inside `INSpeakable` cannot be `[Abstract]` * [contacts] Fix breaking change (api-diff) (#2542) Type Changed: Contacts.CNPostalAddress Removed method: public static string LocalizeProperty (CNPostalAddressKeyOption option); * [macos] Reenable static registrar since Xcode9b6 un-broke SDK headers (#2544) - Fix a subtle spacing issues in PartialStaticLibrary property * [corebluetooth] Update up to beta 6 and enable it on watchOS (#2540) macOS 10.13 has finally catch up with iOS and this simplifies the bindings a bit. * [foundation] API fixes (apidiff) (#2545) 1. Let's not add new, already [Obsolete] API Type Changed: Foundation.NSDimension Added constructors: [Obsolete ("Not intended to be directly instantiated, this is an abstract class.")] public NSDimension (); 2. Fix inconsistently named API, e.g. Type Changed: Foundation.NSAttributedString Added properties: public static string[] ReadableTypeIdentifiersForItemProvider { get; } public static string[] WritableTypeIdentifiers { get; } * [pdfkit] Do not add already [Obsolete] API in new profiles (#2547) and ensure using the newer, correct API works cross-platforms iOS (before) [Obsolete ("Use 'Find (string, NSStringCompareOptions)' instead.")] public virtual PdfSelection[] Find (string text, nint options); public PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'Find (string, PdfSelection, NSStringCompareOptions)' instead.")] public virtual PdfSelection Find (string text, PdfSelection selection, nint options); public void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string, NSStringCompareOptions)' instead.")] public virtual void FindAsync (string text, nint options); public void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string [], NSStringCompareOptions)' instead.")] public virtual void FindAsync (string[] text, nint options); iOS (after) public virtual PdfSelection[] Find (string text, Foundation.NSStringCompareOptions compareOptions); public virtual PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); * Bump versions for the 7th preview (#2541) * Remove additions of AVKit removed in beta5 (#2536) * NSUrlSessionTask should implement NSProgressReporting for iOS (#2548) NSUrlSessionTask implements NSProgressReporting on iOS as well as Mac, so the #if MONOMAC isn't needed. * Add missing availability attributes causing failures on older iOS versions (#2550) * [vision] Minor fix wrt xtro (#2551) including some things we need to ignore manually !missing-field! VNVisionVersionNumber not bound !missing-pinvoke! VNImagePointForFaceLandmarkPoint is not bound !missing-pinvoke! VNNormalizedFaceBoundingBoxPointForLandmarkPoint is not bound * [uikit] NSFileProviderMessaging was removed in beta 2. Fixes #58222 (#2552) reference: https://bugzilla.xamarin.com/show_bug.cgi?id=58222 * [uikit] Update for Xcode 9 - Part 5 (#2546) Bindings for the following headers: - UIActivity.h - UIActivityItemProvider.h - UIAlertController.h - UIApplication.h - UIBarButtonItem.h - UIButton.h - UICollectionViewLayout.h - UIColor.h - UIControl.h - UIDocumentMenuViewController.h - UIFontMetrics.h - UIGestureRecognizer.h - UIGraphicsImageRenderer.h - UIInputViewController.h * [CoreText] Fix an extraneous free in CTFont.GetDefaultCascadeList. (#2555) We do not own the return value from CFArrayGetValueAtIndex, so don't say we do when creating CTFontDescriptor instances, since that leads to angry dragons: 2017-08-28 20:15:20.293 monotouchtest[33186:2311738] A_FontTest 2017-08-28 20:15:20.294 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithFontDescriptorAndOptions 2017-08-28 20:15:20.295 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithNameAndOptions 2017-08-28 20:15:20.296 monotouchtest[33186:2311738] critical: Stacktrace: at <unknown> <0xffffffff> at (wrapper managed-to-native) CoreText.CTFont.CTFontCopyDefaultCascadeListForLanguages (intptr,intptr) [0x0000a] in <ae65a2b1eea242d2b68fe784749543bf>:0 at CoreText.CTFont.GetDefaultCascadeList (string[]) [0x00013] in /work/maccore/xcode9/xamarin-macios/src/CoreText/CTFont.cs:2185 at MonoTouchFixtures.CoreText.A_FontTest.GetCascadeList () [0x0001e] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/CoreText/FontTest.cs:78 at (wrapper runtime-invoke) object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) [0x0004f] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) System.Reflection.MonoMethod.InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&) [0x00016] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at System.Reflection.MonoMethod.Invoke (object,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo) [0x00032] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/corlib/System.Reflection/MonoMethod.cs:305 at System.Reflection.MethodBase.Invoke (object,object[]) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/referencesource/mscorlib/system/reflection/methodbase.cs:229 at NUnit.Framework.Internal.Reflect.InvokeMethod (System.Reflection.MethodInfo,object,object[]) [0x00009] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Reflect.cs:215 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunNonAsyncTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x00025] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:116 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x0001a] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:90 at NUnit.Framework.Internal.Commands.TestMethodCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:66 at NUnit.Framework.Internal.Commands.SetUpTearDownCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00007] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/SetUpTearDownCommand.cs:84 at NUnit.Framework.Internal.WorkItems.SimpleWorkItem.PerformWork () [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/SimpleWorkItem.cs:64 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at MonoTouch.NUnit.UI.BaseTouchRunner.Run (NUnit.Framework.Internal.Test) [0x0004d] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:442 at MonoTouch.NUnit.UI.BaseTouchRunner.Run () [0x00030] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:171 at MonoTouch.Dialog.StringElement.Selected (MonoTouch.Dialog.DialogViewController,UIKit.UITableView,Foundation.NSIndexPath) [0x00008] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/Elements.cs:765 at MonoTouch.Dialog.DialogViewController.Selected (Foundation.NSIndexPath) [0x00026] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:577 at MonoTouch.Dialog.DialogViewController/Source.RowSelected (UIKit.UITableView,Foundation.NSIndexPath) [0x00016] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:402 at (wrapper runtime-invoke) <Module>.runtime_invoke_void__this___object_object (object,intptr,intptr,intptr) [0x0005d] in <32f0c196c5bc4aa18daea2ee64a7814e>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) UIKit.UIApplication.UIApplicationMain (int,string[],intptr,intptr) [0x0005c] in <ae65a2b1eea242d2b68fe784749543bf>:0 at UIKit.UIApplication.Main (string[],intptr,intptr) [0x00005] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:79 at UIKit.UIApplication.Main (string[],string,string) [0x00038] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:63 at monotouchtest.Application.Main (string[]) [0x00011] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/Main.cs:27 at (wrapper runtime-invoke) <Module>.runtime_invoke_void_object (object,intptr,intptr,intptr) [0x00051] in <30a7f7e09de9467b8b454221034a0e38>:0 Native stacktrace: 0 monotouchtest 0x000000010fca03c4 mono_handle_native_crash + 244 1 monotouchtest 0x000000010fcadd30 mono_sigsegv_signal_handler + 288 2 libsystem_platform.dylib 0x000000011feb3b3a _sigtramp + 26 3 CoreFoundation 0x000000011de035a2 computeSanitizedString + 146 4 CoreText 0x00000001168df314 _ZN15TPurgeableCache19RetainedValueForKeyEPKv + 54 5 CoreText 0x00000001168def85 _ZNK17TDescriptorSource22CopyDescriptorUncachedEPK7__CFURLbPK10__CFString + 55 6 CoreText 0x00000001168df34f _ZNK17TDescriptorSource14CopyDescriptorEPK7__CFURLbPK10__CFString + 27 7 CoreText 0x00000001168e20ad _ZNK17TDescriptorSource35CopyFontDescriptorPerPostScriptNameEPK10__CFStringmm + 297 8 CoreText 0x00000001168dfd9e _ZNK17TDescriptorSource30CopySystemFontDescriptorByNameEPK10__CFString10UIFontFlag + 54 9 CoreText 0x00000001168e54c4 _ZNK14TFontFallbacks17CopyFontFallbacksEPK10__CFStringS2_PK9__CFArray + 652 10 CoreText 0x00000001168e4a00 _ZNK14TFontFallbacks29CopyFontFallbacksForLanguagesEPK10__CFStringPK9__CFArray + 122 11 CoreText 0x00000001168e4971 _ZN17TDescriptorSource39CopyDefaultSubstitutionListForLanguagesEPK10__CFStringPK9__CFArray + 61 12 CoreText 0x00000001169397a7 _ZNK9TBaseFont28CreateSystemDefaultFallbacksEPK10__CFStringPK9__CFArray + 51 13 CoreText 0x000000011693999c _ZNK9TBaseFont15CreateFallbacksE10UIFontFlagPPK16__CFCharacterSetPK9__CFArray + 346 14 CoreText 0x00000001168c1036 _ZNK5TFont24CreateDefaultCascadeListEPK9__CFArray + 242 15 CoreText 0x00000001168b8ff9 CTFontCopyDefaultCascadeListForLanguages + 97 16 ??? 0x0000000140eaefd3 0x0 + 5384105939 17 ??? 0x0000000140eae761 0x0 + 5384103777 18 ??? 0x000000013c9c8e74 0x0 + 5311860340 19 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 20 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 21 monotouchtest 0x000000010fd71bac mono_runtime_try_invoke_array + 1292 22 monotouchtest 0x000000010fd15587 ves_icall_InternalInvoke + 647 23 ??? 0x000000013e9fcd13 0x0 + 5345627411 24 ??? 0x000000013e9fc738 0x0 + 5345625912 25 ??? 0x000000013e9fded5 0x0 + 5345631957 26 ??? 0x000000013e9fbb76 0x0 + 5345622902 27 ??? 0x000000013e9e237e 0x0 + 5345518462 28 ??? 0x000000013e9e237e 0x0 + 5345518462 29 ??? 0x000000013e9e237e 0x0 + 5345518462 30 ??? 0x000000013e9e237e 0x0 + 5345518462 31 ??? 0x000000013e873006 0x0 + 5344014342 32 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 33 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 34 monotouchtest 0x000000010fd6e320 mono_runtime_invoke + 208 35 monotouchtest 0x000000010fe71af1 xamarin_invoke_trampoline + 5617 36 monotouchtest 0x000000010fe79ddd xamarin_arch_trampoline + 189 37 monotouchtest 0x000000010fe7b1a1 xamarin_x86_64_common_trampoline + 110 38 UIKit 0x0000000111b9876b -[UITableView _selectRowAtIndexPath:animated:scrollPosition:notifyDelegate:] + 1810 39 UIKit 0x0000000111b98986 -[UITableView _userSelectRowAtPendingSelectionIndexPath:] + 344 40 UIKit 0x0000000111a6b5c9 _runAfterCACommitDeferredBlocks + 318 41 UIKit 0x0000000111a59dad _cleanUpAfterCAFlushAndRunDeferredBlocks + 280 42 UIKit 0x0000000111a89f68 _afterCACommitHandler + 137 43 CoreFoundation 0x000000011de3ddb7 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23 44 CoreFoundation 0x000000011de3dd0e __CFRunLoopDoObservers + 430 45 CoreFoundation 0x000000011de22324 __CFRunLoopRun + 1572 46 CoreFoundation 0x000000011de21a89 CFRunLoopRunSpecific + 409 47 GraphicsServices 0x0000000121b7e9c6 GSEventRunModal + 62 48 UIKit 0x0000000111a5f7d0 UIApplicationMain + 159 49 ??? 0x000000013c9c4474 0x0 + 5311841396 50 ??? 0x000000013c9c40ad 0x0 + 5311840429 ================================================================= Got a SIGSEGV while executing native code. This usually indicates a fatal error in the mono runtime or one of the native libraries used by your application. ================================================================= * [monotouch-test] Don't subclass MKMapView. (#2556) MKMapView doesn't like being subclassed (Apple says "you should not subclass the MKMapView class itself"). Bad things like this starts happening: Thread 0 name: tid_303 Dispatch queue: com.apple.main-thread Thread 0 Crashed: 0 libsystem_kernel.dylib 0x0000000186b25348 __pthread_kill + 8 1 libsystem_pthread.dylib 0x0000000186c39354 pthread_kill$VARIANT$mp + 396 2 libsystem_c.dylib 0x0000000186a94fd8 abort + 140 3 monotouchtest 0x0000000101c02c14 mono_handle_native_crash + 22047764 (mini-exceptions.c:2548) 4 monotouchtest 0x0000000101c0d02c mono_sigsegv_signal_handler + 22089772 (mini-runtime.c:2886) 5 libsystem_platform.dylib 0x0000000186c33b60 _sigtramp + 52 6 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 7 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 8 CoreFoundation 0x0000000186eda51c -[__NSArrayM dealloc] + 68 9 CoreFoundation 0x000000018703f5c8 __CFBasicHashDrain + 312 10 CoreFoundation 0x0000000186fb5b44 _CFRelease + 224 11 CoreText 0x000000018a808404 TDescriptorSource::PurgeFontFallbacksCache+ 488452 () + 92 12 CoreText 0x000000018a808374 TDescriptorSource::PurgeFromCaches+ 488308 (__CFURL const*) const + 176 13 CoreText 0x000000018a7eec74 CTFontRemoveFromCaches + 168 14 VectorKit 0x0000000196a539b0 +[VKSharedResourcesManager removeResourceUser:] + 324 15 VectorKit 0x0000000196ca27a4 md::MapEngine::~MapEngine+ 2643876 () + 360 16 VectorKit 0x0000000196ca2634 md::MapEngine::~MapEngine+ 2643508 () + 12 17 libobjc.A.dylib 0x000000018651eef4 object_cxxDestructFromClass+ 28404 (objc_object*, objc_class*) + 148 18 libobjc.A.dylib 0x000000018652c638 objc_destructInstance + 88 19 libobjc.A.dylib 0x000000018652c690 object_dispose + 16 20 QuartzCore 0x000000018afca3ac -[CALayer dealloc] + 116 21 VectorKit 0x0000000196a43294 -[VKMapView dealloc] + 940 22 QuartzCore 0x000000018af6aafc CA::release_objects+ 744188 (X::List<void const*>*) + 32 23 QuartzCore 0x000000018afd97d8 CA::Layer::~Layer+ 1198040 () + 276 24 QuartzCore 0x000000018afca37c -[CALayer dealloc] + 68 25 QuartzCore 0x000000018af6b16c CA::Transaction::commit+ 745836 () + 1052 26 UIKit 0x0000000190393290 _afterCACommitHandler + 256 27 CoreFoundation 0x0000000186fb38b8 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 32 28 CoreFoundation 0x0000000186fb1270 __CFRunLoopDoObservers + 412 29 CoreFoundation 0x0000000186fb182c __CFRunLoopRun + 1292 30 CoreFoundation 0x0000000186ed22d8 CFRunLoopRunSpecific + 436 31 GraphicsServices 0x0000000188d58f84 GSEventRunModal + 100 32 UIKit 0x000000019040427c UIApplicationMain + 208 33 monotouchtest 0x000000010106eb90 wrapper_managed_to_native_UIKit_UIApplication_UIApplicationMain_int_string___intptr_intptr + 9907088 (/<unknown>:1) 34 monotouchtest 0x0000000100f0d6ac UIKit_UIApplication_Main_string___intptr_intptr + 8459948 (UIApplication.cs:79) 35 monotouchtest 0x0000000100f0d66c UIKit_UIApplication_Main_string___string_string + 8459884 (UIApplication.cs:63) 36 monotouchtest 0x0000000100b10450 monotouchtest_Application_Main_string__ + 4277328 (Main.cs:27) 37 monotouchtest 0x0000000100e0c244 wrapper_runtime_invoke_object_runtime_invoke_dynamic_intptr_intptr_intptr_intptr + 244 38 monotouchtest 0x0000000101c10048 mono_jit_runtime_invoke + 22102088 (mini-runtime.c:2526) 39 monotouchtest 0x0000000101c75eec do_runtime_invoke + 22519532 (object.c:2829) 40 monotouchtest 0x0000000101c78a3c do_exec_main_checked + 22530620 (object.c:4623) 41 monotouchtest 0x0000000101bf9a1c mono_jit_exec + 22010396 (driver.g.c:1040) 42 monotouchtest 0x0000000101d13d60 xamarin_main + 23166304 (monotouch-main.m:482) 43 monotouchtest 0x00000001007de710 main + 927504 (main.m:67) 44 libdyld.dylib 0x00000001869f656c start + 4 * [introspection] Let SkipDueToAttributeInProperty skip setters too (#2557) `SkipDueToAttributeInProperty` which is used to check the availability attribute of properties when the Availability info only exist on the property and not on the property Getter or Setter was wrong. This lead to `setSpringLoaded` (which was introduced in iOS 11) to not be ignored by the test (making it fail). - Fix bug #59085: [introspection-ios] selector not found for UIKit.UIBarButtonItem : setSpringLoaded: - Broken test (https://bugzilla.xamarin.com/show_bug.cgi?id=59085) * [corevideo][watchos] Enable CoreVideo on watchOS (#2553) * [storekit] Fix CampaignToken typo (#2559) (#2560) - Fixes bug #59078: StoreProductParameters and invalid property for CampaignToken (https://bugzilla.xamarin.com/show_bug.cgi?id=59078) * [coreml][watchos] Enable API using CoreVideo on watchOS. Fix #58097 (#2561) https://bugzilla.xamarin.com/show_bug.cgi?id=58097 * Add missing [MarshalDirective] attributes. (#2558) * [bindings-generator] Improve build & project file. * Add missing [MarshalDirective] attributes. Add missing [MarshalDirective] attributes, which also requires implementing support for out parameters in the binding generator, since one of the signatures missing the [MarshalDirective] contains such an out parameter. Also add tests for all the API I've added [MarshalDirective] to. * [bindings-generator] Remove redundant if check. * [monotouch-test] Rename file to end with 'Test.cs'. * [tests] Fix a few build errors for Xamarin.Mac. * [uikit] Fix UIColor and UIInputViewController tvOS availability (#2569) - Fixes introspection tests on tvOS 10. * [storekit] Fix SKCloudServiceSetupMessageIdentifier and SKProductStorePromotionController tvOS availability (#2568) - Fixes introspection tests on tvOS 10. * [mapkit] Fix MKMapItemTypeIdentifier tvOS availability (#2566) - Also remove double [Mac] availability attribute. - Fixes introspection tests on tvOS 10. * [ARKit] Fix marshalling for ARPointCloud.RawFeaturePoints. (#2565) ARPointCloud.RawFeaturePoints is an array of Vector3, but each vector is 16-byte aligned (as if it were an array of Vector4). This means we need to account for this when creating a managed array from pointer to the native C-style array. * [ModelIO] Fix MDLVoxelIndexExtent struct. (#2564) The MDLVoxelIndexExtent is a struct containing two 4-dimensional vectors of integers (not floats, as originally and incorrectly implemented). Fix this my creating a new MDLVoxelIndexExtent2 struct with the right fields, re-implement all the API that exposes this struct and obsolete the old API. Also add missing [MarshalDirective] attributes. And write a test to make sure it works fine now and forever. * [coredata] Enable new fields since rdar #33878590 is fixed w/beta 6 (#2570) reference: https://trello.com/c/dlSRYPFx * [xtro-sharpie] Add a Simd check class to verify signatures with Simd types. * [Simd] Add simd matrix types. The OpenTK matrices (Matrix2/3/4) has a different memory layout than Apple's matrix_float2x2/matrix_float3x3/matrix_float4x4 matrices: the OpenTK versions are row-major, while Apple's versions are column-major. This means that when blitting memory from one to the other, the matrix will appear to have been transposed. See bug #[58599][2] for an example. Unfortunately we've already bound several API with Apple's matrix_floatXxX matrices using OpenTK's matrices, and although they're bound wrong, and the matrices appear transposed on input/output, we can't change the behavior because we have to maintain compatibility. This means we have to introduce new API, and then also just define new matrix types with the right memory layout (column-major). Additionally, in the future we might be able to mark these matrices as Simd-matrixes, so that the JIT/AOT compiler can generate the correct alignment for them, avoiding having to define a native conversion method (using the [MarshalDirective] hack). The matrices have been designed to match API-wise the matrices in the System.Numerics.Vectors namespace [1], but for the moment with only a few basic operations implemented (Determinant/Transpose/Multiply) defined (we can always add more later if we want to). In addition explicit conversion operators to and from the corresponding OpenTK.MatrixX are implemented, which means any operation defined in the OpenTK matrices can be used by converting back and forth. [1]: https://msdn.microsoft.com/en-us/library/system.numerics.matrix4x4(v=vs.111).aspx [2]: https://bugzilla.xamarin.com/show_bug.cgi?id=58599 * [ARKit] Use the new Simd matrix types. * [Vision] Use the new Simd matrix types. * [ModelIO] Use the new Simd-compatible matrix types, and deprecate the old API. * [GameplayKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [SpriteKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [xtro] Don't report missing [MarshalDirective] for obsolete methods. * [xtro] Remove unnecessary ignores. The implementation changed, and these stayed accidentally. * [wkwebkit] Fix (native) protocol names (#2572) Also ignore xtro's WKSnapshotConfiguration since it's an Apple bug 34185961 reference (xtro) !missing-protocol! WKURLSchemeHandler not bound !missing-protocol! WKURLSchemeTask not bound !unknown-protocol! WKUrlSchemeHandler bound !unknown-protocol! WKUrlSchemeTask bound !unknown-type! WKSnapshotConfiguration bound * [uikit] Fix enums availability attributes (#2575) - Fixes bug #59132: [uikit] Extra types in watchOS (https://bugzilla.xamarin.com/show_bug.cgi?id=59132) * [watchkit] Add missing designated initializers (#2574) references (xtro) !missing-designated-initializer! WKInterfaceController::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! WKUserNotificationInterfaceController::init is missing an [DesignatedInitializer] attribute * [xtro] Reword some of the Simd diagnostic messages according to review. * [tests] Make sure test symbols don't clash between different test libraries. Fixes this build problem for framework-test: clang: error: linker command failed with exit code 1 (use -v to see invocation) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_get_rotation_matrix'. MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticObjectTest.framework/XStaticObjectTest (Location related to previous error) MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticArTest.framework/XStaticArTest(libtest-ar.x86_64.o) (Location related to previous error) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransformcomponent_get_local_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_create_global_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float4x4'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float3x3'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float2x2'. MTOUCH: error MT5209: Native linking error: 6 duplicate symbols for architecture x86_64 MTOUCH: error MT5202: Native linking failed. Please review the build log. * [tests] Since libtest.a need ModelIO now, the corresponding LinkWith attributes need to state that too. * [introspection] Don't check native signatures on obsolete members, and ignore the right simd matrix types. Fixes this introspection/Mac problem: ***** ApiSignatureTest.NativeSignatures Selector: uniformWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: uniformWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: uniformWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: setMatrixFloat2x2Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: setMatrixFloat3x3Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: setMatrixFloat4x4Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: initWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: initWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: initWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded * [monotouch-tests] Include more custom asserts for watchOS to make the build work. Fixes this: Simd/MatrixFloat4x4Test.cs(28,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(29,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(37,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(48,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' [...] * [monotouch-test] Exclude code that requires the binding project from xammac tests. Exclude code that requires the test binding project from xammac tests because there's currently no XM version of the test binding project. Fixes this: tests/monotouch-test/SpriteKit/UniformTest.cs(20,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLMaterialProperty.cs(37,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLTransform.cs(34,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) * Bump version for preview #8 (#2576) * [spritekit] Audit fixes (xtro) (#2577) 1. SKVideoNode is now, partially, available on watchOS and does not require the extra, manual code to swicth selectors depending on the OS version being run. !missing-type! SKVideoNode not bound !missing-selector! SKVideoNode::anchorPoint not bound !missing-selector! SKVideoNode::initWithCoder: not bound !missing-selector! SKVideoNode::initWithFileNamed: not bound !missing-selector! SKVideoNode::initWithURL: not bound !missing-selector! SKVideoNode::setAnchorPoint: not bound !missing-selector! SKVideoNode::setSize: not bound !missing-selector! SKVideoNode::size not bound !missing-selector! +SKVideoNode::videoNodeWithFileNamed: not bound !missing-selector! +SKVideoNode::videoNodeWithURL: not bound 2. SKNodeFocusBehavior is exposed needlessly on watchOS because SpriteKit/Enums.cs was not processed by the generator, so [NoWatch] did not matter. !unknown-native-enum! SKNodeFocusBehavior bound It's also visible on macOS but nothing uses it (so we do not expose it needlessly) !missing-enum! SKNodeFocusBehavior not bound 3. Add missing designated initializer on default `init` !missing-designated-initializer! SKAttributeValue::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! SKNode::init is missing an [DesignatedInitializer] attribute 4. Remove inconsistency for SKNode subclasses wrt XAMCORE_4_0 The trio attributeValues, setAttributeValues and setValue:forAttributeNamed: that was moved from SKNode (deprecated) into its subclasses. This was done using XAMCORE_4_0 but not on every subclasses. This adds them everywhere to be consistent (only SKNode versions are not defined in XAMCORE_4_0) !missing-selector! SKEffectNode::attributeValues not bound !missing-selector! SKEffectNode::setAttributeValues: not bound !missing-selector! SKEffectNode::setValue:forAttributeNamed: not bound !missing-selector! SKEffectNode::valueForAttributeNamed: not bound !missing-selector! SKEmitterNode::attributeValues not bound !missing-selector! SKEmitterNode::setAttributeValues: not bound !missing-selector! SKEmitterNode::setValue:forAttributeNamed: not bound !missing-selector! SKEmitterNode::valueForAttributeNamed: not bound !missing-selector! SKSpriteNode::attributeValues not bound !missing-selector! SKSpriteNode::setAttributeValues: not bound !missing-selector! SKSpriteNode::setValue:forAttributeNamed: not bound !missing-selector! SKSpriteNode::valueForAttributeNamed: not bound * [introspection] Make sure '[FAIL]' is printed before every failure. (#2578) This makes xharness able to list the failures in the inline summary. * [xtro] Reword some of the Simd diagnostic messages according to review. * [xharness] Add a missing IsServerMode check to generate correct html. (#2581) * [SpriteKit] SKTransformNode is new in Xcode 9 so no need to keep the broken (and obsolete) non-simd version of RotationMatrix. * [intents] Fix some (partial) xtro issues and #59156 (#2585) reference https://bugzilla.xamarin.com/show_bug.cgi?id=59156 Remaining issues are filled in https://bugzilla.xamarin.com/show_bug.cgi?id=59183 !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound * [Intents] Confirm* interface methods should be bound as Confirm, Fixes Bug 59164 (#2591) * [Intents] Confirm* interface methods should probably be bound as Confirm, Fixes Bug 59164 https://bugzilla.xamarin.com/show_bug.cgi?id=59164 All Confirm* methods from *IntentHandling interfaces should be named just `Confirm` to avoid confusion because most of them do not directly confirm as an acion, but instead they **ask** for confirmation also we would follow swift's naming by doing this. * [Intents] XAMCORE_4_0 all Confirm* methods from *IntentHandling Turns any Confirm* into just Confirm inside a XAMCORE_4_0 block, * [Intents] Fix breaking changes in Intents added in Xcode 9 Bindings (#2590) Apple added more protocol conformances to INRidesharingDomainHandling and INPaymentsDomainHandling protocols in Xcode 9, I introduced these breaking changes back when I did intents binding so fixing them :) * [Metal] New bindings from Xcode 9 betas (#2457) * [AVFoundation] Updated bindings for xcode9. (#2272) * [Xcode9] Add IOSurface bindings (#2363) * This framework was a private framework before iOS 11. This framework was a private framework before iOS 11, yet the headers claim many API were introduced in iOS 10. So take account of this difference by using the private framework location in iOS 10.3 or earlier. Testing these API from Xcode works fine when run on an iOS 10.3 device, and I've confirmed the IOSurface framework is loaded from the private frameworks path on older devices (and when built using Xcode 9 and linked with the public framework path). * Disable code to make IOSurface work on iOS 10. Disable the code to make IOSurface work on iOS 10, since it may be rejected by the App Store. This also means adjusting the availability attributes, so that the introspection tests pass (and to document that technically these API won't work when used with Xamarin.iOS in iOS 10). I've filed bug #[59201][1] to keep track of this, maybe we can re-enable this later. [1]: https://bugzilla.xamarin.com/show_bug.cgi?id=59201 * [CoreMedia] Fix leak in CMAttachmentBearer.GetAttachments. (#2593) The caller owns the return value from CMCopyDictionaryOfAttachments, so tell Runtime.GetNSObject that. * [Intents] Adds missing API found by xtro, fixes Bug 59183 (#2596) https://bugzilla.xamarin.com/show_bug.cgi?id=59183 Fixes !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !incorrect-protocol-member! INUIHostedViewControlling::configureWithInteraction:context:completion: is OPTIONAL and should NOT be abstract * [xtro] Fix StartWorkingDirectory to enable debugging (#2598) * [iosurface] Enable for tvOS and XM classic (to avoid multiple defines around consumer API) (#2597) * [xtro] Fix EnumCheck (#2600) * [ARKit] Rename a few method to make them nicer. (#2604) * DisplayTransform -> GetDisplayTransform since methods should have verbs. * SessionWasInterrupted -> WasInterrupted and SessionInterruptionEnded -> InterruptionEnded since these names match better with the other names (CameraDidChangeTrackingState / DidFail / DidOutputAudioSampleBuffer: none are prefixed with 'Session'). Additionally, the type is a Model (for the delegate pattern), which means all methods are more-or-less event-like, and the first argument is always the same (the protocol itself), which is another indicator the methods should be named similarly. * [Foundation] Remove 'Key' suffix from some fields. (#2606) Of the 168 fields in NSMetadataItem, only these 5 hadn't removed the 'Key' suffix. So make them all equivalent by removing the 'Key' suffix from these 5 fields. * [ImageIO] Fix API to not duplicate the instance in instance methods. (#2609) An instance method does not need to take the instance as a parameter, so remove the first (instance) parameter for CGImageDestination.AddAuxiliaryDataInfo and CGImageSource.CopyAuxiliaryDataInfo. An alternative solution would be to make the methods static, but I like the instance API better. * [UIKit] De-model UIDataSourceTranslating. (#2603) It's not clear from neither the documentation nor the headers how this protocol is supposed to be used, and since it doesn't correspond to the delegate pattern, remove the [Model] attribute for now. We can always add it back later. * [CoreML] Improve API. (#2592) * [CoreML] Improve API. * The indices, shape and stride properties for MLMultiArray and MLMultiArrayConstraint can logically only be arrays of integers, so type them as such. This means adding overloads for MLMultiArray's constructors, GetObject and SetObject methods, and the indexers that takes nint[] arrays instead of NSNumber[] arrays. * Change MLFeatureValue's static factory methods to be a method ('Create') instead of a preposition, and call all the different factory methods the same, since they can be overloaded nicely. * [tests][monotouch-test] Add version check to MLMultiArrayTest and make sure the arrays we create are big enough for the data we put in them. * [tests][monotouch-test] MLMultiArray's elements aren't zero-initialized, so don't assume that in the tests. * Support overloading Objective-C methods based on static/instance. (#2607) Two Objective-C methods can be named identically as long as one is static and the other instance. We must support this since Apple did just this (in the NSItemProviderReading / NSItemProviderWriting protocols). We solve it by prepending a '+' or '-' to the selector when hashing it (to determine selector uniqueness, and to look the method up again at runtime). * [uikit] Update for Xcode 9 - Part 6 (#2602) NSAttributedString.h NSFileProviderExtension.h NSLayoutAnchor.h UIAccessibility.h UIAccessibilityAdditions.h UIAccessibilityContainer.h UIAccessibilityContentSizeCategoryImageAdjusting.h UIAccessibilityCustomRotor.h UIAccessibilityLocationDescriptor.h UITabBar.h UINavigationBar.h UIScreen.h * Xcode9 scenekit (#2512) * [SceneKit] basic work * Added key * [xcode9] SCNCameraController * [xcode9] SCNCamera updates * [xcode9] SCNMaterial * [xcode9] SCNGeometryTessellator, SCNCameraControlConfiguration, SCNView, small bits * Add trailing commas to last enum value * Remove whitespace noise * [scenekit] Update deprecated attributes messages * Addresses some of Rolf's feedback * Drop the WeakDelegate in SCNCameraController * Rename method to Render, remove ctor from class that can not be constructed in Palygrounds, add typo exception * [AppKit] Rename NSBezierPath.AppendBezierPathWithCGGlyph to match its sibling methods. (#2605) NSBezierPath contains a lot of 'AppendPathWithXXX' methods, that all map to 'appendBezierPathXXX' selectors. So rename AppendBezierPathWithCGGlyph accordingly, to make it more similar to the other methods in the same type. * [uikit] Add all UISpringLoadedInteractionSupporting (#2616) Types do not conform to the protocol but protocol methods work on those types (see monotouch-test). Fixed introspection tests accordingly and tested the selectors in monotouch-test. * [Intents] Add convenience ctor overload and call correct base ctor in manual ctor. (#2613) Add a convenience constructor overload in INGetUserCurrentRestaurantReservationBookingsIntent that uses nint instead of NSNumber, since logically "number of results" will always be some sort of integer. Also call the correct base constructor in INSpeakableString's custom constructor (same as any other generated constructor). Otherwise we end up doing something like this: [[[INSpeakableString alloc] init] initWith ...], i.e. calling two different init methods. * [coreimage] Add new headers API up to beta 6 (#2601) Filters are not complete (ref: #57350) https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * Some new constants are not yet documented (type is known), so they are commented / ignored https://bugzilla.xamarin.com/show_bug.cgi?id=59296 * Filled bug for [Wrap] inside [Category] so strong dictionary helpers can be re-enabled later https://bugzilla.xamarin.com/show_bug.cgi?id=59294 * [foundation] xtro fixes for watchOS (#2586) !missing-enum! NSProcessInfoThermalState not bound !missing-field! NSProcessInfoThermalStateDidChangeNotification not bound !missing-selector! NSProcessInfo::thermalState not bound Headers are wrong and preferredPresentationStyle is not in tvOS and watchOS !missing-selector! NSItemProvider::preferredPresentationStyle not bound !missing-selector! NSItemProvider::setPreferredPresentationStyle: not bound * [uikit] Also remove UIPreferredPresentationStyle enum from platform where it's not used * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. (#2614) * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. * NSItemProviderWriting: * NSItemProviderReading: Implement correctly and completely by uncommenting commented out code. * NSMutableString: * NSAttributedString: remove inlined members, since these classes don't implement NSItemProviderReading / NSItemProviderWriting (according to the headers at least). * NSUrl: all platforms now seem to implement NSItemProviderReading / NSItemProviderWriting. * NSString: all platforms now seem to implement both NSItemProviderReading and NSItemProviderWriting * UIColor: * UIImage: Update inlined protocol members according to the latest beta. Additionally, due to the following conditions: * The protocols all have the correct members now. * In the API definition we tell the generator to inline members from a protocol by inheriting from the corresponding interface. * The generator doesn't inline static members from protocols. several 'new' keywords had to be added to silence a compiler warning that occurrs when we manually inline a static member, since the member would be included in the type both from the inherited interface and the manual implementation. * [Foundation] Comment out NSItemProviderWriting.GetItemProviderVisibility to avoid inlining/generating unusable methods. NSItemProviderWriting.GetItemProviderVisibility is an optional method, and none of the native classes that implements NSItemProviderWriting actually imlements the method. This means inlining the method in those classes ends up creating unusable API; so just comment out the method to avoid generating the unusable API. The introspection tests found this: [FAIL] Foundation.NSString : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Foundation.NSUrl : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Contacts.CNContact : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] MapKit.MKMapItem : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIColor : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIImage : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] iOSApiSelectorTest.ApiSelectorTest.StaticMethods : 6 errors found in 2348 static selector validated: See also https://bugzilla.xamarin.com/show_bug.cgi?id=59308 * [iosurface] Add missing [TV] attributes (#2619) * [opengles] Enable the new API using IOSurface (#2618) The symbol only exists inside device libraries, not on simulator, and the introspection tests were updated to ignore it. Part of https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [avfoundation][watchos] Enable AudioBufferList (fix #59145) + audit (xtro) (#2617) 1. AudioBufferList is part of CoreAudio (wrong namespace, which needs a few changes in the generator) and now available in watchOS 4 https://bugzilla.xamarin.com/show_bug.cgi?id=59145 2. Also fixes xtro found issues: !missing-type! AVAudioRecorder not bound !missing-selector! AVAudioRecorder::averagePowerForChannel: not bound !missing-selector! AVAudioRecorder::channelAssignments not bound !missing-selector! AVAudioRecorder::currentTime not bound !missing-selector! AVAudioRecorder::delegate not bound !missing-selector! AVAudioRecorder::deviceCurrentTime not bound !missing-selector! AVAudioRecorder::format not bound !missing-selector! AVAudioRecorder::initWithURL:format:error: not bound !missing-selector! AVAudioRecorder::initWithURL:settings:error: not bound !missing-selector! AVAudioRecorder::isMeteringEnabled not bound !missing-selector! AVAudioRecorder::isRecording not bound !missing-selector! AVAudioRecorder::peakPowerForChannel: not bound !missing-selector! AVAudioRecorder::recordAtTime: not bound !missing-selector! AVAudioRecorder::recordAtTime:forDuration: not bound !missing-selector! AVAudioRecorder::recordForDuration: not bound !missing-selector! AVAudioRecorder::setChannelAssignments: not bound !missing-selector! AVAudioRecorder::setDelegate: not bound !missing-selector! AVAudioRecorder::setMeteringEnabled: not bound !missing-selector! AVAudioRecorder::settings not bound !missing-selector! AVAudioRecorder::url not bound !missing-protocol! AVAudioRecorderDelegate not bound !missing-selector! AVAudioEngine::inputNode not bound !missing-selector! AVAudioEngine::manualRenderingBlock not bound !missing-selector! AVAudioInputNode::setManualRenderingInputPCMFormat:inputBlock: not bound !missing-selector! AVAudioPlayer::format not bound !missing-selector! AVAudioSession::requestRecordPermission: not bound !unknown-field! AVFileType3GPP bound !unknown-field! AVFileType3GPP2 bound !unknown-field! AVFileTypeAC3 bound !unknown-field! AVFileTypeAIFC bound !unknown-field! AVFileTypeAIFF bound !unknown-field! AVFileTypeAMR bound !unknown-field! AVFileTypeAVCI bound !unknown-field! AVFileTypeAppleM4A bound !unknown-field! AVFileTypeAppleM4V bound !unknown-field! AVFileTypeCoreAudioFormat bound !unknown-field! AVFileTypeDNG bound !unknown-field! AVFileTypeEnhancedAC3 bound !unknown-field! AVFileTypeHEIC bound !unknown-field! AVFileTypeHEIF bound !unknown-field! AVFileTypeJPEG bound !unknown-field! AVFileTypeMPEG4 bound !unknown-field! AVFileTypeMPEGLayer3 bound !unknown-field! AVFileTypeQuickTimeMovie bound !unknown-field! AVFileTypeSunAU bound !unknown-field! AVFileTypeTIFF bound !unknown-field! AVFileTypeWAVE bound * [Metal] Implement API using IOSurface now that IOSurface is implemented. Partially fixes #58054. (#2621) https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [PdfKit] Improve PdfAnnotation.QuadrilateralPoints binding by making it strongly typed. (#2620) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). (#2622) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). * [ARKit/Vision] Use the new simd vector types instead of the OpenTK versions. * [ModelIO] Use the new simd vectors in new API (MDLVoxelIndexExtent2). This way we won't have to create a MDLVoxelIndexExtent3 in the future. * [SpriteKit] Use the new simd vectors in new API. * [metal] Audit (xtro) based fixes (#2623) !extra-protocol-member! unexpected selector MTLArgumentEncoder::newArgumentEncoderForBufferAtIndex: found !extra-protocol-member! unexpected selector MTLComputeCommandEncoder::dispatchThreads:threadsPerThreadgroup: found macos-only !missing-field! MTLDeviceRemovalRequestedNotification not bound !missing-field! MTLDeviceWasAddedNotification not bound !missing-field! MTLDeviceWasRemovedNotification not bound !missing-pinvoke! MTLCopyAllDevices is not bound * [CloudKit] Update bindings to beta 6. (#2615) * [FileProvider] Turn NSFileProviderItemIdentifier enum into a static class, fixes bug 59329 (#2634) https://bugzilla.xamarin.com/show_bug.cgi?id=59329 At the time of binding NSFileProviderItemIdentifier it wasn't clear how it was supposed to be used, I mean apple provides two keys which I thought were the only possible values hence binding it as an smart enum. Unfortunately this wasn't the case and the user can use those two values provided from the SDK or their own NSString Identifier. Swift provides a wrapper unfortunately we can't do the same due to NSFileProviderItemIdentifier is used in the NSFileProviderItem protocol and we currently do not support changing signatures on them. * [mtouch] Teach mtouch about the 'IOSurface' framework for tvOS. Fixes #59333. (#2630) https://bugzilla.xamarin.com/show_bug.cgi?id=59333 * Bump Touch.Unit to get fix for API breakage. (#2631) spouliot/Touch.Unit@8f1e19d [NUnitOutputTextWriter] Reintroduce previous constructor to make sure we don't break binary ABI. spouliot/Touch.Unit@00b0c0b [NUnitOutputTextWriter] Don't write invalid xml comments. spouliot/Touch.Unit@de9fe20 [TouchRunner] Restore the original code path when not wrapping NUnit xml output. * [IOSurface] Add missing availability attributes for tvOS. (#2629) * Bump versions for preview 9 (#2624) * [AVFoundation] Add missing interface AVRouteDetector. (#2637) * [tests] Update xtro to reduce list sizes (#2636) * Skip OpenTK duplicate declaration (we can't change them); * Fix rule name change for ARKit / simd; * Add missing default initializer on `init` to pending actions; * Add note for AVPersistableContentKeyRequest changes wrt tvOS; * [ReplayKit] Make RPBroadcastActivityViewController.LoadBroadcastActivityViewController async-capable. (#2639) * [xcode9] More SceneKit bindings (#2633) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 (#2644) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 https://bugzilla.xamarin.com/show_bug.cgi?id=59380 vector_float3 is 16 bytes, which means the binding is incorrect, because Vector3 is 12 bytes, and our code does not that difference into account. * Add tests * [DeviceCheck] Disable default ctor for DCDevice. (#2642) It doesn't seem to be useful according to the documentation, since it appears that the only way to get an instance is to use the static CurrentDevice property. * [audiounit] Audit (xtro) fixes for tvOS (#2635) Availability attributes in non-generated files don't hide symbols/code. reference: !unknown-pinvoke! AudioUnitExtensionCopyComponentList bound !unknown-pinvoke! AudioUnitExtensionSetComponentList bound * [tests] Make sure tvOS tests don't use the (unexisting) API * [tests] Add all test project variations to tests-mac.sln (#2579) * [xharness] Make sure generated mac projects have different project guids. * [introspection] Change the project guid so that it doesn't match the dontlink-mac project guid. * [tests] Add all test project variations to tests-mac.sln. * [xharness] Fix else condition. * [FileProvider] Adds missing NSFileProviderPage constants, fixes bug 59297. (#2646) https://bugzilla.xamarin.com/show_bug.cgi?id=59297 Adds NSFileProviderInitialPageSortedByName and NSFileProviderInitialPageSortedByDate NSData constants * [Xcode9] Remove NSFileProviderMessage and NSFileProviderMessageInterface (#2647) APIs were removed in beta 2 * [Foundation/UIKit] Provide LoadObject[s] methods that return the expected type in the callback. Fixes #59049. (#2638) The callback for these LoadObject[s] methods take an INSItemProviderReading parameter. This tells our runtime that we must provide an instance of a managed object that implements this interface (but nothing else), so we create a `NSItemProviderReadingWrapper` instance, which complies with the API (since the wrapper type implements the corresponding interface). Unfortunately these methods are supposed to return an instance of the passed- in type, so in order to comply with this soft (documentation-only) requirement, provide a wrapper method that creates instances of the right types. https://bugzilla.xamarin.com/show_bug.cgi?id=59049 * [arkit] Ignore deprecated selectors (#2645) * [FileProvider] Adds missing protocol and keys from audit (#2652) ``` !missing-protocol! NSFileProviderServiceSource not bound !missing-field! NSFileProviderErrorCollidingItemKey not bound !missing-field! NSFileProviderErrorNonExistentItemIdentifierKey not bound !missing-field! NSFileProviderFavoriteRankUnranked not bound ``` Also adds `NSXpcListenerEndpoint` to foundation, needed by `NSFileProviderServiceSource` protocol. * [tests][xtro] Workaround xtro runner dupe entry exception and update data files (#2654) * [AVFoundation] Rename field to match others. (#2657) * [homekit] Audit (xtro) fixes (#2653) - HMCharacteristicEvent conforms to NSMutableCopying on iOS11 which makes it 64 bits only (so adjust intro tests) - Ignore extra setters on HMMutablePresenceEvent, rdar 33883958 !missing-selector! HMMutablePresenceEvent::setPresenceEventType: not bound !missing-selector! HMMutablePresenceEvent::setPresenceUserType: not bound * [xtro] Add missing pinvoke to pending (#2662) - Bug 59422: [uikit] Missing UIContentSizeCategoryCompareToCategory & UIContentSizeCategoryIsAccessibilityCategory (https://bugzilla.xamarin.com/show_bug.cgi?id=59422) * Merge latest d15-3 fixes into xcode9 (#2660) * [msbuild] Re-added wildcard (*) expandsion for application-identifier in Entitlements.plist (#2186) Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=57119 * Bump mono (#2213) * Framework tests were still binding non-linked Simple class which errors now (#2216) (#2218) - Improve Makefile to rebuild when projects build with errors * Bump mono to get cecil fix for bug #56808. (#2222) https://bugzilla.xamarin.com/show_bug.cgi?id=56808 * [msbuild] Use @(ReferencePath) instead of @(ResolvedFiles) (#2188) (#2214) This allows things to work on both xbuild and msbuild. In xbuild, both lists are exactly the same and on msbuild, only @(ReferencePath) exists. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=55147 * NSActivityOptions.IdleDisplaySleepDisabled had wrong value (#2232) (#2239) This was due to an integer overflow. The original value was based on Int32 1 << 40 == 256 The correct value should be based on a UInt64. 1UL << 40 == 1099511627776 * [tests] Fix bug 57699 - [iOS]InternalsTest failure (Linkall) tests on device (#2243) Strip native debugging symbols should not be checked for debug builds * Bump mono to get fix for bug #57780. https://bugzilla.xamarin.com/show_bug.cgi?id=57780 * Update .gitmodules Change branch to d15-3 branch of mono * Bump maccore to get fix for bug #55064. https://bugzilla.xamarin.com/show_bug.cgi?id=55064 * [mono] Bump mono to get the head of cecil/mono-2017-04 and fix IsComObject #57919 Also fix #58789 [1], the typo in tools/mtouch/Tuning.cs showing in MT0000 errors instead MT2102. That's already in master and d15-4 mono bump includes: [2] commit 2a6502cee0df9de5198eafe7c8b5f6ac25106f34 (HEAD -> d15-3, origin/d15-3) Merge: 02457c20fcf 5e05cafc6f1 Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 10:04:06 2017 -0400 Merge pull request #5401 from marek-safar/com [Marshal.IsComObject] Make this predicate return false instead of thr… [3] commit 02457c20fcf57c0610e844d638eb1da82b5d1eb0 Merge: da80840ea55 73fd9a1b82e Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 09:59:06 2017 -0400 Merge pull request #5400 from spouliot/bump-cecil-58834-d15-3 [cecil] Bump to the head of the mono-2017-04 branch and pick the fix for bug #58834 References [1] https://bugzilla.xamarin.com/show_bug.cgi?id=58789 [2] https://bugzilla.xamarin.com/show_bug.cgi?id=57919 [3] https://bugzilla.xamarin.com/show_bug.cgi?id=58834 * [mtouch] Put 'mono_profiler_startup_log' in the symbol list. Fixes #58778. (#2501) We need the 'mono_profiler_startup_log' symbol when profiling is enabled, so make sure to add the symbol to the correct list of symbols we need. Previously we were passing `-u _mono_profiler_startup_log` to clang directly, which is fine, but not complete, since it does not write the symbol to the symbollist file (--symbollist=file), which means it wouldn't be preserved when the MSBuild tasks strip the executable. https://bugzilla.xamarin.com/show_bug.cgi?id=58778 * Bump versions for SR3 https://trello.com/c/EVze08ei * Bump mono to include HttpClientHandler fix #44027 https://trello.com/c/jYFXadH8/8-systemnethttp-close-request-stream-when-httpclienthandler https://bugzilla.xamarin.com/show_bug.cgi?id=44027 * [FileProvider] Add missing API and turn NSString to string (#2663) Turned NSString to string in order to match exisiting API. * [uikit] Add UIPasteConfigurationSupporting and UITextPasteConfigurationSupporting (#2649) - Fixes bug #59363: Missing UIPasteConfigurationSupporting, UITextPasteConfigurationSupporting, UITextDraggable and UITextDroppable on a couple of types (https://bugzilla.xamarin.com/show_bug.cgi?id=59363) * [uikit] Remove 129 types in UIPasteConfigurationSupporting case * [scenekit] Audit (xtro) fixes (#2648) This looks like an Apple breaking change (since `SCNAnimation` is new) but we now have: > typedef void (^SCNAnimationEventBlock)(id<SCNAnimation> animation, id animatedObject, BOOL playingBackward); bound as > delegate void SCNAnimationEventHandler (CAAnimation animation, NSObject animatedObject, bool playingBackward); and `CAAnimation` conforms to `SCNAnimation` but *only* the later is available on watchOS. The delegate is only updated (since it's new) on our watchOS profile. xtro references: (watchos) !unknown-protocol! SCNCameraControlConfiguration bound (tvos/watchos) !missing-selector! SCNAnimation::animationEvents not bound !missing-selector! SCNAnimation::setAnimationEvents: not bound !missing-selector! SCNConstraint::isEnabled not bound !missing-selector! SCNConstraint::setEnabled: not bound !missing-field! SCNSceneSourceConvertToYUpKey not bound !missing-field! SCNSceneSourceConvertUnitsToMetersKey not bound (ios/tvos) !missing-protocol-conformance! SCNNode should conform to UIFocusItem * Bump maccore post 15.3 merge (#2665) * Bump Xcode 9 to GM (#2667) * Force build (on wrench) * [avfoundation] Fix breaking changes (apidiff) (#2664) * [TVServices] Update to Xcode 9 GM (#2675) * [GameController] Update to Xcode 9 GM (#2673) * [LocalAuthentication] Update to Xcode 9 GM (#2671) * [LocalAuthentication] Update to Xcode 9 GM * Remove availability from BiometryNotAvailable, BiometryNotEnrolled and BiometryLockout * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer (#2659) * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer Some of the new added types were already present BUT under a #if MONOMAC, they had to be moved. * [AVFoundation] Set the wrongly added API to be obsolete and ensure it returns logical values. (#2650) * [xtro] The right platform for macOS is 'macos', not 'osx'. (#2677) The platform name is used to filter availability attributes, and if we use the wrong platform, we'll incorrectly skip all availability attributes. The net result in unclassified entries: https://gist.github.com/rolfbjarne/a4474bc2a40c49a85cad495b51bb514f * Various Xcode 9 API improvements and also fixes bug 59433 (#2676) https://bugzilla.xamarin.com/show_bug.cgi?id=59433 While fixing bug 59433 I noticed some additional issues outlined below: AVDepthData: * Renamed **non** static `Create` methods because `Create` only makes sense with the **Static** method in this context. Also by renaming the methods we are now closer to the names that swift uses. * Kept descriptive method names in favor of self-documenting code. `Convert`, `Apply` and `Replace` do not fully give us the intent of the method. * Added a convenience `Create` static method that takes a `CGImageAuxiliaryDataInfo`. * AvailableDepthDataTypes is now an array of `CVPixelFormatType` instead of a `NSNumber` array (The aactual fix for bug 59433). ImageIO: * Refactored `CGImageAuxiliaryDataInfo` to be a `StrongDictionary` in order to avoid most of the manual code and also to avoid reimplementing the `ToDictionary` method (which contained a subtle bug). * Adjusted code to reflect the above change. * Added missing `.ctor (IntPtr, bool)` to `CGImageMetadata` so the class is able to be created by our `Runtime.Get*`. * Simplified `CopyAuxiliaryDataInfo` method by using `CGImageAuxiliaryDataInfo` as a `DictionaryContainer`. Tests: * Added `xamarinmonkey.heic` which is an image that contains depth data needed to test above changes. * Adds `AVDepthDataTests` that touches most of the changes listed here. * Tweak the Simd-compatible matrices and vectors (#2668) * Rename them to be OpenTK.NMatrix# (instead of Simd.MatrixFloat#x#). * Remove the Vector2 and Vector4 variants, we'll use the OpenTK types instead (but we'll keep the NVector3 variant, since it's not identical to the OpenTK version). * Update the API to match their OpenTK counterparts better: * NMatrix2 and NMatrix3 have a 0-based R#C# scheme for their fields. * NMatrix4 has a 1-based M## scheme for its fields (i.e. no change). * [AVFoundation] Use Simd-matrix for API that needs it. (#2679) This also requires implementing the corresponding matrix (NMatrix4x3). Fixes this xtro issue: > !unknown-simd-type-in-signature! OpenTK.Matrix3 AVFoundation.AVCameraCalibrationData::get_GetIntrinsicMatrix(): the native signature has a simd type (matrix_float3x3), while the corresponding managed method is using an incorrect (non-simd) type. * [xtro] Fix checking availability on categories. (#2682) When checking for category availability, check if both the current declaration is a category, and if the current's declaration container is a category. Otherwise this scenario fails: * Category method is available. * Category does not have availability attributes. * Main class is unavailable. with this typical code sequence: ```csharp // don't process methods (or types) that are unavailable for the current platform if (!decl.IsAvailable () || !(decl.DeclContext as Decl).IsAvailable ()) return; ``` In which case we'd: * First check the method (`decl`): * It's available, so no further checks is done on the method. * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container's container is a category (it isn't, it's the namespace). and as such determine that the method is available. With this change, the second step will become: * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container is a category (it is), and if its main class is available (it isn't). and as such determine that the method is unavailable. * Check for attributes on the method's container (no attributes, so we continue). * Check if the method's Unclassified diff: https://gist.github.com/rolfbjarne/8fa80962596978a426eadf9b7ba39dc1 * [uikit] Update for Xcode 9 GM (#2670) * [AVFoundation] Implement AVCapturePhoto. Partially fixes #59388. (#2678) Fixes: > common.unclassified:!missing-type! AVCapturePhoto not bound https://bugzilla.xamarin.com/show_bug.cgi?id=59388 * Use strong dictionaries for AVCapturePhoto.Metadata and AVCapturePhoto.EmbeddedThumbnailPhotoFormat. * [SIMD] Implement Simd double types (VectorDouble3/MatrixDouble4x4). (#2632) The following types will be used by ModelIO bindings * Fix delta to be double * Rename Simd-compatible matrices and vectors to match our final naming. This also means removing the new Vector2 and Vector4 variants (but not Vector3). * [avfoundation] Remove AVAssetDownloadDelegate.DidLoadTimeRange since it was removed in one of the betas (#2687) * [foundation] Move NSUrlSessionMultipathServiceType to a file processed by the generator (for the availability attributes) (#2688) * [arkit] Update for Xcode 9 GM (#2681) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes (#2690) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes Type Changed: Intents.INCarSeatResolutionResult Removed methods: public static INCarSeatResolutionResult GetConfirmationRequired (INCarSeat valueToConfirm); public static INCarSeatResolutionResult GetSuccess (INCarSeat resolvedValue); * [avfoundation] Add missing protocol members and deprecations (#2691) !missing-protocol-member! AVCapturePhotoCaptureDelegate::captureOutput:didFinishProcessingPhoto:error: not found and the selector removed from PR#2687 was actually replaced with this one !missing-protocol-member! AVAssetDownloadDelegate::URLSession:aggregateAssetDownloadTask:didLoadTimeRange:totalTimeRangesLoaded:timeRangeExpectedToLoad:forMediaSelection: not found * [tests][xtro] Map some enums, more fix with protocols and update entries (#2692) * [Tests] Reenable dns tests on the watch. (#2674) * [arkit] Add ARBlendShapeLocationOptions strong dictionary (#2696) * [coreimage] Skip not yet bound filters added in Xcode9 (#2698) Tracked in https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * [Metal] Renamed MTLArgumentDescriptor.ArgumentDescriptor to Create, fixes bug 59498 (#2702) https://bugzilla.xamarin.com/show_bug.cgi?id=59498 From [argumentDescriptor docs](https://developer.apple.com/documentation/metal/mtlargumentdescriptor/2915746-argumentdescriptor?language=objc) > Creates an empty argument descriptor. * [msbuild] Always codesign app bundles if the codesign key is non-null (#2697) ...even if it is a simulator build. Turns out that starting with Xcode9, sim builds need to be codesigned for App Groups entitlements to work properly. Interestingly, the DetectSigningIdentity logic had a comment about needing to codesign simulator builds for some entitlements to work already starting with Xcode 8 but apparently the iOS targets did not respect this. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=59379 * [Foundation] Add NSProxy stub in order to workaround bug 59247 (#2693) https://bugzilla.xamarin.com/show_bug.cgi?id=59247 We need to have a better solution that removes all what NSProxy does not responds to. Right now this works because NSObject implements NSObject protocol just like NSProxy, but NSProxy responds to far less selectors hence doing it internal so it is not a breaking change when we provide the correct fix. * Keep NSProxy around and avoid XML linker description We need to keep NSProxy (avoid linking it) if WKNavigationDelegate or IWKNavigationDelegate is used. We know WKWebView will be there and can hold a reference to it. * [Xcode 9] Update Metal for GM (#2689) * [iosurface] IOSurface is not usable before iOS/tvOS 11. Fixes #59201 (#2706) Apple rejects apps that links with the previously private IOSurface.framework. We were not sure about this [1] and had it disabled (this is removed). However another bug stopped our adjustment logic [2] from being executed. This is needed since `clang` picks up the private framework if it does not find the public one (even when asking for a weak framework), [1] https://bugzilla.xamarin.com/show_bug.cgi?id=59201 [2] Added a while ago for JavascriptCore * Bump maccore to point to commit with the docs fix. (#2703) * Bump XI to 11.0.x (and XM to 3.99.9.x) (#2684) * fix typo
2017-09-16 00:53:16 +03:00
interface ISCNCameraControlConfiguration {}
[NoWatch]
[TV (11,0), Mac (10, 13, onlyOn64: true), iOS (11,0)]
Merge xcode9 into d15-4[-xi] (#2710) * [FileProvider] Add Xcode 9 Beta 1, 2 & 3 Bindings (#2279) * [FileProvider] Add Xcode 9 Beta 1 Bindings * Better naming * Feedback not related to BindAs * [FileProvider] Removes BindAs, add manual code for it and updated to Beta 3 * [FileProvider] Implement feedback * [CoreSpotlight] Updated spotlight bindings for xcode 9 beta 3. (#2193) Updated spotlight bindings for xcode 9 beta 3. * Fix warning caused by duplicate (#2354) * [FileProviderUI] Add Xcode 9 Beta 1 to 3 bindings (#2356) * Bump to Xcode 9 beta 4 * [arkit] ARLightEstimate does not conform to NSCopying anymore (fix unit test) * [uikit] NSFileProviderExtension.ReparentItem got a new parameter in beta4 (fix unit test) * [coreimage] CIImageAccumulator init returns nil in beta 4 There's no header change to mention `init` is not allowed but it's not clear how this default initializer could be used. Also make public some other API to construct this type (outside of XM). It's not clear why there were `internal` as they are (at least now) part of the header files. * [photos] Add helpers when PHLivePhotoEditingOption/NSDictionary is null (to avoid ambiguous API) (#2360) Adding a strongly typed `PHLivePhotoEditingOption` (a strongly typed version of an `NSDictionary`) can cause a `CS0121` (call is ambiguous) since using a `null` argument is common (only one option exist so far). This PR adds overloads that makes the code nicer in such case, e.g. before Xcode9: > // null is used when no options are given > _foo.SaveLivePhoto (output, null, completion); current (Xcode 9) > // casting required to remove ambiguity with PHLivePhotoEditingOption > _foo.SaveLivePhoto (output, (NSDictionary)null, completion); with this PR > // no option, no argument > _foo.SaveLivePhoto (output, completion); The same applies to `PrepareLivePhotoForPlayback`. * [tests] Disable/tweak two tests that breaks on (almost) all Xcode updates Those tests were not added to validate xOS so just keep the parts that helps us (without constantly checking back the new break flavor) * Disable watchOS to check if this hides others issues * [mapkit] Update for beta 4 * [coredata] Update for beta 4 * [wkwebkit] Update for beta 4 Note: WKWindowFeatures.h is not compiled (part of the framework umbrella) and the `@interface WKWindowFeatures (WKPrivate)` sounds like it should not have been exposed (it's all fields starting with `_`) * [corelocation] Update for beta 4 * Revert "Disable watchOS to check if this hides others issues" This reverts commit fed2249fa43290a1956ab2fe0d48f83ab6db9711. * [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]: https://github.com/xamarin/xamarin-macios/blob/f5956d6cc1eb5dfa7bab16628cf282d40237f64e/src/generator.cs#L5985 * [FinderSync] Update to beta 4 (#2377) * [ImageIO] Update to Xcode 9 (#2353) * [PhotosUI] Move macOS photosui bindings out of photos.cs into photosui.cs (#2358) * [quicklook] Update up to beta 4 (#2374) * [uikit] UIDragInteraction & UIDragInteractionDelegate (Xcode 9 b1,2,3) (#2357) * [safariservices] Update up to beta 4 (#2380) * [coreanimation] Update to beta 4 (#2382) Apple removed (mistake?) some API in beta 1. Filed as rdar 33590997 Internal tracking in https://trello.com/c/J8BDDUV9/86-33590997-coreanimation-quartzcore-api-removals * [storekit] Update up to beta 4 (#2379) * [CoreML] Update to Xcode 9 Beta 4 (#2387) * [uikit] UICollectionView/UITableView Drag & Drop (Xcode 9 b1,2,3 & 4) (#2355) * Update code after radar 32929318 and 32897776 are fixed in b4 (#2394) * [xcode9 CoreAudio] New definitions from Beta1 to Beta3 (#2359) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 (#2397) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 https://bugzilla.xamarin.com/show_bug.cgi?id=58512 Created strong API (VNBarcodeSymbology) on the following properties * VNDetectBarcodesRequest.SupportedSymbologies * VNDetectBarcodesRequest.Symbologies * VNBarcodeObservation.Symbology * Remove modern C# because classic can't do it 😡 * [mediaplayer] Update up to beta 4 (#2388) * [watchkit] Update to beta 4 (#2398) * Bump Visual Studio for Mac max version (#2408) * [coreimage] Add CIBarcodeDescriptor and enabled missing API for VNBarcodeObservation. Fix #58197 (#2411) https://bugzilla.xamarin.com/show_bug.cgi?id=58197 * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 (#2407) * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 * [uikit] Fixes based on comments * [coreimage] CIImageAccumulator API fixes. Fix #58349 (#2412) * Obsolete the default `init`; * XM exposed some older APIs using `int` instead of `CIFormat`. This is fixed and old APIs are obsoleted; * Both new & old APIs are now using `CIFormat` for both XI and XM. https://bugzilla.xamarin.com/show_bug.cgi?id=58349 * [uikit] UIText drag & drop - up to Xcode 9 beta 4 (#2410) * [uikit] UISplitView & UIStackView up to Xcode 9 beta 4 (#2425) * Bump XI/XM versions before preview 4 (#2422) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 (#2378) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 * [PDFKit] Implement feedback * [PDFKit] the forgotten enum * [PDFKit] More feedback * [PDFKit] Add Mac changes * Missing change * Fix test RectangleF VS CGRect * Pass -Wunguarded-availability-new to quiet a new clang warning (#2424) - https://bugzilla.xamarin.com/show_bug.cgi?id=58574 * [mtouch/mmp] Ignore warnings about unguarded code section with regards to availability. (#2441) * [monotouch-test] Remove workaround for fixed Apple bug. (#2445) * Bump to Xcode 9 beta 5. (#2447) * Bump to Xcode 9 beta 5. * [mmp] Disable the partial static registrar, because Apple's macOS SDK is broken. > In file included from Xamarin.Mac.registrar.mobile.i386.m:1: > In file included from ./Xamarin.Mac.registrar.mobile.i386.h:11: > /Applications/Xcode9-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVFoundation.h:88:9: fatal error: 'AVFoundation/AVRouteDetector.h' file not found https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [mmp] Fix partial static registrar removal. * [CallKit] Update to Xcode 9 beta 5. * [ARKit] ARPointCloud doesn't conform to NSCopying anymore in Xcode 9 beta 5. * [ARKit] Update to Xcode 9 beta 5 enough to make tests happy. * [CoreImage] Stub out new filters in Xcode 9 beta 5. * [tests][monotouch] Simplify some MDLMesh asserts since values change a lot between OS versions. * [mmp] Default to the dynamic registrar for release builds again, due to bug #58629. https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [tests][introspection] CXCall started implementing NSCopying without saying so in the headers. * Disable mmp static registrar tests due to 58629 for now * [quicklook] Update to beta 5 (#2450) * [photos] Update for beta 5 (#2452) Also update some existing enum members were added in beta 1 on macOS * [safariservices] Update for beta 5 (#2455) * [mediaplayer] Update to beta 5 (#2456) * [CoreLocation] Update Xcode 9 Beta 5 (#2453) * [CoreML] Update to Xcode 9 Beta 5 (#2454) * [Contacts] Update to Xcode 9 Beta 5 (#2451) * [Vision] Update to Xcode 9 Beta 5 (#2458) * [builds] Tell LLVM to stay away from newer macOS functions. (#2459) Fixes this build problem on Sierra: > ld: weak import of symbol '_futimens' not supported because of option: -no_weak_imports for architecture x86_64 This is a symbol that was (will be?) introduced in High Sierra. Interestingly this only occurs if the Xcode 8.X Command Line Tools haven't been manually installed. Because if the Xcode 8.X Command Line Tools are installed, this happens: 1. llvm's configure script detects that 'futimens' is not usable. 2. llvm's configure script detects that 'futimens' is not usable, because xcrun sets SDKROOT=/ when calling clang. a. When the SDKROOT variable is set, clang passes '-syslibroot /usr/lib' to ld. b. When ld gets '-syslibroot /usr/lib', ld looks in '/usr/lib' for a library that contains 'futimens' in the OS itself, and since we're on Sierra, that fails to link. c. So when llvm's configure script creates a test program that checks if 'futimens' is present, the program fails. This is correct, and makes llvm *not* use futimens. 3. xcrun sets SDKROOT=/ because /usr/share/current-os.sdk/Info.plist exists. If that file does not exist, then xcrun sets SDKROOT to Xcode9's macOS SDK (because that's what xcode-select reports). a. When SDKROOT is set to Xcode9's macOS SDK, the configure check for 'futimens' succeeds, because the macOS 10.13 SDK contains that function. b. llvm happily uses 'futimens', and then the final link fails because we're using a symbol not available on all target platforms. * [arkit] Update for Xcode 9 beta 5 - Part 1 (#2460) * [tests] The container app for watchOS tests should be 64-bit. (#2463) * [xharness] watchOS tests need to run in a clean environment. Works around #58348. (#2462) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [xharness] It watchOS tests don't need to be clean anymore. Fixes #58348. (#2473) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [uikit] UIView/UIScrollView/UIViewController up to Xcode 9 beta 5 (#2431) - Add NSDirectionalEdgeInsets type. - Includes DirectionalEdgeInsetsTest. * [AudioToolbox] Update bindings to Xcode 9 beta3 (not later changes). (#2294) * [xharness] Add a file existence check. (#2478) Fixes this exception: ``` Harness exception for 'introspection': System.IO.FileNotFoundException: Could not find file '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log'. File name: '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log' at System.IO.__Error.WinIOError (System.Int32 errorCode, System.String maybeFullPath) [0x00207] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/__error.cs:188 at System.IO.FileInfo.get_Length () [0x00038] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/fileinfo.cs:171 at xharness.CaptureLog.StopCapture () [0x00021] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Log.cs:252 at (wrapper remoting-invoke-with-check) xharness.CaptureLog:StopCapture () at xharness.AppRunner+<RunAsync>d__68.MoveNext () [0x0127f] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/AppRunner.cs:642 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter`1[TResult].GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:357 at xharness.RunSimulatorTask+<RunTestAsync>d__7.MoveNext () [0x0029d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2894 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.RunTestTask+<ExecuteAsync>d__8.MoveNext () [0x0010b] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2538 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.TestTask+<RunInternalAsync>d__87.MoveNext () [0x0010d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:1870 ``` I'm not sure how this can happen, but it has on the bots [1]. [1] https://jenkins.mono-project.com/job/xamarin-macios-pr-builder/4548/Test_Report/ * Bump versions for preview 5 (#2479) * [passkit] Update to beta 5 (#2481) * [tests] Remove workaround for radar #32688391. (#2486) * [replaykit] Update up to beta 5 (#2484) * Bump maccore to get fix for bug #55064. (#2487) * [apidiff] Update definition to new 10.12 (d15-3) stable release (#2490) * [SceneKit] basic work (#2483) * [coredata] Update to beta 5 (#2488) * [homekit] Update for Xcode 9 beta 5 (#2492) * [Foundation] Update for xcode9 (#2468) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 (#2493) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 * [Intents] Implement feedback * [Intents] Add a generic version for INInteraction.GetParameterValue * [Intents] Missing check * [Contacts] Add missing foundation NSItemProviderWriting protocol to CNContact (#2496) https://bugzilla.xamarin.com/show_bug.cgi?id=58203 This is available on all Contacts supported platforms ``` ./iPhoneOS.platform/Developer/SDKs/iPhoneOS11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchOS.platform/Developer/SDKs/WatchOS4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchSimulator.platform/Developer/SDKs/WatchSimulator4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ``` * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) (#2497) * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) * [IntentsUI] Better use a delegate instead so we have named params * Bump versions before 6th preview (#2514) * [arkit] Add missing MarshalDirective to ARPlaneAnchor (#2517) - Fixes bug #58648: ARPlaneAnchor.Extent property seems incorrect but changes to correct value after Debug access (https://bugzilla.xamarin.com/show_bug.cgi?id=58648) * [xtro-sharpie] Fix a compiler warning. (#2516) Fixes these warnings: Runner.cs(197,5): warning CS0642: Possible mistaken empty statement Runner.cs(199,5): warning CS0642: Possible mistaken empty statement Runner.cs(201,5): warning CS0642: Possible mistaken empty statement Runner.cs(203,5): warning CS0642: Possible mistaken empty statement Runner.cs(205,5): warning CS0642: Possible mistaken empty statement * [uikit] Update for Xcode 9 beta 5 - Part 3 (#2511) - UIKeyCommand - UINavigationBar - UINavigationItem - UIPasteboard - UITableViewHeaderFooterView * [xtro-sharpie] Remove xtro-plugin and misc other fixes. (#2522) * [xtro-sharpie] Build with msbuild and be as quiet as requested when building. * [xtro-sharpie] Must run as a 64-bit process, since the required native libraries are 64-bit. * [xtro-sharpie] Add run configurations to the project file to ease debugging in the IDE. * [xtro-sharpie] Remove xtro-plugin and the related commands. This was needed when there wasn't a 64-bit mono, in order to run xtro-sharpie in a 64-bit process. Now there is a 64-bit mono, so it's not needed anymore. Also improve makefile targets a bit, to auto-build stuff when needed, by setting the right dependencies. * Bump Xcode 9 to beta 6 (#2519) Disable watchOS tests again It seems like the Carousel crash from beta 4 is back to haunt us. This was working fine with beta 5. * Backport d15-3 SR2 fixes (#2515) * [coredata] Update to beta 6 (#2528) This seems to only revert some nullability changes from beta 5. * [coreml] Update to beta 6 (#2531) Fix our rdar 33643011 where additional setters were added in the headers but did not exists. * [videosubscriberaccount] Update to beta 6 (#2533) Only b1 and b2 introduced some additions/changes * [uikit] Update for Xcode 9 beta 6 - Part 4 (#2527) The following headers are now up to date: - UICollectionViewFlowLayout.h - UIDocumentPickerViewController.h - UIFontDescriptor.h - UIImage.h - UIImageView.h - UIImagePickerController.h * [xharness] Re-enable the watchOS tests. (#2534) It works fine for me locally, so let's see what Jenkins says. * [macos] Add new APIs in CoreWlan from Xcode9b3 (#2525) * Update AppKit bindings based on radar 33271241 results (#2518) * Update AppKit bindings based on radar 33271241 results - The header comment was updated to note it was NSSliderTouchBarItem view that has the protocol * Remove NSUserInterfaceCompression where not listed in header * [vision] Update to beta 6 (#2532) Removal of some deprecated (during beta) `init*` selectors. Also sync the versions that were inlined in subclasses - the old ones were not removed and the new ones were not added. * [xtro-sharpie] Many methods don't have selectors in Clang's API, so default to the name if no selector. (#2523) This makes a few more unclassified entries show up (mostly missing designated initializers): https://gist.github.com/rolfbjarne/07aa20f9b50b75bf3e69ac6a825e873a * [macos] Add ExternalAccessory APIs from xcode9 (#2526) * [58851] Disable NSMenuView in AllItemsWithNSMenuShouldAllowNull (#2504) * [arkit] Update for Xcode 9 beta 5 - Part 2 (#2505) - Add last missing selector. - Add tests for manual code. * [monotouch-test] Disable FontDescriptorTest.WithFeature (#2537) Disabled because it looks like the tvOS font we use: "Gujarati Sangam MN" does not have rare ligatures anymore (and the entire test is based on it). Before getting an actual fix for that, let's disable the test so it doesn't break all current builds. See: https://bugzilla.xamarin.com/show_bug.cgi?id=58929 * [xtro-sharpie] Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute. (#2524) Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute to calculate the native name for a TypeDefinition. Unclassified changes: https://gist.github.com/rolfbjarne/828f8ee41eebb0a3b60a38d71822fe59 * [foundation/uikit] Inline NSItemProvider_UIKitAdditions in NSItemProvider (#2538) As suggested here: https://github.com/xamarin/xamarin-macios/pull/2527#discussion_r134670981 * [intents] Fix breaking changes (api-diff) (#2543) Additions of @required members inside `INSpeakable` cannot be `[Abstract]` * [contacts] Fix breaking change (api-diff) (#2542) Type Changed: Contacts.CNPostalAddress Removed method: public static string LocalizeProperty (CNPostalAddressKeyOption option); * [macos] Reenable static registrar since Xcode9b6 un-broke SDK headers (#2544) - Fix a subtle spacing issues in PartialStaticLibrary property * [corebluetooth] Update up to beta 6 and enable it on watchOS (#2540) macOS 10.13 has finally catch up with iOS and this simplifies the bindings a bit. * [foundation] API fixes (apidiff) (#2545) 1. Let's not add new, already [Obsolete] API Type Changed: Foundation.NSDimension Added constructors: [Obsolete ("Not intended to be directly instantiated, this is an abstract class.")] public NSDimension (); 2. Fix inconsistently named API, e.g. Type Changed: Foundation.NSAttributedString Added properties: public static string[] ReadableTypeIdentifiersForItemProvider { get; } public static string[] WritableTypeIdentifiers { get; } * [pdfkit] Do not add already [Obsolete] API in new profiles (#2547) and ensure using the newer, correct API works cross-platforms iOS (before) [Obsolete ("Use 'Find (string, NSStringCompareOptions)' instead.")] public virtual PdfSelection[] Find (string text, nint options); public PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'Find (string, PdfSelection, NSStringCompareOptions)' instead.")] public virtual PdfSelection Find (string text, PdfSelection selection, nint options); public void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string, NSStringCompareOptions)' instead.")] public virtual void FindAsync (string text, nint options); public void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string [], NSStringCompareOptions)' instead.")] public virtual void FindAsync (string[] text, nint options); iOS (after) public virtual PdfSelection[] Find (string text, Foundation.NSStringCompareOptions compareOptions); public virtual PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); * Bump versions for the 7th preview (#2541) * Remove additions of AVKit removed in beta5 (#2536) * NSUrlSessionTask should implement NSProgressReporting for iOS (#2548) NSUrlSessionTask implements NSProgressReporting on iOS as well as Mac, so the #if MONOMAC isn't needed. * Add missing availability attributes causing failures on older iOS versions (#2550) * [vision] Minor fix wrt xtro (#2551) including some things we need to ignore manually !missing-field! VNVisionVersionNumber not bound !missing-pinvoke! VNImagePointForFaceLandmarkPoint is not bound !missing-pinvoke! VNNormalizedFaceBoundingBoxPointForLandmarkPoint is not bound * [uikit] NSFileProviderMessaging was removed in beta 2. Fixes #58222 (#2552) reference: https://bugzilla.xamarin.com/show_bug.cgi?id=58222 * [uikit] Update for Xcode 9 - Part 5 (#2546) Bindings for the following headers: - UIActivity.h - UIActivityItemProvider.h - UIAlertController.h - UIApplication.h - UIBarButtonItem.h - UIButton.h - UICollectionViewLayout.h - UIColor.h - UIControl.h - UIDocumentMenuViewController.h - UIFontMetrics.h - UIGestureRecognizer.h - UIGraphicsImageRenderer.h - UIInputViewController.h * [CoreText] Fix an extraneous free in CTFont.GetDefaultCascadeList. (#2555) We do not own the return value from CFArrayGetValueAtIndex, so don't say we do when creating CTFontDescriptor instances, since that leads to angry dragons: 2017-08-28 20:15:20.293 monotouchtest[33186:2311738] A_FontTest 2017-08-28 20:15:20.294 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithFontDescriptorAndOptions 2017-08-28 20:15:20.295 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithNameAndOptions 2017-08-28 20:15:20.296 monotouchtest[33186:2311738] critical: Stacktrace: at <unknown> <0xffffffff> at (wrapper managed-to-native) CoreText.CTFont.CTFontCopyDefaultCascadeListForLanguages (intptr,intptr) [0x0000a] in <ae65a2b1eea242d2b68fe784749543bf>:0 at CoreText.CTFont.GetDefaultCascadeList (string[]) [0x00013] in /work/maccore/xcode9/xamarin-macios/src/CoreText/CTFont.cs:2185 at MonoTouchFixtures.CoreText.A_FontTest.GetCascadeList () [0x0001e] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/CoreText/FontTest.cs:78 at (wrapper runtime-invoke) object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) [0x0004f] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) System.Reflection.MonoMethod.InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&) [0x00016] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at System.Reflection.MonoMethod.Invoke (object,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo) [0x00032] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/corlib/System.Reflection/MonoMethod.cs:305 at System.Reflection.MethodBase.Invoke (object,object[]) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/referencesource/mscorlib/system/reflection/methodbase.cs:229 at NUnit.Framework.Internal.Reflect.InvokeMethod (System.Reflection.MethodInfo,object,object[]) [0x00009] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Reflect.cs:215 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunNonAsyncTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x00025] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:116 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x0001a] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:90 at NUnit.Framework.Internal.Commands.TestMethodCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:66 at NUnit.Framework.Internal.Commands.SetUpTearDownCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00007] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/SetUpTearDownCommand.cs:84 at NUnit.Framework.Internal.WorkItems.SimpleWorkItem.PerformWork () [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/SimpleWorkItem.cs:64 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at MonoTouch.NUnit.UI.BaseTouchRunner.Run (NUnit.Framework.Internal.Test) [0x0004d] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:442 at MonoTouch.NUnit.UI.BaseTouchRunner.Run () [0x00030] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:171 at MonoTouch.Dialog.StringElement.Selected (MonoTouch.Dialog.DialogViewController,UIKit.UITableView,Foundation.NSIndexPath) [0x00008] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/Elements.cs:765 at MonoTouch.Dialog.DialogViewController.Selected (Foundation.NSIndexPath) [0x00026] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:577 at MonoTouch.Dialog.DialogViewController/Source.RowSelected (UIKit.UITableView,Foundation.NSIndexPath) [0x00016] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:402 at (wrapper runtime-invoke) <Module>.runtime_invoke_void__this___object_object (object,intptr,intptr,intptr) [0x0005d] in <32f0c196c5bc4aa18daea2ee64a7814e>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) UIKit.UIApplication.UIApplicationMain (int,string[],intptr,intptr) [0x0005c] in <ae65a2b1eea242d2b68fe784749543bf>:0 at UIKit.UIApplication.Main (string[],intptr,intptr) [0x00005] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:79 at UIKit.UIApplication.Main (string[],string,string) [0x00038] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:63 at monotouchtest.Application.Main (string[]) [0x00011] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/Main.cs:27 at (wrapper runtime-invoke) <Module>.runtime_invoke_void_object (object,intptr,intptr,intptr) [0x00051] in <30a7f7e09de9467b8b454221034a0e38>:0 Native stacktrace: 0 monotouchtest 0x000000010fca03c4 mono_handle_native_crash + 244 1 monotouchtest 0x000000010fcadd30 mono_sigsegv_signal_handler + 288 2 libsystem_platform.dylib 0x000000011feb3b3a _sigtramp + 26 3 CoreFoundation 0x000000011de035a2 computeSanitizedString + 146 4 CoreText 0x00000001168df314 _ZN15TPurgeableCache19RetainedValueForKeyEPKv + 54 5 CoreText 0x00000001168def85 _ZNK17TDescriptorSource22CopyDescriptorUncachedEPK7__CFURLbPK10__CFString + 55 6 CoreText 0x00000001168df34f _ZNK17TDescriptorSource14CopyDescriptorEPK7__CFURLbPK10__CFString + 27 7 CoreText 0x00000001168e20ad _ZNK17TDescriptorSource35CopyFontDescriptorPerPostScriptNameEPK10__CFStringmm + 297 8 CoreText 0x00000001168dfd9e _ZNK17TDescriptorSource30CopySystemFontDescriptorByNameEPK10__CFString10UIFontFlag + 54 9 CoreText 0x00000001168e54c4 _ZNK14TFontFallbacks17CopyFontFallbacksEPK10__CFStringS2_PK9__CFArray + 652 10 CoreText 0x00000001168e4a00 _ZNK14TFontFallbacks29CopyFontFallbacksForLanguagesEPK10__CFStringPK9__CFArray + 122 11 CoreText 0x00000001168e4971 _ZN17TDescriptorSource39CopyDefaultSubstitutionListForLanguagesEPK10__CFStringPK9__CFArray + 61 12 CoreText 0x00000001169397a7 _ZNK9TBaseFont28CreateSystemDefaultFallbacksEPK10__CFStringPK9__CFArray + 51 13 CoreText 0x000000011693999c _ZNK9TBaseFont15CreateFallbacksE10UIFontFlagPPK16__CFCharacterSetPK9__CFArray + 346 14 CoreText 0x00000001168c1036 _ZNK5TFont24CreateDefaultCascadeListEPK9__CFArray + 242 15 CoreText 0x00000001168b8ff9 CTFontCopyDefaultCascadeListForLanguages + 97 16 ??? 0x0000000140eaefd3 0x0 + 5384105939 17 ??? 0x0000000140eae761 0x0 + 5384103777 18 ??? 0x000000013c9c8e74 0x0 + 5311860340 19 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 20 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 21 monotouchtest 0x000000010fd71bac mono_runtime_try_invoke_array + 1292 22 monotouchtest 0x000000010fd15587 ves_icall_InternalInvoke + 647 23 ??? 0x000000013e9fcd13 0x0 + 5345627411 24 ??? 0x000000013e9fc738 0x0 + 5345625912 25 ??? 0x000000013e9fded5 0x0 + 5345631957 26 ??? 0x000000013e9fbb76 0x0 + 5345622902 27 ??? 0x000000013e9e237e 0x0 + 5345518462 28 ??? 0x000000013e9e237e 0x0 + 5345518462 29 ??? 0x000000013e9e237e 0x0 + 5345518462 30 ??? 0x000000013e9e237e 0x0 + 5345518462 31 ??? 0x000000013e873006 0x0 + 5344014342 32 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 33 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 34 monotouchtest 0x000000010fd6e320 mono_runtime_invoke + 208 35 monotouchtest 0x000000010fe71af1 xamarin_invoke_trampoline + 5617 36 monotouchtest 0x000000010fe79ddd xamarin_arch_trampoline + 189 37 monotouchtest 0x000000010fe7b1a1 xamarin_x86_64_common_trampoline + 110 38 UIKit 0x0000000111b9876b -[UITableView _selectRowAtIndexPath:animated:scrollPosition:notifyDelegate:] + 1810 39 UIKit 0x0000000111b98986 -[UITableView _userSelectRowAtPendingSelectionIndexPath:] + 344 40 UIKit 0x0000000111a6b5c9 _runAfterCACommitDeferredBlocks + 318 41 UIKit 0x0000000111a59dad _cleanUpAfterCAFlushAndRunDeferredBlocks + 280 42 UIKit 0x0000000111a89f68 _afterCACommitHandler + 137 43 CoreFoundation 0x000000011de3ddb7 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23 44 CoreFoundation 0x000000011de3dd0e __CFRunLoopDoObservers + 430 45 CoreFoundation 0x000000011de22324 __CFRunLoopRun + 1572 46 CoreFoundation 0x000000011de21a89 CFRunLoopRunSpecific + 409 47 GraphicsServices 0x0000000121b7e9c6 GSEventRunModal + 62 48 UIKit 0x0000000111a5f7d0 UIApplicationMain + 159 49 ??? 0x000000013c9c4474 0x0 + 5311841396 50 ??? 0x000000013c9c40ad 0x0 + 5311840429 ================================================================= Got a SIGSEGV while executing native code. This usually indicates a fatal error in the mono runtime or one of the native libraries used by your application. ================================================================= * [monotouch-test] Don't subclass MKMapView. (#2556) MKMapView doesn't like being subclassed (Apple says "you should not subclass the MKMapView class itself"). Bad things like this starts happening: Thread 0 name: tid_303 Dispatch queue: com.apple.main-thread Thread 0 Crashed: 0 libsystem_kernel.dylib 0x0000000186b25348 __pthread_kill + 8 1 libsystem_pthread.dylib 0x0000000186c39354 pthread_kill$VARIANT$mp + 396 2 libsystem_c.dylib 0x0000000186a94fd8 abort + 140 3 monotouchtest 0x0000000101c02c14 mono_handle_native_crash + 22047764 (mini-exceptions.c:2548) 4 monotouchtest 0x0000000101c0d02c mono_sigsegv_signal_handler + 22089772 (mini-runtime.c:2886) 5 libsystem_platform.dylib 0x0000000186c33b60 _sigtramp + 52 6 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 7 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 8 CoreFoundation 0x0000000186eda51c -[__NSArrayM dealloc] + 68 9 CoreFoundation 0x000000018703f5c8 __CFBasicHashDrain + 312 10 CoreFoundation 0x0000000186fb5b44 _CFRelease + 224 11 CoreText 0x000000018a808404 TDescriptorSource::PurgeFontFallbacksCache+ 488452 () + 92 12 CoreText 0x000000018a808374 TDescriptorSource::PurgeFromCaches+ 488308 (__CFURL const*) const + 176 13 CoreText 0x000000018a7eec74 CTFontRemoveFromCaches + 168 14 VectorKit 0x0000000196a539b0 +[VKSharedResourcesManager removeResourceUser:] + 324 15 VectorKit 0x0000000196ca27a4 md::MapEngine::~MapEngine+ 2643876 () + 360 16 VectorKit 0x0000000196ca2634 md::MapEngine::~MapEngine+ 2643508 () + 12 17 libobjc.A.dylib 0x000000018651eef4 object_cxxDestructFromClass+ 28404 (objc_object*, objc_class*) + 148 18 libobjc.A.dylib 0x000000018652c638 objc_destructInstance + 88 19 libobjc.A.dylib 0x000000018652c690 object_dispose + 16 20 QuartzCore 0x000000018afca3ac -[CALayer dealloc] + 116 21 VectorKit 0x0000000196a43294 -[VKMapView dealloc] + 940 22 QuartzCore 0x000000018af6aafc CA::release_objects+ 744188 (X::List<void const*>*) + 32 23 QuartzCore 0x000000018afd97d8 CA::Layer::~Layer+ 1198040 () + 276 24 QuartzCore 0x000000018afca37c -[CALayer dealloc] + 68 25 QuartzCore 0x000000018af6b16c CA::Transaction::commit+ 745836 () + 1052 26 UIKit 0x0000000190393290 _afterCACommitHandler + 256 27 CoreFoundation 0x0000000186fb38b8 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 32 28 CoreFoundation 0x0000000186fb1270 __CFRunLoopDoObservers + 412 29 CoreFoundation 0x0000000186fb182c __CFRunLoopRun + 1292 30 CoreFoundation 0x0000000186ed22d8 CFRunLoopRunSpecific + 436 31 GraphicsServices 0x0000000188d58f84 GSEventRunModal + 100 32 UIKit 0x000000019040427c UIApplicationMain + 208 33 monotouchtest 0x000000010106eb90 wrapper_managed_to_native_UIKit_UIApplication_UIApplicationMain_int_string___intptr_intptr + 9907088 (/<unknown>:1) 34 monotouchtest 0x0000000100f0d6ac UIKit_UIApplication_Main_string___intptr_intptr + 8459948 (UIApplication.cs:79) 35 monotouchtest 0x0000000100f0d66c UIKit_UIApplication_Main_string___string_string + 8459884 (UIApplication.cs:63) 36 monotouchtest 0x0000000100b10450 monotouchtest_Application_Main_string__ + 4277328 (Main.cs:27) 37 monotouchtest 0x0000000100e0c244 wrapper_runtime_invoke_object_runtime_invoke_dynamic_intptr_intptr_intptr_intptr + 244 38 monotouchtest 0x0000000101c10048 mono_jit_runtime_invoke + 22102088 (mini-runtime.c:2526) 39 monotouchtest 0x0000000101c75eec do_runtime_invoke + 22519532 (object.c:2829) 40 monotouchtest 0x0000000101c78a3c do_exec_main_checked + 22530620 (object.c:4623) 41 monotouchtest 0x0000000101bf9a1c mono_jit_exec + 22010396 (driver.g.c:1040) 42 monotouchtest 0x0000000101d13d60 xamarin_main + 23166304 (monotouch-main.m:482) 43 monotouchtest 0x00000001007de710 main + 927504 (main.m:67) 44 libdyld.dylib 0x00000001869f656c start + 4 * [introspection] Let SkipDueToAttributeInProperty skip setters too (#2557) `SkipDueToAttributeInProperty` which is used to check the availability attribute of properties when the Availability info only exist on the property and not on the property Getter or Setter was wrong. This lead to `setSpringLoaded` (which was introduced in iOS 11) to not be ignored by the test (making it fail). - Fix bug #59085: [introspection-ios] selector not found for UIKit.UIBarButtonItem : setSpringLoaded: - Broken test (https://bugzilla.xamarin.com/show_bug.cgi?id=59085) * [corevideo][watchos] Enable CoreVideo on watchOS (#2553) * [storekit] Fix CampaignToken typo (#2559) (#2560) - Fixes bug #59078: StoreProductParameters and invalid property for CampaignToken (https://bugzilla.xamarin.com/show_bug.cgi?id=59078) * [coreml][watchos] Enable API using CoreVideo on watchOS. Fix #58097 (#2561) https://bugzilla.xamarin.com/show_bug.cgi?id=58097 * Add missing [MarshalDirective] attributes. (#2558) * [bindings-generator] Improve build & project file. * Add missing [MarshalDirective] attributes. Add missing [MarshalDirective] attributes, which also requires implementing support for out parameters in the binding generator, since one of the signatures missing the [MarshalDirective] contains such an out parameter. Also add tests for all the API I've added [MarshalDirective] to. * [bindings-generator] Remove redundant if check. * [monotouch-test] Rename file to end with 'Test.cs'. * [tests] Fix a few build errors for Xamarin.Mac. * [uikit] Fix UIColor and UIInputViewController tvOS availability (#2569) - Fixes introspection tests on tvOS 10. * [storekit] Fix SKCloudServiceSetupMessageIdentifier and SKProductStorePromotionController tvOS availability (#2568) - Fixes introspection tests on tvOS 10. * [mapkit] Fix MKMapItemTypeIdentifier tvOS availability (#2566) - Also remove double [Mac] availability attribute. - Fixes introspection tests on tvOS 10. * [ARKit] Fix marshalling for ARPointCloud.RawFeaturePoints. (#2565) ARPointCloud.RawFeaturePoints is an array of Vector3, but each vector is 16-byte aligned (as if it were an array of Vector4). This means we need to account for this when creating a managed array from pointer to the native C-style array. * [ModelIO] Fix MDLVoxelIndexExtent struct. (#2564) The MDLVoxelIndexExtent is a struct containing two 4-dimensional vectors of integers (not floats, as originally and incorrectly implemented). Fix this my creating a new MDLVoxelIndexExtent2 struct with the right fields, re-implement all the API that exposes this struct and obsolete the old API. Also add missing [MarshalDirective] attributes. And write a test to make sure it works fine now and forever. * [coredata] Enable new fields since rdar #33878590 is fixed w/beta 6 (#2570) reference: https://trello.com/c/dlSRYPFx * [xtro-sharpie] Add a Simd check class to verify signatures with Simd types. * [Simd] Add simd matrix types. The OpenTK matrices (Matrix2/3/4) has a different memory layout than Apple's matrix_float2x2/matrix_float3x3/matrix_float4x4 matrices: the OpenTK versions are row-major, while Apple's versions are column-major. This means that when blitting memory from one to the other, the matrix will appear to have been transposed. See bug #[58599][2] for an example. Unfortunately we've already bound several API with Apple's matrix_floatXxX matrices using OpenTK's matrices, and although they're bound wrong, and the matrices appear transposed on input/output, we can't change the behavior because we have to maintain compatibility. This means we have to introduce new API, and then also just define new matrix types with the right memory layout (column-major). Additionally, in the future we might be able to mark these matrices as Simd-matrixes, so that the JIT/AOT compiler can generate the correct alignment for them, avoiding having to define a native conversion method (using the [MarshalDirective] hack). The matrices have been designed to match API-wise the matrices in the System.Numerics.Vectors namespace [1], but for the moment with only a few basic operations implemented (Determinant/Transpose/Multiply) defined (we can always add more later if we want to). In addition explicit conversion operators to and from the corresponding OpenTK.MatrixX are implemented, which means any operation defined in the OpenTK matrices can be used by converting back and forth. [1]: https://msdn.microsoft.com/en-us/library/system.numerics.matrix4x4(v=vs.111).aspx [2]: https://bugzilla.xamarin.com/show_bug.cgi?id=58599 * [ARKit] Use the new Simd matrix types. * [Vision] Use the new Simd matrix types. * [ModelIO] Use the new Simd-compatible matrix types, and deprecate the old API. * [GameplayKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [SpriteKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [xtro] Don't report missing [MarshalDirective] for obsolete methods. * [xtro] Remove unnecessary ignores. The implementation changed, and these stayed accidentally. * [wkwebkit] Fix (native) protocol names (#2572) Also ignore xtro's WKSnapshotConfiguration since it's an Apple bug 34185961 reference (xtro) !missing-protocol! WKURLSchemeHandler not bound !missing-protocol! WKURLSchemeTask not bound !unknown-protocol! WKUrlSchemeHandler bound !unknown-protocol! WKUrlSchemeTask bound !unknown-type! WKSnapshotConfiguration bound * [uikit] Fix enums availability attributes (#2575) - Fixes bug #59132: [uikit] Extra types in watchOS (https://bugzilla.xamarin.com/show_bug.cgi?id=59132) * [watchkit] Add missing designated initializers (#2574) references (xtro) !missing-designated-initializer! WKInterfaceController::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! WKUserNotificationInterfaceController::init is missing an [DesignatedInitializer] attribute * [xtro] Reword some of the Simd diagnostic messages according to review. * [tests] Make sure test symbols don't clash between different test libraries. Fixes this build problem for framework-test: clang: error: linker command failed with exit code 1 (use -v to see invocation) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_get_rotation_matrix'. MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticObjectTest.framework/XStaticObjectTest (Location related to previous error) MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticArTest.framework/XStaticArTest(libtest-ar.x86_64.o) (Location related to previous error) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransformcomponent_get_local_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_create_global_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float4x4'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float3x3'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float2x2'. MTOUCH: error MT5209: Native linking error: 6 duplicate symbols for architecture x86_64 MTOUCH: error MT5202: Native linking failed. Please review the build log. * [tests] Since libtest.a need ModelIO now, the corresponding LinkWith attributes need to state that too. * [introspection] Don't check native signatures on obsolete members, and ignore the right simd matrix types. Fixes this introspection/Mac problem: ***** ApiSignatureTest.NativeSignatures Selector: uniformWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: uniformWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: uniformWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: setMatrixFloat2x2Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: setMatrixFloat3x3Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: setMatrixFloat4x4Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: initWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: initWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: initWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded * [monotouch-tests] Include more custom asserts for watchOS to make the build work. Fixes this: Simd/MatrixFloat4x4Test.cs(28,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(29,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(37,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(48,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' [...] * [monotouch-test] Exclude code that requires the binding project from xammac tests. Exclude code that requires the test binding project from xammac tests because there's currently no XM version of the test binding project. Fixes this: tests/monotouch-test/SpriteKit/UniformTest.cs(20,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLMaterialProperty.cs(37,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLTransform.cs(34,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) * Bump version for preview #8 (#2576) * [spritekit] Audit fixes (xtro) (#2577) 1. SKVideoNode is now, partially, available on watchOS and does not require the extra, manual code to swicth selectors depending on the OS version being run. !missing-type! SKVideoNode not bound !missing-selector! SKVideoNode::anchorPoint not bound !missing-selector! SKVideoNode::initWithCoder: not bound !missing-selector! SKVideoNode::initWithFileNamed: not bound !missing-selector! SKVideoNode::initWithURL: not bound !missing-selector! SKVideoNode::setAnchorPoint: not bound !missing-selector! SKVideoNode::setSize: not bound !missing-selector! SKVideoNode::size not bound !missing-selector! +SKVideoNode::videoNodeWithFileNamed: not bound !missing-selector! +SKVideoNode::videoNodeWithURL: not bound 2. SKNodeFocusBehavior is exposed needlessly on watchOS because SpriteKit/Enums.cs was not processed by the generator, so [NoWatch] did not matter. !unknown-native-enum! SKNodeFocusBehavior bound It's also visible on macOS but nothing uses it (so we do not expose it needlessly) !missing-enum! SKNodeFocusBehavior not bound 3. Add missing designated initializer on default `init` !missing-designated-initializer! SKAttributeValue::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! SKNode::init is missing an [DesignatedInitializer] attribute 4. Remove inconsistency for SKNode subclasses wrt XAMCORE_4_0 The trio attributeValues, setAttributeValues and setValue:forAttributeNamed: that was moved from SKNode (deprecated) into its subclasses. This was done using XAMCORE_4_0 but not on every subclasses. This adds them everywhere to be consistent (only SKNode versions are not defined in XAMCORE_4_0) !missing-selector! SKEffectNode::attributeValues not bound !missing-selector! SKEffectNode::setAttributeValues: not bound !missing-selector! SKEffectNode::setValue:forAttributeNamed: not bound !missing-selector! SKEffectNode::valueForAttributeNamed: not bound !missing-selector! SKEmitterNode::attributeValues not bound !missing-selector! SKEmitterNode::setAttributeValues: not bound !missing-selector! SKEmitterNode::setValue:forAttributeNamed: not bound !missing-selector! SKEmitterNode::valueForAttributeNamed: not bound !missing-selector! SKSpriteNode::attributeValues not bound !missing-selector! SKSpriteNode::setAttributeValues: not bound !missing-selector! SKSpriteNode::setValue:forAttributeNamed: not bound !missing-selector! SKSpriteNode::valueForAttributeNamed: not bound * [introspection] Make sure '[FAIL]' is printed before every failure. (#2578) This makes xharness able to list the failures in the inline summary. * [xtro] Reword some of the Simd diagnostic messages according to review. * [xharness] Add a missing IsServerMode check to generate correct html. (#2581) * [SpriteKit] SKTransformNode is new in Xcode 9 so no need to keep the broken (and obsolete) non-simd version of RotationMatrix. * [intents] Fix some (partial) xtro issues and #59156 (#2585) reference https://bugzilla.xamarin.com/show_bug.cgi?id=59156 Remaining issues are filled in https://bugzilla.xamarin.com/show_bug.cgi?id=59183 !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound * [Intents] Confirm* interface methods should be bound as Confirm, Fixes Bug 59164 (#2591) * [Intents] Confirm* interface methods should probably be bound as Confirm, Fixes Bug 59164 https://bugzilla.xamarin.com/show_bug.cgi?id=59164 All Confirm* methods from *IntentHandling interfaces should be named just `Confirm` to avoid confusion because most of them do not directly confirm as an acion, but instead they **ask** for confirmation also we would follow swift's naming by doing this. * [Intents] XAMCORE_4_0 all Confirm* methods from *IntentHandling Turns any Confirm* into just Confirm inside a XAMCORE_4_0 block, * [Intents] Fix breaking changes in Intents added in Xcode 9 Bindings (#2590) Apple added more protocol conformances to INRidesharingDomainHandling and INPaymentsDomainHandling protocols in Xcode 9, I introduced these breaking changes back when I did intents binding so fixing them :) * [Metal] New bindings from Xcode 9 betas (#2457) * [AVFoundation] Updated bindings for xcode9. (#2272) * [Xcode9] Add IOSurface bindings (#2363) * This framework was a private framework before iOS 11. This framework was a private framework before iOS 11, yet the headers claim many API were introduced in iOS 10. So take account of this difference by using the private framework location in iOS 10.3 or earlier. Testing these API from Xcode works fine when run on an iOS 10.3 device, and I've confirmed the IOSurface framework is loaded from the private frameworks path on older devices (and when built using Xcode 9 and linked with the public framework path). * Disable code to make IOSurface work on iOS 10. Disable the code to make IOSurface work on iOS 10, since it may be rejected by the App Store. This also means adjusting the availability attributes, so that the introspection tests pass (and to document that technically these API won't work when used with Xamarin.iOS in iOS 10). I've filed bug #[59201][1] to keep track of this, maybe we can re-enable this later. [1]: https://bugzilla.xamarin.com/show_bug.cgi?id=59201 * [CoreMedia] Fix leak in CMAttachmentBearer.GetAttachments. (#2593) The caller owns the return value from CMCopyDictionaryOfAttachments, so tell Runtime.GetNSObject that. * [Intents] Adds missing API found by xtro, fixes Bug 59183 (#2596) https://bugzilla.xamarin.com/show_bug.cgi?id=59183 Fixes !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !incorrect-protocol-member! INUIHostedViewControlling::configureWithInteraction:context:completion: is OPTIONAL and should NOT be abstract * [xtro] Fix StartWorkingDirectory to enable debugging (#2598) * [iosurface] Enable for tvOS and XM classic (to avoid multiple defines around consumer API) (#2597) * [xtro] Fix EnumCheck (#2600) * [ARKit] Rename a few method to make them nicer. (#2604) * DisplayTransform -> GetDisplayTransform since methods should have verbs. * SessionWasInterrupted -> WasInterrupted and SessionInterruptionEnded -> InterruptionEnded since these names match better with the other names (CameraDidChangeTrackingState / DidFail / DidOutputAudioSampleBuffer: none are prefixed with 'Session'). Additionally, the type is a Model (for the delegate pattern), which means all methods are more-or-less event-like, and the first argument is always the same (the protocol itself), which is another indicator the methods should be named similarly. * [Foundation] Remove 'Key' suffix from some fields. (#2606) Of the 168 fields in NSMetadataItem, only these 5 hadn't removed the 'Key' suffix. So make them all equivalent by removing the 'Key' suffix from these 5 fields. * [ImageIO] Fix API to not duplicate the instance in instance methods. (#2609) An instance method does not need to take the instance as a parameter, so remove the first (instance) parameter for CGImageDestination.AddAuxiliaryDataInfo and CGImageSource.CopyAuxiliaryDataInfo. An alternative solution would be to make the methods static, but I like the instance API better. * [UIKit] De-model UIDataSourceTranslating. (#2603) It's not clear from neither the documentation nor the headers how this protocol is supposed to be used, and since it doesn't correspond to the delegate pattern, remove the [Model] attribute for now. We can always add it back later. * [CoreML] Improve API. (#2592) * [CoreML] Improve API. * The indices, shape and stride properties for MLMultiArray and MLMultiArrayConstraint can logically only be arrays of integers, so type them as such. This means adding overloads for MLMultiArray's constructors, GetObject and SetObject methods, and the indexers that takes nint[] arrays instead of NSNumber[] arrays. * Change MLFeatureValue's static factory methods to be a method ('Create') instead of a preposition, and call all the different factory methods the same, since they can be overloaded nicely. * [tests][monotouch-test] Add version check to MLMultiArrayTest and make sure the arrays we create are big enough for the data we put in them. * [tests][monotouch-test] MLMultiArray's elements aren't zero-initialized, so don't assume that in the tests. * Support overloading Objective-C methods based on static/instance. (#2607) Two Objective-C methods can be named identically as long as one is static and the other instance. We must support this since Apple did just this (in the NSItemProviderReading / NSItemProviderWriting protocols). We solve it by prepending a '+' or '-' to the selector when hashing it (to determine selector uniqueness, and to look the method up again at runtime). * [uikit] Update for Xcode 9 - Part 6 (#2602) NSAttributedString.h NSFileProviderExtension.h NSLayoutAnchor.h UIAccessibility.h UIAccessibilityAdditions.h UIAccessibilityContainer.h UIAccessibilityContentSizeCategoryImageAdjusting.h UIAccessibilityCustomRotor.h UIAccessibilityLocationDescriptor.h UITabBar.h UINavigationBar.h UIScreen.h * Xcode9 scenekit (#2512) * [SceneKit] basic work * Added key * [xcode9] SCNCameraController * [xcode9] SCNCamera updates * [xcode9] SCNMaterial * [xcode9] SCNGeometryTessellator, SCNCameraControlConfiguration, SCNView, small bits * Add trailing commas to last enum value * Remove whitespace noise * [scenekit] Update deprecated attributes messages * Addresses some of Rolf's feedback * Drop the WeakDelegate in SCNCameraController * Rename method to Render, remove ctor from class that can not be constructed in Palygrounds, add typo exception * [AppKit] Rename NSBezierPath.AppendBezierPathWithCGGlyph to match its sibling methods. (#2605) NSBezierPath contains a lot of 'AppendPathWithXXX' methods, that all map to 'appendBezierPathXXX' selectors. So rename AppendBezierPathWithCGGlyph accordingly, to make it more similar to the other methods in the same type. * [uikit] Add all UISpringLoadedInteractionSupporting (#2616) Types do not conform to the protocol but protocol methods work on those types (see monotouch-test). Fixed introspection tests accordingly and tested the selectors in monotouch-test. * [Intents] Add convenience ctor overload and call correct base ctor in manual ctor. (#2613) Add a convenience constructor overload in INGetUserCurrentRestaurantReservationBookingsIntent that uses nint instead of NSNumber, since logically "number of results" will always be some sort of integer. Also call the correct base constructor in INSpeakableString's custom constructor (same as any other generated constructor). Otherwise we end up doing something like this: [[[INSpeakableString alloc] init] initWith ...], i.e. calling two different init methods. * [coreimage] Add new headers API up to beta 6 (#2601) Filters are not complete (ref: #57350) https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * Some new constants are not yet documented (type is known), so they are commented / ignored https://bugzilla.xamarin.com/show_bug.cgi?id=59296 * Filled bug for [Wrap] inside [Category] so strong dictionary helpers can be re-enabled later https://bugzilla.xamarin.com/show_bug.cgi?id=59294 * [foundation] xtro fixes for watchOS (#2586) !missing-enum! NSProcessInfoThermalState not bound !missing-field! NSProcessInfoThermalStateDidChangeNotification not bound !missing-selector! NSProcessInfo::thermalState not bound Headers are wrong and preferredPresentationStyle is not in tvOS and watchOS !missing-selector! NSItemProvider::preferredPresentationStyle not bound !missing-selector! NSItemProvider::setPreferredPresentationStyle: not bound * [uikit] Also remove UIPreferredPresentationStyle enum from platform where it's not used * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. (#2614) * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. * NSItemProviderWriting: * NSItemProviderReading: Implement correctly and completely by uncommenting commented out code. * NSMutableString: * NSAttributedString: remove inlined members, since these classes don't implement NSItemProviderReading / NSItemProviderWriting (according to the headers at least). * NSUrl: all platforms now seem to implement NSItemProviderReading / NSItemProviderWriting. * NSString: all platforms now seem to implement both NSItemProviderReading and NSItemProviderWriting * UIColor: * UIImage: Update inlined protocol members according to the latest beta. Additionally, due to the following conditions: * The protocols all have the correct members now. * In the API definition we tell the generator to inline members from a protocol by inheriting from the corresponding interface. * The generator doesn't inline static members from protocols. several 'new' keywords had to be added to silence a compiler warning that occurrs when we manually inline a static member, since the member would be included in the type both from the inherited interface and the manual implementation. * [Foundation] Comment out NSItemProviderWriting.GetItemProviderVisibility to avoid inlining/generating unusable methods. NSItemProviderWriting.GetItemProviderVisibility is an optional method, and none of the native classes that implements NSItemProviderWriting actually imlements the method. This means inlining the method in those classes ends up creating unusable API; so just comment out the method to avoid generating the unusable API. The introspection tests found this: [FAIL] Foundation.NSString : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Foundation.NSUrl : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Contacts.CNContact : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] MapKit.MKMapItem : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIColor : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIImage : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] iOSApiSelectorTest.ApiSelectorTest.StaticMethods : 6 errors found in 2348 static selector validated: See also https://bugzilla.xamarin.com/show_bug.cgi?id=59308 * [iosurface] Add missing [TV] attributes (#2619) * [opengles] Enable the new API using IOSurface (#2618) The symbol only exists inside device libraries, not on simulator, and the introspection tests were updated to ignore it. Part of https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [avfoundation][watchos] Enable AudioBufferList (fix #59145) + audit (xtro) (#2617) 1. AudioBufferList is part of CoreAudio (wrong namespace, which needs a few changes in the generator) and now available in watchOS 4 https://bugzilla.xamarin.com/show_bug.cgi?id=59145 2. Also fixes xtro found issues: !missing-type! AVAudioRecorder not bound !missing-selector! AVAudioRecorder::averagePowerForChannel: not bound !missing-selector! AVAudioRecorder::channelAssignments not bound !missing-selector! AVAudioRecorder::currentTime not bound !missing-selector! AVAudioRecorder::delegate not bound !missing-selector! AVAudioRecorder::deviceCurrentTime not bound !missing-selector! AVAudioRecorder::format not bound !missing-selector! AVAudioRecorder::initWithURL:format:error: not bound !missing-selector! AVAudioRecorder::initWithURL:settings:error: not bound !missing-selector! AVAudioRecorder::isMeteringEnabled not bound !missing-selector! AVAudioRecorder::isRecording not bound !missing-selector! AVAudioRecorder::peakPowerForChannel: not bound !missing-selector! AVAudioRecorder::recordAtTime: not bound !missing-selector! AVAudioRecorder::recordAtTime:forDuration: not bound !missing-selector! AVAudioRecorder::recordForDuration: not bound !missing-selector! AVAudioRecorder::setChannelAssignments: not bound !missing-selector! AVAudioRecorder::setDelegate: not bound !missing-selector! AVAudioRecorder::setMeteringEnabled: not bound !missing-selector! AVAudioRecorder::settings not bound !missing-selector! AVAudioRecorder::url not bound !missing-protocol! AVAudioRecorderDelegate not bound !missing-selector! AVAudioEngine::inputNode not bound !missing-selector! AVAudioEngine::manualRenderingBlock not bound !missing-selector! AVAudioInputNode::setManualRenderingInputPCMFormat:inputBlock: not bound !missing-selector! AVAudioPlayer::format not bound !missing-selector! AVAudioSession::requestRecordPermission: not bound !unknown-field! AVFileType3GPP bound !unknown-field! AVFileType3GPP2 bound !unknown-field! AVFileTypeAC3 bound !unknown-field! AVFileTypeAIFC bound !unknown-field! AVFileTypeAIFF bound !unknown-field! AVFileTypeAMR bound !unknown-field! AVFileTypeAVCI bound !unknown-field! AVFileTypeAppleM4A bound !unknown-field! AVFileTypeAppleM4V bound !unknown-field! AVFileTypeCoreAudioFormat bound !unknown-field! AVFileTypeDNG bound !unknown-field! AVFileTypeEnhancedAC3 bound !unknown-field! AVFileTypeHEIC bound !unknown-field! AVFileTypeHEIF bound !unknown-field! AVFileTypeJPEG bound !unknown-field! AVFileTypeMPEG4 bound !unknown-field! AVFileTypeMPEGLayer3 bound !unknown-field! AVFileTypeQuickTimeMovie bound !unknown-field! AVFileTypeSunAU bound !unknown-field! AVFileTypeTIFF bound !unknown-field! AVFileTypeWAVE bound * [Metal] Implement API using IOSurface now that IOSurface is implemented. Partially fixes #58054. (#2621) https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [PdfKit] Improve PdfAnnotation.QuadrilateralPoints binding by making it strongly typed. (#2620) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). (#2622) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). * [ARKit/Vision] Use the new simd vector types instead of the OpenTK versions. * [ModelIO] Use the new simd vectors in new API (MDLVoxelIndexExtent2). This way we won't have to create a MDLVoxelIndexExtent3 in the future. * [SpriteKit] Use the new simd vectors in new API. * [metal] Audit (xtro) based fixes (#2623) !extra-protocol-member! unexpected selector MTLArgumentEncoder::newArgumentEncoderForBufferAtIndex: found !extra-protocol-member! unexpected selector MTLComputeCommandEncoder::dispatchThreads:threadsPerThreadgroup: found macos-only !missing-field! MTLDeviceRemovalRequestedNotification not bound !missing-field! MTLDeviceWasAddedNotification not bound !missing-field! MTLDeviceWasRemovedNotification not bound !missing-pinvoke! MTLCopyAllDevices is not bound * [CloudKit] Update bindings to beta 6. (#2615) * [FileProvider] Turn NSFileProviderItemIdentifier enum into a static class, fixes bug 59329 (#2634) https://bugzilla.xamarin.com/show_bug.cgi?id=59329 At the time of binding NSFileProviderItemIdentifier it wasn't clear how it was supposed to be used, I mean apple provides two keys which I thought were the only possible values hence binding it as an smart enum. Unfortunately this wasn't the case and the user can use those two values provided from the SDK or their own NSString Identifier. Swift provides a wrapper unfortunately we can't do the same due to NSFileProviderItemIdentifier is used in the NSFileProviderItem protocol and we currently do not support changing signatures on them. * [mtouch] Teach mtouch about the 'IOSurface' framework for tvOS. Fixes #59333. (#2630) https://bugzilla.xamarin.com/show_bug.cgi?id=59333 * Bump Touch.Unit to get fix for API breakage. (#2631) spouliot/Touch.Unit@8f1e19d [NUnitOutputTextWriter] Reintroduce previous constructor to make sure we don't break binary ABI. spouliot/Touch.Unit@00b0c0b [NUnitOutputTextWriter] Don't write invalid xml comments. spouliot/Touch.Unit@de9fe20 [TouchRunner] Restore the original code path when not wrapping NUnit xml output. * [IOSurface] Add missing availability attributes for tvOS. (#2629) * Bump versions for preview 9 (#2624) * [AVFoundation] Add missing interface AVRouteDetector. (#2637) * [tests] Update xtro to reduce list sizes (#2636) * Skip OpenTK duplicate declaration (we can't change them); * Fix rule name change for ARKit / simd; * Add missing default initializer on `init` to pending actions; * Add note for AVPersistableContentKeyRequest changes wrt tvOS; * [ReplayKit] Make RPBroadcastActivityViewController.LoadBroadcastActivityViewController async-capable. (#2639) * [xcode9] More SceneKit bindings (#2633) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 (#2644) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 https://bugzilla.xamarin.com/show_bug.cgi?id=59380 vector_float3 is 16 bytes, which means the binding is incorrect, because Vector3 is 12 bytes, and our code does not that difference into account. * Add tests * [DeviceCheck] Disable default ctor for DCDevice. (#2642) It doesn't seem to be useful according to the documentation, since it appears that the only way to get an instance is to use the static CurrentDevice property. * [audiounit] Audit (xtro) fixes for tvOS (#2635) Availability attributes in non-generated files don't hide symbols/code. reference: !unknown-pinvoke! AudioUnitExtensionCopyComponentList bound !unknown-pinvoke! AudioUnitExtensionSetComponentList bound * [tests] Make sure tvOS tests don't use the (unexisting) API * [tests] Add all test project variations to tests-mac.sln (#2579) * [xharness] Make sure generated mac projects have different project guids. * [introspection] Change the project guid so that it doesn't match the dontlink-mac project guid. * [tests] Add all test project variations to tests-mac.sln. * [xharness] Fix else condition. * [FileProvider] Adds missing NSFileProviderPage constants, fixes bug 59297. (#2646) https://bugzilla.xamarin.com/show_bug.cgi?id=59297 Adds NSFileProviderInitialPageSortedByName and NSFileProviderInitialPageSortedByDate NSData constants * [Xcode9] Remove NSFileProviderMessage and NSFileProviderMessageInterface (#2647) APIs were removed in beta 2 * [Foundation/UIKit] Provide LoadObject[s] methods that return the expected type in the callback. Fixes #59049. (#2638) The callback for these LoadObject[s] methods take an INSItemProviderReading parameter. This tells our runtime that we must provide an instance of a managed object that implements this interface (but nothing else), so we create a `NSItemProviderReadingWrapper` instance, which complies with the API (since the wrapper type implements the corresponding interface). Unfortunately these methods are supposed to return an instance of the passed- in type, so in order to comply with this soft (documentation-only) requirement, provide a wrapper method that creates instances of the right types. https://bugzilla.xamarin.com/show_bug.cgi?id=59049 * [arkit] Ignore deprecated selectors (#2645) * [FileProvider] Adds missing protocol and keys from audit (#2652) ``` !missing-protocol! NSFileProviderServiceSource not bound !missing-field! NSFileProviderErrorCollidingItemKey not bound !missing-field! NSFileProviderErrorNonExistentItemIdentifierKey not bound !missing-field! NSFileProviderFavoriteRankUnranked not bound ``` Also adds `NSXpcListenerEndpoint` to foundation, needed by `NSFileProviderServiceSource` protocol. * [tests][xtro] Workaround xtro runner dupe entry exception and update data files (#2654) * [AVFoundation] Rename field to match others. (#2657) * [homekit] Audit (xtro) fixes (#2653) - HMCharacteristicEvent conforms to NSMutableCopying on iOS11 which makes it 64 bits only (so adjust intro tests) - Ignore extra setters on HMMutablePresenceEvent, rdar 33883958 !missing-selector! HMMutablePresenceEvent::setPresenceEventType: not bound !missing-selector! HMMutablePresenceEvent::setPresenceUserType: not bound * [xtro] Add missing pinvoke to pending (#2662) - Bug 59422: [uikit] Missing UIContentSizeCategoryCompareToCategory & UIContentSizeCategoryIsAccessibilityCategory (https://bugzilla.xamarin.com/show_bug.cgi?id=59422) * Merge latest d15-3 fixes into xcode9 (#2660) * [msbuild] Re-added wildcard (*) expandsion for application-identifier in Entitlements.plist (#2186) Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=57119 * Bump mono (#2213) * Framework tests were still binding non-linked Simple class which errors now (#2216) (#2218) - Improve Makefile to rebuild when projects build with errors * Bump mono to get cecil fix for bug #56808. (#2222) https://bugzilla.xamarin.com/show_bug.cgi?id=56808 * [msbuild] Use @(ReferencePath) instead of @(ResolvedFiles) (#2188) (#2214) This allows things to work on both xbuild and msbuild. In xbuild, both lists are exactly the same and on msbuild, only @(ReferencePath) exists. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=55147 * NSActivityOptions.IdleDisplaySleepDisabled had wrong value (#2232) (#2239) This was due to an integer overflow. The original value was based on Int32 1 << 40 == 256 The correct value should be based on a UInt64. 1UL << 40 == 1099511627776 * [tests] Fix bug 57699 - [iOS]InternalsTest failure (Linkall) tests on device (#2243) Strip native debugging symbols should not be checked for debug builds * Bump mono to get fix for bug #57780. https://bugzilla.xamarin.com/show_bug.cgi?id=57780 * Update .gitmodules Change branch to d15-3 branch of mono * Bump maccore to get fix for bug #55064. https://bugzilla.xamarin.com/show_bug.cgi?id=55064 * [mono] Bump mono to get the head of cecil/mono-2017-04 and fix IsComObject #57919 Also fix #58789 [1], the typo in tools/mtouch/Tuning.cs showing in MT0000 errors instead MT2102. That's already in master and d15-4 mono bump includes: [2] commit 2a6502cee0df9de5198eafe7c8b5f6ac25106f34 (HEAD -> d15-3, origin/d15-3) Merge: 02457c20fcf 5e05cafc6f1 Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 10:04:06 2017 -0400 Merge pull request #5401 from marek-safar/com [Marshal.IsComObject] Make this predicate return false instead of thr… [3] commit 02457c20fcf57c0610e844d638eb1da82b5d1eb0 Merge: da80840ea55 73fd9a1b82e Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 09:59:06 2017 -0400 Merge pull request #5400 from spouliot/bump-cecil-58834-d15-3 [cecil] Bump to the head of the mono-2017-04 branch and pick the fix for bug #58834 References [1] https://bugzilla.xamarin.com/show_bug.cgi?id=58789 [2] https://bugzilla.xamarin.com/show_bug.cgi?id=57919 [3] https://bugzilla.xamarin.com/show_bug.cgi?id=58834 * [mtouch] Put 'mono_profiler_startup_log' in the symbol list. Fixes #58778. (#2501) We need the 'mono_profiler_startup_log' symbol when profiling is enabled, so make sure to add the symbol to the correct list of symbols we need. Previously we were passing `-u _mono_profiler_startup_log` to clang directly, which is fine, but not complete, since it does not write the symbol to the symbollist file (--symbollist=file), which means it wouldn't be preserved when the MSBuild tasks strip the executable. https://bugzilla.xamarin.com/show_bug.cgi?id=58778 * Bump versions for SR3 https://trello.com/c/EVze08ei * Bump mono to include HttpClientHandler fix #44027 https://trello.com/c/jYFXadH8/8-systemnethttp-close-request-stream-when-httpclienthandler https://bugzilla.xamarin.com/show_bug.cgi?id=44027 * [FileProvider] Add missing API and turn NSString to string (#2663) Turned NSString to string in order to match exisiting API. * [uikit] Add UIPasteConfigurationSupporting and UITextPasteConfigurationSupporting (#2649) - Fixes bug #59363: Missing UIPasteConfigurationSupporting, UITextPasteConfigurationSupporting, UITextDraggable and UITextDroppable on a couple of types (https://bugzilla.xamarin.com/show_bug.cgi?id=59363) * [uikit] Remove 129 types in UIPasteConfigurationSupporting case * [scenekit] Audit (xtro) fixes (#2648) This looks like an Apple breaking change (since `SCNAnimation` is new) but we now have: > typedef void (^SCNAnimationEventBlock)(id<SCNAnimation> animation, id animatedObject, BOOL playingBackward); bound as > delegate void SCNAnimationEventHandler (CAAnimation animation, NSObject animatedObject, bool playingBackward); and `CAAnimation` conforms to `SCNAnimation` but *only* the later is available on watchOS. The delegate is only updated (since it's new) on our watchOS profile. xtro references: (watchos) !unknown-protocol! SCNCameraControlConfiguration bound (tvos/watchos) !missing-selector! SCNAnimation::animationEvents not bound !missing-selector! SCNAnimation::setAnimationEvents: not bound !missing-selector! SCNConstraint::isEnabled not bound !missing-selector! SCNConstraint::setEnabled: not bound !missing-field! SCNSceneSourceConvertToYUpKey not bound !missing-field! SCNSceneSourceConvertUnitsToMetersKey not bound (ios/tvos) !missing-protocol-conformance! SCNNode should conform to UIFocusItem * Bump maccore post 15.3 merge (#2665) * Bump Xcode 9 to GM (#2667) * Force build (on wrench) * [avfoundation] Fix breaking changes (apidiff) (#2664) * [TVServices] Update to Xcode 9 GM (#2675) * [GameController] Update to Xcode 9 GM (#2673) * [LocalAuthentication] Update to Xcode 9 GM (#2671) * [LocalAuthentication] Update to Xcode 9 GM * Remove availability from BiometryNotAvailable, BiometryNotEnrolled and BiometryLockout * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer (#2659) * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer Some of the new added types were already present BUT under a #if MONOMAC, they had to be moved. * [AVFoundation] Set the wrongly added API to be obsolete and ensure it returns logical values. (#2650) * [xtro] The right platform for macOS is 'macos', not 'osx'. (#2677) The platform name is used to filter availability attributes, and if we use the wrong platform, we'll incorrectly skip all availability attributes. The net result in unclassified entries: https://gist.github.com/rolfbjarne/a4474bc2a40c49a85cad495b51bb514f * Various Xcode 9 API improvements and also fixes bug 59433 (#2676) https://bugzilla.xamarin.com/show_bug.cgi?id=59433 While fixing bug 59433 I noticed some additional issues outlined below: AVDepthData: * Renamed **non** static `Create` methods because `Create` only makes sense with the **Static** method in this context. Also by renaming the methods we are now closer to the names that swift uses. * Kept descriptive method names in favor of self-documenting code. `Convert`, `Apply` and `Replace` do not fully give us the intent of the method. * Added a convenience `Create` static method that takes a `CGImageAuxiliaryDataInfo`. * AvailableDepthDataTypes is now an array of `CVPixelFormatType` instead of a `NSNumber` array (The aactual fix for bug 59433). ImageIO: * Refactored `CGImageAuxiliaryDataInfo` to be a `StrongDictionary` in order to avoid most of the manual code and also to avoid reimplementing the `ToDictionary` method (which contained a subtle bug). * Adjusted code to reflect the above change. * Added missing `.ctor (IntPtr, bool)` to `CGImageMetadata` so the class is able to be created by our `Runtime.Get*`. * Simplified `CopyAuxiliaryDataInfo` method by using `CGImageAuxiliaryDataInfo` as a `DictionaryContainer`. Tests: * Added `xamarinmonkey.heic` which is an image that contains depth data needed to test above changes. * Adds `AVDepthDataTests` that touches most of the changes listed here. * Tweak the Simd-compatible matrices and vectors (#2668) * Rename them to be OpenTK.NMatrix# (instead of Simd.MatrixFloat#x#). * Remove the Vector2 and Vector4 variants, we'll use the OpenTK types instead (but we'll keep the NVector3 variant, since it's not identical to the OpenTK version). * Update the API to match their OpenTK counterparts better: * NMatrix2 and NMatrix3 have a 0-based R#C# scheme for their fields. * NMatrix4 has a 1-based M## scheme for its fields (i.e. no change). * [AVFoundation] Use Simd-matrix for API that needs it. (#2679) This also requires implementing the corresponding matrix (NMatrix4x3). Fixes this xtro issue: > !unknown-simd-type-in-signature! OpenTK.Matrix3 AVFoundation.AVCameraCalibrationData::get_GetIntrinsicMatrix(): the native signature has a simd type (matrix_float3x3), while the corresponding managed method is using an incorrect (non-simd) type. * [xtro] Fix checking availability on categories. (#2682) When checking for category availability, check if both the current declaration is a category, and if the current's declaration container is a category. Otherwise this scenario fails: * Category method is available. * Category does not have availability attributes. * Main class is unavailable. with this typical code sequence: ```csharp // don't process methods (or types) that are unavailable for the current platform if (!decl.IsAvailable () || !(decl.DeclContext as Decl).IsAvailable ()) return; ``` In which case we'd: * First check the method (`decl`): * It's available, so no further checks is done on the method. * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container's container is a category (it isn't, it's the namespace). and as such determine that the method is available. With this change, the second step will become: * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container is a category (it is), and if its main class is available (it isn't). and as such determine that the method is unavailable. * Check for attributes on the method's container (no attributes, so we continue). * Check if the method's Unclassified diff: https://gist.github.com/rolfbjarne/8fa80962596978a426eadf9b7ba39dc1 * [uikit] Update for Xcode 9 GM (#2670) * [AVFoundation] Implement AVCapturePhoto. Partially fixes #59388. (#2678) Fixes: > common.unclassified:!missing-type! AVCapturePhoto not bound https://bugzilla.xamarin.com/show_bug.cgi?id=59388 * Use strong dictionaries for AVCapturePhoto.Metadata and AVCapturePhoto.EmbeddedThumbnailPhotoFormat. * [SIMD] Implement Simd double types (VectorDouble3/MatrixDouble4x4). (#2632) The following types will be used by ModelIO bindings * Fix delta to be double * Rename Simd-compatible matrices and vectors to match our final naming. This also means removing the new Vector2 and Vector4 variants (but not Vector3). * [avfoundation] Remove AVAssetDownloadDelegate.DidLoadTimeRange since it was removed in one of the betas (#2687) * [foundation] Move NSUrlSessionMultipathServiceType to a file processed by the generator (for the availability attributes) (#2688) * [arkit] Update for Xcode 9 GM (#2681) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes (#2690) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes Type Changed: Intents.INCarSeatResolutionResult Removed methods: public static INCarSeatResolutionResult GetConfirmationRequired (INCarSeat valueToConfirm); public static INCarSeatResolutionResult GetSuccess (INCarSeat resolvedValue); * [avfoundation] Add missing protocol members and deprecations (#2691) !missing-protocol-member! AVCapturePhotoCaptureDelegate::captureOutput:didFinishProcessingPhoto:error: not found and the selector removed from PR#2687 was actually replaced with this one !missing-protocol-member! AVAssetDownloadDelegate::URLSession:aggregateAssetDownloadTask:didLoadTimeRange:totalTimeRangesLoaded:timeRangeExpectedToLoad:forMediaSelection: not found * [tests][xtro] Map some enums, more fix with protocols and update entries (#2692) * [Tests] Reenable dns tests on the watch. (#2674) * [arkit] Add ARBlendShapeLocationOptions strong dictionary (#2696) * [coreimage] Skip not yet bound filters added in Xcode9 (#2698) Tracked in https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * [Metal] Renamed MTLArgumentDescriptor.ArgumentDescriptor to Create, fixes bug 59498 (#2702) https://bugzilla.xamarin.com/show_bug.cgi?id=59498 From [argumentDescriptor docs](https://developer.apple.com/documentation/metal/mtlargumentdescriptor/2915746-argumentdescriptor?language=objc) > Creates an empty argument descriptor. * [msbuild] Always codesign app bundles if the codesign key is non-null (#2697) ...even if it is a simulator build. Turns out that starting with Xcode9, sim builds need to be codesigned for App Groups entitlements to work properly. Interestingly, the DetectSigningIdentity logic had a comment about needing to codesign simulator builds for some entitlements to work already starting with Xcode 8 but apparently the iOS targets did not respect this. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=59379 * [Foundation] Add NSProxy stub in order to workaround bug 59247 (#2693) https://bugzilla.xamarin.com/show_bug.cgi?id=59247 We need to have a better solution that removes all what NSProxy does not responds to. Right now this works because NSObject implements NSObject protocol just like NSProxy, but NSProxy responds to far less selectors hence doing it internal so it is not a breaking change when we provide the correct fix. * Keep NSProxy around and avoid XML linker description We need to keep NSProxy (avoid linking it) if WKNavigationDelegate or IWKNavigationDelegate is used. We know WKWebView will be there and can hold a reference to it. * [Xcode 9] Update Metal for GM (#2689) * [iosurface] IOSurface is not usable before iOS/tvOS 11. Fixes #59201 (#2706) Apple rejects apps that links with the previously private IOSurface.framework. We were not sure about this [1] and had it disabled (this is removed). However another bug stopped our adjustment logic [2] from being executed. This is needed since `clang` picks up the private framework if it does not find the public one (even when asking for a weak framework), [1] https://bugzilla.xamarin.com/show_bug.cgi?id=59201 [2] Added a while ago for JavascriptCore * Bump maccore to point to commit with the docs fix. (#2703) * Bump XI to 11.0.x (and XM to 3.99.9.x) (#2684) * fix typo
2017-09-16 00:53:16 +03:00
[Protocol]
interface SCNCameraControlConfiguration
{
[Abstract]
[Export ("autoSwitchToFreeCamera")]
bool AutoSwitchToFreeCamera { get; set; }
[Abstract]
[Export ("allowsTranslation")]
bool AllowsTranslation { get; set; }
[Abstract]
[Export ("flyModeVelocity")]
nfloat FlyModeVelocity { get; set; }
[Abstract]
[Export ("panSensitivity")]
nfloat PanSensitivity { get; set; }
[Abstract]
[Export ("truckSensitivity")]
nfloat TruckSensitivity { get; set; }
[Abstract]
[Export ("rotationSensitivity")]
nfloat RotationSensitivity { get; set; }
}
interface ISCNCameraControllerDelegate {}
[Watch (4,0), TV (11,0), Mac (10, 13, onlyOn64: true), iOS (11,0)]
Merge xcode9 into d15-4[-xi] (#2710) * [FileProvider] Add Xcode 9 Beta 1, 2 & 3 Bindings (#2279) * [FileProvider] Add Xcode 9 Beta 1 Bindings * Better naming * Feedback not related to BindAs * [FileProvider] Removes BindAs, add manual code for it and updated to Beta 3 * [FileProvider] Implement feedback * [CoreSpotlight] Updated spotlight bindings for xcode 9 beta 3. (#2193) Updated spotlight bindings for xcode 9 beta 3. * Fix warning caused by duplicate (#2354) * [FileProviderUI] Add Xcode 9 Beta 1 to 3 bindings (#2356) * Bump to Xcode 9 beta 4 * [arkit] ARLightEstimate does not conform to NSCopying anymore (fix unit test) * [uikit] NSFileProviderExtension.ReparentItem got a new parameter in beta4 (fix unit test) * [coreimage] CIImageAccumulator init returns nil in beta 4 There's no header change to mention `init` is not allowed but it's not clear how this default initializer could be used. Also make public some other API to construct this type (outside of XM). It's not clear why there were `internal` as they are (at least now) part of the header files. * [photos] Add helpers when PHLivePhotoEditingOption/NSDictionary is null (to avoid ambiguous API) (#2360) Adding a strongly typed `PHLivePhotoEditingOption` (a strongly typed version of an `NSDictionary`) can cause a `CS0121` (call is ambiguous) since using a `null` argument is common (only one option exist so far). This PR adds overloads that makes the code nicer in such case, e.g. before Xcode9: > // null is used when no options are given > _foo.SaveLivePhoto (output, null, completion); current (Xcode 9) > // casting required to remove ambiguity with PHLivePhotoEditingOption > _foo.SaveLivePhoto (output, (NSDictionary)null, completion); with this PR > // no option, no argument > _foo.SaveLivePhoto (output, completion); The same applies to `PrepareLivePhotoForPlayback`. * [tests] Disable/tweak two tests that breaks on (almost) all Xcode updates Those tests were not added to validate xOS so just keep the parts that helps us (without constantly checking back the new break flavor) * Disable watchOS to check if this hides others issues * [mapkit] Update for beta 4 * [coredata] Update for beta 4 * [wkwebkit] Update for beta 4 Note: WKWindowFeatures.h is not compiled (part of the framework umbrella) and the `@interface WKWindowFeatures (WKPrivate)` sounds like it should not have been exposed (it's all fields starting with `_`) * [corelocation] Update for beta 4 * Revert "Disable watchOS to check if this hides others issues" This reverts commit fed2249fa43290a1956ab2fe0d48f83ab6db9711. * [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]: https://github.com/xamarin/xamarin-macios/blob/f5956d6cc1eb5dfa7bab16628cf282d40237f64e/src/generator.cs#L5985 * [FinderSync] Update to beta 4 (#2377) * [ImageIO] Update to Xcode 9 (#2353) * [PhotosUI] Move macOS photosui bindings out of photos.cs into photosui.cs (#2358) * [quicklook] Update up to beta 4 (#2374) * [uikit] UIDragInteraction & UIDragInteractionDelegate (Xcode 9 b1,2,3) (#2357) * [safariservices] Update up to beta 4 (#2380) * [coreanimation] Update to beta 4 (#2382) Apple removed (mistake?) some API in beta 1. Filed as rdar 33590997 Internal tracking in https://trello.com/c/J8BDDUV9/86-33590997-coreanimation-quartzcore-api-removals * [storekit] Update up to beta 4 (#2379) * [CoreML] Update to Xcode 9 Beta 4 (#2387) * [uikit] UICollectionView/UITableView Drag & Drop (Xcode 9 b1,2,3 & 4) (#2355) * Update code after radar 32929318 and 32897776 are fixed in b4 (#2394) * [xcode9 CoreAudio] New definitions from Beta1 to Beta3 (#2359) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 (#2397) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 https://bugzilla.xamarin.com/show_bug.cgi?id=58512 Created strong API (VNBarcodeSymbology) on the following properties * VNDetectBarcodesRequest.SupportedSymbologies * VNDetectBarcodesRequest.Symbologies * VNBarcodeObservation.Symbology * Remove modern C# because classic can't do it 😡 * [mediaplayer] Update up to beta 4 (#2388) * [watchkit] Update to beta 4 (#2398) * Bump Visual Studio for Mac max version (#2408) * [coreimage] Add CIBarcodeDescriptor and enabled missing API for VNBarcodeObservation. Fix #58197 (#2411) https://bugzilla.xamarin.com/show_bug.cgi?id=58197 * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 (#2407) * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 * [uikit] Fixes based on comments * [coreimage] CIImageAccumulator API fixes. Fix #58349 (#2412) * Obsolete the default `init`; * XM exposed some older APIs using `int` instead of `CIFormat`. This is fixed and old APIs are obsoleted; * Both new & old APIs are now using `CIFormat` for both XI and XM. https://bugzilla.xamarin.com/show_bug.cgi?id=58349 * [uikit] UIText drag & drop - up to Xcode 9 beta 4 (#2410) * [uikit] UISplitView & UIStackView up to Xcode 9 beta 4 (#2425) * Bump XI/XM versions before preview 4 (#2422) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 (#2378) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 * [PDFKit] Implement feedback * [PDFKit] the forgotten enum * [PDFKit] More feedback * [PDFKit] Add Mac changes * Missing change * Fix test RectangleF VS CGRect * Pass -Wunguarded-availability-new to quiet a new clang warning (#2424) - https://bugzilla.xamarin.com/show_bug.cgi?id=58574 * [mtouch/mmp] Ignore warnings about unguarded code section with regards to availability. (#2441) * [monotouch-test] Remove workaround for fixed Apple bug. (#2445) * Bump to Xcode 9 beta 5. (#2447) * Bump to Xcode 9 beta 5. * [mmp] Disable the partial static registrar, because Apple's macOS SDK is broken. > In file included from Xamarin.Mac.registrar.mobile.i386.m:1: > In file included from ./Xamarin.Mac.registrar.mobile.i386.h:11: > /Applications/Xcode9-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVFoundation.h:88:9: fatal error: 'AVFoundation/AVRouteDetector.h' file not found https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [mmp] Fix partial static registrar removal. * [CallKit] Update to Xcode 9 beta 5. * [ARKit] ARPointCloud doesn't conform to NSCopying anymore in Xcode 9 beta 5. * [ARKit] Update to Xcode 9 beta 5 enough to make tests happy. * [CoreImage] Stub out new filters in Xcode 9 beta 5. * [tests][monotouch] Simplify some MDLMesh asserts since values change a lot between OS versions. * [mmp] Default to the dynamic registrar for release builds again, due to bug #58629. https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [tests][introspection] CXCall started implementing NSCopying without saying so in the headers. * Disable mmp static registrar tests due to 58629 for now * [quicklook] Update to beta 5 (#2450) * [photos] Update for beta 5 (#2452) Also update some existing enum members were added in beta 1 on macOS * [safariservices] Update for beta 5 (#2455) * [mediaplayer] Update to beta 5 (#2456) * [CoreLocation] Update Xcode 9 Beta 5 (#2453) * [CoreML] Update to Xcode 9 Beta 5 (#2454) * [Contacts] Update to Xcode 9 Beta 5 (#2451) * [Vision] Update to Xcode 9 Beta 5 (#2458) * [builds] Tell LLVM to stay away from newer macOS functions. (#2459) Fixes this build problem on Sierra: > ld: weak import of symbol '_futimens' not supported because of option: -no_weak_imports for architecture x86_64 This is a symbol that was (will be?) introduced in High Sierra. Interestingly this only occurs if the Xcode 8.X Command Line Tools haven't been manually installed. Because if the Xcode 8.X Command Line Tools are installed, this happens: 1. llvm's configure script detects that 'futimens' is not usable. 2. llvm's configure script detects that 'futimens' is not usable, because xcrun sets SDKROOT=/ when calling clang. a. When the SDKROOT variable is set, clang passes '-syslibroot /usr/lib' to ld. b. When ld gets '-syslibroot /usr/lib', ld looks in '/usr/lib' for a library that contains 'futimens' in the OS itself, and since we're on Sierra, that fails to link. c. So when llvm's configure script creates a test program that checks if 'futimens' is present, the program fails. This is correct, and makes llvm *not* use futimens. 3. xcrun sets SDKROOT=/ because /usr/share/current-os.sdk/Info.plist exists. If that file does not exist, then xcrun sets SDKROOT to Xcode9's macOS SDK (because that's what xcode-select reports). a. When SDKROOT is set to Xcode9's macOS SDK, the configure check for 'futimens' succeeds, because the macOS 10.13 SDK contains that function. b. llvm happily uses 'futimens', and then the final link fails because we're using a symbol not available on all target platforms. * [arkit] Update for Xcode 9 beta 5 - Part 1 (#2460) * [tests] The container app for watchOS tests should be 64-bit. (#2463) * [xharness] watchOS tests need to run in a clean environment. Works around #58348. (#2462) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [xharness] It watchOS tests don't need to be clean anymore. Fixes #58348. (#2473) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [uikit] UIView/UIScrollView/UIViewController up to Xcode 9 beta 5 (#2431) - Add NSDirectionalEdgeInsets type. - Includes DirectionalEdgeInsetsTest. * [AudioToolbox] Update bindings to Xcode 9 beta3 (not later changes). (#2294) * [xharness] Add a file existence check. (#2478) Fixes this exception: ``` Harness exception for 'introspection': System.IO.FileNotFoundException: Could not find file '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log'. File name: '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log' at System.IO.__Error.WinIOError (System.Int32 errorCode, System.String maybeFullPath) [0x00207] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/__error.cs:188 at System.IO.FileInfo.get_Length () [0x00038] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/fileinfo.cs:171 at xharness.CaptureLog.StopCapture () [0x00021] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Log.cs:252 at (wrapper remoting-invoke-with-check) xharness.CaptureLog:StopCapture () at xharness.AppRunner+<RunAsync>d__68.MoveNext () [0x0127f] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/AppRunner.cs:642 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter`1[TResult].GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:357 at xharness.RunSimulatorTask+<RunTestAsync>d__7.MoveNext () [0x0029d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2894 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.RunTestTask+<ExecuteAsync>d__8.MoveNext () [0x0010b] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2538 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.TestTask+<RunInternalAsync>d__87.MoveNext () [0x0010d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:1870 ``` I'm not sure how this can happen, but it has on the bots [1]. [1] https://jenkins.mono-project.com/job/xamarin-macios-pr-builder/4548/Test_Report/ * Bump versions for preview 5 (#2479) * [passkit] Update to beta 5 (#2481) * [tests] Remove workaround for radar #32688391. (#2486) * [replaykit] Update up to beta 5 (#2484) * Bump maccore to get fix for bug #55064. (#2487) * [apidiff] Update definition to new 10.12 (d15-3) stable release (#2490) * [SceneKit] basic work (#2483) * [coredata] Update to beta 5 (#2488) * [homekit] Update for Xcode 9 beta 5 (#2492) * [Foundation] Update for xcode9 (#2468) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 (#2493) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 * [Intents] Implement feedback * [Intents] Add a generic version for INInteraction.GetParameterValue * [Intents] Missing check * [Contacts] Add missing foundation NSItemProviderWriting protocol to CNContact (#2496) https://bugzilla.xamarin.com/show_bug.cgi?id=58203 This is available on all Contacts supported platforms ``` ./iPhoneOS.platform/Developer/SDKs/iPhoneOS11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchOS.platform/Developer/SDKs/WatchOS4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchSimulator.platform/Developer/SDKs/WatchSimulator4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ``` * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) (#2497) * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) * [IntentsUI] Better use a delegate instead so we have named params * Bump versions before 6th preview (#2514) * [arkit] Add missing MarshalDirective to ARPlaneAnchor (#2517) - Fixes bug #58648: ARPlaneAnchor.Extent property seems incorrect but changes to correct value after Debug access (https://bugzilla.xamarin.com/show_bug.cgi?id=58648) * [xtro-sharpie] Fix a compiler warning. (#2516) Fixes these warnings: Runner.cs(197,5): warning CS0642: Possible mistaken empty statement Runner.cs(199,5): warning CS0642: Possible mistaken empty statement Runner.cs(201,5): warning CS0642: Possible mistaken empty statement Runner.cs(203,5): warning CS0642: Possible mistaken empty statement Runner.cs(205,5): warning CS0642: Possible mistaken empty statement * [uikit] Update for Xcode 9 beta 5 - Part 3 (#2511) - UIKeyCommand - UINavigationBar - UINavigationItem - UIPasteboard - UITableViewHeaderFooterView * [xtro-sharpie] Remove xtro-plugin and misc other fixes. (#2522) * [xtro-sharpie] Build with msbuild and be as quiet as requested when building. * [xtro-sharpie] Must run as a 64-bit process, since the required native libraries are 64-bit. * [xtro-sharpie] Add run configurations to the project file to ease debugging in the IDE. * [xtro-sharpie] Remove xtro-plugin and the related commands. This was needed when there wasn't a 64-bit mono, in order to run xtro-sharpie in a 64-bit process. Now there is a 64-bit mono, so it's not needed anymore. Also improve makefile targets a bit, to auto-build stuff when needed, by setting the right dependencies. * Bump Xcode 9 to beta 6 (#2519) Disable watchOS tests again It seems like the Carousel crash from beta 4 is back to haunt us. This was working fine with beta 5. * Backport d15-3 SR2 fixes (#2515) * [coredata] Update to beta 6 (#2528) This seems to only revert some nullability changes from beta 5. * [coreml] Update to beta 6 (#2531) Fix our rdar 33643011 where additional setters were added in the headers but did not exists. * [videosubscriberaccount] Update to beta 6 (#2533) Only b1 and b2 introduced some additions/changes * [uikit] Update for Xcode 9 beta 6 - Part 4 (#2527) The following headers are now up to date: - UICollectionViewFlowLayout.h - UIDocumentPickerViewController.h - UIFontDescriptor.h - UIImage.h - UIImageView.h - UIImagePickerController.h * [xharness] Re-enable the watchOS tests. (#2534) It works fine for me locally, so let's see what Jenkins says. * [macos] Add new APIs in CoreWlan from Xcode9b3 (#2525) * Update AppKit bindings based on radar 33271241 results (#2518) * Update AppKit bindings based on radar 33271241 results - The header comment was updated to note it was NSSliderTouchBarItem view that has the protocol * Remove NSUserInterfaceCompression where not listed in header * [vision] Update to beta 6 (#2532) Removal of some deprecated (during beta) `init*` selectors. Also sync the versions that were inlined in subclasses - the old ones were not removed and the new ones were not added. * [xtro-sharpie] Many methods don't have selectors in Clang's API, so default to the name if no selector. (#2523) This makes a few more unclassified entries show up (mostly missing designated initializers): https://gist.github.com/rolfbjarne/07aa20f9b50b75bf3e69ac6a825e873a * [macos] Add ExternalAccessory APIs from xcode9 (#2526) * [58851] Disable NSMenuView in AllItemsWithNSMenuShouldAllowNull (#2504) * [arkit] Update for Xcode 9 beta 5 - Part 2 (#2505) - Add last missing selector. - Add tests for manual code. * [monotouch-test] Disable FontDescriptorTest.WithFeature (#2537) Disabled because it looks like the tvOS font we use: "Gujarati Sangam MN" does not have rare ligatures anymore (and the entire test is based on it). Before getting an actual fix for that, let's disable the test so it doesn't break all current builds. See: https://bugzilla.xamarin.com/show_bug.cgi?id=58929 * [xtro-sharpie] Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute. (#2524) Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute to calculate the native name for a TypeDefinition. Unclassified changes: https://gist.github.com/rolfbjarne/828f8ee41eebb0a3b60a38d71822fe59 * [foundation/uikit] Inline NSItemProvider_UIKitAdditions in NSItemProvider (#2538) As suggested here: https://github.com/xamarin/xamarin-macios/pull/2527#discussion_r134670981 * [intents] Fix breaking changes (api-diff) (#2543) Additions of @required members inside `INSpeakable` cannot be `[Abstract]` * [contacts] Fix breaking change (api-diff) (#2542) Type Changed: Contacts.CNPostalAddress Removed method: public static string LocalizeProperty (CNPostalAddressKeyOption option); * [macos] Reenable static registrar since Xcode9b6 un-broke SDK headers (#2544) - Fix a subtle spacing issues in PartialStaticLibrary property * [corebluetooth] Update up to beta 6 and enable it on watchOS (#2540) macOS 10.13 has finally catch up with iOS and this simplifies the bindings a bit. * [foundation] API fixes (apidiff) (#2545) 1. Let's not add new, already [Obsolete] API Type Changed: Foundation.NSDimension Added constructors: [Obsolete ("Not intended to be directly instantiated, this is an abstract class.")] public NSDimension (); 2. Fix inconsistently named API, e.g. Type Changed: Foundation.NSAttributedString Added properties: public static string[] ReadableTypeIdentifiersForItemProvider { get; } public static string[] WritableTypeIdentifiers { get; } * [pdfkit] Do not add already [Obsolete] API in new profiles (#2547) and ensure using the newer, correct API works cross-platforms iOS (before) [Obsolete ("Use 'Find (string, NSStringCompareOptions)' instead.")] public virtual PdfSelection[] Find (string text, nint options); public PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'Find (string, PdfSelection, NSStringCompareOptions)' instead.")] public virtual PdfSelection Find (string text, PdfSelection selection, nint options); public void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string, NSStringCompareOptions)' instead.")] public virtual void FindAsync (string text, nint options); public void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string [], NSStringCompareOptions)' instead.")] public virtual void FindAsync (string[] text, nint options); iOS (after) public virtual PdfSelection[] Find (string text, Foundation.NSStringCompareOptions compareOptions); public virtual PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); * Bump versions for the 7th preview (#2541) * Remove additions of AVKit removed in beta5 (#2536) * NSUrlSessionTask should implement NSProgressReporting for iOS (#2548) NSUrlSessionTask implements NSProgressReporting on iOS as well as Mac, so the #if MONOMAC isn't needed. * Add missing availability attributes causing failures on older iOS versions (#2550) * [vision] Minor fix wrt xtro (#2551) including some things we need to ignore manually !missing-field! VNVisionVersionNumber not bound !missing-pinvoke! VNImagePointForFaceLandmarkPoint is not bound !missing-pinvoke! VNNormalizedFaceBoundingBoxPointForLandmarkPoint is not bound * [uikit] NSFileProviderMessaging was removed in beta 2. Fixes #58222 (#2552) reference: https://bugzilla.xamarin.com/show_bug.cgi?id=58222 * [uikit] Update for Xcode 9 - Part 5 (#2546) Bindings for the following headers: - UIActivity.h - UIActivityItemProvider.h - UIAlertController.h - UIApplication.h - UIBarButtonItem.h - UIButton.h - UICollectionViewLayout.h - UIColor.h - UIControl.h - UIDocumentMenuViewController.h - UIFontMetrics.h - UIGestureRecognizer.h - UIGraphicsImageRenderer.h - UIInputViewController.h * [CoreText] Fix an extraneous free in CTFont.GetDefaultCascadeList. (#2555) We do not own the return value from CFArrayGetValueAtIndex, so don't say we do when creating CTFontDescriptor instances, since that leads to angry dragons: 2017-08-28 20:15:20.293 monotouchtest[33186:2311738] A_FontTest 2017-08-28 20:15:20.294 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithFontDescriptorAndOptions 2017-08-28 20:15:20.295 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithNameAndOptions 2017-08-28 20:15:20.296 monotouchtest[33186:2311738] critical: Stacktrace: at <unknown> <0xffffffff> at (wrapper managed-to-native) CoreText.CTFont.CTFontCopyDefaultCascadeListForLanguages (intptr,intptr) [0x0000a] in <ae65a2b1eea242d2b68fe784749543bf>:0 at CoreText.CTFont.GetDefaultCascadeList (string[]) [0x00013] in /work/maccore/xcode9/xamarin-macios/src/CoreText/CTFont.cs:2185 at MonoTouchFixtures.CoreText.A_FontTest.GetCascadeList () [0x0001e] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/CoreText/FontTest.cs:78 at (wrapper runtime-invoke) object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) [0x0004f] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) System.Reflection.MonoMethod.InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&) [0x00016] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at System.Reflection.MonoMethod.Invoke (object,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo) [0x00032] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/corlib/System.Reflection/MonoMethod.cs:305 at System.Reflection.MethodBase.Invoke (object,object[]) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/referencesource/mscorlib/system/reflection/methodbase.cs:229 at NUnit.Framework.Internal.Reflect.InvokeMethod (System.Reflection.MethodInfo,object,object[]) [0x00009] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Reflect.cs:215 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunNonAsyncTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x00025] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:116 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x0001a] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:90 at NUnit.Framework.Internal.Commands.TestMethodCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:66 at NUnit.Framework.Internal.Commands.SetUpTearDownCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00007] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/SetUpTearDownCommand.cs:84 at NUnit.Framework.Internal.WorkItems.SimpleWorkItem.PerformWork () [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/SimpleWorkItem.cs:64 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at MonoTouch.NUnit.UI.BaseTouchRunner.Run (NUnit.Framework.Internal.Test) [0x0004d] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:442 at MonoTouch.NUnit.UI.BaseTouchRunner.Run () [0x00030] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:171 at MonoTouch.Dialog.StringElement.Selected (MonoTouch.Dialog.DialogViewController,UIKit.UITableView,Foundation.NSIndexPath) [0x00008] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/Elements.cs:765 at MonoTouch.Dialog.DialogViewController.Selected (Foundation.NSIndexPath) [0x00026] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:577 at MonoTouch.Dialog.DialogViewController/Source.RowSelected (UIKit.UITableView,Foundation.NSIndexPath) [0x00016] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:402 at (wrapper runtime-invoke) <Module>.runtime_invoke_void__this___object_object (object,intptr,intptr,intptr) [0x0005d] in <32f0c196c5bc4aa18daea2ee64a7814e>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) UIKit.UIApplication.UIApplicationMain (int,string[],intptr,intptr) [0x0005c] in <ae65a2b1eea242d2b68fe784749543bf>:0 at UIKit.UIApplication.Main (string[],intptr,intptr) [0x00005] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:79 at UIKit.UIApplication.Main (string[],string,string) [0x00038] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:63 at monotouchtest.Application.Main (string[]) [0x00011] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/Main.cs:27 at (wrapper runtime-invoke) <Module>.runtime_invoke_void_object (object,intptr,intptr,intptr) [0x00051] in <30a7f7e09de9467b8b454221034a0e38>:0 Native stacktrace: 0 monotouchtest 0x000000010fca03c4 mono_handle_native_crash + 244 1 monotouchtest 0x000000010fcadd30 mono_sigsegv_signal_handler + 288 2 libsystem_platform.dylib 0x000000011feb3b3a _sigtramp + 26 3 CoreFoundation 0x000000011de035a2 computeSanitizedString + 146 4 CoreText 0x00000001168df314 _ZN15TPurgeableCache19RetainedValueForKeyEPKv + 54 5 CoreText 0x00000001168def85 _ZNK17TDescriptorSource22CopyDescriptorUncachedEPK7__CFURLbPK10__CFString + 55 6 CoreText 0x00000001168df34f _ZNK17TDescriptorSource14CopyDescriptorEPK7__CFURLbPK10__CFString + 27 7 CoreText 0x00000001168e20ad _ZNK17TDescriptorSource35CopyFontDescriptorPerPostScriptNameEPK10__CFStringmm + 297 8 CoreText 0x00000001168dfd9e _ZNK17TDescriptorSource30CopySystemFontDescriptorByNameEPK10__CFString10UIFontFlag + 54 9 CoreText 0x00000001168e54c4 _ZNK14TFontFallbacks17CopyFontFallbacksEPK10__CFStringS2_PK9__CFArray + 652 10 CoreText 0x00000001168e4a00 _ZNK14TFontFallbacks29CopyFontFallbacksForLanguagesEPK10__CFStringPK9__CFArray + 122 11 CoreText 0x00000001168e4971 _ZN17TDescriptorSource39CopyDefaultSubstitutionListForLanguagesEPK10__CFStringPK9__CFArray + 61 12 CoreText 0x00000001169397a7 _ZNK9TBaseFont28CreateSystemDefaultFallbacksEPK10__CFStringPK9__CFArray + 51 13 CoreText 0x000000011693999c _ZNK9TBaseFont15CreateFallbacksE10UIFontFlagPPK16__CFCharacterSetPK9__CFArray + 346 14 CoreText 0x00000001168c1036 _ZNK5TFont24CreateDefaultCascadeListEPK9__CFArray + 242 15 CoreText 0x00000001168b8ff9 CTFontCopyDefaultCascadeListForLanguages + 97 16 ??? 0x0000000140eaefd3 0x0 + 5384105939 17 ??? 0x0000000140eae761 0x0 + 5384103777 18 ??? 0x000000013c9c8e74 0x0 + 5311860340 19 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 20 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 21 monotouchtest 0x000000010fd71bac mono_runtime_try_invoke_array + 1292 22 monotouchtest 0x000000010fd15587 ves_icall_InternalInvoke + 647 23 ??? 0x000000013e9fcd13 0x0 + 5345627411 24 ??? 0x000000013e9fc738 0x0 + 5345625912 25 ??? 0x000000013e9fded5 0x0 + 5345631957 26 ??? 0x000000013e9fbb76 0x0 + 5345622902 27 ??? 0x000000013e9e237e 0x0 + 5345518462 28 ??? 0x000000013e9e237e 0x0 + 5345518462 29 ??? 0x000000013e9e237e 0x0 + 5345518462 30 ??? 0x000000013e9e237e 0x0 + 5345518462 31 ??? 0x000000013e873006 0x0 + 5344014342 32 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 33 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 34 monotouchtest 0x000000010fd6e320 mono_runtime_invoke + 208 35 monotouchtest 0x000000010fe71af1 xamarin_invoke_trampoline + 5617 36 monotouchtest 0x000000010fe79ddd xamarin_arch_trampoline + 189 37 monotouchtest 0x000000010fe7b1a1 xamarin_x86_64_common_trampoline + 110 38 UIKit 0x0000000111b9876b -[UITableView _selectRowAtIndexPath:animated:scrollPosition:notifyDelegate:] + 1810 39 UIKit 0x0000000111b98986 -[UITableView _userSelectRowAtPendingSelectionIndexPath:] + 344 40 UIKit 0x0000000111a6b5c9 _runAfterCACommitDeferredBlocks + 318 41 UIKit 0x0000000111a59dad _cleanUpAfterCAFlushAndRunDeferredBlocks + 280 42 UIKit 0x0000000111a89f68 _afterCACommitHandler + 137 43 CoreFoundation 0x000000011de3ddb7 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23 44 CoreFoundation 0x000000011de3dd0e __CFRunLoopDoObservers + 430 45 CoreFoundation 0x000000011de22324 __CFRunLoopRun + 1572 46 CoreFoundation 0x000000011de21a89 CFRunLoopRunSpecific + 409 47 GraphicsServices 0x0000000121b7e9c6 GSEventRunModal + 62 48 UIKit 0x0000000111a5f7d0 UIApplicationMain + 159 49 ??? 0x000000013c9c4474 0x0 + 5311841396 50 ??? 0x000000013c9c40ad 0x0 + 5311840429 ================================================================= Got a SIGSEGV while executing native code. This usually indicates a fatal error in the mono runtime or one of the native libraries used by your application. ================================================================= * [monotouch-test] Don't subclass MKMapView. (#2556) MKMapView doesn't like being subclassed (Apple says "you should not subclass the MKMapView class itself"). Bad things like this starts happening: Thread 0 name: tid_303 Dispatch queue: com.apple.main-thread Thread 0 Crashed: 0 libsystem_kernel.dylib 0x0000000186b25348 __pthread_kill + 8 1 libsystem_pthread.dylib 0x0000000186c39354 pthread_kill$VARIANT$mp + 396 2 libsystem_c.dylib 0x0000000186a94fd8 abort + 140 3 monotouchtest 0x0000000101c02c14 mono_handle_native_crash + 22047764 (mini-exceptions.c:2548) 4 monotouchtest 0x0000000101c0d02c mono_sigsegv_signal_handler + 22089772 (mini-runtime.c:2886) 5 libsystem_platform.dylib 0x0000000186c33b60 _sigtramp + 52 6 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 7 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 8 CoreFoundation 0x0000000186eda51c -[__NSArrayM dealloc] + 68 9 CoreFoundation 0x000000018703f5c8 __CFBasicHashDrain + 312 10 CoreFoundation 0x0000000186fb5b44 _CFRelease + 224 11 CoreText 0x000000018a808404 TDescriptorSource::PurgeFontFallbacksCache+ 488452 () + 92 12 CoreText 0x000000018a808374 TDescriptorSource::PurgeFromCaches+ 488308 (__CFURL const*) const + 176 13 CoreText 0x000000018a7eec74 CTFontRemoveFromCaches + 168 14 VectorKit 0x0000000196a539b0 +[VKSharedResourcesManager removeResourceUser:] + 324 15 VectorKit 0x0000000196ca27a4 md::MapEngine::~MapEngine+ 2643876 () + 360 16 VectorKit 0x0000000196ca2634 md::MapEngine::~MapEngine+ 2643508 () + 12 17 libobjc.A.dylib 0x000000018651eef4 object_cxxDestructFromClass+ 28404 (objc_object*, objc_class*) + 148 18 libobjc.A.dylib 0x000000018652c638 objc_destructInstance + 88 19 libobjc.A.dylib 0x000000018652c690 object_dispose + 16 20 QuartzCore 0x000000018afca3ac -[CALayer dealloc] + 116 21 VectorKit 0x0000000196a43294 -[VKMapView dealloc] + 940 22 QuartzCore 0x000000018af6aafc CA::release_objects+ 744188 (X::List<void const*>*) + 32 23 QuartzCore 0x000000018afd97d8 CA::Layer::~Layer+ 1198040 () + 276 24 QuartzCore 0x000000018afca37c -[CALayer dealloc] + 68 25 QuartzCore 0x000000018af6b16c CA::Transaction::commit+ 745836 () + 1052 26 UIKit 0x0000000190393290 _afterCACommitHandler + 256 27 CoreFoundation 0x0000000186fb38b8 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 32 28 CoreFoundation 0x0000000186fb1270 __CFRunLoopDoObservers + 412 29 CoreFoundation 0x0000000186fb182c __CFRunLoopRun + 1292 30 CoreFoundation 0x0000000186ed22d8 CFRunLoopRunSpecific + 436 31 GraphicsServices 0x0000000188d58f84 GSEventRunModal + 100 32 UIKit 0x000000019040427c UIApplicationMain + 208 33 monotouchtest 0x000000010106eb90 wrapper_managed_to_native_UIKit_UIApplication_UIApplicationMain_int_string___intptr_intptr + 9907088 (/<unknown>:1) 34 monotouchtest 0x0000000100f0d6ac UIKit_UIApplication_Main_string___intptr_intptr + 8459948 (UIApplication.cs:79) 35 monotouchtest 0x0000000100f0d66c UIKit_UIApplication_Main_string___string_string + 8459884 (UIApplication.cs:63) 36 monotouchtest 0x0000000100b10450 monotouchtest_Application_Main_string__ + 4277328 (Main.cs:27) 37 monotouchtest 0x0000000100e0c244 wrapper_runtime_invoke_object_runtime_invoke_dynamic_intptr_intptr_intptr_intptr + 244 38 monotouchtest 0x0000000101c10048 mono_jit_runtime_invoke + 22102088 (mini-runtime.c:2526) 39 monotouchtest 0x0000000101c75eec do_runtime_invoke + 22519532 (object.c:2829) 40 monotouchtest 0x0000000101c78a3c do_exec_main_checked + 22530620 (object.c:4623) 41 monotouchtest 0x0000000101bf9a1c mono_jit_exec + 22010396 (driver.g.c:1040) 42 monotouchtest 0x0000000101d13d60 xamarin_main + 23166304 (monotouch-main.m:482) 43 monotouchtest 0x00000001007de710 main + 927504 (main.m:67) 44 libdyld.dylib 0x00000001869f656c start + 4 * [introspection] Let SkipDueToAttributeInProperty skip setters too (#2557) `SkipDueToAttributeInProperty` which is used to check the availability attribute of properties when the Availability info only exist on the property and not on the property Getter or Setter was wrong. This lead to `setSpringLoaded` (which was introduced in iOS 11) to not be ignored by the test (making it fail). - Fix bug #59085: [introspection-ios] selector not found for UIKit.UIBarButtonItem : setSpringLoaded: - Broken test (https://bugzilla.xamarin.com/show_bug.cgi?id=59085) * [corevideo][watchos] Enable CoreVideo on watchOS (#2553) * [storekit] Fix CampaignToken typo (#2559) (#2560) - Fixes bug #59078: StoreProductParameters and invalid property for CampaignToken (https://bugzilla.xamarin.com/show_bug.cgi?id=59078) * [coreml][watchos] Enable API using CoreVideo on watchOS. Fix #58097 (#2561) https://bugzilla.xamarin.com/show_bug.cgi?id=58097 * Add missing [MarshalDirective] attributes. (#2558) * [bindings-generator] Improve build & project file. * Add missing [MarshalDirective] attributes. Add missing [MarshalDirective] attributes, which also requires implementing support for out parameters in the binding generator, since one of the signatures missing the [MarshalDirective] contains such an out parameter. Also add tests for all the API I've added [MarshalDirective] to. * [bindings-generator] Remove redundant if check. * [monotouch-test] Rename file to end with 'Test.cs'. * [tests] Fix a few build errors for Xamarin.Mac. * [uikit] Fix UIColor and UIInputViewController tvOS availability (#2569) - Fixes introspection tests on tvOS 10. * [storekit] Fix SKCloudServiceSetupMessageIdentifier and SKProductStorePromotionController tvOS availability (#2568) - Fixes introspection tests on tvOS 10. * [mapkit] Fix MKMapItemTypeIdentifier tvOS availability (#2566) - Also remove double [Mac] availability attribute. - Fixes introspection tests on tvOS 10. * [ARKit] Fix marshalling for ARPointCloud.RawFeaturePoints. (#2565) ARPointCloud.RawFeaturePoints is an array of Vector3, but each vector is 16-byte aligned (as if it were an array of Vector4). This means we need to account for this when creating a managed array from pointer to the native C-style array. * [ModelIO] Fix MDLVoxelIndexExtent struct. (#2564) The MDLVoxelIndexExtent is a struct containing two 4-dimensional vectors of integers (not floats, as originally and incorrectly implemented). Fix this my creating a new MDLVoxelIndexExtent2 struct with the right fields, re-implement all the API that exposes this struct and obsolete the old API. Also add missing [MarshalDirective] attributes. And write a test to make sure it works fine now and forever. * [coredata] Enable new fields since rdar #33878590 is fixed w/beta 6 (#2570) reference: https://trello.com/c/dlSRYPFx * [xtro-sharpie] Add a Simd check class to verify signatures with Simd types. * [Simd] Add simd matrix types. The OpenTK matrices (Matrix2/3/4) has a different memory layout than Apple's matrix_float2x2/matrix_float3x3/matrix_float4x4 matrices: the OpenTK versions are row-major, while Apple's versions are column-major. This means that when blitting memory from one to the other, the matrix will appear to have been transposed. See bug #[58599][2] for an example. Unfortunately we've already bound several API with Apple's matrix_floatXxX matrices using OpenTK's matrices, and although they're bound wrong, and the matrices appear transposed on input/output, we can't change the behavior because we have to maintain compatibility. This means we have to introduce new API, and then also just define new matrix types with the right memory layout (column-major). Additionally, in the future we might be able to mark these matrices as Simd-matrixes, so that the JIT/AOT compiler can generate the correct alignment for them, avoiding having to define a native conversion method (using the [MarshalDirective] hack). The matrices have been designed to match API-wise the matrices in the System.Numerics.Vectors namespace [1], but for the moment with only a few basic operations implemented (Determinant/Transpose/Multiply) defined (we can always add more later if we want to). In addition explicit conversion operators to and from the corresponding OpenTK.MatrixX are implemented, which means any operation defined in the OpenTK matrices can be used by converting back and forth. [1]: https://msdn.microsoft.com/en-us/library/system.numerics.matrix4x4(v=vs.111).aspx [2]: https://bugzilla.xamarin.com/show_bug.cgi?id=58599 * [ARKit] Use the new Simd matrix types. * [Vision] Use the new Simd matrix types. * [ModelIO] Use the new Simd-compatible matrix types, and deprecate the old API. * [GameplayKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [SpriteKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [xtro] Don't report missing [MarshalDirective] for obsolete methods. * [xtro] Remove unnecessary ignores. The implementation changed, and these stayed accidentally. * [wkwebkit] Fix (native) protocol names (#2572) Also ignore xtro's WKSnapshotConfiguration since it's an Apple bug 34185961 reference (xtro) !missing-protocol! WKURLSchemeHandler not bound !missing-protocol! WKURLSchemeTask not bound !unknown-protocol! WKUrlSchemeHandler bound !unknown-protocol! WKUrlSchemeTask bound !unknown-type! WKSnapshotConfiguration bound * [uikit] Fix enums availability attributes (#2575) - Fixes bug #59132: [uikit] Extra types in watchOS (https://bugzilla.xamarin.com/show_bug.cgi?id=59132) * [watchkit] Add missing designated initializers (#2574) references (xtro) !missing-designated-initializer! WKInterfaceController::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! WKUserNotificationInterfaceController::init is missing an [DesignatedInitializer] attribute * [xtro] Reword some of the Simd diagnostic messages according to review. * [tests] Make sure test symbols don't clash between different test libraries. Fixes this build problem for framework-test: clang: error: linker command failed with exit code 1 (use -v to see invocation) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_get_rotation_matrix'. MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticObjectTest.framework/XStaticObjectTest (Location related to previous error) MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticArTest.framework/XStaticArTest(libtest-ar.x86_64.o) (Location related to previous error) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransformcomponent_get_local_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_create_global_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float4x4'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float3x3'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float2x2'. MTOUCH: error MT5209: Native linking error: 6 duplicate symbols for architecture x86_64 MTOUCH: error MT5202: Native linking failed. Please review the build log. * [tests] Since libtest.a need ModelIO now, the corresponding LinkWith attributes need to state that too. * [introspection] Don't check native signatures on obsolete members, and ignore the right simd matrix types. Fixes this introspection/Mac problem: ***** ApiSignatureTest.NativeSignatures Selector: uniformWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: uniformWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: uniformWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: setMatrixFloat2x2Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: setMatrixFloat3x3Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: setMatrixFloat4x4Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: initWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: initWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: initWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded * [monotouch-tests] Include more custom asserts for watchOS to make the build work. Fixes this: Simd/MatrixFloat4x4Test.cs(28,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(29,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(37,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(48,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' [...] * [monotouch-test] Exclude code that requires the binding project from xammac tests. Exclude code that requires the test binding project from xammac tests because there's currently no XM version of the test binding project. Fixes this: tests/monotouch-test/SpriteKit/UniformTest.cs(20,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLMaterialProperty.cs(37,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLTransform.cs(34,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) * Bump version for preview #8 (#2576) * [spritekit] Audit fixes (xtro) (#2577) 1. SKVideoNode is now, partially, available on watchOS and does not require the extra, manual code to swicth selectors depending on the OS version being run. !missing-type! SKVideoNode not bound !missing-selector! SKVideoNode::anchorPoint not bound !missing-selector! SKVideoNode::initWithCoder: not bound !missing-selector! SKVideoNode::initWithFileNamed: not bound !missing-selector! SKVideoNode::initWithURL: not bound !missing-selector! SKVideoNode::setAnchorPoint: not bound !missing-selector! SKVideoNode::setSize: not bound !missing-selector! SKVideoNode::size not bound !missing-selector! +SKVideoNode::videoNodeWithFileNamed: not bound !missing-selector! +SKVideoNode::videoNodeWithURL: not bound 2. SKNodeFocusBehavior is exposed needlessly on watchOS because SpriteKit/Enums.cs was not processed by the generator, so [NoWatch] did not matter. !unknown-native-enum! SKNodeFocusBehavior bound It's also visible on macOS but nothing uses it (so we do not expose it needlessly) !missing-enum! SKNodeFocusBehavior not bound 3. Add missing designated initializer on default `init` !missing-designated-initializer! SKAttributeValue::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! SKNode::init is missing an [DesignatedInitializer] attribute 4. Remove inconsistency for SKNode subclasses wrt XAMCORE_4_0 The trio attributeValues, setAttributeValues and setValue:forAttributeNamed: that was moved from SKNode (deprecated) into its subclasses. This was done using XAMCORE_4_0 but not on every subclasses. This adds them everywhere to be consistent (only SKNode versions are not defined in XAMCORE_4_0) !missing-selector! SKEffectNode::attributeValues not bound !missing-selector! SKEffectNode::setAttributeValues: not bound !missing-selector! SKEffectNode::setValue:forAttributeNamed: not bound !missing-selector! SKEffectNode::valueForAttributeNamed: not bound !missing-selector! SKEmitterNode::attributeValues not bound !missing-selector! SKEmitterNode::setAttributeValues: not bound !missing-selector! SKEmitterNode::setValue:forAttributeNamed: not bound !missing-selector! SKEmitterNode::valueForAttributeNamed: not bound !missing-selector! SKSpriteNode::attributeValues not bound !missing-selector! SKSpriteNode::setAttributeValues: not bound !missing-selector! SKSpriteNode::setValue:forAttributeNamed: not bound !missing-selector! SKSpriteNode::valueForAttributeNamed: not bound * [introspection] Make sure '[FAIL]' is printed before every failure. (#2578) This makes xharness able to list the failures in the inline summary. * [xtro] Reword some of the Simd diagnostic messages according to review. * [xharness] Add a missing IsServerMode check to generate correct html. (#2581) * [SpriteKit] SKTransformNode is new in Xcode 9 so no need to keep the broken (and obsolete) non-simd version of RotationMatrix. * [intents] Fix some (partial) xtro issues and #59156 (#2585) reference https://bugzilla.xamarin.com/show_bug.cgi?id=59156 Remaining issues are filled in https://bugzilla.xamarin.com/show_bug.cgi?id=59183 !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound * [Intents] Confirm* interface methods should be bound as Confirm, Fixes Bug 59164 (#2591) * [Intents] Confirm* interface methods should probably be bound as Confirm, Fixes Bug 59164 https://bugzilla.xamarin.com/show_bug.cgi?id=59164 All Confirm* methods from *IntentHandling interfaces should be named just `Confirm` to avoid confusion because most of them do not directly confirm as an acion, but instead they **ask** for confirmation also we would follow swift's naming by doing this. * [Intents] XAMCORE_4_0 all Confirm* methods from *IntentHandling Turns any Confirm* into just Confirm inside a XAMCORE_4_0 block, * [Intents] Fix breaking changes in Intents added in Xcode 9 Bindings (#2590) Apple added more protocol conformances to INRidesharingDomainHandling and INPaymentsDomainHandling protocols in Xcode 9, I introduced these breaking changes back when I did intents binding so fixing them :) * [Metal] New bindings from Xcode 9 betas (#2457) * [AVFoundation] Updated bindings for xcode9. (#2272) * [Xcode9] Add IOSurface bindings (#2363) * This framework was a private framework before iOS 11. This framework was a private framework before iOS 11, yet the headers claim many API were introduced in iOS 10. So take account of this difference by using the private framework location in iOS 10.3 or earlier. Testing these API from Xcode works fine when run on an iOS 10.3 device, and I've confirmed the IOSurface framework is loaded from the private frameworks path on older devices (and when built using Xcode 9 and linked with the public framework path). * Disable code to make IOSurface work on iOS 10. Disable the code to make IOSurface work on iOS 10, since it may be rejected by the App Store. This also means adjusting the availability attributes, so that the introspection tests pass (and to document that technically these API won't work when used with Xamarin.iOS in iOS 10). I've filed bug #[59201][1] to keep track of this, maybe we can re-enable this later. [1]: https://bugzilla.xamarin.com/show_bug.cgi?id=59201 * [CoreMedia] Fix leak in CMAttachmentBearer.GetAttachments. (#2593) The caller owns the return value from CMCopyDictionaryOfAttachments, so tell Runtime.GetNSObject that. * [Intents] Adds missing API found by xtro, fixes Bug 59183 (#2596) https://bugzilla.xamarin.com/show_bug.cgi?id=59183 Fixes !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !incorrect-protocol-member! INUIHostedViewControlling::configureWithInteraction:context:completion: is OPTIONAL and should NOT be abstract * [xtro] Fix StartWorkingDirectory to enable debugging (#2598) * [iosurface] Enable for tvOS and XM classic (to avoid multiple defines around consumer API) (#2597) * [xtro] Fix EnumCheck (#2600) * [ARKit] Rename a few method to make them nicer. (#2604) * DisplayTransform -> GetDisplayTransform since methods should have verbs. * SessionWasInterrupted -> WasInterrupted and SessionInterruptionEnded -> InterruptionEnded since these names match better with the other names (CameraDidChangeTrackingState / DidFail / DidOutputAudioSampleBuffer: none are prefixed with 'Session'). Additionally, the type is a Model (for the delegate pattern), which means all methods are more-or-less event-like, and the first argument is always the same (the protocol itself), which is another indicator the methods should be named similarly. * [Foundation] Remove 'Key' suffix from some fields. (#2606) Of the 168 fields in NSMetadataItem, only these 5 hadn't removed the 'Key' suffix. So make them all equivalent by removing the 'Key' suffix from these 5 fields. * [ImageIO] Fix API to not duplicate the instance in instance methods. (#2609) An instance method does not need to take the instance as a parameter, so remove the first (instance) parameter for CGImageDestination.AddAuxiliaryDataInfo and CGImageSource.CopyAuxiliaryDataInfo. An alternative solution would be to make the methods static, but I like the instance API better. * [UIKit] De-model UIDataSourceTranslating. (#2603) It's not clear from neither the documentation nor the headers how this protocol is supposed to be used, and since it doesn't correspond to the delegate pattern, remove the [Model] attribute for now. We can always add it back later. * [CoreML] Improve API. (#2592) * [CoreML] Improve API. * The indices, shape and stride properties for MLMultiArray and MLMultiArrayConstraint can logically only be arrays of integers, so type them as such. This means adding overloads for MLMultiArray's constructors, GetObject and SetObject methods, and the indexers that takes nint[] arrays instead of NSNumber[] arrays. * Change MLFeatureValue's static factory methods to be a method ('Create') instead of a preposition, and call all the different factory methods the same, since they can be overloaded nicely. * [tests][monotouch-test] Add version check to MLMultiArrayTest and make sure the arrays we create are big enough for the data we put in them. * [tests][monotouch-test] MLMultiArray's elements aren't zero-initialized, so don't assume that in the tests. * Support overloading Objective-C methods based on static/instance. (#2607) Two Objective-C methods can be named identically as long as one is static and the other instance. We must support this since Apple did just this (in the NSItemProviderReading / NSItemProviderWriting protocols). We solve it by prepending a '+' or '-' to the selector when hashing it (to determine selector uniqueness, and to look the method up again at runtime). * [uikit] Update for Xcode 9 - Part 6 (#2602) NSAttributedString.h NSFileProviderExtension.h NSLayoutAnchor.h UIAccessibility.h UIAccessibilityAdditions.h UIAccessibilityContainer.h UIAccessibilityContentSizeCategoryImageAdjusting.h UIAccessibilityCustomRotor.h UIAccessibilityLocationDescriptor.h UITabBar.h UINavigationBar.h UIScreen.h * Xcode9 scenekit (#2512) * [SceneKit] basic work * Added key * [xcode9] SCNCameraController * [xcode9] SCNCamera updates * [xcode9] SCNMaterial * [xcode9] SCNGeometryTessellator, SCNCameraControlConfiguration, SCNView, small bits * Add trailing commas to last enum value * Remove whitespace noise * [scenekit] Update deprecated attributes messages * Addresses some of Rolf's feedback * Drop the WeakDelegate in SCNCameraController * Rename method to Render, remove ctor from class that can not be constructed in Palygrounds, add typo exception * [AppKit] Rename NSBezierPath.AppendBezierPathWithCGGlyph to match its sibling methods. (#2605) NSBezierPath contains a lot of 'AppendPathWithXXX' methods, that all map to 'appendBezierPathXXX' selectors. So rename AppendBezierPathWithCGGlyph accordingly, to make it more similar to the other methods in the same type. * [uikit] Add all UISpringLoadedInteractionSupporting (#2616) Types do not conform to the protocol but protocol methods work on those types (see monotouch-test). Fixed introspection tests accordingly and tested the selectors in monotouch-test. * [Intents] Add convenience ctor overload and call correct base ctor in manual ctor. (#2613) Add a convenience constructor overload in INGetUserCurrentRestaurantReservationBookingsIntent that uses nint instead of NSNumber, since logically "number of results" will always be some sort of integer. Also call the correct base constructor in INSpeakableString's custom constructor (same as any other generated constructor). Otherwise we end up doing something like this: [[[INSpeakableString alloc] init] initWith ...], i.e. calling two different init methods. * [coreimage] Add new headers API up to beta 6 (#2601) Filters are not complete (ref: #57350) https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * Some new constants are not yet documented (type is known), so they are commented / ignored https://bugzilla.xamarin.com/show_bug.cgi?id=59296 * Filled bug for [Wrap] inside [Category] so strong dictionary helpers can be re-enabled later https://bugzilla.xamarin.com/show_bug.cgi?id=59294 * [foundation] xtro fixes for watchOS (#2586) !missing-enum! NSProcessInfoThermalState not bound !missing-field! NSProcessInfoThermalStateDidChangeNotification not bound !missing-selector! NSProcessInfo::thermalState not bound Headers are wrong and preferredPresentationStyle is not in tvOS and watchOS !missing-selector! NSItemProvider::preferredPresentationStyle not bound !missing-selector! NSItemProvider::setPreferredPresentationStyle: not bound * [uikit] Also remove UIPreferredPresentationStyle enum from platform where it's not used * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. (#2614) * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. * NSItemProviderWriting: * NSItemProviderReading: Implement correctly and completely by uncommenting commented out code. * NSMutableString: * NSAttributedString: remove inlined members, since these classes don't implement NSItemProviderReading / NSItemProviderWriting (according to the headers at least). * NSUrl: all platforms now seem to implement NSItemProviderReading / NSItemProviderWriting. * NSString: all platforms now seem to implement both NSItemProviderReading and NSItemProviderWriting * UIColor: * UIImage: Update inlined protocol members according to the latest beta. Additionally, due to the following conditions: * The protocols all have the correct members now. * In the API definition we tell the generator to inline members from a protocol by inheriting from the corresponding interface. * The generator doesn't inline static members from protocols. several 'new' keywords had to be added to silence a compiler warning that occurrs when we manually inline a static member, since the member would be included in the type both from the inherited interface and the manual implementation. * [Foundation] Comment out NSItemProviderWriting.GetItemProviderVisibility to avoid inlining/generating unusable methods. NSItemProviderWriting.GetItemProviderVisibility is an optional method, and none of the native classes that implements NSItemProviderWriting actually imlements the method. This means inlining the method in those classes ends up creating unusable API; so just comment out the method to avoid generating the unusable API. The introspection tests found this: [FAIL] Foundation.NSString : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Foundation.NSUrl : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Contacts.CNContact : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] MapKit.MKMapItem : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIColor : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIImage : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] iOSApiSelectorTest.ApiSelectorTest.StaticMethods : 6 errors found in 2348 static selector validated: See also https://bugzilla.xamarin.com/show_bug.cgi?id=59308 * [iosurface] Add missing [TV] attributes (#2619) * [opengles] Enable the new API using IOSurface (#2618) The symbol only exists inside device libraries, not on simulator, and the introspection tests were updated to ignore it. Part of https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [avfoundation][watchos] Enable AudioBufferList (fix #59145) + audit (xtro) (#2617) 1. AudioBufferList is part of CoreAudio (wrong namespace, which needs a few changes in the generator) and now available in watchOS 4 https://bugzilla.xamarin.com/show_bug.cgi?id=59145 2. Also fixes xtro found issues: !missing-type! AVAudioRecorder not bound !missing-selector! AVAudioRecorder::averagePowerForChannel: not bound !missing-selector! AVAudioRecorder::channelAssignments not bound !missing-selector! AVAudioRecorder::currentTime not bound !missing-selector! AVAudioRecorder::delegate not bound !missing-selector! AVAudioRecorder::deviceCurrentTime not bound !missing-selector! AVAudioRecorder::format not bound !missing-selector! AVAudioRecorder::initWithURL:format:error: not bound !missing-selector! AVAudioRecorder::initWithURL:settings:error: not bound !missing-selector! AVAudioRecorder::isMeteringEnabled not bound !missing-selector! AVAudioRecorder::isRecording not bound !missing-selector! AVAudioRecorder::peakPowerForChannel: not bound !missing-selector! AVAudioRecorder::recordAtTime: not bound !missing-selector! AVAudioRecorder::recordAtTime:forDuration: not bound !missing-selector! AVAudioRecorder::recordForDuration: not bound !missing-selector! AVAudioRecorder::setChannelAssignments: not bound !missing-selector! AVAudioRecorder::setDelegate: not bound !missing-selector! AVAudioRecorder::setMeteringEnabled: not bound !missing-selector! AVAudioRecorder::settings not bound !missing-selector! AVAudioRecorder::url not bound !missing-protocol! AVAudioRecorderDelegate not bound !missing-selector! AVAudioEngine::inputNode not bound !missing-selector! AVAudioEngine::manualRenderingBlock not bound !missing-selector! AVAudioInputNode::setManualRenderingInputPCMFormat:inputBlock: not bound !missing-selector! AVAudioPlayer::format not bound !missing-selector! AVAudioSession::requestRecordPermission: not bound !unknown-field! AVFileType3GPP bound !unknown-field! AVFileType3GPP2 bound !unknown-field! AVFileTypeAC3 bound !unknown-field! AVFileTypeAIFC bound !unknown-field! AVFileTypeAIFF bound !unknown-field! AVFileTypeAMR bound !unknown-field! AVFileTypeAVCI bound !unknown-field! AVFileTypeAppleM4A bound !unknown-field! AVFileTypeAppleM4V bound !unknown-field! AVFileTypeCoreAudioFormat bound !unknown-field! AVFileTypeDNG bound !unknown-field! AVFileTypeEnhancedAC3 bound !unknown-field! AVFileTypeHEIC bound !unknown-field! AVFileTypeHEIF bound !unknown-field! AVFileTypeJPEG bound !unknown-field! AVFileTypeMPEG4 bound !unknown-field! AVFileTypeMPEGLayer3 bound !unknown-field! AVFileTypeQuickTimeMovie bound !unknown-field! AVFileTypeSunAU bound !unknown-field! AVFileTypeTIFF bound !unknown-field! AVFileTypeWAVE bound * [Metal] Implement API using IOSurface now that IOSurface is implemented. Partially fixes #58054. (#2621) https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [PdfKit] Improve PdfAnnotation.QuadrilateralPoints binding by making it strongly typed. (#2620) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). (#2622) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). * [ARKit/Vision] Use the new simd vector types instead of the OpenTK versions. * [ModelIO] Use the new simd vectors in new API (MDLVoxelIndexExtent2). This way we won't have to create a MDLVoxelIndexExtent3 in the future. * [SpriteKit] Use the new simd vectors in new API. * [metal] Audit (xtro) based fixes (#2623) !extra-protocol-member! unexpected selector MTLArgumentEncoder::newArgumentEncoderForBufferAtIndex: found !extra-protocol-member! unexpected selector MTLComputeCommandEncoder::dispatchThreads:threadsPerThreadgroup: found macos-only !missing-field! MTLDeviceRemovalRequestedNotification not bound !missing-field! MTLDeviceWasAddedNotification not bound !missing-field! MTLDeviceWasRemovedNotification not bound !missing-pinvoke! MTLCopyAllDevices is not bound * [CloudKit] Update bindings to beta 6. (#2615) * [FileProvider] Turn NSFileProviderItemIdentifier enum into a static class, fixes bug 59329 (#2634) https://bugzilla.xamarin.com/show_bug.cgi?id=59329 At the time of binding NSFileProviderItemIdentifier it wasn't clear how it was supposed to be used, I mean apple provides two keys which I thought were the only possible values hence binding it as an smart enum. Unfortunately this wasn't the case and the user can use those two values provided from the SDK or their own NSString Identifier. Swift provides a wrapper unfortunately we can't do the same due to NSFileProviderItemIdentifier is used in the NSFileProviderItem protocol and we currently do not support changing signatures on them. * [mtouch] Teach mtouch about the 'IOSurface' framework for tvOS. Fixes #59333. (#2630) https://bugzilla.xamarin.com/show_bug.cgi?id=59333 * Bump Touch.Unit to get fix for API breakage. (#2631) spouliot/Touch.Unit@8f1e19d [NUnitOutputTextWriter] Reintroduce previous constructor to make sure we don't break binary ABI. spouliot/Touch.Unit@00b0c0b [NUnitOutputTextWriter] Don't write invalid xml comments. spouliot/Touch.Unit@de9fe20 [TouchRunner] Restore the original code path when not wrapping NUnit xml output. * [IOSurface] Add missing availability attributes for tvOS. (#2629) * Bump versions for preview 9 (#2624) * [AVFoundation] Add missing interface AVRouteDetector. (#2637) * [tests] Update xtro to reduce list sizes (#2636) * Skip OpenTK duplicate declaration (we can't change them); * Fix rule name change for ARKit / simd; * Add missing default initializer on `init` to pending actions; * Add note for AVPersistableContentKeyRequest changes wrt tvOS; * [ReplayKit] Make RPBroadcastActivityViewController.LoadBroadcastActivityViewController async-capable. (#2639) * [xcode9] More SceneKit bindings (#2633) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 (#2644) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 https://bugzilla.xamarin.com/show_bug.cgi?id=59380 vector_float3 is 16 bytes, which means the binding is incorrect, because Vector3 is 12 bytes, and our code does not that difference into account. * Add tests * [DeviceCheck] Disable default ctor for DCDevice. (#2642) It doesn't seem to be useful according to the documentation, since it appears that the only way to get an instance is to use the static CurrentDevice property. * [audiounit] Audit (xtro) fixes for tvOS (#2635) Availability attributes in non-generated files don't hide symbols/code. reference: !unknown-pinvoke! AudioUnitExtensionCopyComponentList bound !unknown-pinvoke! AudioUnitExtensionSetComponentList bound * [tests] Make sure tvOS tests don't use the (unexisting) API * [tests] Add all test project variations to tests-mac.sln (#2579) * [xharness] Make sure generated mac projects have different project guids. * [introspection] Change the project guid so that it doesn't match the dontlink-mac project guid. * [tests] Add all test project variations to tests-mac.sln. * [xharness] Fix else condition. * [FileProvider] Adds missing NSFileProviderPage constants, fixes bug 59297. (#2646) https://bugzilla.xamarin.com/show_bug.cgi?id=59297 Adds NSFileProviderInitialPageSortedByName and NSFileProviderInitialPageSortedByDate NSData constants * [Xcode9] Remove NSFileProviderMessage and NSFileProviderMessageInterface (#2647) APIs were removed in beta 2 * [Foundation/UIKit] Provide LoadObject[s] methods that return the expected type in the callback. Fixes #59049. (#2638) The callback for these LoadObject[s] methods take an INSItemProviderReading parameter. This tells our runtime that we must provide an instance of a managed object that implements this interface (but nothing else), so we create a `NSItemProviderReadingWrapper` instance, which complies with the API (since the wrapper type implements the corresponding interface). Unfortunately these methods are supposed to return an instance of the passed- in type, so in order to comply with this soft (documentation-only) requirement, provide a wrapper method that creates instances of the right types. https://bugzilla.xamarin.com/show_bug.cgi?id=59049 * [arkit] Ignore deprecated selectors (#2645) * [FileProvider] Adds missing protocol and keys from audit (#2652) ``` !missing-protocol! NSFileProviderServiceSource not bound !missing-field! NSFileProviderErrorCollidingItemKey not bound !missing-field! NSFileProviderErrorNonExistentItemIdentifierKey not bound !missing-field! NSFileProviderFavoriteRankUnranked not bound ``` Also adds `NSXpcListenerEndpoint` to foundation, needed by `NSFileProviderServiceSource` protocol. * [tests][xtro] Workaround xtro runner dupe entry exception and update data files (#2654) * [AVFoundation] Rename field to match others. (#2657) * [homekit] Audit (xtro) fixes (#2653) - HMCharacteristicEvent conforms to NSMutableCopying on iOS11 which makes it 64 bits only (so adjust intro tests) - Ignore extra setters on HMMutablePresenceEvent, rdar 33883958 !missing-selector! HMMutablePresenceEvent::setPresenceEventType: not bound !missing-selector! HMMutablePresenceEvent::setPresenceUserType: not bound * [xtro] Add missing pinvoke to pending (#2662) - Bug 59422: [uikit] Missing UIContentSizeCategoryCompareToCategory & UIContentSizeCategoryIsAccessibilityCategory (https://bugzilla.xamarin.com/show_bug.cgi?id=59422) * Merge latest d15-3 fixes into xcode9 (#2660) * [msbuild] Re-added wildcard (*) expandsion for application-identifier in Entitlements.plist (#2186) Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=57119 * Bump mono (#2213) * Framework tests were still binding non-linked Simple class which errors now (#2216) (#2218) - Improve Makefile to rebuild when projects build with errors * Bump mono to get cecil fix for bug #56808. (#2222) https://bugzilla.xamarin.com/show_bug.cgi?id=56808 * [msbuild] Use @(ReferencePath) instead of @(ResolvedFiles) (#2188) (#2214) This allows things to work on both xbuild and msbuild. In xbuild, both lists are exactly the same and on msbuild, only @(ReferencePath) exists. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=55147 * NSActivityOptions.IdleDisplaySleepDisabled had wrong value (#2232) (#2239) This was due to an integer overflow. The original value was based on Int32 1 << 40 == 256 The correct value should be based on a UInt64. 1UL << 40 == 1099511627776 * [tests] Fix bug 57699 - [iOS]InternalsTest failure (Linkall) tests on device (#2243) Strip native debugging symbols should not be checked for debug builds * Bump mono to get fix for bug #57780. https://bugzilla.xamarin.com/show_bug.cgi?id=57780 * Update .gitmodules Change branch to d15-3 branch of mono * Bump maccore to get fix for bug #55064. https://bugzilla.xamarin.com/show_bug.cgi?id=55064 * [mono] Bump mono to get the head of cecil/mono-2017-04 and fix IsComObject #57919 Also fix #58789 [1], the typo in tools/mtouch/Tuning.cs showing in MT0000 errors instead MT2102. That's already in master and d15-4 mono bump includes: [2] commit 2a6502cee0df9de5198eafe7c8b5f6ac25106f34 (HEAD -> d15-3, origin/d15-3) Merge: 02457c20fcf 5e05cafc6f1 Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 10:04:06 2017 -0400 Merge pull request #5401 from marek-safar/com [Marshal.IsComObject] Make this predicate return false instead of thr… [3] commit 02457c20fcf57c0610e844d638eb1da82b5d1eb0 Merge: da80840ea55 73fd9a1b82e Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 09:59:06 2017 -0400 Merge pull request #5400 from spouliot/bump-cecil-58834-d15-3 [cecil] Bump to the head of the mono-2017-04 branch and pick the fix for bug #58834 References [1] https://bugzilla.xamarin.com/show_bug.cgi?id=58789 [2] https://bugzilla.xamarin.com/show_bug.cgi?id=57919 [3] https://bugzilla.xamarin.com/show_bug.cgi?id=58834 * [mtouch] Put 'mono_profiler_startup_log' in the symbol list. Fixes #58778. (#2501) We need the 'mono_profiler_startup_log' symbol when profiling is enabled, so make sure to add the symbol to the correct list of symbols we need. Previously we were passing `-u _mono_profiler_startup_log` to clang directly, which is fine, but not complete, since it does not write the symbol to the symbollist file (--symbollist=file), which means it wouldn't be preserved when the MSBuild tasks strip the executable. https://bugzilla.xamarin.com/show_bug.cgi?id=58778 * Bump versions for SR3 https://trello.com/c/EVze08ei * Bump mono to include HttpClientHandler fix #44027 https://trello.com/c/jYFXadH8/8-systemnethttp-close-request-stream-when-httpclienthandler https://bugzilla.xamarin.com/show_bug.cgi?id=44027 * [FileProvider] Add missing API and turn NSString to string (#2663) Turned NSString to string in order to match exisiting API. * [uikit] Add UIPasteConfigurationSupporting and UITextPasteConfigurationSupporting (#2649) - Fixes bug #59363: Missing UIPasteConfigurationSupporting, UITextPasteConfigurationSupporting, UITextDraggable and UITextDroppable on a couple of types (https://bugzilla.xamarin.com/show_bug.cgi?id=59363) * [uikit] Remove 129 types in UIPasteConfigurationSupporting case * [scenekit] Audit (xtro) fixes (#2648) This looks like an Apple breaking change (since `SCNAnimation` is new) but we now have: > typedef void (^SCNAnimationEventBlock)(id<SCNAnimation> animation, id animatedObject, BOOL playingBackward); bound as > delegate void SCNAnimationEventHandler (CAAnimation animation, NSObject animatedObject, bool playingBackward); and `CAAnimation` conforms to `SCNAnimation` but *only* the later is available on watchOS. The delegate is only updated (since it's new) on our watchOS profile. xtro references: (watchos) !unknown-protocol! SCNCameraControlConfiguration bound (tvos/watchos) !missing-selector! SCNAnimation::animationEvents not bound !missing-selector! SCNAnimation::setAnimationEvents: not bound !missing-selector! SCNConstraint::isEnabled not bound !missing-selector! SCNConstraint::setEnabled: not bound !missing-field! SCNSceneSourceConvertToYUpKey not bound !missing-field! SCNSceneSourceConvertUnitsToMetersKey not bound (ios/tvos) !missing-protocol-conformance! SCNNode should conform to UIFocusItem * Bump maccore post 15.3 merge (#2665) * Bump Xcode 9 to GM (#2667) * Force build (on wrench) * [avfoundation] Fix breaking changes (apidiff) (#2664) * [TVServices] Update to Xcode 9 GM (#2675) * [GameController] Update to Xcode 9 GM (#2673) * [LocalAuthentication] Update to Xcode 9 GM (#2671) * [LocalAuthentication] Update to Xcode 9 GM * Remove availability from BiometryNotAvailable, BiometryNotEnrolled and BiometryLockout * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer (#2659) * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer Some of the new added types were already present BUT under a #if MONOMAC, they had to be moved. * [AVFoundation] Set the wrongly added API to be obsolete and ensure it returns logical values. (#2650) * [xtro] The right platform for macOS is 'macos', not 'osx'. (#2677) The platform name is used to filter availability attributes, and if we use the wrong platform, we'll incorrectly skip all availability attributes. The net result in unclassified entries: https://gist.github.com/rolfbjarne/a4474bc2a40c49a85cad495b51bb514f * Various Xcode 9 API improvements and also fixes bug 59433 (#2676) https://bugzilla.xamarin.com/show_bug.cgi?id=59433 While fixing bug 59433 I noticed some additional issues outlined below: AVDepthData: * Renamed **non** static `Create` methods because `Create` only makes sense with the **Static** method in this context. Also by renaming the methods we are now closer to the names that swift uses. * Kept descriptive method names in favor of self-documenting code. `Convert`, `Apply` and `Replace` do not fully give us the intent of the method. * Added a convenience `Create` static method that takes a `CGImageAuxiliaryDataInfo`. * AvailableDepthDataTypes is now an array of `CVPixelFormatType` instead of a `NSNumber` array (The aactual fix for bug 59433). ImageIO: * Refactored `CGImageAuxiliaryDataInfo` to be a `StrongDictionary` in order to avoid most of the manual code and also to avoid reimplementing the `ToDictionary` method (which contained a subtle bug). * Adjusted code to reflect the above change. * Added missing `.ctor (IntPtr, bool)` to `CGImageMetadata` so the class is able to be created by our `Runtime.Get*`. * Simplified `CopyAuxiliaryDataInfo` method by using `CGImageAuxiliaryDataInfo` as a `DictionaryContainer`. Tests: * Added `xamarinmonkey.heic` which is an image that contains depth data needed to test above changes. * Adds `AVDepthDataTests` that touches most of the changes listed here. * Tweak the Simd-compatible matrices and vectors (#2668) * Rename them to be OpenTK.NMatrix# (instead of Simd.MatrixFloat#x#). * Remove the Vector2 and Vector4 variants, we'll use the OpenTK types instead (but we'll keep the NVector3 variant, since it's not identical to the OpenTK version). * Update the API to match their OpenTK counterparts better: * NMatrix2 and NMatrix3 have a 0-based R#C# scheme for their fields. * NMatrix4 has a 1-based M## scheme for its fields (i.e. no change). * [AVFoundation] Use Simd-matrix for API that needs it. (#2679) This also requires implementing the corresponding matrix (NMatrix4x3). Fixes this xtro issue: > !unknown-simd-type-in-signature! OpenTK.Matrix3 AVFoundation.AVCameraCalibrationData::get_GetIntrinsicMatrix(): the native signature has a simd type (matrix_float3x3), while the corresponding managed method is using an incorrect (non-simd) type. * [xtro] Fix checking availability on categories. (#2682) When checking for category availability, check if both the current declaration is a category, and if the current's declaration container is a category. Otherwise this scenario fails: * Category method is available. * Category does not have availability attributes. * Main class is unavailable. with this typical code sequence: ```csharp // don't process methods (or types) that are unavailable for the current platform if (!decl.IsAvailable () || !(decl.DeclContext as Decl).IsAvailable ()) return; ``` In which case we'd: * First check the method (`decl`): * It's available, so no further checks is done on the method. * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container's container is a category (it isn't, it's the namespace). and as such determine that the method is available. With this change, the second step will become: * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container is a category (it is), and if its main class is available (it isn't). and as such determine that the method is unavailable. * Check for attributes on the method's container (no attributes, so we continue). * Check if the method's Unclassified diff: https://gist.github.com/rolfbjarne/8fa80962596978a426eadf9b7ba39dc1 * [uikit] Update for Xcode 9 GM (#2670) * [AVFoundation] Implement AVCapturePhoto. Partially fixes #59388. (#2678) Fixes: > common.unclassified:!missing-type! AVCapturePhoto not bound https://bugzilla.xamarin.com/show_bug.cgi?id=59388 * Use strong dictionaries for AVCapturePhoto.Metadata and AVCapturePhoto.EmbeddedThumbnailPhotoFormat. * [SIMD] Implement Simd double types (VectorDouble3/MatrixDouble4x4). (#2632) The following types will be used by ModelIO bindings * Fix delta to be double * Rename Simd-compatible matrices and vectors to match our final naming. This also means removing the new Vector2 and Vector4 variants (but not Vector3). * [avfoundation] Remove AVAssetDownloadDelegate.DidLoadTimeRange since it was removed in one of the betas (#2687) * [foundation] Move NSUrlSessionMultipathServiceType to a file processed by the generator (for the availability attributes) (#2688) * [arkit] Update for Xcode 9 GM (#2681) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes (#2690) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes Type Changed: Intents.INCarSeatResolutionResult Removed methods: public static INCarSeatResolutionResult GetConfirmationRequired (INCarSeat valueToConfirm); public static INCarSeatResolutionResult GetSuccess (INCarSeat resolvedValue); * [avfoundation] Add missing protocol members and deprecations (#2691) !missing-protocol-member! AVCapturePhotoCaptureDelegate::captureOutput:didFinishProcessingPhoto:error: not found and the selector removed from PR#2687 was actually replaced with this one !missing-protocol-member! AVAssetDownloadDelegate::URLSession:aggregateAssetDownloadTask:didLoadTimeRange:totalTimeRangesLoaded:timeRangeExpectedToLoad:forMediaSelection: not found * [tests][xtro] Map some enums, more fix with protocols and update entries (#2692) * [Tests] Reenable dns tests on the watch. (#2674) * [arkit] Add ARBlendShapeLocationOptions strong dictionary (#2696) * [coreimage] Skip not yet bound filters added in Xcode9 (#2698) Tracked in https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * [Metal] Renamed MTLArgumentDescriptor.ArgumentDescriptor to Create, fixes bug 59498 (#2702) https://bugzilla.xamarin.com/show_bug.cgi?id=59498 From [argumentDescriptor docs](https://developer.apple.com/documentation/metal/mtlargumentdescriptor/2915746-argumentdescriptor?language=objc) > Creates an empty argument descriptor. * [msbuild] Always codesign app bundles if the codesign key is non-null (#2697) ...even if it is a simulator build. Turns out that starting with Xcode9, sim builds need to be codesigned for App Groups entitlements to work properly. Interestingly, the DetectSigningIdentity logic had a comment about needing to codesign simulator builds for some entitlements to work already starting with Xcode 8 but apparently the iOS targets did not respect this. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=59379 * [Foundation] Add NSProxy stub in order to workaround bug 59247 (#2693) https://bugzilla.xamarin.com/show_bug.cgi?id=59247 We need to have a better solution that removes all what NSProxy does not responds to. Right now this works because NSObject implements NSObject protocol just like NSProxy, but NSProxy responds to far less selectors hence doing it internal so it is not a breaking change when we provide the correct fix. * Keep NSProxy around and avoid XML linker description We need to keep NSProxy (avoid linking it) if WKNavigationDelegate or IWKNavigationDelegate is used. We know WKWebView will be there and can hold a reference to it. * [Xcode 9] Update Metal for GM (#2689) * [iosurface] IOSurface is not usable before iOS/tvOS 11. Fixes #59201 (#2706) Apple rejects apps that links with the previously private IOSurface.framework. We were not sure about this [1] and had it disabled (this is removed). However another bug stopped our adjustment logic [2] from being executed. This is needed since `clang` picks up the private framework if it does not find the public one (even when asking for a weak framework), [1] https://bugzilla.xamarin.com/show_bug.cgi?id=59201 [2] Added a while ago for JavascriptCore * Bump maccore to point to commit with the docs fix. (#2703) * Bump XI to 11.0.x (and XM to 3.99.9.x) (#2684) * fix typo
2017-09-16 00:53:16 +03:00
[Protocol]
[Model] // Figured I would keep the model for convenience, as all the methods here are optional
[BaseType (typeof(NSObject))]
interface SCNCameraControllerDelegate
{
[Export ("cameraInertiaWillStartForController:")]
void CameraInertiaWillStart (SCNCameraController cameraController);
[Export ("cameraInertiaDidEndForController:")]
void CameraInertiaDidEnd (SCNCameraController cameraController);
}
[Watch (4,0), TV (11,0), Mac (10, 13, onlyOn64: true), iOS (11,0)]
Merge xcode9 into d15-4[-xi] (#2710) * [FileProvider] Add Xcode 9 Beta 1, 2 & 3 Bindings (#2279) * [FileProvider] Add Xcode 9 Beta 1 Bindings * Better naming * Feedback not related to BindAs * [FileProvider] Removes BindAs, add manual code for it and updated to Beta 3 * [FileProvider] Implement feedback * [CoreSpotlight] Updated spotlight bindings for xcode 9 beta 3. (#2193) Updated spotlight bindings for xcode 9 beta 3. * Fix warning caused by duplicate (#2354) * [FileProviderUI] Add Xcode 9 Beta 1 to 3 bindings (#2356) * Bump to Xcode 9 beta 4 * [arkit] ARLightEstimate does not conform to NSCopying anymore (fix unit test) * [uikit] NSFileProviderExtension.ReparentItem got a new parameter in beta4 (fix unit test) * [coreimage] CIImageAccumulator init returns nil in beta 4 There's no header change to mention `init` is not allowed but it's not clear how this default initializer could be used. Also make public some other API to construct this type (outside of XM). It's not clear why there were `internal` as they are (at least now) part of the header files. * [photos] Add helpers when PHLivePhotoEditingOption/NSDictionary is null (to avoid ambiguous API) (#2360) Adding a strongly typed `PHLivePhotoEditingOption` (a strongly typed version of an `NSDictionary`) can cause a `CS0121` (call is ambiguous) since using a `null` argument is common (only one option exist so far). This PR adds overloads that makes the code nicer in such case, e.g. before Xcode9: > // null is used when no options are given > _foo.SaveLivePhoto (output, null, completion); current (Xcode 9) > // casting required to remove ambiguity with PHLivePhotoEditingOption > _foo.SaveLivePhoto (output, (NSDictionary)null, completion); with this PR > // no option, no argument > _foo.SaveLivePhoto (output, completion); The same applies to `PrepareLivePhotoForPlayback`. * [tests] Disable/tweak two tests that breaks on (almost) all Xcode updates Those tests were not added to validate xOS so just keep the parts that helps us (without constantly checking back the new break flavor) * Disable watchOS to check if this hides others issues * [mapkit] Update for beta 4 * [coredata] Update for beta 4 * [wkwebkit] Update for beta 4 Note: WKWindowFeatures.h is not compiled (part of the framework umbrella) and the `@interface WKWindowFeatures (WKPrivate)` sounds like it should not have been exposed (it's all fields starting with `_`) * [corelocation] Update for beta 4 * Revert "Disable watchOS to check if this hides others issues" This reverts commit fed2249fa43290a1956ab2fe0d48f83ab6db9711. * [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]: https://github.com/xamarin/xamarin-macios/blob/f5956d6cc1eb5dfa7bab16628cf282d40237f64e/src/generator.cs#L5985 * [FinderSync] Update to beta 4 (#2377) * [ImageIO] Update to Xcode 9 (#2353) * [PhotosUI] Move macOS photosui bindings out of photos.cs into photosui.cs (#2358) * [quicklook] Update up to beta 4 (#2374) * [uikit] UIDragInteraction & UIDragInteractionDelegate (Xcode 9 b1,2,3) (#2357) * [safariservices] Update up to beta 4 (#2380) * [coreanimation] Update to beta 4 (#2382) Apple removed (mistake?) some API in beta 1. Filed as rdar 33590997 Internal tracking in https://trello.com/c/J8BDDUV9/86-33590997-coreanimation-quartzcore-api-removals * [storekit] Update up to beta 4 (#2379) * [CoreML] Update to Xcode 9 Beta 4 (#2387) * [uikit] UICollectionView/UITableView Drag & Drop (Xcode 9 b1,2,3 & 4) (#2355) * Update code after radar 32929318 and 32897776 are fixed in b4 (#2394) * [xcode9 CoreAudio] New definitions from Beta1 to Beta3 (#2359) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 (#2397) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 https://bugzilla.xamarin.com/show_bug.cgi?id=58512 Created strong API (VNBarcodeSymbology) on the following properties * VNDetectBarcodesRequest.SupportedSymbologies * VNDetectBarcodesRequest.Symbologies * VNBarcodeObservation.Symbology * Remove modern C# because classic can't do it 😡 * [mediaplayer] Update up to beta 4 (#2388) * [watchkit] Update to beta 4 (#2398) * Bump Visual Studio for Mac max version (#2408) * [coreimage] Add CIBarcodeDescriptor and enabled missing API for VNBarcodeObservation. Fix #58197 (#2411) https://bugzilla.xamarin.com/show_bug.cgi?id=58197 * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 (#2407) * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 * [uikit] Fixes based on comments * [coreimage] CIImageAccumulator API fixes. Fix #58349 (#2412) * Obsolete the default `init`; * XM exposed some older APIs using `int` instead of `CIFormat`. This is fixed and old APIs are obsoleted; * Both new & old APIs are now using `CIFormat` for both XI and XM. https://bugzilla.xamarin.com/show_bug.cgi?id=58349 * [uikit] UIText drag & drop - up to Xcode 9 beta 4 (#2410) * [uikit] UISplitView & UIStackView up to Xcode 9 beta 4 (#2425) * Bump XI/XM versions before preview 4 (#2422) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 (#2378) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 * [PDFKit] Implement feedback * [PDFKit] the forgotten enum * [PDFKit] More feedback * [PDFKit] Add Mac changes * Missing change * Fix test RectangleF VS CGRect * Pass -Wunguarded-availability-new to quiet a new clang warning (#2424) - https://bugzilla.xamarin.com/show_bug.cgi?id=58574 * [mtouch/mmp] Ignore warnings about unguarded code section with regards to availability. (#2441) * [monotouch-test] Remove workaround for fixed Apple bug. (#2445) * Bump to Xcode 9 beta 5. (#2447) * Bump to Xcode 9 beta 5. * [mmp] Disable the partial static registrar, because Apple's macOS SDK is broken. > In file included from Xamarin.Mac.registrar.mobile.i386.m:1: > In file included from ./Xamarin.Mac.registrar.mobile.i386.h:11: > /Applications/Xcode9-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVFoundation.h:88:9: fatal error: 'AVFoundation/AVRouteDetector.h' file not found https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [mmp] Fix partial static registrar removal. * [CallKit] Update to Xcode 9 beta 5. * [ARKit] ARPointCloud doesn't conform to NSCopying anymore in Xcode 9 beta 5. * [ARKit] Update to Xcode 9 beta 5 enough to make tests happy. * [CoreImage] Stub out new filters in Xcode 9 beta 5. * [tests][monotouch] Simplify some MDLMesh asserts since values change a lot between OS versions. * [mmp] Default to the dynamic registrar for release builds again, due to bug #58629. https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [tests][introspection] CXCall started implementing NSCopying without saying so in the headers. * Disable mmp static registrar tests due to 58629 for now * [quicklook] Update to beta 5 (#2450) * [photos] Update for beta 5 (#2452) Also update some existing enum members were added in beta 1 on macOS * [safariservices] Update for beta 5 (#2455) * [mediaplayer] Update to beta 5 (#2456) * [CoreLocation] Update Xcode 9 Beta 5 (#2453) * [CoreML] Update to Xcode 9 Beta 5 (#2454) * [Contacts] Update to Xcode 9 Beta 5 (#2451) * [Vision] Update to Xcode 9 Beta 5 (#2458) * [builds] Tell LLVM to stay away from newer macOS functions. (#2459) Fixes this build problem on Sierra: > ld: weak import of symbol '_futimens' not supported because of option: -no_weak_imports for architecture x86_64 This is a symbol that was (will be?) introduced in High Sierra. Interestingly this only occurs if the Xcode 8.X Command Line Tools haven't been manually installed. Because if the Xcode 8.X Command Line Tools are installed, this happens: 1. llvm's configure script detects that 'futimens' is not usable. 2. llvm's configure script detects that 'futimens' is not usable, because xcrun sets SDKROOT=/ when calling clang. a. When the SDKROOT variable is set, clang passes '-syslibroot /usr/lib' to ld. b. When ld gets '-syslibroot /usr/lib', ld looks in '/usr/lib' for a library that contains 'futimens' in the OS itself, and since we're on Sierra, that fails to link. c. So when llvm's configure script creates a test program that checks if 'futimens' is present, the program fails. This is correct, and makes llvm *not* use futimens. 3. xcrun sets SDKROOT=/ because /usr/share/current-os.sdk/Info.plist exists. If that file does not exist, then xcrun sets SDKROOT to Xcode9's macOS SDK (because that's what xcode-select reports). a. When SDKROOT is set to Xcode9's macOS SDK, the configure check for 'futimens' succeeds, because the macOS 10.13 SDK contains that function. b. llvm happily uses 'futimens', and then the final link fails because we're using a symbol not available on all target platforms. * [arkit] Update for Xcode 9 beta 5 - Part 1 (#2460) * [tests] The container app for watchOS tests should be 64-bit. (#2463) * [xharness] watchOS tests need to run in a clean environment. Works around #58348. (#2462) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [xharness] It watchOS tests don't need to be clean anymore. Fixes #58348. (#2473) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [uikit] UIView/UIScrollView/UIViewController up to Xcode 9 beta 5 (#2431) - Add NSDirectionalEdgeInsets type. - Includes DirectionalEdgeInsetsTest. * [AudioToolbox] Update bindings to Xcode 9 beta3 (not later changes). (#2294) * [xharness] Add a file existence check. (#2478) Fixes this exception: ``` Harness exception for 'introspection': System.IO.FileNotFoundException: Could not find file '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log'. File name: '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log' at System.IO.__Error.WinIOError (System.Int32 errorCode, System.String maybeFullPath) [0x00207] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/__error.cs:188 at System.IO.FileInfo.get_Length () [0x00038] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/fileinfo.cs:171 at xharness.CaptureLog.StopCapture () [0x00021] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Log.cs:252 at (wrapper remoting-invoke-with-check) xharness.CaptureLog:StopCapture () at xharness.AppRunner+<RunAsync>d__68.MoveNext () [0x0127f] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/AppRunner.cs:642 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter`1[TResult].GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:357 at xharness.RunSimulatorTask+<RunTestAsync>d__7.MoveNext () [0x0029d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2894 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.RunTestTask+<ExecuteAsync>d__8.MoveNext () [0x0010b] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2538 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.TestTask+<RunInternalAsync>d__87.MoveNext () [0x0010d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:1870 ``` I'm not sure how this can happen, but it has on the bots [1]. [1] https://jenkins.mono-project.com/job/xamarin-macios-pr-builder/4548/Test_Report/ * Bump versions for preview 5 (#2479) * [passkit] Update to beta 5 (#2481) * [tests] Remove workaround for radar #32688391. (#2486) * [replaykit] Update up to beta 5 (#2484) * Bump maccore to get fix for bug #55064. (#2487) * [apidiff] Update definition to new 10.12 (d15-3) stable release (#2490) * [SceneKit] basic work (#2483) * [coredata] Update to beta 5 (#2488) * [homekit] Update for Xcode 9 beta 5 (#2492) * [Foundation] Update for xcode9 (#2468) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 (#2493) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 * [Intents] Implement feedback * [Intents] Add a generic version for INInteraction.GetParameterValue * [Intents] Missing check * [Contacts] Add missing foundation NSItemProviderWriting protocol to CNContact (#2496) https://bugzilla.xamarin.com/show_bug.cgi?id=58203 This is available on all Contacts supported platforms ``` ./iPhoneOS.platform/Developer/SDKs/iPhoneOS11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchOS.platform/Developer/SDKs/WatchOS4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchSimulator.platform/Developer/SDKs/WatchSimulator4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ``` * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) (#2497) * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) * [IntentsUI] Better use a delegate instead so we have named params * Bump versions before 6th preview (#2514) * [arkit] Add missing MarshalDirective to ARPlaneAnchor (#2517) - Fixes bug #58648: ARPlaneAnchor.Extent property seems incorrect but changes to correct value after Debug access (https://bugzilla.xamarin.com/show_bug.cgi?id=58648) * [xtro-sharpie] Fix a compiler warning. (#2516) Fixes these warnings: Runner.cs(197,5): warning CS0642: Possible mistaken empty statement Runner.cs(199,5): warning CS0642: Possible mistaken empty statement Runner.cs(201,5): warning CS0642: Possible mistaken empty statement Runner.cs(203,5): warning CS0642: Possible mistaken empty statement Runner.cs(205,5): warning CS0642: Possible mistaken empty statement * [uikit] Update for Xcode 9 beta 5 - Part 3 (#2511) - UIKeyCommand - UINavigationBar - UINavigationItem - UIPasteboard - UITableViewHeaderFooterView * [xtro-sharpie] Remove xtro-plugin and misc other fixes. (#2522) * [xtro-sharpie] Build with msbuild and be as quiet as requested when building. * [xtro-sharpie] Must run as a 64-bit process, since the required native libraries are 64-bit. * [xtro-sharpie] Add run configurations to the project file to ease debugging in the IDE. * [xtro-sharpie] Remove xtro-plugin and the related commands. This was needed when there wasn't a 64-bit mono, in order to run xtro-sharpie in a 64-bit process. Now there is a 64-bit mono, so it's not needed anymore. Also improve makefile targets a bit, to auto-build stuff when needed, by setting the right dependencies. * Bump Xcode 9 to beta 6 (#2519) Disable watchOS tests again It seems like the Carousel crash from beta 4 is back to haunt us. This was working fine with beta 5. * Backport d15-3 SR2 fixes (#2515) * [coredata] Update to beta 6 (#2528) This seems to only revert some nullability changes from beta 5. * [coreml] Update to beta 6 (#2531) Fix our rdar 33643011 where additional setters were added in the headers but did not exists. * [videosubscriberaccount] Update to beta 6 (#2533) Only b1 and b2 introduced some additions/changes * [uikit] Update for Xcode 9 beta 6 - Part 4 (#2527) The following headers are now up to date: - UICollectionViewFlowLayout.h - UIDocumentPickerViewController.h - UIFontDescriptor.h - UIImage.h - UIImageView.h - UIImagePickerController.h * [xharness] Re-enable the watchOS tests. (#2534) It works fine for me locally, so let's see what Jenkins says. * [macos] Add new APIs in CoreWlan from Xcode9b3 (#2525) * Update AppKit bindings based on radar 33271241 results (#2518) * Update AppKit bindings based on radar 33271241 results - The header comment was updated to note it was NSSliderTouchBarItem view that has the protocol * Remove NSUserInterfaceCompression where not listed in header * [vision] Update to beta 6 (#2532) Removal of some deprecated (during beta) `init*` selectors. Also sync the versions that were inlined in subclasses - the old ones were not removed and the new ones were not added. * [xtro-sharpie] Many methods don't have selectors in Clang's API, so default to the name if no selector. (#2523) This makes a few more unclassified entries show up (mostly missing designated initializers): https://gist.github.com/rolfbjarne/07aa20f9b50b75bf3e69ac6a825e873a * [macos] Add ExternalAccessory APIs from xcode9 (#2526) * [58851] Disable NSMenuView in AllItemsWithNSMenuShouldAllowNull (#2504) * [arkit] Update for Xcode 9 beta 5 - Part 2 (#2505) - Add last missing selector. - Add tests for manual code. * [monotouch-test] Disable FontDescriptorTest.WithFeature (#2537) Disabled because it looks like the tvOS font we use: "Gujarati Sangam MN" does not have rare ligatures anymore (and the entire test is based on it). Before getting an actual fix for that, let's disable the test so it doesn't break all current builds. See: https://bugzilla.xamarin.com/show_bug.cgi?id=58929 * [xtro-sharpie] Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute. (#2524) Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute to calculate the native name for a TypeDefinition. Unclassified changes: https://gist.github.com/rolfbjarne/828f8ee41eebb0a3b60a38d71822fe59 * [foundation/uikit] Inline NSItemProvider_UIKitAdditions in NSItemProvider (#2538) As suggested here: https://github.com/xamarin/xamarin-macios/pull/2527#discussion_r134670981 * [intents] Fix breaking changes (api-diff) (#2543) Additions of @required members inside `INSpeakable` cannot be `[Abstract]` * [contacts] Fix breaking change (api-diff) (#2542) Type Changed: Contacts.CNPostalAddress Removed method: public static string LocalizeProperty (CNPostalAddressKeyOption option); * [macos] Reenable static registrar since Xcode9b6 un-broke SDK headers (#2544) - Fix a subtle spacing issues in PartialStaticLibrary property * [corebluetooth] Update up to beta 6 and enable it on watchOS (#2540) macOS 10.13 has finally catch up with iOS and this simplifies the bindings a bit. * [foundation] API fixes (apidiff) (#2545) 1. Let's not add new, already [Obsolete] API Type Changed: Foundation.NSDimension Added constructors: [Obsolete ("Not intended to be directly instantiated, this is an abstract class.")] public NSDimension (); 2. Fix inconsistently named API, e.g. Type Changed: Foundation.NSAttributedString Added properties: public static string[] ReadableTypeIdentifiersForItemProvider { get; } public static string[] WritableTypeIdentifiers { get; } * [pdfkit] Do not add already [Obsolete] API in new profiles (#2547) and ensure using the newer, correct API works cross-platforms iOS (before) [Obsolete ("Use 'Find (string, NSStringCompareOptions)' instead.")] public virtual PdfSelection[] Find (string text, nint options); public PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'Find (string, PdfSelection, NSStringCompareOptions)' instead.")] public virtual PdfSelection Find (string text, PdfSelection selection, nint options); public void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string, NSStringCompareOptions)' instead.")] public virtual void FindAsync (string text, nint options); public void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string [], NSStringCompareOptions)' instead.")] public virtual void FindAsync (string[] text, nint options); iOS (after) public virtual PdfSelection[] Find (string text, Foundation.NSStringCompareOptions compareOptions); public virtual PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); * Bump versions for the 7th preview (#2541) * Remove additions of AVKit removed in beta5 (#2536) * NSUrlSessionTask should implement NSProgressReporting for iOS (#2548) NSUrlSessionTask implements NSProgressReporting on iOS as well as Mac, so the #if MONOMAC isn't needed. * Add missing availability attributes causing failures on older iOS versions (#2550) * [vision] Minor fix wrt xtro (#2551) including some things we need to ignore manually !missing-field! VNVisionVersionNumber not bound !missing-pinvoke! VNImagePointForFaceLandmarkPoint is not bound !missing-pinvoke! VNNormalizedFaceBoundingBoxPointForLandmarkPoint is not bound * [uikit] NSFileProviderMessaging was removed in beta 2. Fixes #58222 (#2552) reference: https://bugzilla.xamarin.com/show_bug.cgi?id=58222 * [uikit] Update for Xcode 9 - Part 5 (#2546) Bindings for the following headers: - UIActivity.h - UIActivityItemProvider.h - UIAlertController.h - UIApplication.h - UIBarButtonItem.h - UIButton.h - UICollectionViewLayout.h - UIColor.h - UIControl.h - UIDocumentMenuViewController.h - UIFontMetrics.h - UIGestureRecognizer.h - UIGraphicsImageRenderer.h - UIInputViewController.h * [CoreText] Fix an extraneous free in CTFont.GetDefaultCascadeList. (#2555) We do not own the return value from CFArrayGetValueAtIndex, so don't say we do when creating CTFontDescriptor instances, since that leads to angry dragons: 2017-08-28 20:15:20.293 monotouchtest[33186:2311738] A_FontTest 2017-08-28 20:15:20.294 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithFontDescriptorAndOptions 2017-08-28 20:15:20.295 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithNameAndOptions 2017-08-28 20:15:20.296 monotouchtest[33186:2311738] critical: Stacktrace: at <unknown> <0xffffffff> at (wrapper managed-to-native) CoreText.CTFont.CTFontCopyDefaultCascadeListForLanguages (intptr,intptr) [0x0000a] in <ae65a2b1eea242d2b68fe784749543bf>:0 at CoreText.CTFont.GetDefaultCascadeList (string[]) [0x00013] in /work/maccore/xcode9/xamarin-macios/src/CoreText/CTFont.cs:2185 at MonoTouchFixtures.CoreText.A_FontTest.GetCascadeList () [0x0001e] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/CoreText/FontTest.cs:78 at (wrapper runtime-invoke) object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) [0x0004f] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) System.Reflection.MonoMethod.InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&) [0x00016] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at System.Reflection.MonoMethod.Invoke (object,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo) [0x00032] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/corlib/System.Reflection/MonoMethod.cs:305 at System.Reflection.MethodBase.Invoke (object,object[]) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/referencesource/mscorlib/system/reflection/methodbase.cs:229 at NUnit.Framework.Internal.Reflect.InvokeMethod (System.Reflection.MethodInfo,object,object[]) [0x00009] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Reflect.cs:215 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunNonAsyncTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x00025] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:116 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x0001a] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:90 at NUnit.Framework.Internal.Commands.TestMethodCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:66 at NUnit.Framework.Internal.Commands.SetUpTearDownCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00007] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/SetUpTearDownCommand.cs:84 at NUnit.Framework.Internal.WorkItems.SimpleWorkItem.PerformWork () [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/SimpleWorkItem.cs:64 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at MonoTouch.NUnit.UI.BaseTouchRunner.Run (NUnit.Framework.Internal.Test) [0x0004d] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:442 at MonoTouch.NUnit.UI.BaseTouchRunner.Run () [0x00030] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:171 at MonoTouch.Dialog.StringElement.Selected (MonoTouch.Dialog.DialogViewController,UIKit.UITableView,Foundation.NSIndexPath) [0x00008] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/Elements.cs:765 at MonoTouch.Dialog.DialogViewController.Selected (Foundation.NSIndexPath) [0x00026] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:577 at MonoTouch.Dialog.DialogViewController/Source.RowSelected (UIKit.UITableView,Foundation.NSIndexPath) [0x00016] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:402 at (wrapper runtime-invoke) <Module>.runtime_invoke_void__this___object_object (object,intptr,intptr,intptr) [0x0005d] in <32f0c196c5bc4aa18daea2ee64a7814e>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) UIKit.UIApplication.UIApplicationMain (int,string[],intptr,intptr) [0x0005c] in <ae65a2b1eea242d2b68fe784749543bf>:0 at UIKit.UIApplication.Main (string[],intptr,intptr) [0x00005] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:79 at UIKit.UIApplication.Main (string[],string,string) [0x00038] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:63 at monotouchtest.Application.Main (string[]) [0x00011] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/Main.cs:27 at (wrapper runtime-invoke) <Module>.runtime_invoke_void_object (object,intptr,intptr,intptr) [0x00051] in <30a7f7e09de9467b8b454221034a0e38>:0 Native stacktrace: 0 monotouchtest 0x000000010fca03c4 mono_handle_native_crash + 244 1 monotouchtest 0x000000010fcadd30 mono_sigsegv_signal_handler + 288 2 libsystem_platform.dylib 0x000000011feb3b3a _sigtramp + 26 3 CoreFoundation 0x000000011de035a2 computeSanitizedString + 146 4 CoreText 0x00000001168df314 _ZN15TPurgeableCache19RetainedValueForKeyEPKv + 54 5 CoreText 0x00000001168def85 _ZNK17TDescriptorSource22CopyDescriptorUncachedEPK7__CFURLbPK10__CFString + 55 6 CoreText 0x00000001168df34f _ZNK17TDescriptorSource14CopyDescriptorEPK7__CFURLbPK10__CFString + 27 7 CoreText 0x00000001168e20ad _ZNK17TDescriptorSource35CopyFontDescriptorPerPostScriptNameEPK10__CFStringmm + 297 8 CoreText 0x00000001168dfd9e _ZNK17TDescriptorSource30CopySystemFontDescriptorByNameEPK10__CFString10UIFontFlag + 54 9 CoreText 0x00000001168e54c4 _ZNK14TFontFallbacks17CopyFontFallbacksEPK10__CFStringS2_PK9__CFArray + 652 10 CoreText 0x00000001168e4a00 _ZNK14TFontFallbacks29CopyFontFallbacksForLanguagesEPK10__CFStringPK9__CFArray + 122 11 CoreText 0x00000001168e4971 _ZN17TDescriptorSource39CopyDefaultSubstitutionListForLanguagesEPK10__CFStringPK9__CFArray + 61 12 CoreText 0x00000001169397a7 _ZNK9TBaseFont28CreateSystemDefaultFallbacksEPK10__CFStringPK9__CFArray + 51 13 CoreText 0x000000011693999c _ZNK9TBaseFont15CreateFallbacksE10UIFontFlagPPK16__CFCharacterSetPK9__CFArray + 346 14 CoreText 0x00000001168c1036 _ZNK5TFont24CreateDefaultCascadeListEPK9__CFArray + 242 15 CoreText 0x00000001168b8ff9 CTFontCopyDefaultCascadeListForLanguages + 97 16 ??? 0x0000000140eaefd3 0x0 + 5384105939 17 ??? 0x0000000140eae761 0x0 + 5384103777 18 ??? 0x000000013c9c8e74 0x0 + 5311860340 19 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 20 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 21 monotouchtest 0x000000010fd71bac mono_runtime_try_invoke_array + 1292 22 monotouchtest 0x000000010fd15587 ves_icall_InternalInvoke + 647 23 ??? 0x000000013e9fcd13 0x0 + 5345627411 24 ??? 0x000000013e9fc738 0x0 + 5345625912 25 ??? 0x000000013e9fded5 0x0 + 5345631957 26 ??? 0x000000013e9fbb76 0x0 + 5345622902 27 ??? 0x000000013e9e237e 0x0 + 5345518462 28 ??? 0x000000013e9e237e 0x0 + 5345518462 29 ??? 0x000000013e9e237e 0x0 + 5345518462 30 ??? 0x000000013e9e237e 0x0 + 5345518462 31 ??? 0x000000013e873006 0x0 + 5344014342 32 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 33 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 34 monotouchtest 0x000000010fd6e320 mono_runtime_invoke + 208 35 monotouchtest 0x000000010fe71af1 xamarin_invoke_trampoline + 5617 36 monotouchtest 0x000000010fe79ddd xamarin_arch_trampoline + 189 37 monotouchtest 0x000000010fe7b1a1 xamarin_x86_64_common_trampoline + 110 38 UIKit 0x0000000111b9876b -[UITableView _selectRowAtIndexPath:animated:scrollPosition:notifyDelegate:] + 1810 39 UIKit 0x0000000111b98986 -[UITableView _userSelectRowAtPendingSelectionIndexPath:] + 344 40 UIKit 0x0000000111a6b5c9 _runAfterCACommitDeferredBlocks + 318 41 UIKit 0x0000000111a59dad _cleanUpAfterCAFlushAndRunDeferredBlocks + 280 42 UIKit 0x0000000111a89f68 _afterCACommitHandler + 137 43 CoreFoundation 0x000000011de3ddb7 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23 44 CoreFoundation 0x000000011de3dd0e __CFRunLoopDoObservers + 430 45 CoreFoundation 0x000000011de22324 __CFRunLoopRun + 1572 46 CoreFoundation 0x000000011de21a89 CFRunLoopRunSpecific + 409 47 GraphicsServices 0x0000000121b7e9c6 GSEventRunModal + 62 48 UIKit 0x0000000111a5f7d0 UIApplicationMain + 159 49 ??? 0x000000013c9c4474 0x0 + 5311841396 50 ??? 0x000000013c9c40ad 0x0 + 5311840429 ================================================================= Got a SIGSEGV while executing native code. This usually indicates a fatal error in the mono runtime or one of the native libraries used by your application. ================================================================= * [monotouch-test] Don't subclass MKMapView. (#2556) MKMapView doesn't like being subclassed (Apple says "you should not subclass the MKMapView class itself"). Bad things like this starts happening: Thread 0 name: tid_303 Dispatch queue: com.apple.main-thread Thread 0 Crashed: 0 libsystem_kernel.dylib 0x0000000186b25348 __pthread_kill + 8 1 libsystem_pthread.dylib 0x0000000186c39354 pthread_kill$VARIANT$mp + 396 2 libsystem_c.dylib 0x0000000186a94fd8 abort + 140 3 monotouchtest 0x0000000101c02c14 mono_handle_native_crash + 22047764 (mini-exceptions.c:2548) 4 monotouchtest 0x0000000101c0d02c mono_sigsegv_signal_handler + 22089772 (mini-runtime.c:2886) 5 libsystem_platform.dylib 0x0000000186c33b60 _sigtramp + 52 6 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 7 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 8 CoreFoundation 0x0000000186eda51c -[__NSArrayM dealloc] + 68 9 CoreFoundation 0x000000018703f5c8 __CFBasicHashDrain + 312 10 CoreFoundation 0x0000000186fb5b44 _CFRelease + 224 11 CoreText 0x000000018a808404 TDescriptorSource::PurgeFontFallbacksCache+ 488452 () + 92 12 CoreText 0x000000018a808374 TDescriptorSource::PurgeFromCaches+ 488308 (__CFURL const*) const + 176 13 CoreText 0x000000018a7eec74 CTFontRemoveFromCaches + 168 14 VectorKit 0x0000000196a539b0 +[VKSharedResourcesManager removeResourceUser:] + 324 15 VectorKit 0x0000000196ca27a4 md::MapEngine::~MapEngine+ 2643876 () + 360 16 VectorKit 0x0000000196ca2634 md::MapEngine::~MapEngine+ 2643508 () + 12 17 libobjc.A.dylib 0x000000018651eef4 object_cxxDestructFromClass+ 28404 (objc_object*, objc_class*) + 148 18 libobjc.A.dylib 0x000000018652c638 objc_destructInstance + 88 19 libobjc.A.dylib 0x000000018652c690 object_dispose + 16 20 QuartzCore 0x000000018afca3ac -[CALayer dealloc] + 116 21 VectorKit 0x0000000196a43294 -[VKMapView dealloc] + 940 22 QuartzCore 0x000000018af6aafc CA::release_objects+ 744188 (X::List<void const*>*) + 32 23 QuartzCore 0x000000018afd97d8 CA::Layer::~Layer+ 1198040 () + 276 24 QuartzCore 0x000000018afca37c -[CALayer dealloc] + 68 25 QuartzCore 0x000000018af6b16c CA::Transaction::commit+ 745836 () + 1052 26 UIKit 0x0000000190393290 _afterCACommitHandler + 256 27 CoreFoundation 0x0000000186fb38b8 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 32 28 CoreFoundation 0x0000000186fb1270 __CFRunLoopDoObservers + 412 29 CoreFoundation 0x0000000186fb182c __CFRunLoopRun + 1292 30 CoreFoundation 0x0000000186ed22d8 CFRunLoopRunSpecific + 436 31 GraphicsServices 0x0000000188d58f84 GSEventRunModal + 100 32 UIKit 0x000000019040427c UIApplicationMain + 208 33 monotouchtest 0x000000010106eb90 wrapper_managed_to_native_UIKit_UIApplication_UIApplicationMain_int_string___intptr_intptr + 9907088 (/<unknown>:1) 34 monotouchtest 0x0000000100f0d6ac UIKit_UIApplication_Main_string___intptr_intptr + 8459948 (UIApplication.cs:79) 35 monotouchtest 0x0000000100f0d66c UIKit_UIApplication_Main_string___string_string + 8459884 (UIApplication.cs:63) 36 monotouchtest 0x0000000100b10450 monotouchtest_Application_Main_string__ + 4277328 (Main.cs:27) 37 monotouchtest 0x0000000100e0c244 wrapper_runtime_invoke_object_runtime_invoke_dynamic_intptr_intptr_intptr_intptr + 244 38 monotouchtest 0x0000000101c10048 mono_jit_runtime_invoke + 22102088 (mini-runtime.c:2526) 39 monotouchtest 0x0000000101c75eec do_runtime_invoke + 22519532 (object.c:2829) 40 monotouchtest 0x0000000101c78a3c do_exec_main_checked + 22530620 (object.c:4623) 41 monotouchtest 0x0000000101bf9a1c mono_jit_exec + 22010396 (driver.g.c:1040) 42 monotouchtest 0x0000000101d13d60 xamarin_main + 23166304 (monotouch-main.m:482) 43 monotouchtest 0x00000001007de710 main + 927504 (main.m:67) 44 libdyld.dylib 0x00000001869f656c start + 4 * [introspection] Let SkipDueToAttributeInProperty skip setters too (#2557) `SkipDueToAttributeInProperty` which is used to check the availability attribute of properties when the Availability info only exist on the property and not on the property Getter or Setter was wrong. This lead to `setSpringLoaded` (which was introduced in iOS 11) to not be ignored by the test (making it fail). - Fix bug #59085: [introspection-ios] selector not found for UIKit.UIBarButtonItem : setSpringLoaded: - Broken test (https://bugzilla.xamarin.com/show_bug.cgi?id=59085) * [corevideo][watchos] Enable CoreVideo on watchOS (#2553) * [storekit] Fix CampaignToken typo (#2559) (#2560) - Fixes bug #59078: StoreProductParameters and invalid property for CampaignToken (https://bugzilla.xamarin.com/show_bug.cgi?id=59078) * [coreml][watchos] Enable API using CoreVideo on watchOS. Fix #58097 (#2561) https://bugzilla.xamarin.com/show_bug.cgi?id=58097 * Add missing [MarshalDirective] attributes. (#2558) * [bindings-generator] Improve build & project file. * Add missing [MarshalDirective] attributes. Add missing [MarshalDirective] attributes, which also requires implementing support for out parameters in the binding generator, since one of the signatures missing the [MarshalDirective] contains such an out parameter. Also add tests for all the API I've added [MarshalDirective] to. * [bindings-generator] Remove redundant if check. * [monotouch-test] Rename file to end with 'Test.cs'. * [tests] Fix a few build errors for Xamarin.Mac. * [uikit] Fix UIColor and UIInputViewController tvOS availability (#2569) - Fixes introspection tests on tvOS 10. * [storekit] Fix SKCloudServiceSetupMessageIdentifier and SKProductStorePromotionController tvOS availability (#2568) - Fixes introspection tests on tvOS 10. * [mapkit] Fix MKMapItemTypeIdentifier tvOS availability (#2566) - Also remove double [Mac] availability attribute. - Fixes introspection tests on tvOS 10. * [ARKit] Fix marshalling for ARPointCloud.RawFeaturePoints. (#2565) ARPointCloud.RawFeaturePoints is an array of Vector3, but each vector is 16-byte aligned (as if it were an array of Vector4). This means we need to account for this when creating a managed array from pointer to the native C-style array. * [ModelIO] Fix MDLVoxelIndexExtent struct. (#2564) The MDLVoxelIndexExtent is a struct containing two 4-dimensional vectors of integers (not floats, as originally and incorrectly implemented). Fix this my creating a new MDLVoxelIndexExtent2 struct with the right fields, re-implement all the API that exposes this struct and obsolete the old API. Also add missing [MarshalDirective] attributes. And write a test to make sure it works fine now and forever. * [coredata] Enable new fields since rdar #33878590 is fixed w/beta 6 (#2570) reference: https://trello.com/c/dlSRYPFx * [xtro-sharpie] Add a Simd check class to verify signatures with Simd types. * [Simd] Add simd matrix types. The OpenTK matrices (Matrix2/3/4) has a different memory layout than Apple's matrix_float2x2/matrix_float3x3/matrix_float4x4 matrices: the OpenTK versions are row-major, while Apple's versions are column-major. This means that when blitting memory from one to the other, the matrix will appear to have been transposed. See bug #[58599][2] for an example. Unfortunately we've already bound several API with Apple's matrix_floatXxX matrices using OpenTK's matrices, and although they're bound wrong, and the matrices appear transposed on input/output, we can't change the behavior because we have to maintain compatibility. This means we have to introduce new API, and then also just define new matrix types with the right memory layout (column-major). Additionally, in the future we might be able to mark these matrices as Simd-matrixes, so that the JIT/AOT compiler can generate the correct alignment for them, avoiding having to define a native conversion method (using the [MarshalDirective] hack). The matrices have been designed to match API-wise the matrices in the System.Numerics.Vectors namespace [1], but for the moment with only a few basic operations implemented (Determinant/Transpose/Multiply) defined (we can always add more later if we want to). In addition explicit conversion operators to and from the corresponding OpenTK.MatrixX are implemented, which means any operation defined in the OpenTK matrices can be used by converting back and forth. [1]: https://msdn.microsoft.com/en-us/library/system.numerics.matrix4x4(v=vs.111).aspx [2]: https://bugzilla.xamarin.com/show_bug.cgi?id=58599 * [ARKit] Use the new Simd matrix types. * [Vision] Use the new Simd matrix types. * [ModelIO] Use the new Simd-compatible matrix types, and deprecate the old API. * [GameplayKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [SpriteKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [xtro] Don't report missing [MarshalDirective] for obsolete methods. * [xtro] Remove unnecessary ignores. The implementation changed, and these stayed accidentally. * [wkwebkit] Fix (native) protocol names (#2572) Also ignore xtro's WKSnapshotConfiguration since it's an Apple bug 34185961 reference (xtro) !missing-protocol! WKURLSchemeHandler not bound !missing-protocol! WKURLSchemeTask not bound !unknown-protocol! WKUrlSchemeHandler bound !unknown-protocol! WKUrlSchemeTask bound !unknown-type! WKSnapshotConfiguration bound * [uikit] Fix enums availability attributes (#2575) - Fixes bug #59132: [uikit] Extra types in watchOS (https://bugzilla.xamarin.com/show_bug.cgi?id=59132) * [watchkit] Add missing designated initializers (#2574) references (xtro) !missing-designated-initializer! WKInterfaceController::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! WKUserNotificationInterfaceController::init is missing an [DesignatedInitializer] attribute * [xtro] Reword some of the Simd diagnostic messages according to review. * [tests] Make sure test symbols don't clash between different test libraries. Fixes this build problem for framework-test: clang: error: linker command failed with exit code 1 (use -v to see invocation) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_get_rotation_matrix'. MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticObjectTest.framework/XStaticObjectTest (Location related to previous error) MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticArTest.framework/XStaticArTest(libtest-ar.x86_64.o) (Location related to previous error) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransformcomponent_get_local_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_create_global_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float4x4'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float3x3'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float2x2'. MTOUCH: error MT5209: Native linking error: 6 duplicate symbols for architecture x86_64 MTOUCH: error MT5202: Native linking failed. Please review the build log. * [tests] Since libtest.a need ModelIO now, the corresponding LinkWith attributes need to state that too. * [introspection] Don't check native signatures on obsolete members, and ignore the right simd matrix types. Fixes this introspection/Mac problem: ***** ApiSignatureTest.NativeSignatures Selector: uniformWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: uniformWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: uniformWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: setMatrixFloat2x2Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: setMatrixFloat3x3Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: setMatrixFloat4x4Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: initWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: initWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: initWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded * [monotouch-tests] Include more custom asserts for watchOS to make the build work. Fixes this: Simd/MatrixFloat4x4Test.cs(28,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(29,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(37,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(48,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' [...] * [monotouch-test] Exclude code that requires the binding project from xammac tests. Exclude code that requires the test binding project from xammac tests because there's currently no XM version of the test binding project. Fixes this: tests/monotouch-test/SpriteKit/UniformTest.cs(20,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLMaterialProperty.cs(37,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLTransform.cs(34,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) * Bump version for preview #8 (#2576) * [spritekit] Audit fixes (xtro) (#2577) 1. SKVideoNode is now, partially, available on watchOS and does not require the extra, manual code to swicth selectors depending on the OS version being run. !missing-type! SKVideoNode not bound !missing-selector! SKVideoNode::anchorPoint not bound !missing-selector! SKVideoNode::initWithCoder: not bound !missing-selector! SKVideoNode::initWithFileNamed: not bound !missing-selector! SKVideoNode::initWithURL: not bound !missing-selector! SKVideoNode::setAnchorPoint: not bound !missing-selector! SKVideoNode::setSize: not bound !missing-selector! SKVideoNode::size not bound !missing-selector! +SKVideoNode::videoNodeWithFileNamed: not bound !missing-selector! +SKVideoNode::videoNodeWithURL: not bound 2. SKNodeFocusBehavior is exposed needlessly on watchOS because SpriteKit/Enums.cs was not processed by the generator, so [NoWatch] did not matter. !unknown-native-enum! SKNodeFocusBehavior bound It's also visible on macOS but nothing uses it (so we do not expose it needlessly) !missing-enum! SKNodeFocusBehavior not bound 3. Add missing designated initializer on default `init` !missing-designated-initializer! SKAttributeValue::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! SKNode::init is missing an [DesignatedInitializer] attribute 4. Remove inconsistency for SKNode subclasses wrt XAMCORE_4_0 The trio attributeValues, setAttributeValues and setValue:forAttributeNamed: that was moved from SKNode (deprecated) into its subclasses. This was done using XAMCORE_4_0 but not on every subclasses. This adds them everywhere to be consistent (only SKNode versions are not defined in XAMCORE_4_0) !missing-selector! SKEffectNode::attributeValues not bound !missing-selector! SKEffectNode::setAttributeValues: not bound !missing-selector! SKEffectNode::setValue:forAttributeNamed: not bound !missing-selector! SKEffectNode::valueForAttributeNamed: not bound !missing-selector! SKEmitterNode::attributeValues not bound !missing-selector! SKEmitterNode::setAttributeValues: not bound !missing-selector! SKEmitterNode::setValue:forAttributeNamed: not bound !missing-selector! SKEmitterNode::valueForAttributeNamed: not bound !missing-selector! SKSpriteNode::attributeValues not bound !missing-selector! SKSpriteNode::setAttributeValues: not bound !missing-selector! SKSpriteNode::setValue:forAttributeNamed: not bound !missing-selector! SKSpriteNode::valueForAttributeNamed: not bound * [introspection] Make sure '[FAIL]' is printed before every failure. (#2578) This makes xharness able to list the failures in the inline summary. * [xtro] Reword some of the Simd diagnostic messages according to review. * [xharness] Add a missing IsServerMode check to generate correct html. (#2581) * [SpriteKit] SKTransformNode is new in Xcode 9 so no need to keep the broken (and obsolete) non-simd version of RotationMatrix. * [intents] Fix some (partial) xtro issues and #59156 (#2585) reference https://bugzilla.xamarin.com/show_bug.cgi?id=59156 Remaining issues are filled in https://bugzilla.xamarin.com/show_bug.cgi?id=59183 !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound * [Intents] Confirm* interface methods should be bound as Confirm, Fixes Bug 59164 (#2591) * [Intents] Confirm* interface methods should probably be bound as Confirm, Fixes Bug 59164 https://bugzilla.xamarin.com/show_bug.cgi?id=59164 All Confirm* methods from *IntentHandling interfaces should be named just `Confirm` to avoid confusion because most of them do not directly confirm as an acion, but instead they **ask** for confirmation also we would follow swift's naming by doing this. * [Intents] XAMCORE_4_0 all Confirm* methods from *IntentHandling Turns any Confirm* into just Confirm inside a XAMCORE_4_0 block, * [Intents] Fix breaking changes in Intents added in Xcode 9 Bindings (#2590) Apple added more protocol conformances to INRidesharingDomainHandling and INPaymentsDomainHandling protocols in Xcode 9, I introduced these breaking changes back when I did intents binding so fixing them :) * [Metal] New bindings from Xcode 9 betas (#2457) * [AVFoundation] Updated bindings for xcode9. (#2272) * [Xcode9] Add IOSurface bindings (#2363) * This framework was a private framework before iOS 11. This framework was a private framework before iOS 11, yet the headers claim many API were introduced in iOS 10. So take account of this difference by using the private framework location in iOS 10.3 or earlier. Testing these API from Xcode works fine when run on an iOS 10.3 device, and I've confirmed the IOSurface framework is loaded from the private frameworks path on older devices (and when built using Xcode 9 and linked with the public framework path). * Disable code to make IOSurface work on iOS 10. Disable the code to make IOSurface work on iOS 10, since it may be rejected by the App Store. This also means adjusting the availability attributes, so that the introspection tests pass (and to document that technically these API won't work when used with Xamarin.iOS in iOS 10). I've filed bug #[59201][1] to keep track of this, maybe we can re-enable this later. [1]: https://bugzilla.xamarin.com/show_bug.cgi?id=59201 * [CoreMedia] Fix leak in CMAttachmentBearer.GetAttachments. (#2593) The caller owns the return value from CMCopyDictionaryOfAttachments, so tell Runtime.GetNSObject that. * [Intents] Adds missing API found by xtro, fixes Bug 59183 (#2596) https://bugzilla.xamarin.com/show_bug.cgi?id=59183 Fixes !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !incorrect-protocol-member! INUIHostedViewControlling::configureWithInteraction:context:completion: is OPTIONAL and should NOT be abstract * [xtro] Fix StartWorkingDirectory to enable debugging (#2598) * [iosurface] Enable for tvOS and XM classic (to avoid multiple defines around consumer API) (#2597) * [xtro] Fix EnumCheck (#2600) * [ARKit] Rename a few method to make them nicer. (#2604) * DisplayTransform -> GetDisplayTransform since methods should have verbs. * SessionWasInterrupted -> WasInterrupted and SessionInterruptionEnded -> InterruptionEnded since these names match better with the other names (CameraDidChangeTrackingState / DidFail / DidOutputAudioSampleBuffer: none are prefixed with 'Session'). Additionally, the type is a Model (for the delegate pattern), which means all methods are more-or-less event-like, and the first argument is always the same (the protocol itself), which is another indicator the methods should be named similarly. * [Foundation] Remove 'Key' suffix from some fields. (#2606) Of the 168 fields in NSMetadataItem, only these 5 hadn't removed the 'Key' suffix. So make them all equivalent by removing the 'Key' suffix from these 5 fields. * [ImageIO] Fix API to not duplicate the instance in instance methods. (#2609) An instance method does not need to take the instance as a parameter, so remove the first (instance) parameter for CGImageDestination.AddAuxiliaryDataInfo and CGImageSource.CopyAuxiliaryDataInfo. An alternative solution would be to make the methods static, but I like the instance API better. * [UIKit] De-model UIDataSourceTranslating. (#2603) It's not clear from neither the documentation nor the headers how this protocol is supposed to be used, and since it doesn't correspond to the delegate pattern, remove the [Model] attribute for now. We can always add it back later. * [CoreML] Improve API. (#2592) * [CoreML] Improve API. * The indices, shape and stride properties for MLMultiArray and MLMultiArrayConstraint can logically only be arrays of integers, so type them as such. This means adding overloads for MLMultiArray's constructors, GetObject and SetObject methods, and the indexers that takes nint[] arrays instead of NSNumber[] arrays. * Change MLFeatureValue's static factory methods to be a method ('Create') instead of a preposition, and call all the different factory methods the same, since they can be overloaded nicely. * [tests][monotouch-test] Add version check to MLMultiArrayTest and make sure the arrays we create are big enough for the data we put in them. * [tests][monotouch-test] MLMultiArray's elements aren't zero-initialized, so don't assume that in the tests. * Support overloading Objective-C methods based on static/instance. (#2607) Two Objective-C methods can be named identically as long as one is static and the other instance. We must support this since Apple did just this (in the NSItemProviderReading / NSItemProviderWriting protocols). We solve it by prepending a '+' or '-' to the selector when hashing it (to determine selector uniqueness, and to look the method up again at runtime). * [uikit] Update for Xcode 9 - Part 6 (#2602) NSAttributedString.h NSFileProviderExtension.h NSLayoutAnchor.h UIAccessibility.h UIAccessibilityAdditions.h UIAccessibilityContainer.h UIAccessibilityContentSizeCategoryImageAdjusting.h UIAccessibilityCustomRotor.h UIAccessibilityLocationDescriptor.h UITabBar.h UINavigationBar.h UIScreen.h * Xcode9 scenekit (#2512) * [SceneKit] basic work * Added key * [xcode9] SCNCameraController * [xcode9] SCNCamera updates * [xcode9] SCNMaterial * [xcode9] SCNGeometryTessellator, SCNCameraControlConfiguration, SCNView, small bits * Add trailing commas to last enum value * Remove whitespace noise * [scenekit] Update deprecated attributes messages * Addresses some of Rolf's feedback * Drop the WeakDelegate in SCNCameraController * Rename method to Render, remove ctor from class that can not be constructed in Palygrounds, add typo exception * [AppKit] Rename NSBezierPath.AppendBezierPathWithCGGlyph to match its sibling methods. (#2605) NSBezierPath contains a lot of 'AppendPathWithXXX' methods, that all map to 'appendBezierPathXXX' selectors. So rename AppendBezierPathWithCGGlyph accordingly, to make it more similar to the other methods in the same type. * [uikit] Add all UISpringLoadedInteractionSupporting (#2616) Types do not conform to the protocol but protocol methods work on those types (see monotouch-test). Fixed introspection tests accordingly and tested the selectors in monotouch-test. * [Intents] Add convenience ctor overload and call correct base ctor in manual ctor. (#2613) Add a convenience constructor overload in INGetUserCurrentRestaurantReservationBookingsIntent that uses nint instead of NSNumber, since logically "number of results" will always be some sort of integer. Also call the correct base constructor in INSpeakableString's custom constructor (same as any other generated constructor). Otherwise we end up doing something like this: [[[INSpeakableString alloc] init] initWith ...], i.e. calling two different init methods. * [coreimage] Add new headers API up to beta 6 (#2601) Filters are not complete (ref: #57350) https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * Some new constants are not yet documented (type is known), so they are commented / ignored https://bugzilla.xamarin.com/show_bug.cgi?id=59296 * Filled bug for [Wrap] inside [Category] so strong dictionary helpers can be re-enabled later https://bugzilla.xamarin.com/show_bug.cgi?id=59294 * [foundation] xtro fixes for watchOS (#2586) !missing-enum! NSProcessInfoThermalState not bound !missing-field! NSProcessInfoThermalStateDidChangeNotification not bound !missing-selector! NSProcessInfo::thermalState not bound Headers are wrong and preferredPresentationStyle is not in tvOS and watchOS !missing-selector! NSItemProvider::preferredPresentationStyle not bound !missing-selector! NSItemProvider::setPreferredPresentationStyle: not bound * [uikit] Also remove UIPreferredPresentationStyle enum from platform where it's not used * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. (#2614) * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. * NSItemProviderWriting: * NSItemProviderReading: Implement correctly and completely by uncommenting commented out code. * NSMutableString: * NSAttributedString: remove inlined members, since these classes don't implement NSItemProviderReading / NSItemProviderWriting (according to the headers at least). * NSUrl: all platforms now seem to implement NSItemProviderReading / NSItemProviderWriting. * NSString: all platforms now seem to implement both NSItemProviderReading and NSItemProviderWriting * UIColor: * UIImage: Update inlined protocol members according to the latest beta. Additionally, due to the following conditions: * The protocols all have the correct members now. * In the API definition we tell the generator to inline members from a protocol by inheriting from the corresponding interface. * The generator doesn't inline static members from protocols. several 'new' keywords had to be added to silence a compiler warning that occurrs when we manually inline a static member, since the member would be included in the type both from the inherited interface and the manual implementation. * [Foundation] Comment out NSItemProviderWriting.GetItemProviderVisibility to avoid inlining/generating unusable methods. NSItemProviderWriting.GetItemProviderVisibility is an optional method, and none of the native classes that implements NSItemProviderWriting actually imlements the method. This means inlining the method in those classes ends up creating unusable API; so just comment out the method to avoid generating the unusable API. The introspection tests found this: [FAIL] Foundation.NSString : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Foundation.NSUrl : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Contacts.CNContact : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] MapKit.MKMapItem : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIColor : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIImage : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] iOSApiSelectorTest.ApiSelectorTest.StaticMethods : 6 errors found in 2348 static selector validated: See also https://bugzilla.xamarin.com/show_bug.cgi?id=59308 * [iosurface] Add missing [TV] attributes (#2619) * [opengles] Enable the new API using IOSurface (#2618) The symbol only exists inside device libraries, not on simulator, and the introspection tests were updated to ignore it. Part of https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [avfoundation][watchos] Enable AudioBufferList (fix #59145) + audit (xtro) (#2617) 1. AudioBufferList is part of CoreAudio (wrong namespace, which needs a few changes in the generator) and now available in watchOS 4 https://bugzilla.xamarin.com/show_bug.cgi?id=59145 2. Also fixes xtro found issues: !missing-type! AVAudioRecorder not bound !missing-selector! AVAudioRecorder::averagePowerForChannel: not bound !missing-selector! AVAudioRecorder::channelAssignments not bound !missing-selector! AVAudioRecorder::currentTime not bound !missing-selector! AVAudioRecorder::delegate not bound !missing-selector! AVAudioRecorder::deviceCurrentTime not bound !missing-selector! AVAudioRecorder::format not bound !missing-selector! AVAudioRecorder::initWithURL:format:error: not bound !missing-selector! AVAudioRecorder::initWithURL:settings:error: not bound !missing-selector! AVAudioRecorder::isMeteringEnabled not bound !missing-selector! AVAudioRecorder::isRecording not bound !missing-selector! AVAudioRecorder::peakPowerForChannel: not bound !missing-selector! AVAudioRecorder::recordAtTime: not bound !missing-selector! AVAudioRecorder::recordAtTime:forDuration: not bound !missing-selector! AVAudioRecorder::recordForDuration: not bound !missing-selector! AVAudioRecorder::setChannelAssignments: not bound !missing-selector! AVAudioRecorder::setDelegate: not bound !missing-selector! AVAudioRecorder::setMeteringEnabled: not bound !missing-selector! AVAudioRecorder::settings not bound !missing-selector! AVAudioRecorder::url not bound !missing-protocol! AVAudioRecorderDelegate not bound !missing-selector! AVAudioEngine::inputNode not bound !missing-selector! AVAudioEngine::manualRenderingBlock not bound !missing-selector! AVAudioInputNode::setManualRenderingInputPCMFormat:inputBlock: not bound !missing-selector! AVAudioPlayer::format not bound !missing-selector! AVAudioSession::requestRecordPermission: not bound !unknown-field! AVFileType3GPP bound !unknown-field! AVFileType3GPP2 bound !unknown-field! AVFileTypeAC3 bound !unknown-field! AVFileTypeAIFC bound !unknown-field! AVFileTypeAIFF bound !unknown-field! AVFileTypeAMR bound !unknown-field! AVFileTypeAVCI bound !unknown-field! AVFileTypeAppleM4A bound !unknown-field! AVFileTypeAppleM4V bound !unknown-field! AVFileTypeCoreAudioFormat bound !unknown-field! AVFileTypeDNG bound !unknown-field! AVFileTypeEnhancedAC3 bound !unknown-field! AVFileTypeHEIC bound !unknown-field! AVFileTypeHEIF bound !unknown-field! AVFileTypeJPEG bound !unknown-field! AVFileTypeMPEG4 bound !unknown-field! AVFileTypeMPEGLayer3 bound !unknown-field! AVFileTypeQuickTimeMovie bound !unknown-field! AVFileTypeSunAU bound !unknown-field! AVFileTypeTIFF bound !unknown-field! AVFileTypeWAVE bound * [Metal] Implement API using IOSurface now that IOSurface is implemented. Partially fixes #58054. (#2621) https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [PdfKit] Improve PdfAnnotation.QuadrilateralPoints binding by making it strongly typed. (#2620) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). (#2622) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). * [ARKit/Vision] Use the new simd vector types instead of the OpenTK versions. * [ModelIO] Use the new simd vectors in new API (MDLVoxelIndexExtent2). This way we won't have to create a MDLVoxelIndexExtent3 in the future. * [SpriteKit] Use the new simd vectors in new API. * [metal] Audit (xtro) based fixes (#2623) !extra-protocol-member! unexpected selector MTLArgumentEncoder::newArgumentEncoderForBufferAtIndex: found !extra-protocol-member! unexpected selector MTLComputeCommandEncoder::dispatchThreads:threadsPerThreadgroup: found macos-only !missing-field! MTLDeviceRemovalRequestedNotification not bound !missing-field! MTLDeviceWasAddedNotification not bound !missing-field! MTLDeviceWasRemovedNotification not bound !missing-pinvoke! MTLCopyAllDevices is not bound * [CloudKit] Update bindings to beta 6. (#2615) * [FileProvider] Turn NSFileProviderItemIdentifier enum into a static class, fixes bug 59329 (#2634) https://bugzilla.xamarin.com/show_bug.cgi?id=59329 At the time of binding NSFileProviderItemIdentifier it wasn't clear how it was supposed to be used, I mean apple provides two keys which I thought were the only possible values hence binding it as an smart enum. Unfortunately this wasn't the case and the user can use those two values provided from the SDK or their own NSString Identifier. Swift provides a wrapper unfortunately we can't do the same due to NSFileProviderItemIdentifier is used in the NSFileProviderItem protocol and we currently do not support changing signatures on them. * [mtouch] Teach mtouch about the 'IOSurface' framework for tvOS. Fixes #59333. (#2630) https://bugzilla.xamarin.com/show_bug.cgi?id=59333 * Bump Touch.Unit to get fix for API breakage. (#2631) spouliot/Touch.Unit@8f1e19d [NUnitOutputTextWriter] Reintroduce previous constructor to make sure we don't break binary ABI. spouliot/Touch.Unit@00b0c0b [NUnitOutputTextWriter] Don't write invalid xml comments. spouliot/Touch.Unit@de9fe20 [TouchRunner] Restore the original code path when not wrapping NUnit xml output. * [IOSurface] Add missing availability attributes for tvOS. (#2629) * Bump versions for preview 9 (#2624) * [AVFoundation] Add missing interface AVRouteDetector. (#2637) * [tests] Update xtro to reduce list sizes (#2636) * Skip OpenTK duplicate declaration (we can't change them); * Fix rule name change for ARKit / simd; * Add missing default initializer on `init` to pending actions; * Add note for AVPersistableContentKeyRequest changes wrt tvOS; * [ReplayKit] Make RPBroadcastActivityViewController.LoadBroadcastActivityViewController async-capable. (#2639) * [xcode9] More SceneKit bindings (#2633) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 (#2644) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 https://bugzilla.xamarin.com/show_bug.cgi?id=59380 vector_float3 is 16 bytes, which means the binding is incorrect, because Vector3 is 12 bytes, and our code does not that difference into account. * Add tests * [DeviceCheck] Disable default ctor for DCDevice. (#2642) It doesn't seem to be useful according to the documentation, since it appears that the only way to get an instance is to use the static CurrentDevice property. * [audiounit] Audit (xtro) fixes for tvOS (#2635) Availability attributes in non-generated files don't hide symbols/code. reference: !unknown-pinvoke! AudioUnitExtensionCopyComponentList bound !unknown-pinvoke! AudioUnitExtensionSetComponentList bound * [tests] Make sure tvOS tests don't use the (unexisting) API * [tests] Add all test project variations to tests-mac.sln (#2579) * [xharness] Make sure generated mac projects have different project guids. * [introspection] Change the project guid so that it doesn't match the dontlink-mac project guid. * [tests] Add all test project variations to tests-mac.sln. * [xharness] Fix else condition. * [FileProvider] Adds missing NSFileProviderPage constants, fixes bug 59297. (#2646) https://bugzilla.xamarin.com/show_bug.cgi?id=59297 Adds NSFileProviderInitialPageSortedByName and NSFileProviderInitialPageSortedByDate NSData constants * [Xcode9] Remove NSFileProviderMessage and NSFileProviderMessageInterface (#2647) APIs were removed in beta 2 * [Foundation/UIKit] Provide LoadObject[s] methods that return the expected type in the callback. Fixes #59049. (#2638) The callback for these LoadObject[s] methods take an INSItemProviderReading parameter. This tells our runtime that we must provide an instance of a managed object that implements this interface (but nothing else), so we create a `NSItemProviderReadingWrapper` instance, which complies with the API (since the wrapper type implements the corresponding interface). Unfortunately these methods are supposed to return an instance of the passed- in type, so in order to comply with this soft (documentation-only) requirement, provide a wrapper method that creates instances of the right types. https://bugzilla.xamarin.com/show_bug.cgi?id=59049 * [arkit] Ignore deprecated selectors (#2645) * [FileProvider] Adds missing protocol and keys from audit (#2652) ``` !missing-protocol! NSFileProviderServiceSource not bound !missing-field! NSFileProviderErrorCollidingItemKey not bound !missing-field! NSFileProviderErrorNonExistentItemIdentifierKey not bound !missing-field! NSFileProviderFavoriteRankUnranked not bound ``` Also adds `NSXpcListenerEndpoint` to foundation, needed by `NSFileProviderServiceSource` protocol. * [tests][xtro] Workaround xtro runner dupe entry exception and update data files (#2654) * [AVFoundation] Rename field to match others. (#2657) * [homekit] Audit (xtro) fixes (#2653) - HMCharacteristicEvent conforms to NSMutableCopying on iOS11 which makes it 64 bits only (so adjust intro tests) - Ignore extra setters on HMMutablePresenceEvent, rdar 33883958 !missing-selector! HMMutablePresenceEvent::setPresenceEventType: not bound !missing-selector! HMMutablePresenceEvent::setPresenceUserType: not bound * [xtro] Add missing pinvoke to pending (#2662) - Bug 59422: [uikit] Missing UIContentSizeCategoryCompareToCategory & UIContentSizeCategoryIsAccessibilityCategory (https://bugzilla.xamarin.com/show_bug.cgi?id=59422) * Merge latest d15-3 fixes into xcode9 (#2660) * [msbuild] Re-added wildcard (*) expandsion for application-identifier in Entitlements.plist (#2186) Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=57119 * Bump mono (#2213) * Framework tests were still binding non-linked Simple class which errors now (#2216) (#2218) - Improve Makefile to rebuild when projects build with errors * Bump mono to get cecil fix for bug #56808. (#2222) https://bugzilla.xamarin.com/show_bug.cgi?id=56808 * [msbuild] Use @(ReferencePath) instead of @(ResolvedFiles) (#2188) (#2214) This allows things to work on both xbuild and msbuild. In xbuild, both lists are exactly the same and on msbuild, only @(ReferencePath) exists. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=55147 * NSActivityOptions.IdleDisplaySleepDisabled had wrong value (#2232) (#2239) This was due to an integer overflow. The original value was based on Int32 1 << 40 == 256 The correct value should be based on a UInt64. 1UL << 40 == 1099511627776 * [tests] Fix bug 57699 - [iOS]InternalsTest failure (Linkall) tests on device (#2243) Strip native debugging symbols should not be checked for debug builds * Bump mono to get fix for bug #57780. https://bugzilla.xamarin.com/show_bug.cgi?id=57780 * Update .gitmodules Change branch to d15-3 branch of mono * Bump maccore to get fix for bug #55064. https://bugzilla.xamarin.com/show_bug.cgi?id=55064 * [mono] Bump mono to get the head of cecil/mono-2017-04 and fix IsComObject #57919 Also fix #58789 [1], the typo in tools/mtouch/Tuning.cs showing in MT0000 errors instead MT2102. That's already in master and d15-4 mono bump includes: [2] commit 2a6502cee0df9de5198eafe7c8b5f6ac25106f34 (HEAD -> d15-3, origin/d15-3) Merge: 02457c20fcf 5e05cafc6f1 Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 10:04:06 2017 -0400 Merge pull request #5401 from marek-safar/com [Marshal.IsComObject] Make this predicate return false instead of thr… [3] commit 02457c20fcf57c0610e844d638eb1da82b5d1eb0 Merge: da80840ea55 73fd9a1b82e Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 09:59:06 2017 -0400 Merge pull request #5400 from spouliot/bump-cecil-58834-d15-3 [cecil] Bump to the head of the mono-2017-04 branch and pick the fix for bug #58834 References [1] https://bugzilla.xamarin.com/show_bug.cgi?id=58789 [2] https://bugzilla.xamarin.com/show_bug.cgi?id=57919 [3] https://bugzilla.xamarin.com/show_bug.cgi?id=58834 * [mtouch] Put 'mono_profiler_startup_log' in the symbol list. Fixes #58778. (#2501) We need the 'mono_profiler_startup_log' symbol when profiling is enabled, so make sure to add the symbol to the correct list of symbols we need. Previously we were passing `-u _mono_profiler_startup_log` to clang directly, which is fine, but not complete, since it does not write the symbol to the symbollist file (--symbollist=file), which means it wouldn't be preserved when the MSBuild tasks strip the executable. https://bugzilla.xamarin.com/show_bug.cgi?id=58778 * Bump versions for SR3 https://trello.com/c/EVze08ei * Bump mono to include HttpClientHandler fix #44027 https://trello.com/c/jYFXadH8/8-systemnethttp-close-request-stream-when-httpclienthandler https://bugzilla.xamarin.com/show_bug.cgi?id=44027 * [FileProvider] Add missing API and turn NSString to string (#2663) Turned NSString to string in order to match exisiting API. * [uikit] Add UIPasteConfigurationSupporting and UITextPasteConfigurationSupporting (#2649) - Fixes bug #59363: Missing UIPasteConfigurationSupporting, UITextPasteConfigurationSupporting, UITextDraggable and UITextDroppable on a couple of types (https://bugzilla.xamarin.com/show_bug.cgi?id=59363) * [uikit] Remove 129 types in UIPasteConfigurationSupporting case * [scenekit] Audit (xtro) fixes (#2648) This looks like an Apple breaking change (since `SCNAnimation` is new) but we now have: > typedef void (^SCNAnimationEventBlock)(id<SCNAnimation> animation, id animatedObject, BOOL playingBackward); bound as > delegate void SCNAnimationEventHandler (CAAnimation animation, NSObject animatedObject, bool playingBackward); and `CAAnimation` conforms to `SCNAnimation` but *only* the later is available on watchOS. The delegate is only updated (since it's new) on our watchOS profile. xtro references: (watchos) !unknown-protocol! SCNCameraControlConfiguration bound (tvos/watchos) !missing-selector! SCNAnimation::animationEvents not bound !missing-selector! SCNAnimation::setAnimationEvents: not bound !missing-selector! SCNConstraint::isEnabled not bound !missing-selector! SCNConstraint::setEnabled: not bound !missing-field! SCNSceneSourceConvertToYUpKey not bound !missing-field! SCNSceneSourceConvertUnitsToMetersKey not bound (ios/tvos) !missing-protocol-conformance! SCNNode should conform to UIFocusItem * Bump maccore post 15.3 merge (#2665) * Bump Xcode 9 to GM (#2667) * Force build (on wrench) * [avfoundation] Fix breaking changes (apidiff) (#2664) * [TVServices] Update to Xcode 9 GM (#2675) * [GameController] Update to Xcode 9 GM (#2673) * [LocalAuthentication] Update to Xcode 9 GM (#2671) * [LocalAuthentication] Update to Xcode 9 GM * Remove availability from BiometryNotAvailable, BiometryNotEnrolled and BiometryLockout * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer (#2659) * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer Some of the new added types were already present BUT under a #if MONOMAC, they had to be moved. * [AVFoundation] Set the wrongly added API to be obsolete and ensure it returns logical values. (#2650) * [xtro] The right platform for macOS is 'macos', not 'osx'. (#2677) The platform name is used to filter availability attributes, and if we use the wrong platform, we'll incorrectly skip all availability attributes. The net result in unclassified entries: https://gist.github.com/rolfbjarne/a4474bc2a40c49a85cad495b51bb514f * Various Xcode 9 API improvements and also fixes bug 59433 (#2676) https://bugzilla.xamarin.com/show_bug.cgi?id=59433 While fixing bug 59433 I noticed some additional issues outlined below: AVDepthData: * Renamed **non** static `Create` methods because `Create` only makes sense with the **Static** method in this context. Also by renaming the methods we are now closer to the names that swift uses. * Kept descriptive method names in favor of self-documenting code. `Convert`, `Apply` and `Replace` do not fully give us the intent of the method. * Added a convenience `Create` static method that takes a `CGImageAuxiliaryDataInfo`. * AvailableDepthDataTypes is now an array of `CVPixelFormatType` instead of a `NSNumber` array (The aactual fix for bug 59433). ImageIO: * Refactored `CGImageAuxiliaryDataInfo` to be a `StrongDictionary` in order to avoid most of the manual code and also to avoid reimplementing the `ToDictionary` method (which contained a subtle bug). * Adjusted code to reflect the above change. * Added missing `.ctor (IntPtr, bool)` to `CGImageMetadata` so the class is able to be created by our `Runtime.Get*`. * Simplified `CopyAuxiliaryDataInfo` method by using `CGImageAuxiliaryDataInfo` as a `DictionaryContainer`. Tests: * Added `xamarinmonkey.heic` which is an image that contains depth data needed to test above changes. * Adds `AVDepthDataTests` that touches most of the changes listed here. * Tweak the Simd-compatible matrices and vectors (#2668) * Rename them to be OpenTK.NMatrix# (instead of Simd.MatrixFloat#x#). * Remove the Vector2 and Vector4 variants, we'll use the OpenTK types instead (but we'll keep the NVector3 variant, since it's not identical to the OpenTK version). * Update the API to match their OpenTK counterparts better: * NMatrix2 and NMatrix3 have a 0-based R#C# scheme for their fields. * NMatrix4 has a 1-based M## scheme for its fields (i.e. no change). * [AVFoundation] Use Simd-matrix for API that needs it. (#2679) This also requires implementing the corresponding matrix (NMatrix4x3). Fixes this xtro issue: > !unknown-simd-type-in-signature! OpenTK.Matrix3 AVFoundation.AVCameraCalibrationData::get_GetIntrinsicMatrix(): the native signature has a simd type (matrix_float3x3), while the corresponding managed method is using an incorrect (non-simd) type. * [xtro] Fix checking availability on categories. (#2682) When checking for category availability, check if both the current declaration is a category, and if the current's declaration container is a category. Otherwise this scenario fails: * Category method is available. * Category does not have availability attributes. * Main class is unavailable. with this typical code sequence: ```csharp // don't process methods (or types) that are unavailable for the current platform if (!decl.IsAvailable () || !(decl.DeclContext as Decl).IsAvailable ()) return; ``` In which case we'd: * First check the method (`decl`): * It's available, so no further checks is done on the method. * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container's container is a category (it isn't, it's the namespace). and as such determine that the method is available. With this change, the second step will become: * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container is a category (it is), and if its main class is available (it isn't). and as such determine that the method is unavailable. * Check for attributes on the method's container (no attributes, so we continue). * Check if the method's Unclassified diff: https://gist.github.com/rolfbjarne/8fa80962596978a426eadf9b7ba39dc1 * [uikit] Update for Xcode 9 GM (#2670) * [AVFoundation] Implement AVCapturePhoto. Partially fixes #59388. (#2678) Fixes: > common.unclassified:!missing-type! AVCapturePhoto not bound https://bugzilla.xamarin.com/show_bug.cgi?id=59388 * Use strong dictionaries for AVCapturePhoto.Metadata and AVCapturePhoto.EmbeddedThumbnailPhotoFormat. * [SIMD] Implement Simd double types (VectorDouble3/MatrixDouble4x4). (#2632) The following types will be used by ModelIO bindings * Fix delta to be double * Rename Simd-compatible matrices and vectors to match our final naming. This also means removing the new Vector2 and Vector4 variants (but not Vector3). * [avfoundation] Remove AVAssetDownloadDelegate.DidLoadTimeRange since it was removed in one of the betas (#2687) * [foundation] Move NSUrlSessionMultipathServiceType to a file processed by the generator (for the availability attributes) (#2688) * [arkit] Update for Xcode 9 GM (#2681) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes (#2690) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes Type Changed: Intents.INCarSeatResolutionResult Removed methods: public static INCarSeatResolutionResult GetConfirmationRequired (INCarSeat valueToConfirm); public static INCarSeatResolutionResult GetSuccess (INCarSeat resolvedValue); * [avfoundation] Add missing protocol members and deprecations (#2691) !missing-protocol-member! AVCapturePhotoCaptureDelegate::captureOutput:didFinishProcessingPhoto:error: not found and the selector removed from PR#2687 was actually replaced with this one !missing-protocol-member! AVAssetDownloadDelegate::URLSession:aggregateAssetDownloadTask:didLoadTimeRange:totalTimeRangesLoaded:timeRangeExpectedToLoad:forMediaSelection: not found * [tests][xtro] Map some enums, more fix with protocols and update entries (#2692) * [Tests] Reenable dns tests on the watch. (#2674) * [arkit] Add ARBlendShapeLocationOptions strong dictionary (#2696) * [coreimage] Skip not yet bound filters added in Xcode9 (#2698) Tracked in https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * [Metal] Renamed MTLArgumentDescriptor.ArgumentDescriptor to Create, fixes bug 59498 (#2702) https://bugzilla.xamarin.com/show_bug.cgi?id=59498 From [argumentDescriptor docs](https://developer.apple.com/documentation/metal/mtlargumentdescriptor/2915746-argumentdescriptor?language=objc) > Creates an empty argument descriptor. * [msbuild] Always codesign app bundles if the codesign key is non-null (#2697) ...even if it is a simulator build. Turns out that starting with Xcode9, sim builds need to be codesigned for App Groups entitlements to work properly. Interestingly, the DetectSigningIdentity logic had a comment about needing to codesign simulator builds for some entitlements to work already starting with Xcode 8 but apparently the iOS targets did not respect this. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=59379 * [Foundation] Add NSProxy stub in order to workaround bug 59247 (#2693) https://bugzilla.xamarin.com/show_bug.cgi?id=59247 We need to have a better solution that removes all what NSProxy does not responds to. Right now this works because NSObject implements NSObject protocol just like NSProxy, but NSProxy responds to far less selectors hence doing it internal so it is not a breaking change when we provide the correct fix. * Keep NSProxy around and avoid XML linker description We need to keep NSProxy (avoid linking it) if WKNavigationDelegate or IWKNavigationDelegate is used. We know WKWebView will be there and can hold a reference to it. * [Xcode 9] Update Metal for GM (#2689) * [iosurface] IOSurface is not usable before iOS/tvOS 11. Fixes #59201 (#2706) Apple rejects apps that links with the previously private IOSurface.framework. We were not sure about this [1] and had it disabled (this is removed). However another bug stopped our adjustment logic [2] from being executed. This is needed since `clang` picks up the private framework if it does not find the public one (even when asking for a weak framework), [1] https://bugzilla.xamarin.com/show_bug.cgi?id=59201 [2] Added a while ago for JavascriptCore * Bump maccore to point to commit with the docs fix. (#2703) * Bump XI to 11.0.x (and XM to 3.99.9.x) (#2684) * fix typo
2017-09-16 00:53:16 +03:00
[BaseType (typeof(NSObject))]
interface SCNCameraController
{
[Export ("delegate", ArgumentSemantic.Assign)]
[NullAllowed]
[Protocolize]
SCNCameraControllerDelegate Delegate { get; set; }
[NullAllowed, Export ("pointOfView", ArgumentSemantic.Retain)]
SCNNode PointOfView { get; set; }
[Export ("interactionMode", ArgumentSemantic.Assign)]
SCNInteractionMode InteractionMode { get; set; }
[Export ("target", ArgumentSemantic.Assign)]
SCNVector3 Target { get; set; }
[Export ("automaticTarget")]
bool AutomaticTarget { get; set; }
[Export ("worldUp", ArgumentSemantic.Assign)]
SCNVector3 WorldUp { get; set; }
[Export ("inertiaEnabled")]
bool InertiaEnabled { get; set; }
[Export ("inertiaFriction")]
float InertiaFriction { get; set; }
[Export ("inertiaRunning")]
bool InertiaRunning { [Bind ("isInertiaRunning")] get; }
[Export ("minimumVerticalAngle")]
float MinimumVerticalAngle { get; set; }
[Export ("maximumVerticalAngle")]
float MaximumVerticalAngle { get; set; }
[Export ("minimumHorizontalAngle")]
float MinimumHorizontalAngle { get; set; }
[Export ("maximumHorizontalAngle")]
float MaximumHorizontalAngle { get; set; }
[Export ("translateInCameraSpaceByX:Y:Z:")]
void TranslateInCameraSpace (float deltaX, float deltaY, float deltaZ);
[Export ("frameNodes:")]
void FrameNodes (SCNNode[] nodes);
[Export ("rotateByX:Y:")]
void Rotate (float deltaX, float deltaY);
[Export ("rollBy:aroundScreenPoint:viewport:")]
void Roll (float delta, CGPoint screenPoint, CGSize viewport);
[Export ("dollyBy:onScreenPoint:viewport:")]
void Dolly (float delta, CGPoint screenPoint, CGSize viewport);
[Export ("rollAroundTarget:")]
void RollAroundTarget (float delta);
[Export ("dollyToTarget:")]
void DollyToTarget (float delta);
[Export ("clearRoll")]
void ClearRoll ();
[Export ("stopInertia")]
void StopInertia ();
[Export ("beginInteraction:withViewport:")]
void BeginInteraction (CGPoint location, CGSize viewport);
[Export ("continueInteraction:withViewport:sensitivity:")]
void ContinueInteraction (CGPoint location, CGSize viewport, nfloat sensitivity);
[Export ("endInteraction:withViewport:velocity:")]
void EndInteraction (CGPoint location, CGSize viewport, CGPoint velocity);
}
[Watch (3,0)]
2016-04-21 15:30:02 +03:00
[Mac (10,8), iOS (8,0)]
[BaseType (typeof (SCNGeometry))]
interface SCNCapsule {
[Export ("capRadius")]
nfloat CapRadius { get; set; }
[Export ("height")]
nfloat Height { get; set; }
[Export ("radialSegmentCount")]
nint RadialSegmentCount { get; set; }
[Export ("heightSegmentCount")]
nint HeightSegmentCount { get; set; }
[Export ("capSegmentCount")]
nint CapSegmentCount { get; set; }
[Static, Export ("capsuleWithCapRadius:height:")]
SCNCapsule Create (nfloat capRadius, nfloat height);
}
[Watch (3,0)]
2016-04-21 15:30:02 +03:00
[Mac (10,8), iOS (8,0)]
[BaseType (typeof (SCNGeometry))]
interface SCNCone {
[Export ("topRadius")]
nfloat TopRadius { get; set; }
[Export ("bottomRadius")]
nfloat BottomRadius { get; set; }
[Export ("height")]
nfloat Height { get; set; }
[Export ("radialSegmentCount")]
nint RadialSegmentCount { get; set; }
[Export ("heightSegmentCount")]
nint HeightSegmentCount { get; set; }
[Static, Export ("coneWithTopRadius:bottomRadius:height:")]
SCNCone Create (nfloat topRadius, nfloat bottomRadius, nfloat height);
}
[Watch (3,0)]
2016-04-21 15:30:02 +03:00
[Mac (10,8), iOS (8,0)]
[BaseType (typeof (SCNGeometry))]
interface SCNCylinder {
[Export ("radius")]
nfloat Radius { get; set; }
[Export ("height")]
nfloat Height { get; set; }
[Export ("radialSegmentCount")]
nint RadialSegmentCount { get; set; }
[Export ("heightSegmentCount")]
nint HeightSegmentCount { get; set; }
[Static, Export ("cylinderWithRadius:height:")]
SCNCylinder Create (nfloat radius, nfloat height);
}
[Watch (3,0)]
2016-04-21 15:30:02 +03:00
[Mac (10,8), iOS (8,0)]
[BaseType (typeof (SCNGeometry))]
interface SCNFloor {
[Export ("reflectivity")]
nfloat Reflectivity { get; set; }
[Export ("reflectionFalloffStart")]
nfloat ReflectionFalloffStart { get; set; }
[Export ("reflectionFalloffEnd")]
nfloat ReflectionFalloffEnd { get; set; }
[TV (10, 0), Mac (10, 12), iOS (10, 0)]
[Export ("reflectionCategoryBitMask")]
nuint ReflectionCategoryBitMask { get; set; }
[TV (10, 0), Mac (10, 12), iOS (10, 0)]
[Export ("width")]
nfloat Width { get; set; }
[TV (10, 0), Mac (10, 12), iOS (10, 0)]
[Export ("length")]
nfloat Length { get; set; }
2016-04-21 15:30:02 +03:00
[Mac (10,10)]
[Export ("reflectionResolutionScaleFactor")]
nfloat ReflectionResolutionScaleFactor { get; set; }
[Static, Export ("floor")]
SCNFloor Create ();
}
[Watch (3,0)]
2016-04-21 15:30:02 +03:00
[Mac (10,8), iOS (8,0)]
[BaseType (typeof (NSObject))]
[DisableDefaultCtor]
interface SCNGeometry : SCNAnimatable, SCNBoundingVolume, SCNShadable, NSCopying, NSSecureCoding {
[Export ("materials", ArgumentSemantic.Copy)]
SCNMaterial [] Materials { get; set; }
[Export ("geometryElementCount")]
nint GeometryElementCount { get; }
[Export ("firstMaterial", ArgumentSemantic.Retain)]
SCNMaterial FirstMaterial { get; set; }
[iOS (9,0)][Mac(10,11)] // header mistake (10,10) as tests shows it does not exists
[Export ("geometryElements")]
SCNGeometryElement [] GeometryElements { get; }
[iOS (9,0)][Mac(10,11)] // header mistake (10,10) as tests shows it does not exists
[Export ("geometrySources")]
SCNGeometrySource [] GeometrySources { get; }
[NullAllowed] // by default this property is null
[Export ("name", ArgumentSemantic.Copy)]
string Name { get; set; }
[Export ("insertMaterial:atIndex:")]
void InsertMaterial (SCNMaterial material, nint index);
[Export ("removeMaterialAtIndex:")]
void RemoveMaterial (nint index);
[Export ("replaceMaterialAtIndex:withMaterial:")]
void ReplaceMaterial (nint materialIndex, SCNMaterial newMaterial);
[Export ("materialWithName:")]
SCNMaterial GetMaterial (string name);
[Static]
[Export ("geometryWithSources:elements:")]
SCNGeometry Create (SCNGeometrySource [] sources, [NullAllowed] SCNGeometryElement [] elements);
2016-04-21 15:30:02 +03:00
[Export ("geometrySourcesForSemantic:")]
SCNGeometrySource [] GetGeometrySourcesForSemantic (string semantic);
[Export ("geometryElementAtIndex:")]
SCNGeometryElement GetGeometryElement (nint elementIndex);
[Mac (10,9)]
[NullAllowed] // by default this property is null
[Export ("levelsOfDetail", ArgumentSemantic.Copy)]
SCNLevelOfDetail [] LevelsOfDetail { get; set; }
[Mac (10,9)]
[Static, Export ("geometry")]
SCNGeometry Create ();
[Mac (10,10)]
[Export ("subdivisionLevel")]
nuint SubdivisionLevel { get; set; }
[Mac (10,10)]
[NullAllowed] // by default this property is null
[Export ("edgeCreasesElement", ArgumentSemantic.Retain)]
SCNGeometryElement EdgeCreasesElement { get; set; }
[Mac (10,10)]
[NullAllowed] // by default this property is null
[Export ("edgeCreasesSource", ArgumentSemantic.Retain)]
SCNGeometrySource EdgeCreasesSource { get; set; }
[Watch (4,0), TV (11,0), Mac (10,13), iOS (11,0)]
[Export ("wantsAdaptiveSubdivision")]
bool WantsAdaptiveSubdivision { get; set; }
2016-04-21 15:30:02 +03:00
#if XAMCORE_2_0
[NoWatch]
2016-04-21 15:30:02 +03:00
[iOS (9,0), Mac(10,11)]
[Static]
[Export ("geometryWithMDLMesh:")]
SCNGeometry FromMesh (MDLMesh mesh);
[NoWatch, NoTV, Mac (10,13), iOS (11,0)]
[NullAllowed, Export ("tessellator", ArgumentSemantic.Retain)]
SCNGeometryTessellator Tessellator { get; set; }
2016-04-21 15:30:02 +03:00
#endif
}
[Watch (3,0)]
2016-04-21 15:30:02 +03:00
[Mac (10,8), iOS (8,0)]
[BaseType (typeof (NSObject))]
interface SCNGeometrySource : NSSecureCoding {
[Export ("data")]
NSData Data { get; }
[Export ("semantic")]
NSString Semantic { get; }
[Export ("vectorCount")]
nint VectorCount { get; }
[Export ("floatComponents")]
bool FloatComponents { get; }
[Export ("componentsPerVector")]
nint ComponentsPerVector { get; }
[Export ("bytesPerComponent")]
nint BytesPerComponent { get; }
[Export ("dataOffset")]
nint DataOffset { get; }
[Export ("dataStride")]
nint DataStride { get; }
[Export ("geometrySourceWithData:semantic:vectorCount:floatComponents:componentsPerVector:bytesPerComponent:dataOffset:dataStride:")]
[Static]
SCNGeometrySource FromData (NSData data, NSString geometrySourceSemantic, nint vectorCount, bool floatComponents, nint componentsPerVector, nint bytesPerComponent, nint offset, nint stride);
[Static]
[Export ("geometrySourceWithVertices:count:"), Internal]
SCNGeometrySource FromVertices (IntPtr vertices, nint count);
[Static]
[Export ("geometrySourceWithNormals:count:"), Internal]
SCNGeometrySource FromNormals (IntPtr normals, nint count);
[Static]
[Export ("geometrySourceWithTextureCoordinates:count:"), Internal]
SCNGeometrySource FromTextureCoordinates (IntPtr texcoords, nint count);
#if XAMCORE_2_0 || !MONOMAC
[NoWatch]
2016-04-21 15:30:02 +03:00
[iOS (9,0)][Mac (10,11)]
[Static]
[Export ("geometrySourceWithBuffer:vertexFormat:semantic:vertexCount:dataOffset:dataStride:")]
SCNGeometrySource FromMetalBuffer (IMTLBuffer mtlBuffer, MTLVertexFormat vertexFormat, NSString geometrySourceSemantic, nint vertexCount, nint offset, nint stride);
#endif
}
[Watch (3,0)]
2016-04-21 15:30:02 +03:00
[Mac (10,8), iOS (8,0)]
[Static]
interface SCNGeometrySourceSemantic {
[Field ("SCNGeometrySourceSemanticVertex")]
NSString Vertex { get; }
[Field ("SCNGeometrySourceSemanticNormal")]
NSString Normal { get; }
[Field ("SCNGeometrySourceSemanticColor")]
NSString Color { get; }
[Field ("SCNGeometrySourceSemanticTexcoord")]
NSString Texcoord { get; }
[TV (10, 0), Mac (10, 12), iOS (10, 0)]
[Field ("SCNGeometrySourceSemanticTangent")]
NSString Tangent { get; }
2016-04-21 15:30:02 +03:00
[Mac (10,10)]
[Field ("SCNGeometrySourceSemanticVertexCrease")]
NSString VertexCrease { get; }
[Mac (10,10)]
[Field ("SCNGeometrySourceSemanticEdgeCrease")]
NSString EdgeCrease { get; }
[Mac (10,10)]
[Field ("SCNGeometrySourceSemanticBoneWeights")]
NSString BoneWeights { get; }
[Mac (10,10)]
[Field ("SCNGeometrySourceSemanticBoneIndices")]
NSString BoneIndices { get; }
}
[Watch (3,0)]
2016-04-21 15:30:02 +03:00
[Mac (10,8), iOS (8,0)]
[BaseType (typeof (NSObject))]
interface SCNGeometryElement : NSSecureCoding {
[Export ("data")]
NSData Data { get; }
[Export ("primitiveType")]
SCNGeometryPrimitiveType PrimitiveType { get; }
[Export ("primitiveCount")]
nint PrimitiveCount { get; }
[Export ("bytesPerIndex")]
nint BytesPerIndex { get; }
[Static]
[Export ("geometryElementWithData:primitiveType:primitiveCount:bytesPerIndex:")]
SCNGeometryElement FromData ([NullAllowed] NSData data, SCNGeometryPrimitiveType primitiveType, nint primitiveCount, nint bytesPerIndex);
[Watch (4,0), TV (11,0), Mac (10,13), iOS (11,0)]
[Export ("primitiveRange", ArgumentSemantic.Assign)]
NSRange PrimitiveRange { get; set; }
[Watch (4,0), TV (11,0), Mac (10,13), iOS (11,0)]
[Export ("pointSize")]
nfloat PointSize { get; set; }
[Watch (4,0), TV (11,0), Mac (10,13), iOS (11,0)]
[Export ("minimumPointScreenSpaceRadius")]
nfloat MinimumPointScreenSpaceRadius { get; set; }
[Watch (4,0), TV (11,0), Mac (10,13), iOS (11,0)]
[Export ("maximumPointScreenSpaceRadius")]
nfloat MaximumPointScreenSpaceRadius { get; set; }
2016-04-21 15:30:02 +03:00
#if XAMCORE_2_0
[NoWatch]
2016-04-21 15:30:02 +03:00
[iOS (9,0), Mac(10,11)]
[Static]
[Export ("geometryElementWithMDLSubmesh:")]
SCNGeometryElement FromSubmesh (MDLSubmesh submesh);
#endif
}
Merge xcode9 into d15-4[-xi] (#2710) * [FileProvider] Add Xcode 9 Beta 1, 2 & 3 Bindings (#2279) * [FileProvider] Add Xcode 9 Beta 1 Bindings * Better naming * Feedback not related to BindAs * [FileProvider] Removes BindAs, add manual code for it and updated to Beta 3 * [FileProvider] Implement feedback * [CoreSpotlight] Updated spotlight bindings for xcode 9 beta 3. (#2193) Updated spotlight bindings for xcode 9 beta 3. * Fix warning caused by duplicate (#2354) * [FileProviderUI] Add Xcode 9 Beta 1 to 3 bindings (#2356) * Bump to Xcode 9 beta 4 * [arkit] ARLightEstimate does not conform to NSCopying anymore (fix unit test) * [uikit] NSFileProviderExtension.ReparentItem got a new parameter in beta4 (fix unit test) * [coreimage] CIImageAccumulator init returns nil in beta 4 There's no header change to mention `init` is not allowed but it's not clear how this default initializer could be used. Also make public some other API to construct this type (outside of XM). It's not clear why there were `internal` as they are (at least now) part of the header files. * [photos] Add helpers when PHLivePhotoEditingOption/NSDictionary is null (to avoid ambiguous API) (#2360) Adding a strongly typed `PHLivePhotoEditingOption` (a strongly typed version of an `NSDictionary`) can cause a `CS0121` (call is ambiguous) since using a `null` argument is common (only one option exist so far). This PR adds overloads that makes the code nicer in such case, e.g. before Xcode9: > // null is used when no options are given > _foo.SaveLivePhoto (output, null, completion); current (Xcode 9) > // casting required to remove ambiguity with PHLivePhotoEditingOption > _foo.SaveLivePhoto (output, (NSDictionary)null, completion); with this PR > // no option, no argument > _foo.SaveLivePhoto (output, completion); The same applies to `PrepareLivePhotoForPlayback`. * [tests] Disable/tweak two tests that breaks on (almost) all Xcode updates Those tests were not added to validate xOS so just keep the parts that helps us (without constantly checking back the new break flavor) * Disable watchOS to check if this hides others issues * [mapkit] Update for beta 4 * [coredata] Update for beta 4 * [wkwebkit] Update for beta 4 Note: WKWindowFeatures.h is not compiled (part of the framework umbrella) and the `@interface WKWindowFeatures (WKPrivate)` sounds like it should not have been exposed (it's all fields starting with `_`) * [corelocation] Update for beta 4 * Revert "Disable watchOS to check if this hides others issues" This reverts commit fed2249fa43290a1956ab2fe0d48f83ab6db9711. * [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]: https://github.com/xamarin/xamarin-macios/blob/f5956d6cc1eb5dfa7bab16628cf282d40237f64e/src/generator.cs#L5985 * [FinderSync] Update to beta 4 (#2377) * [ImageIO] Update to Xcode 9 (#2353) * [PhotosUI] Move macOS photosui bindings out of photos.cs into photosui.cs (#2358) * [quicklook] Update up to beta 4 (#2374) * [uikit] UIDragInteraction & UIDragInteractionDelegate (Xcode 9 b1,2,3) (#2357) * [safariservices] Update up to beta 4 (#2380) * [coreanimation] Update to beta 4 (#2382) Apple removed (mistake?) some API in beta 1. Filed as rdar 33590997 Internal tracking in https://trello.com/c/J8BDDUV9/86-33590997-coreanimation-quartzcore-api-removals * [storekit] Update up to beta 4 (#2379) * [CoreML] Update to Xcode 9 Beta 4 (#2387) * [uikit] UICollectionView/UITableView Drag & Drop (Xcode 9 b1,2,3 & 4) (#2355) * Update code after radar 32929318 and 32897776 are fixed in b4 (#2394) * [xcode9 CoreAudio] New definitions from Beta1 to Beta3 (#2359) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 (#2397) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 https://bugzilla.xamarin.com/show_bug.cgi?id=58512 Created strong API (VNBarcodeSymbology) on the following properties * VNDetectBarcodesRequest.SupportedSymbologies * VNDetectBarcodesRequest.Symbologies * VNBarcodeObservation.Symbology * Remove modern C# because classic can't do it 😡 * [mediaplayer] Update up to beta 4 (#2388) * [watchkit] Update to beta 4 (#2398) * Bump Visual Studio for Mac max version (#2408) * [coreimage] Add CIBarcodeDescriptor and enabled missing API for VNBarcodeObservation. Fix #58197 (#2411) https://bugzilla.xamarin.com/show_bug.cgi?id=58197 * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 (#2407) * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 * [uikit] Fixes based on comments * [coreimage] CIImageAccumulator API fixes. Fix #58349 (#2412) * Obsolete the default `init`; * XM exposed some older APIs using `int` instead of `CIFormat`. This is fixed and old APIs are obsoleted; * Both new & old APIs are now using `CIFormat` for both XI and XM. https://bugzilla.xamarin.com/show_bug.cgi?id=58349 * [uikit] UIText drag & drop - up to Xcode 9 beta 4 (#2410) * [uikit] UISplitView & UIStackView up to Xcode 9 beta 4 (#2425) * Bump XI/XM versions before preview 4 (#2422) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 (#2378) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 * [PDFKit] Implement feedback * [PDFKit] the forgotten enum * [PDFKit] More feedback * [PDFKit] Add Mac changes * Missing change * Fix test RectangleF VS CGRect * Pass -Wunguarded-availability-new to quiet a new clang warning (#2424) - https://bugzilla.xamarin.com/show_bug.cgi?id=58574 * [mtouch/mmp] Ignore warnings about unguarded code section with regards to availability. (#2441) * [monotouch-test] Remove workaround for fixed Apple bug. (#2445) * Bump to Xcode 9 beta 5. (#2447) * Bump to Xcode 9 beta 5. * [mmp] Disable the partial static registrar, because Apple's macOS SDK is broken. > In file included from Xamarin.Mac.registrar.mobile.i386.m:1: > In file included from ./Xamarin.Mac.registrar.mobile.i386.h:11: > /Applications/Xcode9-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVFoundation.h:88:9: fatal error: 'AVFoundation/AVRouteDetector.h' file not found https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [mmp] Fix partial static registrar removal. * [CallKit] Update to Xcode 9 beta 5. * [ARKit] ARPointCloud doesn't conform to NSCopying anymore in Xcode 9 beta 5. * [ARKit] Update to Xcode 9 beta 5 enough to make tests happy. * [CoreImage] Stub out new filters in Xcode 9 beta 5. * [tests][monotouch] Simplify some MDLMesh asserts since values change a lot between OS versions. * [mmp] Default to the dynamic registrar for release builds again, due to bug #58629. https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [tests][introspection] CXCall started implementing NSCopying without saying so in the headers. * Disable mmp static registrar tests due to 58629 for now * [quicklook] Update to beta 5 (#2450) * [photos] Update for beta 5 (#2452) Also update some existing enum members were added in beta 1 on macOS * [safariservices] Update for beta 5 (#2455) * [mediaplayer] Update to beta 5 (#2456) * [CoreLocation] Update Xcode 9 Beta 5 (#2453) * [CoreML] Update to Xcode 9 Beta 5 (#2454) * [Contacts] Update to Xcode 9 Beta 5 (#2451) * [Vision] Update to Xcode 9 Beta 5 (#2458) * [builds] Tell LLVM to stay away from newer macOS functions. (#2459) Fixes this build problem on Sierra: > ld: weak import of symbol '_futimens' not supported because of option: -no_weak_imports for architecture x86_64 This is a symbol that was (will be?) introduced in High Sierra. Interestingly this only occurs if the Xcode 8.X Command Line Tools haven't been manually installed. Because if the Xcode 8.X Command Line Tools are installed, this happens: 1. llvm's configure script detects that 'futimens' is not usable. 2. llvm's configure script detects that 'futimens' is not usable, because xcrun sets SDKROOT=/ when calling clang. a. When the SDKROOT variable is set, clang passes '-syslibroot /usr/lib' to ld. b. When ld gets '-syslibroot /usr/lib', ld looks in '/usr/lib' for a library that contains 'futimens' in the OS itself, and since we're on Sierra, that fails to link. c. So when llvm's configure script creates a test program that checks if 'futimens' is present, the program fails. This is correct, and makes llvm *not* use futimens. 3. xcrun sets SDKROOT=/ because /usr/share/current-os.sdk/Info.plist exists. If that file does not exist, then xcrun sets SDKROOT to Xcode9's macOS SDK (because that's what xcode-select reports). a. When SDKROOT is set to Xcode9's macOS SDK, the configure check for 'futimens' succeeds, because the macOS 10.13 SDK contains that function. b. llvm happily uses 'futimens', and then the final link fails because we're using a symbol not available on all target platforms. * [arkit] Update for Xcode 9 beta 5 - Part 1 (#2460) * [tests] The container app for watchOS tests should be 64-bit. (#2463) * [xharness] watchOS tests need to run in a clean environment. Works around #58348. (#2462) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [xharness] It watchOS tests don't need to be clean anymore. Fixes #58348. (#2473) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [uikit] UIView/UIScrollView/UIViewController up to Xcode 9 beta 5 (#2431) - Add NSDirectionalEdgeInsets type. - Includes DirectionalEdgeInsetsTest. * [AudioToolbox] Update bindings to Xcode 9 beta3 (not later changes). (#2294) * [xharness] Add a file existence check. (#2478) Fixes this exception: ``` Harness exception for 'introspection': System.IO.FileNotFoundException: Could not find file '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log'. File name: '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log' at System.IO.__Error.WinIOError (System.Int32 errorCode, System.String maybeFullPath) [0x00207] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/__error.cs:188 at System.IO.FileInfo.get_Length () [0x00038] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/fileinfo.cs:171 at xharness.CaptureLog.StopCapture () [0x00021] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Log.cs:252 at (wrapper remoting-invoke-with-check) xharness.CaptureLog:StopCapture () at xharness.AppRunner+<RunAsync>d__68.MoveNext () [0x0127f] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/AppRunner.cs:642 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter`1[TResult].GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:357 at xharness.RunSimulatorTask+<RunTestAsync>d__7.MoveNext () [0x0029d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2894 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.RunTestTask+<ExecuteAsync>d__8.MoveNext () [0x0010b] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2538 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.TestTask+<RunInternalAsync>d__87.MoveNext () [0x0010d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:1870 ``` I'm not sure how this can happen, but it has on the bots [1]. [1] https://jenkins.mono-project.com/job/xamarin-macios-pr-builder/4548/Test_Report/ * Bump versions for preview 5 (#2479) * [passkit] Update to beta 5 (#2481) * [tests] Remove workaround for radar #32688391. (#2486) * [replaykit] Update up to beta 5 (#2484) * Bump maccore to get fix for bug #55064. (#2487) * [apidiff] Update definition to new 10.12 (d15-3) stable release (#2490) * [SceneKit] basic work (#2483) * [coredata] Update to beta 5 (#2488) * [homekit] Update for Xcode 9 beta 5 (#2492) * [Foundation] Update for xcode9 (#2468) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 (#2493) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 * [Intents] Implement feedback * [Intents] Add a generic version for INInteraction.GetParameterValue * [Intents] Missing check * [Contacts] Add missing foundation NSItemProviderWriting protocol to CNContact (#2496) https://bugzilla.xamarin.com/show_bug.cgi?id=58203 This is available on all Contacts supported platforms ``` ./iPhoneOS.platform/Developer/SDKs/iPhoneOS11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchOS.platform/Developer/SDKs/WatchOS4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchSimulator.platform/Developer/SDKs/WatchSimulator4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ``` * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) (#2497) * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) * [IntentsUI] Better use a delegate instead so we have named params * Bump versions before 6th preview (#2514) * [arkit] Add missing MarshalDirective to ARPlaneAnchor (#2517) - Fixes bug #58648: ARPlaneAnchor.Extent property seems incorrect but changes to correct value after Debug access (https://bugzilla.xamarin.com/show_bug.cgi?id=58648) * [xtro-sharpie] Fix a compiler warning. (#2516) Fixes these warnings: Runner.cs(197,5): warning CS0642: Possible mistaken empty statement Runner.cs(199,5): warning CS0642: Possible mistaken empty statement Runner.cs(201,5): warning CS0642: Possible mistaken empty statement Runner.cs(203,5): warning CS0642: Possible mistaken empty statement Runner.cs(205,5): warning CS0642: Possible mistaken empty statement * [uikit] Update for Xcode 9 beta 5 - Part 3 (#2511) - UIKeyCommand - UINavigationBar - UINavigationItem - UIPasteboard - UITableViewHeaderFooterView * [xtro-sharpie] Remove xtro-plugin and misc other fixes. (#2522) * [xtro-sharpie] Build with msbuild and be as quiet as requested when building. * [xtro-sharpie] Must run as a 64-bit process, since the required native libraries are 64-bit. * [xtro-sharpie] Add run configurations to the project file to ease debugging in the IDE. * [xtro-sharpie] Remove xtro-plugin and the related commands. This was needed when there wasn't a 64-bit mono, in order to run xtro-sharpie in a 64-bit process. Now there is a 64-bit mono, so it's not needed anymore. Also improve makefile targets a bit, to auto-build stuff when needed, by setting the right dependencies. * Bump Xcode 9 to beta 6 (#2519) Disable watchOS tests again It seems like the Carousel crash from beta 4 is back to haunt us. This was working fine with beta 5. * Backport d15-3 SR2 fixes (#2515) * [coredata] Update to beta 6 (#2528) This seems to only revert some nullability changes from beta 5. * [coreml] Update to beta 6 (#2531) Fix our rdar 33643011 where additional setters were added in the headers but did not exists. * [videosubscriberaccount] Update to beta 6 (#2533) Only b1 and b2 introduced some additions/changes * [uikit] Update for Xcode 9 beta 6 - Part 4 (#2527) The following headers are now up to date: - UICollectionViewFlowLayout.h - UIDocumentPickerViewController.h - UIFontDescriptor.h - UIImage.h - UIImageView.h - UIImagePickerController.h * [xharness] Re-enable the watchOS tests. (#2534) It works fine for me locally, so let's see what Jenkins says. * [macos] Add new APIs in CoreWlan from Xcode9b3 (#2525) * Update AppKit bindings based on radar 33271241 results (#2518) * Update AppKit bindings based on radar 33271241 results - The header comment was updated to note it was NSSliderTouchBarItem view that has the protocol * Remove NSUserInterfaceCompression where not listed in header * [vision] Update to beta 6 (#2532) Removal of some deprecated (during beta) `init*` selectors. Also sync the versions that were inlined in subclasses - the old ones were not removed and the new ones were not added. * [xtro-sharpie] Many methods don't have selectors in Clang's API, so default to the name if no selector. (#2523) This makes a few more unclassified entries show up (mostly missing designated initializers): https://gist.github.com/rolfbjarne/07aa20f9b50b75bf3e69ac6a825e873a * [macos] Add ExternalAccessory APIs from xcode9 (#2526) * [58851] Disable NSMenuView in AllItemsWithNSMenuShouldAllowNull (#2504) * [arkit] Update for Xcode 9 beta 5 - Part 2 (#2505) - Add last missing selector. - Add tests for manual code. * [monotouch-test] Disable FontDescriptorTest.WithFeature (#2537) Disabled because it looks like the tvOS font we use: "Gujarati Sangam MN" does not have rare ligatures anymore (and the entire test is based on it). Before getting an actual fix for that, let's disable the test so it doesn't break all current builds. See: https://bugzilla.xamarin.com/show_bug.cgi?id=58929 * [xtro-sharpie] Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute. (#2524) Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute to calculate the native name for a TypeDefinition. Unclassified changes: https://gist.github.com/rolfbjarne/828f8ee41eebb0a3b60a38d71822fe59 * [foundation/uikit] Inline NSItemProvider_UIKitAdditions in NSItemProvider (#2538) As suggested here: https://github.com/xamarin/xamarin-macios/pull/2527#discussion_r134670981 * [intents] Fix breaking changes (api-diff) (#2543) Additions of @required members inside `INSpeakable` cannot be `[Abstract]` * [contacts] Fix breaking change (api-diff) (#2542) Type Changed: Contacts.CNPostalAddress Removed method: public static string LocalizeProperty (CNPostalAddressKeyOption option); * [macos] Reenable static registrar since Xcode9b6 un-broke SDK headers (#2544) - Fix a subtle spacing issues in PartialStaticLibrary property * [corebluetooth] Update up to beta 6 and enable it on watchOS (#2540) macOS 10.13 has finally catch up with iOS and this simplifies the bindings a bit. * [foundation] API fixes (apidiff) (#2545) 1. Let's not add new, already [Obsolete] API Type Changed: Foundation.NSDimension Added constructors: [Obsolete ("Not intended to be directly instantiated, this is an abstract class.")] public NSDimension (); 2. Fix inconsistently named API, e.g. Type Changed: Foundation.NSAttributedString Added properties: public static string[] ReadableTypeIdentifiersForItemProvider { get; } public static string[] WritableTypeIdentifiers { get; } * [pdfkit] Do not add already [Obsolete] API in new profiles (#2547) and ensure using the newer, correct API works cross-platforms iOS (before) [Obsolete ("Use 'Find (string, NSStringCompareOptions)' instead.")] public virtual PdfSelection[] Find (string text, nint options); public PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'Find (string, PdfSelection, NSStringCompareOptions)' instead.")] public virtual PdfSelection Find (string text, PdfSelection selection, nint options); public void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string, NSStringCompareOptions)' instead.")] public virtual void FindAsync (string text, nint options); public void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string [], NSStringCompareOptions)' instead.")] public virtual void FindAsync (string[] text, nint options); iOS (after) public virtual PdfSelection[] Find (string text, Foundation.NSStringCompareOptions compareOptions); public virtual PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); * Bump versions for the 7th preview (#2541) * Remove additions of AVKit removed in beta5 (#2536) * NSUrlSessionTask should implement NSProgressReporting for iOS (#2548) NSUrlSessionTask implements NSProgressReporting on iOS as well as Mac, so the #if MONOMAC isn't needed. * Add missing availability attributes causing failures on older iOS versions (#2550) * [vision] Minor fix wrt xtro (#2551) including some things we need to ignore manually !missing-field! VNVisionVersionNumber not bound !missing-pinvoke! VNImagePointForFaceLandmarkPoint is not bound !missing-pinvoke! VNNormalizedFaceBoundingBoxPointForLandmarkPoint is not bound * [uikit] NSFileProviderMessaging was removed in beta 2. Fixes #58222 (#2552) reference: https://bugzilla.xamarin.com/show_bug.cgi?id=58222 * [uikit] Update for Xcode 9 - Part 5 (#2546) Bindings for the following headers: - UIActivity.h - UIActivityItemProvider.h - UIAlertController.h - UIApplication.h - UIBarButtonItem.h - UIButton.h - UICollectionViewLayout.h - UIColor.h - UIControl.h - UIDocumentMenuViewController.h - UIFontMetrics.h - UIGestureRecognizer.h - UIGraphicsImageRenderer.h - UIInputViewController.h * [CoreText] Fix an extraneous free in CTFont.GetDefaultCascadeList. (#2555) We do not own the return value from CFArrayGetValueAtIndex, so don't say we do when creating CTFontDescriptor instances, since that leads to angry dragons: 2017-08-28 20:15:20.293 monotouchtest[33186:2311738] A_FontTest 2017-08-28 20:15:20.294 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithFontDescriptorAndOptions 2017-08-28 20:15:20.295 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithNameAndOptions 2017-08-28 20:15:20.296 monotouchtest[33186:2311738] critical: Stacktrace: at <unknown> <0xffffffff> at (wrapper managed-to-native) CoreText.CTFont.CTFontCopyDefaultCascadeListForLanguages (intptr,intptr) [0x0000a] in <ae65a2b1eea242d2b68fe784749543bf>:0 at CoreText.CTFont.GetDefaultCascadeList (string[]) [0x00013] in /work/maccore/xcode9/xamarin-macios/src/CoreText/CTFont.cs:2185 at MonoTouchFixtures.CoreText.A_FontTest.GetCascadeList () [0x0001e] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/CoreText/FontTest.cs:78 at (wrapper runtime-invoke) object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) [0x0004f] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) System.Reflection.MonoMethod.InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&) [0x00016] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at System.Reflection.MonoMethod.Invoke (object,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo) [0x00032] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/corlib/System.Reflection/MonoMethod.cs:305 at System.Reflection.MethodBase.Invoke (object,object[]) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/referencesource/mscorlib/system/reflection/methodbase.cs:229 at NUnit.Framework.Internal.Reflect.InvokeMethod (System.Reflection.MethodInfo,object,object[]) [0x00009] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Reflect.cs:215 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunNonAsyncTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x00025] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:116 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x0001a] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:90 at NUnit.Framework.Internal.Commands.TestMethodCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:66 at NUnit.Framework.Internal.Commands.SetUpTearDownCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00007] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/SetUpTearDownCommand.cs:84 at NUnit.Framework.Internal.WorkItems.SimpleWorkItem.PerformWork () [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/SimpleWorkItem.cs:64 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at MonoTouch.NUnit.UI.BaseTouchRunner.Run (NUnit.Framework.Internal.Test) [0x0004d] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:442 at MonoTouch.NUnit.UI.BaseTouchRunner.Run () [0x00030] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:171 at MonoTouch.Dialog.StringElement.Selected (MonoTouch.Dialog.DialogViewController,UIKit.UITableView,Foundation.NSIndexPath) [0x00008] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/Elements.cs:765 at MonoTouch.Dialog.DialogViewController.Selected (Foundation.NSIndexPath) [0x00026] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:577 at MonoTouch.Dialog.DialogViewController/Source.RowSelected (UIKit.UITableView,Foundation.NSIndexPath) [0x00016] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:402 at (wrapper runtime-invoke) <Module>.runtime_invoke_void__this___object_object (object,intptr,intptr,intptr) [0x0005d] in <32f0c196c5bc4aa18daea2ee64a7814e>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) UIKit.UIApplication.UIApplicationMain (int,string[],intptr,intptr) [0x0005c] in <ae65a2b1eea242d2b68fe784749543bf>:0 at UIKit.UIApplication.Main (string[],intptr,intptr) [0x00005] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:79 at UIKit.UIApplication.Main (string[],string,string) [0x00038] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:63 at monotouchtest.Application.Main (string[]) [0x00011] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/Main.cs:27 at (wrapper runtime-invoke) <Module>.runtime_invoke_void_object (object,intptr,intptr,intptr) [0x00051] in <30a7f7e09de9467b8b454221034a0e38>:0 Native stacktrace: 0 monotouchtest 0x000000010fca03c4 mono_handle_native_crash + 244 1 monotouchtest 0x000000010fcadd30 mono_sigsegv_signal_handler + 288 2 libsystem_platform.dylib 0x000000011feb3b3a _sigtramp + 26 3 CoreFoundation 0x000000011de035a2 computeSanitizedString + 146 4 CoreText 0x00000001168df314 _ZN15TPurgeableCache19RetainedValueForKeyEPKv + 54 5 CoreText 0x00000001168def85 _ZNK17TDescriptorSource22CopyDescriptorUncachedEPK7__CFURLbPK10__CFString + 55 6 CoreText 0x00000001168df34f _ZNK17TDescriptorSource14CopyDescriptorEPK7__CFURLbPK10__CFString + 27 7 CoreText 0x00000001168e20ad _ZNK17TDescriptorSource35CopyFontDescriptorPerPostScriptNameEPK10__CFStringmm + 297 8 CoreText 0x00000001168dfd9e _ZNK17TDescriptorSource30CopySystemFontDescriptorByNameEPK10__CFString10UIFontFlag + 54 9 CoreText 0x00000001168e54c4 _ZNK14TFontFallbacks17CopyFontFallbacksEPK10__CFStringS2_PK9__CFArray + 652 10 CoreText 0x00000001168e4a00 _ZNK14TFontFallbacks29CopyFontFallbacksForLanguagesEPK10__CFStringPK9__CFArray + 122 11 CoreText 0x00000001168e4971 _ZN17TDescriptorSource39CopyDefaultSubstitutionListForLanguagesEPK10__CFStringPK9__CFArray + 61 12 CoreText 0x00000001169397a7 _ZNK9TBaseFont28CreateSystemDefaultFallbacksEPK10__CFStringPK9__CFArray + 51 13 CoreText 0x000000011693999c _ZNK9TBaseFont15CreateFallbacksE10UIFontFlagPPK16__CFCharacterSetPK9__CFArray + 346 14 CoreText 0x00000001168c1036 _ZNK5TFont24CreateDefaultCascadeListEPK9__CFArray + 242 15 CoreText 0x00000001168b8ff9 CTFontCopyDefaultCascadeListForLanguages + 97 16 ??? 0x0000000140eaefd3 0x0 + 5384105939 17 ??? 0x0000000140eae761 0x0 + 5384103777 18 ??? 0x000000013c9c8e74 0x0 + 5311860340 19 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 20 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 21 monotouchtest 0x000000010fd71bac mono_runtime_try_invoke_array + 1292 22 monotouchtest 0x000000010fd15587 ves_icall_InternalInvoke + 647 23 ??? 0x000000013e9fcd13 0x0 + 5345627411 24 ??? 0x000000013e9fc738 0x0 + 5345625912 25 ??? 0x000000013e9fded5 0x0 + 5345631957 26 ??? 0x000000013e9fbb76 0x0 + 5345622902 27 ??? 0x000000013e9e237e 0x0 + 5345518462 28 ??? 0x000000013e9e237e 0x0 + 5345518462 29 ??? 0x000000013e9e237e 0x0 + 5345518462 30 ??? 0x000000013e9e237e 0x0 + 5345518462 31 ??? 0x000000013e873006 0x0 + 5344014342 32 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 33 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 34 monotouchtest 0x000000010fd6e320 mono_runtime_invoke + 208 35 monotouchtest 0x000000010fe71af1 xamarin_invoke_trampoline + 5617 36 monotouchtest 0x000000010fe79ddd xamarin_arch_trampoline + 189 37 monotouchtest 0x000000010fe7b1a1 xamarin_x86_64_common_trampoline + 110 38 UIKit 0x0000000111b9876b -[UITableView _selectRowAtIndexPath:animated:scrollPosition:notifyDelegate:] + 1810 39 UIKit 0x0000000111b98986 -[UITableView _userSelectRowAtPendingSelectionIndexPath:] + 344 40 UIKit 0x0000000111a6b5c9 _runAfterCACommitDeferredBlocks + 318 41 UIKit 0x0000000111a59dad _cleanUpAfterCAFlushAndRunDeferredBlocks + 280 42 UIKit 0x0000000111a89f68 _afterCACommitHandler + 137 43 CoreFoundation 0x000000011de3ddb7 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23 44 CoreFoundation 0x000000011de3dd0e __CFRunLoopDoObservers + 430 45 CoreFoundation 0x000000011de22324 __CFRunLoopRun + 1572 46 CoreFoundation 0x000000011de21a89 CFRunLoopRunSpecific + 409 47 GraphicsServices 0x0000000121b7e9c6 GSEventRunModal + 62 48 UIKit 0x0000000111a5f7d0 UIApplicationMain + 159 49 ??? 0x000000013c9c4474 0x0 + 5311841396 50 ??? 0x000000013c9c40ad 0x0 + 5311840429 ================================================================= Got a SIGSEGV while executing native code. This usually indicates a fatal error in the mono runtime or one of the native libraries used by your application. ================================================================= * [monotouch-test] Don't subclass MKMapView. (#2556) MKMapView doesn't like being subclassed (Apple says "you should not subclass the MKMapView class itself"). Bad things like this starts happening: Thread 0 name: tid_303 Dispatch queue: com.apple.main-thread Thread 0 Crashed: 0 libsystem_kernel.dylib 0x0000000186b25348 __pthread_kill + 8 1 libsystem_pthread.dylib 0x0000000186c39354 pthread_kill$VARIANT$mp + 396 2 libsystem_c.dylib 0x0000000186a94fd8 abort + 140 3 monotouchtest 0x0000000101c02c14 mono_handle_native_crash + 22047764 (mini-exceptions.c:2548) 4 monotouchtest 0x0000000101c0d02c mono_sigsegv_signal_handler + 22089772 (mini-runtime.c:2886) 5 libsystem_platform.dylib 0x0000000186c33b60 _sigtramp + 52 6 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 7 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 8 CoreFoundation 0x0000000186eda51c -[__NSArrayM dealloc] + 68 9 CoreFoundation 0x000000018703f5c8 __CFBasicHashDrain + 312 10 CoreFoundation 0x0000000186fb5b44 _CFRelease + 224 11 CoreText 0x000000018a808404 TDescriptorSource::PurgeFontFallbacksCache+ 488452 () + 92 12 CoreText 0x000000018a808374 TDescriptorSource::PurgeFromCaches+ 488308 (__CFURL const*) const + 176 13 CoreText 0x000000018a7eec74 CTFontRemoveFromCaches + 168 14 VectorKit 0x0000000196a539b0 +[VKSharedResourcesManager removeResourceUser:] + 324 15 VectorKit 0x0000000196ca27a4 md::MapEngine::~MapEngine+ 2643876 () + 360 16 VectorKit 0x0000000196ca2634 md::MapEngine::~MapEngine+ 2643508 () + 12 17 libobjc.A.dylib 0x000000018651eef4 object_cxxDestructFromClass+ 28404 (objc_object*, objc_class*) + 148 18 libobjc.A.dylib 0x000000018652c638 objc_destructInstance + 88 19 libobjc.A.dylib 0x000000018652c690 object_dispose + 16 20 QuartzCore 0x000000018afca3ac -[CALayer dealloc] + 116 21 VectorKit 0x0000000196a43294 -[VKMapView dealloc] + 940 22 QuartzCore 0x000000018af6aafc CA::release_objects+ 744188 (X::List<void const*>*) + 32 23 QuartzCore 0x000000018afd97d8 CA::Layer::~Layer+ 1198040 () + 276 24 QuartzCore 0x000000018afca37c -[CALayer dealloc] + 68 25 QuartzCore 0x000000018af6b16c CA::Transaction::commit+ 745836 () + 1052 26 UIKit 0x0000000190393290 _afterCACommitHandler + 256 27 CoreFoundation 0x0000000186fb38b8 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 32 28 CoreFoundation 0x0000000186fb1270 __CFRunLoopDoObservers + 412 29 CoreFoundation 0x0000000186fb182c __CFRunLoopRun + 1292 30 CoreFoundation 0x0000000186ed22d8 CFRunLoopRunSpecific + 436 31 GraphicsServices 0x0000000188d58f84 GSEventRunModal + 100 32 UIKit 0x000000019040427c UIApplicationMain + 208 33 monotouchtest 0x000000010106eb90 wrapper_managed_to_native_UIKit_UIApplication_UIApplicationMain_int_string___intptr_intptr + 9907088 (/<unknown>:1) 34 monotouchtest 0x0000000100f0d6ac UIKit_UIApplication_Main_string___intptr_intptr + 8459948 (UIApplication.cs:79) 35 monotouchtest 0x0000000100f0d66c UIKit_UIApplication_Main_string___string_string + 8459884 (UIApplication.cs:63) 36 monotouchtest 0x0000000100b10450 monotouchtest_Application_Main_string__ + 4277328 (Main.cs:27) 37 monotouchtest 0x0000000100e0c244 wrapper_runtime_invoke_object_runtime_invoke_dynamic_intptr_intptr_intptr_intptr + 244 38 monotouchtest 0x0000000101c10048 mono_jit_runtime_invoke + 22102088 (mini-runtime.c:2526) 39 monotouchtest 0x0000000101c75eec do_runtime_invoke + 22519532 (object.c:2829) 40 monotouchtest 0x0000000101c78a3c do_exec_main_checked + 22530620 (object.c:4623) 41 monotouchtest 0x0000000101bf9a1c mono_jit_exec + 22010396 (driver.g.c:1040) 42 monotouchtest 0x0000000101d13d60 xamarin_main + 23166304 (monotouch-main.m:482) 43 monotouchtest 0x00000001007de710 main + 927504 (main.m:67) 44 libdyld.dylib 0x00000001869f656c start + 4 * [introspection] Let SkipDueToAttributeInProperty skip setters too (#2557) `SkipDueToAttributeInProperty` which is used to check the availability attribute of properties when the Availability info only exist on the property and not on the property Getter or Setter was wrong. This lead to `setSpringLoaded` (which was introduced in iOS 11) to not be ignored by the test (making it fail). - Fix bug #59085: [introspection-ios] selector not found for UIKit.UIBarButtonItem : setSpringLoaded: - Broken test (https://bugzilla.xamarin.com/show_bug.cgi?id=59085) * [corevideo][watchos] Enable CoreVideo on watchOS (#2553) * [storekit] Fix CampaignToken typo (#2559) (#2560) - Fixes bug #59078: StoreProductParameters and invalid property for CampaignToken (https://bugzilla.xamarin.com/show_bug.cgi?id=59078) * [coreml][watchos] Enable API using CoreVideo on watchOS. Fix #58097 (#2561) https://bugzilla.xamarin.com/show_bug.cgi?id=58097 * Add missing [MarshalDirective] attributes. (#2558) * [bindings-generator] Improve build & project file. * Add missing [MarshalDirective] attributes. Add missing [MarshalDirective] attributes, which also requires implementing support for out parameters in the binding generator, since one of the signatures missing the [MarshalDirective] contains such an out parameter. Also add tests for all the API I've added [MarshalDirective] to. * [bindings-generator] Remove redundant if check. * [monotouch-test] Rename file to end with 'Test.cs'. * [tests] Fix a few build errors for Xamarin.Mac. * [uikit] Fix UIColor and UIInputViewController tvOS availability (#2569) - Fixes introspection tests on tvOS 10. * [storekit] Fix SKCloudServiceSetupMessageIdentifier and SKProductStorePromotionController tvOS availability (#2568) - Fixes introspection tests on tvOS 10. * [mapkit] Fix MKMapItemTypeIdentifier tvOS availability (#2566) - Also remove double [Mac] availability attribute. - Fixes introspection tests on tvOS 10. * [ARKit] Fix marshalling for ARPointCloud.RawFeaturePoints. (#2565) ARPointCloud.RawFeaturePoints is an array of Vector3, but each vector is 16-byte aligned (as if it were an array of Vector4). This means we need to account for this when creating a managed array from pointer to the native C-style array. * [ModelIO] Fix MDLVoxelIndexExtent struct. (#2564) The MDLVoxelIndexExtent is a struct containing two 4-dimensional vectors of integers (not floats, as originally and incorrectly implemented). Fix this my creating a new MDLVoxelIndexExtent2 struct with the right fields, re-implement all the API that exposes this struct and obsolete the old API. Also add missing [MarshalDirective] attributes. And write a test to make sure it works fine now and forever. * [coredata] Enable new fields since rdar #33878590 is fixed w/beta 6 (#2570) reference: https://trello.com/c/dlSRYPFx * [xtro-sharpie] Add a Simd check class to verify signatures with Simd types. * [Simd] Add simd matrix types. The OpenTK matrices (Matrix2/3/4) has a different memory layout than Apple's matrix_float2x2/matrix_float3x3/matrix_float4x4 matrices: the OpenTK versions are row-major, while Apple's versions are column-major. This means that when blitting memory from one to the other, the matrix will appear to have been transposed. See bug #[58599][2] for an example. Unfortunately we've already bound several API with Apple's matrix_floatXxX matrices using OpenTK's matrices, and although they're bound wrong, and the matrices appear transposed on input/output, we can't change the behavior because we have to maintain compatibility. This means we have to introduce new API, and then also just define new matrix types with the right memory layout (column-major). Additionally, in the future we might be able to mark these matrices as Simd-matrixes, so that the JIT/AOT compiler can generate the correct alignment for them, avoiding having to define a native conversion method (using the [MarshalDirective] hack). The matrices have been designed to match API-wise the matrices in the System.Numerics.Vectors namespace [1], but for the moment with only a few basic operations implemented (Determinant/Transpose/Multiply) defined (we can always add more later if we want to). In addition explicit conversion operators to and from the corresponding OpenTK.MatrixX are implemented, which means any operation defined in the OpenTK matrices can be used by converting back and forth. [1]: https://msdn.microsoft.com/en-us/library/system.numerics.matrix4x4(v=vs.111).aspx [2]: https://bugzilla.xamarin.com/show_bug.cgi?id=58599 * [ARKit] Use the new Simd matrix types. * [Vision] Use the new Simd matrix types. * [ModelIO] Use the new Simd-compatible matrix types, and deprecate the old API. * [GameplayKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [SpriteKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [xtro] Don't report missing [MarshalDirective] for obsolete methods. * [xtro] Remove unnecessary ignores. The implementation changed, and these stayed accidentally. * [wkwebkit] Fix (native) protocol names (#2572) Also ignore xtro's WKSnapshotConfiguration since it's an Apple bug 34185961 reference (xtro) !missing-protocol! WKURLSchemeHandler not bound !missing-protocol! WKURLSchemeTask not bound !unknown-protocol! WKUrlSchemeHandler bound !unknown-protocol! WKUrlSchemeTask bound !unknown-type! WKSnapshotConfiguration bound * [uikit] Fix enums availability attributes (#2575) - Fixes bug #59132: [uikit] Extra types in watchOS (https://bugzilla.xamarin.com/show_bug.cgi?id=59132) * [watchkit] Add missing designated initializers (#2574) references (xtro) !missing-designated-initializer! WKInterfaceController::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! WKUserNotificationInterfaceController::init is missing an [DesignatedInitializer] attribute * [xtro] Reword some of the Simd diagnostic messages according to review. * [tests] Make sure test symbols don't clash between different test libraries. Fixes this build problem for framework-test: clang: error: linker command failed with exit code 1 (use -v to see invocation) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_get_rotation_matrix'. MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticObjectTest.framework/XStaticObjectTest (Location related to previous error) MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticArTest.framework/XStaticArTest(libtest-ar.x86_64.o) (Location related to previous error) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransformcomponent_get_local_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_create_global_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float4x4'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float3x3'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float2x2'. MTOUCH: error MT5209: Native linking error: 6 duplicate symbols for architecture x86_64 MTOUCH: error MT5202: Native linking failed. Please review the build log. * [tests] Since libtest.a need ModelIO now, the corresponding LinkWith attributes need to state that too. * [introspection] Don't check native signatures on obsolete members, and ignore the right simd matrix types. Fixes this introspection/Mac problem: ***** ApiSignatureTest.NativeSignatures Selector: uniformWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: uniformWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: uniformWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: setMatrixFloat2x2Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: setMatrixFloat3x3Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: setMatrixFloat4x4Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: initWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: initWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: initWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded * [monotouch-tests] Include more custom asserts for watchOS to make the build work. Fixes this: Simd/MatrixFloat4x4Test.cs(28,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(29,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(37,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(48,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' [...] * [monotouch-test] Exclude code that requires the binding project from xammac tests. Exclude code that requires the test binding project from xammac tests because there's currently no XM version of the test binding project. Fixes this: tests/monotouch-test/SpriteKit/UniformTest.cs(20,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLMaterialProperty.cs(37,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLTransform.cs(34,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) * Bump version for preview #8 (#2576) * [spritekit] Audit fixes (xtro) (#2577) 1. SKVideoNode is now, partially, available on watchOS and does not require the extra, manual code to swicth selectors depending on the OS version being run. !missing-type! SKVideoNode not bound !missing-selector! SKVideoNode::anchorPoint not bound !missing-selector! SKVideoNode::initWithCoder: not bound !missing-selector! SKVideoNode::initWithFileNamed: not bound !missing-selector! SKVideoNode::initWithURL: not bound !missing-selector! SKVideoNode::setAnchorPoint: not bound !missing-selector! SKVideoNode::setSize: not bound !missing-selector! SKVideoNode::size not bound !missing-selector! +SKVideoNode::videoNodeWithFileNamed: not bound !missing-selector! +SKVideoNode::videoNodeWithURL: not bound 2. SKNodeFocusBehavior is exposed needlessly on watchOS because SpriteKit/Enums.cs was not processed by the generator, so [NoWatch] did not matter. !unknown-native-enum! SKNodeFocusBehavior bound It's also visible on macOS but nothing uses it (so we do not expose it needlessly) !missing-enum! SKNodeFocusBehavior not bound 3. Add missing designated initializer on default `init` !missing-designated-initializer! SKAttributeValue::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! SKNode::init is missing an [DesignatedInitializer] attribute 4. Remove inconsistency for SKNode subclasses wrt XAMCORE_4_0 The trio attributeValues, setAttributeValues and setValue:forAttributeNamed: that was moved from SKNode (deprecated) into its subclasses. This was done using XAMCORE_4_0 but not on every subclasses. This adds them everywhere to be consistent (only SKNode versions are not defined in XAMCORE_4_0) !missing-selector! SKEffectNode::attributeValues not bound !missing-selector! SKEffectNode::setAttributeValues: not bound !missing-selector! SKEffectNode::setValue:forAttributeNamed: not bound !missing-selector! SKEffectNode::valueForAttributeNamed: not bound !missing-selector! SKEmitterNode::attributeValues not bound !missing-selector! SKEmitterNode::setAttributeValues: not bound !missing-selector! SKEmitterNode::setValue:forAttributeNamed: not bound !missing-selector! SKEmitterNode::valueForAttributeNamed: not bound !missing-selector! SKSpriteNode::attributeValues not bound !missing-selector! SKSpriteNode::setAttributeValues: not bound !missing-selector! SKSpriteNode::setValue:forAttributeNamed: not bound !missing-selector! SKSpriteNode::valueForAttributeNamed: not bound * [introspection] Make sure '[FAIL]' is printed before every failure. (#2578) This makes xharness able to list the failures in the inline summary. * [xtro] Reword some of the Simd diagnostic messages according to review. * [xharness] Add a missing IsServerMode check to generate correct html. (#2581) * [SpriteKit] SKTransformNode is new in Xcode 9 so no need to keep the broken (and obsolete) non-simd version of RotationMatrix. * [intents] Fix some (partial) xtro issues and #59156 (#2585) reference https://bugzilla.xamarin.com/show_bug.cgi?id=59156 Remaining issues are filled in https://bugzilla.xamarin.com/show_bug.cgi?id=59183 !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound * [Intents] Confirm* interface methods should be bound as Confirm, Fixes Bug 59164 (#2591) * [Intents] Confirm* interface methods should probably be bound as Confirm, Fixes Bug 59164 https://bugzilla.xamarin.com/show_bug.cgi?id=59164 All Confirm* methods from *IntentHandling interfaces should be named just `Confirm` to avoid confusion because most of them do not directly confirm as an acion, but instead they **ask** for confirmation also we would follow swift's naming by doing this. * [Intents] XAMCORE_4_0 all Confirm* methods from *IntentHandling Turns any Confirm* into just Confirm inside a XAMCORE_4_0 block, * [Intents] Fix breaking changes in Intents added in Xcode 9 Bindings (#2590) Apple added more protocol conformances to INRidesharingDomainHandling and INPaymentsDomainHandling protocols in Xcode 9, I introduced these breaking changes back when I did intents binding so fixing them :) * [Metal] New bindings from Xcode 9 betas (#2457) * [AVFoundation] Updated bindings for xcode9. (#2272) * [Xcode9] Add IOSurface bindings (#2363) * This framework was a private framework before iOS 11. This framework was a private framework before iOS 11, yet the headers claim many API were introduced in iOS 10. So take account of this difference by using the private framework location in iOS 10.3 or earlier. Testing these API from Xcode works fine when run on an iOS 10.3 device, and I've confirmed the IOSurface framework is loaded from the private frameworks path on older devices (and when built using Xcode 9 and linked with the public framework path). * Disable code to make IOSurface work on iOS 10. Disable the code to make IOSurface work on iOS 10, since it may be rejected by the App Store. This also means adjusting the availability attributes, so that the introspection tests pass (and to document that technically these API won't work when used with Xamarin.iOS in iOS 10). I've filed bug #[59201][1] to keep track of this, maybe we can re-enable this later. [1]: https://bugzilla.xamarin.com/show_bug.cgi?id=59201 * [CoreMedia] Fix leak in CMAttachmentBearer.GetAttachments. (#2593) The caller owns the return value from CMCopyDictionaryOfAttachments, so tell Runtime.GetNSObject that. * [Intents] Adds missing API found by xtro, fixes Bug 59183 (#2596) https://bugzilla.xamarin.com/show_bug.cgi?id=59183 Fixes !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !incorrect-protocol-member! INUIHostedViewControlling::configureWithInteraction:context:completion: is OPTIONAL and should NOT be abstract * [xtro] Fix StartWorkingDirectory to enable debugging (#2598) * [iosurface] Enable for tvOS and XM classic (to avoid multiple defines around consumer API) (#2597) * [xtro] Fix EnumCheck (#2600) * [ARKit] Rename a few method to make them nicer. (#2604) * DisplayTransform -> GetDisplayTransform since methods should have verbs. * SessionWasInterrupted -> WasInterrupted and SessionInterruptionEnded -> InterruptionEnded since these names match better with the other names (CameraDidChangeTrackingState / DidFail / DidOutputAudioSampleBuffer: none are prefixed with 'Session'). Additionally, the type is a Model (for the delegate pattern), which means all methods are more-or-less event-like, and the first argument is always the same (the protocol itself), which is another indicator the methods should be named similarly. * [Foundation] Remove 'Key' suffix from some fields. (#2606) Of the 168 fields in NSMetadataItem, only these 5 hadn't removed the 'Key' suffix. So make them all equivalent by removing the 'Key' suffix from these 5 fields. * [ImageIO] Fix API to not duplicate the instance in instance methods. (#2609) An instance method does not need to take the instance as a parameter, so remove the first (instance) parameter for CGImageDestination.AddAuxiliaryDataInfo and CGImageSource.CopyAuxiliaryDataInfo. An alternative solution would be to make the methods static, but I like the instance API better. * [UIKit] De-model UIDataSourceTranslating. (#2603) It's not clear from neither the documentation nor the headers how this protocol is supposed to be used, and since it doesn't correspond to the delegate pattern, remove the [Model] attribute for now. We can always add it back later. * [CoreML] Improve API. (#2592) * [CoreML] Improve API. * The indices, shape and stride properties for MLMultiArray and MLMultiArrayConstraint can logically only be arrays of integers, so type them as such. This means adding overloads for MLMultiArray's constructors, GetObject and SetObject methods, and the indexers that takes nint[] arrays instead of NSNumber[] arrays. * Change MLFeatureValue's static factory methods to be a method ('Create') instead of a preposition, and call all the different factory methods the same, since they can be overloaded nicely. * [tests][monotouch-test] Add version check to MLMultiArrayTest and make sure the arrays we create are big enough for the data we put in them. * [tests][monotouch-test] MLMultiArray's elements aren't zero-initialized, so don't assume that in the tests. * Support overloading Objective-C methods based on static/instance. (#2607) Two Objective-C methods can be named identically as long as one is static and the other instance. We must support this since Apple did just this (in the NSItemProviderReading / NSItemProviderWriting protocols). We solve it by prepending a '+' or '-' to the selector when hashing it (to determine selector uniqueness, and to look the method up again at runtime). * [uikit] Update for Xcode 9 - Part 6 (#2602) NSAttributedString.h NSFileProviderExtension.h NSLayoutAnchor.h UIAccessibility.h UIAccessibilityAdditions.h UIAccessibilityContainer.h UIAccessibilityContentSizeCategoryImageAdjusting.h UIAccessibilityCustomRotor.h UIAccessibilityLocationDescriptor.h UITabBar.h UINavigationBar.h UIScreen.h * Xcode9 scenekit (#2512) * [SceneKit] basic work * Added key * [xcode9] SCNCameraController * [xcode9] SCNCamera updates * [xcode9] SCNMaterial * [xcode9] SCNGeometryTessellator, SCNCameraControlConfiguration, SCNView, small bits * Add trailing commas to last enum value * Remove whitespace noise * [scenekit] Update deprecated attributes messages * Addresses some of Rolf's feedback * Drop the WeakDelegate in SCNCameraController * Rename method to Render, remove ctor from class that can not be constructed in Palygrounds, add typo exception * [AppKit] Rename NSBezierPath.AppendBezierPathWithCGGlyph to match its sibling methods. (#2605) NSBezierPath contains a lot of 'AppendPathWithXXX' methods, that all map to 'appendBezierPathXXX' selectors. So rename AppendBezierPathWithCGGlyph accordingly, to make it more similar to the other methods in the same type. * [uikit] Add all UISpringLoadedInteractionSupporting (#2616) Types do not conform to the protocol but protocol methods work on those types (see monotouch-test). Fixed introspection tests accordingly and tested the selectors in monotouch-test. * [Intents] Add convenience ctor overload and call correct base ctor in manual ctor. (#2613) Add a convenience constructor overload in INGetUserCurrentRestaurantReservationBookingsIntent that uses nint instead of NSNumber, since logically "number of results" will always be some sort of integer. Also call the correct base constructor in INSpeakableString's custom constructor (same as any other generated constructor). Otherwise we end up doing something like this: [[[INSpeakableString alloc] init] initWith ...], i.e. calling two different init methods. * [coreimage] Add new headers API up to beta 6 (#2601) Filters are not complete (ref: #57350) https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * Some new constants are not yet documented (type is known), so they are commented / ignored https://bugzilla.xamarin.com/show_bug.cgi?id=59296 * Filled bug for [Wrap] inside [Category] so strong dictionary helpers can be re-enabled later https://bugzilla.xamarin.com/show_bug.cgi?id=59294 * [foundation] xtro fixes for watchOS (#2586) !missing-enum! NSProcessInfoThermalState not bound !missing-field! NSProcessInfoThermalStateDidChangeNotification not bound !missing-selector! NSProcessInfo::thermalState not bound Headers are wrong and preferredPresentationStyle is not in tvOS and watchOS !missing-selector! NSItemProvider::preferredPresentationStyle not bound !missing-selector! NSItemProvider::setPreferredPresentationStyle: not bound * [uikit] Also remove UIPreferredPresentationStyle enum from platform where it's not used * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. (#2614) * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. * NSItemProviderWriting: * NSItemProviderReading: Implement correctly and completely by uncommenting commented out code. * NSMutableString: * NSAttributedString: remove inlined members, since these classes don't implement NSItemProviderReading / NSItemProviderWriting (according to the headers at least). * NSUrl: all platforms now seem to implement NSItemProviderReading / NSItemProviderWriting. * NSString: all platforms now seem to implement both NSItemProviderReading and NSItemProviderWriting * UIColor: * UIImage: Update inlined protocol members according to the latest beta. Additionally, due to the following conditions: * The protocols all have the correct members now. * In the API definition we tell the generator to inline members from a protocol by inheriting from the corresponding interface. * The generator doesn't inline static members from protocols. several 'new' keywords had to be added to silence a compiler warning that occurrs when we manually inline a static member, since the member would be included in the type both from the inherited interface and the manual implementation. * [Foundation] Comment out NSItemProviderWriting.GetItemProviderVisibility to avoid inlining/generating unusable methods. NSItemProviderWriting.GetItemProviderVisibility is an optional method, and none of the native classes that implements NSItemProviderWriting actually imlements the method. This means inlining the method in those classes ends up creating unusable API; so just comment out the method to avoid generating the unusable API. The introspection tests found this: [FAIL] Foundation.NSString : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Foundation.NSUrl : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Contacts.CNContact : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] MapKit.MKMapItem : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIColor : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIImage : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] iOSApiSelectorTest.ApiSelectorTest.StaticMethods : 6 errors found in 2348 static selector validated: See also https://bugzilla.xamarin.com/show_bug.cgi?id=59308 * [iosurface] Add missing [TV] attributes (#2619) * [opengles] Enable the new API using IOSurface (#2618) The symbol only exists inside device libraries, not on simulator, and the introspection tests were updated to ignore it. Part of https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [avfoundation][watchos] Enable AudioBufferList (fix #59145) + audit (xtro) (#2617) 1. AudioBufferList is part of CoreAudio (wrong namespace, which needs a few changes in the generator) and now available in watchOS 4 https://bugzilla.xamarin.com/show_bug.cgi?id=59145 2. Also fixes xtro found issues: !missing-type! AVAudioRecorder not bound !missing-selector! AVAudioRecorder::averagePowerForChannel: not bound !missing-selector! AVAudioRecorder::channelAssignments not bound !missing-selector! AVAudioRecorder::currentTime not bound !missing-selector! AVAudioRecorder::delegate not bound !missing-selector! AVAudioRecorder::deviceCurrentTime not bound !missing-selector! AVAudioRecorder::format not bound !missing-selector! AVAudioRecorder::initWithURL:format:error: not bound !missing-selector! AVAudioRecorder::initWithURL:settings:error: not bound !missing-selector! AVAudioRecorder::isMeteringEnabled not bound !missing-selector! AVAudioRecorder::isRecording not bound !missing-selector! AVAudioRecorder::peakPowerForChannel: not bound !missing-selector! AVAudioRecorder::recordAtTime: not bound !missing-selector! AVAudioRecorder::recordAtTime:forDuration: not bound !missing-selector! AVAudioRecorder::recordForDuration: not bound !missing-selector! AVAudioRecorder::setChannelAssignments: not bound !missing-selector! AVAudioRecorder::setDelegate: not bound !missing-selector! AVAudioRecorder::setMeteringEnabled: not bound !missing-selector! AVAudioRecorder::settings not bound !missing-selector! AVAudioRecorder::url not bound !missing-protocol! AVAudioRecorderDelegate not bound !missing-selector! AVAudioEngine::inputNode not bound !missing-selector! AVAudioEngine::manualRenderingBlock not bound !missing-selector! AVAudioInputNode::setManualRenderingInputPCMFormat:inputBlock: not bound !missing-selector! AVAudioPlayer::format not bound !missing-selector! AVAudioSession::requestRecordPermission: not bound !unknown-field! AVFileType3GPP bound !unknown-field! AVFileType3GPP2 bound !unknown-field! AVFileTypeAC3 bound !unknown-field! AVFileTypeAIFC bound !unknown-field! AVFileTypeAIFF bound !unknown-field! AVFileTypeAMR bound !unknown-field! AVFileTypeAVCI bound !unknown-field! AVFileTypeAppleM4A bound !unknown-field! AVFileTypeAppleM4V bound !unknown-field! AVFileTypeCoreAudioFormat bound !unknown-field! AVFileTypeDNG bound !unknown-field! AVFileTypeEnhancedAC3 bound !unknown-field! AVFileTypeHEIC bound !unknown-field! AVFileTypeHEIF bound !unknown-field! AVFileTypeJPEG bound !unknown-field! AVFileTypeMPEG4 bound !unknown-field! AVFileTypeMPEGLayer3 bound !unknown-field! AVFileTypeQuickTimeMovie bound !unknown-field! AVFileTypeSunAU bound !unknown-field! AVFileTypeTIFF bound !unknown-field! AVFileTypeWAVE bound * [Metal] Implement API using IOSurface now that IOSurface is implemented. Partially fixes #58054. (#2621) https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [PdfKit] Improve PdfAnnotation.QuadrilateralPoints binding by making it strongly typed. (#2620) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). (#2622) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). * [ARKit/Vision] Use the new simd vector types instead of the OpenTK versions. * [ModelIO] Use the new simd vectors in new API (MDLVoxelIndexExtent2). This way we won't have to create a MDLVoxelIndexExtent3 in the future. * [SpriteKit] Use the new simd vectors in new API. * [metal] Audit (xtro) based fixes (#2623) !extra-protocol-member! unexpected selector MTLArgumentEncoder::newArgumentEncoderForBufferAtIndex: found !extra-protocol-member! unexpected selector MTLComputeCommandEncoder::dispatchThreads:threadsPerThreadgroup: found macos-only !missing-field! MTLDeviceRemovalRequestedNotification not bound !missing-field! MTLDeviceWasAddedNotification not bound !missing-field! MTLDeviceWasRemovedNotification not bound !missing-pinvoke! MTLCopyAllDevices is not bound * [CloudKit] Update bindings to beta 6. (#2615) * [FileProvider] Turn NSFileProviderItemIdentifier enum into a static class, fixes bug 59329 (#2634) https://bugzilla.xamarin.com/show_bug.cgi?id=59329 At the time of binding NSFileProviderItemIdentifier it wasn't clear how it was supposed to be used, I mean apple provides two keys which I thought were the only possible values hence binding it as an smart enum. Unfortunately this wasn't the case and the user can use those two values provided from the SDK or their own NSString Identifier. Swift provides a wrapper unfortunately we can't do the same due to NSFileProviderItemIdentifier is used in the NSFileProviderItem protocol and we currently do not support changing signatures on them. * [mtouch] Teach mtouch about the 'IOSurface' framework for tvOS. Fixes #59333. (#2630) https://bugzilla.xamarin.com/show_bug.cgi?id=59333 * Bump Touch.Unit to get fix for API breakage. (#2631) spouliot/Touch.Unit@8f1e19d [NUnitOutputTextWriter] Reintroduce previous constructor to make sure we don't break binary ABI. spouliot/Touch.Unit@00b0c0b [NUnitOutputTextWriter] Don't write invalid xml comments. spouliot/Touch.Unit@de9fe20 [TouchRunner] Restore the original code path when not wrapping NUnit xml output. * [IOSurface] Add missing availability attributes for tvOS. (#2629) * Bump versions for preview 9 (#2624) * [AVFoundation] Add missing interface AVRouteDetector. (#2637) * [tests] Update xtro to reduce list sizes (#2636) * Skip OpenTK duplicate declaration (we can't change them); * Fix rule name change for ARKit / simd; * Add missing default initializer on `init` to pending actions; * Add note for AVPersistableContentKeyRequest changes wrt tvOS; * [ReplayKit] Make RPBroadcastActivityViewController.LoadBroadcastActivityViewController async-capable. (#2639) * [xcode9] More SceneKit bindings (#2633) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 (#2644) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 https://bugzilla.xamarin.com/show_bug.cgi?id=59380 vector_float3 is 16 bytes, which means the binding is incorrect, because Vector3 is 12 bytes, and our code does not that difference into account. * Add tests * [DeviceCheck] Disable default ctor for DCDevice. (#2642) It doesn't seem to be useful according to the documentation, since it appears that the only way to get an instance is to use the static CurrentDevice property. * [audiounit] Audit (xtro) fixes for tvOS (#2635) Availability attributes in non-generated files don't hide symbols/code. reference: !unknown-pinvoke! AudioUnitExtensionCopyComponentList bound !unknown-pinvoke! AudioUnitExtensionSetComponentList bound * [tests] Make sure tvOS tests don't use the (unexisting) API * [tests] Add all test project variations to tests-mac.sln (#2579) * [xharness] Make sure generated mac projects have different project guids. * [introspection] Change the project guid so that it doesn't match the dontlink-mac project guid. * [tests] Add all test project variations to tests-mac.sln. * [xharness] Fix else condition. * [FileProvider] Adds missing NSFileProviderPage constants, fixes bug 59297. (#2646) https://bugzilla.xamarin.com/show_bug.cgi?id=59297 Adds NSFileProviderInitialPageSortedByName and NSFileProviderInitialPageSortedByDate NSData constants * [Xcode9] Remove NSFileProviderMessage and NSFileProviderMessageInterface (#2647) APIs were removed in beta 2 * [Foundation/UIKit] Provide LoadObject[s] methods that return the expected type in the callback. Fixes #59049. (#2638) The callback for these LoadObject[s] methods take an INSItemProviderReading parameter. This tells our runtime that we must provide an instance of a managed object that implements this interface (but nothing else), so we create a `NSItemProviderReadingWrapper` instance, which complies with the API (since the wrapper type implements the corresponding interface). Unfortunately these methods are supposed to return an instance of the passed- in type, so in order to comply with this soft (documentation-only) requirement, provide a wrapper method that creates instances of the right types. https://bugzilla.xamarin.com/show_bug.cgi?id=59049 * [arkit] Ignore deprecated selectors (#2645) * [FileProvider] Adds missing protocol and keys from audit (#2652) ``` !missing-protocol! NSFileProviderServiceSource not bound !missing-field! NSFileProviderErrorCollidingItemKey not bound !missing-field! NSFileProviderErrorNonExistentItemIdentifierKey not bound !missing-field! NSFileProviderFavoriteRankUnranked not bound ``` Also adds `NSXpcListenerEndpoint` to foundation, needed by `NSFileProviderServiceSource` protocol. * [tests][xtro] Workaround xtro runner dupe entry exception and update data files (#2654) * [AVFoundation] Rename field to match others. (#2657) * [homekit] Audit (xtro) fixes (#2653) - HMCharacteristicEvent conforms to NSMutableCopying on iOS11 which makes it 64 bits only (so adjust intro tests) - Ignore extra setters on HMMutablePresenceEvent, rdar 33883958 !missing-selector! HMMutablePresenceEvent::setPresenceEventType: not bound !missing-selector! HMMutablePresenceEvent::setPresenceUserType: not bound * [xtro] Add missing pinvoke to pending (#2662) - Bug 59422: [uikit] Missing UIContentSizeCategoryCompareToCategory & UIContentSizeCategoryIsAccessibilityCategory (https://bugzilla.xamarin.com/show_bug.cgi?id=59422) * Merge latest d15-3 fixes into xcode9 (#2660) * [msbuild] Re-added wildcard (*) expandsion for application-identifier in Entitlements.plist (#2186) Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=57119 * Bump mono (#2213) * Framework tests were still binding non-linked Simple class which errors now (#2216) (#2218) - Improve Makefile to rebuild when projects build with errors * Bump mono to get cecil fix for bug #56808. (#2222) https://bugzilla.xamarin.com/show_bug.cgi?id=56808 * [msbuild] Use @(ReferencePath) instead of @(ResolvedFiles) (#2188) (#2214) This allows things to work on both xbuild and msbuild. In xbuild, both lists are exactly the same and on msbuild, only @(ReferencePath) exists. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=55147 * NSActivityOptions.IdleDisplaySleepDisabled had wrong value (#2232) (#2239) This was due to an integer overflow. The original value was based on Int32 1 << 40 == 256 The correct value should be based on a UInt64. 1UL << 40 == 1099511627776 * [tests] Fix bug 57699 - [iOS]InternalsTest failure (Linkall) tests on device (#2243) Strip native debugging symbols should not be checked for debug builds * Bump mono to get fix for bug #57780. https://bugzilla.xamarin.com/show_bug.cgi?id=57780 * Update .gitmodules Change branch to d15-3 branch of mono * Bump maccore to get fix for bug #55064. https://bugzilla.xamarin.com/show_bug.cgi?id=55064 * [mono] Bump mono to get the head of cecil/mono-2017-04 and fix IsComObject #57919 Also fix #58789 [1], the typo in tools/mtouch/Tuning.cs showing in MT0000 errors instead MT2102. That's already in master and d15-4 mono bump includes: [2] commit 2a6502cee0df9de5198eafe7c8b5f6ac25106f34 (HEAD -> d15-3, origin/d15-3) Merge: 02457c20fcf 5e05cafc6f1 Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 10:04:06 2017 -0400 Merge pull request #5401 from marek-safar/com [Marshal.IsComObject] Make this predicate return false instead of thr… [3] commit 02457c20fcf57c0610e844d638eb1da82b5d1eb0 Merge: da80840ea55 73fd9a1b82e Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 09:59:06 2017 -0400 Merge pull request #5400 from spouliot/bump-cecil-58834-d15-3 [cecil] Bump to the head of the mono-2017-04 branch and pick the fix for bug #58834 References [1] https://bugzilla.xamarin.com/show_bug.cgi?id=58789 [2] https://bugzilla.xamarin.com/show_bug.cgi?id=57919 [3] https://bugzilla.xamarin.com/show_bug.cgi?id=58834 * [mtouch] Put 'mono_profiler_startup_log' in the symbol list. Fixes #58778. (#2501) We need the 'mono_profiler_startup_log' symbol when profiling is enabled, so make sure to add the symbol to the correct list of symbols we need. Previously we were passing `-u _mono_profiler_startup_log` to clang directly, which is fine, but not complete, since it does not write the symbol to the symbollist file (--symbollist=file), which means it wouldn't be preserved when the MSBuild tasks strip the executable. https://bugzilla.xamarin.com/show_bug.cgi?id=58778 * Bump versions for SR3 https://trello.com/c/EVze08ei * Bump mono to include HttpClientHandler fix #44027 https://trello.com/c/jYFXadH8/8-systemnethttp-close-request-stream-when-httpclienthandler https://bugzilla.xamarin.com/show_bug.cgi?id=44027 * [FileProvider] Add missing API and turn NSString to string (#2663) Turned NSString to string in order to match exisiting API. * [uikit] Add UIPasteConfigurationSupporting and UITextPasteConfigurationSupporting (#2649) - Fixes bug #59363: Missing UIPasteConfigurationSupporting, UITextPasteConfigurationSupporting, UITextDraggable and UITextDroppable on a couple of types (https://bugzilla.xamarin.com/show_bug.cgi?id=59363) * [uikit] Remove 129 types in UIPasteConfigurationSupporting case * [scenekit] Audit (xtro) fixes (#2648) This looks like an Apple breaking change (since `SCNAnimation` is new) but we now have: > typedef void (^SCNAnimationEventBlock)(id<SCNAnimation> animation, id animatedObject, BOOL playingBackward); bound as > delegate void SCNAnimationEventHandler (CAAnimation animation, NSObject animatedObject, bool playingBackward); and `CAAnimation` conforms to `SCNAnimation` but *only* the later is available on watchOS. The delegate is only updated (since it's new) on our watchOS profile. xtro references: (watchos) !unknown-protocol! SCNCameraControlConfiguration bound (tvos/watchos) !missing-selector! SCNAnimation::animationEvents not bound !missing-selector! SCNAnimation::setAnimationEvents: not bound !missing-selector! SCNConstraint::isEnabled not bound !missing-selector! SCNConstraint::setEnabled: not bound !missing-field! SCNSceneSourceConvertToYUpKey not bound !missing-field! SCNSceneSourceConvertUnitsToMetersKey not bound (ios/tvos) !missing-protocol-conformance! SCNNode should conform to UIFocusItem * Bump maccore post 15.3 merge (#2665) * Bump Xcode 9 to GM (#2667) * Force build (on wrench) * [avfoundation] Fix breaking changes (apidiff) (#2664) * [TVServices] Update to Xcode 9 GM (#2675) * [GameController] Update to Xcode 9 GM (#2673) * [LocalAuthentication] Update to Xcode 9 GM (#2671) * [LocalAuthentication] Update to Xcode 9 GM * Remove availability from BiometryNotAvailable, BiometryNotEnrolled and BiometryLockout * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer (#2659) * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer Some of the new added types were already present BUT under a #if MONOMAC, they had to be moved. * [AVFoundation] Set the wrongly added API to be obsolete and ensure it returns logical values. (#2650) * [xtro] The right platform for macOS is 'macos', not 'osx'. (#2677) The platform name is used to filter availability attributes, and if we use the wrong platform, we'll incorrectly skip all availability attributes. The net result in unclassified entries: https://gist.github.com/rolfbjarne/a4474bc2a40c49a85cad495b51bb514f * Various Xcode 9 API improvements and also fixes bug 59433 (#2676) https://bugzilla.xamarin.com/show_bug.cgi?id=59433 While fixing bug 59433 I noticed some additional issues outlined below: AVDepthData: * Renamed **non** static `Create` methods because `Create` only makes sense with the **Static** method in this context. Also by renaming the methods we are now closer to the names that swift uses. * Kept descriptive method names in favor of self-documenting code. `Convert`, `Apply` and `Replace` do not fully give us the intent of the method. * Added a convenience `Create` static method that takes a `CGImageAuxiliaryDataInfo`. * AvailableDepthDataTypes is now an array of `CVPixelFormatType` instead of a `NSNumber` array (The aactual fix for bug 59433). ImageIO: * Refactored `CGImageAuxiliaryDataInfo` to be a `StrongDictionary` in order to avoid most of the manual code and also to avoid reimplementing the `ToDictionary` method (which contained a subtle bug). * Adjusted code to reflect the above change. * Added missing `.ctor (IntPtr, bool)` to `CGImageMetadata` so the class is able to be created by our `Runtime.Get*`. * Simplified `CopyAuxiliaryDataInfo` method by using `CGImageAuxiliaryDataInfo` as a `DictionaryContainer`. Tests: * Added `xamarinmonkey.heic` which is an image that contains depth data needed to test above changes. * Adds `AVDepthDataTests` that touches most of the changes listed here. * Tweak the Simd-compatible matrices and vectors (#2668) * Rename them to be OpenTK.NMatrix# (instead of Simd.MatrixFloat#x#). * Remove the Vector2 and Vector4 variants, we'll use the OpenTK types instead (but we'll keep the NVector3 variant, since it's not identical to the OpenTK version). * Update the API to match their OpenTK counterparts better: * NMatrix2 and NMatrix3 have a 0-based R#C# scheme for their fields. * NMatrix4 has a 1-based M## scheme for its fields (i.e. no change). * [AVFoundation] Use Simd-matrix for API that needs it. (#2679) This also requires implementing the corresponding matrix (NMatrix4x3). Fixes this xtro issue: > !unknown-simd-type-in-signature! OpenTK.Matrix3 AVFoundation.AVCameraCalibrationData::get_GetIntrinsicMatrix(): the native signature has a simd type (matrix_float3x3), while the corresponding managed method is using an incorrect (non-simd) type. * [xtro] Fix checking availability on categories. (#2682) When checking for category availability, check if both the current declaration is a category, and if the current's declaration container is a category. Otherwise this scenario fails: * Category method is available. * Category does not have availability attributes. * Main class is unavailable. with this typical code sequence: ```csharp // don't process methods (or types) that are unavailable for the current platform if (!decl.IsAvailable () || !(decl.DeclContext as Decl).IsAvailable ()) return; ``` In which case we'd: * First check the method (`decl`): * It's available, so no further checks is done on the method. * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container's container is a category (it isn't, it's the namespace). and as such determine that the method is available. With this change, the second step will become: * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container is a category (it is), and if its main class is available (it isn't). and as such determine that the method is unavailable. * Check for attributes on the method's container (no attributes, so we continue). * Check if the method's Unclassified diff: https://gist.github.com/rolfbjarne/8fa80962596978a426eadf9b7ba39dc1 * [uikit] Update for Xcode 9 GM (#2670) * [AVFoundation] Implement AVCapturePhoto. Partially fixes #59388. (#2678) Fixes: > common.unclassified:!missing-type! AVCapturePhoto not bound https://bugzilla.xamarin.com/show_bug.cgi?id=59388 * Use strong dictionaries for AVCapturePhoto.Metadata and AVCapturePhoto.EmbeddedThumbnailPhotoFormat. * [SIMD] Implement Simd double types (VectorDouble3/MatrixDouble4x4). (#2632) The following types will be used by ModelIO bindings * Fix delta to be double * Rename Simd-compatible matrices and vectors to match our final naming. This also means removing the new Vector2 and Vector4 variants (but not Vector3). * [avfoundation] Remove AVAssetDownloadDelegate.DidLoadTimeRange since it was removed in one of the betas (#2687) * [foundation] Move NSUrlSessionMultipathServiceType to a file processed by the generator (for the availability attributes) (#2688) * [arkit] Update for Xcode 9 GM (#2681) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes (#2690) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes Type Changed: Intents.INCarSeatResolutionResult Removed methods: public static INCarSeatResolutionResult GetConfirmationRequired (INCarSeat valueToConfirm); public static INCarSeatResolutionResult GetSuccess (INCarSeat resolvedValue); * [avfoundation] Add missing protocol members and deprecations (#2691) !missing-protocol-member! AVCapturePhotoCaptureDelegate::captureOutput:didFinishProcessingPhoto:error: not found and the selector removed from PR#2687 was actually replaced with this one !missing-protocol-member! AVAssetDownloadDelegate::URLSession:aggregateAssetDownloadTask:didLoadTimeRange:totalTimeRangesLoaded:timeRangeExpectedToLoad:forMediaSelection: not found * [tests][xtro] Map some enums, more fix with protocols and update entries (#2692) * [Tests] Reenable dns tests on the watch. (#2674) * [arkit] Add ARBlendShapeLocationOptions strong dictionary (#2696) * [coreimage] Skip not yet bound filters added in Xcode9 (#2698) Tracked in https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * [Metal] Renamed MTLArgumentDescriptor.ArgumentDescriptor to Create, fixes bug 59498 (#2702) https://bugzilla.xamarin.com/show_bug.cgi?id=59498 From [argumentDescriptor docs](https://developer.apple.com/documentation/metal/mtlargumentdescriptor/2915746-argumentdescriptor?language=objc) > Creates an empty argument descriptor. * [msbuild] Always codesign app bundles if the codesign key is non-null (#2697) ...even if it is a simulator build. Turns out that starting with Xcode9, sim builds need to be codesigned for App Groups entitlements to work properly. Interestingly, the DetectSigningIdentity logic had a comment about needing to codesign simulator builds for some entitlements to work already starting with Xcode 8 but apparently the iOS targets did not respect this. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=59379 * [Foundation] Add NSProxy stub in order to workaround bug 59247 (#2693) https://bugzilla.xamarin.com/show_bug.cgi?id=59247 We need to have a better solution that removes all what NSProxy does not responds to. Right now this works because NSObject implements NSObject protocol just like NSProxy, but NSProxy responds to far less selectors hence doing it internal so it is not a breaking change when we provide the correct fix. * Keep NSProxy around and avoid XML linker description We need to keep NSProxy (avoid linking it) if WKNavigationDelegate or IWKNavigationDelegate is used. We know WKWebView will be there and can hold a reference to it. * [Xcode 9] Update Metal for GM (#2689) * [iosurface] IOSurface is not usable before iOS/tvOS 11. Fixes #59201 (#2706) Apple rejects apps that links with the previously private IOSurface.framework. We were not sure about this [1] and had it disabled (this is removed). However another bug stopped our adjustment logic [2] from being executed. This is needed since `clang` picks up the private framework if it does not find the public one (even when asking for a weak framework), [1] https://bugzilla.xamarin.com/show_bug.cgi?id=59201 [2] Added a while ago for JavascriptCore * Bump maccore to point to commit with the docs fix. (#2703) * Bump XI to 11.0.x (and XM to 3.99.9.x) (#2684) * fix typo
2017-09-16 00:53:16 +03:00
#if XAMCORE_2_0 && !WATCH
[NoWatch, NoTV, Mac (10, 13, onlyOn64: true), iOS (11,0)]
Merge xcode9 into d15-4[-xi] (#2710) * [FileProvider] Add Xcode 9 Beta 1, 2 & 3 Bindings (#2279) * [FileProvider] Add Xcode 9 Beta 1 Bindings * Better naming * Feedback not related to BindAs * [FileProvider] Removes BindAs, add manual code for it and updated to Beta 3 * [FileProvider] Implement feedback * [CoreSpotlight] Updated spotlight bindings for xcode 9 beta 3. (#2193) Updated spotlight bindings for xcode 9 beta 3. * Fix warning caused by duplicate (#2354) * [FileProviderUI] Add Xcode 9 Beta 1 to 3 bindings (#2356) * Bump to Xcode 9 beta 4 * [arkit] ARLightEstimate does not conform to NSCopying anymore (fix unit test) * [uikit] NSFileProviderExtension.ReparentItem got a new parameter in beta4 (fix unit test) * [coreimage] CIImageAccumulator init returns nil in beta 4 There's no header change to mention `init` is not allowed but it's not clear how this default initializer could be used. Also make public some other API to construct this type (outside of XM). It's not clear why there were `internal` as they are (at least now) part of the header files. * [photos] Add helpers when PHLivePhotoEditingOption/NSDictionary is null (to avoid ambiguous API) (#2360) Adding a strongly typed `PHLivePhotoEditingOption` (a strongly typed version of an `NSDictionary`) can cause a `CS0121` (call is ambiguous) since using a `null` argument is common (only one option exist so far). This PR adds overloads that makes the code nicer in such case, e.g. before Xcode9: > // null is used when no options are given > _foo.SaveLivePhoto (output, null, completion); current (Xcode 9) > // casting required to remove ambiguity with PHLivePhotoEditingOption > _foo.SaveLivePhoto (output, (NSDictionary)null, completion); with this PR > // no option, no argument > _foo.SaveLivePhoto (output, completion); The same applies to `PrepareLivePhotoForPlayback`. * [tests] Disable/tweak two tests that breaks on (almost) all Xcode updates Those tests were not added to validate xOS so just keep the parts that helps us (without constantly checking back the new break flavor) * Disable watchOS to check if this hides others issues * [mapkit] Update for beta 4 * [coredata] Update for beta 4 * [wkwebkit] Update for beta 4 Note: WKWindowFeatures.h is not compiled (part of the framework umbrella) and the `@interface WKWindowFeatures (WKPrivate)` sounds like it should not have been exposed (it's all fields starting with `_`) * [corelocation] Update for beta 4 * Revert "Disable watchOS to check if this hides others issues" This reverts commit fed2249fa43290a1956ab2fe0d48f83ab6db9711. * [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]: https://github.com/xamarin/xamarin-macios/blob/f5956d6cc1eb5dfa7bab16628cf282d40237f64e/src/generator.cs#L5985 * [FinderSync] Update to beta 4 (#2377) * [ImageIO] Update to Xcode 9 (#2353) * [PhotosUI] Move macOS photosui bindings out of photos.cs into photosui.cs (#2358) * [quicklook] Update up to beta 4 (#2374) * [uikit] UIDragInteraction & UIDragInteractionDelegate (Xcode 9 b1,2,3) (#2357) * [safariservices] Update up to beta 4 (#2380) * [coreanimation] Update to beta 4 (#2382) Apple removed (mistake?) some API in beta 1. Filed as rdar 33590997 Internal tracking in https://trello.com/c/J8BDDUV9/86-33590997-coreanimation-quartzcore-api-removals * [storekit] Update up to beta 4 (#2379) * [CoreML] Update to Xcode 9 Beta 4 (#2387) * [uikit] UICollectionView/UITableView Drag & Drop (Xcode 9 b1,2,3 & 4) (#2355) * Update code after radar 32929318 and 32897776 are fixed in b4 (#2394) * [xcode9 CoreAudio] New definitions from Beta1 to Beta3 (#2359) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 (#2397) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 https://bugzilla.xamarin.com/show_bug.cgi?id=58512 Created strong API (VNBarcodeSymbology) on the following properties * VNDetectBarcodesRequest.SupportedSymbologies * VNDetectBarcodesRequest.Symbologies * VNBarcodeObservation.Symbology * Remove modern C# because classic can't do it 😡 * [mediaplayer] Update up to beta 4 (#2388) * [watchkit] Update to beta 4 (#2398) * Bump Visual Studio for Mac max version (#2408) * [coreimage] Add CIBarcodeDescriptor and enabled missing API for VNBarcodeObservation. Fix #58197 (#2411) https://bugzilla.xamarin.com/show_bug.cgi?id=58197 * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 (#2407) * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 * [uikit] Fixes based on comments * [coreimage] CIImageAccumulator API fixes. Fix #58349 (#2412) * Obsolete the default `init`; * XM exposed some older APIs using `int` instead of `CIFormat`. This is fixed and old APIs are obsoleted; * Both new & old APIs are now using `CIFormat` for both XI and XM. https://bugzilla.xamarin.com/show_bug.cgi?id=58349 * [uikit] UIText drag & drop - up to Xcode 9 beta 4 (#2410) * [uikit] UISplitView & UIStackView up to Xcode 9 beta 4 (#2425) * Bump XI/XM versions before preview 4 (#2422) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 (#2378) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 * [PDFKit] Implement feedback * [PDFKit] the forgotten enum * [PDFKit] More feedback * [PDFKit] Add Mac changes * Missing change * Fix test RectangleF VS CGRect * Pass -Wunguarded-availability-new to quiet a new clang warning (#2424) - https://bugzilla.xamarin.com/show_bug.cgi?id=58574 * [mtouch/mmp] Ignore warnings about unguarded code section with regards to availability. (#2441) * [monotouch-test] Remove workaround for fixed Apple bug. (#2445) * Bump to Xcode 9 beta 5. (#2447) * Bump to Xcode 9 beta 5. * [mmp] Disable the partial static registrar, because Apple's macOS SDK is broken. > In file included from Xamarin.Mac.registrar.mobile.i386.m:1: > In file included from ./Xamarin.Mac.registrar.mobile.i386.h:11: > /Applications/Xcode9-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVFoundation.h:88:9: fatal error: 'AVFoundation/AVRouteDetector.h' file not found https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [mmp] Fix partial static registrar removal. * [CallKit] Update to Xcode 9 beta 5. * [ARKit] ARPointCloud doesn't conform to NSCopying anymore in Xcode 9 beta 5. * [ARKit] Update to Xcode 9 beta 5 enough to make tests happy. * [CoreImage] Stub out new filters in Xcode 9 beta 5. * [tests][monotouch] Simplify some MDLMesh asserts since values change a lot between OS versions. * [mmp] Default to the dynamic registrar for release builds again, due to bug #58629. https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [tests][introspection] CXCall started implementing NSCopying without saying so in the headers. * Disable mmp static registrar tests due to 58629 for now * [quicklook] Update to beta 5 (#2450) * [photos] Update for beta 5 (#2452) Also update some existing enum members were added in beta 1 on macOS * [safariservices] Update for beta 5 (#2455) * [mediaplayer] Update to beta 5 (#2456) * [CoreLocation] Update Xcode 9 Beta 5 (#2453) * [CoreML] Update to Xcode 9 Beta 5 (#2454) * [Contacts] Update to Xcode 9 Beta 5 (#2451) * [Vision] Update to Xcode 9 Beta 5 (#2458) * [builds] Tell LLVM to stay away from newer macOS functions. (#2459) Fixes this build problem on Sierra: > ld: weak import of symbol '_futimens' not supported because of option: -no_weak_imports for architecture x86_64 This is a symbol that was (will be?) introduced in High Sierra. Interestingly this only occurs if the Xcode 8.X Command Line Tools haven't been manually installed. Because if the Xcode 8.X Command Line Tools are installed, this happens: 1. llvm's configure script detects that 'futimens' is not usable. 2. llvm's configure script detects that 'futimens' is not usable, because xcrun sets SDKROOT=/ when calling clang. a. When the SDKROOT variable is set, clang passes '-syslibroot /usr/lib' to ld. b. When ld gets '-syslibroot /usr/lib', ld looks in '/usr/lib' for a library that contains 'futimens' in the OS itself, and since we're on Sierra, that fails to link. c. So when llvm's configure script creates a test program that checks if 'futimens' is present, the program fails. This is correct, and makes llvm *not* use futimens. 3. xcrun sets SDKROOT=/ because /usr/share/current-os.sdk/Info.plist exists. If that file does not exist, then xcrun sets SDKROOT to Xcode9's macOS SDK (because that's what xcode-select reports). a. When SDKROOT is set to Xcode9's macOS SDK, the configure check for 'futimens' succeeds, because the macOS 10.13 SDK contains that function. b. llvm happily uses 'futimens', and then the final link fails because we're using a symbol not available on all target platforms. * [arkit] Update for Xcode 9 beta 5 - Part 1 (#2460) * [tests] The container app for watchOS tests should be 64-bit. (#2463) * [xharness] watchOS tests need to run in a clean environment. Works around #58348. (#2462) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [xharness] It watchOS tests don't need to be clean anymore. Fixes #58348. (#2473) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [uikit] UIView/UIScrollView/UIViewController up to Xcode 9 beta 5 (#2431) - Add NSDirectionalEdgeInsets type. - Includes DirectionalEdgeInsetsTest. * [AudioToolbox] Update bindings to Xcode 9 beta3 (not later changes). (#2294) * [xharness] Add a file existence check. (#2478) Fixes this exception: ``` Harness exception for 'introspection': System.IO.FileNotFoundException: Could not find file '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log'. File name: '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log' at System.IO.__Error.WinIOError (System.Int32 errorCode, System.String maybeFullPath) [0x00207] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/__error.cs:188 at System.IO.FileInfo.get_Length () [0x00038] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/fileinfo.cs:171 at xharness.CaptureLog.StopCapture () [0x00021] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Log.cs:252 at (wrapper remoting-invoke-with-check) xharness.CaptureLog:StopCapture () at xharness.AppRunner+<RunAsync>d__68.MoveNext () [0x0127f] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/AppRunner.cs:642 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter`1[TResult].GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:357 at xharness.RunSimulatorTask+<RunTestAsync>d__7.MoveNext () [0x0029d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2894 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.RunTestTask+<ExecuteAsync>d__8.MoveNext () [0x0010b] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2538 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.TestTask+<RunInternalAsync>d__87.MoveNext () [0x0010d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:1870 ``` I'm not sure how this can happen, but it has on the bots [1]. [1] https://jenkins.mono-project.com/job/xamarin-macios-pr-builder/4548/Test_Report/ * Bump versions for preview 5 (#2479) * [passkit] Update to beta 5 (#2481) * [tests] Remove workaround for radar #32688391. (#2486) * [replaykit] Update up to beta 5 (#2484) * Bump maccore to get fix for bug #55064. (#2487) * [apidiff] Update definition to new 10.12 (d15-3) stable release (#2490) * [SceneKit] basic work (#2483) * [coredata] Update to beta 5 (#2488) * [homekit] Update for Xcode 9 beta 5 (#2492) * [Foundation] Update for xcode9 (#2468) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 (#2493) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 * [Intents] Implement feedback * [Intents] Add a generic version for INInteraction.GetParameterValue * [Intents] Missing check * [Contacts] Add missing foundation NSItemProviderWriting protocol to CNContact (#2496) https://bugzilla.xamarin.com/show_bug.cgi?id=58203 This is available on all Contacts supported platforms ``` ./iPhoneOS.platform/Developer/SDKs/iPhoneOS11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchOS.platform/Developer/SDKs/WatchOS4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchSimulator.platform/Developer/SDKs/WatchSimulator4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ``` * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) (#2497) * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) * [IntentsUI] Better use a delegate instead so we have named params * Bump versions before 6th preview (#2514) * [arkit] Add missing MarshalDirective to ARPlaneAnchor (#2517) - Fixes bug #58648: ARPlaneAnchor.Extent property seems incorrect but changes to correct value after Debug access (https://bugzilla.xamarin.com/show_bug.cgi?id=58648) * [xtro-sharpie] Fix a compiler warning. (#2516) Fixes these warnings: Runner.cs(197,5): warning CS0642: Possible mistaken empty statement Runner.cs(199,5): warning CS0642: Possible mistaken empty statement Runner.cs(201,5): warning CS0642: Possible mistaken empty statement Runner.cs(203,5): warning CS0642: Possible mistaken empty statement Runner.cs(205,5): warning CS0642: Possible mistaken empty statement * [uikit] Update for Xcode 9 beta 5 - Part 3 (#2511) - UIKeyCommand - UINavigationBar - UINavigationItem - UIPasteboard - UITableViewHeaderFooterView * [xtro-sharpie] Remove xtro-plugin and misc other fixes. (#2522) * [xtro-sharpie] Build with msbuild and be as quiet as requested when building. * [xtro-sharpie] Must run as a 64-bit process, since the required native libraries are 64-bit. * [xtro-sharpie] Add run configurations to the project file to ease debugging in the IDE. * [xtro-sharpie] Remove xtro-plugin and the related commands. This was needed when there wasn't a 64-bit mono, in order to run xtro-sharpie in a 64-bit process. Now there is a 64-bit mono, so it's not needed anymore. Also improve makefile targets a bit, to auto-build stuff when needed, by setting the right dependencies. * Bump Xcode 9 to beta 6 (#2519) Disable watchOS tests again It seems like the Carousel crash from beta 4 is back to haunt us. This was working fine with beta 5. * Backport d15-3 SR2 fixes (#2515) * [coredata] Update to beta 6 (#2528) This seems to only revert some nullability changes from beta 5. * [coreml] Update to beta 6 (#2531) Fix our rdar 33643011 where additional setters were added in the headers but did not exists. * [videosubscriberaccount] Update to beta 6 (#2533) Only b1 and b2 introduced some additions/changes * [uikit] Update for Xcode 9 beta 6 - Part 4 (#2527) The following headers are now up to date: - UICollectionViewFlowLayout.h - UIDocumentPickerViewController.h - UIFontDescriptor.h - UIImage.h - UIImageView.h - UIImagePickerController.h * [xharness] Re-enable the watchOS tests. (#2534) It works fine for me locally, so let's see what Jenkins says. * [macos] Add new APIs in CoreWlan from Xcode9b3 (#2525) * Update AppKit bindings based on radar 33271241 results (#2518) * Update AppKit bindings based on radar 33271241 results - The header comment was updated to note it was NSSliderTouchBarItem view that has the protocol * Remove NSUserInterfaceCompression where not listed in header * [vision] Update to beta 6 (#2532) Removal of some deprecated (during beta) `init*` selectors. Also sync the versions that were inlined in subclasses - the old ones were not removed and the new ones were not added. * [xtro-sharpie] Many methods don't have selectors in Clang's API, so default to the name if no selector. (#2523) This makes a few more unclassified entries show up (mostly missing designated initializers): https://gist.github.com/rolfbjarne/07aa20f9b50b75bf3e69ac6a825e873a * [macos] Add ExternalAccessory APIs from xcode9 (#2526) * [58851] Disable NSMenuView in AllItemsWithNSMenuShouldAllowNull (#2504) * [arkit] Update for Xcode 9 beta 5 - Part 2 (#2505) - Add last missing selector. - Add tests for manual code. * [monotouch-test] Disable FontDescriptorTest.WithFeature (#2537) Disabled because it looks like the tvOS font we use: "Gujarati Sangam MN" does not have rare ligatures anymore (and the entire test is based on it). Before getting an actual fix for that, let's disable the test so it doesn't break all current builds. See: https://bugzilla.xamarin.com/show_bug.cgi?id=58929 * [xtro-sharpie] Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute. (#2524) Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute to calculate the native name for a TypeDefinition. Unclassified changes: https://gist.github.com/rolfbjarne/828f8ee41eebb0a3b60a38d71822fe59 * [foundation/uikit] Inline NSItemProvider_UIKitAdditions in NSItemProvider (#2538) As suggested here: https://github.com/xamarin/xamarin-macios/pull/2527#discussion_r134670981 * [intents] Fix breaking changes (api-diff) (#2543) Additions of @required members inside `INSpeakable` cannot be `[Abstract]` * [contacts] Fix breaking change (api-diff) (#2542) Type Changed: Contacts.CNPostalAddress Removed method: public static string LocalizeProperty (CNPostalAddressKeyOption option); * [macos] Reenable static registrar since Xcode9b6 un-broke SDK headers (#2544) - Fix a subtle spacing issues in PartialStaticLibrary property * [corebluetooth] Update up to beta 6 and enable it on watchOS (#2540) macOS 10.13 has finally catch up with iOS and this simplifies the bindings a bit. * [foundation] API fixes (apidiff) (#2545) 1. Let's not add new, already [Obsolete] API Type Changed: Foundation.NSDimension Added constructors: [Obsolete ("Not intended to be directly instantiated, this is an abstract class.")] public NSDimension (); 2. Fix inconsistently named API, e.g. Type Changed: Foundation.NSAttributedString Added properties: public static string[] ReadableTypeIdentifiersForItemProvider { get; } public static string[] WritableTypeIdentifiers { get; } * [pdfkit] Do not add already [Obsolete] API in new profiles (#2547) and ensure using the newer, correct API works cross-platforms iOS (before) [Obsolete ("Use 'Find (string, NSStringCompareOptions)' instead.")] public virtual PdfSelection[] Find (string text, nint options); public PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'Find (string, PdfSelection, NSStringCompareOptions)' instead.")] public virtual PdfSelection Find (string text, PdfSelection selection, nint options); public void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string, NSStringCompareOptions)' instead.")] public virtual void FindAsync (string text, nint options); public void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string [], NSStringCompareOptions)' instead.")] public virtual void FindAsync (string[] text, nint options); iOS (after) public virtual PdfSelection[] Find (string text, Foundation.NSStringCompareOptions compareOptions); public virtual PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); * Bump versions for the 7th preview (#2541) * Remove additions of AVKit removed in beta5 (#2536) * NSUrlSessionTask should implement NSProgressReporting for iOS (#2548) NSUrlSessionTask implements NSProgressReporting on iOS as well as Mac, so the #if MONOMAC isn't needed. * Add missing availability attributes causing failures on older iOS versions (#2550) * [vision] Minor fix wrt xtro (#2551) including some things we need to ignore manually !missing-field! VNVisionVersionNumber not bound !missing-pinvoke! VNImagePointForFaceLandmarkPoint is not bound !missing-pinvoke! VNNormalizedFaceBoundingBoxPointForLandmarkPoint is not bound * [uikit] NSFileProviderMessaging was removed in beta 2. Fixes #58222 (#2552) reference: https://bugzilla.xamarin.com/show_bug.cgi?id=58222 * [uikit] Update for Xcode 9 - Part 5 (#2546) Bindings for the following headers: - UIActivity.h - UIActivityItemProvider.h - UIAlertController.h - UIApplication.h - UIBarButtonItem.h - UIButton.h - UICollectionViewLayout.h - UIColor.h - UIControl.h - UIDocumentMenuViewController.h - UIFontMetrics.h - UIGestureRecognizer.h - UIGraphicsImageRenderer.h - UIInputViewController.h * [CoreText] Fix an extraneous free in CTFont.GetDefaultCascadeList. (#2555) We do not own the return value from CFArrayGetValueAtIndex, so don't say we do when creating CTFontDescriptor instances, since that leads to angry dragons: 2017-08-28 20:15:20.293 monotouchtest[33186:2311738] A_FontTest 2017-08-28 20:15:20.294 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithFontDescriptorAndOptions 2017-08-28 20:15:20.295 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithNameAndOptions 2017-08-28 20:15:20.296 monotouchtest[33186:2311738] critical: Stacktrace: at <unknown> <0xffffffff> at (wrapper managed-to-native) CoreText.CTFont.CTFontCopyDefaultCascadeListForLanguages (intptr,intptr) [0x0000a] in <ae65a2b1eea242d2b68fe784749543bf>:0 at CoreText.CTFont.GetDefaultCascadeList (string[]) [0x00013] in /work/maccore/xcode9/xamarin-macios/src/CoreText/CTFont.cs:2185 at MonoTouchFixtures.CoreText.A_FontTest.GetCascadeList () [0x0001e] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/CoreText/FontTest.cs:78 at (wrapper runtime-invoke) object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) [0x0004f] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) System.Reflection.MonoMethod.InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&) [0x00016] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at System.Reflection.MonoMethod.Invoke (object,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo) [0x00032] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/corlib/System.Reflection/MonoMethod.cs:305 at System.Reflection.MethodBase.Invoke (object,object[]) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/referencesource/mscorlib/system/reflection/methodbase.cs:229 at NUnit.Framework.Internal.Reflect.InvokeMethod (System.Reflection.MethodInfo,object,object[]) [0x00009] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Reflect.cs:215 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunNonAsyncTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x00025] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:116 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x0001a] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:90 at NUnit.Framework.Internal.Commands.TestMethodCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:66 at NUnit.Framework.Internal.Commands.SetUpTearDownCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00007] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/SetUpTearDownCommand.cs:84 at NUnit.Framework.Internal.WorkItems.SimpleWorkItem.PerformWork () [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/SimpleWorkItem.cs:64 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at MonoTouch.NUnit.UI.BaseTouchRunner.Run (NUnit.Framework.Internal.Test) [0x0004d] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:442 at MonoTouch.NUnit.UI.BaseTouchRunner.Run () [0x00030] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:171 at MonoTouch.Dialog.StringElement.Selected (MonoTouch.Dialog.DialogViewController,UIKit.UITableView,Foundation.NSIndexPath) [0x00008] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/Elements.cs:765 at MonoTouch.Dialog.DialogViewController.Selected (Foundation.NSIndexPath) [0x00026] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:577 at MonoTouch.Dialog.DialogViewController/Source.RowSelected (UIKit.UITableView,Foundation.NSIndexPath) [0x00016] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:402 at (wrapper runtime-invoke) <Module>.runtime_invoke_void__this___object_object (object,intptr,intptr,intptr) [0x0005d] in <32f0c196c5bc4aa18daea2ee64a7814e>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) UIKit.UIApplication.UIApplicationMain (int,string[],intptr,intptr) [0x0005c] in <ae65a2b1eea242d2b68fe784749543bf>:0 at UIKit.UIApplication.Main (string[],intptr,intptr) [0x00005] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:79 at UIKit.UIApplication.Main (string[],string,string) [0x00038] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:63 at monotouchtest.Application.Main (string[]) [0x00011] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/Main.cs:27 at (wrapper runtime-invoke) <Module>.runtime_invoke_void_object (object,intptr,intptr,intptr) [0x00051] in <30a7f7e09de9467b8b454221034a0e38>:0 Native stacktrace: 0 monotouchtest 0x000000010fca03c4 mono_handle_native_crash + 244 1 monotouchtest 0x000000010fcadd30 mono_sigsegv_signal_handler + 288 2 libsystem_platform.dylib 0x000000011feb3b3a _sigtramp + 26 3 CoreFoundation 0x000000011de035a2 computeSanitizedString + 146 4 CoreText 0x00000001168df314 _ZN15TPurgeableCache19RetainedValueForKeyEPKv + 54 5 CoreText 0x00000001168def85 _ZNK17TDescriptorSource22CopyDescriptorUncachedEPK7__CFURLbPK10__CFString + 55 6 CoreText 0x00000001168df34f _ZNK17TDescriptorSource14CopyDescriptorEPK7__CFURLbPK10__CFString + 27 7 CoreText 0x00000001168e20ad _ZNK17TDescriptorSource35CopyFontDescriptorPerPostScriptNameEPK10__CFStringmm + 297 8 CoreText 0x00000001168dfd9e _ZNK17TDescriptorSource30CopySystemFontDescriptorByNameEPK10__CFString10UIFontFlag + 54 9 CoreText 0x00000001168e54c4 _ZNK14TFontFallbacks17CopyFontFallbacksEPK10__CFStringS2_PK9__CFArray + 652 10 CoreText 0x00000001168e4a00 _ZNK14TFontFallbacks29CopyFontFallbacksForLanguagesEPK10__CFStringPK9__CFArray + 122 11 CoreText 0x00000001168e4971 _ZN17TDescriptorSource39CopyDefaultSubstitutionListForLanguagesEPK10__CFStringPK9__CFArray + 61 12 CoreText 0x00000001169397a7 _ZNK9TBaseFont28CreateSystemDefaultFallbacksEPK10__CFStringPK9__CFArray + 51 13 CoreText 0x000000011693999c _ZNK9TBaseFont15CreateFallbacksE10UIFontFlagPPK16__CFCharacterSetPK9__CFArray + 346 14 CoreText 0x00000001168c1036 _ZNK5TFont24CreateDefaultCascadeListEPK9__CFArray + 242 15 CoreText 0x00000001168b8ff9 CTFontCopyDefaultCascadeListForLanguages + 97 16 ??? 0x0000000140eaefd3 0x0 + 5384105939 17 ??? 0x0000000140eae761 0x0 + 5384103777 18 ??? 0x000000013c9c8e74 0x0 + 5311860340 19 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 20 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 21 monotouchtest 0x000000010fd71bac mono_runtime_try_invoke_array + 1292 22 monotouchtest 0x000000010fd15587 ves_icall_InternalInvoke + 647 23 ??? 0x000000013e9fcd13 0x0 + 5345627411 24 ??? 0x000000013e9fc738 0x0 + 5345625912 25 ??? 0x000000013e9fded5 0x0 + 5345631957 26 ??? 0x000000013e9fbb76 0x0 + 5345622902 27 ??? 0x000000013e9e237e 0x0 + 5345518462 28 ??? 0x000000013e9e237e 0x0 + 5345518462 29 ??? 0x000000013e9e237e 0x0 + 5345518462 30 ??? 0x000000013e9e237e 0x0 + 5345518462 31 ??? 0x000000013e873006 0x0 + 5344014342 32 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 33 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 34 monotouchtest 0x000000010fd6e320 mono_runtime_invoke + 208 35 monotouchtest 0x000000010fe71af1 xamarin_invoke_trampoline + 5617 36 monotouchtest 0x000000010fe79ddd xamarin_arch_trampoline + 189 37 monotouchtest 0x000000010fe7b1a1 xamarin_x86_64_common_trampoline + 110 38 UIKit 0x0000000111b9876b -[UITableView _selectRowAtIndexPath:animated:scrollPosition:notifyDelegate:] + 1810 39 UIKit 0x0000000111b98986 -[UITableView _userSelectRowAtPendingSelectionIndexPath:] + 344 40 UIKit 0x0000000111a6b5c9 _runAfterCACommitDeferredBlocks + 318 41 UIKit 0x0000000111a59dad _cleanUpAfterCAFlushAndRunDeferredBlocks + 280 42 UIKit 0x0000000111a89f68 _afterCACommitHandler + 137 43 CoreFoundation 0x000000011de3ddb7 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23 44 CoreFoundation 0x000000011de3dd0e __CFRunLoopDoObservers + 430 45 CoreFoundation 0x000000011de22324 __CFRunLoopRun + 1572 46 CoreFoundation 0x000000011de21a89 CFRunLoopRunSpecific + 409 47 GraphicsServices 0x0000000121b7e9c6 GSEventRunModal + 62 48 UIKit 0x0000000111a5f7d0 UIApplicationMain + 159 49 ??? 0x000000013c9c4474 0x0 + 5311841396 50 ??? 0x000000013c9c40ad 0x0 + 5311840429 ================================================================= Got a SIGSEGV while executing native code. This usually indicates a fatal error in the mono runtime or one of the native libraries used by your application. ================================================================= * [monotouch-test] Don't subclass MKMapView. (#2556) MKMapView doesn't like being subclassed (Apple says "you should not subclass the MKMapView class itself"). Bad things like this starts happening: Thread 0 name: tid_303 Dispatch queue: com.apple.main-thread Thread 0 Crashed: 0 libsystem_kernel.dylib 0x0000000186b25348 __pthread_kill + 8 1 libsystem_pthread.dylib 0x0000000186c39354 pthread_kill$VARIANT$mp + 396 2 libsystem_c.dylib 0x0000000186a94fd8 abort + 140 3 monotouchtest 0x0000000101c02c14 mono_handle_native_crash + 22047764 (mini-exceptions.c:2548) 4 monotouchtest 0x0000000101c0d02c mono_sigsegv_signal_handler + 22089772 (mini-runtime.c:2886) 5 libsystem_platform.dylib 0x0000000186c33b60 _sigtramp + 52 6 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 7 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 8 CoreFoundation 0x0000000186eda51c -[__NSArrayM dealloc] + 68 9 CoreFoundation 0x000000018703f5c8 __CFBasicHashDrain + 312 10 CoreFoundation 0x0000000186fb5b44 _CFRelease + 224 11 CoreText 0x000000018a808404 TDescriptorSource::PurgeFontFallbacksCache+ 488452 () + 92 12 CoreText 0x000000018a808374 TDescriptorSource::PurgeFromCaches+ 488308 (__CFURL const*) const + 176 13 CoreText 0x000000018a7eec74 CTFontRemoveFromCaches + 168 14 VectorKit 0x0000000196a539b0 +[VKSharedResourcesManager removeResourceUser:] + 324 15 VectorKit 0x0000000196ca27a4 md::MapEngine::~MapEngine+ 2643876 () + 360 16 VectorKit 0x0000000196ca2634 md::MapEngine::~MapEngine+ 2643508 () + 12 17 libobjc.A.dylib 0x000000018651eef4 object_cxxDestructFromClass+ 28404 (objc_object*, objc_class*) + 148 18 libobjc.A.dylib 0x000000018652c638 objc_destructInstance + 88 19 libobjc.A.dylib 0x000000018652c690 object_dispose + 16 20 QuartzCore 0x000000018afca3ac -[CALayer dealloc] + 116 21 VectorKit 0x0000000196a43294 -[VKMapView dealloc] + 940 22 QuartzCore 0x000000018af6aafc CA::release_objects+ 744188 (X::List<void const*>*) + 32 23 QuartzCore 0x000000018afd97d8 CA::Layer::~Layer+ 1198040 () + 276 24 QuartzCore 0x000000018afca37c -[CALayer dealloc] + 68 25 QuartzCore 0x000000018af6b16c CA::Transaction::commit+ 745836 () + 1052 26 UIKit 0x0000000190393290 _afterCACommitHandler + 256 27 CoreFoundation 0x0000000186fb38b8 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 32 28 CoreFoundation 0x0000000186fb1270 __CFRunLoopDoObservers + 412 29 CoreFoundation 0x0000000186fb182c __CFRunLoopRun + 1292 30 CoreFoundation 0x0000000186ed22d8 CFRunLoopRunSpecific + 436 31 GraphicsServices 0x0000000188d58f84 GSEventRunModal + 100 32 UIKit 0x000000019040427c UIApplicationMain + 208 33 monotouchtest 0x000000010106eb90 wrapper_managed_to_native_UIKit_UIApplication_UIApplicationMain_int_string___intptr_intptr + 9907088 (/<unknown>:1) 34 monotouchtest 0x0000000100f0d6ac UIKit_UIApplication_Main_string___intptr_intptr + 8459948 (UIApplication.cs:79) 35 monotouchtest 0x0000000100f0d66c UIKit_UIApplication_Main_string___string_string + 8459884 (UIApplication.cs:63) 36 monotouchtest 0x0000000100b10450 monotouchtest_Application_Main_string__ + 4277328 (Main.cs:27) 37 monotouchtest 0x0000000100e0c244 wrapper_runtime_invoke_object_runtime_invoke_dynamic_intptr_intptr_intptr_intptr + 244 38 monotouchtest 0x0000000101c10048 mono_jit_runtime_invoke + 22102088 (mini-runtime.c:2526) 39 monotouchtest 0x0000000101c75eec do_runtime_invoke + 22519532 (object.c:2829) 40 monotouchtest 0x0000000101c78a3c do_exec_main_checked + 22530620 (object.c:4623) 41 monotouchtest 0x0000000101bf9a1c mono_jit_exec + 22010396 (driver.g.c:1040) 42 monotouchtest 0x0000000101d13d60 xamarin_main + 23166304 (monotouch-main.m:482) 43 monotouchtest 0x00000001007de710 main + 927504 (main.m:67) 44 libdyld.dylib 0x00000001869f656c start + 4 * [introspection] Let SkipDueToAttributeInProperty skip setters too (#2557) `SkipDueToAttributeInProperty` which is used to check the availability attribute of properties when the Availability info only exist on the property and not on the property Getter or Setter was wrong. This lead to `setSpringLoaded` (which was introduced in iOS 11) to not be ignored by the test (making it fail). - Fix bug #59085: [introspection-ios] selector not found for UIKit.UIBarButtonItem : setSpringLoaded: - Broken test (https://bugzilla.xamarin.com/show_bug.cgi?id=59085) * [corevideo][watchos] Enable CoreVideo on watchOS (#2553) * [storekit] Fix CampaignToken typo (#2559) (#2560) - Fixes bug #59078: StoreProductParameters and invalid property for CampaignToken (https://bugzilla.xamarin.com/show_bug.cgi?id=59078) * [coreml][watchos] Enable API using CoreVideo on watchOS. Fix #58097 (#2561) https://bugzilla.xamarin.com/show_bug.cgi?id=58097 * Add missing [MarshalDirective] attributes. (#2558) * [bindings-generator] Improve build & project file. * Add missing [MarshalDirective] attributes. Add missing [MarshalDirective] attributes, which also requires implementing support for out parameters in the binding generator, since one of the signatures missing the [MarshalDirective] contains such an out parameter. Also add tests for all the API I've added [MarshalDirective] to. * [bindings-generator] Remove redundant if check. * [monotouch-test] Rename file to end with 'Test.cs'. * [tests] Fix a few build errors for Xamarin.Mac. * [uikit] Fix UIColor and UIInputViewController tvOS availability (#2569) - Fixes introspection tests on tvOS 10. * [storekit] Fix SKCloudServiceSetupMessageIdentifier and SKProductStorePromotionController tvOS availability (#2568) - Fixes introspection tests on tvOS 10. * [mapkit] Fix MKMapItemTypeIdentifier tvOS availability (#2566) - Also remove double [Mac] availability attribute. - Fixes introspection tests on tvOS 10. * [ARKit] Fix marshalling for ARPointCloud.RawFeaturePoints. (#2565) ARPointCloud.RawFeaturePoints is an array of Vector3, but each vector is 16-byte aligned (as if it were an array of Vector4). This means we need to account for this when creating a managed array from pointer to the native C-style array. * [ModelIO] Fix MDLVoxelIndexExtent struct. (#2564) The MDLVoxelIndexExtent is a struct containing two 4-dimensional vectors of integers (not floats, as originally and incorrectly implemented). Fix this my creating a new MDLVoxelIndexExtent2 struct with the right fields, re-implement all the API that exposes this struct and obsolete the old API. Also add missing [MarshalDirective] attributes. And write a test to make sure it works fine now and forever. * [coredata] Enable new fields since rdar #33878590 is fixed w/beta 6 (#2570) reference: https://trello.com/c/dlSRYPFx * [xtro-sharpie] Add a Simd check class to verify signatures with Simd types. * [Simd] Add simd matrix types. The OpenTK matrices (Matrix2/3/4) has a different memory layout than Apple's matrix_float2x2/matrix_float3x3/matrix_float4x4 matrices: the OpenTK versions are row-major, while Apple's versions are column-major. This means that when blitting memory from one to the other, the matrix will appear to have been transposed. See bug #[58599][2] for an example. Unfortunately we've already bound several API with Apple's matrix_floatXxX matrices using OpenTK's matrices, and although they're bound wrong, and the matrices appear transposed on input/output, we can't change the behavior because we have to maintain compatibility. This means we have to introduce new API, and then also just define new matrix types with the right memory layout (column-major). Additionally, in the future we might be able to mark these matrices as Simd-matrixes, so that the JIT/AOT compiler can generate the correct alignment for them, avoiding having to define a native conversion method (using the [MarshalDirective] hack). The matrices have been designed to match API-wise the matrices in the System.Numerics.Vectors namespace [1], but for the moment with only a few basic operations implemented (Determinant/Transpose/Multiply) defined (we can always add more later if we want to). In addition explicit conversion operators to and from the corresponding OpenTK.MatrixX are implemented, which means any operation defined in the OpenTK matrices can be used by converting back and forth. [1]: https://msdn.microsoft.com/en-us/library/system.numerics.matrix4x4(v=vs.111).aspx [2]: https://bugzilla.xamarin.com/show_bug.cgi?id=58599 * [ARKit] Use the new Simd matrix types. * [Vision] Use the new Simd matrix types. * [ModelIO] Use the new Simd-compatible matrix types, and deprecate the old API. * [GameplayKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [SpriteKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [xtro] Don't report missing [MarshalDirective] for obsolete methods. * [xtro] Remove unnecessary ignores. The implementation changed, and these stayed accidentally. * [wkwebkit] Fix (native) protocol names (#2572) Also ignore xtro's WKSnapshotConfiguration since it's an Apple bug 34185961 reference (xtro) !missing-protocol! WKURLSchemeHandler not bound !missing-protocol! WKURLSchemeTask not bound !unknown-protocol! WKUrlSchemeHandler bound !unknown-protocol! WKUrlSchemeTask bound !unknown-type! WKSnapshotConfiguration bound * [uikit] Fix enums availability attributes (#2575) - Fixes bug #59132: [uikit] Extra types in watchOS (https://bugzilla.xamarin.com/show_bug.cgi?id=59132) * [watchkit] Add missing designated initializers (#2574) references (xtro) !missing-designated-initializer! WKInterfaceController::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! WKUserNotificationInterfaceController::init is missing an [DesignatedInitializer] attribute * [xtro] Reword some of the Simd diagnostic messages according to review. * [tests] Make sure test symbols don't clash between different test libraries. Fixes this build problem for framework-test: clang: error: linker command failed with exit code 1 (use -v to see invocation) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_get_rotation_matrix'. MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticObjectTest.framework/XStaticObjectTest (Location related to previous error) MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticArTest.framework/XStaticArTest(libtest-ar.x86_64.o) (Location related to previous error) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransformcomponent_get_local_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_create_global_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float4x4'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float3x3'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float2x2'. MTOUCH: error MT5209: Native linking error: 6 duplicate symbols for architecture x86_64 MTOUCH: error MT5202: Native linking failed. Please review the build log. * [tests] Since libtest.a need ModelIO now, the corresponding LinkWith attributes need to state that too. * [introspection] Don't check native signatures on obsolete members, and ignore the right simd matrix types. Fixes this introspection/Mac problem: ***** ApiSignatureTest.NativeSignatures Selector: uniformWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: uniformWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: uniformWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: setMatrixFloat2x2Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: setMatrixFloat3x3Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: setMatrixFloat4x4Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: initWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: initWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: initWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded * [monotouch-tests] Include more custom asserts for watchOS to make the build work. Fixes this: Simd/MatrixFloat4x4Test.cs(28,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(29,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(37,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(48,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' [...] * [monotouch-test] Exclude code that requires the binding project from xammac tests. Exclude code that requires the test binding project from xammac tests because there's currently no XM version of the test binding project. Fixes this: tests/monotouch-test/SpriteKit/UniformTest.cs(20,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLMaterialProperty.cs(37,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLTransform.cs(34,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) * Bump version for preview #8 (#2576) * [spritekit] Audit fixes (xtro) (#2577) 1. SKVideoNode is now, partially, available on watchOS and does not require the extra, manual code to swicth selectors depending on the OS version being run. !missing-type! SKVideoNode not bound !missing-selector! SKVideoNode::anchorPoint not bound !missing-selector! SKVideoNode::initWithCoder: not bound !missing-selector! SKVideoNode::initWithFileNamed: not bound !missing-selector! SKVideoNode::initWithURL: not bound !missing-selector! SKVideoNode::setAnchorPoint: not bound !missing-selector! SKVideoNode::setSize: not bound !missing-selector! SKVideoNode::size not bound !missing-selector! +SKVideoNode::videoNodeWithFileNamed: not bound !missing-selector! +SKVideoNode::videoNodeWithURL: not bound 2. SKNodeFocusBehavior is exposed needlessly on watchOS because SpriteKit/Enums.cs was not processed by the generator, so [NoWatch] did not matter. !unknown-native-enum! SKNodeFocusBehavior bound It's also visible on macOS but nothing uses it (so we do not expose it needlessly) !missing-enum! SKNodeFocusBehavior not bound 3. Add missing designated initializer on default `init` !missing-designated-initializer! SKAttributeValue::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! SKNode::init is missing an [DesignatedInitializer] attribute 4. Remove inconsistency for SKNode subclasses wrt XAMCORE_4_0 The trio attributeValues, setAttributeValues and setValue:forAttributeNamed: that was moved from SKNode (deprecated) into its subclasses. This was done using XAMCORE_4_0 but not on every subclasses. This adds them everywhere to be consistent (only SKNode versions are not defined in XAMCORE_4_0) !missing-selector! SKEffectNode::attributeValues not bound !missing-selector! SKEffectNode::setAttributeValues: not bound !missing-selector! SKEffectNode::setValue:forAttributeNamed: not bound !missing-selector! SKEffectNode::valueForAttributeNamed: not bound !missing-selector! SKEmitterNode::attributeValues not bound !missing-selector! SKEmitterNode::setAttributeValues: not bound !missing-selector! SKEmitterNode::setValue:forAttributeNamed: not bound !missing-selector! SKEmitterNode::valueForAttributeNamed: not bound !missing-selector! SKSpriteNode::attributeValues not bound !missing-selector! SKSpriteNode::setAttributeValues: not bound !missing-selector! SKSpriteNode::setValue:forAttributeNamed: not bound !missing-selector! SKSpriteNode::valueForAttributeNamed: not bound * [introspection] Make sure '[FAIL]' is printed before every failure. (#2578) This makes xharness able to list the failures in the inline summary. * [xtro] Reword some of the Simd diagnostic messages according to review. * [xharness] Add a missing IsServerMode check to generate correct html. (#2581) * [SpriteKit] SKTransformNode is new in Xcode 9 so no need to keep the broken (and obsolete) non-simd version of RotationMatrix. * [intents] Fix some (partial) xtro issues and #59156 (#2585) reference https://bugzilla.xamarin.com/show_bug.cgi?id=59156 Remaining issues are filled in https://bugzilla.xamarin.com/show_bug.cgi?id=59183 !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound * [Intents] Confirm* interface methods should be bound as Confirm, Fixes Bug 59164 (#2591) * [Intents] Confirm* interface methods should probably be bound as Confirm, Fixes Bug 59164 https://bugzilla.xamarin.com/show_bug.cgi?id=59164 All Confirm* methods from *IntentHandling interfaces should be named just `Confirm` to avoid confusion because most of them do not directly confirm as an acion, but instead they **ask** for confirmation also we would follow swift's naming by doing this. * [Intents] XAMCORE_4_0 all Confirm* methods from *IntentHandling Turns any Confirm* into just Confirm inside a XAMCORE_4_0 block, * [Intents] Fix breaking changes in Intents added in Xcode 9 Bindings (#2590) Apple added more protocol conformances to INRidesharingDomainHandling and INPaymentsDomainHandling protocols in Xcode 9, I introduced these breaking changes back when I did intents binding so fixing them :) * [Metal] New bindings from Xcode 9 betas (#2457) * [AVFoundation] Updated bindings for xcode9. (#2272) * [Xcode9] Add IOSurface bindings (#2363) * This framework was a private framework before iOS 11. This framework was a private framework before iOS 11, yet the headers claim many API were introduced in iOS 10. So take account of this difference by using the private framework location in iOS 10.3 or earlier. Testing these API from Xcode works fine when run on an iOS 10.3 device, and I've confirmed the IOSurface framework is loaded from the private frameworks path on older devices (and when built using Xcode 9 and linked with the public framework path). * Disable code to make IOSurface work on iOS 10. Disable the code to make IOSurface work on iOS 10, since it may be rejected by the App Store. This also means adjusting the availability attributes, so that the introspection tests pass (and to document that technically these API won't work when used with Xamarin.iOS in iOS 10). I've filed bug #[59201][1] to keep track of this, maybe we can re-enable this later. [1]: https://bugzilla.xamarin.com/show_bug.cgi?id=59201 * [CoreMedia] Fix leak in CMAttachmentBearer.GetAttachments. (#2593) The caller owns the return value from CMCopyDictionaryOfAttachments, so tell Runtime.GetNSObject that. * [Intents] Adds missing API found by xtro, fixes Bug 59183 (#2596) https://bugzilla.xamarin.com/show_bug.cgi?id=59183 Fixes !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !incorrect-protocol-member! INUIHostedViewControlling::configureWithInteraction:context:completion: is OPTIONAL and should NOT be abstract * [xtro] Fix StartWorkingDirectory to enable debugging (#2598) * [iosurface] Enable for tvOS and XM classic (to avoid multiple defines around consumer API) (#2597) * [xtro] Fix EnumCheck (#2600) * [ARKit] Rename a few method to make them nicer. (#2604) * DisplayTransform -> GetDisplayTransform since methods should have verbs. * SessionWasInterrupted -> WasInterrupted and SessionInterruptionEnded -> InterruptionEnded since these names match better with the other names (CameraDidChangeTrackingState / DidFail / DidOutputAudioSampleBuffer: none are prefixed with 'Session'). Additionally, the type is a Model (for the delegate pattern), which means all methods are more-or-less event-like, and the first argument is always the same (the protocol itself), which is another indicator the methods should be named similarly. * [Foundation] Remove 'Key' suffix from some fields. (#2606) Of the 168 fields in NSMetadataItem, only these 5 hadn't removed the 'Key' suffix. So make them all equivalent by removing the 'Key' suffix from these 5 fields. * [ImageIO] Fix API to not duplicate the instance in instance methods. (#2609) An instance method does not need to take the instance as a parameter, so remove the first (instance) parameter for CGImageDestination.AddAuxiliaryDataInfo and CGImageSource.CopyAuxiliaryDataInfo. An alternative solution would be to make the methods static, but I like the instance API better. * [UIKit] De-model UIDataSourceTranslating. (#2603) It's not clear from neither the documentation nor the headers how this protocol is supposed to be used, and since it doesn't correspond to the delegate pattern, remove the [Model] attribute for now. We can always add it back later. * [CoreML] Improve API. (#2592) * [CoreML] Improve API. * The indices, shape and stride properties for MLMultiArray and MLMultiArrayConstraint can logically only be arrays of integers, so type them as such. This means adding overloads for MLMultiArray's constructors, GetObject and SetObject methods, and the indexers that takes nint[] arrays instead of NSNumber[] arrays. * Change MLFeatureValue's static factory methods to be a method ('Create') instead of a preposition, and call all the different factory methods the same, since they can be overloaded nicely. * [tests][monotouch-test] Add version check to MLMultiArrayTest and make sure the arrays we create are big enough for the data we put in them. * [tests][monotouch-test] MLMultiArray's elements aren't zero-initialized, so don't assume that in the tests. * Support overloading Objective-C methods based on static/instance. (#2607) Two Objective-C methods can be named identically as long as one is static and the other instance. We must support this since Apple did just this (in the NSItemProviderReading / NSItemProviderWriting protocols). We solve it by prepending a '+' or '-' to the selector when hashing it (to determine selector uniqueness, and to look the method up again at runtime). * [uikit] Update for Xcode 9 - Part 6 (#2602) NSAttributedString.h NSFileProviderExtension.h NSLayoutAnchor.h UIAccessibility.h UIAccessibilityAdditions.h UIAccessibilityContainer.h UIAccessibilityContentSizeCategoryImageAdjusting.h UIAccessibilityCustomRotor.h UIAccessibilityLocationDescriptor.h UITabBar.h UINavigationBar.h UIScreen.h * Xcode9 scenekit (#2512) * [SceneKit] basic work * Added key * [xcode9] SCNCameraController * [xcode9] SCNCamera updates * [xcode9] SCNMaterial * [xcode9] SCNGeometryTessellator, SCNCameraControlConfiguration, SCNView, small bits * Add trailing commas to last enum value * Remove whitespace noise * [scenekit] Update deprecated attributes messages * Addresses some of Rolf's feedback * Drop the WeakDelegate in SCNCameraController * Rename method to Render, remove ctor from class that can not be constructed in Palygrounds, add typo exception * [AppKit] Rename NSBezierPath.AppendBezierPathWithCGGlyph to match its sibling methods. (#2605) NSBezierPath contains a lot of 'AppendPathWithXXX' methods, that all map to 'appendBezierPathXXX' selectors. So rename AppendBezierPathWithCGGlyph accordingly, to make it more similar to the other methods in the same type. * [uikit] Add all UISpringLoadedInteractionSupporting (#2616) Types do not conform to the protocol but protocol methods work on those types (see monotouch-test). Fixed introspection tests accordingly and tested the selectors in monotouch-test. * [Intents] Add convenience ctor overload and call correct base ctor in manual ctor. (#2613) Add a convenience constructor overload in INGetUserCurrentRestaurantReservationBookingsIntent that uses nint instead of NSNumber, since logically "number of results" will always be some sort of integer. Also call the correct base constructor in INSpeakableString's custom constructor (same as any other generated constructor). Otherwise we end up doing something like this: [[[INSpeakableString alloc] init] initWith ...], i.e. calling two different init methods. * [coreimage] Add new headers API up to beta 6 (#2601) Filters are not complete (ref: #57350) https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * Some new constants are not yet documented (type is known), so they are commented / ignored https://bugzilla.xamarin.com/show_bug.cgi?id=59296 * Filled bug for [Wrap] inside [Category] so strong dictionary helpers can be re-enabled later https://bugzilla.xamarin.com/show_bug.cgi?id=59294 * [foundation] xtro fixes for watchOS (#2586) !missing-enum! NSProcessInfoThermalState not bound !missing-field! NSProcessInfoThermalStateDidChangeNotification not bound !missing-selector! NSProcessInfo::thermalState not bound Headers are wrong and preferredPresentationStyle is not in tvOS and watchOS !missing-selector! NSItemProvider::preferredPresentationStyle not bound !missing-selector! NSItemProvider::setPreferredPresentationStyle: not bound * [uikit] Also remove UIPreferredPresentationStyle enum from platform where it's not used * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. (#2614) * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. * NSItemProviderWriting: * NSItemProviderReading: Implement correctly and completely by uncommenting commented out code. * NSMutableString: * NSAttributedString: remove inlined members, since these classes don't implement NSItemProviderReading / NSItemProviderWriting (according to the headers at least). * NSUrl: all platforms now seem to implement NSItemProviderReading / NSItemProviderWriting. * NSString: all platforms now seem to implement both NSItemProviderReading and NSItemProviderWriting * UIColor: * UIImage: Update inlined protocol members according to the latest beta. Additionally, due to the following conditions: * The protocols all have the correct members now. * In the API definition we tell the generator to inline members from a protocol by inheriting from the corresponding interface. * The generator doesn't inline static members from protocols. several 'new' keywords had to be added to silence a compiler warning that occurrs when we manually inline a static member, since the member would be included in the type both from the inherited interface and the manual implementation. * [Foundation] Comment out NSItemProviderWriting.GetItemProviderVisibility to avoid inlining/generating unusable methods. NSItemProviderWriting.GetItemProviderVisibility is an optional method, and none of the native classes that implements NSItemProviderWriting actually imlements the method. This means inlining the method in those classes ends up creating unusable API; so just comment out the method to avoid generating the unusable API. The introspection tests found this: [FAIL] Foundation.NSString : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Foundation.NSUrl : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Contacts.CNContact : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] MapKit.MKMapItem : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIColor : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIImage : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] iOSApiSelectorTest.ApiSelectorTest.StaticMethods : 6 errors found in 2348 static selector validated: See also https://bugzilla.xamarin.com/show_bug.cgi?id=59308 * [iosurface] Add missing [TV] attributes (#2619) * [opengles] Enable the new API using IOSurface (#2618) The symbol only exists inside device libraries, not on simulator, and the introspection tests were updated to ignore it. Part of https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [avfoundation][watchos] Enable AudioBufferList (fix #59145) + audit (xtro) (#2617) 1. AudioBufferList is part of CoreAudio (wrong namespace, which needs a few changes in the generator) and now available in watchOS 4 https://bugzilla.xamarin.com/show_bug.cgi?id=59145 2. Also fixes xtro found issues: !missing-type! AVAudioRecorder not bound !missing-selector! AVAudioRecorder::averagePowerForChannel: not bound !missing-selector! AVAudioRecorder::channelAssignments not bound !missing-selector! AVAudioRecorder::currentTime not bound !missing-selector! AVAudioRecorder::delegate not bound !missing-selector! AVAudioRecorder::deviceCurrentTime not bound !missing-selector! AVAudioRecorder::format not bound !missing-selector! AVAudioRecorder::initWithURL:format:error: not bound !missing-selector! AVAudioRecorder::initWithURL:settings:error: not bound !missing-selector! AVAudioRecorder::isMeteringEnabled not bound !missing-selector! AVAudioRecorder::isRecording not bound !missing-selector! AVAudioRecorder::peakPowerForChannel: not bound !missing-selector! AVAudioRecorder::recordAtTime: not bound !missing-selector! AVAudioRecorder::recordAtTime:forDuration: not bound !missing-selector! AVAudioRecorder::recordForDuration: not bound !missing-selector! AVAudioRecorder::setChannelAssignments: not bound !missing-selector! AVAudioRecorder::setDelegate: not bound !missing-selector! AVAudioRecorder::setMeteringEnabled: not bound !missing-selector! AVAudioRecorder::settings not bound !missing-selector! AVAudioRecorder::url not bound !missing-protocol! AVAudioRecorderDelegate not bound !missing-selector! AVAudioEngine::inputNode not bound !missing-selector! AVAudioEngine::manualRenderingBlock not bound !missing-selector! AVAudioInputNode::setManualRenderingInputPCMFormat:inputBlock: not bound !missing-selector! AVAudioPlayer::format not bound !missing-selector! AVAudioSession::requestRecordPermission: not bound !unknown-field! AVFileType3GPP bound !unknown-field! AVFileType3GPP2 bound !unknown-field! AVFileTypeAC3 bound !unknown-field! AVFileTypeAIFC bound !unknown-field! AVFileTypeAIFF bound !unknown-field! AVFileTypeAMR bound !unknown-field! AVFileTypeAVCI bound !unknown-field! AVFileTypeAppleM4A bound !unknown-field! AVFileTypeAppleM4V bound !unknown-field! AVFileTypeCoreAudioFormat bound !unknown-field! AVFileTypeDNG bound !unknown-field! AVFileTypeEnhancedAC3 bound !unknown-field! AVFileTypeHEIC bound !unknown-field! AVFileTypeHEIF bound !unknown-field! AVFileTypeJPEG bound !unknown-field! AVFileTypeMPEG4 bound !unknown-field! AVFileTypeMPEGLayer3 bound !unknown-field! AVFileTypeQuickTimeMovie bound !unknown-field! AVFileTypeSunAU bound !unknown-field! AVFileTypeTIFF bound !unknown-field! AVFileTypeWAVE bound * [Metal] Implement API using IOSurface now that IOSurface is implemented. Partially fixes #58054. (#2621) https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [PdfKit] Improve PdfAnnotation.QuadrilateralPoints binding by making it strongly typed. (#2620) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). (#2622) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). * [ARKit/Vision] Use the new simd vector types instead of the OpenTK versions. * [ModelIO] Use the new simd vectors in new API (MDLVoxelIndexExtent2). This way we won't have to create a MDLVoxelIndexExtent3 in the future. * [SpriteKit] Use the new simd vectors in new API. * [metal] Audit (xtro) based fixes (#2623) !extra-protocol-member! unexpected selector MTLArgumentEncoder::newArgumentEncoderForBufferAtIndex: found !extra-protocol-member! unexpected selector MTLComputeCommandEncoder::dispatchThreads:threadsPerThreadgroup: found macos-only !missing-field! MTLDeviceRemovalRequestedNotification not bound !missing-field! MTLDeviceWasAddedNotification not bound !missing-field! MTLDeviceWasRemovedNotification not bound !missing-pinvoke! MTLCopyAllDevices is not bound * [CloudKit] Update bindings to beta 6. (#2615) * [FileProvider] Turn NSFileProviderItemIdentifier enum into a static class, fixes bug 59329 (#2634) https://bugzilla.xamarin.com/show_bug.cgi?id=59329 At the time of binding NSFileProviderItemIdentifier it wasn't clear how it was supposed to be used, I mean apple provides two keys which I thought were the only possible values hence binding it as an smart enum. Unfortunately this wasn't the case and the user can use those two values provided from the SDK or their own NSString Identifier. Swift provides a wrapper unfortunately we can't do the same due to NSFileProviderItemIdentifier is used in the NSFileProviderItem protocol and we currently do not support changing signatures on them. * [mtouch] Teach mtouch about the 'IOSurface' framework for tvOS. Fixes #59333. (#2630) https://bugzilla.xamarin.com/show_bug.cgi?id=59333 * Bump Touch.Unit to get fix for API breakage. (#2631) spouliot/Touch.Unit@8f1e19d [NUnitOutputTextWriter] Reintroduce previous constructor to make sure we don't break binary ABI. spouliot/Touch.Unit@00b0c0b [NUnitOutputTextWriter] Don't write invalid xml comments. spouliot/Touch.Unit@de9fe20 [TouchRunner] Restore the original code path when not wrapping NUnit xml output. * [IOSurface] Add missing availability attributes for tvOS. (#2629) * Bump versions for preview 9 (#2624) * [AVFoundation] Add missing interface AVRouteDetector. (#2637) * [tests] Update xtro to reduce list sizes (#2636) * Skip OpenTK duplicate declaration (we can't change them); * Fix rule name change for ARKit / simd; * Add missing default initializer on `init` to pending actions; * Add note for AVPersistableContentKeyRequest changes wrt tvOS; * [ReplayKit] Make RPBroadcastActivityViewController.LoadBroadcastActivityViewController async-capable. (#2639) * [xcode9] More SceneKit bindings (#2633) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 (#2644) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 https://bugzilla.xamarin.com/show_bug.cgi?id=59380 vector_float3 is 16 bytes, which means the binding is incorrect, because Vector3 is 12 bytes, and our code does not that difference into account. * Add tests * [DeviceCheck] Disable default ctor for DCDevice. (#2642) It doesn't seem to be useful according to the documentation, since it appears that the only way to get an instance is to use the static CurrentDevice property. * [audiounit] Audit (xtro) fixes for tvOS (#2635) Availability attributes in non-generated files don't hide symbols/code. reference: !unknown-pinvoke! AudioUnitExtensionCopyComponentList bound !unknown-pinvoke! AudioUnitExtensionSetComponentList bound * [tests] Make sure tvOS tests don't use the (unexisting) API * [tests] Add all test project variations to tests-mac.sln (#2579) * [xharness] Make sure generated mac projects have different project guids. * [introspection] Change the project guid so that it doesn't match the dontlink-mac project guid. * [tests] Add all test project variations to tests-mac.sln. * [xharness] Fix else condition. * [FileProvider] Adds missing NSFileProviderPage constants, fixes bug 59297. (#2646) https://bugzilla.xamarin.com/show_bug.cgi?id=59297 Adds NSFileProviderInitialPageSortedByName and NSFileProviderInitialPageSortedByDate NSData constants * [Xcode9] Remove NSFileProviderMessage and NSFileProviderMessageInterface (#2647) APIs were removed in beta 2 * [Foundation/UIKit] Provide LoadObject[s] methods that return the expected type in the callback. Fixes #59049. (#2638) The callback for these LoadObject[s] methods take an INSItemProviderReading parameter. This tells our runtime that we must provide an instance of a managed object that implements this interface (but nothing else), so we create a `NSItemProviderReadingWrapper` instance, which complies with the API (since the wrapper type implements the corresponding interface). Unfortunately these methods are supposed to return an instance of the passed- in type, so in order to comply with this soft (documentation-only) requirement, provide a wrapper method that creates instances of the right types. https://bugzilla.xamarin.com/show_bug.cgi?id=59049 * [arkit] Ignore deprecated selectors (#2645) * [FileProvider] Adds missing protocol and keys from audit (#2652) ``` !missing-protocol! NSFileProviderServiceSource not bound !missing-field! NSFileProviderErrorCollidingItemKey not bound !missing-field! NSFileProviderErrorNonExistentItemIdentifierKey not bound !missing-field! NSFileProviderFavoriteRankUnranked not bound ``` Also adds `NSXpcListenerEndpoint` to foundation, needed by `NSFileProviderServiceSource` protocol. * [tests][xtro] Workaround xtro runner dupe entry exception and update data files (#2654) * [AVFoundation] Rename field to match others. (#2657) * [homekit] Audit (xtro) fixes (#2653) - HMCharacteristicEvent conforms to NSMutableCopying on iOS11 which makes it 64 bits only (so adjust intro tests) - Ignore extra setters on HMMutablePresenceEvent, rdar 33883958 !missing-selector! HMMutablePresenceEvent::setPresenceEventType: not bound !missing-selector! HMMutablePresenceEvent::setPresenceUserType: not bound * [xtro] Add missing pinvoke to pending (#2662) - Bug 59422: [uikit] Missing UIContentSizeCategoryCompareToCategory & UIContentSizeCategoryIsAccessibilityCategory (https://bugzilla.xamarin.com/show_bug.cgi?id=59422) * Merge latest d15-3 fixes into xcode9 (#2660) * [msbuild] Re-added wildcard (*) expandsion for application-identifier in Entitlements.plist (#2186) Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=57119 * Bump mono (#2213) * Framework tests were still binding non-linked Simple class which errors now (#2216) (#2218) - Improve Makefile to rebuild when projects build with errors * Bump mono to get cecil fix for bug #56808. (#2222) https://bugzilla.xamarin.com/show_bug.cgi?id=56808 * [msbuild] Use @(ReferencePath) instead of @(ResolvedFiles) (#2188) (#2214) This allows things to work on both xbuild and msbuild. In xbuild, both lists are exactly the same and on msbuild, only @(ReferencePath) exists. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=55147 * NSActivityOptions.IdleDisplaySleepDisabled had wrong value (#2232) (#2239) This was due to an integer overflow. The original value was based on Int32 1 << 40 == 256 The correct value should be based on a UInt64. 1UL << 40 == 1099511627776 * [tests] Fix bug 57699 - [iOS]InternalsTest failure (Linkall) tests on device (#2243) Strip native debugging symbols should not be checked for debug builds * Bump mono to get fix for bug #57780. https://bugzilla.xamarin.com/show_bug.cgi?id=57780 * Update .gitmodules Change branch to d15-3 branch of mono * Bump maccore to get fix for bug #55064. https://bugzilla.xamarin.com/show_bug.cgi?id=55064 * [mono] Bump mono to get the head of cecil/mono-2017-04 and fix IsComObject #57919 Also fix #58789 [1], the typo in tools/mtouch/Tuning.cs showing in MT0000 errors instead MT2102. That's already in master and d15-4 mono bump includes: [2] commit 2a6502cee0df9de5198eafe7c8b5f6ac25106f34 (HEAD -> d15-3, origin/d15-3) Merge: 02457c20fcf 5e05cafc6f1 Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 10:04:06 2017 -0400 Merge pull request #5401 from marek-safar/com [Marshal.IsComObject] Make this predicate return false instead of thr… [3] commit 02457c20fcf57c0610e844d638eb1da82b5d1eb0 Merge: da80840ea55 73fd9a1b82e Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 09:59:06 2017 -0400 Merge pull request #5400 from spouliot/bump-cecil-58834-d15-3 [cecil] Bump to the head of the mono-2017-04 branch and pick the fix for bug #58834 References [1] https://bugzilla.xamarin.com/show_bug.cgi?id=58789 [2] https://bugzilla.xamarin.com/show_bug.cgi?id=57919 [3] https://bugzilla.xamarin.com/show_bug.cgi?id=58834 * [mtouch] Put 'mono_profiler_startup_log' in the symbol list. Fixes #58778. (#2501) We need the 'mono_profiler_startup_log' symbol when profiling is enabled, so make sure to add the symbol to the correct list of symbols we need. Previously we were passing `-u _mono_profiler_startup_log` to clang directly, which is fine, but not complete, since it does not write the symbol to the symbollist file (--symbollist=file), which means it wouldn't be preserved when the MSBuild tasks strip the executable. https://bugzilla.xamarin.com/show_bug.cgi?id=58778 * Bump versions for SR3 https://trello.com/c/EVze08ei * Bump mono to include HttpClientHandler fix #44027 https://trello.com/c/jYFXadH8/8-systemnethttp-close-request-stream-when-httpclienthandler https://bugzilla.xamarin.com/show_bug.cgi?id=44027 * [FileProvider] Add missing API and turn NSString to string (#2663) Turned NSString to string in order to match exisiting API. * [uikit] Add UIPasteConfigurationSupporting and UITextPasteConfigurationSupporting (#2649) - Fixes bug #59363: Missing UIPasteConfigurationSupporting, UITextPasteConfigurationSupporting, UITextDraggable and UITextDroppable on a couple of types (https://bugzilla.xamarin.com/show_bug.cgi?id=59363) * [uikit] Remove 129 types in UIPasteConfigurationSupporting case * [scenekit] Audit (xtro) fixes (#2648) This looks like an Apple breaking change (since `SCNAnimation` is new) but we now have: > typedef void (^SCNAnimationEventBlock)(id<SCNAnimation> animation, id animatedObject, BOOL playingBackward); bound as > delegate void SCNAnimationEventHandler (CAAnimation animation, NSObject animatedObject, bool playingBackward); and `CAAnimation` conforms to `SCNAnimation` but *only* the later is available on watchOS. The delegate is only updated (since it's new) on our watchOS profile. xtro references: (watchos) !unknown-protocol! SCNCameraControlConfiguration bound (tvos/watchos) !missing-selector! SCNAnimation::animationEvents not bound !missing-selector! SCNAnimation::setAnimationEvents: not bound !missing-selector! SCNConstraint::isEnabled not bound !missing-selector! SCNConstraint::setEnabled: not bound !missing-field! SCNSceneSourceConvertToYUpKey not bound !missing-field! SCNSceneSourceConvertUnitsToMetersKey not bound (ios/tvos) !missing-protocol-conformance! SCNNode should conform to UIFocusItem * Bump maccore post 15.3 merge (#2665) * Bump Xcode 9 to GM (#2667) * Force build (on wrench) * [avfoundation] Fix breaking changes (apidiff) (#2664) * [TVServices] Update to Xcode 9 GM (#2675) * [GameController] Update to Xcode 9 GM (#2673) * [LocalAuthentication] Update to Xcode 9 GM (#2671) * [LocalAuthentication] Update to Xcode 9 GM * Remove availability from BiometryNotAvailable, BiometryNotEnrolled and BiometryLockout * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer (#2659) * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer Some of the new added types were already present BUT under a #if MONOMAC, they had to be moved. * [AVFoundation] Set the wrongly added API to be obsolete and ensure it returns logical values. (#2650) * [xtro] The right platform for macOS is 'macos', not 'osx'. (#2677) The platform name is used to filter availability attributes, and if we use the wrong platform, we'll incorrectly skip all availability attributes. The net result in unclassified entries: https://gist.github.com/rolfbjarne/a4474bc2a40c49a85cad495b51bb514f * Various Xcode 9 API improvements and also fixes bug 59433 (#2676) https://bugzilla.xamarin.com/show_bug.cgi?id=59433 While fixing bug 59433 I noticed some additional issues outlined below: AVDepthData: * Renamed **non** static `Create` methods because `Create` only makes sense with the **Static** method in this context. Also by renaming the methods we are now closer to the names that swift uses. * Kept descriptive method names in favor of self-documenting code. `Convert`, `Apply` and `Replace` do not fully give us the intent of the method. * Added a convenience `Create` static method that takes a `CGImageAuxiliaryDataInfo`. * AvailableDepthDataTypes is now an array of `CVPixelFormatType` instead of a `NSNumber` array (The aactual fix for bug 59433). ImageIO: * Refactored `CGImageAuxiliaryDataInfo` to be a `StrongDictionary` in order to avoid most of the manual code and also to avoid reimplementing the `ToDictionary` method (which contained a subtle bug). * Adjusted code to reflect the above change. * Added missing `.ctor (IntPtr, bool)` to `CGImageMetadata` so the class is able to be created by our `Runtime.Get*`. * Simplified `CopyAuxiliaryDataInfo` method by using `CGImageAuxiliaryDataInfo` as a `DictionaryContainer`. Tests: * Added `xamarinmonkey.heic` which is an image that contains depth data needed to test above changes. * Adds `AVDepthDataTests` that touches most of the changes listed here. * Tweak the Simd-compatible matrices and vectors (#2668) * Rename them to be OpenTK.NMatrix# (instead of Simd.MatrixFloat#x#). * Remove the Vector2 and Vector4 variants, we'll use the OpenTK types instead (but we'll keep the NVector3 variant, since it's not identical to the OpenTK version). * Update the API to match their OpenTK counterparts better: * NMatrix2 and NMatrix3 have a 0-based R#C# scheme for their fields. * NMatrix4 has a 1-based M## scheme for its fields (i.e. no change). * [AVFoundation] Use Simd-matrix for API that needs it. (#2679) This also requires implementing the corresponding matrix (NMatrix4x3). Fixes this xtro issue: > !unknown-simd-type-in-signature! OpenTK.Matrix3 AVFoundation.AVCameraCalibrationData::get_GetIntrinsicMatrix(): the native signature has a simd type (matrix_float3x3), while the corresponding managed method is using an incorrect (non-simd) type. * [xtro] Fix checking availability on categories. (#2682) When checking for category availability, check if both the current declaration is a category, and if the current's declaration container is a category. Otherwise this scenario fails: * Category method is available. * Category does not have availability attributes. * Main class is unavailable. with this typical code sequence: ```csharp // don't process methods (or types) that are unavailable for the current platform if (!decl.IsAvailable () || !(decl.DeclContext as Decl).IsAvailable ()) return; ``` In which case we'd: * First check the method (`decl`): * It's available, so no further checks is done on the method. * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container's container is a category (it isn't, it's the namespace). and as such determine that the method is available. With this change, the second step will become: * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container is a category (it is), and if its main class is available (it isn't). and as such determine that the method is unavailable. * Check for attributes on the method's container (no attributes, so we continue). * Check if the method's Unclassified diff: https://gist.github.com/rolfbjarne/8fa80962596978a426eadf9b7ba39dc1 * [uikit] Update for Xcode 9 GM (#2670) * [AVFoundation] Implement AVCapturePhoto. Partially fixes #59388. (#2678) Fixes: > common.unclassified:!missing-type! AVCapturePhoto not bound https://bugzilla.xamarin.com/show_bug.cgi?id=59388 * Use strong dictionaries for AVCapturePhoto.Metadata and AVCapturePhoto.EmbeddedThumbnailPhotoFormat. * [SIMD] Implement Simd double types (VectorDouble3/MatrixDouble4x4). (#2632) The following types will be used by ModelIO bindings * Fix delta to be double * Rename Simd-compatible matrices and vectors to match our final naming. This also means removing the new Vector2 and Vector4 variants (but not Vector3). * [avfoundation] Remove AVAssetDownloadDelegate.DidLoadTimeRange since it was removed in one of the betas (#2687) * [foundation] Move NSUrlSessionMultipathServiceType to a file processed by the generator (for the availability attributes) (#2688) * [arkit] Update for Xcode 9 GM (#2681) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes (#2690) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes Type Changed: Intents.INCarSeatResolutionResult Removed methods: public static INCarSeatResolutionResult GetConfirmationRequired (INCarSeat valueToConfirm); public static INCarSeatResolutionResult GetSuccess (INCarSeat resolvedValue); * [avfoundation] Add missing protocol members and deprecations (#2691) !missing-protocol-member! AVCapturePhotoCaptureDelegate::captureOutput:didFinishProcessingPhoto:error: not found and the selector removed from PR#2687 was actually replaced with this one !missing-protocol-member! AVAssetDownloadDelegate::URLSession:aggregateAssetDownloadTask:didLoadTimeRange:totalTimeRangesLoaded:timeRangeExpectedToLoad:forMediaSelection: not found * [tests][xtro] Map some enums, more fix with protocols and update entries (#2692) * [Tests] Reenable dns tests on the watch. (#2674) * [arkit] Add ARBlendShapeLocationOptions strong dictionary (#2696) * [coreimage] Skip not yet bound filters added in Xcode9 (#2698) Tracked in https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * [Metal] Renamed MTLArgumentDescriptor.ArgumentDescriptor to Create, fixes bug 59498 (#2702) https://bugzilla.xamarin.com/show_bug.cgi?id=59498 From [argumentDescriptor docs](https://developer.apple.com/documentation/metal/mtlargumentdescriptor/2915746-argumentdescriptor?language=objc) > Creates an empty argument descriptor. * [msbuild] Always codesign app bundles if the codesign key is non-null (#2697) ...even if it is a simulator build. Turns out that starting with Xcode9, sim builds need to be codesigned for App Groups entitlements to work properly. Interestingly, the DetectSigningIdentity logic had a comment about needing to codesign simulator builds for some entitlements to work already starting with Xcode 8 but apparently the iOS targets did not respect this. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=59379 * [Foundation] Add NSProxy stub in order to workaround bug 59247 (#2693) https://bugzilla.xamarin.com/show_bug.cgi?id=59247 We need to have a better solution that removes all what NSProxy does not responds to. Right now this works because NSObject implements NSObject protocol just like NSProxy, but NSProxy responds to far less selectors hence doing it internal so it is not a breaking change when we provide the correct fix. * Keep NSProxy around and avoid XML linker description We need to keep NSProxy (avoid linking it) if WKNavigationDelegate or IWKNavigationDelegate is used. We know WKWebView will be there and can hold a reference to it. * [Xcode 9] Update Metal for GM (#2689) * [iosurface] IOSurface is not usable before iOS/tvOS 11. Fixes #59201 (#2706) Apple rejects apps that links with the previously private IOSurface.framework. We were not sure about this [1] and had it disabled (this is removed). However another bug stopped our adjustment logic [2] from being executed. This is needed since `clang` picks up the private framework if it does not find the public one (even when asking for a weak framework), [1] https://bugzilla.xamarin.com/show_bug.cgi?id=59201 [2] Added a while ago for JavascriptCore * Bump maccore to point to commit with the docs fix. (#2703) * Bump XI to 11.0.x (and XM to 3.99.9.x) (#2684) * fix typo
2017-09-16 00:53:16 +03:00
[BaseType (typeof(NSObject))]
[DisableDefaultCtor]
interface SCNGeometryTessellator : NSCopying, NSSecureCoding
{
[Export ("tessellationFactorScale")]
nfloat TessellationFactorScale { get; set; }
[Export ("tessellationPartitionMode", ArgumentSemantic.Assign)]
MTLTessellationPartitionMode TessellationPartitionMode { get; set; }
[Export ("adaptive")]
bool Adaptive { [Bind ("isAdaptive")] get; set; }
[Export ("screenSpace")]
bool ScreenSpace { [Bind ("isScreenSpace")] get; set; }
[Export ("edgeTessellationFactor")]
nfloat EdgeTessellationFactor { get; set; }
[Export ("insideTessellationFactor")]
nfloat InsideTessellationFactor { get; set; }
[Export ("maximumEdgeLength")]
nfloat MaximumEdgeLength { get; set; }
[Export ("smoothingMode", ArgumentSemantic.Assign)]
SCNTessellationSmoothingMode SmoothingMode { get; set; }
}
#endif
[Watch (3,0)]
2016-04-21 15:30:02 +03:00
[Mac (10,8), iOS (8,0)]
[Static]
interface SCNHitTest {
[Field ("SCNHitTestFirstFoundOnlyKey")]
NSString FirstFoundOnlyKey { get; }
[Field ("SCNHitTestSortResultsKey")]
NSString SortResultsKey { get; }
[Field ("SCNHitTestClipToZRangeKey")]
NSString ClipToZRangeKey { get; }
[Field ("SCNHitTestBackFaceCullingKey")]
NSString BackFaceCullingKey { get; }
[Field ("SCNHitTestBoundingBoxOnlyKey")]
NSString BoundingBoxOnlyKey { get; }
[Field ("SCNHitTestIgnoreChildNodesKey")]
NSString IgnoreChildNodesKey { get; }
[Field ("SCNHitTestRootNodeKey")]
NSString RootNodeKey { get; }
[Mac (10,9), iOS (8,0)]
[Field ("SCNHitTestIgnoreHiddenNodesKey")]
NSString IgnoreHiddenNodesKey { get; }
#if !XAMCORE_2_0 // Less preferred name, but let's not break stable API
[Mac (10,9), iOS (8,0)]
[Obsolete ("Use IgnoreHiddenNodesKey")]
[Field ("SCNHitTestIgnoreHiddenNodesKey")]
NSString IgnoreHiddenNodes { get; }
#endif
[TV (10, 0), Mac (10, 12), iOS (10, 0)]
[Field ("SCNHitTestOptionCategoryBitMask")]
NSString OptionCategoryBitMaskKey { get; }
Merge xcode9 into d15-4[-xi] (#2710) * [FileProvider] Add Xcode 9 Beta 1, 2 & 3 Bindings (#2279) * [FileProvider] Add Xcode 9 Beta 1 Bindings * Better naming * Feedback not related to BindAs * [FileProvider] Removes BindAs, add manual code for it and updated to Beta 3 * [FileProvider] Implement feedback * [CoreSpotlight] Updated spotlight bindings for xcode 9 beta 3. (#2193) Updated spotlight bindings for xcode 9 beta 3. * Fix warning caused by duplicate (#2354) * [FileProviderUI] Add Xcode 9 Beta 1 to 3 bindings (#2356) * Bump to Xcode 9 beta 4 * [arkit] ARLightEstimate does not conform to NSCopying anymore (fix unit test) * [uikit] NSFileProviderExtension.ReparentItem got a new parameter in beta4 (fix unit test) * [coreimage] CIImageAccumulator init returns nil in beta 4 There's no header change to mention `init` is not allowed but it's not clear how this default initializer could be used. Also make public some other API to construct this type (outside of XM). It's not clear why there were `internal` as they are (at least now) part of the header files. * [photos] Add helpers when PHLivePhotoEditingOption/NSDictionary is null (to avoid ambiguous API) (#2360) Adding a strongly typed `PHLivePhotoEditingOption` (a strongly typed version of an `NSDictionary`) can cause a `CS0121` (call is ambiguous) since using a `null` argument is common (only one option exist so far). This PR adds overloads that makes the code nicer in such case, e.g. before Xcode9: > // null is used when no options are given > _foo.SaveLivePhoto (output, null, completion); current (Xcode 9) > // casting required to remove ambiguity with PHLivePhotoEditingOption > _foo.SaveLivePhoto (output, (NSDictionary)null, completion); with this PR > // no option, no argument > _foo.SaveLivePhoto (output, completion); The same applies to `PrepareLivePhotoForPlayback`. * [tests] Disable/tweak two tests that breaks on (almost) all Xcode updates Those tests were not added to validate xOS so just keep the parts that helps us (without constantly checking back the new break flavor) * Disable watchOS to check if this hides others issues * [mapkit] Update for beta 4 * [coredata] Update for beta 4 * [wkwebkit] Update for beta 4 Note: WKWindowFeatures.h is not compiled (part of the framework umbrella) and the `@interface WKWindowFeatures (WKPrivate)` sounds like it should not have been exposed (it's all fields starting with `_`) * [corelocation] Update for beta 4 * Revert "Disable watchOS to check if this hides others issues" This reverts commit fed2249fa43290a1956ab2fe0d48f83ab6db9711. * [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]: https://github.com/xamarin/xamarin-macios/blob/f5956d6cc1eb5dfa7bab16628cf282d40237f64e/src/generator.cs#L5985 * [FinderSync] Update to beta 4 (#2377) * [ImageIO] Update to Xcode 9 (#2353) * [PhotosUI] Move macOS photosui bindings out of photos.cs into photosui.cs (#2358) * [quicklook] Update up to beta 4 (#2374) * [uikit] UIDragInteraction & UIDragInteractionDelegate (Xcode 9 b1,2,3) (#2357) * [safariservices] Update up to beta 4 (#2380) * [coreanimation] Update to beta 4 (#2382) Apple removed (mistake?) some API in beta 1. Filed as rdar 33590997 Internal tracking in https://trello.com/c/J8BDDUV9/86-33590997-coreanimation-quartzcore-api-removals * [storekit] Update up to beta 4 (#2379) * [CoreML] Update to Xcode 9 Beta 4 (#2387) * [uikit] UICollectionView/UITableView Drag & Drop (Xcode 9 b1,2,3 & 4) (#2355) * Update code after radar 32929318 and 32897776 are fixed in b4 (#2394) * [xcode9 CoreAudio] New definitions from Beta1 to Beta3 (#2359) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 (#2397) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 https://bugzilla.xamarin.com/show_bug.cgi?id=58512 Created strong API (VNBarcodeSymbology) on the following properties * VNDetectBarcodesRequest.SupportedSymbologies * VNDetectBarcodesRequest.Symbologies * VNBarcodeObservation.Symbology * Remove modern C# because classic can't do it 😡 * [mediaplayer] Update up to beta 4 (#2388) * [watchkit] Update to beta 4 (#2398) * Bump Visual Studio for Mac max version (#2408) * [coreimage] Add CIBarcodeDescriptor and enabled missing API for VNBarcodeObservation. Fix #58197 (#2411) https://bugzilla.xamarin.com/show_bug.cgi?id=58197 * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 (#2407) * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 * [uikit] Fixes based on comments * [coreimage] CIImageAccumulator API fixes. Fix #58349 (#2412) * Obsolete the default `init`; * XM exposed some older APIs using `int` instead of `CIFormat`. This is fixed and old APIs are obsoleted; * Both new & old APIs are now using `CIFormat` for both XI and XM. https://bugzilla.xamarin.com/show_bug.cgi?id=58349 * [uikit] UIText drag & drop - up to Xcode 9 beta 4 (#2410) * [uikit] UISplitView & UIStackView up to Xcode 9 beta 4 (#2425) * Bump XI/XM versions before preview 4 (#2422) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 (#2378) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 * [PDFKit] Implement feedback * [PDFKit] the forgotten enum * [PDFKit] More feedback * [PDFKit] Add Mac changes * Missing change * Fix test RectangleF VS CGRect * Pass -Wunguarded-availability-new to quiet a new clang warning (#2424) - https://bugzilla.xamarin.com/show_bug.cgi?id=58574 * [mtouch/mmp] Ignore warnings about unguarded code section with regards to availability. (#2441) * [monotouch-test] Remove workaround for fixed Apple bug. (#2445) * Bump to Xcode 9 beta 5. (#2447) * Bump to Xcode 9 beta 5. * [mmp] Disable the partial static registrar, because Apple's macOS SDK is broken. > In file included from Xamarin.Mac.registrar.mobile.i386.m:1: > In file included from ./Xamarin.Mac.registrar.mobile.i386.h:11: > /Applications/Xcode9-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVFoundation.h:88:9: fatal error: 'AVFoundation/AVRouteDetector.h' file not found https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [mmp] Fix partial static registrar removal. * [CallKit] Update to Xcode 9 beta 5. * [ARKit] ARPointCloud doesn't conform to NSCopying anymore in Xcode 9 beta 5. * [ARKit] Update to Xcode 9 beta 5 enough to make tests happy. * [CoreImage] Stub out new filters in Xcode 9 beta 5. * [tests][monotouch] Simplify some MDLMesh asserts since values change a lot between OS versions. * [mmp] Default to the dynamic registrar for release builds again, due to bug #58629. https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [tests][introspection] CXCall started implementing NSCopying without saying so in the headers. * Disable mmp static registrar tests due to 58629 for now * [quicklook] Update to beta 5 (#2450) * [photos] Update for beta 5 (#2452) Also update some existing enum members were added in beta 1 on macOS * [safariservices] Update for beta 5 (#2455) * [mediaplayer] Update to beta 5 (#2456) * [CoreLocation] Update Xcode 9 Beta 5 (#2453) * [CoreML] Update to Xcode 9 Beta 5 (#2454) * [Contacts] Update to Xcode 9 Beta 5 (#2451) * [Vision] Update to Xcode 9 Beta 5 (#2458) * [builds] Tell LLVM to stay away from newer macOS functions. (#2459) Fixes this build problem on Sierra: > ld: weak import of symbol '_futimens' not supported because of option: -no_weak_imports for architecture x86_64 This is a symbol that was (will be?) introduced in High Sierra. Interestingly this only occurs if the Xcode 8.X Command Line Tools haven't been manually installed. Because if the Xcode 8.X Command Line Tools are installed, this happens: 1. llvm's configure script detects that 'futimens' is not usable. 2. llvm's configure script detects that 'futimens' is not usable, because xcrun sets SDKROOT=/ when calling clang. a. When the SDKROOT variable is set, clang passes '-syslibroot /usr/lib' to ld. b. When ld gets '-syslibroot /usr/lib', ld looks in '/usr/lib' for a library that contains 'futimens' in the OS itself, and since we're on Sierra, that fails to link. c. So when llvm's configure script creates a test program that checks if 'futimens' is present, the program fails. This is correct, and makes llvm *not* use futimens. 3. xcrun sets SDKROOT=/ because /usr/share/current-os.sdk/Info.plist exists. If that file does not exist, then xcrun sets SDKROOT to Xcode9's macOS SDK (because that's what xcode-select reports). a. When SDKROOT is set to Xcode9's macOS SDK, the configure check for 'futimens' succeeds, because the macOS 10.13 SDK contains that function. b. llvm happily uses 'futimens', and then the final link fails because we're using a symbol not available on all target platforms. * [arkit] Update for Xcode 9 beta 5 - Part 1 (#2460) * [tests] The container app for watchOS tests should be 64-bit. (#2463) * [xharness] watchOS tests need to run in a clean environment. Works around #58348. (#2462) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [xharness] It watchOS tests don't need to be clean anymore. Fixes #58348. (#2473) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [uikit] UIView/UIScrollView/UIViewController up to Xcode 9 beta 5 (#2431) - Add NSDirectionalEdgeInsets type. - Includes DirectionalEdgeInsetsTest. * [AudioToolbox] Update bindings to Xcode 9 beta3 (not later changes). (#2294) * [xharness] Add a file existence check. (#2478) Fixes this exception: ``` Harness exception for 'introspection': System.IO.FileNotFoundException: Could not find file '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log'. File name: '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log' at System.IO.__Error.WinIOError (System.Int32 errorCode, System.String maybeFullPath) [0x00207] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/__error.cs:188 at System.IO.FileInfo.get_Length () [0x00038] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/fileinfo.cs:171 at xharness.CaptureLog.StopCapture () [0x00021] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Log.cs:252 at (wrapper remoting-invoke-with-check) xharness.CaptureLog:StopCapture () at xharness.AppRunner+<RunAsync>d__68.MoveNext () [0x0127f] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/AppRunner.cs:642 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter`1[TResult].GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:357 at xharness.RunSimulatorTask+<RunTestAsync>d__7.MoveNext () [0x0029d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2894 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.RunTestTask+<ExecuteAsync>d__8.MoveNext () [0x0010b] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2538 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.TestTask+<RunInternalAsync>d__87.MoveNext () [0x0010d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:1870 ``` I'm not sure how this can happen, but it has on the bots [1]. [1] https://jenkins.mono-project.com/job/xamarin-macios-pr-builder/4548/Test_Report/ * Bump versions for preview 5 (#2479) * [passkit] Update to beta 5 (#2481) * [tests] Remove workaround for radar #32688391. (#2486) * [replaykit] Update up to beta 5 (#2484) * Bump maccore to get fix for bug #55064. (#2487) * [apidiff] Update definition to new 10.12 (d15-3) stable release (#2490) * [SceneKit] basic work (#2483) * [coredata] Update to beta 5 (#2488) * [homekit] Update for Xcode 9 beta 5 (#2492) * [Foundation] Update for xcode9 (#2468) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 (#2493) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 * [Intents] Implement feedback * [Intents] Add a generic version for INInteraction.GetParameterValue * [Intents] Missing check * [Contacts] Add missing foundation NSItemProviderWriting protocol to CNContact (#2496) https://bugzilla.xamarin.com/show_bug.cgi?id=58203 This is available on all Contacts supported platforms ``` ./iPhoneOS.platform/Developer/SDKs/iPhoneOS11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchOS.platform/Developer/SDKs/WatchOS4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchSimulator.platform/Developer/SDKs/WatchSimulator4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ``` * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) (#2497) * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) * [IntentsUI] Better use a delegate instead so we have named params * Bump versions before 6th preview (#2514) * [arkit] Add missing MarshalDirective to ARPlaneAnchor (#2517) - Fixes bug #58648: ARPlaneAnchor.Extent property seems incorrect but changes to correct value after Debug access (https://bugzilla.xamarin.com/show_bug.cgi?id=58648) * [xtro-sharpie] Fix a compiler warning. (#2516) Fixes these warnings: Runner.cs(197,5): warning CS0642: Possible mistaken empty statement Runner.cs(199,5): warning CS0642: Possible mistaken empty statement Runner.cs(201,5): warning CS0642: Possible mistaken empty statement Runner.cs(203,5): warning CS0642: Possible mistaken empty statement Runner.cs(205,5): warning CS0642: Possible mistaken empty statement * [uikit] Update for Xcode 9 beta 5 - Part 3 (#2511) - UIKeyCommand - UINavigationBar - UINavigationItem - UIPasteboard - UITableViewHeaderFooterView * [xtro-sharpie] Remove xtro-plugin and misc other fixes. (#2522) * [xtro-sharpie] Build with msbuild and be as quiet as requested when building. * [xtro-sharpie] Must run as a 64-bit process, since the required native libraries are 64-bit. * [xtro-sharpie] Add run configurations to the project file to ease debugging in the IDE. * [xtro-sharpie] Remove xtro-plugin and the related commands. This was needed when there wasn't a 64-bit mono, in order to run xtro-sharpie in a 64-bit process. Now there is a 64-bit mono, so it's not needed anymore. Also improve makefile targets a bit, to auto-build stuff when needed, by setting the right dependencies. * Bump Xcode 9 to beta 6 (#2519) Disable watchOS tests again It seems like the Carousel crash from beta 4 is back to haunt us. This was working fine with beta 5. * Backport d15-3 SR2 fixes (#2515) * [coredata] Update to beta 6 (#2528) This seems to only revert some nullability changes from beta 5. * [coreml] Update to beta 6 (#2531) Fix our rdar 33643011 where additional setters were added in the headers but did not exists. * [videosubscriberaccount] Update to beta 6 (#2533) Only b1 and b2 introduced some additions/changes * [uikit] Update for Xcode 9 beta 6 - Part 4 (#2527) The following headers are now up to date: - UICollectionViewFlowLayout.h - UIDocumentPickerViewController.h - UIFontDescriptor.h - UIImage.h - UIImageView.h - UIImagePickerController.h * [xharness] Re-enable the watchOS tests. (#2534) It works fine for me locally, so let's see what Jenkins says. * [macos] Add new APIs in CoreWlan from Xcode9b3 (#2525) * Update AppKit bindings based on radar 33271241 results (#2518) * Update AppKit bindings based on radar 33271241 results - The header comment was updated to note it was NSSliderTouchBarItem view that has the protocol * Remove NSUserInterfaceCompression where not listed in header * [vision] Update to beta 6 (#2532) Removal of some deprecated (during beta) `init*` selectors. Also sync the versions that were inlined in subclasses - the old ones were not removed and the new ones were not added. * [xtro-sharpie] Many methods don't have selectors in Clang's API, so default to the name if no selector. (#2523) This makes a few more unclassified entries show up (mostly missing designated initializers): https://gist.github.com/rolfbjarne/07aa20f9b50b75bf3e69ac6a825e873a * [macos] Add ExternalAccessory APIs from xcode9 (#2526) * [58851] Disable NSMenuView in AllItemsWithNSMenuShouldAllowNull (#2504) * [arkit] Update for Xcode 9 beta 5 - Part 2 (#2505) - Add last missing selector. - Add tests for manual code. * [monotouch-test] Disable FontDescriptorTest.WithFeature (#2537) Disabled because it looks like the tvOS font we use: "Gujarati Sangam MN" does not have rare ligatures anymore (and the entire test is based on it). Before getting an actual fix for that, let's disable the test so it doesn't break all current builds. See: https://bugzilla.xamarin.com/show_bug.cgi?id=58929 * [xtro-sharpie] Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute. (#2524) Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute to calculate the native name for a TypeDefinition. Unclassified changes: https://gist.github.com/rolfbjarne/828f8ee41eebb0a3b60a38d71822fe59 * [foundation/uikit] Inline NSItemProvider_UIKitAdditions in NSItemProvider (#2538) As suggested here: https://github.com/xamarin/xamarin-macios/pull/2527#discussion_r134670981 * [intents] Fix breaking changes (api-diff) (#2543) Additions of @required members inside `INSpeakable` cannot be `[Abstract]` * [contacts] Fix breaking change (api-diff) (#2542) Type Changed: Contacts.CNPostalAddress Removed method: public static string LocalizeProperty (CNPostalAddressKeyOption option); * [macos] Reenable static registrar since Xcode9b6 un-broke SDK headers (#2544) - Fix a subtle spacing issues in PartialStaticLibrary property * [corebluetooth] Update up to beta 6 and enable it on watchOS (#2540) macOS 10.13 has finally catch up with iOS and this simplifies the bindings a bit. * [foundation] API fixes (apidiff) (#2545) 1. Let's not add new, already [Obsolete] API Type Changed: Foundation.NSDimension Added constructors: [Obsolete ("Not intended to be directly instantiated, this is an abstract class.")] public NSDimension (); 2. Fix inconsistently named API, e.g. Type Changed: Foundation.NSAttributedString Added properties: public static string[] ReadableTypeIdentifiersForItemProvider { get; } public static string[] WritableTypeIdentifiers { get; } * [pdfkit] Do not add already [Obsolete] API in new profiles (#2547) and ensure using the newer, correct API works cross-platforms iOS (before) [Obsolete ("Use 'Find (string, NSStringCompareOptions)' instead.")] public virtual PdfSelection[] Find (string text, nint options); public PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'Find (string, PdfSelection, NSStringCompareOptions)' instead.")] public virtual PdfSelection Find (string text, PdfSelection selection, nint options); public void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string, NSStringCompareOptions)' instead.")] public virtual void FindAsync (string text, nint options); public void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string [], NSStringCompareOptions)' instead.")] public virtual void FindAsync (string[] text, nint options); iOS (after) public virtual PdfSelection[] Find (string text, Foundation.NSStringCompareOptions compareOptions); public virtual PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); * Bump versions for the 7th preview (#2541) * Remove additions of AVKit removed in beta5 (#2536) * NSUrlSessionTask should implement NSProgressReporting for iOS (#2548) NSUrlSessionTask implements NSProgressReporting on iOS as well as Mac, so the #if MONOMAC isn't needed. * Add missing availability attributes causing failures on older iOS versions (#2550) * [vision] Minor fix wrt xtro (#2551) including some things we need to ignore manually !missing-field! VNVisionVersionNumber not bound !missing-pinvoke! VNImagePointForFaceLandmarkPoint is not bound !missing-pinvoke! VNNormalizedFaceBoundingBoxPointForLandmarkPoint is not bound * [uikit] NSFileProviderMessaging was removed in beta 2. Fixes #58222 (#2552) reference: https://bugzilla.xamarin.com/show_bug.cgi?id=58222 * [uikit] Update for Xcode 9 - Part 5 (#2546) Bindings for the following headers: - UIActivity.h - UIActivityItemProvider.h - UIAlertController.h - UIApplication.h - UIBarButtonItem.h - UIButton.h - UICollectionViewLayout.h - UIColor.h - UIControl.h - UIDocumentMenuViewController.h - UIFontMetrics.h - UIGestureRecognizer.h - UIGraphicsImageRenderer.h - UIInputViewController.h * [CoreText] Fix an extraneous free in CTFont.GetDefaultCascadeList. (#2555) We do not own the return value from CFArrayGetValueAtIndex, so don't say we do when creating CTFontDescriptor instances, since that leads to angry dragons: 2017-08-28 20:15:20.293 monotouchtest[33186:2311738] A_FontTest 2017-08-28 20:15:20.294 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithFontDescriptorAndOptions 2017-08-28 20:15:20.295 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithNameAndOptions 2017-08-28 20:15:20.296 monotouchtest[33186:2311738] critical: Stacktrace: at <unknown> <0xffffffff> at (wrapper managed-to-native) CoreText.CTFont.CTFontCopyDefaultCascadeListForLanguages (intptr,intptr) [0x0000a] in <ae65a2b1eea242d2b68fe784749543bf>:0 at CoreText.CTFont.GetDefaultCascadeList (string[]) [0x00013] in /work/maccore/xcode9/xamarin-macios/src/CoreText/CTFont.cs:2185 at MonoTouchFixtures.CoreText.A_FontTest.GetCascadeList () [0x0001e] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/CoreText/FontTest.cs:78 at (wrapper runtime-invoke) object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) [0x0004f] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) System.Reflection.MonoMethod.InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&) [0x00016] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at System.Reflection.MonoMethod.Invoke (object,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo) [0x00032] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/corlib/System.Reflection/MonoMethod.cs:305 at System.Reflection.MethodBase.Invoke (object,object[]) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/referencesource/mscorlib/system/reflection/methodbase.cs:229 at NUnit.Framework.Internal.Reflect.InvokeMethod (System.Reflection.MethodInfo,object,object[]) [0x00009] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Reflect.cs:215 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunNonAsyncTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x00025] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:116 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x0001a] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:90 at NUnit.Framework.Internal.Commands.TestMethodCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:66 at NUnit.Framework.Internal.Commands.SetUpTearDownCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00007] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/SetUpTearDownCommand.cs:84 at NUnit.Framework.Internal.WorkItems.SimpleWorkItem.PerformWork () [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/SimpleWorkItem.cs:64 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at MonoTouch.NUnit.UI.BaseTouchRunner.Run (NUnit.Framework.Internal.Test) [0x0004d] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:442 at MonoTouch.NUnit.UI.BaseTouchRunner.Run () [0x00030] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:171 at MonoTouch.Dialog.StringElement.Selected (MonoTouch.Dialog.DialogViewController,UIKit.UITableView,Foundation.NSIndexPath) [0x00008] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/Elements.cs:765 at MonoTouch.Dialog.DialogViewController.Selected (Foundation.NSIndexPath) [0x00026] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:577 at MonoTouch.Dialog.DialogViewController/Source.RowSelected (UIKit.UITableView,Foundation.NSIndexPath) [0x00016] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:402 at (wrapper runtime-invoke) <Module>.runtime_invoke_void__this___object_object (object,intptr,intptr,intptr) [0x0005d] in <32f0c196c5bc4aa18daea2ee64a7814e>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) UIKit.UIApplication.UIApplicationMain (int,string[],intptr,intptr) [0x0005c] in <ae65a2b1eea242d2b68fe784749543bf>:0 at UIKit.UIApplication.Main (string[],intptr,intptr) [0x00005] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:79 at UIKit.UIApplication.Main (string[],string,string) [0x00038] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:63 at monotouchtest.Application.Main (string[]) [0x00011] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/Main.cs:27 at (wrapper runtime-invoke) <Module>.runtime_invoke_void_object (object,intptr,intptr,intptr) [0x00051] in <30a7f7e09de9467b8b454221034a0e38>:0 Native stacktrace: 0 monotouchtest 0x000000010fca03c4 mono_handle_native_crash + 244 1 monotouchtest 0x000000010fcadd30 mono_sigsegv_signal_handler + 288 2 libsystem_platform.dylib 0x000000011feb3b3a _sigtramp + 26 3 CoreFoundation 0x000000011de035a2 computeSanitizedString + 146 4 CoreText 0x00000001168df314 _ZN15TPurgeableCache19RetainedValueForKeyEPKv + 54 5 CoreText 0x00000001168def85 _ZNK17TDescriptorSource22CopyDescriptorUncachedEPK7__CFURLbPK10__CFString + 55 6 CoreText 0x00000001168df34f _ZNK17TDescriptorSource14CopyDescriptorEPK7__CFURLbPK10__CFString + 27 7 CoreText 0x00000001168e20ad _ZNK17TDescriptorSource35CopyFontDescriptorPerPostScriptNameEPK10__CFStringmm + 297 8 CoreText 0x00000001168dfd9e _ZNK17TDescriptorSource30CopySystemFontDescriptorByNameEPK10__CFString10UIFontFlag + 54 9 CoreText 0x00000001168e54c4 _ZNK14TFontFallbacks17CopyFontFallbacksEPK10__CFStringS2_PK9__CFArray + 652 10 CoreText 0x00000001168e4a00 _ZNK14TFontFallbacks29CopyFontFallbacksForLanguagesEPK10__CFStringPK9__CFArray + 122 11 CoreText 0x00000001168e4971 _ZN17TDescriptorSource39CopyDefaultSubstitutionListForLanguagesEPK10__CFStringPK9__CFArray + 61 12 CoreText 0x00000001169397a7 _ZNK9TBaseFont28CreateSystemDefaultFallbacksEPK10__CFStringPK9__CFArray + 51 13 CoreText 0x000000011693999c _ZNK9TBaseFont15CreateFallbacksE10UIFontFlagPPK16__CFCharacterSetPK9__CFArray + 346 14 CoreText 0x00000001168c1036 _ZNK5TFont24CreateDefaultCascadeListEPK9__CFArray + 242 15 CoreText 0x00000001168b8ff9 CTFontCopyDefaultCascadeListForLanguages + 97 16 ??? 0x0000000140eaefd3 0x0 + 5384105939 17 ??? 0x0000000140eae761 0x0 + 5384103777 18 ??? 0x000000013c9c8e74 0x0 + 5311860340 19 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 20 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 21 monotouchtest 0x000000010fd71bac mono_runtime_try_invoke_array + 1292 22 monotouchtest 0x000000010fd15587 ves_icall_InternalInvoke + 647 23 ??? 0x000000013e9fcd13 0x0 + 5345627411 24 ??? 0x000000013e9fc738 0x0 + 5345625912 25 ??? 0x000000013e9fded5 0x0 + 5345631957 26 ??? 0x000000013e9fbb76 0x0 + 5345622902 27 ??? 0x000000013e9e237e 0x0 + 5345518462 28 ??? 0x000000013e9e237e 0x0 + 5345518462 29 ??? 0x000000013e9e237e 0x0 + 5345518462 30 ??? 0x000000013e9e237e 0x0 + 5345518462 31 ??? 0x000000013e873006 0x0 + 5344014342 32 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 33 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 34 monotouchtest 0x000000010fd6e320 mono_runtime_invoke + 208 35 monotouchtest 0x000000010fe71af1 xamarin_invoke_trampoline + 5617 36 monotouchtest 0x000000010fe79ddd xamarin_arch_trampoline + 189 37 monotouchtest 0x000000010fe7b1a1 xamarin_x86_64_common_trampoline + 110 38 UIKit 0x0000000111b9876b -[UITableView _selectRowAtIndexPath:animated:scrollPosition:notifyDelegate:] + 1810 39 UIKit 0x0000000111b98986 -[UITableView _userSelectRowAtPendingSelectionIndexPath:] + 344 40 UIKit 0x0000000111a6b5c9 _runAfterCACommitDeferredBlocks + 318 41 UIKit 0x0000000111a59dad _cleanUpAfterCAFlushAndRunDeferredBlocks + 280 42 UIKit 0x0000000111a89f68 _afterCACommitHandler + 137 43 CoreFoundation 0x000000011de3ddb7 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23 44 CoreFoundation 0x000000011de3dd0e __CFRunLoopDoObservers + 430 45 CoreFoundation 0x000000011de22324 __CFRunLoopRun + 1572 46 CoreFoundation 0x000000011de21a89 CFRunLoopRunSpecific + 409 47 GraphicsServices 0x0000000121b7e9c6 GSEventRunModal + 62 48 UIKit 0x0000000111a5f7d0 UIApplicationMain + 159 49 ??? 0x000000013c9c4474 0x0 + 5311841396 50 ??? 0x000000013c9c40ad 0x0 + 5311840429 ================================================================= Got a SIGSEGV while executing native code. This usually indicates a fatal error in the mono runtime or one of the native libraries used by your application. ================================================================= * [monotouch-test] Don't subclass MKMapView. (#2556) MKMapView doesn't like being subclassed (Apple says "you should not subclass the MKMapView class itself"). Bad things like this starts happening: Thread 0 name: tid_303 Dispatch queue: com.apple.main-thread Thread 0 Crashed: 0 libsystem_kernel.dylib 0x0000000186b25348 __pthread_kill + 8 1 libsystem_pthread.dylib 0x0000000186c39354 pthread_kill$VARIANT$mp + 396 2 libsystem_c.dylib 0x0000000186a94fd8 abort + 140 3 monotouchtest 0x0000000101c02c14 mono_handle_native_crash + 22047764 (mini-exceptions.c:2548) 4 monotouchtest 0x0000000101c0d02c mono_sigsegv_signal_handler + 22089772 (mini-runtime.c:2886) 5 libsystem_platform.dylib 0x0000000186c33b60 _sigtramp + 52 6 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 7 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 8 CoreFoundation 0x0000000186eda51c -[__NSArrayM dealloc] + 68 9 CoreFoundation 0x000000018703f5c8 __CFBasicHashDrain + 312 10 CoreFoundation 0x0000000186fb5b44 _CFRelease + 224 11 CoreText 0x000000018a808404 TDescriptorSource::PurgeFontFallbacksCache+ 488452 () + 92 12 CoreText 0x000000018a808374 TDescriptorSource::PurgeFromCaches+ 488308 (__CFURL const*) const + 176 13 CoreText 0x000000018a7eec74 CTFontRemoveFromCaches + 168 14 VectorKit 0x0000000196a539b0 +[VKSharedResourcesManager removeResourceUser:] + 324 15 VectorKit 0x0000000196ca27a4 md::MapEngine::~MapEngine+ 2643876 () + 360 16 VectorKit 0x0000000196ca2634 md::MapEngine::~MapEngine+ 2643508 () + 12 17 libobjc.A.dylib 0x000000018651eef4 object_cxxDestructFromClass+ 28404 (objc_object*, objc_class*) + 148 18 libobjc.A.dylib 0x000000018652c638 objc_destructInstance + 88 19 libobjc.A.dylib 0x000000018652c690 object_dispose + 16 20 QuartzCore 0x000000018afca3ac -[CALayer dealloc] + 116 21 VectorKit 0x0000000196a43294 -[VKMapView dealloc] + 940 22 QuartzCore 0x000000018af6aafc CA::release_objects+ 744188 (X::List<void const*>*) + 32 23 QuartzCore 0x000000018afd97d8 CA::Layer::~Layer+ 1198040 () + 276 24 QuartzCore 0x000000018afca37c -[CALayer dealloc] + 68 25 QuartzCore 0x000000018af6b16c CA::Transaction::commit+ 745836 () + 1052 26 UIKit 0x0000000190393290 _afterCACommitHandler + 256 27 CoreFoundation 0x0000000186fb38b8 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 32 28 CoreFoundation 0x0000000186fb1270 __CFRunLoopDoObservers + 412 29 CoreFoundation 0x0000000186fb182c __CFRunLoopRun + 1292 30 CoreFoundation 0x0000000186ed22d8 CFRunLoopRunSpecific + 436 31 GraphicsServices 0x0000000188d58f84 GSEventRunModal + 100 32 UIKit 0x000000019040427c UIApplicationMain + 208 33 monotouchtest 0x000000010106eb90 wrapper_managed_to_native_UIKit_UIApplication_UIApplicationMain_int_string___intptr_intptr + 9907088 (/<unknown>:1) 34 monotouchtest 0x0000000100f0d6ac UIKit_UIApplication_Main_string___intptr_intptr + 8459948 (UIApplication.cs:79) 35 monotouchtest 0x0000000100f0d66c UIKit_UIApplication_Main_string___string_string + 8459884 (UIApplication.cs:63) 36 monotouchtest 0x0000000100b10450 monotouchtest_Application_Main_string__ + 4277328 (Main.cs:27) 37 monotouchtest 0x0000000100e0c244 wrapper_runtime_invoke_object_runtime_invoke_dynamic_intptr_intptr_intptr_intptr + 244 38 monotouchtest 0x0000000101c10048 mono_jit_runtime_invoke + 22102088 (mini-runtime.c:2526) 39 monotouchtest 0x0000000101c75eec do_runtime_invoke + 22519532 (object.c:2829) 40 monotouchtest 0x0000000101c78a3c do_exec_main_checked + 22530620 (object.c:4623) 41 monotouchtest 0x0000000101bf9a1c mono_jit_exec + 22010396 (driver.g.c:1040) 42 monotouchtest 0x0000000101d13d60 xamarin_main + 23166304 (monotouch-main.m:482) 43 monotouchtest 0x00000001007de710 main + 927504 (main.m:67) 44 libdyld.dylib 0x00000001869f656c start + 4 * [introspection] Let SkipDueToAttributeInProperty skip setters too (#2557) `SkipDueToAttributeInProperty` which is used to check the availability attribute of properties when the Availability info only exist on the property and not on the property Getter or Setter was wrong. This lead to `setSpringLoaded` (which was introduced in iOS 11) to not be ignored by the test (making it fail). - Fix bug #59085: [introspection-ios] selector not found for UIKit.UIBarButtonItem : setSpringLoaded: - Broken test (https://bugzilla.xamarin.com/show_bug.cgi?id=59085) * [corevideo][watchos] Enable CoreVideo on watchOS (#2553) * [storekit] Fix CampaignToken typo (#2559) (#2560) - Fixes bug #59078: StoreProductParameters and invalid property for CampaignToken (https://bugzilla.xamarin.com/show_bug.cgi?id=59078) * [coreml][watchos] Enable API using CoreVideo on watchOS. Fix #58097 (#2561) https://bugzilla.xamarin.com/show_bug.cgi?id=58097 * Add missing [MarshalDirective] attributes. (#2558) * [bindings-generator] Improve build & project file. * Add missing [MarshalDirective] attributes. Add missing [MarshalDirective] attributes, which also requires implementing support for out parameters in the binding generator, since one of the signatures missing the [MarshalDirective] contains such an out parameter. Also add tests for all the API I've added [MarshalDirective] to. * [bindings-generator] Remove redundant if check. * [monotouch-test] Rename file to end with 'Test.cs'. * [tests] Fix a few build errors for Xamarin.Mac. * [uikit] Fix UIColor and UIInputViewController tvOS availability (#2569) - Fixes introspection tests on tvOS 10. * [storekit] Fix SKCloudServiceSetupMessageIdentifier and SKProductStorePromotionController tvOS availability (#2568) - Fixes introspection tests on tvOS 10. * [mapkit] Fix MKMapItemTypeIdentifier tvOS availability (#2566) - Also remove double [Mac] availability attribute. - Fixes introspection tests on tvOS 10. * [ARKit] Fix marshalling for ARPointCloud.RawFeaturePoints. (#2565) ARPointCloud.RawFeaturePoints is an array of Vector3, but each vector is 16-byte aligned (as if it were an array of Vector4). This means we need to account for this when creating a managed array from pointer to the native C-style array. * [ModelIO] Fix MDLVoxelIndexExtent struct. (#2564) The MDLVoxelIndexExtent is a struct containing two 4-dimensional vectors of integers (not floats, as originally and incorrectly implemented). Fix this my creating a new MDLVoxelIndexExtent2 struct with the right fields, re-implement all the API that exposes this struct and obsolete the old API. Also add missing [MarshalDirective] attributes. And write a test to make sure it works fine now and forever. * [coredata] Enable new fields since rdar #33878590 is fixed w/beta 6 (#2570) reference: https://trello.com/c/dlSRYPFx * [xtro-sharpie] Add a Simd check class to verify signatures with Simd types. * [Simd] Add simd matrix types. The OpenTK matrices (Matrix2/3/4) has a different memory layout than Apple's matrix_float2x2/matrix_float3x3/matrix_float4x4 matrices: the OpenTK versions are row-major, while Apple's versions are column-major. This means that when blitting memory from one to the other, the matrix will appear to have been transposed. See bug #[58599][2] for an example. Unfortunately we've already bound several API with Apple's matrix_floatXxX matrices using OpenTK's matrices, and although they're bound wrong, and the matrices appear transposed on input/output, we can't change the behavior because we have to maintain compatibility. This means we have to introduce new API, and then also just define new matrix types with the right memory layout (column-major). Additionally, in the future we might be able to mark these matrices as Simd-matrixes, so that the JIT/AOT compiler can generate the correct alignment for them, avoiding having to define a native conversion method (using the [MarshalDirective] hack). The matrices have been designed to match API-wise the matrices in the System.Numerics.Vectors namespace [1], but for the moment with only a few basic operations implemented (Determinant/Transpose/Multiply) defined (we can always add more later if we want to). In addition explicit conversion operators to and from the corresponding OpenTK.MatrixX are implemented, which means any operation defined in the OpenTK matrices can be used by converting back and forth. [1]: https://msdn.microsoft.com/en-us/library/system.numerics.matrix4x4(v=vs.111).aspx [2]: https://bugzilla.xamarin.com/show_bug.cgi?id=58599 * [ARKit] Use the new Simd matrix types. * [Vision] Use the new Simd matrix types. * [ModelIO] Use the new Simd-compatible matrix types, and deprecate the old API. * [GameplayKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [SpriteKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [xtro] Don't report missing [MarshalDirective] for obsolete methods. * [xtro] Remove unnecessary ignores. The implementation changed, and these stayed accidentally. * [wkwebkit] Fix (native) protocol names (#2572) Also ignore xtro's WKSnapshotConfiguration since it's an Apple bug 34185961 reference (xtro) !missing-protocol! WKURLSchemeHandler not bound !missing-protocol! WKURLSchemeTask not bound !unknown-protocol! WKUrlSchemeHandler bound !unknown-protocol! WKUrlSchemeTask bound !unknown-type! WKSnapshotConfiguration bound * [uikit] Fix enums availability attributes (#2575) - Fixes bug #59132: [uikit] Extra types in watchOS (https://bugzilla.xamarin.com/show_bug.cgi?id=59132) * [watchkit] Add missing designated initializers (#2574) references (xtro) !missing-designated-initializer! WKInterfaceController::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! WKUserNotificationInterfaceController::init is missing an [DesignatedInitializer] attribute * [xtro] Reword some of the Simd diagnostic messages according to review. * [tests] Make sure test symbols don't clash between different test libraries. Fixes this build problem for framework-test: clang: error: linker command failed with exit code 1 (use -v to see invocation) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_get_rotation_matrix'. MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticObjectTest.framework/XStaticObjectTest (Location related to previous error) MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticArTest.framework/XStaticArTest(libtest-ar.x86_64.o) (Location related to previous error) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransformcomponent_get_local_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_create_global_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float4x4'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float3x3'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float2x2'. MTOUCH: error MT5209: Native linking error: 6 duplicate symbols for architecture x86_64 MTOUCH: error MT5202: Native linking failed. Please review the build log. * [tests] Since libtest.a need ModelIO now, the corresponding LinkWith attributes need to state that too. * [introspection] Don't check native signatures on obsolete members, and ignore the right simd matrix types. Fixes this introspection/Mac problem: ***** ApiSignatureTest.NativeSignatures Selector: uniformWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: uniformWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: uniformWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: setMatrixFloat2x2Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: setMatrixFloat3x3Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: setMatrixFloat4x4Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: initWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: initWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: initWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded * [monotouch-tests] Include more custom asserts for watchOS to make the build work. Fixes this: Simd/MatrixFloat4x4Test.cs(28,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(29,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(37,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(48,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' [...] * [monotouch-test] Exclude code that requires the binding project from xammac tests. Exclude code that requires the test binding project from xammac tests because there's currently no XM version of the test binding project. Fixes this: tests/monotouch-test/SpriteKit/UniformTest.cs(20,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLMaterialProperty.cs(37,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLTransform.cs(34,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) * Bump version for preview #8 (#2576) * [spritekit] Audit fixes (xtro) (#2577) 1. SKVideoNode is now, partially, available on watchOS and does not require the extra, manual code to swicth selectors depending on the OS version being run. !missing-type! SKVideoNode not bound !missing-selector! SKVideoNode::anchorPoint not bound !missing-selector! SKVideoNode::initWithCoder: not bound !missing-selector! SKVideoNode::initWithFileNamed: not bound !missing-selector! SKVideoNode::initWithURL: not bound !missing-selector! SKVideoNode::setAnchorPoint: not bound !missing-selector! SKVideoNode::setSize: not bound !missing-selector! SKVideoNode::size not bound !missing-selector! +SKVideoNode::videoNodeWithFileNamed: not bound !missing-selector! +SKVideoNode::videoNodeWithURL: not bound 2. SKNodeFocusBehavior is exposed needlessly on watchOS because SpriteKit/Enums.cs was not processed by the generator, so [NoWatch] did not matter. !unknown-native-enum! SKNodeFocusBehavior bound It's also visible on macOS but nothing uses it (so we do not expose it needlessly) !missing-enum! SKNodeFocusBehavior not bound 3. Add missing designated initializer on default `init` !missing-designated-initializer! SKAttributeValue::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! SKNode::init is missing an [DesignatedInitializer] attribute 4. Remove inconsistency for SKNode subclasses wrt XAMCORE_4_0 The trio attributeValues, setAttributeValues and setValue:forAttributeNamed: that was moved from SKNode (deprecated) into its subclasses. This was done using XAMCORE_4_0 but not on every subclasses. This adds them everywhere to be consistent (only SKNode versions are not defined in XAMCORE_4_0) !missing-selector! SKEffectNode::attributeValues not bound !missing-selector! SKEffectNode::setAttributeValues: not bound !missing-selector! SKEffectNode::setValue:forAttributeNamed: not bound !missing-selector! SKEffectNode::valueForAttributeNamed: not bound !missing-selector! SKEmitterNode::attributeValues not bound !missing-selector! SKEmitterNode::setAttributeValues: not bound !missing-selector! SKEmitterNode::setValue:forAttributeNamed: not bound !missing-selector! SKEmitterNode::valueForAttributeNamed: not bound !missing-selector! SKSpriteNode::attributeValues not bound !missing-selector! SKSpriteNode::setAttributeValues: not bound !missing-selector! SKSpriteNode::setValue:forAttributeNamed: not bound !missing-selector! SKSpriteNode::valueForAttributeNamed: not bound * [introspection] Make sure '[FAIL]' is printed before every failure. (#2578) This makes xharness able to list the failures in the inline summary. * [xtro] Reword some of the Simd diagnostic messages according to review. * [xharness] Add a missing IsServerMode check to generate correct html. (#2581) * [SpriteKit] SKTransformNode is new in Xcode 9 so no need to keep the broken (and obsolete) non-simd version of RotationMatrix. * [intents] Fix some (partial) xtro issues and #59156 (#2585) reference https://bugzilla.xamarin.com/show_bug.cgi?id=59156 Remaining issues are filled in https://bugzilla.xamarin.com/show_bug.cgi?id=59183 !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound * [Intents] Confirm* interface methods should be bound as Confirm, Fixes Bug 59164 (#2591) * [Intents] Confirm* interface methods should probably be bound as Confirm, Fixes Bug 59164 https://bugzilla.xamarin.com/show_bug.cgi?id=59164 All Confirm* methods from *IntentHandling interfaces should be named just `Confirm` to avoid confusion because most of them do not directly confirm as an acion, but instead they **ask** for confirmation also we would follow swift's naming by doing this. * [Intents] XAMCORE_4_0 all Confirm* methods from *IntentHandling Turns any Confirm* into just Confirm inside a XAMCORE_4_0 block, * [Intents] Fix breaking changes in Intents added in Xcode 9 Bindings (#2590) Apple added more protocol conformances to INRidesharingDomainHandling and INPaymentsDomainHandling protocols in Xcode 9, I introduced these breaking changes back when I did intents binding so fixing them :) * [Metal] New bindings from Xcode 9 betas (#2457) * [AVFoundation] Updated bindings for xcode9. (#2272) * [Xcode9] Add IOSurface bindings (#2363) * This framework was a private framework before iOS 11. This framework was a private framework before iOS 11, yet the headers claim many API were introduced in iOS 10. So take account of this difference by using the private framework location in iOS 10.3 or earlier. Testing these API from Xcode works fine when run on an iOS 10.3 device, and I've confirmed the IOSurface framework is loaded from the private frameworks path on older devices (and when built using Xcode 9 and linked with the public framework path). * Disable code to make IOSurface work on iOS 10. Disable the code to make IOSurface work on iOS 10, since it may be rejected by the App Store. This also means adjusting the availability attributes, so that the introspection tests pass (and to document that technically these API won't work when used with Xamarin.iOS in iOS 10). I've filed bug #[59201][1] to keep track of this, maybe we can re-enable this later. [1]: https://bugzilla.xamarin.com/show_bug.cgi?id=59201 * [CoreMedia] Fix leak in CMAttachmentBearer.GetAttachments. (#2593) The caller owns the return value from CMCopyDictionaryOfAttachments, so tell Runtime.GetNSObject that. * [Intents] Adds missing API found by xtro, fixes Bug 59183 (#2596) https://bugzilla.xamarin.com/show_bug.cgi?id=59183 Fixes !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !incorrect-protocol-member! INUIHostedViewControlling::configureWithInteraction:context:completion: is OPTIONAL and should NOT be abstract * [xtro] Fix StartWorkingDirectory to enable debugging (#2598) * [iosurface] Enable for tvOS and XM classic (to avoid multiple defines around consumer API) (#2597) * [xtro] Fix EnumCheck (#2600) * [ARKit] Rename a few method to make them nicer. (#2604) * DisplayTransform -> GetDisplayTransform since methods should have verbs. * SessionWasInterrupted -> WasInterrupted and SessionInterruptionEnded -> InterruptionEnded since these names match better with the other names (CameraDidChangeTrackingState / DidFail / DidOutputAudioSampleBuffer: none are prefixed with 'Session'). Additionally, the type is a Model (for the delegate pattern), which means all methods are more-or-less event-like, and the first argument is always the same (the protocol itself), which is another indicator the methods should be named similarly. * [Foundation] Remove 'Key' suffix from some fields. (#2606) Of the 168 fields in NSMetadataItem, only these 5 hadn't removed the 'Key' suffix. So make them all equivalent by removing the 'Key' suffix from these 5 fields. * [ImageIO] Fix API to not duplicate the instance in instance methods. (#2609) An instance method does not need to take the instance as a parameter, so remove the first (instance) parameter for CGImageDestination.AddAuxiliaryDataInfo and CGImageSource.CopyAuxiliaryDataInfo. An alternative solution would be to make the methods static, but I like the instance API better. * [UIKit] De-model UIDataSourceTranslating. (#2603) It's not clear from neither the documentation nor the headers how this protocol is supposed to be used, and since it doesn't correspond to the delegate pattern, remove the [Model] attribute for now. We can always add it back later. * [CoreML] Improve API. (#2592) * [CoreML] Improve API. * The indices, shape and stride properties for MLMultiArray and MLMultiArrayConstraint can logically only be arrays of integers, so type them as such. This means adding overloads for MLMultiArray's constructors, GetObject and SetObject methods, and the indexers that takes nint[] arrays instead of NSNumber[] arrays. * Change MLFeatureValue's static factory methods to be a method ('Create') instead of a preposition, and call all the different factory methods the same, since they can be overloaded nicely. * [tests][monotouch-test] Add version check to MLMultiArrayTest and make sure the arrays we create are big enough for the data we put in them. * [tests][monotouch-test] MLMultiArray's elements aren't zero-initialized, so don't assume that in the tests. * Support overloading Objective-C methods based on static/instance. (#2607) Two Objective-C methods can be named identically as long as one is static and the other instance. We must support this since Apple did just this (in the NSItemProviderReading / NSItemProviderWriting protocols). We solve it by prepending a '+' or '-' to the selector when hashing it (to determine selector uniqueness, and to look the method up again at runtime). * [uikit] Update for Xcode 9 - Part 6 (#2602) NSAttributedString.h NSFileProviderExtension.h NSLayoutAnchor.h UIAccessibility.h UIAccessibilityAdditions.h UIAccessibilityContainer.h UIAccessibilityContentSizeCategoryImageAdjusting.h UIAccessibilityCustomRotor.h UIAccessibilityLocationDescriptor.h UITabBar.h UINavigationBar.h UIScreen.h * Xcode9 scenekit (#2512) * [SceneKit] basic work * Added key * [xcode9] SCNCameraController * [xcode9] SCNCamera updates * [xcode9] SCNMaterial * [xcode9] SCNGeometryTessellator, SCNCameraControlConfiguration, SCNView, small bits * Add trailing commas to last enum value * Remove whitespace noise * [scenekit] Update deprecated attributes messages * Addresses some of Rolf's feedback * Drop the WeakDelegate in SCNCameraController * Rename method to Render, remove ctor from class that can not be constructed in Palygrounds, add typo exception * [AppKit] Rename NSBezierPath.AppendBezierPathWithCGGlyph to match its sibling methods. (#2605) NSBezierPath contains a lot of 'AppendPathWithXXX' methods, that all map to 'appendBezierPathXXX' selectors. So rename AppendBezierPathWithCGGlyph accordingly, to make it more similar to the other methods in the same type. * [uikit] Add all UISpringLoadedInteractionSupporting (#2616) Types do not conform to the protocol but protocol methods work on those types (see monotouch-test). Fixed introspection tests accordingly and tested the selectors in monotouch-test. * [Intents] Add convenience ctor overload and call correct base ctor in manual ctor. (#2613) Add a convenience constructor overload in INGetUserCurrentRestaurantReservationBookingsIntent that uses nint instead of NSNumber, since logically "number of results" will always be some sort of integer. Also call the correct base constructor in INSpeakableString's custom constructor (same as any other generated constructor). Otherwise we end up doing something like this: [[[INSpeakableString alloc] init] initWith ...], i.e. calling two different init methods. * [coreimage] Add new headers API up to beta 6 (#2601) Filters are not complete (ref: #57350) https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * Some new constants are not yet documented (type is known), so they are commented / ignored https://bugzilla.xamarin.com/show_bug.cgi?id=59296 * Filled bug for [Wrap] inside [Category] so strong dictionary helpers can be re-enabled later https://bugzilla.xamarin.com/show_bug.cgi?id=59294 * [foundation] xtro fixes for watchOS (#2586) !missing-enum! NSProcessInfoThermalState not bound !missing-field! NSProcessInfoThermalStateDidChangeNotification not bound !missing-selector! NSProcessInfo::thermalState not bound Headers are wrong and preferredPresentationStyle is not in tvOS and watchOS !missing-selector! NSItemProvider::preferredPresentationStyle not bound !missing-selector! NSItemProvider::setPreferredPresentationStyle: not bound * [uikit] Also remove UIPreferredPresentationStyle enum from platform where it's not used * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. (#2614) * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. * NSItemProviderWriting: * NSItemProviderReading: Implement correctly and completely by uncommenting commented out code. * NSMutableString: * NSAttributedString: remove inlined members, since these classes don't implement NSItemProviderReading / NSItemProviderWriting (according to the headers at least). * NSUrl: all platforms now seem to implement NSItemProviderReading / NSItemProviderWriting. * NSString: all platforms now seem to implement both NSItemProviderReading and NSItemProviderWriting * UIColor: * UIImage: Update inlined protocol members according to the latest beta. Additionally, due to the following conditions: * The protocols all have the correct members now. * In the API definition we tell the generator to inline members from a protocol by inheriting from the corresponding interface. * The generator doesn't inline static members from protocols. several 'new' keywords had to be added to silence a compiler warning that occurrs when we manually inline a static member, since the member would be included in the type both from the inherited interface and the manual implementation. * [Foundation] Comment out NSItemProviderWriting.GetItemProviderVisibility to avoid inlining/generating unusable methods. NSItemProviderWriting.GetItemProviderVisibility is an optional method, and none of the native classes that implements NSItemProviderWriting actually imlements the method. This means inlining the method in those classes ends up creating unusable API; so just comment out the method to avoid generating the unusable API. The introspection tests found this: [FAIL] Foundation.NSString : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Foundation.NSUrl : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Contacts.CNContact : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] MapKit.MKMapItem : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIColor : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIImage : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] iOSApiSelectorTest.ApiSelectorTest.StaticMethods : 6 errors found in 2348 static selector validated: See also https://bugzilla.xamarin.com/show_bug.cgi?id=59308 * [iosurface] Add missing [TV] attributes (#2619) * [opengles] Enable the new API using IOSurface (#2618) The symbol only exists inside device libraries, not on simulator, and the introspection tests were updated to ignore it. Part of https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [avfoundation][watchos] Enable AudioBufferList (fix #59145) + audit (xtro) (#2617) 1. AudioBufferList is part of CoreAudio (wrong namespace, which needs a few changes in the generator) and now available in watchOS 4 https://bugzilla.xamarin.com/show_bug.cgi?id=59145 2. Also fixes xtro found issues: !missing-type! AVAudioRecorder not bound !missing-selector! AVAudioRecorder::averagePowerForChannel: not bound !missing-selector! AVAudioRecorder::channelAssignments not bound !missing-selector! AVAudioRecorder::currentTime not bound !missing-selector! AVAudioRecorder::delegate not bound !missing-selector! AVAudioRecorder::deviceCurrentTime not bound !missing-selector! AVAudioRecorder::format not bound !missing-selector! AVAudioRecorder::initWithURL:format:error: not bound !missing-selector! AVAudioRecorder::initWithURL:settings:error: not bound !missing-selector! AVAudioRecorder::isMeteringEnabled not bound !missing-selector! AVAudioRecorder::isRecording not bound !missing-selector! AVAudioRecorder::peakPowerForChannel: not bound !missing-selector! AVAudioRecorder::recordAtTime: not bound !missing-selector! AVAudioRecorder::recordAtTime:forDuration: not bound !missing-selector! AVAudioRecorder::recordForDuration: not bound !missing-selector! AVAudioRecorder::setChannelAssignments: not bound !missing-selector! AVAudioRecorder::setDelegate: not bound !missing-selector! AVAudioRecorder::setMeteringEnabled: not bound !missing-selector! AVAudioRecorder::settings not bound !missing-selector! AVAudioRecorder::url not bound !missing-protocol! AVAudioRecorderDelegate not bound !missing-selector! AVAudioEngine::inputNode not bound !missing-selector! AVAudioEngine::manualRenderingBlock not bound !missing-selector! AVAudioInputNode::setManualRenderingInputPCMFormat:inputBlock: not bound !missing-selector! AVAudioPlayer::format not bound !missing-selector! AVAudioSession::requestRecordPermission: not bound !unknown-field! AVFileType3GPP bound !unknown-field! AVFileType3GPP2 bound !unknown-field! AVFileTypeAC3 bound !unknown-field! AVFileTypeAIFC bound !unknown-field! AVFileTypeAIFF bound !unknown-field! AVFileTypeAMR bound !unknown-field! AVFileTypeAVCI bound !unknown-field! AVFileTypeAppleM4A bound !unknown-field! AVFileTypeAppleM4V bound !unknown-field! AVFileTypeCoreAudioFormat bound !unknown-field! AVFileTypeDNG bound !unknown-field! AVFileTypeEnhancedAC3 bound !unknown-field! AVFileTypeHEIC bound !unknown-field! AVFileTypeHEIF bound !unknown-field! AVFileTypeJPEG bound !unknown-field! AVFileTypeMPEG4 bound !unknown-field! AVFileTypeMPEGLayer3 bound !unknown-field! AVFileTypeQuickTimeMovie bound !unknown-field! AVFileTypeSunAU bound !unknown-field! AVFileTypeTIFF bound !unknown-field! AVFileTypeWAVE bound * [Metal] Implement API using IOSurface now that IOSurface is implemented. Partially fixes #58054. (#2621) https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [PdfKit] Improve PdfAnnotation.QuadrilateralPoints binding by making it strongly typed. (#2620) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). (#2622) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). * [ARKit/Vision] Use the new simd vector types instead of the OpenTK versions. * [ModelIO] Use the new simd vectors in new API (MDLVoxelIndexExtent2). This way we won't have to create a MDLVoxelIndexExtent3 in the future. * [SpriteKit] Use the new simd vectors in new API. * [metal] Audit (xtro) based fixes (#2623) !extra-protocol-member! unexpected selector MTLArgumentEncoder::newArgumentEncoderForBufferAtIndex: found !extra-protocol-member! unexpected selector MTLComputeCommandEncoder::dispatchThreads:threadsPerThreadgroup: found macos-only !missing-field! MTLDeviceRemovalRequestedNotification not bound !missing-field! MTLDeviceWasAddedNotification not bound !missing-field! MTLDeviceWasRemovedNotification not bound !missing-pinvoke! MTLCopyAllDevices is not bound * [CloudKit] Update bindings to beta 6. (#2615) * [FileProvider] Turn NSFileProviderItemIdentifier enum into a static class, fixes bug 59329 (#2634) https://bugzilla.xamarin.com/show_bug.cgi?id=59329 At the time of binding NSFileProviderItemIdentifier it wasn't clear how it was supposed to be used, I mean apple provides two keys which I thought were the only possible values hence binding it as an smart enum. Unfortunately this wasn't the case and the user can use those two values provided from the SDK or their own NSString Identifier. Swift provides a wrapper unfortunately we can't do the same due to NSFileProviderItemIdentifier is used in the NSFileProviderItem protocol and we currently do not support changing signatures on them. * [mtouch] Teach mtouch about the 'IOSurface' framework for tvOS. Fixes #59333. (#2630) https://bugzilla.xamarin.com/show_bug.cgi?id=59333 * Bump Touch.Unit to get fix for API breakage. (#2631) spouliot/Touch.Unit@8f1e19d [NUnitOutputTextWriter] Reintroduce previous constructor to make sure we don't break binary ABI. spouliot/Touch.Unit@00b0c0b [NUnitOutputTextWriter] Don't write invalid xml comments. spouliot/Touch.Unit@de9fe20 [TouchRunner] Restore the original code path when not wrapping NUnit xml output. * [IOSurface] Add missing availability attributes for tvOS. (#2629) * Bump versions for preview 9 (#2624) * [AVFoundation] Add missing interface AVRouteDetector. (#2637) * [tests] Update xtro to reduce list sizes (#2636) * Skip OpenTK duplicate declaration (we can't change them); * Fix rule name change for ARKit / simd; * Add missing default initializer on `init` to pending actions; * Add note for AVPersistableContentKeyRequest changes wrt tvOS; * [ReplayKit] Make RPBroadcastActivityViewController.LoadBroadcastActivityViewController async-capable. (#2639) * [xcode9] More SceneKit bindings (#2633) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 (#2644) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 https://bugzilla.xamarin.com/show_bug.cgi?id=59380 vector_float3 is 16 bytes, which means the binding is incorrect, because Vector3 is 12 bytes, and our code does not that difference into account. * Add tests * [DeviceCheck] Disable default ctor for DCDevice. (#2642) It doesn't seem to be useful according to the documentation, since it appears that the only way to get an instance is to use the static CurrentDevice property. * [audiounit] Audit (xtro) fixes for tvOS (#2635) Availability attributes in non-generated files don't hide symbols/code. reference: !unknown-pinvoke! AudioUnitExtensionCopyComponentList bound !unknown-pinvoke! AudioUnitExtensionSetComponentList bound * [tests] Make sure tvOS tests don't use the (unexisting) API * [tests] Add all test project variations to tests-mac.sln (#2579) * [xharness] Make sure generated mac projects have different project guids. * [introspection] Change the project guid so that it doesn't match the dontlink-mac project guid. * [tests] Add all test project variations to tests-mac.sln. * [xharness] Fix else condition. * [FileProvider] Adds missing NSFileProviderPage constants, fixes bug 59297. (#2646) https://bugzilla.xamarin.com/show_bug.cgi?id=59297 Adds NSFileProviderInitialPageSortedByName and NSFileProviderInitialPageSortedByDate NSData constants * [Xcode9] Remove NSFileProviderMessage and NSFileProviderMessageInterface (#2647) APIs were removed in beta 2 * [Foundation/UIKit] Provide LoadObject[s] methods that return the expected type in the callback. Fixes #59049. (#2638) The callback for these LoadObject[s] methods take an INSItemProviderReading parameter. This tells our runtime that we must provide an instance of a managed object that implements this interface (but nothing else), so we create a `NSItemProviderReadingWrapper` instance, which complies with the API (since the wrapper type implements the corresponding interface). Unfortunately these methods are supposed to return an instance of the passed- in type, so in order to comply with this soft (documentation-only) requirement, provide a wrapper method that creates instances of the right types. https://bugzilla.xamarin.com/show_bug.cgi?id=59049 * [arkit] Ignore deprecated selectors (#2645) * [FileProvider] Adds missing protocol and keys from audit (#2652) ``` !missing-protocol! NSFileProviderServiceSource not bound !missing-field! NSFileProviderErrorCollidingItemKey not bound !missing-field! NSFileProviderErrorNonExistentItemIdentifierKey not bound !missing-field! NSFileProviderFavoriteRankUnranked not bound ``` Also adds `NSXpcListenerEndpoint` to foundation, needed by `NSFileProviderServiceSource` protocol. * [tests][xtro] Workaround xtro runner dupe entry exception and update data files (#2654) * [AVFoundation] Rename field to match others. (#2657) * [homekit] Audit (xtro) fixes (#2653) - HMCharacteristicEvent conforms to NSMutableCopying on iOS11 which makes it 64 bits only (so adjust intro tests) - Ignore extra setters on HMMutablePresenceEvent, rdar 33883958 !missing-selector! HMMutablePresenceEvent::setPresenceEventType: not bound !missing-selector! HMMutablePresenceEvent::setPresenceUserType: not bound * [xtro] Add missing pinvoke to pending (#2662) - Bug 59422: [uikit] Missing UIContentSizeCategoryCompareToCategory & UIContentSizeCategoryIsAccessibilityCategory (https://bugzilla.xamarin.com/show_bug.cgi?id=59422) * Merge latest d15-3 fixes into xcode9 (#2660) * [msbuild] Re-added wildcard (*) expandsion for application-identifier in Entitlements.plist (#2186) Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=57119 * Bump mono (#2213) * Framework tests were still binding non-linked Simple class which errors now (#2216) (#2218) - Improve Makefile to rebuild when projects build with errors * Bump mono to get cecil fix for bug #56808. (#2222) https://bugzilla.xamarin.com/show_bug.cgi?id=56808 * [msbuild] Use @(ReferencePath) instead of @(ResolvedFiles) (#2188) (#2214) This allows things to work on both xbuild and msbuild. In xbuild, both lists are exactly the same and on msbuild, only @(ReferencePath) exists. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=55147 * NSActivityOptions.IdleDisplaySleepDisabled had wrong value (#2232) (#2239) This was due to an integer overflow. The original value was based on Int32 1 << 40 == 256 The correct value should be based on a UInt64. 1UL << 40 == 1099511627776 * [tests] Fix bug 57699 - [iOS]InternalsTest failure (Linkall) tests on device (#2243) Strip native debugging symbols should not be checked for debug builds * Bump mono to get fix for bug #57780. https://bugzilla.xamarin.com/show_bug.cgi?id=57780 * Update .gitmodules Change branch to d15-3 branch of mono * Bump maccore to get fix for bug #55064. https://bugzilla.xamarin.com/show_bug.cgi?id=55064 * [mono] Bump mono to get the head of cecil/mono-2017-04 and fix IsComObject #57919 Also fix #58789 [1], the typo in tools/mtouch/Tuning.cs showing in MT0000 errors instead MT2102. That's already in master and d15-4 mono bump includes: [2] commit 2a6502cee0df9de5198eafe7c8b5f6ac25106f34 (HEAD -> d15-3, origin/d15-3) Merge: 02457c20fcf 5e05cafc6f1 Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 10:04:06 2017 -0400 Merge pull request #5401 from marek-safar/com [Marshal.IsComObject] Make this predicate return false instead of thr… [3] commit 02457c20fcf57c0610e844d638eb1da82b5d1eb0 Merge: da80840ea55 73fd9a1b82e Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 09:59:06 2017 -0400 Merge pull request #5400 from spouliot/bump-cecil-58834-d15-3 [cecil] Bump to the head of the mono-2017-04 branch and pick the fix for bug #58834 References [1] https://bugzilla.xamarin.com/show_bug.cgi?id=58789 [2] https://bugzilla.xamarin.com/show_bug.cgi?id=57919 [3] https://bugzilla.xamarin.com/show_bug.cgi?id=58834 * [mtouch] Put 'mono_profiler_startup_log' in the symbol list. Fixes #58778. (#2501) We need the 'mono_profiler_startup_log' symbol when profiling is enabled, so make sure to add the symbol to the correct list of symbols we need. Previously we were passing `-u _mono_profiler_startup_log` to clang directly, which is fine, but not complete, since it does not write the symbol to the symbollist file (--symbollist=file), which means it wouldn't be preserved when the MSBuild tasks strip the executable. https://bugzilla.xamarin.com/show_bug.cgi?id=58778 * Bump versions for SR3 https://trello.com/c/EVze08ei * Bump mono to include HttpClientHandler fix #44027 https://trello.com/c/jYFXadH8/8-systemnethttp-close-request-stream-when-httpclienthandler https://bugzilla.xamarin.com/show_bug.cgi?id=44027 * [FileProvider] Add missing API and turn NSString to string (#2663) Turned NSString to string in order to match exisiting API. * [uikit] Add UIPasteConfigurationSupporting and UITextPasteConfigurationSupporting (#2649) - Fixes bug #59363: Missing UIPasteConfigurationSupporting, UITextPasteConfigurationSupporting, UITextDraggable and UITextDroppable on a couple of types (https://bugzilla.xamarin.com/show_bug.cgi?id=59363) * [uikit] Remove 129 types in UIPasteConfigurationSupporting case * [scenekit] Audit (xtro) fixes (#2648) This looks like an Apple breaking change (since `SCNAnimation` is new) but we now have: > typedef void (^SCNAnimationEventBlock)(id<SCNAnimation> animation, id animatedObject, BOOL playingBackward); bound as > delegate void SCNAnimationEventHandler (CAAnimation animation, NSObject animatedObject, bool playingBackward); and `CAAnimation` conforms to `SCNAnimation` but *only* the later is available on watchOS. The delegate is only updated (since it's new) on our watchOS profile. xtro references: (watchos) !unknown-protocol! SCNCameraControlConfiguration bound (tvos/watchos) !missing-selector! SCNAnimation::animationEvents not bound !missing-selector! SCNAnimation::setAnimationEvents: not bound !missing-selector! SCNConstraint::isEnabled not bound !missing-selector! SCNConstraint::setEnabled: not bound !missing-field! SCNSceneSourceConvertToYUpKey not bound !missing-field! SCNSceneSourceConvertUnitsToMetersKey not bound (ios/tvos) !missing-protocol-conformance! SCNNode should conform to UIFocusItem * Bump maccore post 15.3 merge (#2665) * Bump Xcode 9 to GM (#2667) * Force build (on wrench) * [avfoundation] Fix breaking changes (apidiff) (#2664) * [TVServices] Update to Xcode 9 GM (#2675) * [GameController] Update to Xcode 9 GM (#2673) * [LocalAuthentication] Update to Xcode 9 GM (#2671) * [LocalAuthentication] Update to Xcode 9 GM * Remove availability from BiometryNotAvailable, BiometryNotEnrolled and BiometryLockout * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer (#2659) * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer Some of the new added types were already present BUT under a #if MONOMAC, they had to be moved. * [AVFoundation] Set the wrongly added API to be obsolete and ensure it returns logical values. (#2650) * [xtro] The right platform for macOS is 'macos', not 'osx'. (#2677) The platform name is used to filter availability attributes, and if we use the wrong platform, we'll incorrectly skip all availability attributes. The net result in unclassified entries: https://gist.github.com/rolfbjarne/a4474bc2a40c49a85cad495b51bb514f * Various Xcode 9 API improvements and also fixes bug 59433 (#2676) https://bugzilla.xamarin.com/show_bug.cgi?id=59433 While fixing bug 59433 I noticed some additional issues outlined below: AVDepthData: * Renamed **non** static `Create` methods because `Create` only makes sense with the **Static** method in this context. Also by renaming the methods we are now closer to the names that swift uses. * Kept descriptive method names in favor of self-documenting code. `Convert`, `Apply` and `Replace` do not fully give us the intent of the method. * Added a convenience `Create` static method that takes a `CGImageAuxiliaryDataInfo`. * AvailableDepthDataTypes is now an array of `CVPixelFormatType` instead of a `NSNumber` array (The aactual fix for bug 59433). ImageIO: * Refactored `CGImageAuxiliaryDataInfo` to be a `StrongDictionary` in order to avoid most of the manual code and also to avoid reimplementing the `ToDictionary` method (which contained a subtle bug). * Adjusted code to reflect the above change. * Added missing `.ctor (IntPtr, bool)` to `CGImageMetadata` so the class is able to be created by our `Runtime.Get*`. * Simplified `CopyAuxiliaryDataInfo` method by using `CGImageAuxiliaryDataInfo` as a `DictionaryContainer`. Tests: * Added `xamarinmonkey.heic` which is an image that contains depth data needed to test above changes. * Adds `AVDepthDataTests` that touches most of the changes listed here. * Tweak the Simd-compatible matrices and vectors (#2668) * Rename them to be OpenTK.NMatrix# (instead of Simd.MatrixFloat#x#). * Remove the Vector2 and Vector4 variants, we'll use the OpenTK types instead (but we'll keep the NVector3 variant, since it's not identical to the OpenTK version). * Update the API to match their OpenTK counterparts better: * NMatrix2 and NMatrix3 have a 0-based R#C# scheme for their fields. * NMatrix4 has a 1-based M## scheme for its fields (i.e. no change). * [AVFoundation] Use Simd-matrix for API that needs it. (#2679) This also requires implementing the corresponding matrix (NMatrix4x3). Fixes this xtro issue: > !unknown-simd-type-in-signature! OpenTK.Matrix3 AVFoundation.AVCameraCalibrationData::get_GetIntrinsicMatrix(): the native signature has a simd type (matrix_float3x3), while the corresponding managed method is using an incorrect (non-simd) type. * [xtro] Fix checking availability on categories. (#2682) When checking for category availability, check if both the current declaration is a category, and if the current's declaration container is a category. Otherwise this scenario fails: * Category method is available. * Category does not have availability attributes. * Main class is unavailable. with this typical code sequence: ```csharp // don't process methods (or types) that are unavailable for the current platform if (!decl.IsAvailable () || !(decl.DeclContext as Decl).IsAvailable ()) return; ``` In which case we'd: * First check the method (`decl`): * It's available, so no further checks is done on the method. * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container's container is a category (it isn't, it's the namespace). and as such determine that the method is available. With this change, the second step will become: * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container is a category (it is), and if its main class is available (it isn't). and as such determine that the method is unavailable. * Check for attributes on the method's container (no attributes, so we continue). * Check if the method's Unclassified diff: https://gist.github.com/rolfbjarne/8fa80962596978a426eadf9b7ba39dc1 * [uikit] Update for Xcode 9 GM (#2670) * [AVFoundation] Implement AVCapturePhoto. Partially fixes #59388. (#2678) Fixes: > common.unclassified:!missing-type! AVCapturePhoto not bound https://bugzilla.xamarin.com/show_bug.cgi?id=59388 * Use strong dictionaries for AVCapturePhoto.Metadata and AVCapturePhoto.EmbeddedThumbnailPhotoFormat. * [SIMD] Implement Simd double types (VectorDouble3/MatrixDouble4x4). (#2632) The following types will be used by ModelIO bindings * Fix delta to be double * Rename Simd-compatible matrices and vectors to match our final naming. This also means removing the new Vector2 and Vector4 variants (but not Vector3). * [avfoundation] Remove AVAssetDownloadDelegate.DidLoadTimeRange since it was removed in one of the betas (#2687) * [foundation] Move NSUrlSessionMultipathServiceType to a file processed by the generator (for the availability attributes) (#2688) * [arkit] Update for Xcode 9 GM (#2681) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes (#2690) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes Type Changed: Intents.INCarSeatResolutionResult Removed methods: public static INCarSeatResolutionResult GetConfirmationRequired (INCarSeat valueToConfirm); public static INCarSeatResolutionResult GetSuccess (INCarSeat resolvedValue); * [avfoundation] Add missing protocol members and deprecations (#2691) !missing-protocol-member! AVCapturePhotoCaptureDelegate::captureOutput:didFinishProcessingPhoto:error: not found and the selector removed from PR#2687 was actually replaced with this one !missing-protocol-member! AVAssetDownloadDelegate::URLSession:aggregateAssetDownloadTask:didLoadTimeRange:totalTimeRangesLoaded:timeRangeExpectedToLoad:forMediaSelection: not found * [tests][xtro] Map some enums, more fix with protocols and update entries (#2692) * [Tests] Reenable dns tests on the watch. (#2674) * [arkit] Add ARBlendShapeLocationOptions strong dictionary (#2696) * [coreimage] Skip not yet bound filters added in Xcode9 (#2698) Tracked in https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * [Metal] Renamed MTLArgumentDescriptor.ArgumentDescriptor to Create, fixes bug 59498 (#2702) https://bugzilla.xamarin.com/show_bug.cgi?id=59498 From [argumentDescriptor docs](https://developer.apple.com/documentation/metal/mtlargumentdescriptor/2915746-argumentdescriptor?language=objc) > Creates an empty argument descriptor. * [msbuild] Always codesign app bundles if the codesign key is non-null (#2697) ...even if it is a simulator build. Turns out that starting with Xcode9, sim builds need to be codesigned for App Groups entitlements to work properly. Interestingly, the DetectSigningIdentity logic had a comment about needing to codesign simulator builds for some entitlements to work already starting with Xcode 8 but apparently the iOS targets did not respect this. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=59379 * [Foundation] Add NSProxy stub in order to workaround bug 59247 (#2693) https://bugzilla.xamarin.com/show_bug.cgi?id=59247 We need to have a better solution that removes all what NSProxy does not responds to. Right now this works because NSObject implements NSObject protocol just like NSProxy, but NSProxy responds to far less selectors hence doing it internal so it is not a breaking change when we provide the correct fix. * Keep NSProxy around and avoid XML linker description We need to keep NSProxy (avoid linking it) if WKNavigationDelegate or IWKNavigationDelegate is used. We know WKWebView will be there and can hold a reference to it. * [Xcode 9] Update Metal for GM (#2689) * [iosurface] IOSurface is not usable before iOS/tvOS 11. Fixes #59201 (#2706) Apple rejects apps that links with the previously private IOSurface.framework. We were not sure about this [1] and had it disabled (this is removed). However another bug stopped our adjustment logic [2] from being executed. This is needed since `clang` picks up the private framework if it does not find the public one (even when asking for a weak framework), [1] https://bugzilla.xamarin.com/show_bug.cgi?id=59201 [2] Added a while ago for JavascriptCore * Bump maccore to point to commit with the docs fix. (#2703) * Bump XI to 11.0.x (and XM to 3.99.9.x) (#2684) * fix typo
2017-09-16 00:53:16 +03:00
[Watch (4, 0), TV (11, 0), Mac (10, 13, onlyOn64: true), iOS (11, 0)]
Merge xcode9 into d15-4[-xi] (#2710) * [FileProvider] Add Xcode 9 Beta 1, 2 & 3 Bindings (#2279) * [FileProvider] Add Xcode 9 Beta 1 Bindings * Better naming * Feedback not related to BindAs * [FileProvider] Removes BindAs, add manual code for it and updated to Beta 3 * [FileProvider] Implement feedback * [CoreSpotlight] Updated spotlight bindings for xcode 9 beta 3. (#2193) Updated spotlight bindings for xcode 9 beta 3. * Fix warning caused by duplicate (#2354) * [FileProviderUI] Add Xcode 9 Beta 1 to 3 bindings (#2356) * Bump to Xcode 9 beta 4 * [arkit] ARLightEstimate does not conform to NSCopying anymore (fix unit test) * [uikit] NSFileProviderExtension.ReparentItem got a new parameter in beta4 (fix unit test) * [coreimage] CIImageAccumulator init returns nil in beta 4 There's no header change to mention `init` is not allowed but it's not clear how this default initializer could be used. Also make public some other API to construct this type (outside of XM). It's not clear why there were `internal` as they are (at least now) part of the header files. * [photos] Add helpers when PHLivePhotoEditingOption/NSDictionary is null (to avoid ambiguous API) (#2360) Adding a strongly typed `PHLivePhotoEditingOption` (a strongly typed version of an `NSDictionary`) can cause a `CS0121` (call is ambiguous) since using a `null` argument is common (only one option exist so far). This PR adds overloads that makes the code nicer in such case, e.g. before Xcode9: > // null is used when no options are given > _foo.SaveLivePhoto (output, null, completion); current (Xcode 9) > // casting required to remove ambiguity with PHLivePhotoEditingOption > _foo.SaveLivePhoto (output, (NSDictionary)null, completion); with this PR > // no option, no argument > _foo.SaveLivePhoto (output, completion); The same applies to `PrepareLivePhotoForPlayback`. * [tests] Disable/tweak two tests that breaks on (almost) all Xcode updates Those tests were not added to validate xOS so just keep the parts that helps us (without constantly checking back the new break flavor) * Disable watchOS to check if this hides others issues * [mapkit] Update for beta 4 * [coredata] Update for beta 4 * [wkwebkit] Update for beta 4 Note: WKWindowFeatures.h is not compiled (part of the framework umbrella) and the `@interface WKWindowFeatures (WKPrivate)` sounds like it should not have been exposed (it's all fields starting with `_`) * [corelocation] Update for beta 4 * Revert "Disable watchOS to check if this hides others issues" This reverts commit fed2249fa43290a1956ab2fe0d48f83ab6db9711. * [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]: https://github.com/xamarin/xamarin-macios/blob/f5956d6cc1eb5dfa7bab16628cf282d40237f64e/src/generator.cs#L5985 * [FinderSync] Update to beta 4 (#2377) * [ImageIO] Update to Xcode 9 (#2353) * [PhotosUI] Move macOS photosui bindings out of photos.cs into photosui.cs (#2358) * [quicklook] Update up to beta 4 (#2374) * [uikit] UIDragInteraction & UIDragInteractionDelegate (Xcode 9 b1,2,3) (#2357) * [safariservices] Update up to beta 4 (#2380) * [coreanimation] Update to beta 4 (#2382) Apple removed (mistake?) some API in beta 1. Filed as rdar 33590997 Internal tracking in https://trello.com/c/J8BDDUV9/86-33590997-coreanimation-quartzcore-api-removals * [storekit] Update up to beta 4 (#2379) * [CoreML] Update to Xcode 9 Beta 4 (#2387) * [uikit] UICollectionView/UITableView Drag & Drop (Xcode 9 b1,2,3 & 4) (#2355) * Update code after radar 32929318 and 32897776 are fixed in b4 (#2394) * [xcode9 CoreAudio] New definitions from Beta1 to Beta3 (#2359) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 (#2397) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 https://bugzilla.xamarin.com/show_bug.cgi?id=58512 Created strong API (VNBarcodeSymbology) on the following properties * VNDetectBarcodesRequest.SupportedSymbologies * VNDetectBarcodesRequest.Symbologies * VNBarcodeObservation.Symbology * Remove modern C# because classic can't do it 😡 * [mediaplayer] Update up to beta 4 (#2388) * [watchkit] Update to beta 4 (#2398) * Bump Visual Studio for Mac max version (#2408) * [coreimage] Add CIBarcodeDescriptor and enabled missing API for VNBarcodeObservation. Fix #58197 (#2411) https://bugzilla.xamarin.com/show_bug.cgi?id=58197 * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 (#2407) * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 * [uikit] Fixes based on comments * [coreimage] CIImageAccumulator API fixes. Fix #58349 (#2412) * Obsolete the default `init`; * XM exposed some older APIs using `int` instead of `CIFormat`. This is fixed and old APIs are obsoleted; * Both new & old APIs are now using `CIFormat` for both XI and XM. https://bugzilla.xamarin.com/show_bug.cgi?id=58349 * [uikit] UIText drag & drop - up to Xcode 9 beta 4 (#2410) * [uikit] UISplitView & UIStackView up to Xcode 9 beta 4 (#2425) * Bump XI/XM versions before preview 4 (#2422) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 (#2378) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 * [PDFKit] Implement feedback * [PDFKit] the forgotten enum * [PDFKit] More feedback * [PDFKit] Add Mac changes * Missing change * Fix test RectangleF VS CGRect * Pass -Wunguarded-availability-new to quiet a new clang warning (#2424) - https://bugzilla.xamarin.com/show_bug.cgi?id=58574 * [mtouch/mmp] Ignore warnings about unguarded code section with regards to availability. (#2441) * [monotouch-test] Remove workaround for fixed Apple bug. (#2445) * Bump to Xcode 9 beta 5. (#2447) * Bump to Xcode 9 beta 5. * [mmp] Disable the partial static registrar, because Apple's macOS SDK is broken. > In file included from Xamarin.Mac.registrar.mobile.i386.m:1: > In file included from ./Xamarin.Mac.registrar.mobile.i386.h:11: > /Applications/Xcode9-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVFoundation.h:88:9: fatal error: 'AVFoundation/AVRouteDetector.h' file not found https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [mmp] Fix partial static registrar removal. * [CallKit] Update to Xcode 9 beta 5. * [ARKit] ARPointCloud doesn't conform to NSCopying anymore in Xcode 9 beta 5. * [ARKit] Update to Xcode 9 beta 5 enough to make tests happy. * [CoreImage] Stub out new filters in Xcode 9 beta 5. * [tests][monotouch] Simplify some MDLMesh asserts since values change a lot between OS versions. * [mmp] Default to the dynamic registrar for release builds again, due to bug #58629. https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [tests][introspection] CXCall started implementing NSCopying without saying so in the headers. * Disable mmp static registrar tests due to 58629 for now * [quicklook] Update to beta 5 (#2450) * [photos] Update for beta 5 (#2452) Also update some existing enum members were added in beta 1 on macOS * [safariservices] Update for beta 5 (#2455) * [mediaplayer] Update to beta 5 (#2456) * [CoreLocation] Update Xcode 9 Beta 5 (#2453) * [CoreML] Update to Xcode 9 Beta 5 (#2454) * [Contacts] Update to Xcode 9 Beta 5 (#2451) * [Vision] Update to Xcode 9 Beta 5 (#2458) * [builds] Tell LLVM to stay away from newer macOS functions. (#2459) Fixes this build problem on Sierra: > ld: weak import of symbol '_futimens' not supported because of option: -no_weak_imports for architecture x86_64 This is a symbol that was (will be?) introduced in High Sierra. Interestingly this only occurs if the Xcode 8.X Command Line Tools haven't been manually installed. Because if the Xcode 8.X Command Line Tools are installed, this happens: 1. llvm's configure script detects that 'futimens' is not usable. 2. llvm's configure script detects that 'futimens' is not usable, because xcrun sets SDKROOT=/ when calling clang. a. When the SDKROOT variable is set, clang passes '-syslibroot /usr/lib' to ld. b. When ld gets '-syslibroot /usr/lib', ld looks in '/usr/lib' for a library that contains 'futimens' in the OS itself, and since we're on Sierra, that fails to link. c. So when llvm's configure script creates a test program that checks if 'futimens' is present, the program fails. This is correct, and makes llvm *not* use futimens. 3. xcrun sets SDKROOT=/ because /usr/share/current-os.sdk/Info.plist exists. If that file does not exist, then xcrun sets SDKROOT to Xcode9's macOS SDK (because that's what xcode-select reports). a. When SDKROOT is set to Xcode9's macOS SDK, the configure check for 'futimens' succeeds, because the macOS 10.13 SDK contains that function. b. llvm happily uses 'futimens', and then the final link fails because we're using a symbol not available on all target platforms. * [arkit] Update for Xcode 9 beta 5 - Part 1 (#2460) * [tests] The container app for watchOS tests should be 64-bit. (#2463) * [xharness] watchOS tests need to run in a clean environment. Works around #58348. (#2462) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [xharness] It watchOS tests don't need to be clean anymore. Fixes #58348. (#2473) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [uikit] UIView/UIScrollView/UIViewController up to Xcode 9 beta 5 (#2431) - Add NSDirectionalEdgeInsets type. - Includes DirectionalEdgeInsetsTest. * [AudioToolbox] Update bindings to Xcode 9 beta3 (not later changes). (#2294) * [xharness] Add a file existence check. (#2478) Fixes this exception: ``` Harness exception for 'introspection': System.IO.FileNotFoundException: Could not find file '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log'. File name: '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log' at System.IO.__Error.WinIOError (System.Int32 errorCode, System.String maybeFullPath) [0x00207] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/__error.cs:188 at System.IO.FileInfo.get_Length () [0x00038] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/fileinfo.cs:171 at xharness.CaptureLog.StopCapture () [0x00021] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Log.cs:252 at (wrapper remoting-invoke-with-check) xharness.CaptureLog:StopCapture () at xharness.AppRunner+<RunAsync>d__68.MoveNext () [0x0127f] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/AppRunner.cs:642 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter`1[TResult].GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:357 at xharness.RunSimulatorTask+<RunTestAsync>d__7.MoveNext () [0x0029d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2894 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.RunTestTask+<ExecuteAsync>d__8.MoveNext () [0x0010b] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2538 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.TestTask+<RunInternalAsync>d__87.MoveNext () [0x0010d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:1870 ``` I'm not sure how this can happen, but it has on the bots [1]. [1] https://jenkins.mono-project.com/job/xamarin-macios-pr-builder/4548/Test_Report/ * Bump versions for preview 5 (#2479) * [passkit] Update to beta 5 (#2481) * [tests] Remove workaround for radar #32688391. (#2486) * [replaykit] Update up to beta 5 (#2484) * Bump maccore to get fix for bug #55064. (#2487) * [apidiff] Update definition to new 10.12 (d15-3) stable release (#2490) * [SceneKit] basic work (#2483) * [coredata] Update to beta 5 (#2488) * [homekit] Update for Xcode 9 beta 5 (#2492) * [Foundation] Update for xcode9 (#2468) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 (#2493) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 * [Intents] Implement feedback * [Intents] Add a generic version for INInteraction.GetParameterValue * [Intents] Missing check * [Contacts] Add missing foundation NSItemProviderWriting protocol to CNContact (#2496) https://bugzilla.xamarin.com/show_bug.cgi?id=58203 This is available on all Contacts supported platforms ``` ./iPhoneOS.platform/Developer/SDKs/iPhoneOS11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchOS.platform/Developer/SDKs/WatchOS4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchSimulator.platform/Developer/SDKs/WatchSimulator4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ``` * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) (#2497) * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) * [IntentsUI] Better use a delegate instead so we have named params * Bump versions before 6th preview (#2514) * [arkit] Add missing MarshalDirective to ARPlaneAnchor (#2517) - Fixes bug #58648: ARPlaneAnchor.Extent property seems incorrect but changes to correct value after Debug access (https://bugzilla.xamarin.com/show_bug.cgi?id=58648) * [xtro-sharpie] Fix a compiler warning. (#2516) Fixes these warnings: Runner.cs(197,5): warning CS0642: Possible mistaken empty statement Runner.cs(199,5): warning CS0642: Possible mistaken empty statement Runner.cs(201,5): warning CS0642: Possible mistaken empty statement Runner.cs(203,5): warning CS0642: Possible mistaken empty statement Runner.cs(205,5): warning CS0642: Possible mistaken empty statement * [uikit] Update for Xcode 9 beta 5 - Part 3 (#2511) - UIKeyCommand - UINavigationBar - UINavigationItem - UIPasteboard - UITableViewHeaderFooterView * [xtro-sharpie] Remove xtro-plugin and misc other fixes. (#2522) * [xtro-sharpie] Build with msbuild and be as quiet as requested when building. * [xtro-sharpie] Must run as a 64-bit process, since the required native libraries are 64-bit. * [xtro-sharpie] Add run configurations to the project file to ease debugging in the IDE. * [xtro-sharpie] Remove xtro-plugin and the related commands. This was needed when there wasn't a 64-bit mono, in order to run xtro-sharpie in a 64-bit process. Now there is a 64-bit mono, so it's not needed anymore. Also improve makefile targets a bit, to auto-build stuff when needed, by setting the right dependencies. * Bump Xcode 9 to beta 6 (#2519) Disable watchOS tests again It seems like the Carousel crash from beta 4 is back to haunt us. This was working fine with beta 5. * Backport d15-3 SR2 fixes (#2515) * [coredata] Update to beta 6 (#2528) This seems to only revert some nullability changes from beta 5. * [coreml] Update to beta 6 (#2531) Fix our rdar 33643011 where additional setters were added in the headers but did not exists. * [videosubscriberaccount] Update to beta 6 (#2533) Only b1 and b2 introduced some additions/changes * [uikit] Update for Xcode 9 beta 6 - Part 4 (#2527) The following headers are now up to date: - UICollectionViewFlowLayout.h - UIDocumentPickerViewController.h - UIFontDescriptor.h - UIImage.h - UIImageView.h - UIImagePickerController.h * [xharness] Re-enable the watchOS tests. (#2534) It works fine for me locally, so let's see what Jenkins says. * [macos] Add new APIs in CoreWlan from Xcode9b3 (#2525) * Update AppKit bindings based on radar 33271241 results (#2518) * Update AppKit bindings based on radar 33271241 results - The header comment was updated to note it was NSSliderTouchBarItem view that has the protocol * Remove NSUserInterfaceCompression where not listed in header * [vision] Update to beta 6 (#2532) Removal of some deprecated (during beta) `init*` selectors. Also sync the versions that were inlined in subclasses - the old ones were not removed and the new ones were not added. * [xtro-sharpie] Many methods don't have selectors in Clang's API, so default to the name if no selector. (#2523) This makes a few more unclassified entries show up (mostly missing designated initializers): https://gist.github.com/rolfbjarne/07aa20f9b50b75bf3e69ac6a825e873a * [macos] Add ExternalAccessory APIs from xcode9 (#2526) * [58851] Disable NSMenuView in AllItemsWithNSMenuShouldAllowNull (#2504) * [arkit] Update for Xcode 9 beta 5 - Part 2 (#2505) - Add last missing selector. - Add tests for manual code. * [monotouch-test] Disable FontDescriptorTest.WithFeature (#2537) Disabled because it looks like the tvOS font we use: "Gujarati Sangam MN" does not have rare ligatures anymore (and the entire test is based on it). Before getting an actual fix for that, let's disable the test so it doesn't break all current builds. See: https://bugzilla.xamarin.com/show_bug.cgi?id=58929 * [xtro-sharpie] Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute. (#2524) Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute to calculate the native name for a TypeDefinition. Unclassified changes: https://gist.github.com/rolfbjarne/828f8ee41eebb0a3b60a38d71822fe59 * [foundation/uikit] Inline NSItemProvider_UIKitAdditions in NSItemProvider (#2538) As suggested here: https://github.com/xamarin/xamarin-macios/pull/2527#discussion_r134670981 * [intents] Fix breaking changes (api-diff) (#2543) Additions of @required members inside `INSpeakable` cannot be `[Abstract]` * [contacts] Fix breaking change (api-diff) (#2542) Type Changed: Contacts.CNPostalAddress Removed method: public static string LocalizeProperty (CNPostalAddressKeyOption option); * [macos] Reenable static registrar since Xcode9b6 un-broke SDK headers (#2544) - Fix a subtle spacing issues in PartialStaticLibrary property * [corebluetooth] Update up to beta 6 and enable it on watchOS (#2540) macOS 10.13 has finally catch up with iOS and this simplifies the bindings a bit. * [foundation] API fixes (apidiff) (#2545) 1. Let's not add new, already [Obsolete] API Type Changed: Foundation.NSDimension Added constructors: [Obsolete ("Not intended to be directly instantiated, this is an abstract class.")] public NSDimension (); 2. Fix inconsistently named API, e.g. Type Changed: Foundation.NSAttributedString Added properties: public static string[] ReadableTypeIdentifiersForItemProvider { get; } public static string[] WritableTypeIdentifiers { get; } * [pdfkit] Do not add already [Obsolete] API in new profiles (#2547) and ensure using the newer, correct API works cross-platforms iOS (before) [Obsolete ("Use 'Find (string, NSStringCompareOptions)' instead.")] public virtual PdfSelection[] Find (string text, nint options); public PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'Find (string, PdfSelection, NSStringCompareOptions)' instead.")] public virtual PdfSelection Find (string text, PdfSelection selection, nint options); public void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string, NSStringCompareOptions)' instead.")] public virtual void FindAsync (string text, nint options); public void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string [], NSStringCompareOptions)' instead.")] public virtual void FindAsync (string[] text, nint options); iOS (after) public virtual PdfSelection[] Find (string text, Foundation.NSStringCompareOptions compareOptions); public virtual PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); * Bump versions for the 7th preview (#2541) * Remove additions of AVKit removed in beta5 (#2536) * NSUrlSessionTask should implement NSProgressReporting for iOS (#2548) NSUrlSessionTask implements NSProgressReporting on iOS as well as Mac, so the #if MONOMAC isn't needed. * Add missing availability attributes causing failures on older iOS versions (#2550) * [vision] Minor fix wrt xtro (#2551) including some things we need to ignore manually !missing-field! VNVisionVersionNumber not bound !missing-pinvoke! VNImagePointForFaceLandmarkPoint is not bound !missing-pinvoke! VNNormalizedFaceBoundingBoxPointForLandmarkPoint is not bound * [uikit] NSFileProviderMessaging was removed in beta 2. Fixes #58222 (#2552) reference: https://bugzilla.xamarin.com/show_bug.cgi?id=58222 * [uikit] Update for Xcode 9 - Part 5 (#2546) Bindings for the following headers: - UIActivity.h - UIActivityItemProvider.h - UIAlertController.h - UIApplication.h - UIBarButtonItem.h - UIButton.h - UICollectionViewLayout.h - UIColor.h - UIControl.h - UIDocumentMenuViewController.h - UIFontMetrics.h - UIGestureRecognizer.h - UIGraphicsImageRenderer.h - UIInputViewController.h * [CoreText] Fix an extraneous free in CTFont.GetDefaultCascadeList. (#2555) We do not own the return value from CFArrayGetValueAtIndex, so don't say we do when creating CTFontDescriptor instances, since that leads to angry dragons: 2017-08-28 20:15:20.293 monotouchtest[33186:2311738] A_FontTest 2017-08-28 20:15:20.294 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithFontDescriptorAndOptions 2017-08-28 20:15:20.295 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithNameAndOptions 2017-08-28 20:15:20.296 monotouchtest[33186:2311738] critical: Stacktrace: at <unknown> <0xffffffff> at (wrapper managed-to-native) CoreText.CTFont.CTFontCopyDefaultCascadeListForLanguages (intptr,intptr) [0x0000a] in <ae65a2b1eea242d2b68fe784749543bf>:0 at CoreText.CTFont.GetDefaultCascadeList (string[]) [0x00013] in /work/maccore/xcode9/xamarin-macios/src/CoreText/CTFont.cs:2185 at MonoTouchFixtures.CoreText.A_FontTest.GetCascadeList () [0x0001e] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/CoreText/FontTest.cs:78 at (wrapper runtime-invoke) object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) [0x0004f] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) System.Reflection.MonoMethod.InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&) [0x00016] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at System.Reflection.MonoMethod.Invoke (object,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo) [0x00032] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/corlib/System.Reflection/MonoMethod.cs:305 at System.Reflection.MethodBase.Invoke (object,object[]) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/referencesource/mscorlib/system/reflection/methodbase.cs:229 at NUnit.Framework.Internal.Reflect.InvokeMethod (System.Reflection.MethodInfo,object,object[]) [0x00009] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Reflect.cs:215 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunNonAsyncTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x00025] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:116 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x0001a] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:90 at NUnit.Framework.Internal.Commands.TestMethodCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:66 at NUnit.Framework.Internal.Commands.SetUpTearDownCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00007] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/SetUpTearDownCommand.cs:84 at NUnit.Framework.Internal.WorkItems.SimpleWorkItem.PerformWork () [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/SimpleWorkItem.cs:64 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at MonoTouch.NUnit.UI.BaseTouchRunner.Run (NUnit.Framework.Internal.Test) [0x0004d] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:442 at MonoTouch.NUnit.UI.BaseTouchRunner.Run () [0x00030] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:171 at MonoTouch.Dialog.StringElement.Selected (MonoTouch.Dialog.DialogViewController,UIKit.UITableView,Foundation.NSIndexPath) [0x00008] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/Elements.cs:765 at MonoTouch.Dialog.DialogViewController.Selected (Foundation.NSIndexPath) [0x00026] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:577 at MonoTouch.Dialog.DialogViewController/Source.RowSelected (UIKit.UITableView,Foundation.NSIndexPath) [0x00016] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:402 at (wrapper runtime-invoke) <Module>.runtime_invoke_void__this___object_object (object,intptr,intptr,intptr) [0x0005d] in <32f0c196c5bc4aa18daea2ee64a7814e>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) UIKit.UIApplication.UIApplicationMain (int,string[],intptr,intptr) [0x0005c] in <ae65a2b1eea242d2b68fe784749543bf>:0 at UIKit.UIApplication.Main (string[],intptr,intptr) [0x00005] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:79 at UIKit.UIApplication.Main (string[],string,string) [0x00038] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:63 at monotouchtest.Application.Main (string[]) [0x00011] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/Main.cs:27 at (wrapper runtime-invoke) <Module>.runtime_invoke_void_object (object,intptr,intptr,intptr) [0x00051] in <30a7f7e09de9467b8b454221034a0e38>:0 Native stacktrace: 0 monotouchtest 0x000000010fca03c4 mono_handle_native_crash + 244 1 monotouchtest 0x000000010fcadd30 mono_sigsegv_signal_handler + 288 2 libsystem_platform.dylib 0x000000011feb3b3a _sigtramp + 26 3 CoreFoundation 0x000000011de035a2 computeSanitizedString + 146 4 CoreText 0x00000001168df314 _ZN15TPurgeableCache19RetainedValueForKeyEPKv + 54 5 CoreText 0x00000001168def85 _ZNK17TDescriptorSource22CopyDescriptorUncachedEPK7__CFURLbPK10__CFString + 55 6 CoreText 0x00000001168df34f _ZNK17TDescriptorSource14CopyDescriptorEPK7__CFURLbPK10__CFString + 27 7 CoreText 0x00000001168e20ad _ZNK17TDescriptorSource35CopyFontDescriptorPerPostScriptNameEPK10__CFStringmm + 297 8 CoreText 0x00000001168dfd9e _ZNK17TDescriptorSource30CopySystemFontDescriptorByNameEPK10__CFString10UIFontFlag + 54 9 CoreText 0x00000001168e54c4 _ZNK14TFontFallbacks17CopyFontFallbacksEPK10__CFStringS2_PK9__CFArray + 652 10 CoreText 0x00000001168e4a00 _ZNK14TFontFallbacks29CopyFontFallbacksForLanguagesEPK10__CFStringPK9__CFArray + 122 11 CoreText 0x00000001168e4971 _ZN17TDescriptorSource39CopyDefaultSubstitutionListForLanguagesEPK10__CFStringPK9__CFArray + 61 12 CoreText 0x00000001169397a7 _ZNK9TBaseFont28CreateSystemDefaultFallbacksEPK10__CFStringPK9__CFArray + 51 13 CoreText 0x000000011693999c _ZNK9TBaseFont15CreateFallbacksE10UIFontFlagPPK16__CFCharacterSetPK9__CFArray + 346 14 CoreText 0x00000001168c1036 _ZNK5TFont24CreateDefaultCascadeListEPK9__CFArray + 242 15 CoreText 0x00000001168b8ff9 CTFontCopyDefaultCascadeListForLanguages + 97 16 ??? 0x0000000140eaefd3 0x0 + 5384105939 17 ??? 0x0000000140eae761 0x0 + 5384103777 18 ??? 0x000000013c9c8e74 0x0 + 5311860340 19 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 20 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 21 monotouchtest 0x000000010fd71bac mono_runtime_try_invoke_array + 1292 22 monotouchtest 0x000000010fd15587 ves_icall_InternalInvoke + 647 23 ??? 0x000000013e9fcd13 0x0 + 5345627411 24 ??? 0x000000013e9fc738 0x0 + 5345625912 25 ??? 0x000000013e9fded5 0x0 + 5345631957 26 ??? 0x000000013e9fbb76 0x0 + 5345622902 27 ??? 0x000000013e9e237e 0x0 + 5345518462 28 ??? 0x000000013e9e237e 0x0 + 5345518462 29 ??? 0x000000013e9e237e 0x0 + 5345518462 30 ??? 0x000000013e9e237e 0x0 + 5345518462 31 ??? 0x000000013e873006 0x0 + 5344014342 32 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 33 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 34 monotouchtest 0x000000010fd6e320 mono_runtime_invoke + 208 35 monotouchtest 0x000000010fe71af1 xamarin_invoke_trampoline + 5617 36 monotouchtest 0x000000010fe79ddd xamarin_arch_trampoline + 189 37 monotouchtest 0x000000010fe7b1a1 xamarin_x86_64_common_trampoline + 110 38 UIKit 0x0000000111b9876b -[UITableView _selectRowAtIndexPath:animated:scrollPosition:notifyDelegate:] + 1810 39 UIKit 0x0000000111b98986 -[UITableView _userSelectRowAtPendingSelectionIndexPath:] + 344 40 UIKit 0x0000000111a6b5c9 _runAfterCACommitDeferredBlocks + 318 41 UIKit 0x0000000111a59dad _cleanUpAfterCAFlushAndRunDeferredBlocks + 280 42 UIKit 0x0000000111a89f68 _afterCACommitHandler + 137 43 CoreFoundation 0x000000011de3ddb7 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23 44 CoreFoundation 0x000000011de3dd0e __CFRunLoopDoObservers + 430 45 CoreFoundation 0x000000011de22324 __CFRunLoopRun + 1572 46 CoreFoundation 0x000000011de21a89 CFRunLoopRunSpecific + 409 47 GraphicsServices 0x0000000121b7e9c6 GSEventRunModal + 62 48 UIKit 0x0000000111a5f7d0 UIApplicationMain + 159 49 ??? 0x000000013c9c4474 0x0 + 5311841396 50 ??? 0x000000013c9c40ad 0x0 + 5311840429 ================================================================= Got a SIGSEGV while executing native code. This usually indicates a fatal error in the mono runtime or one of the native libraries used by your application. ================================================================= * [monotouch-test] Don't subclass MKMapView. (#2556) MKMapView doesn't like being subclassed (Apple says "you should not subclass the MKMapView class itself"). Bad things like this starts happening: Thread 0 name: tid_303 Dispatch queue: com.apple.main-thread Thread 0 Crashed: 0 libsystem_kernel.dylib 0x0000000186b25348 __pthread_kill + 8 1 libsystem_pthread.dylib 0x0000000186c39354 pthread_kill$VARIANT$mp + 396 2 libsystem_c.dylib 0x0000000186a94fd8 abort + 140 3 monotouchtest 0x0000000101c02c14 mono_handle_native_crash + 22047764 (mini-exceptions.c:2548) 4 monotouchtest 0x0000000101c0d02c mono_sigsegv_signal_handler + 22089772 (mini-runtime.c:2886) 5 libsystem_platform.dylib 0x0000000186c33b60 _sigtramp + 52 6 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 7 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 8 CoreFoundation 0x0000000186eda51c -[__NSArrayM dealloc] + 68 9 CoreFoundation 0x000000018703f5c8 __CFBasicHashDrain + 312 10 CoreFoundation 0x0000000186fb5b44 _CFRelease + 224 11 CoreText 0x000000018a808404 TDescriptorSource::PurgeFontFallbacksCache+ 488452 () + 92 12 CoreText 0x000000018a808374 TDescriptorSource::PurgeFromCaches+ 488308 (__CFURL const*) const + 176 13 CoreText 0x000000018a7eec74 CTFontRemoveFromCaches + 168 14 VectorKit 0x0000000196a539b0 +[VKSharedResourcesManager removeResourceUser:] + 324 15 VectorKit 0x0000000196ca27a4 md::MapEngine::~MapEngine+ 2643876 () + 360 16 VectorKit 0x0000000196ca2634 md::MapEngine::~MapEngine+ 2643508 () + 12 17 libobjc.A.dylib 0x000000018651eef4 object_cxxDestructFromClass+ 28404 (objc_object*, objc_class*) + 148 18 libobjc.A.dylib 0x000000018652c638 objc_destructInstance + 88 19 libobjc.A.dylib 0x000000018652c690 object_dispose + 16 20 QuartzCore 0x000000018afca3ac -[CALayer dealloc] + 116 21 VectorKit 0x0000000196a43294 -[VKMapView dealloc] + 940 22 QuartzCore 0x000000018af6aafc CA::release_objects+ 744188 (X::List<void const*>*) + 32 23 QuartzCore 0x000000018afd97d8 CA::Layer::~Layer+ 1198040 () + 276 24 QuartzCore 0x000000018afca37c -[CALayer dealloc] + 68 25 QuartzCore 0x000000018af6b16c CA::Transaction::commit+ 745836 () + 1052 26 UIKit 0x0000000190393290 _afterCACommitHandler + 256 27 CoreFoundation 0x0000000186fb38b8 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 32 28 CoreFoundation 0x0000000186fb1270 __CFRunLoopDoObservers + 412 29 CoreFoundation 0x0000000186fb182c __CFRunLoopRun + 1292 30 CoreFoundation 0x0000000186ed22d8 CFRunLoopRunSpecific + 436 31 GraphicsServices 0x0000000188d58f84 GSEventRunModal + 100 32 UIKit 0x000000019040427c UIApplicationMain + 208 33 monotouchtest 0x000000010106eb90 wrapper_managed_to_native_UIKit_UIApplication_UIApplicationMain_int_string___intptr_intptr + 9907088 (/<unknown>:1) 34 monotouchtest 0x0000000100f0d6ac UIKit_UIApplication_Main_string___intptr_intptr + 8459948 (UIApplication.cs:79) 35 monotouchtest 0x0000000100f0d66c UIKit_UIApplication_Main_string___string_string + 8459884 (UIApplication.cs:63) 36 monotouchtest 0x0000000100b10450 monotouchtest_Application_Main_string__ + 4277328 (Main.cs:27) 37 monotouchtest 0x0000000100e0c244 wrapper_runtime_invoke_object_runtime_invoke_dynamic_intptr_intptr_intptr_intptr + 244 38 monotouchtest 0x0000000101c10048 mono_jit_runtime_invoke + 22102088 (mini-runtime.c:2526) 39 monotouchtest 0x0000000101c75eec do_runtime_invoke + 22519532 (object.c:2829) 40 monotouchtest 0x0000000101c78a3c do_exec_main_checked + 22530620 (object.c:4623) 41 monotouchtest 0x0000000101bf9a1c mono_jit_exec + 22010396 (driver.g.c:1040) 42 monotouchtest 0x0000000101d13d60 xamarin_main + 23166304 (monotouch-main.m:482) 43 monotouchtest 0x00000001007de710 main + 927504 (main.m:67) 44 libdyld.dylib 0x00000001869f656c start + 4 * [introspection] Let SkipDueToAttributeInProperty skip setters too (#2557) `SkipDueToAttributeInProperty` which is used to check the availability attribute of properties when the Availability info only exist on the property and not on the property Getter or Setter was wrong. This lead to `setSpringLoaded` (which was introduced in iOS 11) to not be ignored by the test (making it fail). - Fix bug #59085: [introspection-ios] selector not found for UIKit.UIBarButtonItem : setSpringLoaded: - Broken test (https://bugzilla.xamarin.com/show_bug.cgi?id=59085) * [corevideo][watchos] Enable CoreVideo on watchOS (#2553) * [storekit] Fix CampaignToken typo (#2559) (#2560) - Fixes bug #59078: StoreProductParameters and invalid property for CampaignToken (https://bugzilla.xamarin.com/show_bug.cgi?id=59078) * [coreml][watchos] Enable API using CoreVideo on watchOS. Fix #58097 (#2561) https://bugzilla.xamarin.com/show_bug.cgi?id=58097 * Add missing [MarshalDirective] attributes. (#2558) * [bindings-generator] Improve build & project file. * Add missing [MarshalDirective] attributes. Add missing [MarshalDirective] attributes, which also requires implementing support for out parameters in the binding generator, since one of the signatures missing the [MarshalDirective] contains such an out parameter. Also add tests for all the API I've added [MarshalDirective] to. * [bindings-generator] Remove redundant if check. * [monotouch-test] Rename file to end with 'Test.cs'. * [tests] Fix a few build errors for Xamarin.Mac. * [uikit] Fix UIColor and UIInputViewController tvOS availability (#2569) - Fixes introspection tests on tvOS 10. * [storekit] Fix SKCloudServiceSetupMessageIdentifier and SKProductStorePromotionController tvOS availability (#2568) - Fixes introspection tests on tvOS 10. * [mapkit] Fix MKMapItemTypeIdentifier tvOS availability (#2566) - Also remove double [Mac] availability attribute. - Fixes introspection tests on tvOS 10. * [ARKit] Fix marshalling for ARPointCloud.RawFeaturePoints. (#2565) ARPointCloud.RawFeaturePoints is an array of Vector3, but each vector is 16-byte aligned (as if it were an array of Vector4). This means we need to account for this when creating a managed array from pointer to the native C-style array. * [ModelIO] Fix MDLVoxelIndexExtent struct. (#2564) The MDLVoxelIndexExtent is a struct containing two 4-dimensional vectors of integers (not floats, as originally and incorrectly implemented). Fix this my creating a new MDLVoxelIndexExtent2 struct with the right fields, re-implement all the API that exposes this struct and obsolete the old API. Also add missing [MarshalDirective] attributes. And write a test to make sure it works fine now and forever. * [coredata] Enable new fields since rdar #33878590 is fixed w/beta 6 (#2570) reference: https://trello.com/c/dlSRYPFx * [xtro-sharpie] Add a Simd check class to verify signatures with Simd types. * [Simd] Add simd matrix types. The OpenTK matrices (Matrix2/3/4) has a different memory layout than Apple's matrix_float2x2/matrix_float3x3/matrix_float4x4 matrices: the OpenTK versions are row-major, while Apple's versions are column-major. This means that when blitting memory from one to the other, the matrix will appear to have been transposed. See bug #[58599][2] for an example. Unfortunately we've already bound several API with Apple's matrix_floatXxX matrices using OpenTK's matrices, and although they're bound wrong, and the matrices appear transposed on input/output, we can't change the behavior because we have to maintain compatibility. This means we have to introduce new API, and then also just define new matrix types with the right memory layout (column-major). Additionally, in the future we might be able to mark these matrices as Simd-matrixes, so that the JIT/AOT compiler can generate the correct alignment for them, avoiding having to define a native conversion method (using the [MarshalDirective] hack). The matrices have been designed to match API-wise the matrices in the System.Numerics.Vectors namespace [1], but for the moment with only a few basic operations implemented (Determinant/Transpose/Multiply) defined (we can always add more later if we want to). In addition explicit conversion operators to and from the corresponding OpenTK.MatrixX are implemented, which means any operation defined in the OpenTK matrices can be used by converting back and forth. [1]: https://msdn.microsoft.com/en-us/library/system.numerics.matrix4x4(v=vs.111).aspx [2]: https://bugzilla.xamarin.com/show_bug.cgi?id=58599 * [ARKit] Use the new Simd matrix types. * [Vision] Use the new Simd matrix types. * [ModelIO] Use the new Simd-compatible matrix types, and deprecate the old API. * [GameplayKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [SpriteKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [xtro] Don't report missing [MarshalDirective] for obsolete methods. * [xtro] Remove unnecessary ignores. The implementation changed, and these stayed accidentally. * [wkwebkit] Fix (native) protocol names (#2572) Also ignore xtro's WKSnapshotConfiguration since it's an Apple bug 34185961 reference (xtro) !missing-protocol! WKURLSchemeHandler not bound !missing-protocol! WKURLSchemeTask not bound !unknown-protocol! WKUrlSchemeHandler bound !unknown-protocol! WKUrlSchemeTask bound !unknown-type! WKSnapshotConfiguration bound * [uikit] Fix enums availability attributes (#2575) - Fixes bug #59132: [uikit] Extra types in watchOS (https://bugzilla.xamarin.com/show_bug.cgi?id=59132) * [watchkit] Add missing designated initializers (#2574) references (xtro) !missing-designated-initializer! WKInterfaceController::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! WKUserNotificationInterfaceController::init is missing an [DesignatedInitializer] attribute * [xtro] Reword some of the Simd diagnostic messages according to review. * [tests] Make sure test symbols don't clash between different test libraries. Fixes this build problem for framework-test: clang: error: linker command failed with exit code 1 (use -v to see invocation) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_get_rotation_matrix'. MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticObjectTest.framework/XStaticObjectTest (Location related to previous error) MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticArTest.framework/XStaticArTest(libtest-ar.x86_64.o) (Location related to previous error) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransformcomponent_get_local_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_create_global_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float4x4'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float3x3'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float2x2'. MTOUCH: error MT5209: Native linking error: 6 duplicate symbols for architecture x86_64 MTOUCH: error MT5202: Native linking failed. Please review the build log. * [tests] Since libtest.a need ModelIO now, the corresponding LinkWith attributes need to state that too. * [introspection] Don't check native signatures on obsolete members, and ignore the right simd matrix types. Fixes this introspection/Mac problem: ***** ApiSignatureTest.NativeSignatures Selector: uniformWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: uniformWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: uniformWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: setMatrixFloat2x2Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: setMatrixFloat3x3Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: setMatrixFloat4x4Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: initWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: initWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: initWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded * [monotouch-tests] Include more custom asserts for watchOS to make the build work. Fixes this: Simd/MatrixFloat4x4Test.cs(28,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(29,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(37,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(48,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' [...] * [monotouch-test] Exclude code that requires the binding project from xammac tests. Exclude code that requires the test binding project from xammac tests because there's currently no XM version of the test binding project. Fixes this: tests/monotouch-test/SpriteKit/UniformTest.cs(20,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLMaterialProperty.cs(37,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLTransform.cs(34,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) * Bump version for preview #8 (#2576) * [spritekit] Audit fixes (xtro) (#2577) 1. SKVideoNode is now, partially, available on watchOS and does not require the extra, manual code to swicth selectors depending on the OS version being run. !missing-type! SKVideoNode not bound !missing-selector! SKVideoNode::anchorPoint not bound !missing-selector! SKVideoNode::initWithCoder: not bound !missing-selector! SKVideoNode::initWithFileNamed: not bound !missing-selector! SKVideoNode::initWithURL: not bound !missing-selector! SKVideoNode::setAnchorPoint: not bound !missing-selector! SKVideoNode::setSize: not bound !missing-selector! SKVideoNode::size not bound !missing-selector! +SKVideoNode::videoNodeWithFileNamed: not bound !missing-selector! +SKVideoNode::videoNodeWithURL: not bound 2. SKNodeFocusBehavior is exposed needlessly on watchOS because SpriteKit/Enums.cs was not processed by the generator, so [NoWatch] did not matter. !unknown-native-enum! SKNodeFocusBehavior bound It's also visible on macOS but nothing uses it (so we do not expose it needlessly) !missing-enum! SKNodeFocusBehavior not bound 3. Add missing designated initializer on default `init` !missing-designated-initializer! SKAttributeValue::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! SKNode::init is missing an [DesignatedInitializer] attribute 4. Remove inconsistency for SKNode subclasses wrt XAMCORE_4_0 The trio attributeValues, setAttributeValues and setValue:forAttributeNamed: that was moved from SKNode (deprecated) into its subclasses. This was done using XAMCORE_4_0 but not on every subclasses. This adds them everywhere to be consistent (only SKNode versions are not defined in XAMCORE_4_0) !missing-selector! SKEffectNode::attributeValues not bound !missing-selector! SKEffectNode::setAttributeValues: not bound !missing-selector! SKEffectNode::setValue:forAttributeNamed: not bound !missing-selector! SKEffectNode::valueForAttributeNamed: not bound !missing-selector! SKEmitterNode::attributeValues not bound !missing-selector! SKEmitterNode::setAttributeValues: not bound !missing-selector! SKEmitterNode::setValue:forAttributeNamed: not bound !missing-selector! SKEmitterNode::valueForAttributeNamed: not bound !missing-selector! SKSpriteNode::attributeValues not bound !missing-selector! SKSpriteNode::setAttributeValues: not bound !missing-selector! SKSpriteNode::setValue:forAttributeNamed: not bound !missing-selector! SKSpriteNode::valueForAttributeNamed: not bound * [introspection] Make sure '[FAIL]' is printed before every failure. (#2578) This makes xharness able to list the failures in the inline summary. * [xtro] Reword some of the Simd diagnostic messages according to review. * [xharness] Add a missing IsServerMode check to generate correct html. (#2581) * [SpriteKit] SKTransformNode is new in Xcode 9 so no need to keep the broken (and obsolete) non-simd version of RotationMatrix. * [intents] Fix some (partial) xtro issues and #59156 (#2585) reference https://bugzilla.xamarin.com/show_bug.cgi?id=59156 Remaining issues are filled in https://bugzilla.xamarin.com/show_bug.cgi?id=59183 !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound * [Intents] Confirm* interface methods should be bound as Confirm, Fixes Bug 59164 (#2591) * [Intents] Confirm* interface methods should probably be bound as Confirm, Fixes Bug 59164 https://bugzilla.xamarin.com/show_bug.cgi?id=59164 All Confirm* methods from *IntentHandling interfaces should be named just `Confirm` to avoid confusion because most of them do not directly confirm as an acion, but instead they **ask** for confirmation also we would follow swift's naming by doing this. * [Intents] XAMCORE_4_0 all Confirm* methods from *IntentHandling Turns any Confirm* into just Confirm inside a XAMCORE_4_0 block, * [Intents] Fix breaking changes in Intents added in Xcode 9 Bindings (#2590) Apple added more protocol conformances to INRidesharingDomainHandling and INPaymentsDomainHandling protocols in Xcode 9, I introduced these breaking changes back when I did intents binding so fixing them :) * [Metal] New bindings from Xcode 9 betas (#2457) * [AVFoundation] Updated bindings for xcode9. (#2272) * [Xcode9] Add IOSurface bindings (#2363) * This framework was a private framework before iOS 11. This framework was a private framework before iOS 11, yet the headers claim many API were introduced in iOS 10. So take account of this difference by using the private framework location in iOS 10.3 or earlier. Testing these API from Xcode works fine when run on an iOS 10.3 device, and I've confirmed the IOSurface framework is loaded from the private frameworks path on older devices (and when built using Xcode 9 and linked with the public framework path). * Disable code to make IOSurface work on iOS 10. Disable the code to make IOSurface work on iOS 10, since it may be rejected by the App Store. This also means adjusting the availability attributes, so that the introspection tests pass (and to document that technically these API won't work when used with Xamarin.iOS in iOS 10). I've filed bug #[59201][1] to keep track of this, maybe we can re-enable this later. [1]: https://bugzilla.xamarin.com/show_bug.cgi?id=59201 * [CoreMedia] Fix leak in CMAttachmentBearer.GetAttachments. (#2593) The caller owns the return value from CMCopyDictionaryOfAttachments, so tell Runtime.GetNSObject that. * [Intents] Adds missing API found by xtro, fixes Bug 59183 (#2596) https://bugzilla.xamarin.com/show_bug.cgi?id=59183 Fixes !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !incorrect-protocol-member! INUIHostedViewControlling::configureWithInteraction:context:completion: is OPTIONAL and should NOT be abstract * [xtro] Fix StartWorkingDirectory to enable debugging (#2598) * [iosurface] Enable for tvOS and XM classic (to avoid multiple defines around consumer API) (#2597) * [xtro] Fix EnumCheck (#2600) * [ARKit] Rename a few method to make them nicer. (#2604) * DisplayTransform -> GetDisplayTransform since methods should have verbs. * SessionWasInterrupted -> WasInterrupted and SessionInterruptionEnded -> InterruptionEnded since these names match better with the other names (CameraDidChangeTrackingState / DidFail / DidOutputAudioSampleBuffer: none are prefixed with 'Session'). Additionally, the type is a Model (for the delegate pattern), which means all methods are more-or-less event-like, and the first argument is always the same (the protocol itself), which is another indicator the methods should be named similarly. * [Foundation] Remove 'Key' suffix from some fields. (#2606) Of the 168 fields in NSMetadataItem, only these 5 hadn't removed the 'Key' suffix. So make them all equivalent by removing the 'Key' suffix from these 5 fields. * [ImageIO] Fix API to not duplicate the instance in instance methods. (#2609) An instance method does not need to take the instance as a parameter, so remove the first (instance) parameter for CGImageDestination.AddAuxiliaryDataInfo and CGImageSource.CopyAuxiliaryDataInfo. An alternative solution would be to make the methods static, but I like the instance API better. * [UIKit] De-model UIDataSourceTranslating. (#2603) It's not clear from neither the documentation nor the headers how this protocol is supposed to be used, and since it doesn't correspond to the delegate pattern, remove the [Model] attribute for now. We can always add it back later. * [CoreML] Improve API. (#2592) * [CoreML] Improve API. * The indices, shape and stride properties for MLMultiArray and MLMultiArrayConstraint can logically only be arrays of integers, so type them as such. This means adding overloads for MLMultiArray's constructors, GetObject and SetObject methods, and the indexers that takes nint[] arrays instead of NSNumber[] arrays. * Change MLFeatureValue's static factory methods to be a method ('Create') instead of a preposition, and call all the different factory methods the same, since they can be overloaded nicely. * [tests][monotouch-test] Add version check to MLMultiArrayTest and make sure the arrays we create are big enough for the data we put in them. * [tests][monotouch-test] MLMultiArray's elements aren't zero-initialized, so don't assume that in the tests. * Support overloading Objective-C methods based on static/instance. (#2607) Two Objective-C methods can be named identically as long as one is static and the other instance. We must support this since Apple did just this (in the NSItemProviderReading / NSItemProviderWriting protocols). We solve it by prepending a '+' or '-' to the selector when hashing it (to determine selector uniqueness, and to look the method up again at runtime). * [uikit] Update for Xcode 9 - Part 6 (#2602) NSAttributedString.h NSFileProviderExtension.h NSLayoutAnchor.h UIAccessibility.h UIAccessibilityAdditions.h UIAccessibilityContainer.h UIAccessibilityContentSizeCategoryImageAdjusting.h UIAccessibilityCustomRotor.h UIAccessibilityLocationDescriptor.h UITabBar.h UINavigationBar.h UIScreen.h * Xcode9 scenekit (#2512) * [SceneKit] basic work * Added key * [xcode9] SCNCameraController * [xcode9] SCNCamera updates * [xcode9] SCNMaterial * [xcode9] SCNGeometryTessellator, SCNCameraControlConfiguration, SCNView, small bits * Add trailing commas to last enum value * Remove whitespace noise * [scenekit] Update deprecated attributes messages * Addresses some of Rolf's feedback * Drop the WeakDelegate in SCNCameraController * Rename method to Render, remove ctor from class that can not be constructed in Palygrounds, add typo exception * [AppKit] Rename NSBezierPath.AppendBezierPathWithCGGlyph to match its sibling methods. (#2605) NSBezierPath contains a lot of 'AppendPathWithXXX' methods, that all map to 'appendBezierPathXXX' selectors. So rename AppendBezierPathWithCGGlyph accordingly, to make it more similar to the other methods in the same type. * [uikit] Add all UISpringLoadedInteractionSupporting (#2616) Types do not conform to the protocol but protocol methods work on those types (see monotouch-test). Fixed introspection tests accordingly and tested the selectors in monotouch-test. * [Intents] Add convenience ctor overload and call correct base ctor in manual ctor. (#2613) Add a convenience constructor overload in INGetUserCurrentRestaurantReservationBookingsIntent that uses nint instead of NSNumber, since logically "number of results" will always be some sort of integer. Also call the correct base constructor in INSpeakableString's custom constructor (same as any other generated constructor). Otherwise we end up doing something like this: [[[INSpeakableString alloc] init] initWith ...], i.e. calling two different init methods. * [coreimage] Add new headers API up to beta 6 (#2601) Filters are not complete (ref: #57350) https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * Some new constants are not yet documented (type is known), so they are commented / ignored https://bugzilla.xamarin.com/show_bug.cgi?id=59296 * Filled bug for [Wrap] inside [Category] so strong dictionary helpers can be re-enabled later https://bugzilla.xamarin.com/show_bug.cgi?id=59294 * [foundation] xtro fixes for watchOS (#2586) !missing-enum! NSProcessInfoThermalState not bound !missing-field! NSProcessInfoThermalStateDidChangeNotification not bound !missing-selector! NSProcessInfo::thermalState not bound Headers are wrong and preferredPresentationStyle is not in tvOS and watchOS !missing-selector! NSItemProvider::preferredPresentationStyle not bound !missing-selector! NSItemProvider::setPreferredPresentationStyle: not bound * [uikit] Also remove UIPreferredPresentationStyle enum from platform where it's not used * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. (#2614) * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. * NSItemProviderWriting: * NSItemProviderReading: Implement correctly and completely by uncommenting commented out code. * NSMutableString: * NSAttributedString: remove inlined members, since these classes don't implement NSItemProviderReading / NSItemProviderWriting (according to the headers at least). * NSUrl: all platforms now seem to implement NSItemProviderReading / NSItemProviderWriting. * NSString: all platforms now seem to implement both NSItemProviderReading and NSItemProviderWriting * UIColor: * UIImage: Update inlined protocol members according to the latest beta. Additionally, due to the following conditions: * The protocols all have the correct members now. * In the API definition we tell the generator to inline members from a protocol by inheriting from the corresponding interface. * The generator doesn't inline static members from protocols. several 'new' keywords had to be added to silence a compiler warning that occurrs when we manually inline a static member, since the member would be included in the type both from the inherited interface and the manual implementation. * [Foundation] Comment out NSItemProviderWriting.GetItemProviderVisibility to avoid inlining/generating unusable methods. NSItemProviderWriting.GetItemProviderVisibility is an optional method, and none of the native classes that implements NSItemProviderWriting actually imlements the method. This means inlining the method in those classes ends up creating unusable API; so just comment out the method to avoid generating the unusable API. The introspection tests found this: [FAIL] Foundation.NSString : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Foundation.NSUrl : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Contacts.CNContact : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] MapKit.MKMapItem : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIColor : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIImage : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] iOSApiSelectorTest.ApiSelectorTest.StaticMethods : 6 errors found in 2348 static selector validated: See also https://bugzilla.xamarin.com/show_bug.cgi?id=59308 * [iosurface] Add missing [TV] attributes (#2619) * [opengles] Enable the new API using IOSurface (#2618) The symbol only exists inside device libraries, not on simulator, and the introspection tests were updated to ignore it. Part of https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [avfoundation][watchos] Enable AudioBufferList (fix #59145) + audit (xtro) (#2617) 1. AudioBufferList is part of CoreAudio (wrong namespace, which needs a few changes in the generator) and now available in watchOS 4 https://bugzilla.xamarin.com/show_bug.cgi?id=59145 2. Also fixes xtro found issues: !missing-type! AVAudioRecorder not bound !missing-selector! AVAudioRecorder::averagePowerForChannel: not bound !missing-selector! AVAudioRecorder::channelAssignments not bound !missing-selector! AVAudioRecorder::currentTime not bound !missing-selector! AVAudioRecorder::delegate not bound !missing-selector! AVAudioRecorder::deviceCurrentTime not bound !missing-selector! AVAudioRecorder::format not bound !missing-selector! AVAudioRecorder::initWithURL:format:error: not bound !missing-selector! AVAudioRecorder::initWithURL:settings:error: not bound !missing-selector! AVAudioRecorder::isMeteringEnabled not bound !missing-selector! AVAudioRecorder::isRecording not bound !missing-selector! AVAudioRecorder::peakPowerForChannel: not bound !missing-selector! AVAudioRecorder::recordAtTime: not bound !missing-selector! AVAudioRecorder::recordAtTime:forDuration: not bound !missing-selector! AVAudioRecorder::recordForDuration: not bound !missing-selector! AVAudioRecorder::setChannelAssignments: not bound !missing-selector! AVAudioRecorder::setDelegate: not bound !missing-selector! AVAudioRecorder::setMeteringEnabled: not bound !missing-selector! AVAudioRecorder::settings not bound !missing-selector! AVAudioRecorder::url not bound !missing-protocol! AVAudioRecorderDelegate not bound !missing-selector! AVAudioEngine::inputNode not bound !missing-selector! AVAudioEngine::manualRenderingBlock not bound !missing-selector! AVAudioInputNode::setManualRenderingInputPCMFormat:inputBlock: not bound !missing-selector! AVAudioPlayer::format not bound !missing-selector! AVAudioSession::requestRecordPermission: not bound !unknown-field! AVFileType3GPP bound !unknown-field! AVFileType3GPP2 bound !unknown-field! AVFileTypeAC3 bound !unknown-field! AVFileTypeAIFC bound !unknown-field! AVFileTypeAIFF bound !unknown-field! AVFileTypeAMR bound !unknown-field! AVFileTypeAVCI bound !unknown-field! AVFileTypeAppleM4A bound !unknown-field! AVFileTypeAppleM4V bound !unknown-field! AVFileTypeCoreAudioFormat bound !unknown-field! AVFileTypeDNG bound !unknown-field! AVFileTypeEnhancedAC3 bound !unknown-field! AVFileTypeHEIC bound !unknown-field! AVFileTypeHEIF bound !unknown-field! AVFileTypeJPEG bound !unknown-field! AVFileTypeMPEG4 bound !unknown-field! AVFileTypeMPEGLayer3 bound !unknown-field! AVFileTypeQuickTimeMovie bound !unknown-field! AVFileTypeSunAU bound !unknown-field! AVFileTypeTIFF bound !unknown-field! AVFileTypeWAVE bound * [Metal] Implement API using IOSurface now that IOSurface is implemented. Partially fixes #58054. (#2621) https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [PdfKit] Improve PdfAnnotation.QuadrilateralPoints binding by making it strongly typed. (#2620) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). (#2622) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). * [ARKit/Vision] Use the new simd vector types instead of the OpenTK versions. * [ModelIO] Use the new simd vectors in new API (MDLVoxelIndexExtent2). This way we won't have to create a MDLVoxelIndexExtent3 in the future. * [SpriteKit] Use the new simd vectors in new API. * [metal] Audit (xtro) based fixes (#2623) !extra-protocol-member! unexpected selector MTLArgumentEncoder::newArgumentEncoderForBufferAtIndex: found !extra-protocol-member! unexpected selector MTLComputeCommandEncoder::dispatchThreads:threadsPerThreadgroup: found macos-only !missing-field! MTLDeviceRemovalRequestedNotification not bound !missing-field! MTLDeviceWasAddedNotification not bound !missing-field! MTLDeviceWasRemovedNotification not bound !missing-pinvoke! MTLCopyAllDevices is not bound * [CloudKit] Update bindings to beta 6. (#2615) * [FileProvider] Turn NSFileProviderItemIdentifier enum into a static class, fixes bug 59329 (#2634) https://bugzilla.xamarin.com/show_bug.cgi?id=59329 At the time of binding NSFileProviderItemIdentifier it wasn't clear how it was supposed to be used, I mean apple provides two keys which I thought were the only possible values hence binding it as an smart enum. Unfortunately this wasn't the case and the user can use those two values provided from the SDK or their own NSString Identifier. Swift provides a wrapper unfortunately we can't do the same due to NSFileProviderItemIdentifier is used in the NSFileProviderItem protocol and we currently do not support changing signatures on them. * [mtouch] Teach mtouch about the 'IOSurface' framework for tvOS. Fixes #59333. (#2630) https://bugzilla.xamarin.com/show_bug.cgi?id=59333 * Bump Touch.Unit to get fix for API breakage. (#2631) spouliot/Touch.Unit@8f1e19d [NUnitOutputTextWriter] Reintroduce previous constructor to make sure we don't break binary ABI. spouliot/Touch.Unit@00b0c0b [NUnitOutputTextWriter] Don't write invalid xml comments. spouliot/Touch.Unit@de9fe20 [TouchRunner] Restore the original code path when not wrapping NUnit xml output. * [IOSurface] Add missing availability attributes for tvOS. (#2629) * Bump versions for preview 9 (#2624) * [AVFoundation] Add missing interface AVRouteDetector. (#2637) * [tests] Update xtro to reduce list sizes (#2636) * Skip OpenTK duplicate declaration (we can't change them); * Fix rule name change for ARKit / simd; * Add missing default initializer on `init` to pending actions; * Add note for AVPersistableContentKeyRequest changes wrt tvOS; * [ReplayKit] Make RPBroadcastActivityViewController.LoadBroadcastActivityViewController async-capable. (#2639) * [xcode9] More SceneKit bindings (#2633) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 (#2644) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 https://bugzilla.xamarin.com/show_bug.cgi?id=59380 vector_float3 is 16 bytes, which means the binding is incorrect, because Vector3 is 12 bytes, and our code does not that difference into account. * Add tests * [DeviceCheck] Disable default ctor for DCDevice. (#2642) It doesn't seem to be useful according to the documentation, since it appears that the only way to get an instance is to use the static CurrentDevice property. * [audiounit] Audit (xtro) fixes for tvOS (#2635) Availability attributes in non-generated files don't hide symbols/code. reference: !unknown-pinvoke! AudioUnitExtensionCopyComponentList bound !unknown-pinvoke! AudioUnitExtensionSetComponentList bound * [tests] Make sure tvOS tests don't use the (unexisting) API * [tests] Add all test project variations to tests-mac.sln (#2579) * [xharness] Make sure generated mac projects have different project guids. * [introspection] Change the project guid so that it doesn't match the dontlink-mac project guid. * [tests] Add all test project variations to tests-mac.sln. * [xharness] Fix else condition. * [FileProvider] Adds missing NSFileProviderPage constants, fixes bug 59297. (#2646) https://bugzilla.xamarin.com/show_bug.cgi?id=59297 Adds NSFileProviderInitialPageSortedByName and NSFileProviderInitialPageSortedByDate NSData constants * [Xcode9] Remove NSFileProviderMessage and NSFileProviderMessageInterface (#2647) APIs were removed in beta 2 * [Foundation/UIKit] Provide LoadObject[s] methods that return the expected type in the callback. Fixes #59049. (#2638) The callback for these LoadObject[s] methods take an INSItemProviderReading parameter. This tells our runtime that we must provide an instance of a managed object that implements this interface (but nothing else), so we create a `NSItemProviderReadingWrapper` instance, which complies with the API (since the wrapper type implements the corresponding interface). Unfortunately these methods are supposed to return an instance of the passed- in type, so in order to comply with this soft (documentation-only) requirement, provide a wrapper method that creates instances of the right types. https://bugzilla.xamarin.com/show_bug.cgi?id=59049 * [arkit] Ignore deprecated selectors (#2645) * [FileProvider] Adds missing protocol and keys from audit (#2652) ``` !missing-protocol! NSFileProviderServiceSource not bound !missing-field! NSFileProviderErrorCollidingItemKey not bound !missing-field! NSFileProviderErrorNonExistentItemIdentifierKey not bound !missing-field! NSFileProviderFavoriteRankUnranked not bound ``` Also adds `NSXpcListenerEndpoint` to foundation, needed by `NSFileProviderServiceSource` protocol. * [tests][xtro] Workaround xtro runner dupe entry exception and update data files (#2654) * [AVFoundation] Rename field to match others. (#2657) * [homekit] Audit (xtro) fixes (#2653) - HMCharacteristicEvent conforms to NSMutableCopying on iOS11 which makes it 64 bits only (so adjust intro tests) - Ignore extra setters on HMMutablePresenceEvent, rdar 33883958 !missing-selector! HMMutablePresenceEvent::setPresenceEventType: not bound !missing-selector! HMMutablePresenceEvent::setPresenceUserType: not bound * [xtro] Add missing pinvoke to pending (#2662) - Bug 59422: [uikit] Missing UIContentSizeCategoryCompareToCategory & UIContentSizeCategoryIsAccessibilityCategory (https://bugzilla.xamarin.com/show_bug.cgi?id=59422) * Merge latest d15-3 fixes into xcode9 (#2660) * [msbuild] Re-added wildcard (*) expandsion for application-identifier in Entitlements.plist (#2186) Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=57119 * Bump mono (#2213) * Framework tests were still binding non-linked Simple class which errors now (#2216) (#2218) - Improve Makefile to rebuild when projects build with errors * Bump mono to get cecil fix for bug #56808. (#2222) https://bugzilla.xamarin.com/show_bug.cgi?id=56808 * [msbuild] Use @(ReferencePath) instead of @(ResolvedFiles) (#2188) (#2214) This allows things to work on both xbuild and msbuild. In xbuild, both lists are exactly the same and on msbuild, only @(ReferencePath) exists. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=55147 * NSActivityOptions.IdleDisplaySleepDisabled had wrong value (#2232) (#2239) This was due to an integer overflow. The original value was based on Int32 1 << 40 == 256 The correct value should be based on a UInt64. 1UL << 40 == 1099511627776 * [tests] Fix bug 57699 - [iOS]InternalsTest failure (Linkall) tests on device (#2243) Strip native debugging symbols should not be checked for debug builds * Bump mono to get fix for bug #57780. https://bugzilla.xamarin.com/show_bug.cgi?id=57780 * Update .gitmodules Change branch to d15-3 branch of mono * Bump maccore to get fix for bug #55064. https://bugzilla.xamarin.com/show_bug.cgi?id=55064 * [mono] Bump mono to get the head of cecil/mono-2017-04 and fix IsComObject #57919 Also fix #58789 [1], the typo in tools/mtouch/Tuning.cs showing in MT0000 errors instead MT2102. That's already in master and d15-4 mono bump includes: [2] commit 2a6502cee0df9de5198eafe7c8b5f6ac25106f34 (HEAD -> d15-3, origin/d15-3) Merge: 02457c20fcf 5e05cafc6f1 Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 10:04:06 2017 -0400 Merge pull request #5401 from marek-safar/com [Marshal.IsComObject] Make this predicate return false instead of thr… [3] commit 02457c20fcf57c0610e844d638eb1da82b5d1eb0 Merge: da80840ea55 73fd9a1b82e Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 09:59:06 2017 -0400 Merge pull request #5400 from spouliot/bump-cecil-58834-d15-3 [cecil] Bump to the head of the mono-2017-04 branch and pick the fix for bug #58834 References [1] https://bugzilla.xamarin.com/show_bug.cgi?id=58789 [2] https://bugzilla.xamarin.com/show_bug.cgi?id=57919 [3] https://bugzilla.xamarin.com/show_bug.cgi?id=58834 * [mtouch] Put 'mono_profiler_startup_log' in the symbol list. Fixes #58778. (#2501) We need the 'mono_profiler_startup_log' symbol when profiling is enabled, so make sure to add the symbol to the correct list of symbols we need. Previously we were passing `-u _mono_profiler_startup_log` to clang directly, which is fine, but not complete, since it does not write the symbol to the symbollist file (--symbollist=file), which means it wouldn't be preserved when the MSBuild tasks strip the executable. https://bugzilla.xamarin.com/show_bug.cgi?id=58778 * Bump versions for SR3 https://trello.com/c/EVze08ei * Bump mono to include HttpClientHandler fix #44027 https://trello.com/c/jYFXadH8/8-systemnethttp-close-request-stream-when-httpclienthandler https://bugzilla.xamarin.com/show_bug.cgi?id=44027 * [FileProvider] Add missing API and turn NSString to string (#2663) Turned NSString to string in order to match exisiting API. * [uikit] Add UIPasteConfigurationSupporting and UITextPasteConfigurationSupporting (#2649) - Fixes bug #59363: Missing UIPasteConfigurationSupporting, UITextPasteConfigurationSupporting, UITextDraggable and UITextDroppable on a couple of types (https://bugzilla.xamarin.com/show_bug.cgi?id=59363) * [uikit] Remove 129 types in UIPasteConfigurationSupporting case * [scenekit] Audit (xtro) fixes (#2648) This looks like an Apple breaking change (since `SCNAnimation` is new) but we now have: > typedef void (^SCNAnimationEventBlock)(id<SCNAnimation> animation, id animatedObject, BOOL playingBackward); bound as > delegate void SCNAnimationEventHandler (CAAnimation animation, NSObject animatedObject, bool playingBackward); and `CAAnimation` conforms to `SCNAnimation` but *only* the later is available on watchOS. The delegate is only updated (since it's new) on our watchOS profile. xtro references: (watchos) !unknown-protocol! SCNCameraControlConfiguration bound (tvos/watchos) !missing-selector! SCNAnimation::animationEvents not bound !missing-selector! SCNAnimation::setAnimationEvents: not bound !missing-selector! SCNConstraint::isEnabled not bound !missing-selector! SCNConstraint::setEnabled: not bound !missing-field! SCNSceneSourceConvertToYUpKey not bound !missing-field! SCNSceneSourceConvertUnitsToMetersKey not bound (ios/tvos) !missing-protocol-conformance! SCNNode should conform to UIFocusItem * Bump maccore post 15.3 merge (#2665) * Bump Xcode 9 to GM (#2667) * Force build (on wrench) * [avfoundation] Fix breaking changes (apidiff) (#2664) * [TVServices] Update to Xcode 9 GM (#2675) * [GameController] Update to Xcode 9 GM (#2673) * [LocalAuthentication] Update to Xcode 9 GM (#2671) * [LocalAuthentication] Update to Xcode 9 GM * Remove availability from BiometryNotAvailable, BiometryNotEnrolled and BiometryLockout * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer (#2659) * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer Some of the new added types were already present BUT under a #if MONOMAC, they had to be moved. * [AVFoundation] Set the wrongly added API to be obsolete and ensure it returns logical values. (#2650) * [xtro] The right platform for macOS is 'macos', not 'osx'. (#2677) The platform name is used to filter availability attributes, and if we use the wrong platform, we'll incorrectly skip all availability attributes. The net result in unclassified entries: https://gist.github.com/rolfbjarne/a4474bc2a40c49a85cad495b51bb514f * Various Xcode 9 API improvements and also fixes bug 59433 (#2676) https://bugzilla.xamarin.com/show_bug.cgi?id=59433 While fixing bug 59433 I noticed some additional issues outlined below: AVDepthData: * Renamed **non** static `Create` methods because `Create` only makes sense with the **Static** method in this context. Also by renaming the methods we are now closer to the names that swift uses. * Kept descriptive method names in favor of self-documenting code. `Convert`, `Apply` and `Replace` do not fully give us the intent of the method. * Added a convenience `Create` static method that takes a `CGImageAuxiliaryDataInfo`. * AvailableDepthDataTypes is now an array of `CVPixelFormatType` instead of a `NSNumber` array (The aactual fix for bug 59433). ImageIO: * Refactored `CGImageAuxiliaryDataInfo` to be a `StrongDictionary` in order to avoid most of the manual code and also to avoid reimplementing the `ToDictionary` method (which contained a subtle bug). * Adjusted code to reflect the above change. * Added missing `.ctor (IntPtr, bool)` to `CGImageMetadata` so the class is able to be created by our `Runtime.Get*`. * Simplified `CopyAuxiliaryDataInfo` method by using `CGImageAuxiliaryDataInfo` as a `DictionaryContainer`. Tests: * Added `xamarinmonkey.heic` which is an image that contains depth data needed to test above changes. * Adds `AVDepthDataTests` that touches most of the changes listed here. * Tweak the Simd-compatible matrices and vectors (#2668) * Rename them to be OpenTK.NMatrix# (instead of Simd.MatrixFloat#x#). * Remove the Vector2 and Vector4 variants, we'll use the OpenTK types instead (but we'll keep the NVector3 variant, since it's not identical to the OpenTK version). * Update the API to match their OpenTK counterparts better: * NMatrix2 and NMatrix3 have a 0-based R#C# scheme for their fields. * NMatrix4 has a 1-based M## scheme for its fields (i.e. no change). * [AVFoundation] Use Simd-matrix for API that needs it. (#2679) This also requires implementing the corresponding matrix (NMatrix4x3). Fixes this xtro issue: > !unknown-simd-type-in-signature! OpenTK.Matrix3 AVFoundation.AVCameraCalibrationData::get_GetIntrinsicMatrix(): the native signature has a simd type (matrix_float3x3), while the corresponding managed method is using an incorrect (non-simd) type. * [xtro] Fix checking availability on categories. (#2682) When checking for category availability, check if both the current declaration is a category, and if the current's declaration container is a category. Otherwise this scenario fails: * Category method is available. * Category does not have availability attributes. * Main class is unavailable. with this typical code sequence: ```csharp // don't process methods (or types) that are unavailable for the current platform if (!decl.IsAvailable () || !(decl.DeclContext as Decl).IsAvailable ()) return; ``` In which case we'd: * First check the method (`decl`): * It's available, so no further checks is done on the method. * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container's container is a category (it isn't, it's the namespace). and as such determine that the method is available. With this change, the second step will become: * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container is a category (it is), and if its main class is available (it isn't). and as such determine that the method is unavailable. * Check for attributes on the method's container (no attributes, so we continue). * Check if the method's Unclassified diff: https://gist.github.com/rolfbjarne/8fa80962596978a426eadf9b7ba39dc1 * [uikit] Update for Xcode 9 GM (#2670) * [AVFoundation] Implement AVCapturePhoto. Partially fixes #59388. (#2678) Fixes: > common.unclassified:!missing-type! AVCapturePhoto not bound https://bugzilla.xamarin.com/show_bug.cgi?id=59388 * Use strong dictionaries for AVCapturePhoto.Metadata and AVCapturePhoto.EmbeddedThumbnailPhotoFormat. * [SIMD] Implement Simd double types (VectorDouble3/MatrixDouble4x4). (#2632) The following types will be used by ModelIO bindings * Fix delta to be double * Rename Simd-compatible matrices and vectors to match our final naming. This also means removing the new Vector2 and Vector4 variants (but not Vector3). * [avfoundation] Remove AVAssetDownloadDelegate.DidLoadTimeRange since it was removed in one of the betas (#2687) * [foundation] Move NSUrlSessionMultipathServiceType to a file processed by the generator (for the availability attributes) (#2688) * [arkit] Update for Xcode 9 GM (#2681) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes (#2690) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes Type Changed: Intents.INCarSeatResolutionResult Removed methods: public static INCarSeatResolutionResult GetConfirmationRequired (INCarSeat valueToConfirm); public static INCarSeatResolutionResult GetSuccess (INCarSeat resolvedValue); * [avfoundation] Add missing protocol members and deprecations (#2691) !missing-protocol-member! AVCapturePhotoCaptureDelegate::captureOutput:didFinishProcessingPhoto:error: not found and the selector removed from PR#2687 was actually replaced with this one !missing-protocol-member! AVAssetDownloadDelegate::URLSession:aggregateAssetDownloadTask:didLoadTimeRange:totalTimeRangesLoaded:timeRangeExpectedToLoad:forMediaSelection: not found * [tests][xtro] Map some enums, more fix with protocols and update entries (#2692) * [Tests] Reenable dns tests on the watch. (#2674) * [arkit] Add ARBlendShapeLocationOptions strong dictionary (#2696) * [coreimage] Skip not yet bound filters added in Xcode9 (#2698) Tracked in https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * [Metal] Renamed MTLArgumentDescriptor.ArgumentDescriptor to Create, fixes bug 59498 (#2702) https://bugzilla.xamarin.com/show_bug.cgi?id=59498 From [argumentDescriptor docs](https://developer.apple.com/documentation/metal/mtlargumentdescriptor/2915746-argumentdescriptor?language=objc) > Creates an empty argument descriptor. * [msbuild] Always codesign app bundles if the codesign key is non-null (#2697) ...even if it is a simulator build. Turns out that starting with Xcode9, sim builds need to be codesigned for App Groups entitlements to work properly. Interestingly, the DetectSigningIdentity logic had a comment about needing to codesign simulator builds for some entitlements to work already starting with Xcode 8 but apparently the iOS targets did not respect this. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=59379 * [Foundation] Add NSProxy stub in order to workaround bug 59247 (#2693) https://bugzilla.xamarin.com/show_bug.cgi?id=59247 We need to have a better solution that removes all what NSProxy does not responds to. Right now this works because NSObject implements NSObject protocol just like NSProxy, but NSProxy responds to far less selectors hence doing it internal so it is not a breaking change when we provide the correct fix. * Keep NSProxy around and avoid XML linker description We need to keep NSProxy (avoid linking it) if WKNavigationDelegate or IWKNavigationDelegate is used. We know WKWebView will be there and can hold a reference to it. * [Xcode 9] Update Metal for GM (#2689) * [iosurface] IOSurface is not usable before iOS/tvOS 11. Fixes #59201 (#2706) Apple rejects apps that links with the previously private IOSurface.framework. We were not sure about this [1] and had it disabled (this is removed). However another bug stopped our adjustment logic [2] from being executed. This is needed since `clang` picks up the private framework if it does not find the public one (even when asking for a weak framework), [1] https://bugzilla.xamarin.com/show_bug.cgi?id=59201 [2] Added a while ago for JavascriptCore * Bump maccore to point to commit with the docs fix. (#2703) * Bump XI to 11.0.x (and XM to 3.99.9.x) (#2684) * fix typo
2017-09-16 00:53:16 +03:00
[Field ("SCNHitTestOptionSearchMode")]
NSString OptionSearchModeKey { get; }
2016-04-21 15:30:02 +03:00
}
[Watch (3,0)]
2016-04-21 15:30:02 +03:00
[Mac (10,8), iOS (8,0)]
[BaseType (typeof (NSObject))]
// quote: The SCNHitTestResult class is exposed as the return object from the hitTest:options: method, as an array of SCNHitTestResult objects.
[DisableDefaultCtor] // crash when calling description
interface SCNHitTestResult {
[Export ("geometryIndex")]
nint GeometryIndex { get; }
[Export ("faceIndex")]
nint FaceIndex { get; }
[Export ("localCoordinates")]
SCNVector3 LocalCoordinates { get; }
[Export ("worldCoordinates")]
SCNVector3 WorldCoordinates { get; }
[Export ("localNormal")]
SCNVector3 LocalNormal { get; }
[Export ("worldNormal")]
SCNVector3 WorldNormal { get; }
[Export ("modelTransform")]
SCNMatrix4 ModelTransform { get; }
[TV (10, 0), Mac (10, 12), iOS (10, 0)]
[Export ("boneNode")]
SCNNode BoneNode { get; }
2016-04-21 15:30:02 +03:00
[Export ("node")]
SCNNode Node { get; }
[Export ("textureCoordinatesWithMappingChannel:")]
CGPoint GetTextureCoordinatesWithMappingChannel (nint channel);
}
#if MONOMAC
[Mac (10,8), iOS (8,0)]
[BaseType (typeof (CAOpenGLLayer))]
interface SCNLayer : SCNSceneRenderer, SCNTechniqueSupport {
// We already pull in the Scene property from the SCNSceneRenderer protocol, no need to redefine it here.
// [Export ("scene", ArgumentSemantic.Retain)]
// SCNScene Scene { get; set; }
}
#endif
[Watch (3,0)]
2016-04-21 15:30:02 +03:00
[Mac (10,8), iOS (8,0)]
[BaseType (typeof (NSObject))]
interface SCNLight : SCNAnimatable, SCNTechniqueSupport, NSCopying, NSSecureCoding {
[Export ("type", ArgumentSemantic.Copy)]
NSString LightType { get; set; }
[Export ("color", ArgumentSemantic.Retain)]
NSObject WeakColor { get; set; }
[Wrap ("WeakColor")]
NSColor Color { get; set; }
[TV (10, 0), Mac (10, 12), iOS (10, 0)]
[Export ("temperature")]
nfloat Temperature { get; set; }
[TV (10, 0), Mac (10, 12), iOS (10, 0)]
[Export ("intensity")]
nfloat Intensity { get; set; }
2016-04-21 15:30:02 +03:00
[NullAllowed] // by default this property is null
[Export ("name", ArgumentSemantic.Copy)]
string Name { get; set; }
[Export ("castsShadow")]
bool CastsShadow { get; set; }
[Export ("shadowColor", ArgumentSemantic.Retain)]
NSObject WeakShadowColor { get; set; }
[Wrap ("WeakShadowColor")]
NSColor ShadowColor { get; set; }
[Mac (10,10)]
[Export ("shadowBias")]
nfloat ShadowBias { get; set; }
[Export ("shadowRadius")]
nfloat ShadowRadius { get; set; }
[Static, Export ("light")]
SCNLight Create ();
#if XAMCORE_3_0
[Availability (Unavailable = Platform.iOS_Version)]
#elif !MONOMAC
Merge xcode9 into d15-4[-xi] (#2710) * [FileProvider] Add Xcode 9 Beta 1, 2 & 3 Bindings (#2279) * [FileProvider] Add Xcode 9 Beta 1 Bindings * Better naming * Feedback not related to BindAs * [FileProvider] Removes BindAs, add manual code for it and updated to Beta 3 * [FileProvider] Implement feedback * [CoreSpotlight] Updated spotlight bindings for xcode 9 beta 3. (#2193) Updated spotlight bindings for xcode 9 beta 3. * Fix warning caused by duplicate (#2354) * [FileProviderUI] Add Xcode 9 Beta 1 to 3 bindings (#2356) * Bump to Xcode 9 beta 4 * [arkit] ARLightEstimate does not conform to NSCopying anymore (fix unit test) * [uikit] NSFileProviderExtension.ReparentItem got a new parameter in beta4 (fix unit test) * [coreimage] CIImageAccumulator init returns nil in beta 4 There's no header change to mention `init` is not allowed but it's not clear how this default initializer could be used. Also make public some other API to construct this type (outside of XM). It's not clear why there were `internal` as they are (at least now) part of the header files. * [photos] Add helpers when PHLivePhotoEditingOption/NSDictionary is null (to avoid ambiguous API) (#2360) Adding a strongly typed `PHLivePhotoEditingOption` (a strongly typed version of an `NSDictionary`) can cause a `CS0121` (call is ambiguous) since using a `null` argument is common (only one option exist so far). This PR adds overloads that makes the code nicer in such case, e.g. before Xcode9: > // null is used when no options are given > _foo.SaveLivePhoto (output, null, completion); current (Xcode 9) > // casting required to remove ambiguity with PHLivePhotoEditingOption > _foo.SaveLivePhoto (output, (NSDictionary)null, completion); with this PR > // no option, no argument > _foo.SaveLivePhoto (output, completion); The same applies to `PrepareLivePhotoForPlayback`. * [tests] Disable/tweak two tests that breaks on (almost) all Xcode updates Those tests were not added to validate xOS so just keep the parts that helps us (without constantly checking back the new break flavor) * Disable watchOS to check if this hides others issues * [mapkit] Update for beta 4 * [coredata] Update for beta 4 * [wkwebkit] Update for beta 4 Note: WKWindowFeatures.h is not compiled (part of the framework umbrella) and the `@interface WKWindowFeatures (WKPrivate)` sounds like it should not have been exposed (it's all fields starting with `_`) * [corelocation] Update for beta 4 * Revert "Disable watchOS to check if this hides others issues" This reverts commit fed2249fa43290a1956ab2fe0d48f83ab6db9711. * [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]: https://github.com/xamarin/xamarin-macios/blob/f5956d6cc1eb5dfa7bab16628cf282d40237f64e/src/generator.cs#L5985 * [FinderSync] Update to beta 4 (#2377) * [ImageIO] Update to Xcode 9 (#2353) * [PhotosUI] Move macOS photosui bindings out of photos.cs into photosui.cs (#2358) * [quicklook] Update up to beta 4 (#2374) * [uikit] UIDragInteraction & UIDragInteractionDelegate (Xcode 9 b1,2,3) (#2357) * [safariservices] Update up to beta 4 (#2380) * [coreanimation] Update to beta 4 (#2382) Apple removed (mistake?) some API in beta 1. Filed as rdar 33590997 Internal tracking in https://trello.com/c/J8BDDUV9/86-33590997-coreanimation-quartzcore-api-removals * [storekit] Update up to beta 4 (#2379) * [CoreML] Update to Xcode 9 Beta 4 (#2387) * [uikit] UICollectionView/UITableView Drag & Drop (Xcode 9 b1,2,3 & 4) (#2355) * Update code after radar 32929318 and 32897776 are fixed in b4 (#2394) * [xcode9 CoreAudio] New definitions from Beta1 to Beta3 (#2359) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 (#2397) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 https://bugzilla.xamarin.com/show_bug.cgi?id=58512 Created strong API (VNBarcodeSymbology) on the following properties * VNDetectBarcodesRequest.SupportedSymbologies * VNDetectBarcodesRequest.Symbologies * VNBarcodeObservation.Symbology * Remove modern C# because classic can't do it 😡 * [mediaplayer] Update up to beta 4 (#2388) * [watchkit] Update to beta 4 (#2398) * Bump Visual Studio for Mac max version (#2408) * [coreimage] Add CIBarcodeDescriptor and enabled missing API for VNBarcodeObservation. Fix #58197 (#2411) https://bugzilla.xamarin.com/show_bug.cgi?id=58197 * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 (#2407) * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 * [uikit] Fixes based on comments * [coreimage] CIImageAccumulator API fixes. Fix #58349 (#2412) * Obsolete the default `init`; * XM exposed some older APIs using `int` instead of `CIFormat`. This is fixed and old APIs are obsoleted; * Both new & old APIs are now using `CIFormat` for both XI and XM. https://bugzilla.xamarin.com/show_bug.cgi?id=58349 * [uikit] UIText drag & drop - up to Xcode 9 beta 4 (#2410) * [uikit] UISplitView & UIStackView up to Xcode 9 beta 4 (#2425) * Bump XI/XM versions before preview 4 (#2422) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 (#2378) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 * [PDFKit] Implement feedback * [PDFKit] the forgotten enum * [PDFKit] More feedback * [PDFKit] Add Mac changes * Missing change * Fix test RectangleF VS CGRect * Pass -Wunguarded-availability-new to quiet a new clang warning (#2424) - https://bugzilla.xamarin.com/show_bug.cgi?id=58574 * [mtouch/mmp] Ignore warnings about unguarded code section with regards to availability. (#2441) * [monotouch-test] Remove workaround for fixed Apple bug. (#2445) * Bump to Xcode 9 beta 5. (#2447) * Bump to Xcode 9 beta 5. * [mmp] Disable the partial static registrar, because Apple's macOS SDK is broken. > In file included from Xamarin.Mac.registrar.mobile.i386.m:1: > In file included from ./Xamarin.Mac.registrar.mobile.i386.h:11: > /Applications/Xcode9-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVFoundation.h:88:9: fatal error: 'AVFoundation/AVRouteDetector.h' file not found https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [mmp] Fix partial static registrar removal. * [CallKit] Update to Xcode 9 beta 5. * [ARKit] ARPointCloud doesn't conform to NSCopying anymore in Xcode 9 beta 5. * [ARKit] Update to Xcode 9 beta 5 enough to make tests happy. * [CoreImage] Stub out new filters in Xcode 9 beta 5. * [tests][monotouch] Simplify some MDLMesh asserts since values change a lot between OS versions. * [mmp] Default to the dynamic registrar for release builds again, due to bug #58629. https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [tests][introspection] CXCall started implementing NSCopying without saying so in the headers. * Disable mmp static registrar tests due to 58629 for now * [quicklook] Update to beta 5 (#2450) * [photos] Update for beta 5 (#2452) Also update some existing enum members were added in beta 1 on macOS * [safariservices] Update for beta 5 (#2455) * [mediaplayer] Update to beta 5 (#2456) * [CoreLocation] Update Xcode 9 Beta 5 (#2453) * [CoreML] Update to Xcode 9 Beta 5 (#2454) * [Contacts] Update to Xcode 9 Beta 5 (#2451) * [Vision] Update to Xcode 9 Beta 5 (#2458) * [builds] Tell LLVM to stay away from newer macOS functions. (#2459) Fixes this build problem on Sierra: > ld: weak import of symbol '_futimens' not supported because of option: -no_weak_imports for architecture x86_64 This is a symbol that was (will be?) introduced in High Sierra. Interestingly this only occurs if the Xcode 8.X Command Line Tools haven't been manually installed. Because if the Xcode 8.X Command Line Tools are installed, this happens: 1. llvm's configure script detects that 'futimens' is not usable. 2. llvm's configure script detects that 'futimens' is not usable, because xcrun sets SDKROOT=/ when calling clang. a. When the SDKROOT variable is set, clang passes '-syslibroot /usr/lib' to ld. b. When ld gets '-syslibroot /usr/lib', ld looks in '/usr/lib' for a library that contains 'futimens' in the OS itself, and since we're on Sierra, that fails to link. c. So when llvm's configure script creates a test program that checks if 'futimens' is present, the program fails. This is correct, and makes llvm *not* use futimens. 3. xcrun sets SDKROOT=/ because /usr/share/current-os.sdk/Info.plist exists. If that file does not exist, then xcrun sets SDKROOT to Xcode9's macOS SDK (because that's what xcode-select reports). a. When SDKROOT is set to Xcode9's macOS SDK, the configure check for 'futimens' succeeds, because the macOS 10.13 SDK contains that function. b. llvm happily uses 'futimens', and then the final link fails because we're using a symbol not available on all target platforms. * [arkit] Update for Xcode 9 beta 5 - Part 1 (#2460) * [tests] The container app for watchOS tests should be 64-bit. (#2463) * [xharness] watchOS tests need to run in a clean environment. Works around #58348. (#2462) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [xharness] It watchOS tests don't need to be clean anymore. Fixes #58348. (#2473) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [uikit] UIView/UIScrollView/UIViewController up to Xcode 9 beta 5 (#2431) - Add NSDirectionalEdgeInsets type. - Includes DirectionalEdgeInsetsTest. * [AudioToolbox] Update bindings to Xcode 9 beta3 (not later changes). (#2294) * [xharness] Add a file existence check. (#2478) Fixes this exception: ``` Harness exception for 'introspection': System.IO.FileNotFoundException: Could not find file '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log'. File name: '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log' at System.IO.__Error.WinIOError (System.Int32 errorCode, System.String maybeFullPath) [0x00207] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/__error.cs:188 at System.IO.FileInfo.get_Length () [0x00038] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/fileinfo.cs:171 at xharness.CaptureLog.StopCapture () [0x00021] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Log.cs:252 at (wrapper remoting-invoke-with-check) xharness.CaptureLog:StopCapture () at xharness.AppRunner+<RunAsync>d__68.MoveNext () [0x0127f] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/AppRunner.cs:642 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter`1[TResult].GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:357 at xharness.RunSimulatorTask+<RunTestAsync>d__7.MoveNext () [0x0029d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2894 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.RunTestTask+<ExecuteAsync>d__8.MoveNext () [0x0010b] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2538 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.TestTask+<RunInternalAsync>d__87.MoveNext () [0x0010d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:1870 ``` I'm not sure how this can happen, but it has on the bots [1]. [1] https://jenkins.mono-project.com/job/xamarin-macios-pr-builder/4548/Test_Report/ * Bump versions for preview 5 (#2479) * [passkit] Update to beta 5 (#2481) * [tests] Remove workaround for radar #32688391. (#2486) * [replaykit] Update up to beta 5 (#2484) * Bump maccore to get fix for bug #55064. (#2487) * [apidiff] Update definition to new 10.12 (d15-3) stable release (#2490) * [SceneKit] basic work (#2483) * [coredata] Update to beta 5 (#2488) * [homekit] Update for Xcode 9 beta 5 (#2492) * [Foundation] Update for xcode9 (#2468) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 (#2493) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 * [Intents] Implement feedback * [Intents] Add a generic version for INInteraction.GetParameterValue * [Intents] Missing check * [Contacts] Add missing foundation NSItemProviderWriting protocol to CNContact (#2496) https://bugzilla.xamarin.com/show_bug.cgi?id=58203 This is available on all Contacts supported platforms ``` ./iPhoneOS.platform/Developer/SDKs/iPhoneOS11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchOS.platform/Developer/SDKs/WatchOS4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchSimulator.platform/Developer/SDKs/WatchSimulator4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ``` * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) (#2497) * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) * [IntentsUI] Better use a delegate instead so we have named params * Bump versions before 6th preview (#2514) * [arkit] Add missing MarshalDirective to ARPlaneAnchor (#2517) - Fixes bug #58648: ARPlaneAnchor.Extent property seems incorrect but changes to correct value after Debug access (https://bugzilla.xamarin.com/show_bug.cgi?id=58648) * [xtro-sharpie] Fix a compiler warning. (#2516) Fixes these warnings: Runner.cs(197,5): warning CS0642: Possible mistaken empty statement Runner.cs(199,5): warning CS0642: Possible mistaken empty statement Runner.cs(201,5): warning CS0642: Possible mistaken empty statement Runner.cs(203,5): warning CS0642: Possible mistaken empty statement Runner.cs(205,5): warning CS0642: Possible mistaken empty statement * [uikit] Update for Xcode 9 beta 5 - Part 3 (#2511) - UIKeyCommand - UINavigationBar - UINavigationItem - UIPasteboard - UITableViewHeaderFooterView * [xtro-sharpie] Remove xtro-plugin and misc other fixes. (#2522) * [xtro-sharpie] Build with msbuild and be as quiet as requested when building. * [xtro-sharpie] Must run as a 64-bit process, since the required native libraries are 64-bit. * [xtro-sharpie] Add run configurations to the project file to ease debugging in the IDE. * [xtro-sharpie] Remove xtro-plugin and the related commands. This was needed when there wasn't a 64-bit mono, in order to run xtro-sharpie in a 64-bit process. Now there is a 64-bit mono, so it's not needed anymore. Also improve makefile targets a bit, to auto-build stuff when needed, by setting the right dependencies. * Bump Xcode 9 to beta 6 (#2519) Disable watchOS tests again It seems like the Carousel crash from beta 4 is back to haunt us. This was working fine with beta 5. * Backport d15-3 SR2 fixes (#2515) * [coredata] Update to beta 6 (#2528) This seems to only revert some nullability changes from beta 5. * [coreml] Update to beta 6 (#2531) Fix our rdar 33643011 where additional setters were added in the headers but did not exists. * [videosubscriberaccount] Update to beta 6 (#2533) Only b1 and b2 introduced some additions/changes * [uikit] Update for Xcode 9 beta 6 - Part 4 (#2527) The following headers are now up to date: - UICollectionViewFlowLayout.h - UIDocumentPickerViewController.h - UIFontDescriptor.h - UIImage.h - UIImageView.h - UIImagePickerController.h * [xharness] Re-enable the watchOS tests. (#2534) It works fine for me locally, so let's see what Jenkins says. * [macos] Add new APIs in CoreWlan from Xcode9b3 (#2525) * Update AppKit bindings based on radar 33271241 results (#2518) * Update AppKit bindings based on radar 33271241 results - The header comment was updated to note it was NSSliderTouchBarItem view that has the protocol * Remove NSUserInterfaceCompression where not listed in header * [vision] Update to beta 6 (#2532) Removal of some deprecated (during beta) `init*` selectors. Also sync the versions that were inlined in subclasses - the old ones were not removed and the new ones were not added. * [xtro-sharpie] Many methods don't have selectors in Clang's API, so default to the name if no selector. (#2523) This makes a few more unclassified entries show up (mostly missing designated initializers): https://gist.github.com/rolfbjarne/07aa20f9b50b75bf3e69ac6a825e873a * [macos] Add ExternalAccessory APIs from xcode9 (#2526) * [58851] Disable NSMenuView in AllItemsWithNSMenuShouldAllowNull (#2504) * [arkit] Update for Xcode 9 beta 5 - Part 2 (#2505) - Add last missing selector. - Add tests for manual code. * [monotouch-test] Disable FontDescriptorTest.WithFeature (#2537) Disabled because it looks like the tvOS font we use: "Gujarati Sangam MN" does not have rare ligatures anymore (and the entire test is based on it). Before getting an actual fix for that, let's disable the test so it doesn't break all current builds. See: https://bugzilla.xamarin.com/show_bug.cgi?id=58929 * [xtro-sharpie] Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute. (#2524) Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute to calculate the native name for a TypeDefinition. Unclassified changes: https://gist.github.com/rolfbjarne/828f8ee41eebb0a3b60a38d71822fe59 * [foundation/uikit] Inline NSItemProvider_UIKitAdditions in NSItemProvider (#2538) As suggested here: https://github.com/xamarin/xamarin-macios/pull/2527#discussion_r134670981 * [intents] Fix breaking changes (api-diff) (#2543) Additions of @required members inside `INSpeakable` cannot be `[Abstract]` * [contacts] Fix breaking change (api-diff) (#2542) Type Changed: Contacts.CNPostalAddress Removed method: public static string LocalizeProperty (CNPostalAddressKeyOption option); * [macos] Reenable static registrar since Xcode9b6 un-broke SDK headers (#2544) - Fix a subtle spacing issues in PartialStaticLibrary property * [corebluetooth] Update up to beta 6 and enable it on watchOS (#2540) macOS 10.13 has finally catch up with iOS and this simplifies the bindings a bit. * [foundation] API fixes (apidiff) (#2545) 1. Let's not add new, already [Obsolete] API Type Changed: Foundation.NSDimension Added constructors: [Obsolete ("Not intended to be directly instantiated, this is an abstract class.")] public NSDimension (); 2. Fix inconsistently named API, e.g. Type Changed: Foundation.NSAttributedString Added properties: public static string[] ReadableTypeIdentifiersForItemProvider { get; } public static string[] WritableTypeIdentifiers { get; } * [pdfkit] Do not add already [Obsolete] API in new profiles (#2547) and ensure using the newer, correct API works cross-platforms iOS (before) [Obsolete ("Use 'Find (string, NSStringCompareOptions)' instead.")] public virtual PdfSelection[] Find (string text, nint options); public PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'Find (string, PdfSelection, NSStringCompareOptions)' instead.")] public virtual PdfSelection Find (string text, PdfSelection selection, nint options); public void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string, NSStringCompareOptions)' instead.")] public virtual void FindAsync (string text, nint options); public void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string [], NSStringCompareOptions)' instead.")] public virtual void FindAsync (string[] text, nint options); iOS (after) public virtual PdfSelection[] Find (string text, Foundation.NSStringCompareOptions compareOptions); public virtual PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); * Bump versions for the 7th preview (#2541) * Remove additions of AVKit removed in beta5 (#2536) * NSUrlSessionTask should implement NSProgressReporting for iOS (#2548) NSUrlSessionTask implements NSProgressReporting on iOS as well as Mac, so the #if MONOMAC isn't needed. * Add missing availability attributes causing failures on older iOS versions (#2550) * [vision] Minor fix wrt xtro (#2551) including some things we need to ignore manually !missing-field! VNVisionVersionNumber not bound !missing-pinvoke! VNImagePointForFaceLandmarkPoint is not bound !missing-pinvoke! VNNormalizedFaceBoundingBoxPointForLandmarkPoint is not bound * [uikit] NSFileProviderMessaging was removed in beta 2. Fixes #58222 (#2552) reference: https://bugzilla.xamarin.com/show_bug.cgi?id=58222 * [uikit] Update for Xcode 9 - Part 5 (#2546) Bindings for the following headers: - UIActivity.h - UIActivityItemProvider.h - UIAlertController.h - UIApplication.h - UIBarButtonItem.h - UIButton.h - UICollectionViewLayout.h - UIColor.h - UIControl.h - UIDocumentMenuViewController.h - UIFontMetrics.h - UIGestureRecognizer.h - UIGraphicsImageRenderer.h - UIInputViewController.h * [CoreText] Fix an extraneous free in CTFont.GetDefaultCascadeList. (#2555) We do not own the return value from CFArrayGetValueAtIndex, so don't say we do when creating CTFontDescriptor instances, since that leads to angry dragons: 2017-08-28 20:15:20.293 monotouchtest[33186:2311738] A_FontTest 2017-08-28 20:15:20.294 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithFontDescriptorAndOptions 2017-08-28 20:15:20.295 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithNameAndOptions 2017-08-28 20:15:20.296 monotouchtest[33186:2311738] critical: Stacktrace: at <unknown> <0xffffffff> at (wrapper managed-to-native) CoreText.CTFont.CTFontCopyDefaultCascadeListForLanguages (intptr,intptr) [0x0000a] in <ae65a2b1eea242d2b68fe784749543bf>:0 at CoreText.CTFont.GetDefaultCascadeList (string[]) [0x00013] in /work/maccore/xcode9/xamarin-macios/src/CoreText/CTFont.cs:2185 at MonoTouchFixtures.CoreText.A_FontTest.GetCascadeList () [0x0001e] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/CoreText/FontTest.cs:78 at (wrapper runtime-invoke) object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) [0x0004f] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) System.Reflection.MonoMethod.InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&) [0x00016] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at System.Reflection.MonoMethod.Invoke (object,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo) [0x00032] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/corlib/System.Reflection/MonoMethod.cs:305 at System.Reflection.MethodBase.Invoke (object,object[]) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/referencesource/mscorlib/system/reflection/methodbase.cs:229 at NUnit.Framework.Internal.Reflect.InvokeMethod (System.Reflection.MethodInfo,object,object[]) [0x00009] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Reflect.cs:215 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunNonAsyncTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x00025] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:116 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x0001a] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:90 at NUnit.Framework.Internal.Commands.TestMethodCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:66 at NUnit.Framework.Internal.Commands.SetUpTearDownCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00007] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/SetUpTearDownCommand.cs:84 at NUnit.Framework.Internal.WorkItems.SimpleWorkItem.PerformWork () [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/SimpleWorkItem.cs:64 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at MonoTouch.NUnit.UI.BaseTouchRunner.Run (NUnit.Framework.Internal.Test) [0x0004d] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:442 at MonoTouch.NUnit.UI.BaseTouchRunner.Run () [0x00030] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:171 at MonoTouch.Dialog.StringElement.Selected (MonoTouch.Dialog.DialogViewController,UIKit.UITableView,Foundation.NSIndexPath) [0x00008] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/Elements.cs:765 at MonoTouch.Dialog.DialogViewController.Selected (Foundation.NSIndexPath) [0x00026] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:577 at MonoTouch.Dialog.DialogViewController/Source.RowSelected (UIKit.UITableView,Foundation.NSIndexPath) [0x00016] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:402 at (wrapper runtime-invoke) <Module>.runtime_invoke_void__this___object_object (object,intptr,intptr,intptr) [0x0005d] in <32f0c196c5bc4aa18daea2ee64a7814e>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) UIKit.UIApplication.UIApplicationMain (int,string[],intptr,intptr) [0x0005c] in <ae65a2b1eea242d2b68fe784749543bf>:0 at UIKit.UIApplication.Main (string[],intptr,intptr) [0x00005] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:79 at UIKit.UIApplication.Main (string[],string,string) [0x00038] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:63 at monotouchtest.Application.Main (string[]) [0x00011] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/Main.cs:27 at (wrapper runtime-invoke) <Module>.runtime_invoke_void_object (object,intptr,intptr,intptr) [0x00051] in <30a7f7e09de9467b8b454221034a0e38>:0 Native stacktrace: 0 monotouchtest 0x000000010fca03c4 mono_handle_native_crash + 244 1 monotouchtest 0x000000010fcadd30 mono_sigsegv_signal_handler + 288 2 libsystem_platform.dylib 0x000000011feb3b3a _sigtramp + 26 3 CoreFoundation 0x000000011de035a2 computeSanitizedString + 146 4 CoreText 0x00000001168df314 _ZN15TPurgeableCache19RetainedValueForKeyEPKv + 54 5 CoreText 0x00000001168def85 _ZNK17TDescriptorSource22CopyDescriptorUncachedEPK7__CFURLbPK10__CFString + 55 6 CoreText 0x00000001168df34f _ZNK17TDescriptorSource14CopyDescriptorEPK7__CFURLbPK10__CFString + 27 7 CoreText 0x00000001168e20ad _ZNK17TDescriptorSource35CopyFontDescriptorPerPostScriptNameEPK10__CFStringmm + 297 8 CoreText 0x00000001168dfd9e _ZNK17TDescriptorSource30CopySystemFontDescriptorByNameEPK10__CFString10UIFontFlag + 54 9 CoreText 0x00000001168e54c4 _ZNK14TFontFallbacks17CopyFontFallbacksEPK10__CFStringS2_PK9__CFArray + 652 10 CoreText 0x00000001168e4a00 _ZNK14TFontFallbacks29CopyFontFallbacksForLanguagesEPK10__CFStringPK9__CFArray + 122 11 CoreText 0x00000001168e4971 _ZN17TDescriptorSource39CopyDefaultSubstitutionListForLanguagesEPK10__CFStringPK9__CFArray + 61 12 CoreText 0x00000001169397a7 _ZNK9TBaseFont28CreateSystemDefaultFallbacksEPK10__CFStringPK9__CFArray + 51 13 CoreText 0x000000011693999c _ZNK9TBaseFont15CreateFallbacksE10UIFontFlagPPK16__CFCharacterSetPK9__CFArray + 346 14 CoreText 0x00000001168c1036 _ZNK5TFont24CreateDefaultCascadeListEPK9__CFArray + 242 15 CoreText 0x00000001168b8ff9 CTFontCopyDefaultCascadeListForLanguages + 97 16 ??? 0x0000000140eaefd3 0x0 + 5384105939 17 ??? 0x0000000140eae761 0x0 + 5384103777 18 ??? 0x000000013c9c8e74 0x0 + 5311860340 19 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 20 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 21 monotouchtest 0x000000010fd71bac mono_runtime_try_invoke_array + 1292 22 monotouchtest 0x000000010fd15587 ves_icall_InternalInvoke + 647 23 ??? 0x000000013e9fcd13 0x0 + 5345627411 24 ??? 0x000000013e9fc738 0x0 + 5345625912 25 ??? 0x000000013e9fded5 0x0 + 5345631957 26 ??? 0x000000013e9fbb76 0x0 + 5345622902 27 ??? 0x000000013e9e237e 0x0 + 5345518462 28 ??? 0x000000013e9e237e 0x0 + 5345518462 29 ??? 0x000000013e9e237e 0x0 + 5345518462 30 ??? 0x000000013e9e237e 0x0 + 5345518462 31 ??? 0x000000013e873006 0x0 + 5344014342 32 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 33 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 34 monotouchtest 0x000000010fd6e320 mono_runtime_invoke + 208 35 monotouchtest 0x000000010fe71af1 xamarin_invoke_trampoline + 5617 36 monotouchtest 0x000000010fe79ddd xamarin_arch_trampoline + 189 37 monotouchtest 0x000000010fe7b1a1 xamarin_x86_64_common_trampoline + 110 38 UIKit 0x0000000111b9876b -[UITableView _selectRowAtIndexPath:animated:scrollPosition:notifyDelegate:] + 1810 39 UIKit 0x0000000111b98986 -[UITableView _userSelectRowAtPendingSelectionIndexPath:] + 344 40 UIKit 0x0000000111a6b5c9 _runAfterCACommitDeferredBlocks + 318 41 UIKit 0x0000000111a59dad _cleanUpAfterCAFlushAndRunDeferredBlocks + 280 42 UIKit 0x0000000111a89f68 _afterCACommitHandler + 137 43 CoreFoundation 0x000000011de3ddb7 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23 44 CoreFoundation 0x000000011de3dd0e __CFRunLoopDoObservers + 430 45 CoreFoundation 0x000000011de22324 __CFRunLoopRun + 1572 46 CoreFoundation 0x000000011de21a89 CFRunLoopRunSpecific + 409 47 GraphicsServices 0x0000000121b7e9c6 GSEventRunModal + 62 48 UIKit 0x0000000111a5f7d0 UIApplicationMain + 159 49 ??? 0x000000013c9c4474 0x0 + 5311841396 50 ??? 0x000000013c9c40ad 0x0 + 5311840429 ================================================================= Got a SIGSEGV while executing native code. This usually indicates a fatal error in the mono runtime or one of the native libraries used by your application. ================================================================= * [monotouch-test] Don't subclass MKMapView. (#2556) MKMapView doesn't like being subclassed (Apple says "you should not subclass the MKMapView class itself"). Bad things like this starts happening: Thread 0 name: tid_303 Dispatch queue: com.apple.main-thread Thread 0 Crashed: 0 libsystem_kernel.dylib 0x0000000186b25348 __pthread_kill + 8 1 libsystem_pthread.dylib 0x0000000186c39354 pthread_kill$VARIANT$mp + 396 2 libsystem_c.dylib 0x0000000186a94fd8 abort + 140 3 monotouchtest 0x0000000101c02c14 mono_handle_native_crash + 22047764 (mini-exceptions.c:2548) 4 monotouchtest 0x0000000101c0d02c mono_sigsegv_signal_handler + 22089772 (mini-runtime.c:2886) 5 libsystem_platform.dylib 0x0000000186c33b60 _sigtramp + 52 6 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 7 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 8 CoreFoundation 0x0000000186eda51c -[__NSArrayM dealloc] + 68 9 CoreFoundation 0x000000018703f5c8 __CFBasicHashDrain + 312 10 CoreFoundation 0x0000000186fb5b44 _CFRelease + 224 11 CoreText 0x000000018a808404 TDescriptorSource::PurgeFontFallbacksCache+ 488452 () + 92 12 CoreText 0x000000018a808374 TDescriptorSource::PurgeFromCaches+ 488308 (__CFURL const*) const + 176 13 CoreText 0x000000018a7eec74 CTFontRemoveFromCaches + 168 14 VectorKit 0x0000000196a539b0 +[VKSharedResourcesManager removeResourceUser:] + 324 15 VectorKit 0x0000000196ca27a4 md::MapEngine::~MapEngine+ 2643876 () + 360 16 VectorKit 0x0000000196ca2634 md::MapEngine::~MapEngine+ 2643508 () + 12 17 libobjc.A.dylib 0x000000018651eef4 object_cxxDestructFromClass+ 28404 (objc_object*, objc_class*) + 148 18 libobjc.A.dylib 0x000000018652c638 objc_destructInstance + 88 19 libobjc.A.dylib 0x000000018652c690 object_dispose + 16 20 QuartzCore 0x000000018afca3ac -[CALayer dealloc] + 116 21 VectorKit 0x0000000196a43294 -[VKMapView dealloc] + 940 22 QuartzCore 0x000000018af6aafc CA::release_objects+ 744188 (X::List<void const*>*) + 32 23 QuartzCore 0x000000018afd97d8 CA::Layer::~Layer+ 1198040 () + 276 24 QuartzCore 0x000000018afca37c -[CALayer dealloc] + 68 25 QuartzCore 0x000000018af6b16c CA::Transaction::commit+ 745836 () + 1052 26 UIKit 0x0000000190393290 _afterCACommitHandler + 256 27 CoreFoundation 0x0000000186fb38b8 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 32 28 CoreFoundation 0x0000000186fb1270 __CFRunLoopDoObservers + 412 29 CoreFoundation 0x0000000186fb182c __CFRunLoopRun + 1292 30 CoreFoundation 0x0000000186ed22d8 CFRunLoopRunSpecific + 436 31 GraphicsServices 0x0000000188d58f84 GSEventRunModal + 100 32 UIKit 0x000000019040427c UIApplicationMain + 208 33 monotouchtest 0x000000010106eb90 wrapper_managed_to_native_UIKit_UIApplication_UIApplicationMain_int_string___intptr_intptr + 9907088 (/<unknown>:1) 34 monotouchtest 0x0000000100f0d6ac UIKit_UIApplication_Main_string___intptr_intptr + 8459948 (UIApplication.cs:79) 35 monotouchtest 0x0000000100f0d66c UIKit_UIApplication_Main_string___string_string + 8459884 (UIApplication.cs:63) 36 monotouchtest 0x0000000100b10450 monotouchtest_Application_Main_string__ + 4277328 (Main.cs:27) 37 monotouchtest 0x0000000100e0c244 wrapper_runtime_invoke_object_runtime_invoke_dynamic_intptr_intptr_intptr_intptr + 244 38 monotouchtest 0x0000000101c10048 mono_jit_runtime_invoke + 22102088 (mini-runtime.c:2526) 39 monotouchtest 0x0000000101c75eec do_runtime_invoke + 22519532 (object.c:2829) 40 monotouchtest 0x0000000101c78a3c do_exec_main_checked + 22530620 (object.c:4623) 41 monotouchtest 0x0000000101bf9a1c mono_jit_exec + 22010396 (driver.g.c:1040) 42 monotouchtest 0x0000000101d13d60 xamarin_main + 23166304 (monotouch-main.m:482) 43 monotouchtest 0x00000001007de710 main + 927504 (main.m:67) 44 libdyld.dylib 0x00000001869f656c start + 4 * [introspection] Let SkipDueToAttributeInProperty skip setters too (#2557) `SkipDueToAttributeInProperty` which is used to check the availability attribute of properties when the Availability info only exist on the property and not on the property Getter or Setter was wrong. This lead to `setSpringLoaded` (which was introduced in iOS 11) to not be ignored by the test (making it fail). - Fix bug #59085: [introspection-ios] selector not found for UIKit.UIBarButtonItem : setSpringLoaded: - Broken test (https://bugzilla.xamarin.com/show_bug.cgi?id=59085) * [corevideo][watchos] Enable CoreVideo on watchOS (#2553) * [storekit] Fix CampaignToken typo (#2559) (#2560) - Fixes bug #59078: StoreProductParameters and invalid property for CampaignToken (https://bugzilla.xamarin.com/show_bug.cgi?id=59078) * [coreml][watchos] Enable API using CoreVideo on watchOS. Fix #58097 (#2561) https://bugzilla.xamarin.com/show_bug.cgi?id=58097 * Add missing [MarshalDirective] attributes. (#2558) * [bindings-generator] Improve build & project file. * Add missing [MarshalDirective] attributes. Add missing [MarshalDirective] attributes, which also requires implementing support for out parameters in the binding generator, since one of the signatures missing the [MarshalDirective] contains such an out parameter. Also add tests for all the API I've added [MarshalDirective] to. * [bindings-generator] Remove redundant if check. * [monotouch-test] Rename file to end with 'Test.cs'. * [tests] Fix a few build errors for Xamarin.Mac. * [uikit] Fix UIColor and UIInputViewController tvOS availability (#2569) - Fixes introspection tests on tvOS 10. * [storekit] Fix SKCloudServiceSetupMessageIdentifier and SKProductStorePromotionController tvOS availability (#2568) - Fixes introspection tests on tvOS 10. * [mapkit] Fix MKMapItemTypeIdentifier tvOS availability (#2566) - Also remove double [Mac] availability attribute. - Fixes introspection tests on tvOS 10. * [ARKit] Fix marshalling for ARPointCloud.RawFeaturePoints. (#2565) ARPointCloud.RawFeaturePoints is an array of Vector3, but each vector is 16-byte aligned (as if it were an array of Vector4). This means we need to account for this when creating a managed array from pointer to the native C-style array. * [ModelIO] Fix MDLVoxelIndexExtent struct. (#2564) The MDLVoxelIndexExtent is a struct containing two 4-dimensional vectors of integers (not floats, as originally and incorrectly implemented). Fix this my creating a new MDLVoxelIndexExtent2 struct with the right fields, re-implement all the API that exposes this struct and obsolete the old API. Also add missing [MarshalDirective] attributes. And write a test to make sure it works fine now and forever. * [coredata] Enable new fields since rdar #33878590 is fixed w/beta 6 (#2570) reference: https://trello.com/c/dlSRYPFx * [xtro-sharpie] Add a Simd check class to verify signatures with Simd types. * [Simd] Add simd matrix types. The OpenTK matrices (Matrix2/3/4) has a different memory layout than Apple's matrix_float2x2/matrix_float3x3/matrix_float4x4 matrices: the OpenTK versions are row-major, while Apple's versions are column-major. This means that when blitting memory from one to the other, the matrix will appear to have been transposed. See bug #[58599][2] for an example. Unfortunately we've already bound several API with Apple's matrix_floatXxX matrices using OpenTK's matrices, and although they're bound wrong, and the matrices appear transposed on input/output, we can't change the behavior because we have to maintain compatibility. This means we have to introduce new API, and then also just define new matrix types with the right memory layout (column-major). Additionally, in the future we might be able to mark these matrices as Simd-matrixes, so that the JIT/AOT compiler can generate the correct alignment for them, avoiding having to define a native conversion method (using the [MarshalDirective] hack). The matrices have been designed to match API-wise the matrices in the System.Numerics.Vectors namespace [1], but for the moment with only a few basic operations implemented (Determinant/Transpose/Multiply) defined (we can always add more later if we want to). In addition explicit conversion operators to and from the corresponding OpenTK.MatrixX are implemented, which means any operation defined in the OpenTK matrices can be used by converting back and forth. [1]: https://msdn.microsoft.com/en-us/library/system.numerics.matrix4x4(v=vs.111).aspx [2]: https://bugzilla.xamarin.com/show_bug.cgi?id=58599 * [ARKit] Use the new Simd matrix types. * [Vision] Use the new Simd matrix types. * [ModelIO] Use the new Simd-compatible matrix types, and deprecate the old API. * [GameplayKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [SpriteKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [xtro] Don't report missing [MarshalDirective] for obsolete methods. * [xtro] Remove unnecessary ignores. The implementation changed, and these stayed accidentally. * [wkwebkit] Fix (native) protocol names (#2572) Also ignore xtro's WKSnapshotConfiguration since it's an Apple bug 34185961 reference (xtro) !missing-protocol! WKURLSchemeHandler not bound !missing-protocol! WKURLSchemeTask not bound !unknown-protocol! WKUrlSchemeHandler bound !unknown-protocol! WKUrlSchemeTask bound !unknown-type! WKSnapshotConfiguration bound * [uikit] Fix enums availability attributes (#2575) - Fixes bug #59132: [uikit] Extra types in watchOS (https://bugzilla.xamarin.com/show_bug.cgi?id=59132) * [watchkit] Add missing designated initializers (#2574) references (xtro) !missing-designated-initializer! WKInterfaceController::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! WKUserNotificationInterfaceController::init is missing an [DesignatedInitializer] attribute * [xtro] Reword some of the Simd diagnostic messages according to review. * [tests] Make sure test symbols don't clash between different test libraries. Fixes this build problem for framework-test: clang: error: linker command failed with exit code 1 (use -v to see invocation) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_get_rotation_matrix'. MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticObjectTest.framework/XStaticObjectTest (Location related to previous error) MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticArTest.framework/XStaticArTest(libtest-ar.x86_64.o) (Location related to previous error) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransformcomponent_get_local_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_create_global_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float4x4'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float3x3'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float2x2'. MTOUCH: error MT5209: Native linking error: 6 duplicate symbols for architecture x86_64 MTOUCH: error MT5202: Native linking failed. Please review the build log. * [tests] Since libtest.a need ModelIO now, the corresponding LinkWith attributes need to state that too. * [introspection] Don't check native signatures on obsolete members, and ignore the right simd matrix types. Fixes this introspection/Mac problem: ***** ApiSignatureTest.NativeSignatures Selector: uniformWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: uniformWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: uniformWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: setMatrixFloat2x2Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: setMatrixFloat3x3Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: setMatrixFloat4x4Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: initWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: initWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: initWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded * [monotouch-tests] Include more custom asserts for watchOS to make the build work. Fixes this: Simd/MatrixFloat4x4Test.cs(28,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(29,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(37,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(48,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' [...] * [monotouch-test] Exclude code that requires the binding project from xammac tests. Exclude code that requires the test binding project from xammac tests because there's currently no XM version of the test binding project. Fixes this: tests/monotouch-test/SpriteKit/UniformTest.cs(20,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLMaterialProperty.cs(37,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLTransform.cs(34,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) * Bump version for preview #8 (#2576) * [spritekit] Audit fixes (xtro) (#2577) 1. SKVideoNode is now, partially, available on watchOS and does not require the extra, manual code to swicth selectors depending on the OS version being run. !missing-type! SKVideoNode not bound !missing-selector! SKVideoNode::anchorPoint not bound !missing-selector! SKVideoNode::initWithCoder: not bound !missing-selector! SKVideoNode::initWithFileNamed: not bound !missing-selector! SKVideoNode::initWithURL: not bound !missing-selector! SKVideoNode::setAnchorPoint: not bound !missing-selector! SKVideoNode::setSize: not bound !missing-selector! SKVideoNode::size not bound !missing-selector! +SKVideoNode::videoNodeWithFileNamed: not bound !missing-selector! +SKVideoNode::videoNodeWithURL: not bound 2. SKNodeFocusBehavior is exposed needlessly on watchOS because SpriteKit/Enums.cs was not processed by the generator, so [NoWatch] did not matter. !unknown-native-enum! SKNodeFocusBehavior bound It's also visible on macOS but nothing uses it (so we do not expose it needlessly) !missing-enum! SKNodeFocusBehavior not bound 3. Add missing designated initializer on default `init` !missing-designated-initializer! SKAttributeValue::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! SKNode::init is missing an [DesignatedInitializer] attribute 4. Remove inconsistency for SKNode subclasses wrt XAMCORE_4_0 The trio attributeValues, setAttributeValues and setValue:forAttributeNamed: that was moved from SKNode (deprecated) into its subclasses. This was done using XAMCORE_4_0 but not on every subclasses. This adds them everywhere to be consistent (only SKNode versions are not defined in XAMCORE_4_0) !missing-selector! SKEffectNode::attributeValues not bound !missing-selector! SKEffectNode::setAttributeValues: not bound !missing-selector! SKEffectNode::setValue:forAttributeNamed: not bound !missing-selector! SKEffectNode::valueForAttributeNamed: not bound !missing-selector! SKEmitterNode::attributeValues not bound !missing-selector! SKEmitterNode::setAttributeValues: not bound !missing-selector! SKEmitterNode::setValue:forAttributeNamed: not bound !missing-selector! SKEmitterNode::valueForAttributeNamed: not bound !missing-selector! SKSpriteNode::attributeValues not bound !missing-selector! SKSpriteNode::setAttributeValues: not bound !missing-selector! SKSpriteNode::setValue:forAttributeNamed: not bound !missing-selector! SKSpriteNode::valueForAttributeNamed: not bound * [introspection] Make sure '[FAIL]' is printed before every failure. (#2578) This makes xharness able to list the failures in the inline summary. * [xtro] Reword some of the Simd diagnostic messages according to review. * [xharness] Add a missing IsServerMode check to generate correct html. (#2581) * [SpriteKit] SKTransformNode is new in Xcode 9 so no need to keep the broken (and obsolete) non-simd version of RotationMatrix. * [intents] Fix some (partial) xtro issues and #59156 (#2585) reference https://bugzilla.xamarin.com/show_bug.cgi?id=59156 Remaining issues are filled in https://bugzilla.xamarin.com/show_bug.cgi?id=59183 !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound * [Intents] Confirm* interface methods should be bound as Confirm, Fixes Bug 59164 (#2591) * [Intents] Confirm* interface methods should probably be bound as Confirm, Fixes Bug 59164 https://bugzilla.xamarin.com/show_bug.cgi?id=59164 All Confirm* methods from *IntentHandling interfaces should be named just `Confirm` to avoid confusion because most of them do not directly confirm as an acion, but instead they **ask** for confirmation also we would follow swift's naming by doing this. * [Intents] XAMCORE_4_0 all Confirm* methods from *IntentHandling Turns any Confirm* into just Confirm inside a XAMCORE_4_0 block, * [Intents] Fix breaking changes in Intents added in Xcode 9 Bindings (#2590) Apple added more protocol conformances to INRidesharingDomainHandling and INPaymentsDomainHandling protocols in Xcode 9, I introduced these breaking changes back when I did intents binding so fixing them :) * [Metal] New bindings from Xcode 9 betas (#2457) * [AVFoundation] Updated bindings for xcode9. (#2272) * [Xcode9] Add IOSurface bindings (#2363) * This framework was a private framework before iOS 11. This framework was a private framework before iOS 11, yet the headers claim many API were introduced in iOS 10. So take account of this difference by using the private framework location in iOS 10.3 or earlier. Testing these API from Xcode works fine when run on an iOS 10.3 device, and I've confirmed the IOSurface framework is loaded from the private frameworks path on older devices (and when built using Xcode 9 and linked with the public framework path). * Disable code to make IOSurface work on iOS 10. Disable the code to make IOSurface work on iOS 10, since it may be rejected by the App Store. This also means adjusting the availability attributes, so that the introspection tests pass (and to document that technically these API won't work when used with Xamarin.iOS in iOS 10). I've filed bug #[59201][1] to keep track of this, maybe we can re-enable this later. [1]: https://bugzilla.xamarin.com/show_bug.cgi?id=59201 * [CoreMedia] Fix leak in CMAttachmentBearer.GetAttachments. (#2593) The caller owns the return value from CMCopyDictionaryOfAttachments, so tell Runtime.GetNSObject that. * [Intents] Adds missing API found by xtro, fixes Bug 59183 (#2596) https://bugzilla.xamarin.com/show_bug.cgi?id=59183 Fixes !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !incorrect-protocol-member! INUIHostedViewControlling::configureWithInteraction:context:completion: is OPTIONAL and should NOT be abstract * [xtro] Fix StartWorkingDirectory to enable debugging (#2598) * [iosurface] Enable for tvOS and XM classic (to avoid multiple defines around consumer API) (#2597) * [xtro] Fix EnumCheck (#2600) * [ARKit] Rename a few method to make them nicer. (#2604) * DisplayTransform -> GetDisplayTransform since methods should have verbs. * SessionWasInterrupted -> WasInterrupted and SessionInterruptionEnded -> InterruptionEnded since these names match better with the other names (CameraDidChangeTrackingState / DidFail / DidOutputAudioSampleBuffer: none are prefixed with 'Session'). Additionally, the type is a Model (for the delegate pattern), which means all methods are more-or-less event-like, and the first argument is always the same (the protocol itself), which is another indicator the methods should be named similarly. * [Foundation] Remove 'Key' suffix from some fields. (#2606) Of the 168 fields in NSMetadataItem, only these 5 hadn't removed the 'Key' suffix. So make them all equivalent by removing the 'Key' suffix from these 5 fields. * [ImageIO] Fix API to not duplicate the instance in instance methods. (#2609) An instance method does not need to take the instance as a parameter, so remove the first (instance) parameter for CGImageDestination.AddAuxiliaryDataInfo and CGImageSource.CopyAuxiliaryDataInfo. An alternative solution would be to make the methods static, but I like the instance API better. * [UIKit] De-model UIDataSourceTranslating. (#2603) It's not clear from neither the documentation nor the headers how this protocol is supposed to be used, and since it doesn't correspond to the delegate pattern, remove the [Model] attribute for now. We can always add it back later. * [CoreML] Improve API. (#2592) * [CoreML] Improve API. * The indices, shape and stride properties for MLMultiArray and MLMultiArrayConstraint can logically only be arrays of integers, so type them as such. This means adding overloads for MLMultiArray's constructors, GetObject and SetObject methods, and the indexers that takes nint[] arrays instead of NSNumber[] arrays. * Change MLFeatureValue's static factory methods to be a method ('Create') instead of a preposition, and call all the different factory methods the same, since they can be overloaded nicely. * [tests][monotouch-test] Add version check to MLMultiArrayTest and make sure the arrays we create are big enough for the data we put in them. * [tests][monotouch-test] MLMultiArray's elements aren't zero-initialized, so don't assume that in the tests. * Support overloading Objective-C methods based on static/instance. (#2607) Two Objective-C methods can be named identically as long as one is static and the other instance. We must support this since Apple did just this (in the NSItemProviderReading / NSItemProviderWriting protocols). We solve it by prepending a '+' or '-' to the selector when hashing it (to determine selector uniqueness, and to look the method up again at runtime). * [uikit] Update for Xcode 9 - Part 6 (#2602) NSAttributedString.h NSFileProviderExtension.h NSLayoutAnchor.h UIAccessibility.h UIAccessibilityAdditions.h UIAccessibilityContainer.h UIAccessibilityContentSizeCategoryImageAdjusting.h UIAccessibilityCustomRotor.h UIAccessibilityLocationDescriptor.h UITabBar.h UINavigationBar.h UIScreen.h * Xcode9 scenekit (#2512) * [SceneKit] basic work * Added key * [xcode9] SCNCameraController * [xcode9] SCNCamera updates * [xcode9] SCNMaterial * [xcode9] SCNGeometryTessellator, SCNCameraControlConfiguration, SCNView, small bits * Add trailing commas to last enum value * Remove whitespace noise * [scenekit] Update deprecated attributes messages * Addresses some of Rolf's feedback * Drop the WeakDelegate in SCNCameraController * Rename method to Render, remove ctor from class that can not be constructed in Palygrounds, add typo exception * [AppKit] Rename NSBezierPath.AppendBezierPathWithCGGlyph to match its sibling methods. (#2605) NSBezierPath contains a lot of 'AppendPathWithXXX' methods, that all map to 'appendBezierPathXXX' selectors. So rename AppendBezierPathWithCGGlyph accordingly, to make it more similar to the other methods in the same type. * [uikit] Add all UISpringLoadedInteractionSupporting (#2616) Types do not conform to the protocol but protocol methods work on those types (see monotouch-test). Fixed introspection tests accordingly and tested the selectors in monotouch-test. * [Intents] Add convenience ctor overload and call correct base ctor in manual ctor. (#2613) Add a convenience constructor overload in INGetUserCurrentRestaurantReservationBookingsIntent that uses nint instead of NSNumber, since logically "number of results" will always be some sort of integer. Also call the correct base constructor in INSpeakableString's custom constructor (same as any other generated constructor). Otherwise we end up doing something like this: [[[INSpeakableString alloc] init] initWith ...], i.e. calling two different init methods. * [coreimage] Add new headers API up to beta 6 (#2601) Filters are not complete (ref: #57350) https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * Some new constants are not yet documented (type is known), so they are commented / ignored https://bugzilla.xamarin.com/show_bug.cgi?id=59296 * Filled bug for [Wrap] inside [Category] so strong dictionary helpers can be re-enabled later https://bugzilla.xamarin.com/show_bug.cgi?id=59294 * [foundation] xtro fixes for watchOS (#2586) !missing-enum! NSProcessInfoThermalState not bound !missing-field! NSProcessInfoThermalStateDidChangeNotification not bound !missing-selector! NSProcessInfo::thermalState not bound Headers are wrong and preferredPresentationStyle is not in tvOS and watchOS !missing-selector! NSItemProvider::preferredPresentationStyle not bound !missing-selector! NSItemProvider::setPreferredPresentationStyle: not bound * [uikit] Also remove UIPreferredPresentationStyle enum from platform where it's not used * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. (#2614) * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. * NSItemProviderWriting: * NSItemProviderReading: Implement correctly and completely by uncommenting commented out code. * NSMutableString: * NSAttributedString: remove inlined members, since these classes don't implement NSItemProviderReading / NSItemProviderWriting (according to the headers at least). * NSUrl: all platforms now seem to implement NSItemProviderReading / NSItemProviderWriting. * NSString: all platforms now seem to implement both NSItemProviderReading and NSItemProviderWriting * UIColor: * UIImage: Update inlined protocol members according to the latest beta. Additionally, due to the following conditions: * The protocols all have the correct members now. * In the API definition we tell the generator to inline members from a protocol by inheriting from the corresponding interface. * The generator doesn't inline static members from protocols. several 'new' keywords had to be added to silence a compiler warning that occurrs when we manually inline a static member, since the member would be included in the type both from the inherited interface and the manual implementation. * [Foundation] Comment out NSItemProviderWriting.GetItemProviderVisibility to avoid inlining/generating unusable methods. NSItemProviderWriting.GetItemProviderVisibility is an optional method, and none of the native classes that implements NSItemProviderWriting actually imlements the method. This means inlining the method in those classes ends up creating unusable API; so just comment out the method to avoid generating the unusable API. The introspection tests found this: [FAIL] Foundation.NSString : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Foundation.NSUrl : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Contacts.CNContact : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] MapKit.MKMapItem : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIColor : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIImage : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] iOSApiSelectorTest.ApiSelectorTest.StaticMethods : 6 errors found in 2348 static selector validated: See also https://bugzilla.xamarin.com/show_bug.cgi?id=59308 * [iosurface] Add missing [TV] attributes (#2619) * [opengles] Enable the new API using IOSurface (#2618) The symbol only exists inside device libraries, not on simulator, and the introspection tests were updated to ignore it. Part of https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [avfoundation][watchos] Enable AudioBufferList (fix #59145) + audit (xtro) (#2617) 1. AudioBufferList is part of CoreAudio (wrong namespace, which needs a few changes in the generator) and now available in watchOS 4 https://bugzilla.xamarin.com/show_bug.cgi?id=59145 2. Also fixes xtro found issues: !missing-type! AVAudioRecorder not bound !missing-selector! AVAudioRecorder::averagePowerForChannel: not bound !missing-selector! AVAudioRecorder::channelAssignments not bound !missing-selector! AVAudioRecorder::currentTime not bound !missing-selector! AVAudioRecorder::delegate not bound !missing-selector! AVAudioRecorder::deviceCurrentTime not bound !missing-selector! AVAudioRecorder::format not bound !missing-selector! AVAudioRecorder::initWithURL:format:error: not bound !missing-selector! AVAudioRecorder::initWithURL:settings:error: not bound !missing-selector! AVAudioRecorder::isMeteringEnabled not bound !missing-selector! AVAudioRecorder::isRecording not bound !missing-selector! AVAudioRecorder::peakPowerForChannel: not bound !missing-selector! AVAudioRecorder::recordAtTime: not bound !missing-selector! AVAudioRecorder::recordAtTime:forDuration: not bound !missing-selector! AVAudioRecorder::recordForDuration: not bound !missing-selector! AVAudioRecorder::setChannelAssignments: not bound !missing-selector! AVAudioRecorder::setDelegate: not bound !missing-selector! AVAudioRecorder::setMeteringEnabled: not bound !missing-selector! AVAudioRecorder::settings not bound !missing-selector! AVAudioRecorder::url not bound !missing-protocol! AVAudioRecorderDelegate not bound !missing-selector! AVAudioEngine::inputNode not bound !missing-selector! AVAudioEngine::manualRenderingBlock not bound !missing-selector! AVAudioInputNode::setManualRenderingInputPCMFormat:inputBlock: not bound !missing-selector! AVAudioPlayer::format not bound !missing-selector! AVAudioSession::requestRecordPermission: not bound !unknown-field! AVFileType3GPP bound !unknown-field! AVFileType3GPP2 bound !unknown-field! AVFileTypeAC3 bound !unknown-field! AVFileTypeAIFC bound !unknown-field! AVFileTypeAIFF bound !unknown-field! AVFileTypeAMR bound !unknown-field! AVFileTypeAVCI bound !unknown-field! AVFileTypeAppleM4A bound !unknown-field! AVFileTypeAppleM4V bound !unknown-field! AVFileTypeCoreAudioFormat bound !unknown-field! AVFileTypeDNG bound !unknown-field! AVFileTypeEnhancedAC3 bound !unknown-field! AVFileTypeHEIC bound !unknown-field! AVFileTypeHEIF bound !unknown-field! AVFileTypeJPEG bound !unknown-field! AVFileTypeMPEG4 bound !unknown-field! AVFileTypeMPEGLayer3 bound !unknown-field! AVFileTypeQuickTimeMovie bound !unknown-field! AVFileTypeSunAU bound !unknown-field! AVFileTypeTIFF bound !unknown-field! AVFileTypeWAVE bound * [Metal] Implement API using IOSurface now that IOSurface is implemented. Partially fixes #58054. (#2621) https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [PdfKit] Improve PdfAnnotation.QuadrilateralPoints binding by making it strongly typed. (#2620) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). (#2622) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). * [ARKit/Vision] Use the new simd vector types instead of the OpenTK versions. * [ModelIO] Use the new simd vectors in new API (MDLVoxelIndexExtent2). This way we won't have to create a MDLVoxelIndexExtent3 in the future. * [SpriteKit] Use the new simd vectors in new API. * [metal] Audit (xtro) based fixes (#2623) !extra-protocol-member! unexpected selector MTLArgumentEncoder::newArgumentEncoderForBufferAtIndex: found !extra-protocol-member! unexpected selector MTLComputeCommandEncoder::dispatchThreads:threadsPerThreadgroup: found macos-only !missing-field! MTLDeviceRemovalRequestedNotification not bound !missing-field! MTLDeviceWasAddedNotification not bound !missing-field! MTLDeviceWasRemovedNotification not bound !missing-pinvoke! MTLCopyAllDevices is not bound * [CloudKit] Update bindings to beta 6. (#2615) * [FileProvider] Turn NSFileProviderItemIdentifier enum into a static class, fixes bug 59329 (#2634) https://bugzilla.xamarin.com/show_bug.cgi?id=59329 At the time of binding NSFileProviderItemIdentifier it wasn't clear how it was supposed to be used, I mean apple provides two keys which I thought were the only possible values hence binding it as an smart enum. Unfortunately this wasn't the case and the user can use those two values provided from the SDK or their own NSString Identifier. Swift provides a wrapper unfortunately we can't do the same due to NSFileProviderItemIdentifier is used in the NSFileProviderItem protocol and we currently do not support changing signatures on them. * [mtouch] Teach mtouch about the 'IOSurface' framework for tvOS. Fixes #59333. (#2630) https://bugzilla.xamarin.com/show_bug.cgi?id=59333 * Bump Touch.Unit to get fix for API breakage. (#2631) spouliot/Touch.Unit@8f1e19d [NUnitOutputTextWriter] Reintroduce previous constructor to make sure we don't break binary ABI. spouliot/Touch.Unit@00b0c0b [NUnitOutputTextWriter] Don't write invalid xml comments. spouliot/Touch.Unit@de9fe20 [TouchRunner] Restore the original code path when not wrapping NUnit xml output. * [IOSurface] Add missing availability attributes for tvOS. (#2629) * Bump versions for preview 9 (#2624) * [AVFoundation] Add missing interface AVRouteDetector. (#2637) * [tests] Update xtro to reduce list sizes (#2636) * Skip OpenTK duplicate declaration (we can't change them); * Fix rule name change for ARKit / simd; * Add missing default initializer on `init` to pending actions; * Add note for AVPersistableContentKeyRequest changes wrt tvOS; * [ReplayKit] Make RPBroadcastActivityViewController.LoadBroadcastActivityViewController async-capable. (#2639) * [xcode9] More SceneKit bindings (#2633) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 (#2644) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 https://bugzilla.xamarin.com/show_bug.cgi?id=59380 vector_float3 is 16 bytes, which means the binding is incorrect, because Vector3 is 12 bytes, and our code does not that difference into account. * Add tests * [DeviceCheck] Disable default ctor for DCDevice. (#2642) It doesn't seem to be useful according to the documentation, since it appears that the only way to get an instance is to use the static CurrentDevice property. * [audiounit] Audit (xtro) fixes for tvOS (#2635) Availability attributes in non-generated files don't hide symbols/code. reference: !unknown-pinvoke! AudioUnitExtensionCopyComponentList bound !unknown-pinvoke! AudioUnitExtensionSetComponentList bound * [tests] Make sure tvOS tests don't use the (unexisting) API * [tests] Add all test project variations to tests-mac.sln (#2579) * [xharness] Make sure generated mac projects have different project guids. * [introspection] Change the project guid so that it doesn't match the dontlink-mac project guid. * [tests] Add all test project variations to tests-mac.sln. * [xharness] Fix else condition. * [FileProvider] Adds missing NSFileProviderPage constants, fixes bug 59297. (#2646) https://bugzilla.xamarin.com/show_bug.cgi?id=59297 Adds NSFileProviderInitialPageSortedByName and NSFileProviderInitialPageSortedByDate NSData constants * [Xcode9] Remove NSFileProviderMessage and NSFileProviderMessageInterface (#2647) APIs were removed in beta 2 * [Foundation/UIKit] Provide LoadObject[s] methods that return the expected type in the callback. Fixes #59049. (#2638) The callback for these LoadObject[s] methods take an INSItemProviderReading parameter. This tells our runtime that we must provide an instance of a managed object that implements this interface (but nothing else), so we create a `NSItemProviderReadingWrapper` instance, which complies with the API (since the wrapper type implements the corresponding interface). Unfortunately these methods are supposed to return an instance of the passed- in type, so in order to comply with this soft (documentation-only) requirement, provide a wrapper method that creates instances of the right types. https://bugzilla.xamarin.com/show_bug.cgi?id=59049 * [arkit] Ignore deprecated selectors (#2645) * [FileProvider] Adds missing protocol and keys from audit (#2652) ``` !missing-protocol! NSFileProviderServiceSource not bound !missing-field! NSFileProviderErrorCollidingItemKey not bound !missing-field! NSFileProviderErrorNonExistentItemIdentifierKey not bound !missing-field! NSFileProviderFavoriteRankUnranked not bound ``` Also adds `NSXpcListenerEndpoint` to foundation, needed by `NSFileProviderServiceSource` protocol. * [tests][xtro] Workaround xtro runner dupe entry exception and update data files (#2654) * [AVFoundation] Rename field to match others. (#2657) * [homekit] Audit (xtro) fixes (#2653) - HMCharacteristicEvent conforms to NSMutableCopying on iOS11 which makes it 64 bits only (so adjust intro tests) - Ignore extra setters on HMMutablePresenceEvent, rdar 33883958 !missing-selector! HMMutablePresenceEvent::setPresenceEventType: not bound !missing-selector! HMMutablePresenceEvent::setPresenceUserType: not bound * [xtro] Add missing pinvoke to pending (#2662) - Bug 59422: [uikit] Missing UIContentSizeCategoryCompareToCategory & UIContentSizeCategoryIsAccessibilityCategory (https://bugzilla.xamarin.com/show_bug.cgi?id=59422) * Merge latest d15-3 fixes into xcode9 (#2660) * [msbuild] Re-added wildcard (*) expandsion for application-identifier in Entitlements.plist (#2186) Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=57119 * Bump mono (#2213) * Framework tests were still binding non-linked Simple class which errors now (#2216) (#2218) - Improve Makefile to rebuild when projects build with errors * Bump mono to get cecil fix for bug #56808. (#2222) https://bugzilla.xamarin.com/show_bug.cgi?id=56808 * [msbuild] Use @(ReferencePath) instead of @(ResolvedFiles) (#2188) (#2214) This allows things to work on both xbuild and msbuild. In xbuild, both lists are exactly the same and on msbuild, only @(ReferencePath) exists. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=55147 * NSActivityOptions.IdleDisplaySleepDisabled had wrong value (#2232) (#2239) This was due to an integer overflow. The original value was based on Int32 1 << 40 == 256 The correct value should be based on a UInt64. 1UL << 40 == 1099511627776 * [tests] Fix bug 57699 - [iOS]InternalsTest failure (Linkall) tests on device (#2243) Strip native debugging symbols should not be checked for debug builds * Bump mono to get fix for bug #57780. https://bugzilla.xamarin.com/show_bug.cgi?id=57780 * Update .gitmodules Change branch to d15-3 branch of mono * Bump maccore to get fix for bug #55064. https://bugzilla.xamarin.com/show_bug.cgi?id=55064 * [mono] Bump mono to get the head of cecil/mono-2017-04 and fix IsComObject #57919 Also fix #58789 [1], the typo in tools/mtouch/Tuning.cs showing in MT0000 errors instead MT2102. That's already in master and d15-4 mono bump includes: [2] commit 2a6502cee0df9de5198eafe7c8b5f6ac25106f34 (HEAD -> d15-3, origin/d15-3) Merge: 02457c20fcf 5e05cafc6f1 Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 10:04:06 2017 -0400 Merge pull request #5401 from marek-safar/com [Marshal.IsComObject] Make this predicate return false instead of thr… [3] commit 02457c20fcf57c0610e844d638eb1da82b5d1eb0 Merge: da80840ea55 73fd9a1b82e Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 09:59:06 2017 -0400 Merge pull request #5400 from spouliot/bump-cecil-58834-d15-3 [cecil] Bump to the head of the mono-2017-04 branch and pick the fix for bug #58834 References [1] https://bugzilla.xamarin.com/show_bug.cgi?id=58789 [2] https://bugzilla.xamarin.com/show_bug.cgi?id=57919 [3] https://bugzilla.xamarin.com/show_bug.cgi?id=58834 * [mtouch] Put 'mono_profiler_startup_log' in the symbol list. Fixes #58778. (#2501) We need the 'mono_profiler_startup_log' symbol when profiling is enabled, so make sure to add the symbol to the correct list of symbols we need. Previously we were passing `-u _mono_profiler_startup_log` to clang directly, which is fine, but not complete, since it does not write the symbol to the symbollist file (--symbollist=file), which means it wouldn't be preserved when the MSBuild tasks strip the executable. https://bugzilla.xamarin.com/show_bug.cgi?id=58778 * Bump versions for SR3 https://trello.com/c/EVze08ei * Bump mono to include HttpClientHandler fix #44027 https://trello.com/c/jYFXadH8/8-systemnethttp-close-request-stream-when-httpclienthandler https://bugzilla.xamarin.com/show_bug.cgi?id=44027 * [FileProvider] Add missing API and turn NSString to string (#2663) Turned NSString to string in order to match exisiting API. * [uikit] Add UIPasteConfigurationSupporting and UITextPasteConfigurationSupporting (#2649) - Fixes bug #59363: Missing UIPasteConfigurationSupporting, UITextPasteConfigurationSupporting, UITextDraggable and UITextDroppable on a couple of types (https://bugzilla.xamarin.com/show_bug.cgi?id=59363) * [uikit] Remove 129 types in UIPasteConfigurationSupporting case * [scenekit] Audit (xtro) fixes (#2648) This looks like an Apple breaking change (since `SCNAnimation` is new) but we now have: > typedef void (^SCNAnimationEventBlock)(id<SCNAnimation> animation, id animatedObject, BOOL playingBackward); bound as > delegate void SCNAnimationEventHandler (CAAnimation animation, NSObject animatedObject, bool playingBackward); and `CAAnimation` conforms to `SCNAnimation` but *only* the later is available on watchOS. The delegate is only updated (since it's new) on our watchOS profile. xtro references: (watchos) !unknown-protocol! SCNCameraControlConfiguration bound (tvos/watchos) !missing-selector! SCNAnimation::animationEvents not bound !missing-selector! SCNAnimation::setAnimationEvents: not bound !missing-selector! SCNConstraint::isEnabled not bound !missing-selector! SCNConstraint::setEnabled: not bound !missing-field! SCNSceneSourceConvertToYUpKey not bound !missing-field! SCNSceneSourceConvertUnitsToMetersKey not bound (ios/tvos) !missing-protocol-conformance! SCNNode should conform to UIFocusItem * Bump maccore post 15.3 merge (#2665) * Bump Xcode 9 to GM (#2667) * Force build (on wrench) * [avfoundation] Fix breaking changes (apidiff) (#2664) * [TVServices] Update to Xcode 9 GM (#2675) * [GameController] Update to Xcode 9 GM (#2673) * [LocalAuthentication] Update to Xcode 9 GM (#2671) * [LocalAuthentication] Update to Xcode 9 GM * Remove availability from BiometryNotAvailable, BiometryNotEnrolled and BiometryLockout * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer (#2659) * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer Some of the new added types were already present BUT under a #if MONOMAC, they had to be moved. * [AVFoundation] Set the wrongly added API to be obsolete and ensure it returns logical values. (#2650) * [xtro] The right platform for macOS is 'macos', not 'osx'. (#2677) The platform name is used to filter availability attributes, and if we use the wrong platform, we'll incorrectly skip all availability attributes. The net result in unclassified entries: https://gist.github.com/rolfbjarne/a4474bc2a40c49a85cad495b51bb514f * Various Xcode 9 API improvements and also fixes bug 59433 (#2676) https://bugzilla.xamarin.com/show_bug.cgi?id=59433 While fixing bug 59433 I noticed some additional issues outlined below: AVDepthData: * Renamed **non** static `Create` methods because `Create` only makes sense with the **Static** method in this context. Also by renaming the methods we are now closer to the names that swift uses. * Kept descriptive method names in favor of self-documenting code. `Convert`, `Apply` and `Replace` do not fully give us the intent of the method. * Added a convenience `Create` static method that takes a `CGImageAuxiliaryDataInfo`. * AvailableDepthDataTypes is now an array of `CVPixelFormatType` instead of a `NSNumber` array (The aactual fix for bug 59433). ImageIO: * Refactored `CGImageAuxiliaryDataInfo` to be a `StrongDictionary` in order to avoid most of the manual code and also to avoid reimplementing the `ToDictionary` method (which contained a subtle bug). * Adjusted code to reflect the above change. * Added missing `.ctor (IntPtr, bool)` to `CGImageMetadata` so the class is able to be created by our `Runtime.Get*`. * Simplified `CopyAuxiliaryDataInfo` method by using `CGImageAuxiliaryDataInfo` as a `DictionaryContainer`. Tests: * Added `xamarinmonkey.heic` which is an image that contains depth data needed to test above changes. * Adds `AVDepthDataTests` that touches most of the changes listed here. * Tweak the Simd-compatible matrices and vectors (#2668) * Rename them to be OpenTK.NMatrix# (instead of Simd.MatrixFloat#x#). * Remove the Vector2 and Vector4 variants, we'll use the OpenTK types instead (but we'll keep the NVector3 variant, since it's not identical to the OpenTK version). * Update the API to match their OpenTK counterparts better: * NMatrix2 and NMatrix3 have a 0-based R#C# scheme for their fields. * NMatrix4 has a 1-based M## scheme for its fields (i.e. no change). * [AVFoundation] Use Simd-matrix for API that needs it. (#2679) This also requires implementing the corresponding matrix (NMatrix4x3). Fixes this xtro issue: > !unknown-simd-type-in-signature! OpenTK.Matrix3 AVFoundation.AVCameraCalibrationData::get_GetIntrinsicMatrix(): the native signature has a simd type (matrix_float3x3), while the corresponding managed method is using an incorrect (non-simd) type. * [xtro] Fix checking availability on categories. (#2682) When checking for category availability, check if both the current declaration is a category, and if the current's declaration container is a category. Otherwise this scenario fails: * Category method is available. * Category does not have availability attributes. * Main class is unavailable. with this typical code sequence: ```csharp // don't process methods (or types) that are unavailable for the current platform if (!decl.IsAvailable () || !(decl.DeclContext as Decl).IsAvailable ()) return; ``` In which case we'd: * First check the method (`decl`): * It's available, so no further checks is done on the method. * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container's container is a category (it isn't, it's the namespace). and as such determine that the method is available. With this change, the second step will become: * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container is a category (it is), and if its main class is available (it isn't). and as such determine that the method is unavailable. * Check for attributes on the method's container (no attributes, so we continue). * Check if the method's Unclassified diff: https://gist.github.com/rolfbjarne/8fa80962596978a426eadf9b7ba39dc1 * [uikit] Update for Xcode 9 GM (#2670) * [AVFoundation] Implement AVCapturePhoto. Partially fixes #59388. (#2678) Fixes: > common.unclassified:!missing-type! AVCapturePhoto not bound https://bugzilla.xamarin.com/show_bug.cgi?id=59388 * Use strong dictionaries for AVCapturePhoto.Metadata and AVCapturePhoto.EmbeddedThumbnailPhotoFormat. * [SIMD] Implement Simd double types (VectorDouble3/MatrixDouble4x4). (#2632) The following types will be used by ModelIO bindings * Fix delta to be double * Rename Simd-compatible matrices and vectors to match our final naming. This also means removing the new Vector2 and Vector4 variants (but not Vector3). * [avfoundation] Remove AVAssetDownloadDelegate.DidLoadTimeRange since it was removed in one of the betas (#2687) * [foundation] Move NSUrlSessionMultipathServiceType to a file processed by the generator (for the availability attributes) (#2688) * [arkit] Update for Xcode 9 GM (#2681) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes (#2690) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes Type Changed: Intents.INCarSeatResolutionResult Removed methods: public static INCarSeatResolutionResult GetConfirmationRequired (INCarSeat valueToConfirm); public static INCarSeatResolutionResult GetSuccess (INCarSeat resolvedValue); * [avfoundation] Add missing protocol members and deprecations (#2691) !missing-protocol-member! AVCapturePhotoCaptureDelegate::captureOutput:didFinishProcessingPhoto:error: not found and the selector removed from PR#2687 was actually replaced with this one !missing-protocol-member! AVAssetDownloadDelegate::URLSession:aggregateAssetDownloadTask:didLoadTimeRange:totalTimeRangesLoaded:timeRangeExpectedToLoad:forMediaSelection: not found * [tests][xtro] Map some enums, more fix with protocols and update entries (#2692) * [Tests] Reenable dns tests on the watch. (#2674) * [arkit] Add ARBlendShapeLocationOptions strong dictionary (#2696) * [coreimage] Skip not yet bound filters added in Xcode9 (#2698) Tracked in https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * [Metal] Renamed MTLArgumentDescriptor.ArgumentDescriptor to Create, fixes bug 59498 (#2702) https://bugzilla.xamarin.com/show_bug.cgi?id=59498 From [argumentDescriptor docs](https://developer.apple.com/documentation/metal/mtlargumentdescriptor/2915746-argumentdescriptor?language=objc) > Creates an empty argument descriptor. * [msbuild] Always codesign app bundles if the codesign key is non-null (#2697) ...even if it is a simulator build. Turns out that starting with Xcode9, sim builds need to be codesigned for App Groups entitlements to work properly. Interestingly, the DetectSigningIdentity logic had a comment about needing to codesign simulator builds for some entitlements to work already starting with Xcode 8 but apparently the iOS targets did not respect this. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=59379 * [Foundation] Add NSProxy stub in order to workaround bug 59247 (#2693) https://bugzilla.xamarin.com/show_bug.cgi?id=59247 We need to have a better solution that removes all what NSProxy does not responds to. Right now this works because NSObject implements NSObject protocol just like NSProxy, but NSProxy responds to far less selectors hence doing it internal so it is not a breaking change when we provide the correct fix. * Keep NSProxy around and avoid XML linker description We need to keep NSProxy (avoid linking it) if WKNavigationDelegate or IWKNavigationDelegate is used. We know WKWebView will be there and can hold a reference to it. * [Xcode 9] Update Metal for GM (#2689) * [iosurface] IOSurface is not usable before iOS/tvOS 11. Fixes #59201 (#2706) Apple rejects apps that links with the previously private IOSurface.framework. We were not sure about this [1] and had it disabled (this is removed). However another bug stopped our adjustment logic [2] from being executed. This is needed since `clang` picks up the private framework if it does not find the public one (even when asking for a weak framework), [1] https://bugzilla.xamarin.com/show_bug.cgi?id=59201 [2] Added a while ago for JavascriptCore * Bump maccore to point to commit with the docs fix. (#2703) * Bump XI to 11.0.x (and XM to 3.99.9.x) (#2684) * fix typo
2017-09-16 00:53:16 +03:00
[Obsolete ("Do not use; this method only exist in macOS, not in iOS.")]
2016-04-21 15:30:02 +03:00
#endif
[NoTV]
[Availability (Deprecated = Platform.Mac_10_10)]
[Export ("attributeForKey:")]
NSObject GetAttribute (NSString lightAttribute);
#if XAMCORE_3_0
[Availability (Unavailable = Platform.iOS_Version)]
#elif !MONOMAC
Merge xcode9 into d15-4[-xi] (#2710) * [FileProvider] Add Xcode 9 Beta 1, 2 & 3 Bindings (#2279) * [FileProvider] Add Xcode 9 Beta 1 Bindings * Better naming * Feedback not related to BindAs * [FileProvider] Removes BindAs, add manual code for it and updated to Beta 3 * [FileProvider] Implement feedback * [CoreSpotlight] Updated spotlight bindings for xcode 9 beta 3. (#2193) Updated spotlight bindings for xcode 9 beta 3. * Fix warning caused by duplicate (#2354) * [FileProviderUI] Add Xcode 9 Beta 1 to 3 bindings (#2356) * Bump to Xcode 9 beta 4 * [arkit] ARLightEstimate does not conform to NSCopying anymore (fix unit test) * [uikit] NSFileProviderExtension.ReparentItem got a new parameter in beta4 (fix unit test) * [coreimage] CIImageAccumulator init returns nil in beta 4 There's no header change to mention `init` is not allowed but it's not clear how this default initializer could be used. Also make public some other API to construct this type (outside of XM). It's not clear why there were `internal` as they are (at least now) part of the header files. * [photos] Add helpers when PHLivePhotoEditingOption/NSDictionary is null (to avoid ambiguous API) (#2360) Adding a strongly typed `PHLivePhotoEditingOption` (a strongly typed version of an `NSDictionary`) can cause a `CS0121` (call is ambiguous) since using a `null` argument is common (only one option exist so far). This PR adds overloads that makes the code nicer in such case, e.g. before Xcode9: > // null is used when no options are given > _foo.SaveLivePhoto (output, null, completion); current (Xcode 9) > // casting required to remove ambiguity with PHLivePhotoEditingOption > _foo.SaveLivePhoto (output, (NSDictionary)null, completion); with this PR > // no option, no argument > _foo.SaveLivePhoto (output, completion); The same applies to `PrepareLivePhotoForPlayback`. * [tests] Disable/tweak two tests that breaks on (almost) all Xcode updates Those tests were not added to validate xOS so just keep the parts that helps us (without constantly checking back the new break flavor) * Disable watchOS to check if this hides others issues * [mapkit] Update for beta 4 * [coredata] Update for beta 4 * [wkwebkit] Update for beta 4 Note: WKWindowFeatures.h is not compiled (part of the framework umbrella) and the `@interface WKWindowFeatures (WKPrivate)` sounds like it should not have been exposed (it's all fields starting with `_`) * [corelocation] Update for beta 4 * Revert "Disable watchOS to check if this hides others issues" This reverts commit fed2249fa43290a1956ab2fe0d48f83ab6db9711. * [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]: https://github.com/xamarin/xamarin-macios/blob/f5956d6cc1eb5dfa7bab16628cf282d40237f64e/src/generator.cs#L5985 * [FinderSync] Update to beta 4 (#2377) * [ImageIO] Update to Xcode 9 (#2353) * [PhotosUI] Move macOS photosui bindings out of photos.cs into photosui.cs (#2358) * [quicklook] Update up to beta 4 (#2374) * [uikit] UIDragInteraction & UIDragInteractionDelegate (Xcode 9 b1,2,3) (#2357) * [safariservices] Update up to beta 4 (#2380) * [coreanimation] Update to beta 4 (#2382) Apple removed (mistake?) some API in beta 1. Filed as rdar 33590997 Internal tracking in https://trello.com/c/J8BDDUV9/86-33590997-coreanimation-quartzcore-api-removals * [storekit] Update up to beta 4 (#2379) * [CoreML] Update to Xcode 9 Beta 4 (#2387) * [uikit] UICollectionView/UITableView Drag & Drop (Xcode 9 b1,2,3 & 4) (#2355) * Update code after radar 32929318 and 32897776 are fixed in b4 (#2394) * [xcode9 CoreAudio] New definitions from Beta1 to Beta3 (#2359) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 (#2397) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 https://bugzilla.xamarin.com/show_bug.cgi?id=58512 Created strong API (VNBarcodeSymbology) on the following properties * VNDetectBarcodesRequest.SupportedSymbologies * VNDetectBarcodesRequest.Symbologies * VNBarcodeObservation.Symbology * Remove modern C# because classic can't do it 😡 * [mediaplayer] Update up to beta 4 (#2388) * [watchkit] Update to beta 4 (#2398) * Bump Visual Studio for Mac max version (#2408) * [coreimage] Add CIBarcodeDescriptor and enabled missing API for VNBarcodeObservation. Fix #58197 (#2411) https://bugzilla.xamarin.com/show_bug.cgi?id=58197 * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 (#2407) * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 * [uikit] Fixes based on comments * [coreimage] CIImageAccumulator API fixes. Fix #58349 (#2412) * Obsolete the default `init`; * XM exposed some older APIs using `int` instead of `CIFormat`. This is fixed and old APIs are obsoleted; * Both new & old APIs are now using `CIFormat` for both XI and XM. https://bugzilla.xamarin.com/show_bug.cgi?id=58349 * [uikit] UIText drag & drop - up to Xcode 9 beta 4 (#2410) * [uikit] UISplitView & UIStackView up to Xcode 9 beta 4 (#2425) * Bump XI/XM versions before preview 4 (#2422) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 (#2378) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 * [PDFKit] Implement feedback * [PDFKit] the forgotten enum * [PDFKit] More feedback * [PDFKit] Add Mac changes * Missing change * Fix test RectangleF VS CGRect * Pass -Wunguarded-availability-new to quiet a new clang warning (#2424) - https://bugzilla.xamarin.com/show_bug.cgi?id=58574 * [mtouch/mmp] Ignore warnings about unguarded code section with regards to availability. (#2441) * [monotouch-test] Remove workaround for fixed Apple bug. (#2445) * Bump to Xcode 9 beta 5. (#2447) * Bump to Xcode 9 beta 5. * [mmp] Disable the partial static registrar, because Apple's macOS SDK is broken. > In file included from Xamarin.Mac.registrar.mobile.i386.m:1: > In file included from ./Xamarin.Mac.registrar.mobile.i386.h:11: > /Applications/Xcode9-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVFoundation.h:88:9: fatal error: 'AVFoundation/AVRouteDetector.h' file not found https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [mmp] Fix partial static registrar removal. * [CallKit] Update to Xcode 9 beta 5. * [ARKit] ARPointCloud doesn't conform to NSCopying anymore in Xcode 9 beta 5. * [ARKit] Update to Xcode 9 beta 5 enough to make tests happy. * [CoreImage] Stub out new filters in Xcode 9 beta 5. * [tests][monotouch] Simplify some MDLMesh asserts since values change a lot between OS versions. * [mmp] Default to the dynamic registrar for release builds again, due to bug #58629. https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [tests][introspection] CXCall started implementing NSCopying without saying so in the headers. * Disable mmp static registrar tests due to 58629 for now * [quicklook] Update to beta 5 (#2450) * [photos] Update for beta 5 (#2452) Also update some existing enum members were added in beta 1 on macOS * [safariservices] Update for beta 5 (#2455) * [mediaplayer] Update to beta 5 (#2456) * [CoreLocation] Update Xcode 9 Beta 5 (#2453) * [CoreML] Update to Xcode 9 Beta 5 (#2454) * [Contacts] Update to Xcode 9 Beta 5 (#2451) * [Vision] Update to Xcode 9 Beta 5 (#2458) * [builds] Tell LLVM to stay away from newer macOS functions. (#2459) Fixes this build problem on Sierra: > ld: weak import of symbol '_futimens' not supported because of option: -no_weak_imports for architecture x86_64 This is a symbol that was (will be?) introduced in High Sierra. Interestingly this only occurs if the Xcode 8.X Command Line Tools haven't been manually installed. Because if the Xcode 8.X Command Line Tools are installed, this happens: 1. llvm's configure script detects that 'futimens' is not usable. 2. llvm's configure script detects that 'futimens' is not usable, because xcrun sets SDKROOT=/ when calling clang. a. When the SDKROOT variable is set, clang passes '-syslibroot /usr/lib' to ld. b. When ld gets '-syslibroot /usr/lib', ld looks in '/usr/lib' for a library that contains 'futimens' in the OS itself, and since we're on Sierra, that fails to link. c. So when llvm's configure script creates a test program that checks if 'futimens' is present, the program fails. This is correct, and makes llvm *not* use futimens. 3. xcrun sets SDKROOT=/ because /usr/share/current-os.sdk/Info.plist exists. If that file does not exist, then xcrun sets SDKROOT to Xcode9's macOS SDK (because that's what xcode-select reports). a. When SDKROOT is set to Xcode9's macOS SDK, the configure check for 'futimens' succeeds, because the macOS 10.13 SDK contains that function. b. llvm happily uses 'futimens', and then the final link fails because we're using a symbol not available on all target platforms. * [arkit] Update for Xcode 9 beta 5 - Part 1 (#2460) * [tests] The container app for watchOS tests should be 64-bit. (#2463) * [xharness] watchOS tests need to run in a clean environment. Works around #58348. (#2462) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [xharness] It watchOS tests don't need to be clean anymore. Fixes #58348. (#2473) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [uikit] UIView/UIScrollView/UIViewController up to Xcode 9 beta 5 (#2431) - Add NSDirectionalEdgeInsets type. - Includes DirectionalEdgeInsetsTest. * [AudioToolbox] Update bindings to Xcode 9 beta3 (not later changes). (#2294) * [xharness] Add a file existence check. (#2478) Fixes this exception: ``` Harness exception for 'introspection': System.IO.FileNotFoundException: Could not find file '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log'. File name: '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log' at System.IO.__Error.WinIOError (System.Int32 errorCode, System.String maybeFullPath) [0x00207] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/__error.cs:188 at System.IO.FileInfo.get_Length () [0x00038] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/fileinfo.cs:171 at xharness.CaptureLog.StopCapture () [0x00021] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Log.cs:252 at (wrapper remoting-invoke-with-check) xharness.CaptureLog:StopCapture () at xharness.AppRunner+<RunAsync>d__68.MoveNext () [0x0127f] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/AppRunner.cs:642 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter`1[TResult].GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:357 at xharness.RunSimulatorTask+<RunTestAsync>d__7.MoveNext () [0x0029d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2894 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.RunTestTask+<ExecuteAsync>d__8.MoveNext () [0x0010b] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2538 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.TestTask+<RunInternalAsync>d__87.MoveNext () [0x0010d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:1870 ``` I'm not sure how this can happen, but it has on the bots [1]. [1] https://jenkins.mono-project.com/job/xamarin-macios-pr-builder/4548/Test_Report/ * Bump versions for preview 5 (#2479) * [passkit] Update to beta 5 (#2481) * [tests] Remove workaround for radar #32688391. (#2486) * [replaykit] Update up to beta 5 (#2484) * Bump maccore to get fix for bug #55064. (#2487) * [apidiff] Update definition to new 10.12 (d15-3) stable release (#2490) * [SceneKit] basic work (#2483) * [coredata] Update to beta 5 (#2488) * [homekit] Update for Xcode 9 beta 5 (#2492) * [Foundation] Update for xcode9 (#2468) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 (#2493) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 * [Intents] Implement feedback * [Intents] Add a generic version for INInteraction.GetParameterValue * [Intents] Missing check * [Contacts] Add missing foundation NSItemProviderWriting protocol to CNContact (#2496) https://bugzilla.xamarin.com/show_bug.cgi?id=58203 This is available on all Contacts supported platforms ``` ./iPhoneOS.platform/Developer/SDKs/iPhoneOS11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchOS.platform/Developer/SDKs/WatchOS4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchSimulator.platform/Developer/SDKs/WatchSimulator4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ``` * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) (#2497) * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) * [IntentsUI] Better use a delegate instead so we have named params * Bump versions before 6th preview (#2514) * [arkit] Add missing MarshalDirective to ARPlaneAnchor (#2517) - Fixes bug #58648: ARPlaneAnchor.Extent property seems incorrect but changes to correct value after Debug access (https://bugzilla.xamarin.com/show_bug.cgi?id=58648) * [xtro-sharpie] Fix a compiler warning. (#2516) Fixes these warnings: Runner.cs(197,5): warning CS0642: Possible mistaken empty statement Runner.cs(199,5): warning CS0642: Possible mistaken empty statement Runner.cs(201,5): warning CS0642: Possible mistaken empty statement Runner.cs(203,5): warning CS0642: Possible mistaken empty statement Runner.cs(205,5): warning CS0642: Possible mistaken empty statement * [uikit] Update for Xcode 9 beta 5 - Part 3 (#2511) - UIKeyCommand - UINavigationBar - UINavigationItem - UIPasteboard - UITableViewHeaderFooterView * [xtro-sharpie] Remove xtro-plugin and misc other fixes. (#2522) * [xtro-sharpie] Build with msbuild and be as quiet as requested when building. * [xtro-sharpie] Must run as a 64-bit process, since the required native libraries are 64-bit. * [xtro-sharpie] Add run configurations to the project file to ease debugging in the IDE. * [xtro-sharpie] Remove xtro-plugin and the related commands. This was needed when there wasn't a 64-bit mono, in order to run xtro-sharpie in a 64-bit process. Now there is a 64-bit mono, so it's not needed anymore. Also improve makefile targets a bit, to auto-build stuff when needed, by setting the right dependencies. * Bump Xcode 9 to beta 6 (#2519) Disable watchOS tests again It seems like the Carousel crash from beta 4 is back to haunt us. This was working fine with beta 5. * Backport d15-3 SR2 fixes (#2515) * [coredata] Update to beta 6 (#2528) This seems to only revert some nullability changes from beta 5. * [coreml] Update to beta 6 (#2531) Fix our rdar 33643011 where additional setters were added in the headers but did not exists. * [videosubscriberaccount] Update to beta 6 (#2533) Only b1 and b2 introduced some additions/changes * [uikit] Update for Xcode 9 beta 6 - Part 4 (#2527) The following headers are now up to date: - UICollectionViewFlowLayout.h - UIDocumentPickerViewController.h - UIFontDescriptor.h - UIImage.h - UIImageView.h - UIImagePickerController.h * [xharness] Re-enable the watchOS tests. (#2534) It works fine for me locally, so let's see what Jenkins says. * [macos] Add new APIs in CoreWlan from Xcode9b3 (#2525) * Update AppKit bindings based on radar 33271241 results (#2518) * Update AppKit bindings based on radar 33271241 results - The header comment was updated to note it was NSSliderTouchBarItem view that has the protocol * Remove NSUserInterfaceCompression where not listed in header * [vision] Update to beta 6 (#2532) Removal of some deprecated (during beta) `init*` selectors. Also sync the versions that were inlined in subclasses - the old ones were not removed and the new ones were not added. * [xtro-sharpie] Many methods don't have selectors in Clang's API, so default to the name if no selector. (#2523) This makes a few more unclassified entries show up (mostly missing designated initializers): https://gist.github.com/rolfbjarne/07aa20f9b50b75bf3e69ac6a825e873a * [macos] Add ExternalAccessory APIs from xcode9 (#2526) * [58851] Disable NSMenuView in AllItemsWithNSMenuShouldAllowNull (#2504) * [arkit] Update for Xcode 9 beta 5 - Part 2 (#2505) - Add last missing selector. - Add tests for manual code. * [monotouch-test] Disable FontDescriptorTest.WithFeature (#2537) Disabled because it looks like the tvOS font we use: "Gujarati Sangam MN" does not have rare ligatures anymore (and the entire test is based on it). Before getting an actual fix for that, let's disable the test so it doesn't break all current builds. See: https://bugzilla.xamarin.com/show_bug.cgi?id=58929 * [xtro-sharpie] Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute. (#2524) Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute to calculate the native name for a TypeDefinition. Unclassified changes: https://gist.github.com/rolfbjarne/828f8ee41eebb0a3b60a38d71822fe59 * [foundation/uikit] Inline NSItemProvider_UIKitAdditions in NSItemProvider (#2538) As suggested here: https://github.com/xamarin/xamarin-macios/pull/2527#discussion_r134670981 * [intents] Fix breaking changes (api-diff) (#2543) Additions of @required members inside `INSpeakable` cannot be `[Abstract]` * [contacts] Fix breaking change (api-diff) (#2542) Type Changed: Contacts.CNPostalAddress Removed method: public static string LocalizeProperty (CNPostalAddressKeyOption option); * [macos] Reenable static registrar since Xcode9b6 un-broke SDK headers (#2544) - Fix a subtle spacing issues in PartialStaticLibrary property * [corebluetooth] Update up to beta 6 and enable it on watchOS (#2540) macOS 10.13 has finally catch up with iOS and this simplifies the bindings a bit. * [foundation] API fixes (apidiff) (#2545) 1. Let's not add new, already [Obsolete] API Type Changed: Foundation.NSDimension Added constructors: [Obsolete ("Not intended to be directly instantiated, this is an abstract class.")] public NSDimension (); 2. Fix inconsistently named API, e.g. Type Changed: Foundation.NSAttributedString Added properties: public static string[] ReadableTypeIdentifiersForItemProvider { get; } public static string[] WritableTypeIdentifiers { get; } * [pdfkit] Do not add already [Obsolete] API in new profiles (#2547) and ensure using the newer, correct API works cross-platforms iOS (before) [Obsolete ("Use 'Find (string, NSStringCompareOptions)' instead.")] public virtual PdfSelection[] Find (string text, nint options); public PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'Find (string, PdfSelection, NSStringCompareOptions)' instead.")] public virtual PdfSelection Find (string text, PdfSelection selection, nint options); public void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string, NSStringCompareOptions)' instead.")] public virtual void FindAsync (string text, nint options); public void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string [], NSStringCompareOptions)' instead.")] public virtual void FindAsync (string[] text, nint options); iOS (after) public virtual PdfSelection[] Find (string text, Foundation.NSStringCompareOptions compareOptions); public virtual PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); * Bump versions for the 7th preview (#2541) * Remove additions of AVKit removed in beta5 (#2536) * NSUrlSessionTask should implement NSProgressReporting for iOS (#2548) NSUrlSessionTask implements NSProgressReporting on iOS as well as Mac, so the #if MONOMAC isn't needed. * Add missing availability attributes causing failures on older iOS versions (#2550) * [vision] Minor fix wrt xtro (#2551) including some things we need to ignore manually !missing-field! VNVisionVersionNumber not bound !missing-pinvoke! VNImagePointForFaceLandmarkPoint is not bound !missing-pinvoke! VNNormalizedFaceBoundingBoxPointForLandmarkPoint is not bound * [uikit] NSFileProviderMessaging was removed in beta 2. Fixes #58222 (#2552) reference: https://bugzilla.xamarin.com/show_bug.cgi?id=58222 * [uikit] Update for Xcode 9 - Part 5 (#2546) Bindings for the following headers: - UIActivity.h - UIActivityItemProvider.h - UIAlertController.h - UIApplication.h - UIBarButtonItem.h - UIButton.h - UICollectionViewLayout.h - UIColor.h - UIControl.h - UIDocumentMenuViewController.h - UIFontMetrics.h - UIGestureRecognizer.h - UIGraphicsImageRenderer.h - UIInputViewController.h * [CoreText] Fix an extraneous free in CTFont.GetDefaultCascadeList. (#2555) We do not own the return value from CFArrayGetValueAtIndex, so don't say we do when creating CTFontDescriptor instances, since that leads to angry dragons: 2017-08-28 20:15:20.293 monotouchtest[33186:2311738] A_FontTest 2017-08-28 20:15:20.294 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithFontDescriptorAndOptions 2017-08-28 20:15:20.295 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithNameAndOptions 2017-08-28 20:15:20.296 monotouchtest[33186:2311738] critical: Stacktrace: at <unknown> <0xffffffff> at (wrapper managed-to-native) CoreText.CTFont.CTFontCopyDefaultCascadeListForLanguages (intptr,intptr) [0x0000a] in <ae65a2b1eea242d2b68fe784749543bf>:0 at CoreText.CTFont.GetDefaultCascadeList (string[]) [0x00013] in /work/maccore/xcode9/xamarin-macios/src/CoreText/CTFont.cs:2185 at MonoTouchFixtures.CoreText.A_FontTest.GetCascadeList () [0x0001e] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/CoreText/FontTest.cs:78 at (wrapper runtime-invoke) object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) [0x0004f] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) System.Reflection.MonoMethod.InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&) [0x00016] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at System.Reflection.MonoMethod.Invoke (object,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo) [0x00032] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/corlib/System.Reflection/MonoMethod.cs:305 at System.Reflection.MethodBase.Invoke (object,object[]) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/referencesource/mscorlib/system/reflection/methodbase.cs:229 at NUnit.Framework.Internal.Reflect.InvokeMethod (System.Reflection.MethodInfo,object,object[]) [0x00009] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Reflect.cs:215 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunNonAsyncTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x00025] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:116 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x0001a] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:90 at NUnit.Framework.Internal.Commands.TestMethodCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:66 at NUnit.Framework.Internal.Commands.SetUpTearDownCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00007] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/SetUpTearDownCommand.cs:84 at NUnit.Framework.Internal.WorkItems.SimpleWorkItem.PerformWork () [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/SimpleWorkItem.cs:64 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at MonoTouch.NUnit.UI.BaseTouchRunner.Run (NUnit.Framework.Internal.Test) [0x0004d] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:442 at MonoTouch.NUnit.UI.BaseTouchRunner.Run () [0x00030] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:171 at MonoTouch.Dialog.StringElement.Selected (MonoTouch.Dialog.DialogViewController,UIKit.UITableView,Foundation.NSIndexPath) [0x00008] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/Elements.cs:765 at MonoTouch.Dialog.DialogViewController.Selected (Foundation.NSIndexPath) [0x00026] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:577 at MonoTouch.Dialog.DialogViewController/Source.RowSelected (UIKit.UITableView,Foundation.NSIndexPath) [0x00016] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:402 at (wrapper runtime-invoke) <Module>.runtime_invoke_void__this___object_object (object,intptr,intptr,intptr) [0x0005d] in <32f0c196c5bc4aa18daea2ee64a7814e>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) UIKit.UIApplication.UIApplicationMain (int,string[],intptr,intptr) [0x0005c] in <ae65a2b1eea242d2b68fe784749543bf>:0 at UIKit.UIApplication.Main (string[],intptr,intptr) [0x00005] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:79 at UIKit.UIApplication.Main (string[],string,string) [0x00038] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:63 at monotouchtest.Application.Main (string[]) [0x00011] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/Main.cs:27 at (wrapper runtime-invoke) <Module>.runtime_invoke_void_object (object,intptr,intptr,intptr) [0x00051] in <30a7f7e09de9467b8b454221034a0e38>:0 Native stacktrace: 0 monotouchtest 0x000000010fca03c4 mono_handle_native_crash + 244 1 monotouchtest 0x000000010fcadd30 mono_sigsegv_signal_handler + 288 2 libsystem_platform.dylib 0x000000011feb3b3a _sigtramp + 26 3 CoreFoundation 0x000000011de035a2 computeSanitizedString + 146 4 CoreText 0x00000001168df314 _ZN15TPurgeableCache19RetainedValueForKeyEPKv + 54 5 CoreText 0x00000001168def85 _ZNK17TDescriptorSource22CopyDescriptorUncachedEPK7__CFURLbPK10__CFString + 55 6 CoreText 0x00000001168df34f _ZNK17TDescriptorSource14CopyDescriptorEPK7__CFURLbPK10__CFString + 27 7 CoreText 0x00000001168e20ad _ZNK17TDescriptorSource35CopyFontDescriptorPerPostScriptNameEPK10__CFStringmm + 297 8 CoreText 0x00000001168dfd9e _ZNK17TDescriptorSource30CopySystemFontDescriptorByNameEPK10__CFString10UIFontFlag + 54 9 CoreText 0x00000001168e54c4 _ZNK14TFontFallbacks17CopyFontFallbacksEPK10__CFStringS2_PK9__CFArray + 652 10 CoreText 0x00000001168e4a00 _ZNK14TFontFallbacks29CopyFontFallbacksForLanguagesEPK10__CFStringPK9__CFArray + 122 11 CoreText 0x00000001168e4971 _ZN17TDescriptorSource39CopyDefaultSubstitutionListForLanguagesEPK10__CFStringPK9__CFArray + 61 12 CoreText 0x00000001169397a7 _ZNK9TBaseFont28CreateSystemDefaultFallbacksEPK10__CFStringPK9__CFArray + 51 13 CoreText 0x000000011693999c _ZNK9TBaseFont15CreateFallbacksE10UIFontFlagPPK16__CFCharacterSetPK9__CFArray + 346 14 CoreText 0x00000001168c1036 _ZNK5TFont24CreateDefaultCascadeListEPK9__CFArray + 242 15 CoreText 0x00000001168b8ff9 CTFontCopyDefaultCascadeListForLanguages + 97 16 ??? 0x0000000140eaefd3 0x0 + 5384105939 17 ??? 0x0000000140eae761 0x0 + 5384103777 18 ??? 0x000000013c9c8e74 0x0 + 5311860340 19 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 20 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 21 monotouchtest 0x000000010fd71bac mono_runtime_try_invoke_array + 1292 22 monotouchtest 0x000000010fd15587 ves_icall_InternalInvoke + 647 23 ??? 0x000000013e9fcd13 0x0 + 5345627411 24 ??? 0x000000013e9fc738 0x0 + 5345625912 25 ??? 0x000000013e9fded5 0x0 + 5345631957 26 ??? 0x000000013e9fbb76 0x0 + 5345622902 27 ??? 0x000000013e9e237e 0x0 + 5345518462 28 ??? 0x000000013e9e237e 0x0 + 5345518462 29 ??? 0x000000013e9e237e 0x0 + 5345518462 30 ??? 0x000000013e9e237e 0x0 + 5345518462 31 ??? 0x000000013e873006 0x0 + 5344014342 32 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 33 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 34 monotouchtest 0x000000010fd6e320 mono_runtime_invoke + 208 35 monotouchtest 0x000000010fe71af1 xamarin_invoke_trampoline + 5617 36 monotouchtest 0x000000010fe79ddd xamarin_arch_trampoline + 189 37 monotouchtest 0x000000010fe7b1a1 xamarin_x86_64_common_trampoline + 110 38 UIKit 0x0000000111b9876b -[UITableView _selectRowAtIndexPath:animated:scrollPosition:notifyDelegate:] + 1810 39 UIKit 0x0000000111b98986 -[UITableView _userSelectRowAtPendingSelectionIndexPath:] + 344 40 UIKit 0x0000000111a6b5c9 _runAfterCACommitDeferredBlocks + 318 41 UIKit 0x0000000111a59dad _cleanUpAfterCAFlushAndRunDeferredBlocks + 280 42 UIKit 0x0000000111a89f68 _afterCACommitHandler + 137 43 CoreFoundation 0x000000011de3ddb7 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23 44 CoreFoundation 0x000000011de3dd0e __CFRunLoopDoObservers + 430 45 CoreFoundation 0x000000011de22324 __CFRunLoopRun + 1572 46 CoreFoundation 0x000000011de21a89 CFRunLoopRunSpecific + 409 47 GraphicsServices 0x0000000121b7e9c6 GSEventRunModal + 62 48 UIKit 0x0000000111a5f7d0 UIApplicationMain + 159 49 ??? 0x000000013c9c4474 0x0 + 5311841396 50 ??? 0x000000013c9c40ad 0x0 + 5311840429 ================================================================= Got a SIGSEGV while executing native code. This usually indicates a fatal error in the mono runtime or one of the native libraries used by your application. ================================================================= * [monotouch-test] Don't subclass MKMapView. (#2556) MKMapView doesn't like being subclassed (Apple says "you should not subclass the MKMapView class itself"). Bad things like this starts happening: Thread 0 name: tid_303 Dispatch queue: com.apple.main-thread Thread 0 Crashed: 0 libsystem_kernel.dylib 0x0000000186b25348 __pthread_kill + 8 1 libsystem_pthread.dylib 0x0000000186c39354 pthread_kill$VARIANT$mp + 396 2 libsystem_c.dylib 0x0000000186a94fd8 abort + 140 3 monotouchtest 0x0000000101c02c14 mono_handle_native_crash + 22047764 (mini-exceptions.c:2548) 4 monotouchtest 0x0000000101c0d02c mono_sigsegv_signal_handler + 22089772 (mini-runtime.c:2886) 5 libsystem_platform.dylib 0x0000000186c33b60 _sigtramp + 52 6 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 7 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 8 CoreFoundation 0x0000000186eda51c -[__NSArrayM dealloc] + 68 9 CoreFoundation 0x000000018703f5c8 __CFBasicHashDrain + 312 10 CoreFoundation 0x0000000186fb5b44 _CFRelease + 224 11 CoreText 0x000000018a808404 TDescriptorSource::PurgeFontFallbacksCache+ 488452 () + 92 12 CoreText 0x000000018a808374 TDescriptorSource::PurgeFromCaches+ 488308 (__CFURL const*) const + 176 13 CoreText 0x000000018a7eec74 CTFontRemoveFromCaches + 168 14 VectorKit 0x0000000196a539b0 +[VKSharedResourcesManager removeResourceUser:] + 324 15 VectorKit 0x0000000196ca27a4 md::MapEngine::~MapEngine+ 2643876 () + 360 16 VectorKit 0x0000000196ca2634 md::MapEngine::~MapEngine+ 2643508 () + 12 17 libobjc.A.dylib 0x000000018651eef4 object_cxxDestructFromClass+ 28404 (objc_object*, objc_class*) + 148 18 libobjc.A.dylib 0x000000018652c638 objc_destructInstance + 88 19 libobjc.A.dylib 0x000000018652c690 object_dispose + 16 20 QuartzCore 0x000000018afca3ac -[CALayer dealloc] + 116 21 VectorKit 0x0000000196a43294 -[VKMapView dealloc] + 940 22 QuartzCore 0x000000018af6aafc CA::release_objects+ 744188 (X::List<void const*>*) + 32 23 QuartzCore 0x000000018afd97d8 CA::Layer::~Layer+ 1198040 () + 276 24 QuartzCore 0x000000018afca37c -[CALayer dealloc] + 68 25 QuartzCore 0x000000018af6b16c CA::Transaction::commit+ 745836 () + 1052 26 UIKit 0x0000000190393290 _afterCACommitHandler + 256 27 CoreFoundation 0x0000000186fb38b8 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 32 28 CoreFoundation 0x0000000186fb1270 __CFRunLoopDoObservers + 412 29 CoreFoundation 0x0000000186fb182c __CFRunLoopRun + 1292 30 CoreFoundation 0x0000000186ed22d8 CFRunLoopRunSpecific + 436 31 GraphicsServices 0x0000000188d58f84 GSEventRunModal + 100 32 UIKit 0x000000019040427c UIApplicationMain + 208 33 monotouchtest 0x000000010106eb90 wrapper_managed_to_native_UIKit_UIApplication_UIApplicationMain_int_string___intptr_intptr + 9907088 (/<unknown>:1) 34 monotouchtest 0x0000000100f0d6ac UIKit_UIApplication_Main_string___intptr_intptr + 8459948 (UIApplication.cs:79) 35 monotouchtest 0x0000000100f0d66c UIKit_UIApplication_Main_string___string_string + 8459884 (UIApplication.cs:63) 36 monotouchtest 0x0000000100b10450 monotouchtest_Application_Main_string__ + 4277328 (Main.cs:27) 37 monotouchtest 0x0000000100e0c244 wrapper_runtime_invoke_object_runtime_invoke_dynamic_intptr_intptr_intptr_intptr + 244 38 monotouchtest 0x0000000101c10048 mono_jit_runtime_invoke + 22102088 (mini-runtime.c:2526) 39 monotouchtest 0x0000000101c75eec do_runtime_invoke + 22519532 (object.c:2829) 40 monotouchtest 0x0000000101c78a3c do_exec_main_checked + 22530620 (object.c:4623) 41 monotouchtest 0x0000000101bf9a1c mono_jit_exec + 22010396 (driver.g.c:1040) 42 monotouchtest 0x0000000101d13d60 xamarin_main + 23166304 (monotouch-main.m:482) 43 monotouchtest 0x00000001007de710 main + 927504 (main.m:67) 44 libdyld.dylib 0x00000001869f656c start + 4 * [introspection] Let SkipDueToAttributeInProperty skip setters too (#2557) `SkipDueToAttributeInProperty` which is used to check the availability attribute of properties when the Availability info only exist on the property and not on the property Getter or Setter was wrong. This lead to `setSpringLoaded` (which was introduced in iOS 11) to not be ignored by the test (making it fail). - Fix bug #59085: [introspection-ios] selector not found for UIKit.UIBarButtonItem : setSpringLoaded: - Broken test (https://bugzilla.xamarin.com/show_bug.cgi?id=59085) * [corevideo][watchos] Enable CoreVideo on watchOS (#2553) * [storekit] Fix CampaignToken typo (#2559) (#2560) - Fixes bug #59078: StoreProductParameters and invalid property for CampaignToken (https://bugzilla.xamarin.com/show_bug.cgi?id=59078) * [coreml][watchos] Enable API using CoreVideo on watchOS. Fix #58097 (#2561) https://bugzilla.xamarin.com/show_bug.cgi?id=58097 * Add missing [MarshalDirective] attributes. (#2558) * [bindings-generator] Improve build & project file. * Add missing [MarshalDirective] attributes. Add missing [MarshalDirective] attributes, which also requires implementing support for out parameters in the binding generator, since one of the signatures missing the [MarshalDirective] contains such an out parameter. Also add tests for all the API I've added [MarshalDirective] to. * [bindings-generator] Remove redundant if check. * [monotouch-test] Rename file to end with 'Test.cs'. * [tests] Fix a few build errors for Xamarin.Mac. * [uikit] Fix UIColor and UIInputViewController tvOS availability (#2569) - Fixes introspection tests on tvOS 10. * [storekit] Fix SKCloudServiceSetupMessageIdentifier and SKProductStorePromotionController tvOS availability (#2568) - Fixes introspection tests on tvOS 10. * [mapkit] Fix MKMapItemTypeIdentifier tvOS availability (#2566) - Also remove double [Mac] availability attribute. - Fixes introspection tests on tvOS 10. * [ARKit] Fix marshalling for ARPointCloud.RawFeaturePoints. (#2565) ARPointCloud.RawFeaturePoints is an array of Vector3, but each vector is 16-byte aligned (as if it were an array of Vector4). This means we need to account for this when creating a managed array from pointer to the native C-style array. * [ModelIO] Fix MDLVoxelIndexExtent struct. (#2564) The MDLVoxelIndexExtent is a struct containing two 4-dimensional vectors of integers (not floats, as originally and incorrectly implemented). Fix this my creating a new MDLVoxelIndexExtent2 struct with the right fields, re-implement all the API that exposes this struct and obsolete the old API. Also add missing [MarshalDirective] attributes. And write a test to make sure it works fine now and forever. * [coredata] Enable new fields since rdar #33878590 is fixed w/beta 6 (#2570) reference: https://trello.com/c/dlSRYPFx * [xtro-sharpie] Add a Simd check class to verify signatures with Simd types. * [Simd] Add simd matrix types. The OpenTK matrices (Matrix2/3/4) has a different memory layout than Apple's matrix_float2x2/matrix_float3x3/matrix_float4x4 matrices: the OpenTK versions are row-major, while Apple's versions are column-major. This means that when blitting memory from one to the other, the matrix will appear to have been transposed. See bug #[58599][2] for an example. Unfortunately we've already bound several API with Apple's matrix_floatXxX matrices using OpenTK's matrices, and although they're bound wrong, and the matrices appear transposed on input/output, we can't change the behavior because we have to maintain compatibility. This means we have to introduce new API, and then also just define new matrix types with the right memory layout (column-major). Additionally, in the future we might be able to mark these matrices as Simd-matrixes, so that the JIT/AOT compiler can generate the correct alignment for them, avoiding having to define a native conversion method (using the [MarshalDirective] hack). The matrices have been designed to match API-wise the matrices in the System.Numerics.Vectors namespace [1], but for the moment with only a few basic operations implemented (Determinant/Transpose/Multiply) defined (we can always add more later if we want to). In addition explicit conversion operators to and from the corresponding OpenTK.MatrixX are implemented, which means any operation defined in the OpenTK matrices can be used by converting back and forth. [1]: https://msdn.microsoft.com/en-us/library/system.numerics.matrix4x4(v=vs.111).aspx [2]: https://bugzilla.xamarin.com/show_bug.cgi?id=58599 * [ARKit] Use the new Simd matrix types. * [Vision] Use the new Simd matrix types. * [ModelIO] Use the new Simd-compatible matrix types, and deprecate the old API. * [GameplayKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [SpriteKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [xtro] Don't report missing [MarshalDirective] for obsolete methods. * [xtro] Remove unnecessary ignores. The implementation changed, and these stayed accidentally. * [wkwebkit] Fix (native) protocol names (#2572) Also ignore xtro's WKSnapshotConfiguration since it's an Apple bug 34185961 reference (xtro) !missing-protocol! WKURLSchemeHandler not bound !missing-protocol! WKURLSchemeTask not bound !unknown-protocol! WKUrlSchemeHandler bound !unknown-protocol! WKUrlSchemeTask bound !unknown-type! WKSnapshotConfiguration bound * [uikit] Fix enums availability attributes (#2575) - Fixes bug #59132: [uikit] Extra types in watchOS (https://bugzilla.xamarin.com/show_bug.cgi?id=59132) * [watchkit] Add missing designated initializers (#2574) references (xtro) !missing-designated-initializer! WKInterfaceController::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! WKUserNotificationInterfaceController::init is missing an [DesignatedInitializer] attribute * [xtro] Reword some of the Simd diagnostic messages according to review. * [tests] Make sure test symbols don't clash between different test libraries. Fixes this build problem for framework-test: clang: error: linker command failed with exit code 1 (use -v to see invocation) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_get_rotation_matrix'. MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticObjectTest.framework/XStaticObjectTest (Location related to previous error) MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticArTest.framework/XStaticArTest(libtest-ar.x86_64.o) (Location related to previous error) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransformcomponent_get_local_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_create_global_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float4x4'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float3x3'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float2x2'. MTOUCH: error MT5209: Native linking error: 6 duplicate symbols for architecture x86_64 MTOUCH: error MT5202: Native linking failed. Please review the build log. * [tests] Since libtest.a need ModelIO now, the corresponding LinkWith attributes need to state that too. * [introspection] Don't check native signatures on obsolete members, and ignore the right simd matrix types. Fixes this introspection/Mac problem: ***** ApiSignatureTest.NativeSignatures Selector: uniformWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: uniformWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: uniformWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: setMatrixFloat2x2Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: setMatrixFloat3x3Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: setMatrixFloat4x4Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: initWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: initWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: initWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded * [monotouch-tests] Include more custom asserts for watchOS to make the build work. Fixes this: Simd/MatrixFloat4x4Test.cs(28,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(29,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(37,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(48,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' [...] * [monotouch-test] Exclude code that requires the binding project from xammac tests. Exclude code that requires the test binding project from xammac tests because there's currently no XM version of the test binding project. Fixes this: tests/monotouch-test/SpriteKit/UniformTest.cs(20,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLMaterialProperty.cs(37,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLTransform.cs(34,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) * Bump version for preview #8 (#2576) * [spritekit] Audit fixes (xtro) (#2577) 1. SKVideoNode is now, partially, available on watchOS and does not require the extra, manual code to swicth selectors depending on the OS version being run. !missing-type! SKVideoNode not bound !missing-selector! SKVideoNode::anchorPoint not bound !missing-selector! SKVideoNode::initWithCoder: not bound !missing-selector! SKVideoNode::initWithFileNamed: not bound !missing-selector! SKVideoNode::initWithURL: not bound !missing-selector! SKVideoNode::setAnchorPoint: not bound !missing-selector! SKVideoNode::setSize: not bound !missing-selector! SKVideoNode::size not bound !missing-selector! +SKVideoNode::videoNodeWithFileNamed: not bound !missing-selector! +SKVideoNode::videoNodeWithURL: not bound 2. SKNodeFocusBehavior is exposed needlessly on watchOS because SpriteKit/Enums.cs was not processed by the generator, so [NoWatch] did not matter. !unknown-native-enum! SKNodeFocusBehavior bound It's also visible on macOS but nothing uses it (so we do not expose it needlessly) !missing-enum! SKNodeFocusBehavior not bound 3. Add missing designated initializer on default `init` !missing-designated-initializer! SKAttributeValue::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! SKNode::init is missing an [DesignatedInitializer] attribute 4. Remove inconsistency for SKNode subclasses wrt XAMCORE_4_0 The trio attributeValues, setAttributeValues and setValue:forAttributeNamed: that was moved from SKNode (deprecated) into its subclasses. This was done using XAMCORE_4_0 but not on every subclasses. This adds them everywhere to be consistent (only SKNode versions are not defined in XAMCORE_4_0) !missing-selector! SKEffectNode::attributeValues not bound !missing-selector! SKEffectNode::setAttributeValues: not bound !missing-selector! SKEffectNode::setValue:forAttributeNamed: not bound !missing-selector! SKEffectNode::valueForAttributeNamed: not bound !missing-selector! SKEmitterNode::attributeValues not bound !missing-selector! SKEmitterNode::setAttributeValues: not bound !missing-selector! SKEmitterNode::setValue:forAttributeNamed: not bound !missing-selector! SKEmitterNode::valueForAttributeNamed: not bound !missing-selector! SKSpriteNode::attributeValues not bound !missing-selector! SKSpriteNode::setAttributeValues: not bound !missing-selector! SKSpriteNode::setValue:forAttributeNamed: not bound !missing-selector! SKSpriteNode::valueForAttributeNamed: not bound * [introspection] Make sure '[FAIL]' is printed before every failure. (#2578) This makes xharness able to list the failures in the inline summary. * [xtro] Reword some of the Simd diagnostic messages according to review. * [xharness] Add a missing IsServerMode check to generate correct html. (#2581) * [SpriteKit] SKTransformNode is new in Xcode 9 so no need to keep the broken (and obsolete) non-simd version of RotationMatrix. * [intents] Fix some (partial) xtro issues and #59156 (#2585) reference https://bugzilla.xamarin.com/show_bug.cgi?id=59156 Remaining issues are filled in https://bugzilla.xamarin.com/show_bug.cgi?id=59183 !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound * [Intents] Confirm* interface methods should be bound as Confirm, Fixes Bug 59164 (#2591) * [Intents] Confirm* interface methods should probably be bound as Confirm, Fixes Bug 59164 https://bugzilla.xamarin.com/show_bug.cgi?id=59164 All Confirm* methods from *IntentHandling interfaces should be named just `Confirm` to avoid confusion because most of them do not directly confirm as an acion, but instead they **ask** for confirmation also we would follow swift's naming by doing this. * [Intents] XAMCORE_4_0 all Confirm* methods from *IntentHandling Turns any Confirm* into just Confirm inside a XAMCORE_4_0 block, * [Intents] Fix breaking changes in Intents added in Xcode 9 Bindings (#2590) Apple added more protocol conformances to INRidesharingDomainHandling and INPaymentsDomainHandling protocols in Xcode 9, I introduced these breaking changes back when I did intents binding so fixing them :) * [Metal] New bindings from Xcode 9 betas (#2457) * [AVFoundation] Updated bindings for xcode9. (#2272) * [Xcode9] Add IOSurface bindings (#2363) * This framework was a private framework before iOS 11. This framework was a private framework before iOS 11, yet the headers claim many API were introduced in iOS 10. So take account of this difference by using the private framework location in iOS 10.3 or earlier. Testing these API from Xcode works fine when run on an iOS 10.3 device, and I've confirmed the IOSurface framework is loaded from the private frameworks path on older devices (and when built using Xcode 9 and linked with the public framework path). * Disable code to make IOSurface work on iOS 10. Disable the code to make IOSurface work on iOS 10, since it may be rejected by the App Store. This also means adjusting the availability attributes, so that the introspection tests pass (and to document that technically these API won't work when used with Xamarin.iOS in iOS 10). I've filed bug #[59201][1] to keep track of this, maybe we can re-enable this later. [1]: https://bugzilla.xamarin.com/show_bug.cgi?id=59201 * [CoreMedia] Fix leak in CMAttachmentBearer.GetAttachments. (#2593) The caller owns the return value from CMCopyDictionaryOfAttachments, so tell Runtime.GetNSObject that. * [Intents] Adds missing API found by xtro, fixes Bug 59183 (#2596) https://bugzilla.xamarin.com/show_bug.cgi?id=59183 Fixes !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !incorrect-protocol-member! INUIHostedViewControlling::configureWithInteraction:context:completion: is OPTIONAL and should NOT be abstract * [xtro] Fix StartWorkingDirectory to enable debugging (#2598) * [iosurface] Enable for tvOS and XM classic (to avoid multiple defines around consumer API) (#2597) * [xtro] Fix EnumCheck (#2600) * [ARKit] Rename a few method to make them nicer. (#2604) * DisplayTransform -> GetDisplayTransform since methods should have verbs. * SessionWasInterrupted -> WasInterrupted and SessionInterruptionEnded -> InterruptionEnded since these names match better with the other names (CameraDidChangeTrackingState / DidFail / DidOutputAudioSampleBuffer: none are prefixed with 'Session'). Additionally, the type is a Model (for the delegate pattern), which means all methods are more-or-less event-like, and the first argument is always the same (the protocol itself), which is another indicator the methods should be named similarly. * [Foundation] Remove 'Key' suffix from some fields. (#2606) Of the 168 fields in NSMetadataItem, only these 5 hadn't removed the 'Key' suffix. So make them all equivalent by removing the 'Key' suffix from these 5 fields. * [ImageIO] Fix API to not duplicate the instance in instance methods. (#2609) An instance method does not need to take the instance as a parameter, so remove the first (instance) parameter for CGImageDestination.AddAuxiliaryDataInfo and CGImageSource.CopyAuxiliaryDataInfo. An alternative solution would be to make the methods static, but I like the instance API better. * [UIKit] De-model UIDataSourceTranslating. (#2603) It's not clear from neither the documentation nor the headers how this protocol is supposed to be used, and since it doesn't correspond to the delegate pattern, remove the [Model] attribute for now. We can always add it back later. * [CoreML] Improve API. (#2592) * [CoreML] Improve API. * The indices, shape and stride properties for MLMultiArray and MLMultiArrayConstraint can logically only be arrays of integers, so type them as such. This means adding overloads for MLMultiArray's constructors, GetObject and SetObject methods, and the indexers that takes nint[] arrays instead of NSNumber[] arrays. * Change MLFeatureValue's static factory methods to be a method ('Create') instead of a preposition, and call all the different factory methods the same, since they can be overloaded nicely. * [tests][monotouch-test] Add version check to MLMultiArrayTest and make sure the arrays we create are big enough for the data we put in them. * [tests][monotouch-test] MLMultiArray's elements aren't zero-initialized, so don't assume that in the tests. * Support overloading Objective-C methods based on static/instance. (#2607) Two Objective-C methods can be named identically as long as one is static and the other instance. We must support this since Apple did just this (in the NSItemProviderReading / NSItemProviderWriting protocols). We solve it by prepending a '+' or '-' to the selector when hashing it (to determine selector uniqueness, and to look the method up again at runtime). * [uikit] Update for Xcode 9 - Part 6 (#2602) NSAttributedString.h NSFileProviderExtension.h NSLayoutAnchor.h UIAccessibility.h UIAccessibilityAdditions.h UIAccessibilityContainer.h UIAccessibilityContentSizeCategoryImageAdjusting.h UIAccessibilityCustomRotor.h UIAccessibilityLocationDescriptor.h UITabBar.h UINavigationBar.h UIScreen.h * Xcode9 scenekit (#2512) * [SceneKit] basic work * Added key * [xcode9] SCNCameraController * [xcode9] SCNCamera updates * [xcode9] SCNMaterial * [xcode9] SCNGeometryTessellator, SCNCameraControlConfiguration, SCNView, small bits * Add trailing commas to last enum value * Remove whitespace noise * [scenekit] Update deprecated attributes messages * Addresses some of Rolf's feedback * Drop the WeakDelegate in SCNCameraController * Rename method to Render, remove ctor from class that can not be constructed in Palygrounds, add typo exception * [AppKit] Rename NSBezierPath.AppendBezierPathWithCGGlyph to match its sibling methods. (#2605) NSBezierPath contains a lot of 'AppendPathWithXXX' methods, that all map to 'appendBezierPathXXX' selectors. So rename AppendBezierPathWithCGGlyph accordingly, to make it more similar to the other methods in the same type. * [uikit] Add all UISpringLoadedInteractionSupporting (#2616) Types do not conform to the protocol but protocol methods work on those types (see monotouch-test). Fixed introspection tests accordingly and tested the selectors in monotouch-test. * [Intents] Add convenience ctor overload and call correct base ctor in manual ctor. (#2613) Add a convenience constructor overload in INGetUserCurrentRestaurantReservationBookingsIntent that uses nint instead of NSNumber, since logically "number of results" will always be some sort of integer. Also call the correct base constructor in INSpeakableString's custom constructor (same as any other generated constructor). Otherwise we end up doing something like this: [[[INSpeakableString alloc] init] initWith ...], i.e. calling two different init methods. * [coreimage] Add new headers API up to beta 6 (#2601) Filters are not complete (ref: #57350) https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * Some new constants are not yet documented (type is known), so they are commented / ignored https://bugzilla.xamarin.com/show_bug.cgi?id=59296 * Filled bug for [Wrap] inside [Category] so strong dictionary helpers can be re-enabled later https://bugzilla.xamarin.com/show_bug.cgi?id=59294 * [foundation] xtro fixes for watchOS (#2586) !missing-enum! NSProcessInfoThermalState not bound !missing-field! NSProcessInfoThermalStateDidChangeNotification not bound !missing-selector! NSProcessInfo::thermalState not bound Headers are wrong and preferredPresentationStyle is not in tvOS and watchOS !missing-selector! NSItemProvider::preferredPresentationStyle not bound !missing-selector! NSItemProvider::setPreferredPresentationStyle: not bound * [uikit] Also remove UIPreferredPresentationStyle enum from platform where it's not used * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. (#2614) * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. * NSItemProviderWriting: * NSItemProviderReading: Implement correctly and completely by uncommenting commented out code. * NSMutableString: * NSAttributedString: remove inlined members, since these classes don't implement NSItemProviderReading / NSItemProviderWriting (according to the headers at least). * NSUrl: all platforms now seem to implement NSItemProviderReading / NSItemProviderWriting. * NSString: all platforms now seem to implement both NSItemProviderReading and NSItemProviderWriting * UIColor: * UIImage: Update inlined protocol members according to the latest beta. Additionally, due to the following conditions: * The protocols all have the correct members now. * In the API definition we tell the generator to inline members from a protocol by inheriting from the corresponding interface. * The generator doesn't inline static members from protocols. several 'new' keywords had to be added to silence a compiler warning that occurrs when we manually inline a static member, since the member would be included in the type both from the inherited interface and the manual implementation. * [Foundation] Comment out NSItemProviderWriting.GetItemProviderVisibility to avoid inlining/generating unusable methods. NSItemProviderWriting.GetItemProviderVisibility is an optional method, and none of the native classes that implements NSItemProviderWriting actually imlements the method. This means inlining the method in those classes ends up creating unusable API; so just comment out the method to avoid generating the unusable API. The introspection tests found this: [FAIL] Foundation.NSString : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Foundation.NSUrl : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Contacts.CNContact : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] MapKit.MKMapItem : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIColor : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIImage : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] iOSApiSelectorTest.ApiSelectorTest.StaticMethods : 6 errors found in 2348 static selector validated: See also https://bugzilla.xamarin.com/show_bug.cgi?id=59308 * [iosurface] Add missing [TV] attributes (#2619) * [opengles] Enable the new API using IOSurface (#2618) The symbol only exists inside device libraries, not on simulator, and the introspection tests were updated to ignore it. Part of https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [avfoundation][watchos] Enable AudioBufferList (fix #59145) + audit (xtro) (#2617) 1. AudioBufferList is part of CoreAudio (wrong namespace, which needs a few changes in the generator) and now available in watchOS 4 https://bugzilla.xamarin.com/show_bug.cgi?id=59145 2. Also fixes xtro found issues: !missing-type! AVAudioRecorder not bound !missing-selector! AVAudioRecorder::averagePowerForChannel: not bound !missing-selector! AVAudioRecorder::channelAssignments not bound !missing-selector! AVAudioRecorder::currentTime not bound !missing-selector! AVAudioRecorder::delegate not bound !missing-selector! AVAudioRecorder::deviceCurrentTime not bound !missing-selector! AVAudioRecorder::format not bound !missing-selector! AVAudioRecorder::initWithURL:format:error: not bound !missing-selector! AVAudioRecorder::initWithURL:settings:error: not bound !missing-selector! AVAudioRecorder::isMeteringEnabled not bound !missing-selector! AVAudioRecorder::isRecording not bound !missing-selector! AVAudioRecorder::peakPowerForChannel: not bound !missing-selector! AVAudioRecorder::recordAtTime: not bound !missing-selector! AVAudioRecorder::recordAtTime:forDuration: not bound !missing-selector! AVAudioRecorder::recordForDuration: not bound !missing-selector! AVAudioRecorder::setChannelAssignments: not bound !missing-selector! AVAudioRecorder::setDelegate: not bound !missing-selector! AVAudioRecorder::setMeteringEnabled: not bound !missing-selector! AVAudioRecorder::settings not bound !missing-selector! AVAudioRecorder::url not bound !missing-protocol! AVAudioRecorderDelegate not bound !missing-selector! AVAudioEngine::inputNode not bound !missing-selector! AVAudioEngine::manualRenderingBlock not bound !missing-selector! AVAudioInputNode::setManualRenderingInputPCMFormat:inputBlock: not bound !missing-selector! AVAudioPlayer::format not bound !missing-selector! AVAudioSession::requestRecordPermission: not bound !unknown-field! AVFileType3GPP bound !unknown-field! AVFileType3GPP2 bound !unknown-field! AVFileTypeAC3 bound !unknown-field! AVFileTypeAIFC bound !unknown-field! AVFileTypeAIFF bound !unknown-field! AVFileTypeAMR bound !unknown-field! AVFileTypeAVCI bound !unknown-field! AVFileTypeAppleM4A bound !unknown-field! AVFileTypeAppleM4V bound !unknown-field! AVFileTypeCoreAudioFormat bound !unknown-field! AVFileTypeDNG bound !unknown-field! AVFileTypeEnhancedAC3 bound !unknown-field! AVFileTypeHEIC bound !unknown-field! AVFileTypeHEIF bound !unknown-field! AVFileTypeJPEG bound !unknown-field! AVFileTypeMPEG4 bound !unknown-field! AVFileTypeMPEGLayer3 bound !unknown-field! AVFileTypeQuickTimeMovie bound !unknown-field! AVFileTypeSunAU bound !unknown-field! AVFileTypeTIFF bound !unknown-field! AVFileTypeWAVE bound * [Metal] Implement API using IOSurface now that IOSurface is implemented. Partially fixes #58054. (#2621) https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [PdfKit] Improve PdfAnnotation.QuadrilateralPoints binding by making it strongly typed. (#2620) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). (#2622) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). * [ARKit/Vision] Use the new simd vector types instead of the OpenTK versions. * [ModelIO] Use the new simd vectors in new API (MDLVoxelIndexExtent2). This way we won't have to create a MDLVoxelIndexExtent3 in the future. * [SpriteKit] Use the new simd vectors in new API. * [metal] Audit (xtro) based fixes (#2623) !extra-protocol-member! unexpected selector MTLArgumentEncoder::newArgumentEncoderForBufferAtIndex: found !extra-protocol-member! unexpected selector MTLComputeCommandEncoder::dispatchThreads:threadsPerThreadgroup: found macos-only !missing-field! MTLDeviceRemovalRequestedNotification not bound !missing-field! MTLDeviceWasAddedNotification not bound !missing-field! MTLDeviceWasRemovedNotification not bound !missing-pinvoke! MTLCopyAllDevices is not bound * [CloudKit] Update bindings to beta 6. (#2615) * [FileProvider] Turn NSFileProviderItemIdentifier enum into a static class, fixes bug 59329 (#2634) https://bugzilla.xamarin.com/show_bug.cgi?id=59329 At the time of binding NSFileProviderItemIdentifier it wasn't clear how it was supposed to be used, I mean apple provides two keys which I thought were the only possible values hence binding it as an smart enum. Unfortunately this wasn't the case and the user can use those two values provided from the SDK or their own NSString Identifier. Swift provides a wrapper unfortunately we can't do the same due to NSFileProviderItemIdentifier is used in the NSFileProviderItem protocol and we currently do not support changing signatures on them. * [mtouch] Teach mtouch about the 'IOSurface' framework for tvOS. Fixes #59333. (#2630) https://bugzilla.xamarin.com/show_bug.cgi?id=59333 * Bump Touch.Unit to get fix for API breakage. (#2631) spouliot/Touch.Unit@8f1e19d [NUnitOutputTextWriter] Reintroduce previous constructor to make sure we don't break binary ABI. spouliot/Touch.Unit@00b0c0b [NUnitOutputTextWriter] Don't write invalid xml comments. spouliot/Touch.Unit@de9fe20 [TouchRunner] Restore the original code path when not wrapping NUnit xml output. * [IOSurface] Add missing availability attributes for tvOS. (#2629) * Bump versions for preview 9 (#2624) * [AVFoundation] Add missing interface AVRouteDetector. (#2637) * [tests] Update xtro to reduce list sizes (#2636) * Skip OpenTK duplicate declaration (we can't change them); * Fix rule name change for ARKit / simd; * Add missing default initializer on `init` to pending actions; * Add note for AVPersistableContentKeyRequest changes wrt tvOS; * [ReplayKit] Make RPBroadcastActivityViewController.LoadBroadcastActivityViewController async-capable. (#2639) * [xcode9] More SceneKit bindings (#2633) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 (#2644) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 https://bugzilla.xamarin.com/show_bug.cgi?id=59380 vector_float3 is 16 bytes, which means the binding is incorrect, because Vector3 is 12 bytes, and our code does not that difference into account. * Add tests * [DeviceCheck] Disable default ctor for DCDevice. (#2642) It doesn't seem to be useful according to the documentation, since it appears that the only way to get an instance is to use the static CurrentDevice property. * [audiounit] Audit (xtro) fixes for tvOS (#2635) Availability attributes in non-generated files don't hide symbols/code. reference: !unknown-pinvoke! AudioUnitExtensionCopyComponentList bound !unknown-pinvoke! AudioUnitExtensionSetComponentList bound * [tests] Make sure tvOS tests don't use the (unexisting) API * [tests] Add all test project variations to tests-mac.sln (#2579) * [xharness] Make sure generated mac projects have different project guids. * [introspection] Change the project guid so that it doesn't match the dontlink-mac project guid. * [tests] Add all test project variations to tests-mac.sln. * [xharness] Fix else condition. * [FileProvider] Adds missing NSFileProviderPage constants, fixes bug 59297. (#2646) https://bugzilla.xamarin.com/show_bug.cgi?id=59297 Adds NSFileProviderInitialPageSortedByName and NSFileProviderInitialPageSortedByDate NSData constants * [Xcode9] Remove NSFileProviderMessage and NSFileProviderMessageInterface (#2647) APIs were removed in beta 2 * [Foundation/UIKit] Provide LoadObject[s] methods that return the expected type in the callback. Fixes #59049. (#2638) The callback for these LoadObject[s] methods take an INSItemProviderReading parameter. This tells our runtime that we must provide an instance of a managed object that implements this interface (but nothing else), so we create a `NSItemProviderReadingWrapper` instance, which complies with the API (since the wrapper type implements the corresponding interface). Unfortunately these methods are supposed to return an instance of the passed- in type, so in order to comply with this soft (documentation-only) requirement, provide a wrapper method that creates instances of the right types. https://bugzilla.xamarin.com/show_bug.cgi?id=59049 * [arkit] Ignore deprecated selectors (#2645) * [FileProvider] Adds missing protocol and keys from audit (#2652) ``` !missing-protocol! NSFileProviderServiceSource not bound !missing-field! NSFileProviderErrorCollidingItemKey not bound !missing-field! NSFileProviderErrorNonExistentItemIdentifierKey not bound !missing-field! NSFileProviderFavoriteRankUnranked not bound ``` Also adds `NSXpcListenerEndpoint` to foundation, needed by `NSFileProviderServiceSource` protocol. * [tests][xtro] Workaround xtro runner dupe entry exception and update data files (#2654) * [AVFoundation] Rename field to match others. (#2657) * [homekit] Audit (xtro) fixes (#2653) - HMCharacteristicEvent conforms to NSMutableCopying on iOS11 which makes it 64 bits only (so adjust intro tests) - Ignore extra setters on HMMutablePresenceEvent, rdar 33883958 !missing-selector! HMMutablePresenceEvent::setPresenceEventType: not bound !missing-selector! HMMutablePresenceEvent::setPresenceUserType: not bound * [xtro] Add missing pinvoke to pending (#2662) - Bug 59422: [uikit] Missing UIContentSizeCategoryCompareToCategory & UIContentSizeCategoryIsAccessibilityCategory (https://bugzilla.xamarin.com/show_bug.cgi?id=59422) * Merge latest d15-3 fixes into xcode9 (#2660) * [msbuild] Re-added wildcard (*) expandsion for application-identifier in Entitlements.plist (#2186) Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=57119 * Bump mono (#2213) * Framework tests were still binding non-linked Simple class which errors now (#2216) (#2218) - Improve Makefile to rebuild when projects build with errors * Bump mono to get cecil fix for bug #56808. (#2222) https://bugzilla.xamarin.com/show_bug.cgi?id=56808 * [msbuild] Use @(ReferencePath) instead of @(ResolvedFiles) (#2188) (#2214) This allows things to work on both xbuild and msbuild. In xbuild, both lists are exactly the same and on msbuild, only @(ReferencePath) exists. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=55147 * NSActivityOptions.IdleDisplaySleepDisabled had wrong value (#2232) (#2239) This was due to an integer overflow. The original value was based on Int32 1 << 40 == 256 The correct value should be based on a UInt64. 1UL << 40 == 1099511627776 * [tests] Fix bug 57699 - [iOS]InternalsTest failure (Linkall) tests on device (#2243) Strip native debugging symbols should not be checked for debug builds * Bump mono to get fix for bug #57780. https://bugzilla.xamarin.com/show_bug.cgi?id=57780 * Update .gitmodules Change branch to d15-3 branch of mono * Bump maccore to get fix for bug #55064. https://bugzilla.xamarin.com/show_bug.cgi?id=55064 * [mono] Bump mono to get the head of cecil/mono-2017-04 and fix IsComObject #57919 Also fix #58789 [1], the typo in tools/mtouch/Tuning.cs showing in MT0000 errors instead MT2102. That's already in master and d15-4 mono bump includes: [2] commit 2a6502cee0df9de5198eafe7c8b5f6ac25106f34 (HEAD -> d15-3, origin/d15-3) Merge: 02457c20fcf 5e05cafc6f1 Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 10:04:06 2017 -0400 Merge pull request #5401 from marek-safar/com [Marshal.IsComObject] Make this predicate return false instead of thr… [3] commit 02457c20fcf57c0610e844d638eb1da82b5d1eb0 Merge: da80840ea55 73fd9a1b82e Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 09:59:06 2017 -0400 Merge pull request #5400 from spouliot/bump-cecil-58834-d15-3 [cecil] Bump to the head of the mono-2017-04 branch and pick the fix for bug #58834 References [1] https://bugzilla.xamarin.com/show_bug.cgi?id=58789 [2] https://bugzilla.xamarin.com/show_bug.cgi?id=57919 [3] https://bugzilla.xamarin.com/show_bug.cgi?id=58834 * [mtouch] Put 'mono_profiler_startup_log' in the symbol list. Fixes #58778. (#2501) We need the 'mono_profiler_startup_log' symbol when profiling is enabled, so make sure to add the symbol to the correct list of symbols we need. Previously we were passing `-u _mono_profiler_startup_log` to clang directly, which is fine, but not complete, since it does not write the symbol to the symbollist file (--symbollist=file), which means it wouldn't be preserved when the MSBuild tasks strip the executable. https://bugzilla.xamarin.com/show_bug.cgi?id=58778 * Bump versions for SR3 https://trello.com/c/EVze08ei * Bump mono to include HttpClientHandler fix #44027 https://trello.com/c/jYFXadH8/8-systemnethttp-close-request-stream-when-httpclienthandler https://bugzilla.xamarin.com/show_bug.cgi?id=44027 * [FileProvider] Add missing API and turn NSString to string (#2663) Turned NSString to string in order to match exisiting API. * [uikit] Add UIPasteConfigurationSupporting and UITextPasteConfigurationSupporting (#2649) - Fixes bug #59363: Missing UIPasteConfigurationSupporting, UITextPasteConfigurationSupporting, UITextDraggable and UITextDroppable on a couple of types (https://bugzilla.xamarin.com/show_bug.cgi?id=59363) * [uikit] Remove 129 types in UIPasteConfigurationSupporting case * [scenekit] Audit (xtro) fixes (#2648) This looks like an Apple breaking change (since `SCNAnimation` is new) but we now have: > typedef void (^SCNAnimationEventBlock)(id<SCNAnimation> animation, id animatedObject, BOOL playingBackward); bound as > delegate void SCNAnimationEventHandler (CAAnimation animation, NSObject animatedObject, bool playingBackward); and `CAAnimation` conforms to `SCNAnimation` but *only* the later is available on watchOS. The delegate is only updated (since it's new) on our watchOS profile. xtro references: (watchos) !unknown-protocol! SCNCameraControlConfiguration bound (tvos/watchos) !missing-selector! SCNAnimation::animationEvents not bound !missing-selector! SCNAnimation::setAnimationEvents: not bound !missing-selector! SCNConstraint::isEnabled not bound !missing-selector! SCNConstraint::setEnabled: not bound !missing-field! SCNSceneSourceConvertToYUpKey not bound !missing-field! SCNSceneSourceConvertUnitsToMetersKey not bound (ios/tvos) !missing-protocol-conformance! SCNNode should conform to UIFocusItem * Bump maccore post 15.3 merge (#2665) * Bump Xcode 9 to GM (#2667) * Force build (on wrench) * [avfoundation] Fix breaking changes (apidiff) (#2664) * [TVServices] Update to Xcode 9 GM (#2675) * [GameController] Update to Xcode 9 GM (#2673) * [LocalAuthentication] Update to Xcode 9 GM (#2671) * [LocalAuthentication] Update to Xcode 9 GM * Remove availability from BiometryNotAvailable, BiometryNotEnrolled and BiometryLockout * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer (#2659) * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer Some of the new added types were already present BUT under a #if MONOMAC, they had to be moved. * [AVFoundation] Set the wrongly added API to be obsolete and ensure it returns logical values. (#2650) * [xtro] The right platform for macOS is 'macos', not 'osx'. (#2677) The platform name is used to filter availability attributes, and if we use the wrong platform, we'll incorrectly skip all availability attributes. The net result in unclassified entries: https://gist.github.com/rolfbjarne/a4474bc2a40c49a85cad495b51bb514f * Various Xcode 9 API improvements and also fixes bug 59433 (#2676) https://bugzilla.xamarin.com/show_bug.cgi?id=59433 While fixing bug 59433 I noticed some additional issues outlined below: AVDepthData: * Renamed **non** static `Create` methods because `Create` only makes sense with the **Static** method in this context. Also by renaming the methods we are now closer to the names that swift uses. * Kept descriptive method names in favor of self-documenting code. `Convert`, `Apply` and `Replace` do not fully give us the intent of the method. * Added a convenience `Create` static method that takes a `CGImageAuxiliaryDataInfo`. * AvailableDepthDataTypes is now an array of `CVPixelFormatType` instead of a `NSNumber` array (The aactual fix for bug 59433). ImageIO: * Refactored `CGImageAuxiliaryDataInfo` to be a `StrongDictionary` in order to avoid most of the manual code and also to avoid reimplementing the `ToDictionary` method (which contained a subtle bug). * Adjusted code to reflect the above change. * Added missing `.ctor (IntPtr, bool)` to `CGImageMetadata` so the class is able to be created by our `Runtime.Get*`. * Simplified `CopyAuxiliaryDataInfo` method by using `CGImageAuxiliaryDataInfo` as a `DictionaryContainer`. Tests: * Added `xamarinmonkey.heic` which is an image that contains depth data needed to test above changes. * Adds `AVDepthDataTests` that touches most of the changes listed here. * Tweak the Simd-compatible matrices and vectors (#2668) * Rename them to be OpenTK.NMatrix# (instead of Simd.MatrixFloat#x#). * Remove the Vector2 and Vector4 variants, we'll use the OpenTK types instead (but we'll keep the NVector3 variant, since it's not identical to the OpenTK version). * Update the API to match their OpenTK counterparts better: * NMatrix2 and NMatrix3 have a 0-based R#C# scheme for their fields. * NMatrix4 has a 1-based M## scheme for its fields (i.e. no change). * [AVFoundation] Use Simd-matrix for API that needs it. (#2679) This also requires implementing the corresponding matrix (NMatrix4x3). Fixes this xtro issue: > !unknown-simd-type-in-signature! OpenTK.Matrix3 AVFoundation.AVCameraCalibrationData::get_GetIntrinsicMatrix(): the native signature has a simd type (matrix_float3x3), while the corresponding managed method is using an incorrect (non-simd) type. * [xtro] Fix checking availability on categories. (#2682) When checking for category availability, check if both the current declaration is a category, and if the current's declaration container is a category. Otherwise this scenario fails: * Category method is available. * Category does not have availability attributes. * Main class is unavailable. with this typical code sequence: ```csharp // don't process methods (or types) that are unavailable for the current platform if (!decl.IsAvailable () || !(decl.DeclContext as Decl).IsAvailable ()) return; ``` In which case we'd: * First check the method (`decl`): * It's available, so no further checks is done on the method. * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container's container is a category (it isn't, it's the namespace). and as such determine that the method is available. With this change, the second step will become: * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container is a category (it is), and if its main class is available (it isn't). and as such determine that the method is unavailable. * Check for attributes on the method's container (no attributes, so we continue). * Check if the method's Unclassified diff: https://gist.github.com/rolfbjarne/8fa80962596978a426eadf9b7ba39dc1 * [uikit] Update for Xcode 9 GM (#2670) * [AVFoundation] Implement AVCapturePhoto. Partially fixes #59388. (#2678) Fixes: > common.unclassified:!missing-type! AVCapturePhoto not bound https://bugzilla.xamarin.com/show_bug.cgi?id=59388 * Use strong dictionaries for AVCapturePhoto.Metadata and AVCapturePhoto.EmbeddedThumbnailPhotoFormat. * [SIMD] Implement Simd double types (VectorDouble3/MatrixDouble4x4). (#2632) The following types will be used by ModelIO bindings * Fix delta to be double * Rename Simd-compatible matrices and vectors to match our final naming. This also means removing the new Vector2 and Vector4 variants (but not Vector3). * [avfoundation] Remove AVAssetDownloadDelegate.DidLoadTimeRange since it was removed in one of the betas (#2687) * [foundation] Move NSUrlSessionMultipathServiceType to a file processed by the generator (for the availability attributes) (#2688) * [arkit] Update for Xcode 9 GM (#2681) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes (#2690) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes Type Changed: Intents.INCarSeatResolutionResult Removed methods: public static INCarSeatResolutionResult GetConfirmationRequired (INCarSeat valueToConfirm); public static INCarSeatResolutionResult GetSuccess (INCarSeat resolvedValue); * [avfoundation] Add missing protocol members and deprecations (#2691) !missing-protocol-member! AVCapturePhotoCaptureDelegate::captureOutput:didFinishProcessingPhoto:error: not found and the selector removed from PR#2687 was actually replaced with this one !missing-protocol-member! AVAssetDownloadDelegate::URLSession:aggregateAssetDownloadTask:didLoadTimeRange:totalTimeRangesLoaded:timeRangeExpectedToLoad:forMediaSelection: not found * [tests][xtro] Map some enums, more fix with protocols and update entries (#2692) * [Tests] Reenable dns tests on the watch. (#2674) * [arkit] Add ARBlendShapeLocationOptions strong dictionary (#2696) * [coreimage] Skip not yet bound filters added in Xcode9 (#2698) Tracked in https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * [Metal] Renamed MTLArgumentDescriptor.ArgumentDescriptor to Create, fixes bug 59498 (#2702) https://bugzilla.xamarin.com/show_bug.cgi?id=59498 From [argumentDescriptor docs](https://developer.apple.com/documentation/metal/mtlargumentdescriptor/2915746-argumentdescriptor?language=objc) > Creates an empty argument descriptor. * [msbuild] Always codesign app bundles if the codesign key is non-null (#2697) ...even if it is a simulator build. Turns out that starting with Xcode9, sim builds need to be codesigned for App Groups entitlements to work properly. Interestingly, the DetectSigningIdentity logic had a comment about needing to codesign simulator builds for some entitlements to work already starting with Xcode 8 but apparently the iOS targets did not respect this. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=59379 * [Foundation] Add NSProxy stub in order to workaround bug 59247 (#2693) https://bugzilla.xamarin.com/show_bug.cgi?id=59247 We need to have a better solution that removes all what NSProxy does not responds to. Right now this works because NSObject implements NSObject protocol just like NSProxy, but NSProxy responds to far less selectors hence doing it internal so it is not a breaking change when we provide the correct fix. * Keep NSProxy around and avoid XML linker description We need to keep NSProxy (avoid linking it) if WKNavigationDelegate or IWKNavigationDelegate is used. We know WKWebView will be there and can hold a reference to it. * [Xcode 9] Update Metal for GM (#2689) * [iosurface] IOSurface is not usable before iOS/tvOS 11. Fixes #59201 (#2706) Apple rejects apps that links with the previously private IOSurface.framework. We were not sure about this [1] and had it disabled (this is removed). However another bug stopped our adjustment logic [2] from being executed. This is needed since `clang` picks up the private framework if it does not find the public one (even when asking for a weak framework), [1] https://bugzilla.xamarin.com/show_bug.cgi?id=59201 [2] Added a while ago for JavascriptCore * Bump maccore to point to commit with the docs fix. (#2703) * Bump XI to 11.0.x (and XM to 3.99.9.x) (#2684) * fix typo
2017-09-16 00:53:16 +03:00
[Obsolete ("Do not use; this method only exist in macOS, not in iOS.")]
2016-04-21 15:30:02 +03:00
#endif
[NoTV]
[Availability (Deprecated = Platform.Mac_10_10)]
[Export ("setAttribute:forKey:")]
void SetAttribute (NSObject value, NSString attribuetKey);
[Mac (10,9)]
[Export ("gobo")]
SCNMaterialProperty Gobo { get; }
[TV (10, 0), Mac (10, 12), iOS (10, 0)]
[NullAllowed, Export ("IESProfileURL", ArgumentSemantic.Retain)]
NSUrl IesProfileUrl { get; set; }
2016-04-21 15:30:02 +03:00
[Mac (10,10)]
[Export ("shadowMapSize")]
CGSize ShadowMapSize { get; set; }
[Mac (10,10)]
[Export ("shadowSampleCount")]
nuint ShadowSampleCount { get; set; }
[Mac (10,10)]
[Export ("shadowMode")]
SCNShadowMode ShadowMode { get; set; }
[Mac (10,10)]
[Export ("attenuationStartDistance")]
nfloat AttenuationStartDistance { get; set; }
[Mac (10,10)]
[Export ("attenuationEndDistance")]
nfloat AttenuationEndDistance { get; set; }
[Mac (10,10)]
[Export ("attenuationFalloffExponent")]
nfloat AttenuationFalloffExponent { get; set; }
[Mac (10,10)]
[Export ("spotInnerAngle")]
nfloat SpotInnerAngle { get; set; }
[Mac (10,10)]
[Export ("spotOuterAngle")]
nfloat SpotOuterAngle { get; set; }
[Mac (10,10)]
[Export ("orthographicScale")]
nfloat OrthographicScale { get; set; }
[Mac (10,10)]
[Export ("zNear")]
nfloat ZNear { get; set; }
[Mac (10,10)]
[Export ("zFar")]
nfloat ZFar { get; set; }
[Mac (10,10), iOS (8,0)]
[Export ("categoryBitMask")]
nuint CategoryBitMask { get; set; }
[Watch (4,0), TV (11,0), Mac (10,13), iOS (11,0)]
[Export ("automaticallyAdjustsShadowProjection")]
bool AutomaticallyAdjustsShadowProjection { get; set; }
[Watch (4,0), TV (11,0), Mac (10,13), iOS (11,0)]
[Export ("maximumShadowDistance")]
nfloat MaximumShadowDistance { get; set; }
[Watch (4,0), TV (11,0), Mac (10,13), iOS (11,0)]
[Export ("forcesBackFaceCasters")]
bool ForcesBackFaceCasters { get; set; }
[Watch (4,0), TV (11,0), Mac (10,13), iOS (11,0)]
[Export ("sampleDistributedShadowMaps")]
bool SampleDistributedShadowMaps { get; set; }
[Watch (4,0), TV (11,0), Mac (10,13), iOS (11,0)]
[Export ("shadowCascadeCount")]
nuint ShadowCascadeCount { get; set; }
[Watch (4,0), TV (11,0), Mac (10,13), iOS (11,0)]
[Export ("shadowCascadeSplittingFactor")]
nfloat ShadowCascadeSplittingFactor { get; set; }
[Watch (4,0), TV (11,0), Mac (10,13), iOS (11,0)]
[Export ("sphericalHarmonicsCoefficients", ArgumentSemantic.Copy)]
NSData SphericalHarmonicsCoefficients { get; }
2016-04-21 15:30:02 +03:00
#if XAMCORE_2_0
[NoWatch]
2016-04-21 15:30:02 +03:00
[iOS (9,0), Mac(10,11)]
[Static]
[Export ("lightWithMDLLight:")]
SCNLight FromModelLight (MDLLight mdllight);
#endif
}
[Watch (3,0)]
2016-04-21 15:30:02 +03:00
[Mac (10,8), iOS (8,0)]
[Static]
interface SCNLightType {
[Field ("SCNLightTypeAmbient")]
NSString Ambient { get; }
[Field ("SCNLightTypeOmni")]
NSString Omni { get; }
[Field ("SCNLightTypeDirectional")]
NSString Directional { get; }
[Field ("SCNLightTypeSpot")]
NSString Spot { get; }
[TV (10, 0), Mac (10, 12), iOS (10, 0)]
[Field ("SCNLightTypeIES")]
NSString Ies { get; }
[TV (10, 0), Mac (10, 12), iOS (10, 0)]
[Field ("SCNLightTypeProbe")]
NSString Probe { get; }
2016-04-21 15:30:02 +03:00
}
#if MONOMAC
[Availability (Introduced = Platform.Mac_10_8, Deprecated = Platform.Mac_10_10)]
[Static]
interface SCNLightAttribute {
[Field ("SCNLightAttenuationStartKey")]
NSString AttenuationStartKey { get; }
[Field ("SCNLightAttenuationEndKey")]
NSString AttenuationEndKey { get; }
[Field ("SCNLightAttenuationFalloffExponentKey")]
NSString AttenuationFalloffExponentKey { get; }
[Field ("SCNLightSpotInnerAngleKey")]
NSString SpotInnerAngleKey { get; }
[Field ("SCNLightSpotOuterAngleKey")]
NSString SpotOuterAngleKey { get; }
[Field ("SCNLightShadowNearClippingKey")]
NSString ShadowNearClippingKey { get; }
[Field ("SCNLightShadowFarClippingKey")]
NSString ShadowFarClippingKey { get; }
}
#endif
[Watch (3,0)]
2016-04-21 15:30:02 +03:00
[Mac (10,8), iOS (8,0)]
[Static]
interface SCNLightingModel {
[Field ("SCNLightingModelPhong")]
NSString Phong { get; }
[Field ("SCNLightingModelBlinn")]
NSString Blinn { get; }
[Field ("SCNLightingModelLambert")]
NSString Lambert { get; }
[Field ("SCNLightingModelConstant")]
NSString Constant { get; }
[TV (10, 0), Mac (10, 12), iOS (10, 0)]
[Field ("SCNLightingModelPhysicallyBased")]
NSString PhysicallyBased { get; }
2016-04-21 15:30:02 +03:00
}
[Watch (3,0)]
2016-04-21 15:30:02 +03:00
[Mac (10,8), iOS (8,0)]
[BaseType (typeof (NSObject))]
interface SCNMaterial : SCNAnimatable, SCNShadable, NSCopying, NSSecureCoding {
[NullAllowed] // by default this property is null
[Export ("name", ArgumentSemantic.Copy)]
string Name { get; set; }
[Export ("diffuse")]
SCNMaterialProperty Diffuse { get; }
[Export ("ambient")]
SCNMaterialProperty Ambient { get; }
[Export ("specular")]
SCNMaterialProperty Specular { get; }
[Export ("emission")]
SCNMaterialProperty Emission { get; }
[Export ("transparent")]
SCNMaterialProperty Transparent { get; }
[Export ("reflective")]
SCNMaterialProperty Reflective { get; }
[Export ("multiply")]
SCNMaterialProperty Multiply { get; }
[Export ("normal")]
SCNMaterialProperty Normal { get; }
[Export ("shininess")]
nfloat Shininess { get; set; }
[Export ("transparency")]
nfloat Transparency { get; set; }
[Export ("lightingModelName", ArgumentSemantic.Copy)]
NSString LightingModelName { get; set; }
[Export ("litPerPixel")]
bool LitPerPixel { [Bind ("isLitPerPixel")] get; set; }
[Export ("doubleSided")]
bool DoubleSided { [Bind ("isDoubleSided")] get; set; }
[Export ("cullMode")]
SCNCullMode CullMode { get; set; }
[Export ("transparencyMode")]
SCNTransparencyMode TransparencyMode { get; set; }
[Export ("locksAmbientWithDiffuse")]
bool LocksAmbientWithDiffuse { get; set; }
[Export ("writesToDepthBuffer")]
bool WritesToDepthBuffer { get; set; }
[Static, Export ("material")]
SCNMaterial Create ();
[Mac (10,9)]
[Export ("readsFromDepthBuffer")]
bool ReadsFromDepthBuffer { get; set; }
[Mac (10,9)]
[Export ("fresnelExponent")]
nfloat FresnelExponent { get; set; }
[iOS (9,0), Mac(10,11)]
[Export ("blendMode", ArgumentSemantic.Assign)]
SCNBlendMode BlendMode { get; set; }
[iOS (9,0), Mac(10,11)]
[Export ("ambientOcclusion")]
SCNMaterialProperty AmbientOcclusion { get; }
[iOS (9,0), Mac(10,11)]
[Export ("selfIllumination")]
SCNMaterialProperty SelfIllumination { get; }
[TV (10, 0), Mac (10, 12), iOS (10, 0)]
[Export ("metalness")]
SCNMaterialProperty Metalness { get; }
[TV (10, 0), Mac (10, 12), iOS (10, 0)]
[Export ("roughness")]
SCNMaterialProperty Roughness { get; }
2016-04-21 15:30:02 +03:00
#if XAMCORE_2_0
[NoWatch]
2016-04-21 15:30:02 +03:00
[iOS (9,0), Mac(10,11)]
[Static]
[Export ("materialWithMDLMaterial:")]
SCNMaterial FromMaterial (MDLMaterial material);
Merge xcode9 into d15-4[-xi] (#2710) * [FileProvider] Add Xcode 9 Beta 1, 2 & 3 Bindings (#2279) * [FileProvider] Add Xcode 9 Beta 1 Bindings * Better naming * Feedback not related to BindAs * [FileProvider] Removes BindAs, add manual code for it and updated to Beta 3 * [FileProvider] Implement feedback * [CoreSpotlight] Updated spotlight bindings for xcode 9 beta 3. (#2193) Updated spotlight bindings for xcode 9 beta 3. * Fix warning caused by duplicate (#2354) * [FileProviderUI] Add Xcode 9 Beta 1 to 3 bindings (#2356) * Bump to Xcode 9 beta 4 * [arkit] ARLightEstimate does not conform to NSCopying anymore (fix unit test) * [uikit] NSFileProviderExtension.ReparentItem got a new parameter in beta4 (fix unit test) * [coreimage] CIImageAccumulator init returns nil in beta 4 There's no header change to mention `init` is not allowed but it's not clear how this default initializer could be used. Also make public some other API to construct this type (outside of XM). It's not clear why there were `internal` as they are (at least now) part of the header files. * [photos] Add helpers when PHLivePhotoEditingOption/NSDictionary is null (to avoid ambiguous API) (#2360) Adding a strongly typed `PHLivePhotoEditingOption` (a strongly typed version of an `NSDictionary`) can cause a `CS0121` (call is ambiguous) since using a `null` argument is common (only one option exist so far). This PR adds overloads that makes the code nicer in such case, e.g. before Xcode9: > // null is used when no options are given > _foo.SaveLivePhoto (output, null, completion); current (Xcode 9) > // casting required to remove ambiguity with PHLivePhotoEditingOption > _foo.SaveLivePhoto (output, (NSDictionary)null, completion); with this PR > // no option, no argument > _foo.SaveLivePhoto (output, completion); The same applies to `PrepareLivePhotoForPlayback`. * [tests] Disable/tweak two tests that breaks on (almost) all Xcode updates Those tests were not added to validate xOS so just keep the parts that helps us (without constantly checking back the new break flavor) * Disable watchOS to check if this hides others issues * [mapkit] Update for beta 4 * [coredata] Update for beta 4 * [wkwebkit] Update for beta 4 Note: WKWindowFeatures.h is not compiled (part of the framework umbrella) and the `@interface WKWindowFeatures (WKPrivate)` sounds like it should not have been exposed (it's all fields starting with `_`) * [corelocation] Update for beta 4 * Revert "Disable watchOS to check if this hides others issues" This reverts commit fed2249fa43290a1956ab2fe0d48f83ab6db9711. * [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]: https://github.com/xamarin/xamarin-macios/blob/f5956d6cc1eb5dfa7bab16628cf282d40237f64e/src/generator.cs#L5985 * [FinderSync] Update to beta 4 (#2377) * [ImageIO] Update to Xcode 9 (#2353) * [PhotosUI] Move macOS photosui bindings out of photos.cs into photosui.cs (#2358) * [quicklook] Update up to beta 4 (#2374) * [uikit] UIDragInteraction & UIDragInteractionDelegate (Xcode 9 b1,2,3) (#2357) * [safariservices] Update up to beta 4 (#2380) * [coreanimation] Update to beta 4 (#2382) Apple removed (mistake?) some API in beta 1. Filed as rdar 33590997 Internal tracking in https://trello.com/c/J8BDDUV9/86-33590997-coreanimation-quartzcore-api-removals * [storekit] Update up to beta 4 (#2379) * [CoreML] Update to Xcode 9 Beta 4 (#2387) * [uikit] UICollectionView/UITableView Drag & Drop (Xcode 9 b1,2,3 & 4) (#2355) * Update code after radar 32929318 and 32897776 are fixed in b4 (#2394) * [xcode9 CoreAudio] New definitions from Beta1 to Beta3 (#2359) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 (#2397) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 https://bugzilla.xamarin.com/show_bug.cgi?id=58512 Created strong API (VNBarcodeSymbology) on the following properties * VNDetectBarcodesRequest.SupportedSymbologies * VNDetectBarcodesRequest.Symbologies * VNBarcodeObservation.Symbology * Remove modern C# because classic can't do it 😡 * [mediaplayer] Update up to beta 4 (#2388) * [watchkit] Update to beta 4 (#2398) * Bump Visual Studio for Mac max version (#2408) * [coreimage] Add CIBarcodeDescriptor and enabled missing API for VNBarcodeObservation. Fix #58197 (#2411) https://bugzilla.xamarin.com/show_bug.cgi?id=58197 * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 (#2407) * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 * [uikit] Fixes based on comments * [coreimage] CIImageAccumulator API fixes. Fix #58349 (#2412) * Obsolete the default `init`; * XM exposed some older APIs using `int` instead of `CIFormat`. This is fixed and old APIs are obsoleted; * Both new & old APIs are now using `CIFormat` for both XI and XM. https://bugzilla.xamarin.com/show_bug.cgi?id=58349 * [uikit] UIText drag & drop - up to Xcode 9 beta 4 (#2410) * [uikit] UISplitView & UIStackView up to Xcode 9 beta 4 (#2425) * Bump XI/XM versions before preview 4 (#2422) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 (#2378) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 * [PDFKit] Implement feedback * [PDFKit] the forgotten enum * [PDFKit] More feedback * [PDFKit] Add Mac changes * Missing change * Fix test RectangleF VS CGRect * Pass -Wunguarded-availability-new to quiet a new clang warning (#2424) - https://bugzilla.xamarin.com/show_bug.cgi?id=58574 * [mtouch/mmp] Ignore warnings about unguarded code section with regards to availability. (#2441) * [monotouch-test] Remove workaround for fixed Apple bug. (#2445) * Bump to Xcode 9 beta 5. (#2447) * Bump to Xcode 9 beta 5. * [mmp] Disable the partial static registrar, because Apple's macOS SDK is broken. > In file included from Xamarin.Mac.registrar.mobile.i386.m:1: > In file included from ./Xamarin.Mac.registrar.mobile.i386.h:11: > /Applications/Xcode9-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVFoundation.h:88:9: fatal error: 'AVFoundation/AVRouteDetector.h' file not found https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [mmp] Fix partial static registrar removal. * [CallKit] Update to Xcode 9 beta 5. * [ARKit] ARPointCloud doesn't conform to NSCopying anymore in Xcode 9 beta 5. * [ARKit] Update to Xcode 9 beta 5 enough to make tests happy. * [CoreImage] Stub out new filters in Xcode 9 beta 5. * [tests][monotouch] Simplify some MDLMesh asserts since values change a lot between OS versions. * [mmp] Default to the dynamic registrar for release builds again, due to bug #58629. https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [tests][introspection] CXCall started implementing NSCopying without saying so in the headers. * Disable mmp static registrar tests due to 58629 for now * [quicklook] Update to beta 5 (#2450) * [photos] Update for beta 5 (#2452) Also update some existing enum members were added in beta 1 on macOS * [safariservices] Update for beta 5 (#2455) * [mediaplayer] Update to beta 5 (#2456) * [CoreLocation] Update Xcode 9 Beta 5 (#2453) * [CoreML] Update to Xcode 9 Beta 5 (#2454) * [Contacts] Update to Xcode 9 Beta 5 (#2451) * [Vision] Update to Xcode 9 Beta 5 (#2458) * [builds] Tell LLVM to stay away from newer macOS functions. (#2459) Fixes this build problem on Sierra: > ld: weak import of symbol '_futimens' not supported because of option: -no_weak_imports for architecture x86_64 This is a symbol that was (will be?) introduced in High Sierra. Interestingly this only occurs if the Xcode 8.X Command Line Tools haven't been manually installed. Because if the Xcode 8.X Command Line Tools are installed, this happens: 1. llvm's configure script detects that 'futimens' is not usable. 2. llvm's configure script detects that 'futimens' is not usable, because xcrun sets SDKROOT=/ when calling clang. a. When the SDKROOT variable is set, clang passes '-syslibroot /usr/lib' to ld. b. When ld gets '-syslibroot /usr/lib', ld looks in '/usr/lib' for a library that contains 'futimens' in the OS itself, and since we're on Sierra, that fails to link. c. So when llvm's configure script creates a test program that checks if 'futimens' is present, the program fails. This is correct, and makes llvm *not* use futimens. 3. xcrun sets SDKROOT=/ because /usr/share/current-os.sdk/Info.plist exists. If that file does not exist, then xcrun sets SDKROOT to Xcode9's macOS SDK (because that's what xcode-select reports). a. When SDKROOT is set to Xcode9's macOS SDK, the configure check for 'futimens' succeeds, because the macOS 10.13 SDK contains that function. b. llvm happily uses 'futimens', and then the final link fails because we're using a symbol not available on all target platforms. * [arkit] Update for Xcode 9 beta 5 - Part 1 (#2460) * [tests] The container app for watchOS tests should be 64-bit. (#2463) * [xharness] watchOS tests need to run in a clean environment. Works around #58348. (#2462) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [xharness] It watchOS tests don't need to be clean anymore. Fixes #58348. (#2473) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [uikit] UIView/UIScrollView/UIViewController up to Xcode 9 beta 5 (#2431) - Add NSDirectionalEdgeInsets type. - Includes DirectionalEdgeInsetsTest. * [AudioToolbox] Update bindings to Xcode 9 beta3 (not later changes). (#2294) * [xharness] Add a file existence check. (#2478) Fixes this exception: ``` Harness exception for 'introspection': System.IO.FileNotFoundException: Could not find file '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log'. File name: '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log' at System.IO.__Error.WinIOError (System.Int32 errorCode, System.String maybeFullPath) [0x00207] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/__error.cs:188 at System.IO.FileInfo.get_Length () [0x00038] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/fileinfo.cs:171 at xharness.CaptureLog.StopCapture () [0x00021] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Log.cs:252 at (wrapper remoting-invoke-with-check) xharness.CaptureLog:StopCapture () at xharness.AppRunner+<RunAsync>d__68.MoveNext () [0x0127f] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/AppRunner.cs:642 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter`1[TResult].GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:357 at xharness.RunSimulatorTask+<RunTestAsync>d__7.MoveNext () [0x0029d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2894 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.RunTestTask+<ExecuteAsync>d__8.MoveNext () [0x0010b] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2538 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.TestTask+<RunInternalAsync>d__87.MoveNext () [0x0010d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:1870 ``` I'm not sure how this can happen, but it has on the bots [1]. [1] https://jenkins.mono-project.com/job/xamarin-macios-pr-builder/4548/Test_Report/ * Bump versions for preview 5 (#2479) * [passkit] Update to beta 5 (#2481) * [tests] Remove workaround for radar #32688391. (#2486) * [replaykit] Update up to beta 5 (#2484) * Bump maccore to get fix for bug #55064. (#2487) * [apidiff] Update definition to new 10.12 (d15-3) stable release (#2490) * [SceneKit] basic work (#2483) * [coredata] Update to beta 5 (#2488) * [homekit] Update for Xcode 9 beta 5 (#2492) * [Foundation] Update for xcode9 (#2468) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 (#2493) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 * [Intents] Implement feedback * [Intents] Add a generic version for INInteraction.GetParameterValue * [Intents] Missing check * [Contacts] Add missing foundation NSItemProviderWriting protocol to CNContact (#2496) https://bugzilla.xamarin.com/show_bug.cgi?id=58203 This is available on all Contacts supported platforms ``` ./iPhoneOS.platform/Developer/SDKs/iPhoneOS11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchOS.platform/Developer/SDKs/WatchOS4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchSimulator.platform/Developer/SDKs/WatchSimulator4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ``` * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) (#2497) * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) * [IntentsUI] Better use a delegate instead so we have named params * Bump versions before 6th preview (#2514) * [arkit] Add missing MarshalDirective to ARPlaneAnchor (#2517) - Fixes bug #58648: ARPlaneAnchor.Extent property seems incorrect but changes to correct value after Debug access (https://bugzilla.xamarin.com/show_bug.cgi?id=58648) * [xtro-sharpie] Fix a compiler warning. (#2516) Fixes these warnings: Runner.cs(197,5): warning CS0642: Possible mistaken empty statement Runner.cs(199,5): warning CS0642: Possible mistaken empty statement Runner.cs(201,5): warning CS0642: Possible mistaken empty statement Runner.cs(203,5): warning CS0642: Possible mistaken empty statement Runner.cs(205,5): warning CS0642: Possible mistaken empty statement * [uikit] Update for Xcode 9 beta 5 - Part 3 (#2511) - UIKeyCommand - UINavigationBar - UINavigationItem - UIPasteboard - UITableViewHeaderFooterView * [xtro-sharpie] Remove xtro-plugin and misc other fixes. (#2522) * [xtro-sharpie] Build with msbuild and be as quiet as requested when building. * [xtro-sharpie] Must run as a 64-bit process, since the required native libraries are 64-bit. * [xtro-sharpie] Add run configurations to the project file to ease debugging in the IDE. * [xtro-sharpie] Remove xtro-plugin and the related commands. This was needed when there wasn't a 64-bit mono, in order to run xtro-sharpie in a 64-bit process. Now there is a 64-bit mono, so it's not needed anymore. Also improve makefile targets a bit, to auto-build stuff when needed, by setting the right dependencies. * Bump Xcode 9 to beta 6 (#2519) Disable watchOS tests again It seems like the Carousel crash from beta 4 is back to haunt us. This was working fine with beta 5. * Backport d15-3 SR2 fixes (#2515) * [coredata] Update to beta 6 (#2528) This seems to only revert some nullability changes from beta 5. * [coreml] Update to beta 6 (#2531) Fix our rdar 33643011 where additional setters were added in the headers but did not exists. * [videosubscriberaccount] Update to beta 6 (#2533) Only b1 and b2 introduced some additions/changes * [uikit] Update for Xcode 9 beta 6 - Part 4 (#2527) The following headers are now up to date: - UICollectionViewFlowLayout.h - UIDocumentPickerViewController.h - UIFontDescriptor.h - UIImage.h - UIImageView.h - UIImagePickerController.h * [xharness] Re-enable the watchOS tests. (#2534) It works fine for me locally, so let's see what Jenkins says. * [macos] Add new APIs in CoreWlan from Xcode9b3 (#2525) * Update AppKit bindings based on radar 33271241 results (#2518) * Update AppKit bindings based on radar 33271241 results - The header comment was updated to note it was NSSliderTouchBarItem view that has the protocol * Remove NSUserInterfaceCompression where not listed in header * [vision] Update to beta 6 (#2532) Removal of some deprecated (during beta) `init*` selectors. Also sync the versions that were inlined in subclasses - the old ones were not removed and the new ones were not added. * [xtro-sharpie] Many methods don't have selectors in Clang's API, so default to the name if no selector. (#2523) This makes a few more unclassified entries show up (mostly missing designated initializers): https://gist.github.com/rolfbjarne/07aa20f9b50b75bf3e69ac6a825e873a * [macos] Add ExternalAccessory APIs from xcode9 (#2526) * [58851] Disable NSMenuView in AllItemsWithNSMenuShouldAllowNull (#2504) * [arkit] Update for Xcode 9 beta 5 - Part 2 (#2505) - Add last missing selector. - Add tests for manual code. * [monotouch-test] Disable FontDescriptorTest.WithFeature (#2537) Disabled because it looks like the tvOS font we use: "Gujarati Sangam MN" does not have rare ligatures anymore (and the entire test is based on it). Before getting an actual fix for that, let's disable the test so it doesn't break all current builds. See: https://bugzilla.xamarin.com/show_bug.cgi?id=58929 * [xtro-sharpie] Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute. (#2524) Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute to calculate the native name for a TypeDefinition. Unclassified changes: https://gist.github.com/rolfbjarne/828f8ee41eebb0a3b60a38d71822fe59 * [foundation/uikit] Inline NSItemProvider_UIKitAdditions in NSItemProvider (#2538) As suggested here: https://github.com/xamarin/xamarin-macios/pull/2527#discussion_r134670981 * [intents] Fix breaking changes (api-diff) (#2543) Additions of @required members inside `INSpeakable` cannot be `[Abstract]` * [contacts] Fix breaking change (api-diff) (#2542) Type Changed: Contacts.CNPostalAddress Removed method: public static string LocalizeProperty (CNPostalAddressKeyOption option); * [macos] Reenable static registrar since Xcode9b6 un-broke SDK headers (#2544) - Fix a subtle spacing issues in PartialStaticLibrary property * [corebluetooth] Update up to beta 6 and enable it on watchOS (#2540) macOS 10.13 has finally catch up with iOS and this simplifies the bindings a bit. * [foundation] API fixes (apidiff) (#2545) 1. Let's not add new, already [Obsolete] API Type Changed: Foundation.NSDimension Added constructors: [Obsolete ("Not intended to be directly instantiated, this is an abstract class.")] public NSDimension (); 2. Fix inconsistently named API, e.g. Type Changed: Foundation.NSAttributedString Added properties: public static string[] ReadableTypeIdentifiersForItemProvider { get; } public static string[] WritableTypeIdentifiers { get; } * [pdfkit] Do not add already [Obsolete] API in new profiles (#2547) and ensure using the newer, correct API works cross-platforms iOS (before) [Obsolete ("Use 'Find (string, NSStringCompareOptions)' instead.")] public virtual PdfSelection[] Find (string text, nint options); public PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'Find (string, PdfSelection, NSStringCompareOptions)' instead.")] public virtual PdfSelection Find (string text, PdfSelection selection, nint options); public void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string, NSStringCompareOptions)' instead.")] public virtual void FindAsync (string text, nint options); public void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string [], NSStringCompareOptions)' instead.")] public virtual void FindAsync (string[] text, nint options); iOS (after) public virtual PdfSelection[] Find (string text, Foundation.NSStringCompareOptions compareOptions); public virtual PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); * Bump versions for the 7th preview (#2541) * Remove additions of AVKit removed in beta5 (#2536) * NSUrlSessionTask should implement NSProgressReporting for iOS (#2548) NSUrlSessionTask implements NSProgressReporting on iOS as well as Mac, so the #if MONOMAC isn't needed. * Add missing availability attributes causing failures on older iOS versions (#2550) * [vision] Minor fix wrt xtro (#2551) including some things we need to ignore manually !missing-field! VNVisionVersionNumber not bound !missing-pinvoke! VNImagePointForFaceLandmarkPoint is not bound !missing-pinvoke! VNNormalizedFaceBoundingBoxPointForLandmarkPoint is not bound * [uikit] NSFileProviderMessaging was removed in beta 2. Fixes #58222 (#2552) reference: https://bugzilla.xamarin.com/show_bug.cgi?id=58222 * [uikit] Update for Xcode 9 - Part 5 (#2546) Bindings for the following headers: - UIActivity.h - UIActivityItemProvider.h - UIAlertController.h - UIApplication.h - UIBarButtonItem.h - UIButton.h - UICollectionViewLayout.h - UIColor.h - UIControl.h - UIDocumentMenuViewController.h - UIFontMetrics.h - UIGestureRecognizer.h - UIGraphicsImageRenderer.h - UIInputViewController.h * [CoreText] Fix an extraneous free in CTFont.GetDefaultCascadeList. (#2555) We do not own the return value from CFArrayGetValueAtIndex, so don't say we do when creating CTFontDescriptor instances, since that leads to angry dragons: 2017-08-28 20:15:20.293 monotouchtest[33186:2311738] A_FontTest 2017-08-28 20:15:20.294 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithFontDescriptorAndOptions 2017-08-28 20:15:20.295 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithNameAndOptions 2017-08-28 20:15:20.296 monotouchtest[33186:2311738] critical: Stacktrace: at <unknown> <0xffffffff> at (wrapper managed-to-native) CoreText.CTFont.CTFontCopyDefaultCascadeListForLanguages (intptr,intptr) [0x0000a] in <ae65a2b1eea242d2b68fe784749543bf>:0 at CoreText.CTFont.GetDefaultCascadeList (string[]) [0x00013] in /work/maccore/xcode9/xamarin-macios/src/CoreText/CTFont.cs:2185 at MonoTouchFixtures.CoreText.A_FontTest.GetCascadeList () [0x0001e] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/CoreText/FontTest.cs:78 at (wrapper runtime-invoke) object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) [0x0004f] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) System.Reflection.MonoMethod.InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&) [0x00016] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at System.Reflection.MonoMethod.Invoke (object,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo) [0x00032] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/corlib/System.Reflection/MonoMethod.cs:305 at System.Reflection.MethodBase.Invoke (object,object[]) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/referencesource/mscorlib/system/reflection/methodbase.cs:229 at NUnit.Framework.Internal.Reflect.InvokeMethod (System.Reflection.MethodInfo,object,object[]) [0x00009] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Reflect.cs:215 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunNonAsyncTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x00025] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:116 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x0001a] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:90 at NUnit.Framework.Internal.Commands.TestMethodCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:66 at NUnit.Framework.Internal.Commands.SetUpTearDownCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00007] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/SetUpTearDownCommand.cs:84 at NUnit.Framework.Internal.WorkItems.SimpleWorkItem.PerformWork () [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/SimpleWorkItem.cs:64 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at MonoTouch.NUnit.UI.BaseTouchRunner.Run (NUnit.Framework.Internal.Test) [0x0004d] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:442 at MonoTouch.NUnit.UI.BaseTouchRunner.Run () [0x00030] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:171 at MonoTouch.Dialog.StringElement.Selected (MonoTouch.Dialog.DialogViewController,UIKit.UITableView,Foundation.NSIndexPath) [0x00008] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/Elements.cs:765 at MonoTouch.Dialog.DialogViewController.Selected (Foundation.NSIndexPath) [0x00026] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:577 at MonoTouch.Dialog.DialogViewController/Source.RowSelected (UIKit.UITableView,Foundation.NSIndexPath) [0x00016] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:402 at (wrapper runtime-invoke) <Module>.runtime_invoke_void__this___object_object (object,intptr,intptr,intptr) [0x0005d] in <32f0c196c5bc4aa18daea2ee64a7814e>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) UIKit.UIApplication.UIApplicationMain (int,string[],intptr,intptr) [0x0005c] in <ae65a2b1eea242d2b68fe784749543bf>:0 at UIKit.UIApplication.Main (string[],intptr,intptr) [0x00005] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:79 at UIKit.UIApplication.Main (string[],string,string) [0x00038] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:63 at monotouchtest.Application.Main (string[]) [0x00011] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/Main.cs:27 at (wrapper runtime-invoke) <Module>.runtime_invoke_void_object (object,intptr,intptr,intptr) [0x00051] in <30a7f7e09de9467b8b454221034a0e38>:0 Native stacktrace: 0 monotouchtest 0x000000010fca03c4 mono_handle_native_crash + 244 1 monotouchtest 0x000000010fcadd30 mono_sigsegv_signal_handler + 288 2 libsystem_platform.dylib 0x000000011feb3b3a _sigtramp + 26 3 CoreFoundation 0x000000011de035a2 computeSanitizedString + 146 4 CoreText 0x00000001168df314 _ZN15TPurgeableCache19RetainedValueForKeyEPKv + 54 5 CoreText 0x00000001168def85 _ZNK17TDescriptorSource22CopyDescriptorUncachedEPK7__CFURLbPK10__CFString + 55 6 CoreText 0x00000001168df34f _ZNK17TDescriptorSource14CopyDescriptorEPK7__CFURLbPK10__CFString + 27 7 CoreText 0x00000001168e20ad _ZNK17TDescriptorSource35CopyFontDescriptorPerPostScriptNameEPK10__CFStringmm + 297 8 CoreText 0x00000001168dfd9e _ZNK17TDescriptorSource30CopySystemFontDescriptorByNameEPK10__CFString10UIFontFlag + 54 9 CoreText 0x00000001168e54c4 _ZNK14TFontFallbacks17CopyFontFallbacksEPK10__CFStringS2_PK9__CFArray + 652 10 CoreText 0x00000001168e4a00 _ZNK14TFontFallbacks29CopyFontFallbacksForLanguagesEPK10__CFStringPK9__CFArray + 122 11 CoreText 0x00000001168e4971 _ZN17TDescriptorSource39CopyDefaultSubstitutionListForLanguagesEPK10__CFStringPK9__CFArray + 61 12 CoreText 0x00000001169397a7 _ZNK9TBaseFont28CreateSystemDefaultFallbacksEPK10__CFStringPK9__CFArray + 51 13 CoreText 0x000000011693999c _ZNK9TBaseFont15CreateFallbacksE10UIFontFlagPPK16__CFCharacterSetPK9__CFArray + 346 14 CoreText 0x00000001168c1036 _ZNK5TFont24CreateDefaultCascadeListEPK9__CFArray + 242 15 CoreText 0x00000001168b8ff9 CTFontCopyDefaultCascadeListForLanguages + 97 16 ??? 0x0000000140eaefd3 0x0 + 5384105939 17 ??? 0x0000000140eae761 0x0 + 5384103777 18 ??? 0x000000013c9c8e74 0x0 + 5311860340 19 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 20 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 21 monotouchtest 0x000000010fd71bac mono_runtime_try_invoke_array + 1292 22 monotouchtest 0x000000010fd15587 ves_icall_InternalInvoke + 647 23 ??? 0x000000013e9fcd13 0x0 + 5345627411 24 ??? 0x000000013e9fc738 0x0 + 5345625912 25 ??? 0x000000013e9fded5 0x0 + 5345631957 26 ??? 0x000000013e9fbb76 0x0 + 5345622902 27 ??? 0x000000013e9e237e 0x0 + 5345518462 28 ??? 0x000000013e9e237e 0x0 + 5345518462 29 ??? 0x000000013e9e237e 0x0 + 5345518462 30 ??? 0x000000013e9e237e 0x0 + 5345518462 31 ??? 0x000000013e873006 0x0 + 5344014342 32 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 33 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 34 monotouchtest 0x000000010fd6e320 mono_runtime_invoke + 208 35 monotouchtest 0x000000010fe71af1 xamarin_invoke_trampoline + 5617 36 monotouchtest 0x000000010fe79ddd xamarin_arch_trampoline + 189 37 monotouchtest 0x000000010fe7b1a1 xamarin_x86_64_common_trampoline + 110 38 UIKit 0x0000000111b9876b -[UITableView _selectRowAtIndexPath:animated:scrollPosition:notifyDelegate:] + 1810 39 UIKit 0x0000000111b98986 -[UITableView _userSelectRowAtPendingSelectionIndexPath:] + 344 40 UIKit 0x0000000111a6b5c9 _runAfterCACommitDeferredBlocks + 318 41 UIKit 0x0000000111a59dad _cleanUpAfterCAFlushAndRunDeferredBlocks + 280 42 UIKit 0x0000000111a89f68 _afterCACommitHandler + 137 43 CoreFoundation 0x000000011de3ddb7 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23 44 CoreFoundation 0x000000011de3dd0e __CFRunLoopDoObservers + 430 45 CoreFoundation 0x000000011de22324 __CFRunLoopRun + 1572 46 CoreFoundation 0x000000011de21a89 CFRunLoopRunSpecific + 409 47 GraphicsServices 0x0000000121b7e9c6 GSEventRunModal + 62 48 UIKit 0x0000000111a5f7d0 UIApplicationMain + 159 49 ??? 0x000000013c9c4474 0x0 + 5311841396 50 ??? 0x000000013c9c40ad 0x0 + 5311840429 ================================================================= Got a SIGSEGV while executing native code. This usually indicates a fatal error in the mono runtime or one of the native libraries used by your application. ================================================================= * [monotouch-test] Don't subclass MKMapView. (#2556) MKMapView doesn't like being subclassed (Apple says "you should not subclass the MKMapView class itself"). Bad things like this starts happening: Thread 0 name: tid_303 Dispatch queue: com.apple.main-thread Thread 0 Crashed: 0 libsystem_kernel.dylib 0x0000000186b25348 __pthread_kill + 8 1 libsystem_pthread.dylib 0x0000000186c39354 pthread_kill$VARIANT$mp + 396 2 libsystem_c.dylib 0x0000000186a94fd8 abort + 140 3 monotouchtest 0x0000000101c02c14 mono_handle_native_crash + 22047764 (mini-exceptions.c:2548) 4 monotouchtest 0x0000000101c0d02c mono_sigsegv_signal_handler + 22089772 (mini-runtime.c:2886) 5 libsystem_platform.dylib 0x0000000186c33b60 _sigtramp + 52 6 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 7 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 8 CoreFoundation 0x0000000186eda51c -[__NSArrayM dealloc] + 68 9 CoreFoundation 0x000000018703f5c8 __CFBasicHashDrain + 312 10 CoreFoundation 0x0000000186fb5b44 _CFRelease + 224 11 CoreText 0x000000018a808404 TDescriptorSource::PurgeFontFallbacksCache+ 488452 () + 92 12 CoreText 0x000000018a808374 TDescriptorSource::PurgeFromCaches+ 488308 (__CFURL const*) const + 176 13 CoreText 0x000000018a7eec74 CTFontRemoveFromCaches + 168 14 VectorKit 0x0000000196a539b0 +[VKSharedResourcesManager removeResourceUser:] + 324 15 VectorKit 0x0000000196ca27a4 md::MapEngine::~MapEngine+ 2643876 () + 360 16 VectorKit 0x0000000196ca2634 md::MapEngine::~MapEngine+ 2643508 () + 12 17 libobjc.A.dylib 0x000000018651eef4 object_cxxDestructFromClass+ 28404 (objc_object*, objc_class*) + 148 18 libobjc.A.dylib 0x000000018652c638 objc_destructInstance + 88 19 libobjc.A.dylib 0x000000018652c690 object_dispose + 16 20 QuartzCore 0x000000018afca3ac -[CALayer dealloc] + 116 21 VectorKit 0x0000000196a43294 -[VKMapView dealloc] + 940 22 QuartzCore 0x000000018af6aafc CA::release_objects+ 744188 (X::List<void const*>*) + 32 23 QuartzCore 0x000000018afd97d8 CA::Layer::~Layer+ 1198040 () + 276 24 QuartzCore 0x000000018afca37c -[CALayer dealloc] + 68 25 QuartzCore 0x000000018af6b16c CA::Transaction::commit+ 745836 () + 1052 26 UIKit 0x0000000190393290 _afterCACommitHandler + 256 27 CoreFoundation 0x0000000186fb38b8 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 32 28 CoreFoundation 0x0000000186fb1270 __CFRunLoopDoObservers + 412 29 CoreFoundation 0x0000000186fb182c __CFRunLoopRun + 1292 30 CoreFoundation 0x0000000186ed22d8 CFRunLoopRunSpecific + 436 31 GraphicsServices 0x0000000188d58f84 GSEventRunModal + 100 32 UIKit 0x000000019040427c UIApplicationMain + 208 33 monotouchtest 0x000000010106eb90 wrapper_managed_to_native_UIKit_UIApplication_UIApplicationMain_int_string___intptr_intptr + 9907088 (/<unknown>:1) 34 monotouchtest 0x0000000100f0d6ac UIKit_UIApplication_Main_string___intptr_intptr + 8459948 (UIApplication.cs:79) 35 monotouchtest 0x0000000100f0d66c UIKit_UIApplication_Main_string___string_string + 8459884 (UIApplication.cs:63) 36 monotouchtest 0x0000000100b10450 monotouchtest_Application_Main_string__ + 4277328 (Main.cs:27) 37 monotouchtest 0x0000000100e0c244 wrapper_runtime_invoke_object_runtime_invoke_dynamic_intptr_intptr_intptr_intptr + 244 38 monotouchtest 0x0000000101c10048 mono_jit_runtime_invoke + 22102088 (mini-runtime.c:2526) 39 monotouchtest 0x0000000101c75eec do_runtime_invoke + 22519532 (object.c:2829) 40 monotouchtest 0x0000000101c78a3c do_exec_main_checked + 22530620 (object.c:4623) 41 monotouchtest 0x0000000101bf9a1c mono_jit_exec + 22010396 (driver.g.c:1040) 42 monotouchtest 0x0000000101d13d60 xamarin_main + 23166304 (monotouch-main.m:482) 43 monotouchtest 0x00000001007de710 main + 927504 (main.m:67) 44 libdyld.dylib 0x00000001869f656c start + 4 * [introspection] Let SkipDueToAttributeInProperty skip setters too (#2557) `SkipDueToAttributeInProperty` which is used to check the availability attribute of properties when the Availability info only exist on the property and not on the property Getter or Setter was wrong. This lead to `setSpringLoaded` (which was introduced in iOS 11) to not be ignored by the test (making it fail). - Fix bug #59085: [introspection-ios] selector not found for UIKit.UIBarButtonItem : setSpringLoaded: - Broken test (https://bugzilla.xamarin.com/show_bug.cgi?id=59085) * [corevideo][watchos] Enable CoreVideo on watchOS (#2553) * [storekit] Fix CampaignToken typo (#2559) (#2560) - Fixes bug #59078: StoreProductParameters and invalid property for CampaignToken (https://bugzilla.xamarin.com/show_bug.cgi?id=59078) * [coreml][watchos] Enable API using CoreVideo on watchOS. Fix #58097 (#2561) https://bugzilla.xamarin.com/show_bug.cgi?id=58097 * Add missing [MarshalDirective] attributes. (#2558) * [bindings-generator] Improve build & project file. * Add missing [MarshalDirective] attributes. Add missing [MarshalDirective] attributes, which also requires implementing support for out parameters in the binding generator, since one of the signatures missing the [MarshalDirective] contains such an out parameter. Also add tests for all the API I've added [MarshalDirective] to. * [bindings-generator] Remove redundant if check. * [monotouch-test] Rename file to end with 'Test.cs'. * [tests] Fix a few build errors for Xamarin.Mac. * [uikit] Fix UIColor and UIInputViewController tvOS availability (#2569) - Fixes introspection tests on tvOS 10. * [storekit] Fix SKCloudServiceSetupMessageIdentifier and SKProductStorePromotionController tvOS availability (#2568) - Fixes introspection tests on tvOS 10. * [mapkit] Fix MKMapItemTypeIdentifier tvOS availability (#2566) - Also remove double [Mac] availability attribute. - Fixes introspection tests on tvOS 10. * [ARKit] Fix marshalling for ARPointCloud.RawFeaturePoints. (#2565) ARPointCloud.RawFeaturePoints is an array of Vector3, but each vector is 16-byte aligned (as if it were an array of Vector4). This means we need to account for this when creating a managed array from pointer to the native C-style array. * [ModelIO] Fix MDLVoxelIndexExtent struct. (#2564) The MDLVoxelIndexExtent is a struct containing two 4-dimensional vectors of integers (not floats, as originally and incorrectly implemented). Fix this my creating a new MDLVoxelIndexExtent2 struct with the right fields, re-implement all the API that exposes this struct and obsolete the old API. Also add missing [MarshalDirective] attributes. And write a test to make sure it works fine now and forever. * [coredata] Enable new fields since rdar #33878590 is fixed w/beta 6 (#2570) reference: https://trello.com/c/dlSRYPFx * [xtro-sharpie] Add a Simd check class to verify signatures with Simd types. * [Simd] Add simd matrix types. The OpenTK matrices (Matrix2/3/4) has a different memory layout than Apple's matrix_float2x2/matrix_float3x3/matrix_float4x4 matrices: the OpenTK versions are row-major, while Apple's versions are column-major. This means that when blitting memory from one to the other, the matrix will appear to have been transposed. See bug #[58599][2] for an example. Unfortunately we've already bound several API with Apple's matrix_floatXxX matrices using OpenTK's matrices, and although they're bound wrong, and the matrices appear transposed on input/output, we can't change the behavior because we have to maintain compatibility. This means we have to introduce new API, and then also just define new matrix types with the right memory layout (column-major). Additionally, in the future we might be able to mark these matrices as Simd-matrixes, so that the JIT/AOT compiler can generate the correct alignment for them, avoiding having to define a native conversion method (using the [MarshalDirective] hack). The matrices have been designed to match API-wise the matrices in the System.Numerics.Vectors namespace [1], but for the moment with only a few basic operations implemented (Determinant/Transpose/Multiply) defined (we can always add more later if we want to). In addition explicit conversion operators to and from the corresponding OpenTK.MatrixX are implemented, which means any operation defined in the OpenTK matrices can be used by converting back and forth. [1]: https://msdn.microsoft.com/en-us/library/system.numerics.matrix4x4(v=vs.111).aspx [2]: https://bugzilla.xamarin.com/show_bug.cgi?id=58599 * [ARKit] Use the new Simd matrix types. * [Vision] Use the new Simd matrix types. * [ModelIO] Use the new Simd-compatible matrix types, and deprecate the old API. * [GameplayKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [SpriteKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [xtro] Don't report missing [MarshalDirective] for obsolete methods. * [xtro] Remove unnecessary ignores. The implementation changed, and these stayed accidentally. * [wkwebkit] Fix (native) protocol names (#2572) Also ignore xtro's WKSnapshotConfiguration since it's an Apple bug 34185961 reference (xtro) !missing-protocol! WKURLSchemeHandler not bound !missing-protocol! WKURLSchemeTask not bound !unknown-protocol! WKUrlSchemeHandler bound !unknown-protocol! WKUrlSchemeTask bound !unknown-type! WKSnapshotConfiguration bound * [uikit] Fix enums availability attributes (#2575) - Fixes bug #59132: [uikit] Extra types in watchOS (https://bugzilla.xamarin.com/show_bug.cgi?id=59132) * [watchkit] Add missing designated initializers (#2574) references (xtro) !missing-designated-initializer! WKInterfaceController::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! WKUserNotificationInterfaceController::init is missing an [DesignatedInitializer] attribute * [xtro] Reword some of the Simd diagnostic messages according to review. * [tests] Make sure test symbols don't clash between different test libraries. Fixes this build problem for framework-test: clang: error: linker command failed with exit code 1 (use -v to see invocation) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_get_rotation_matrix'. MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticObjectTest.framework/XStaticObjectTest (Location related to previous error) MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticArTest.framework/XStaticArTest(libtest-ar.x86_64.o) (Location related to previous error) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransformcomponent_get_local_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_create_global_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float4x4'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float3x3'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float2x2'. MTOUCH: error MT5209: Native linking error: 6 duplicate symbols for architecture x86_64 MTOUCH: error MT5202: Native linking failed. Please review the build log. * [tests] Since libtest.a need ModelIO now, the corresponding LinkWith attributes need to state that too. * [introspection] Don't check native signatures on obsolete members, and ignore the right simd matrix types. Fixes this introspection/Mac problem: ***** ApiSignatureTest.NativeSignatures Selector: uniformWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: uniformWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: uniformWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: setMatrixFloat2x2Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: setMatrixFloat3x3Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: setMatrixFloat4x4Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: initWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: initWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: initWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded * [monotouch-tests] Include more custom asserts for watchOS to make the build work. Fixes this: Simd/MatrixFloat4x4Test.cs(28,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(29,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(37,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(48,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' [...] * [monotouch-test] Exclude code that requires the binding project from xammac tests. Exclude code that requires the test binding project from xammac tests because there's currently no XM version of the test binding project. Fixes this: tests/monotouch-test/SpriteKit/UniformTest.cs(20,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLMaterialProperty.cs(37,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLTransform.cs(34,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) * Bump version for preview #8 (#2576) * [spritekit] Audit fixes (xtro) (#2577) 1. SKVideoNode is now, partially, available on watchOS and does not require the extra, manual code to swicth selectors depending on the OS version being run. !missing-type! SKVideoNode not bound !missing-selector! SKVideoNode::anchorPoint not bound !missing-selector! SKVideoNode::initWithCoder: not bound !missing-selector! SKVideoNode::initWithFileNamed: not bound !missing-selector! SKVideoNode::initWithURL: not bound !missing-selector! SKVideoNode::setAnchorPoint: not bound !missing-selector! SKVideoNode::setSize: not bound !missing-selector! SKVideoNode::size not bound !missing-selector! +SKVideoNode::videoNodeWithFileNamed: not bound !missing-selector! +SKVideoNode::videoNodeWithURL: not bound 2. SKNodeFocusBehavior is exposed needlessly on watchOS because SpriteKit/Enums.cs was not processed by the generator, so [NoWatch] did not matter. !unknown-native-enum! SKNodeFocusBehavior bound It's also visible on macOS but nothing uses it (so we do not expose it needlessly) !missing-enum! SKNodeFocusBehavior not bound 3. Add missing designated initializer on default `init` !missing-designated-initializer! SKAttributeValue::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! SKNode::init is missing an [DesignatedInitializer] attribute 4. Remove inconsistency for SKNode subclasses wrt XAMCORE_4_0 The trio attributeValues, setAttributeValues and setValue:forAttributeNamed: that was moved from SKNode (deprecated) into its subclasses. This was done using XAMCORE_4_0 but not on every subclasses. This adds them everywhere to be consistent (only SKNode versions are not defined in XAMCORE_4_0) !missing-selector! SKEffectNode::attributeValues not bound !missing-selector! SKEffectNode::setAttributeValues: not bound !missing-selector! SKEffectNode::setValue:forAttributeNamed: not bound !missing-selector! SKEffectNode::valueForAttributeNamed: not bound !missing-selector! SKEmitterNode::attributeValues not bound !missing-selector! SKEmitterNode::setAttributeValues: not bound !missing-selector! SKEmitterNode::setValue:forAttributeNamed: not bound !missing-selector! SKEmitterNode::valueForAttributeNamed: not bound !missing-selector! SKSpriteNode::attributeValues not bound !missing-selector! SKSpriteNode::setAttributeValues: not bound !missing-selector! SKSpriteNode::setValue:forAttributeNamed: not bound !missing-selector! SKSpriteNode::valueForAttributeNamed: not bound * [introspection] Make sure '[FAIL]' is printed before every failure. (#2578) This makes xharness able to list the failures in the inline summary. * [xtro] Reword some of the Simd diagnostic messages according to review. * [xharness] Add a missing IsServerMode check to generate correct html. (#2581) * [SpriteKit] SKTransformNode is new in Xcode 9 so no need to keep the broken (and obsolete) non-simd version of RotationMatrix. * [intents] Fix some (partial) xtro issues and #59156 (#2585) reference https://bugzilla.xamarin.com/show_bug.cgi?id=59156 Remaining issues are filled in https://bugzilla.xamarin.com/show_bug.cgi?id=59183 !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound * [Intents] Confirm* interface methods should be bound as Confirm, Fixes Bug 59164 (#2591) * [Intents] Confirm* interface methods should probably be bound as Confirm, Fixes Bug 59164 https://bugzilla.xamarin.com/show_bug.cgi?id=59164 All Confirm* methods from *IntentHandling interfaces should be named just `Confirm` to avoid confusion because most of them do not directly confirm as an acion, but instead they **ask** for confirmation also we would follow swift's naming by doing this. * [Intents] XAMCORE_4_0 all Confirm* methods from *IntentHandling Turns any Confirm* into just Confirm inside a XAMCORE_4_0 block, * [Intents] Fix breaking changes in Intents added in Xcode 9 Bindings (#2590) Apple added more protocol conformances to INRidesharingDomainHandling and INPaymentsDomainHandling protocols in Xcode 9, I introduced these breaking changes back when I did intents binding so fixing them :) * [Metal] New bindings from Xcode 9 betas (#2457) * [AVFoundation] Updated bindings for xcode9. (#2272) * [Xcode9] Add IOSurface bindings (#2363) * This framework was a private framework before iOS 11. This framework was a private framework before iOS 11, yet the headers claim many API were introduced in iOS 10. So take account of this difference by using the private framework location in iOS 10.3 or earlier. Testing these API from Xcode works fine when run on an iOS 10.3 device, and I've confirmed the IOSurface framework is loaded from the private frameworks path on older devices (and when built using Xcode 9 and linked with the public framework path). * Disable code to make IOSurface work on iOS 10. Disable the code to make IOSurface work on iOS 10, since it may be rejected by the App Store. This also means adjusting the availability attributes, so that the introspection tests pass (and to document that technically these API won't work when used with Xamarin.iOS in iOS 10). I've filed bug #[59201][1] to keep track of this, maybe we can re-enable this later. [1]: https://bugzilla.xamarin.com/show_bug.cgi?id=59201 * [CoreMedia] Fix leak in CMAttachmentBearer.GetAttachments. (#2593) The caller owns the return value from CMCopyDictionaryOfAttachments, so tell Runtime.GetNSObject that. * [Intents] Adds missing API found by xtro, fixes Bug 59183 (#2596) https://bugzilla.xamarin.com/show_bug.cgi?id=59183 Fixes !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !incorrect-protocol-member! INUIHostedViewControlling::configureWithInteraction:context:completion: is OPTIONAL and should NOT be abstract * [xtro] Fix StartWorkingDirectory to enable debugging (#2598) * [iosurface] Enable for tvOS and XM classic (to avoid multiple defines around consumer API) (#2597) * [xtro] Fix EnumCheck (#2600) * [ARKit] Rename a few method to make them nicer. (#2604) * DisplayTransform -> GetDisplayTransform since methods should have verbs. * SessionWasInterrupted -> WasInterrupted and SessionInterruptionEnded -> InterruptionEnded since these names match better with the other names (CameraDidChangeTrackingState / DidFail / DidOutputAudioSampleBuffer: none are prefixed with 'Session'). Additionally, the type is a Model (for the delegate pattern), which means all methods are more-or-less event-like, and the first argument is always the same (the protocol itself), which is another indicator the methods should be named similarly. * [Foundation] Remove 'Key' suffix from some fields. (#2606) Of the 168 fields in NSMetadataItem, only these 5 hadn't removed the 'Key' suffix. So make them all equivalent by removing the 'Key' suffix from these 5 fields. * [ImageIO] Fix API to not duplicate the instance in instance methods. (#2609) An instance method does not need to take the instance as a parameter, so remove the first (instance) parameter for CGImageDestination.AddAuxiliaryDataInfo and CGImageSource.CopyAuxiliaryDataInfo. An alternative solution would be to make the methods static, but I like the instance API better. * [UIKit] De-model UIDataSourceTranslating. (#2603) It's not clear from neither the documentation nor the headers how this protocol is supposed to be used, and since it doesn't correspond to the delegate pattern, remove the [Model] attribute for now. We can always add it back later. * [CoreML] Improve API. (#2592) * [CoreML] Improve API. * The indices, shape and stride properties for MLMultiArray and MLMultiArrayConstraint can logically only be arrays of integers, so type them as such. This means adding overloads for MLMultiArray's constructors, GetObject and SetObject methods, and the indexers that takes nint[] arrays instead of NSNumber[] arrays. * Change MLFeatureValue's static factory methods to be a method ('Create') instead of a preposition, and call all the different factory methods the same, since they can be overloaded nicely. * [tests][monotouch-test] Add version check to MLMultiArrayTest and make sure the arrays we create are big enough for the data we put in them. * [tests][monotouch-test] MLMultiArray's elements aren't zero-initialized, so don't assume that in the tests. * Support overloading Objective-C methods based on static/instance. (#2607) Two Objective-C methods can be named identically as long as one is static and the other instance. We must support this since Apple did just this (in the NSItemProviderReading / NSItemProviderWriting protocols). We solve it by prepending a '+' or '-' to the selector when hashing it (to determine selector uniqueness, and to look the method up again at runtime). * [uikit] Update for Xcode 9 - Part 6 (#2602) NSAttributedString.h NSFileProviderExtension.h NSLayoutAnchor.h UIAccessibility.h UIAccessibilityAdditions.h UIAccessibilityContainer.h UIAccessibilityContentSizeCategoryImageAdjusting.h UIAccessibilityCustomRotor.h UIAccessibilityLocationDescriptor.h UITabBar.h UINavigationBar.h UIScreen.h * Xcode9 scenekit (#2512) * [SceneKit] basic work * Added key * [xcode9] SCNCameraController * [xcode9] SCNCamera updates * [xcode9] SCNMaterial * [xcode9] SCNGeometryTessellator, SCNCameraControlConfiguration, SCNView, small bits * Add trailing commas to last enum value * Remove whitespace noise * [scenekit] Update deprecated attributes messages * Addresses some of Rolf's feedback * Drop the WeakDelegate in SCNCameraController * Rename method to Render, remove ctor from class that can not be constructed in Palygrounds, add typo exception * [AppKit] Rename NSBezierPath.AppendBezierPathWithCGGlyph to match its sibling methods. (#2605) NSBezierPath contains a lot of 'AppendPathWithXXX' methods, that all map to 'appendBezierPathXXX' selectors. So rename AppendBezierPathWithCGGlyph accordingly, to make it more similar to the other methods in the same type. * [uikit] Add all UISpringLoadedInteractionSupporting (#2616) Types do not conform to the protocol but protocol methods work on those types (see monotouch-test). Fixed introspection tests accordingly and tested the selectors in monotouch-test. * [Intents] Add convenience ctor overload and call correct base ctor in manual ctor. (#2613) Add a convenience constructor overload in INGetUserCurrentRestaurantReservationBookingsIntent that uses nint instead of NSNumber, since logically "number of results" will always be some sort of integer. Also call the correct base constructor in INSpeakableString's custom constructor (same as any other generated constructor). Otherwise we end up doing something like this: [[[INSpeakableString alloc] init] initWith ...], i.e. calling two different init methods. * [coreimage] Add new headers API up to beta 6 (#2601) Filters are not complete (ref: #57350) https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * Some new constants are not yet documented (type is known), so they are commented / ignored https://bugzilla.xamarin.com/show_bug.cgi?id=59296 * Filled bug for [Wrap] inside [Category] so strong dictionary helpers can be re-enabled later https://bugzilla.xamarin.com/show_bug.cgi?id=59294 * [foundation] xtro fixes for watchOS (#2586) !missing-enum! NSProcessInfoThermalState not bound !missing-field! NSProcessInfoThermalStateDidChangeNotification not bound !missing-selector! NSProcessInfo::thermalState not bound Headers are wrong and preferredPresentationStyle is not in tvOS and watchOS !missing-selector! NSItemProvider::preferredPresentationStyle not bound !missing-selector! NSItemProvider::setPreferredPresentationStyle: not bound * [uikit] Also remove UIPreferredPresentationStyle enum from platform where it's not used * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. (#2614) * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. * NSItemProviderWriting: * NSItemProviderReading: Implement correctly and completely by uncommenting commented out code. * NSMutableString: * NSAttributedString: remove inlined members, since these classes don't implement NSItemProviderReading / NSItemProviderWriting (according to the headers at least). * NSUrl: all platforms now seem to implement NSItemProviderReading / NSItemProviderWriting. * NSString: all platforms now seem to implement both NSItemProviderReading and NSItemProviderWriting * UIColor: * UIImage: Update inlined protocol members according to the latest beta. Additionally, due to the following conditions: * The protocols all have the correct members now. * In the API definition we tell the generator to inline members from a protocol by inheriting from the corresponding interface. * The generator doesn't inline static members from protocols. several 'new' keywords had to be added to silence a compiler warning that occurrs when we manually inline a static member, since the member would be included in the type both from the inherited interface and the manual implementation. * [Foundation] Comment out NSItemProviderWriting.GetItemProviderVisibility to avoid inlining/generating unusable methods. NSItemProviderWriting.GetItemProviderVisibility is an optional method, and none of the native classes that implements NSItemProviderWriting actually imlements the method. This means inlining the method in those classes ends up creating unusable API; so just comment out the method to avoid generating the unusable API. The introspection tests found this: [FAIL] Foundation.NSString : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Foundation.NSUrl : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Contacts.CNContact : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] MapKit.MKMapItem : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIColor : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIImage : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] iOSApiSelectorTest.ApiSelectorTest.StaticMethods : 6 errors found in 2348 static selector validated: See also https://bugzilla.xamarin.com/show_bug.cgi?id=59308 * [iosurface] Add missing [TV] attributes (#2619) * [opengles] Enable the new API using IOSurface (#2618) The symbol only exists inside device libraries, not on simulator, and the introspection tests were updated to ignore it. Part of https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [avfoundation][watchos] Enable AudioBufferList (fix #59145) + audit (xtro) (#2617) 1. AudioBufferList is part of CoreAudio (wrong namespace, which needs a few changes in the generator) and now available in watchOS 4 https://bugzilla.xamarin.com/show_bug.cgi?id=59145 2. Also fixes xtro found issues: !missing-type! AVAudioRecorder not bound !missing-selector! AVAudioRecorder::averagePowerForChannel: not bound !missing-selector! AVAudioRecorder::channelAssignments not bound !missing-selector! AVAudioRecorder::currentTime not bound !missing-selector! AVAudioRecorder::delegate not bound !missing-selector! AVAudioRecorder::deviceCurrentTime not bound !missing-selector! AVAudioRecorder::format not bound !missing-selector! AVAudioRecorder::initWithURL:format:error: not bound !missing-selector! AVAudioRecorder::initWithURL:settings:error: not bound !missing-selector! AVAudioRecorder::isMeteringEnabled not bound !missing-selector! AVAudioRecorder::isRecording not bound !missing-selector! AVAudioRecorder::peakPowerForChannel: not bound !missing-selector! AVAudioRecorder::recordAtTime: not bound !missing-selector! AVAudioRecorder::recordAtTime:forDuration: not bound !missing-selector! AVAudioRecorder::recordForDuration: not bound !missing-selector! AVAudioRecorder::setChannelAssignments: not bound !missing-selector! AVAudioRecorder::setDelegate: not bound !missing-selector! AVAudioRecorder::setMeteringEnabled: not bound !missing-selector! AVAudioRecorder::settings not bound !missing-selector! AVAudioRecorder::url not bound !missing-protocol! AVAudioRecorderDelegate not bound !missing-selector! AVAudioEngine::inputNode not bound !missing-selector! AVAudioEngine::manualRenderingBlock not bound !missing-selector! AVAudioInputNode::setManualRenderingInputPCMFormat:inputBlock: not bound !missing-selector! AVAudioPlayer::format not bound !missing-selector! AVAudioSession::requestRecordPermission: not bound !unknown-field! AVFileType3GPP bound !unknown-field! AVFileType3GPP2 bound !unknown-field! AVFileTypeAC3 bound !unknown-field! AVFileTypeAIFC bound !unknown-field! AVFileTypeAIFF bound !unknown-field! AVFileTypeAMR bound !unknown-field! AVFileTypeAVCI bound !unknown-field! AVFileTypeAppleM4A bound !unknown-field! AVFileTypeAppleM4V bound !unknown-field! AVFileTypeCoreAudioFormat bound !unknown-field! AVFileTypeDNG bound !unknown-field! AVFileTypeEnhancedAC3 bound !unknown-field! AVFileTypeHEIC bound !unknown-field! AVFileTypeHEIF bound !unknown-field! AVFileTypeJPEG bound !unknown-field! AVFileTypeMPEG4 bound !unknown-field! AVFileTypeMPEGLayer3 bound !unknown-field! AVFileTypeQuickTimeMovie bound !unknown-field! AVFileTypeSunAU bound !unknown-field! AVFileTypeTIFF bound !unknown-field! AVFileTypeWAVE bound * [Metal] Implement API using IOSurface now that IOSurface is implemented. Partially fixes #58054. (#2621) https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [PdfKit] Improve PdfAnnotation.QuadrilateralPoints binding by making it strongly typed. (#2620) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). (#2622) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). * [ARKit/Vision] Use the new simd vector types instead of the OpenTK versions. * [ModelIO] Use the new simd vectors in new API (MDLVoxelIndexExtent2). This way we won't have to create a MDLVoxelIndexExtent3 in the future. * [SpriteKit] Use the new simd vectors in new API. * [metal] Audit (xtro) based fixes (#2623) !extra-protocol-member! unexpected selector MTLArgumentEncoder::newArgumentEncoderForBufferAtIndex: found !extra-protocol-member! unexpected selector MTLComputeCommandEncoder::dispatchThreads:threadsPerThreadgroup: found macos-only !missing-field! MTLDeviceRemovalRequestedNotification not bound !missing-field! MTLDeviceWasAddedNotification not bound !missing-field! MTLDeviceWasRemovedNotification not bound !missing-pinvoke! MTLCopyAllDevices is not bound * [CloudKit] Update bindings to beta 6. (#2615) * [FileProvider] Turn NSFileProviderItemIdentifier enum into a static class, fixes bug 59329 (#2634) https://bugzilla.xamarin.com/show_bug.cgi?id=59329 At the time of binding NSFileProviderItemIdentifier it wasn't clear how it was supposed to be used, I mean apple provides two keys which I thought were the only possible values hence binding it as an smart enum. Unfortunately this wasn't the case and the user can use those two values provided from the SDK or their own NSString Identifier. Swift provides a wrapper unfortunately we can't do the same due to NSFileProviderItemIdentifier is used in the NSFileProviderItem protocol and we currently do not support changing signatures on them. * [mtouch] Teach mtouch about the 'IOSurface' framework for tvOS. Fixes #59333. (#2630) https://bugzilla.xamarin.com/show_bug.cgi?id=59333 * Bump Touch.Unit to get fix for API breakage. (#2631) spouliot/Touch.Unit@8f1e19d [NUnitOutputTextWriter] Reintroduce previous constructor to make sure we don't break binary ABI. spouliot/Touch.Unit@00b0c0b [NUnitOutputTextWriter] Don't write invalid xml comments. spouliot/Touch.Unit@de9fe20 [TouchRunner] Restore the original code path when not wrapping NUnit xml output. * [IOSurface] Add missing availability attributes for tvOS. (#2629) * Bump versions for preview 9 (#2624) * [AVFoundation] Add missing interface AVRouteDetector. (#2637) * [tests] Update xtro to reduce list sizes (#2636) * Skip OpenTK duplicate declaration (we can't change them); * Fix rule name change for ARKit / simd; * Add missing default initializer on `init` to pending actions; * Add note for AVPersistableContentKeyRequest changes wrt tvOS; * [ReplayKit] Make RPBroadcastActivityViewController.LoadBroadcastActivityViewController async-capable. (#2639) * [xcode9] More SceneKit bindings (#2633) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 (#2644) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 https://bugzilla.xamarin.com/show_bug.cgi?id=59380 vector_float3 is 16 bytes, which means the binding is incorrect, because Vector3 is 12 bytes, and our code does not that difference into account. * Add tests * [DeviceCheck] Disable default ctor for DCDevice. (#2642) It doesn't seem to be useful according to the documentation, since it appears that the only way to get an instance is to use the static CurrentDevice property. * [audiounit] Audit (xtro) fixes for tvOS (#2635) Availability attributes in non-generated files don't hide symbols/code. reference: !unknown-pinvoke! AudioUnitExtensionCopyComponentList bound !unknown-pinvoke! AudioUnitExtensionSetComponentList bound * [tests] Make sure tvOS tests don't use the (unexisting) API * [tests] Add all test project variations to tests-mac.sln (#2579) * [xharness] Make sure generated mac projects have different project guids. * [introspection] Change the project guid so that it doesn't match the dontlink-mac project guid. * [tests] Add all test project variations to tests-mac.sln. * [xharness] Fix else condition. * [FileProvider] Adds missing NSFileProviderPage constants, fixes bug 59297. (#2646) https://bugzilla.xamarin.com/show_bug.cgi?id=59297 Adds NSFileProviderInitialPageSortedByName and NSFileProviderInitialPageSortedByDate NSData constants * [Xcode9] Remove NSFileProviderMessage and NSFileProviderMessageInterface (#2647) APIs were removed in beta 2 * [Foundation/UIKit] Provide LoadObject[s] methods that return the expected type in the callback. Fixes #59049. (#2638) The callback for these LoadObject[s] methods take an INSItemProviderReading parameter. This tells our runtime that we must provide an instance of a managed object that implements this interface (but nothing else), so we create a `NSItemProviderReadingWrapper` instance, which complies with the API (since the wrapper type implements the corresponding interface). Unfortunately these methods are supposed to return an instance of the passed- in type, so in order to comply with this soft (documentation-only) requirement, provide a wrapper method that creates instances of the right types. https://bugzilla.xamarin.com/show_bug.cgi?id=59049 * [arkit] Ignore deprecated selectors (#2645) * [FileProvider] Adds missing protocol and keys from audit (#2652) ``` !missing-protocol! NSFileProviderServiceSource not bound !missing-field! NSFileProviderErrorCollidingItemKey not bound !missing-field! NSFileProviderErrorNonExistentItemIdentifierKey not bound !missing-field! NSFileProviderFavoriteRankUnranked not bound ``` Also adds `NSXpcListenerEndpoint` to foundation, needed by `NSFileProviderServiceSource` protocol. * [tests][xtro] Workaround xtro runner dupe entry exception and update data files (#2654) * [AVFoundation] Rename field to match others. (#2657) * [homekit] Audit (xtro) fixes (#2653) - HMCharacteristicEvent conforms to NSMutableCopying on iOS11 which makes it 64 bits only (so adjust intro tests) - Ignore extra setters on HMMutablePresenceEvent, rdar 33883958 !missing-selector! HMMutablePresenceEvent::setPresenceEventType: not bound !missing-selector! HMMutablePresenceEvent::setPresenceUserType: not bound * [xtro] Add missing pinvoke to pending (#2662) - Bug 59422: [uikit] Missing UIContentSizeCategoryCompareToCategory & UIContentSizeCategoryIsAccessibilityCategory (https://bugzilla.xamarin.com/show_bug.cgi?id=59422) * Merge latest d15-3 fixes into xcode9 (#2660) * [msbuild] Re-added wildcard (*) expandsion for application-identifier in Entitlements.plist (#2186) Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=57119 * Bump mono (#2213) * Framework tests were still binding non-linked Simple class which errors now (#2216) (#2218) - Improve Makefile to rebuild when projects build with errors * Bump mono to get cecil fix for bug #56808. (#2222) https://bugzilla.xamarin.com/show_bug.cgi?id=56808 * [msbuild] Use @(ReferencePath) instead of @(ResolvedFiles) (#2188) (#2214) This allows things to work on both xbuild and msbuild. In xbuild, both lists are exactly the same and on msbuild, only @(ReferencePath) exists. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=55147 * NSActivityOptions.IdleDisplaySleepDisabled had wrong value (#2232) (#2239) This was due to an integer overflow. The original value was based on Int32 1 << 40 == 256 The correct value should be based on a UInt64. 1UL << 40 == 1099511627776 * [tests] Fix bug 57699 - [iOS]InternalsTest failure (Linkall) tests on device (#2243) Strip native debugging symbols should not be checked for debug builds * Bump mono to get fix for bug #57780. https://bugzilla.xamarin.com/show_bug.cgi?id=57780 * Update .gitmodules Change branch to d15-3 branch of mono * Bump maccore to get fix for bug #55064. https://bugzilla.xamarin.com/show_bug.cgi?id=55064 * [mono] Bump mono to get the head of cecil/mono-2017-04 and fix IsComObject #57919 Also fix #58789 [1], the typo in tools/mtouch/Tuning.cs showing in MT0000 errors instead MT2102. That's already in master and d15-4 mono bump includes: [2] commit 2a6502cee0df9de5198eafe7c8b5f6ac25106f34 (HEAD -> d15-3, origin/d15-3) Merge: 02457c20fcf 5e05cafc6f1 Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 10:04:06 2017 -0400 Merge pull request #5401 from marek-safar/com [Marshal.IsComObject] Make this predicate return false instead of thr… [3] commit 02457c20fcf57c0610e844d638eb1da82b5d1eb0 Merge: da80840ea55 73fd9a1b82e Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 09:59:06 2017 -0400 Merge pull request #5400 from spouliot/bump-cecil-58834-d15-3 [cecil] Bump to the head of the mono-2017-04 branch and pick the fix for bug #58834 References [1] https://bugzilla.xamarin.com/show_bug.cgi?id=58789 [2] https://bugzilla.xamarin.com/show_bug.cgi?id=57919 [3] https://bugzilla.xamarin.com/show_bug.cgi?id=58834 * [mtouch] Put 'mono_profiler_startup_log' in the symbol list. Fixes #58778. (#2501) We need the 'mono_profiler_startup_log' symbol when profiling is enabled, so make sure to add the symbol to the correct list of symbols we need. Previously we were passing `-u _mono_profiler_startup_log` to clang directly, which is fine, but not complete, since it does not write the symbol to the symbollist file (--symbollist=file), which means it wouldn't be preserved when the MSBuild tasks strip the executable. https://bugzilla.xamarin.com/show_bug.cgi?id=58778 * Bump versions for SR3 https://trello.com/c/EVze08ei * Bump mono to include HttpClientHandler fix #44027 https://trello.com/c/jYFXadH8/8-systemnethttp-close-request-stream-when-httpclienthandler https://bugzilla.xamarin.com/show_bug.cgi?id=44027 * [FileProvider] Add missing API and turn NSString to string (#2663) Turned NSString to string in order to match exisiting API. * [uikit] Add UIPasteConfigurationSupporting and UITextPasteConfigurationSupporting (#2649) - Fixes bug #59363: Missing UIPasteConfigurationSupporting, UITextPasteConfigurationSupporting, UITextDraggable and UITextDroppable on a couple of types (https://bugzilla.xamarin.com/show_bug.cgi?id=59363) * [uikit] Remove 129 types in UIPasteConfigurationSupporting case * [scenekit] Audit (xtro) fixes (#2648) This looks like an Apple breaking change (since `SCNAnimation` is new) but we now have: > typedef void (^SCNAnimationEventBlock)(id<SCNAnimation> animation, id animatedObject, BOOL playingBackward); bound as > delegate void SCNAnimationEventHandler (CAAnimation animation, NSObject animatedObject, bool playingBackward); and `CAAnimation` conforms to `SCNAnimation` but *only* the later is available on watchOS. The delegate is only updated (since it's new) on our watchOS profile. xtro references: (watchos) !unknown-protocol! SCNCameraControlConfiguration bound (tvos/watchos) !missing-selector! SCNAnimation::animationEvents not bound !missing-selector! SCNAnimation::setAnimationEvents: not bound !missing-selector! SCNConstraint::isEnabled not bound !missing-selector! SCNConstraint::setEnabled: not bound !missing-field! SCNSceneSourceConvertToYUpKey not bound !missing-field! SCNSceneSourceConvertUnitsToMetersKey not bound (ios/tvos) !missing-protocol-conformance! SCNNode should conform to UIFocusItem * Bump maccore post 15.3 merge (#2665) * Bump Xcode 9 to GM (#2667) * Force build (on wrench) * [avfoundation] Fix breaking changes (apidiff) (#2664) * [TVServices] Update to Xcode 9 GM (#2675) * [GameController] Update to Xcode 9 GM (#2673) * [LocalAuthentication] Update to Xcode 9 GM (#2671) * [LocalAuthentication] Update to Xcode 9 GM * Remove availability from BiometryNotAvailable, BiometryNotEnrolled and BiometryLockout * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer (#2659) * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer Some of the new added types were already present BUT under a #if MONOMAC, they had to be moved. * [AVFoundation] Set the wrongly added API to be obsolete and ensure it returns logical values. (#2650) * [xtro] The right platform for macOS is 'macos', not 'osx'. (#2677) The platform name is used to filter availability attributes, and if we use the wrong platform, we'll incorrectly skip all availability attributes. The net result in unclassified entries: https://gist.github.com/rolfbjarne/a4474bc2a40c49a85cad495b51bb514f * Various Xcode 9 API improvements and also fixes bug 59433 (#2676) https://bugzilla.xamarin.com/show_bug.cgi?id=59433 While fixing bug 59433 I noticed some additional issues outlined below: AVDepthData: * Renamed **non** static `Create` methods because `Create` only makes sense with the **Static** method in this context. Also by renaming the methods we are now closer to the names that swift uses. * Kept descriptive method names in favor of self-documenting code. `Convert`, `Apply` and `Replace` do not fully give us the intent of the method. * Added a convenience `Create` static method that takes a `CGImageAuxiliaryDataInfo`. * AvailableDepthDataTypes is now an array of `CVPixelFormatType` instead of a `NSNumber` array (The aactual fix for bug 59433). ImageIO: * Refactored `CGImageAuxiliaryDataInfo` to be a `StrongDictionary` in order to avoid most of the manual code and also to avoid reimplementing the `ToDictionary` method (which contained a subtle bug). * Adjusted code to reflect the above change. * Added missing `.ctor (IntPtr, bool)` to `CGImageMetadata` so the class is able to be created by our `Runtime.Get*`. * Simplified `CopyAuxiliaryDataInfo` method by using `CGImageAuxiliaryDataInfo` as a `DictionaryContainer`. Tests: * Added `xamarinmonkey.heic` which is an image that contains depth data needed to test above changes. * Adds `AVDepthDataTests` that touches most of the changes listed here. * Tweak the Simd-compatible matrices and vectors (#2668) * Rename them to be OpenTK.NMatrix# (instead of Simd.MatrixFloat#x#). * Remove the Vector2 and Vector4 variants, we'll use the OpenTK types instead (but we'll keep the NVector3 variant, since it's not identical to the OpenTK version). * Update the API to match their OpenTK counterparts better: * NMatrix2 and NMatrix3 have a 0-based R#C# scheme for their fields. * NMatrix4 has a 1-based M## scheme for its fields (i.e. no change). * [AVFoundation] Use Simd-matrix for API that needs it. (#2679) This also requires implementing the corresponding matrix (NMatrix4x3). Fixes this xtro issue: > !unknown-simd-type-in-signature! OpenTK.Matrix3 AVFoundation.AVCameraCalibrationData::get_GetIntrinsicMatrix(): the native signature has a simd type (matrix_float3x3), while the corresponding managed method is using an incorrect (non-simd) type. * [xtro] Fix checking availability on categories. (#2682) When checking for category availability, check if both the current declaration is a category, and if the current's declaration container is a category. Otherwise this scenario fails: * Category method is available. * Category does not have availability attributes. * Main class is unavailable. with this typical code sequence: ```csharp // don't process methods (or types) that are unavailable for the current platform if (!decl.IsAvailable () || !(decl.DeclContext as Decl).IsAvailable ()) return; ``` In which case we'd: * First check the method (`decl`): * It's available, so no further checks is done on the method. * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container's container is a category (it isn't, it's the namespace). and as such determine that the method is available. With this change, the second step will become: * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container is a category (it is), and if its main class is available (it isn't). and as such determine that the method is unavailable. * Check for attributes on the method's container (no attributes, so we continue). * Check if the method's Unclassified diff: https://gist.github.com/rolfbjarne/8fa80962596978a426eadf9b7ba39dc1 * [uikit] Update for Xcode 9 GM (#2670) * [AVFoundation] Implement AVCapturePhoto. Partially fixes #59388. (#2678) Fixes: > common.unclassified:!missing-type! AVCapturePhoto not bound https://bugzilla.xamarin.com/show_bug.cgi?id=59388 * Use strong dictionaries for AVCapturePhoto.Metadata and AVCapturePhoto.EmbeddedThumbnailPhotoFormat. * [SIMD] Implement Simd double types (VectorDouble3/MatrixDouble4x4). (#2632) The following types will be used by ModelIO bindings * Fix delta to be double * Rename Simd-compatible matrices and vectors to match our final naming. This also means removing the new Vector2 and Vector4 variants (but not Vector3). * [avfoundation] Remove AVAssetDownloadDelegate.DidLoadTimeRange since it was removed in one of the betas (#2687) * [foundation] Move NSUrlSessionMultipathServiceType to a file processed by the generator (for the availability attributes) (#2688) * [arkit] Update for Xcode 9 GM (#2681) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes (#2690) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes Type Changed: Intents.INCarSeatResolutionResult Removed methods: public static INCarSeatResolutionResult GetConfirmationRequired (INCarSeat valueToConfirm); public static INCarSeatResolutionResult GetSuccess (INCarSeat resolvedValue); * [avfoundation] Add missing protocol members and deprecations (#2691) !missing-protocol-member! AVCapturePhotoCaptureDelegate::captureOutput:didFinishProcessingPhoto:error: not found and the selector removed from PR#2687 was actually replaced with this one !missing-protocol-member! AVAssetDownloadDelegate::URLSession:aggregateAssetDownloadTask:didLoadTimeRange:totalTimeRangesLoaded:timeRangeExpectedToLoad:forMediaSelection: not found * [tests][xtro] Map some enums, more fix with protocols and update entries (#2692) * [Tests] Reenable dns tests on the watch. (#2674) * [arkit] Add ARBlendShapeLocationOptions strong dictionary (#2696) * [coreimage] Skip not yet bound filters added in Xcode9 (#2698) Tracked in https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * [Metal] Renamed MTLArgumentDescriptor.ArgumentDescriptor to Create, fixes bug 59498 (#2702) https://bugzilla.xamarin.com/show_bug.cgi?id=59498 From [argumentDescriptor docs](https://developer.apple.com/documentation/metal/mtlargumentdescriptor/2915746-argumentdescriptor?language=objc) > Creates an empty argument descriptor. * [msbuild] Always codesign app bundles if the codesign key is non-null (#2697) ...even if it is a simulator build. Turns out that starting with Xcode9, sim builds need to be codesigned for App Groups entitlements to work properly. Interestingly, the DetectSigningIdentity logic had a comment about needing to codesign simulator builds for some entitlements to work already starting with Xcode 8 but apparently the iOS targets did not respect this. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=59379 * [Foundation] Add NSProxy stub in order to workaround bug 59247 (#2693) https://bugzilla.xamarin.com/show_bug.cgi?id=59247 We need to have a better solution that removes all what NSProxy does not responds to. Right now this works because NSObject implements NSObject protocol just like NSProxy, but NSProxy responds to far less selectors hence doing it internal so it is not a breaking change when we provide the correct fix. * Keep NSProxy around and avoid XML linker description We need to keep NSProxy (avoid linking it) if WKNavigationDelegate or IWKNavigationDelegate is used. We know WKWebView will be there and can hold a reference to it. * [Xcode 9] Update Metal for GM (#2689) * [iosurface] IOSurface is not usable before iOS/tvOS 11. Fixes #59201 (#2706) Apple rejects apps that links with the previously private IOSurface.framework. We were not sure about this [1] and had it disabled (this is removed). However another bug stopped our adjustment logic [2] from being executed. This is needed since `clang` picks up the private framework if it does not find the public one (even when asking for a weak framework), [1] https://bugzilla.xamarin.com/show_bug.cgi?id=59201 [2] Added a while ago for JavascriptCore * Bump maccore to point to commit with the docs fix. (#2703) * Bump XI to 11.0.x (and XM to 3.99.9.x) (#2684) * fix typo
2017-09-16 00:53:16 +03:00
[Watch (4, 0), TV (11, 0), Mac (10, 13, onlyOn64: true), iOS (11, 0)]
Merge xcode9 into d15-4[-xi] (#2710) * [FileProvider] Add Xcode 9 Beta 1, 2 & 3 Bindings (#2279) * [FileProvider] Add Xcode 9 Beta 1 Bindings * Better naming * Feedback not related to BindAs * [FileProvider] Removes BindAs, add manual code for it and updated to Beta 3 * [FileProvider] Implement feedback * [CoreSpotlight] Updated spotlight bindings for xcode 9 beta 3. (#2193) Updated spotlight bindings for xcode 9 beta 3. * Fix warning caused by duplicate (#2354) * [FileProviderUI] Add Xcode 9 Beta 1 to 3 bindings (#2356) * Bump to Xcode 9 beta 4 * [arkit] ARLightEstimate does not conform to NSCopying anymore (fix unit test) * [uikit] NSFileProviderExtension.ReparentItem got a new parameter in beta4 (fix unit test) * [coreimage] CIImageAccumulator init returns nil in beta 4 There's no header change to mention `init` is not allowed but it's not clear how this default initializer could be used. Also make public some other API to construct this type (outside of XM). It's not clear why there were `internal` as they are (at least now) part of the header files. * [photos] Add helpers when PHLivePhotoEditingOption/NSDictionary is null (to avoid ambiguous API) (#2360) Adding a strongly typed `PHLivePhotoEditingOption` (a strongly typed version of an `NSDictionary`) can cause a `CS0121` (call is ambiguous) since using a `null` argument is common (only one option exist so far). This PR adds overloads that makes the code nicer in such case, e.g. before Xcode9: > // null is used when no options are given > _foo.SaveLivePhoto (output, null, completion); current (Xcode 9) > // casting required to remove ambiguity with PHLivePhotoEditingOption > _foo.SaveLivePhoto (output, (NSDictionary)null, completion); with this PR > // no option, no argument > _foo.SaveLivePhoto (output, completion); The same applies to `PrepareLivePhotoForPlayback`. * [tests] Disable/tweak two tests that breaks on (almost) all Xcode updates Those tests were not added to validate xOS so just keep the parts that helps us (without constantly checking back the new break flavor) * Disable watchOS to check if this hides others issues * [mapkit] Update for beta 4 * [coredata] Update for beta 4 * [wkwebkit] Update for beta 4 Note: WKWindowFeatures.h is not compiled (part of the framework umbrella) and the `@interface WKWindowFeatures (WKPrivate)` sounds like it should not have been exposed (it's all fields starting with `_`) * [corelocation] Update for beta 4 * Revert "Disable watchOS to check if this hides others issues" This reverts commit fed2249fa43290a1956ab2fe0d48f83ab6db9711. * [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]: https://github.com/xamarin/xamarin-macios/blob/f5956d6cc1eb5dfa7bab16628cf282d40237f64e/src/generator.cs#L5985 * [FinderSync] Update to beta 4 (#2377) * [ImageIO] Update to Xcode 9 (#2353) * [PhotosUI] Move macOS photosui bindings out of photos.cs into photosui.cs (#2358) * [quicklook] Update up to beta 4 (#2374) * [uikit] UIDragInteraction & UIDragInteractionDelegate (Xcode 9 b1,2,3) (#2357) * [safariservices] Update up to beta 4 (#2380) * [coreanimation] Update to beta 4 (#2382) Apple removed (mistake?) some API in beta 1. Filed as rdar 33590997 Internal tracking in https://trello.com/c/J8BDDUV9/86-33590997-coreanimation-quartzcore-api-removals * [storekit] Update up to beta 4 (#2379) * [CoreML] Update to Xcode 9 Beta 4 (#2387) * [uikit] UICollectionView/UITableView Drag & Drop (Xcode 9 b1,2,3 & 4) (#2355) * Update code after radar 32929318 and 32897776 are fixed in b4 (#2394) * [xcode9 CoreAudio] New definitions from Beta1 to Beta3 (#2359) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 (#2397) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 https://bugzilla.xamarin.com/show_bug.cgi?id=58512 Created strong API (VNBarcodeSymbology) on the following properties * VNDetectBarcodesRequest.SupportedSymbologies * VNDetectBarcodesRequest.Symbologies * VNBarcodeObservation.Symbology * Remove modern C# because classic can't do it 😡 * [mediaplayer] Update up to beta 4 (#2388) * [watchkit] Update to beta 4 (#2398) * Bump Visual Studio for Mac max version (#2408) * [coreimage] Add CIBarcodeDescriptor and enabled missing API for VNBarcodeObservation. Fix #58197 (#2411) https://bugzilla.xamarin.com/show_bug.cgi?id=58197 * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 (#2407) * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 * [uikit] Fixes based on comments * [coreimage] CIImageAccumulator API fixes. Fix #58349 (#2412) * Obsolete the default `init`; * XM exposed some older APIs using `int` instead of `CIFormat`. This is fixed and old APIs are obsoleted; * Both new & old APIs are now using `CIFormat` for both XI and XM. https://bugzilla.xamarin.com/show_bug.cgi?id=58349 * [uikit] UIText drag & drop - up to Xcode 9 beta 4 (#2410) * [uikit] UISplitView & UIStackView up to Xcode 9 beta 4 (#2425) * Bump XI/XM versions before preview 4 (#2422) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 (#2378) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 * [PDFKit] Implement feedback * [PDFKit] the forgotten enum * [PDFKit] More feedback * [PDFKit] Add Mac changes * Missing change * Fix test RectangleF VS CGRect * Pass -Wunguarded-availability-new to quiet a new clang warning (#2424) - https://bugzilla.xamarin.com/show_bug.cgi?id=58574 * [mtouch/mmp] Ignore warnings about unguarded code section with regards to availability. (#2441) * [monotouch-test] Remove workaround for fixed Apple bug. (#2445) * Bump to Xcode 9 beta 5. (#2447) * Bump to Xcode 9 beta 5. * [mmp] Disable the partial static registrar, because Apple's macOS SDK is broken. > In file included from Xamarin.Mac.registrar.mobile.i386.m:1: > In file included from ./Xamarin.Mac.registrar.mobile.i386.h:11: > /Applications/Xcode9-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVFoundation.h:88:9: fatal error: 'AVFoundation/AVRouteDetector.h' file not found https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [mmp] Fix partial static registrar removal. * [CallKit] Update to Xcode 9 beta 5. * [ARKit] ARPointCloud doesn't conform to NSCopying anymore in Xcode 9 beta 5. * [ARKit] Update to Xcode 9 beta 5 enough to make tests happy. * [CoreImage] Stub out new filters in Xcode 9 beta 5. * [tests][monotouch] Simplify some MDLMesh asserts since values change a lot between OS versions. * [mmp] Default to the dynamic registrar for release builds again, due to bug #58629. https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [tests][introspection] CXCall started implementing NSCopying without saying so in the headers. * Disable mmp static registrar tests due to 58629 for now * [quicklook] Update to beta 5 (#2450) * [photos] Update for beta 5 (#2452) Also update some existing enum members were added in beta 1 on macOS * [safariservices] Update for beta 5 (#2455) * [mediaplayer] Update to beta 5 (#2456) * [CoreLocation] Update Xcode 9 Beta 5 (#2453) * [CoreML] Update to Xcode 9 Beta 5 (#2454) * [Contacts] Update to Xcode 9 Beta 5 (#2451) * [Vision] Update to Xcode 9 Beta 5 (#2458) * [builds] Tell LLVM to stay away from newer macOS functions. (#2459) Fixes this build problem on Sierra: > ld: weak import of symbol '_futimens' not supported because of option: -no_weak_imports for architecture x86_64 This is a symbol that was (will be?) introduced in High Sierra. Interestingly this only occurs if the Xcode 8.X Command Line Tools haven't been manually installed. Because if the Xcode 8.X Command Line Tools are installed, this happens: 1. llvm's configure script detects that 'futimens' is not usable. 2. llvm's configure script detects that 'futimens' is not usable, because xcrun sets SDKROOT=/ when calling clang. a. When the SDKROOT variable is set, clang passes '-syslibroot /usr/lib' to ld. b. When ld gets '-syslibroot /usr/lib', ld looks in '/usr/lib' for a library that contains 'futimens' in the OS itself, and since we're on Sierra, that fails to link. c. So when llvm's configure script creates a test program that checks if 'futimens' is present, the program fails. This is correct, and makes llvm *not* use futimens. 3. xcrun sets SDKROOT=/ because /usr/share/current-os.sdk/Info.plist exists. If that file does not exist, then xcrun sets SDKROOT to Xcode9's macOS SDK (because that's what xcode-select reports). a. When SDKROOT is set to Xcode9's macOS SDK, the configure check for 'futimens' succeeds, because the macOS 10.13 SDK contains that function. b. llvm happily uses 'futimens', and then the final link fails because we're using a symbol not available on all target platforms. * [arkit] Update for Xcode 9 beta 5 - Part 1 (#2460) * [tests] The container app for watchOS tests should be 64-bit. (#2463) * [xharness] watchOS tests need to run in a clean environment. Works around #58348. (#2462) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [xharness] It watchOS tests don't need to be clean anymore. Fixes #58348. (#2473) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [uikit] UIView/UIScrollView/UIViewController up to Xcode 9 beta 5 (#2431) - Add NSDirectionalEdgeInsets type. - Includes DirectionalEdgeInsetsTest. * [AudioToolbox] Update bindings to Xcode 9 beta3 (not later changes). (#2294) * [xharness] Add a file existence check. (#2478) Fixes this exception: ``` Harness exception for 'introspection': System.IO.FileNotFoundException: Could not find file '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log'. File name: '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log' at System.IO.__Error.WinIOError (System.Int32 errorCode, System.String maybeFullPath) [0x00207] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/__error.cs:188 at System.IO.FileInfo.get_Length () [0x00038] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/fileinfo.cs:171 at xharness.CaptureLog.StopCapture () [0x00021] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Log.cs:252 at (wrapper remoting-invoke-with-check) xharness.CaptureLog:StopCapture () at xharness.AppRunner+<RunAsync>d__68.MoveNext () [0x0127f] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/AppRunner.cs:642 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter`1[TResult].GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:357 at xharness.RunSimulatorTask+<RunTestAsync>d__7.MoveNext () [0x0029d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2894 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.RunTestTask+<ExecuteAsync>d__8.MoveNext () [0x0010b] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2538 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.TestTask+<RunInternalAsync>d__87.MoveNext () [0x0010d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:1870 ``` I'm not sure how this can happen, but it has on the bots [1]. [1] https://jenkins.mono-project.com/job/xamarin-macios-pr-builder/4548/Test_Report/ * Bump versions for preview 5 (#2479) * [passkit] Update to beta 5 (#2481) * [tests] Remove workaround for radar #32688391. (#2486) * [replaykit] Update up to beta 5 (#2484) * Bump maccore to get fix for bug #55064. (#2487) * [apidiff] Update definition to new 10.12 (d15-3) stable release (#2490) * [SceneKit] basic work (#2483) * [coredata] Update to beta 5 (#2488) * [homekit] Update for Xcode 9 beta 5 (#2492) * [Foundation] Update for xcode9 (#2468) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 (#2493) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 * [Intents] Implement feedback * [Intents] Add a generic version for INInteraction.GetParameterValue * [Intents] Missing check * [Contacts] Add missing foundation NSItemProviderWriting protocol to CNContact (#2496) https://bugzilla.xamarin.com/show_bug.cgi?id=58203 This is available on all Contacts supported platforms ``` ./iPhoneOS.platform/Developer/SDKs/iPhoneOS11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchOS.platform/Developer/SDKs/WatchOS4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchSimulator.platform/Developer/SDKs/WatchSimulator4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ``` * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) (#2497) * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) * [IntentsUI] Better use a delegate instead so we have named params * Bump versions before 6th preview (#2514) * [arkit] Add missing MarshalDirective to ARPlaneAnchor (#2517) - Fixes bug #58648: ARPlaneAnchor.Extent property seems incorrect but changes to correct value after Debug access (https://bugzilla.xamarin.com/show_bug.cgi?id=58648) * [xtro-sharpie] Fix a compiler warning. (#2516) Fixes these warnings: Runner.cs(197,5): warning CS0642: Possible mistaken empty statement Runner.cs(199,5): warning CS0642: Possible mistaken empty statement Runner.cs(201,5): warning CS0642: Possible mistaken empty statement Runner.cs(203,5): warning CS0642: Possible mistaken empty statement Runner.cs(205,5): warning CS0642: Possible mistaken empty statement * [uikit] Update for Xcode 9 beta 5 - Part 3 (#2511) - UIKeyCommand - UINavigationBar - UINavigationItem - UIPasteboard - UITableViewHeaderFooterView * [xtro-sharpie] Remove xtro-plugin and misc other fixes. (#2522) * [xtro-sharpie] Build with msbuild and be as quiet as requested when building. * [xtro-sharpie] Must run as a 64-bit process, since the required native libraries are 64-bit. * [xtro-sharpie] Add run configurations to the project file to ease debugging in the IDE. * [xtro-sharpie] Remove xtro-plugin and the related commands. This was needed when there wasn't a 64-bit mono, in order to run xtro-sharpie in a 64-bit process. Now there is a 64-bit mono, so it's not needed anymore. Also improve makefile targets a bit, to auto-build stuff when needed, by setting the right dependencies. * Bump Xcode 9 to beta 6 (#2519) Disable watchOS tests again It seems like the Carousel crash from beta 4 is back to haunt us. This was working fine with beta 5. * Backport d15-3 SR2 fixes (#2515) * [coredata] Update to beta 6 (#2528) This seems to only revert some nullability changes from beta 5. * [coreml] Update to beta 6 (#2531) Fix our rdar 33643011 where additional setters were added in the headers but did not exists. * [videosubscriberaccount] Update to beta 6 (#2533) Only b1 and b2 introduced some additions/changes * [uikit] Update for Xcode 9 beta 6 - Part 4 (#2527) The following headers are now up to date: - UICollectionViewFlowLayout.h - UIDocumentPickerViewController.h - UIFontDescriptor.h - UIImage.h - UIImageView.h - UIImagePickerController.h * [xharness] Re-enable the watchOS tests. (#2534) It works fine for me locally, so let's see what Jenkins says. * [macos] Add new APIs in CoreWlan from Xcode9b3 (#2525) * Update AppKit bindings based on radar 33271241 results (#2518) * Update AppKit bindings based on radar 33271241 results - The header comment was updated to note it was NSSliderTouchBarItem view that has the protocol * Remove NSUserInterfaceCompression where not listed in header * [vision] Update to beta 6 (#2532) Removal of some deprecated (during beta) `init*` selectors. Also sync the versions that were inlined in subclasses - the old ones were not removed and the new ones were not added. * [xtro-sharpie] Many methods don't have selectors in Clang's API, so default to the name if no selector. (#2523) This makes a few more unclassified entries show up (mostly missing designated initializers): https://gist.github.com/rolfbjarne/07aa20f9b50b75bf3e69ac6a825e873a * [macos] Add ExternalAccessory APIs from xcode9 (#2526) * [58851] Disable NSMenuView in AllItemsWithNSMenuShouldAllowNull (#2504) * [arkit] Update for Xcode 9 beta 5 - Part 2 (#2505) - Add last missing selector. - Add tests for manual code. * [monotouch-test] Disable FontDescriptorTest.WithFeature (#2537) Disabled because it looks like the tvOS font we use: "Gujarati Sangam MN" does not have rare ligatures anymore (and the entire test is based on it). Before getting an actual fix for that, let's disable the test so it doesn't break all current builds. See: https://bugzilla.xamarin.com/show_bug.cgi?id=58929 * [xtro-sharpie] Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute. (#2524) Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute to calculate the native name for a TypeDefinition. Unclassified changes: https://gist.github.com/rolfbjarne/828f8ee41eebb0a3b60a38d71822fe59 * [foundation/uikit] Inline NSItemProvider_UIKitAdditions in NSItemProvider (#2538) As suggested here: https://github.com/xamarin/xamarin-macios/pull/2527#discussion_r134670981 * [intents] Fix breaking changes (api-diff) (#2543) Additions of @required members inside `INSpeakable` cannot be `[Abstract]` * [contacts] Fix breaking change (api-diff) (#2542) Type Changed: Contacts.CNPostalAddress Removed method: public static string LocalizeProperty (CNPostalAddressKeyOption option); * [macos] Reenable static registrar since Xcode9b6 un-broke SDK headers (#2544) - Fix a subtle spacing issues in PartialStaticLibrary property * [corebluetooth] Update up to beta 6 and enable it on watchOS (#2540) macOS 10.13 has finally catch up with iOS and this simplifies the bindings a bit. * [foundation] API fixes (apidiff) (#2545) 1. Let's not add new, already [Obsolete] API Type Changed: Foundation.NSDimension Added constructors: [Obsolete ("Not intended to be directly instantiated, this is an abstract class.")] public NSDimension (); 2. Fix inconsistently named API, e.g. Type Changed: Foundation.NSAttributedString Added properties: public static string[] ReadableTypeIdentifiersForItemProvider { get; } public static string[] WritableTypeIdentifiers { get; } * [pdfkit] Do not add already [Obsolete] API in new profiles (#2547) and ensure using the newer, correct API works cross-platforms iOS (before) [Obsolete ("Use 'Find (string, NSStringCompareOptions)' instead.")] public virtual PdfSelection[] Find (string text, nint options); public PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'Find (string, PdfSelection, NSStringCompareOptions)' instead.")] public virtual PdfSelection Find (string text, PdfSelection selection, nint options); public void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string, NSStringCompareOptions)' instead.")] public virtual void FindAsync (string text, nint options); public void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string [], NSStringCompareOptions)' instead.")] public virtual void FindAsync (string[] text, nint options); iOS (after) public virtual PdfSelection[] Find (string text, Foundation.NSStringCompareOptions compareOptions); public virtual PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); * Bump versions for the 7th preview (#2541) * Remove additions of AVKit removed in beta5 (#2536) * NSUrlSessionTask should implement NSProgressReporting for iOS (#2548) NSUrlSessionTask implements NSProgressReporting on iOS as well as Mac, so the #if MONOMAC isn't needed. * Add missing availability attributes causing failures on older iOS versions (#2550) * [vision] Minor fix wrt xtro (#2551) including some things we need to ignore manually !missing-field! VNVisionVersionNumber not bound !missing-pinvoke! VNImagePointForFaceLandmarkPoint is not bound !missing-pinvoke! VNNormalizedFaceBoundingBoxPointForLandmarkPoint is not bound * [uikit] NSFileProviderMessaging was removed in beta 2. Fixes #58222 (#2552) reference: https://bugzilla.xamarin.com/show_bug.cgi?id=58222 * [uikit] Update for Xcode 9 - Part 5 (#2546) Bindings for the following headers: - UIActivity.h - UIActivityItemProvider.h - UIAlertController.h - UIApplication.h - UIBarButtonItem.h - UIButton.h - UICollectionViewLayout.h - UIColor.h - UIControl.h - UIDocumentMenuViewController.h - UIFontMetrics.h - UIGestureRecognizer.h - UIGraphicsImageRenderer.h - UIInputViewController.h * [CoreText] Fix an extraneous free in CTFont.GetDefaultCascadeList. (#2555) We do not own the return value from CFArrayGetValueAtIndex, so don't say we do when creating CTFontDescriptor instances, since that leads to angry dragons: 2017-08-28 20:15:20.293 monotouchtest[33186:2311738] A_FontTest 2017-08-28 20:15:20.294 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithFontDescriptorAndOptions 2017-08-28 20:15:20.295 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithNameAndOptions 2017-08-28 20:15:20.296 monotouchtest[33186:2311738] critical: Stacktrace: at <unknown> <0xffffffff> at (wrapper managed-to-native) CoreText.CTFont.CTFontCopyDefaultCascadeListForLanguages (intptr,intptr) [0x0000a] in <ae65a2b1eea242d2b68fe784749543bf>:0 at CoreText.CTFont.GetDefaultCascadeList (string[]) [0x00013] in /work/maccore/xcode9/xamarin-macios/src/CoreText/CTFont.cs:2185 at MonoTouchFixtures.CoreText.A_FontTest.GetCascadeList () [0x0001e] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/CoreText/FontTest.cs:78 at (wrapper runtime-invoke) object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) [0x0004f] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) System.Reflection.MonoMethod.InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&) [0x00016] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at System.Reflection.MonoMethod.Invoke (object,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo) [0x00032] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/corlib/System.Reflection/MonoMethod.cs:305 at System.Reflection.MethodBase.Invoke (object,object[]) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/referencesource/mscorlib/system/reflection/methodbase.cs:229 at NUnit.Framework.Internal.Reflect.InvokeMethod (System.Reflection.MethodInfo,object,object[]) [0x00009] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Reflect.cs:215 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunNonAsyncTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x00025] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:116 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x0001a] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:90 at NUnit.Framework.Internal.Commands.TestMethodCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:66 at NUnit.Framework.Internal.Commands.SetUpTearDownCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00007] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/SetUpTearDownCommand.cs:84 at NUnit.Framework.Internal.WorkItems.SimpleWorkItem.PerformWork () [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/SimpleWorkItem.cs:64 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at MonoTouch.NUnit.UI.BaseTouchRunner.Run (NUnit.Framework.Internal.Test) [0x0004d] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:442 at MonoTouch.NUnit.UI.BaseTouchRunner.Run () [0x00030] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:171 at MonoTouch.Dialog.StringElement.Selected (MonoTouch.Dialog.DialogViewController,UIKit.UITableView,Foundation.NSIndexPath) [0x00008] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/Elements.cs:765 at MonoTouch.Dialog.DialogViewController.Selected (Foundation.NSIndexPath) [0x00026] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:577 at MonoTouch.Dialog.DialogViewController/Source.RowSelected (UIKit.UITableView,Foundation.NSIndexPath) [0x00016] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:402 at (wrapper runtime-invoke) <Module>.runtime_invoke_void__this___object_object (object,intptr,intptr,intptr) [0x0005d] in <32f0c196c5bc4aa18daea2ee64a7814e>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) UIKit.UIApplication.UIApplicationMain (int,string[],intptr,intptr) [0x0005c] in <ae65a2b1eea242d2b68fe784749543bf>:0 at UIKit.UIApplication.Main (string[],intptr,intptr) [0x00005] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:79 at UIKit.UIApplication.Main (string[],string,string) [0x00038] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:63 at monotouchtest.Application.Main (string[]) [0x00011] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/Main.cs:27 at (wrapper runtime-invoke) <Module>.runtime_invoke_void_object (object,intptr,intptr,intptr) [0x00051] in <30a7f7e09de9467b8b454221034a0e38>:0 Native stacktrace: 0 monotouchtest 0x000000010fca03c4 mono_handle_native_crash + 244 1 monotouchtest 0x000000010fcadd30 mono_sigsegv_signal_handler + 288 2 libsystem_platform.dylib 0x000000011feb3b3a _sigtramp + 26 3 CoreFoundation 0x000000011de035a2 computeSanitizedString + 146 4 CoreText 0x00000001168df314 _ZN15TPurgeableCache19RetainedValueForKeyEPKv + 54 5 CoreText 0x00000001168def85 _ZNK17TDescriptorSource22CopyDescriptorUncachedEPK7__CFURLbPK10__CFString + 55 6 CoreText 0x00000001168df34f _ZNK17TDescriptorSource14CopyDescriptorEPK7__CFURLbPK10__CFString + 27 7 CoreText 0x00000001168e20ad _ZNK17TDescriptorSource35CopyFontDescriptorPerPostScriptNameEPK10__CFStringmm + 297 8 CoreText 0x00000001168dfd9e _ZNK17TDescriptorSource30CopySystemFontDescriptorByNameEPK10__CFString10UIFontFlag + 54 9 CoreText 0x00000001168e54c4 _ZNK14TFontFallbacks17CopyFontFallbacksEPK10__CFStringS2_PK9__CFArray + 652 10 CoreText 0x00000001168e4a00 _ZNK14TFontFallbacks29CopyFontFallbacksForLanguagesEPK10__CFStringPK9__CFArray + 122 11 CoreText 0x00000001168e4971 _ZN17TDescriptorSource39CopyDefaultSubstitutionListForLanguagesEPK10__CFStringPK9__CFArray + 61 12 CoreText 0x00000001169397a7 _ZNK9TBaseFont28CreateSystemDefaultFallbacksEPK10__CFStringPK9__CFArray + 51 13 CoreText 0x000000011693999c _ZNK9TBaseFont15CreateFallbacksE10UIFontFlagPPK16__CFCharacterSetPK9__CFArray + 346 14 CoreText 0x00000001168c1036 _ZNK5TFont24CreateDefaultCascadeListEPK9__CFArray + 242 15 CoreText 0x00000001168b8ff9 CTFontCopyDefaultCascadeListForLanguages + 97 16 ??? 0x0000000140eaefd3 0x0 + 5384105939 17 ??? 0x0000000140eae761 0x0 + 5384103777 18 ??? 0x000000013c9c8e74 0x0 + 5311860340 19 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 20 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 21 monotouchtest 0x000000010fd71bac mono_runtime_try_invoke_array + 1292 22 monotouchtest 0x000000010fd15587 ves_icall_InternalInvoke + 647 23 ??? 0x000000013e9fcd13 0x0 + 5345627411 24 ??? 0x000000013e9fc738 0x0 + 5345625912 25 ??? 0x000000013e9fded5 0x0 + 5345631957 26 ??? 0x000000013e9fbb76 0x0 + 5345622902 27 ??? 0x000000013e9e237e 0x0 + 5345518462 28 ??? 0x000000013e9e237e 0x0 + 5345518462 29 ??? 0x000000013e9e237e 0x0 + 5345518462 30 ??? 0x000000013e9e237e 0x0 + 5345518462 31 ??? 0x000000013e873006 0x0 + 5344014342 32 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 33 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 34 monotouchtest 0x000000010fd6e320 mono_runtime_invoke + 208 35 monotouchtest 0x000000010fe71af1 xamarin_invoke_trampoline + 5617 36 monotouchtest 0x000000010fe79ddd xamarin_arch_trampoline + 189 37 monotouchtest 0x000000010fe7b1a1 xamarin_x86_64_common_trampoline + 110 38 UIKit 0x0000000111b9876b -[UITableView _selectRowAtIndexPath:animated:scrollPosition:notifyDelegate:] + 1810 39 UIKit 0x0000000111b98986 -[UITableView _userSelectRowAtPendingSelectionIndexPath:] + 344 40 UIKit 0x0000000111a6b5c9 _runAfterCACommitDeferredBlocks + 318 41 UIKit 0x0000000111a59dad _cleanUpAfterCAFlushAndRunDeferredBlocks + 280 42 UIKit 0x0000000111a89f68 _afterCACommitHandler + 137 43 CoreFoundation 0x000000011de3ddb7 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23 44 CoreFoundation 0x000000011de3dd0e __CFRunLoopDoObservers + 430 45 CoreFoundation 0x000000011de22324 __CFRunLoopRun + 1572 46 CoreFoundation 0x000000011de21a89 CFRunLoopRunSpecific + 409 47 GraphicsServices 0x0000000121b7e9c6 GSEventRunModal + 62 48 UIKit 0x0000000111a5f7d0 UIApplicationMain + 159 49 ??? 0x000000013c9c4474 0x0 + 5311841396 50 ??? 0x000000013c9c40ad 0x0 + 5311840429 ================================================================= Got a SIGSEGV while executing native code. This usually indicates a fatal error in the mono runtime or one of the native libraries used by your application. ================================================================= * [monotouch-test] Don't subclass MKMapView. (#2556) MKMapView doesn't like being subclassed (Apple says "you should not subclass the MKMapView class itself"). Bad things like this starts happening: Thread 0 name: tid_303 Dispatch queue: com.apple.main-thread Thread 0 Crashed: 0 libsystem_kernel.dylib 0x0000000186b25348 __pthread_kill + 8 1 libsystem_pthread.dylib 0x0000000186c39354 pthread_kill$VARIANT$mp + 396 2 libsystem_c.dylib 0x0000000186a94fd8 abort + 140 3 monotouchtest 0x0000000101c02c14 mono_handle_native_crash + 22047764 (mini-exceptions.c:2548) 4 monotouchtest 0x0000000101c0d02c mono_sigsegv_signal_handler + 22089772 (mini-runtime.c:2886) 5 libsystem_platform.dylib 0x0000000186c33b60 _sigtramp + 52 6 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 7 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 8 CoreFoundation 0x0000000186eda51c -[__NSArrayM dealloc] + 68 9 CoreFoundation 0x000000018703f5c8 __CFBasicHashDrain + 312 10 CoreFoundation 0x0000000186fb5b44 _CFRelease + 224 11 CoreText 0x000000018a808404 TDescriptorSource::PurgeFontFallbacksCache+ 488452 () + 92 12 CoreText 0x000000018a808374 TDescriptorSource::PurgeFromCaches+ 488308 (__CFURL const*) const + 176 13 CoreText 0x000000018a7eec74 CTFontRemoveFromCaches + 168 14 VectorKit 0x0000000196a539b0 +[VKSharedResourcesManager removeResourceUser:] + 324 15 VectorKit 0x0000000196ca27a4 md::MapEngine::~MapEngine+ 2643876 () + 360 16 VectorKit 0x0000000196ca2634 md::MapEngine::~MapEngine+ 2643508 () + 12 17 libobjc.A.dylib 0x000000018651eef4 object_cxxDestructFromClass+ 28404 (objc_object*, objc_class*) + 148 18 libobjc.A.dylib 0x000000018652c638 objc_destructInstance + 88 19 libobjc.A.dylib 0x000000018652c690 object_dispose + 16 20 QuartzCore 0x000000018afca3ac -[CALayer dealloc] + 116 21 VectorKit 0x0000000196a43294 -[VKMapView dealloc] + 940 22 QuartzCore 0x000000018af6aafc CA::release_objects+ 744188 (X::List<void const*>*) + 32 23 QuartzCore 0x000000018afd97d8 CA::Layer::~Layer+ 1198040 () + 276 24 QuartzCore 0x000000018afca37c -[CALayer dealloc] + 68 25 QuartzCore 0x000000018af6b16c CA::Transaction::commit+ 745836 () + 1052 26 UIKit 0x0000000190393290 _afterCACommitHandler + 256 27 CoreFoundation 0x0000000186fb38b8 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 32 28 CoreFoundation 0x0000000186fb1270 __CFRunLoopDoObservers + 412 29 CoreFoundation 0x0000000186fb182c __CFRunLoopRun + 1292 30 CoreFoundation 0x0000000186ed22d8 CFRunLoopRunSpecific + 436 31 GraphicsServices 0x0000000188d58f84 GSEventRunModal + 100 32 UIKit 0x000000019040427c UIApplicationMain + 208 33 monotouchtest 0x000000010106eb90 wrapper_managed_to_native_UIKit_UIApplication_UIApplicationMain_int_string___intptr_intptr + 9907088 (/<unknown>:1) 34 monotouchtest 0x0000000100f0d6ac UIKit_UIApplication_Main_string___intptr_intptr + 8459948 (UIApplication.cs:79) 35 monotouchtest 0x0000000100f0d66c UIKit_UIApplication_Main_string___string_string + 8459884 (UIApplication.cs:63) 36 monotouchtest 0x0000000100b10450 monotouchtest_Application_Main_string__ + 4277328 (Main.cs:27) 37 monotouchtest 0x0000000100e0c244 wrapper_runtime_invoke_object_runtime_invoke_dynamic_intptr_intptr_intptr_intptr + 244 38 monotouchtest 0x0000000101c10048 mono_jit_runtime_invoke + 22102088 (mini-runtime.c:2526) 39 monotouchtest 0x0000000101c75eec do_runtime_invoke + 22519532 (object.c:2829) 40 monotouchtest 0x0000000101c78a3c do_exec_main_checked + 22530620 (object.c:4623) 41 monotouchtest 0x0000000101bf9a1c mono_jit_exec + 22010396 (driver.g.c:1040) 42 monotouchtest 0x0000000101d13d60 xamarin_main + 23166304 (monotouch-main.m:482) 43 monotouchtest 0x00000001007de710 main + 927504 (main.m:67) 44 libdyld.dylib 0x00000001869f656c start + 4 * [introspection] Let SkipDueToAttributeInProperty skip setters too (#2557) `SkipDueToAttributeInProperty` which is used to check the availability attribute of properties when the Availability info only exist on the property and not on the property Getter or Setter was wrong. This lead to `setSpringLoaded` (which was introduced in iOS 11) to not be ignored by the test (making it fail). - Fix bug #59085: [introspection-ios] selector not found for UIKit.UIBarButtonItem : setSpringLoaded: - Broken test (https://bugzilla.xamarin.com/show_bug.cgi?id=59085) * [corevideo][watchos] Enable CoreVideo on watchOS (#2553) * [storekit] Fix CampaignToken typo (#2559) (#2560) - Fixes bug #59078: StoreProductParameters and invalid property for CampaignToken (https://bugzilla.xamarin.com/show_bug.cgi?id=59078) * [coreml][watchos] Enable API using CoreVideo on watchOS. Fix #58097 (#2561) https://bugzilla.xamarin.com/show_bug.cgi?id=58097 * Add missing [MarshalDirective] attributes. (#2558) * [bindings-generator] Improve build & project file. * Add missing [MarshalDirective] attributes. Add missing [MarshalDirective] attributes, which also requires implementing support for out parameters in the binding generator, since one of the signatures missing the [MarshalDirective] contains such an out parameter. Also add tests for all the API I've added [MarshalDirective] to. * [bindings-generator] Remove redundant if check. * [monotouch-test] Rename file to end with 'Test.cs'. * [tests] Fix a few build errors for Xamarin.Mac. * [uikit] Fix UIColor and UIInputViewController tvOS availability (#2569) - Fixes introspection tests on tvOS 10. * [storekit] Fix SKCloudServiceSetupMessageIdentifier and SKProductStorePromotionController tvOS availability (#2568) - Fixes introspection tests on tvOS 10. * [mapkit] Fix MKMapItemTypeIdentifier tvOS availability (#2566) - Also remove double [Mac] availability attribute. - Fixes introspection tests on tvOS 10. * [ARKit] Fix marshalling for ARPointCloud.RawFeaturePoints. (#2565) ARPointCloud.RawFeaturePoints is an array of Vector3, but each vector is 16-byte aligned (as if it were an array of Vector4). This means we need to account for this when creating a managed array from pointer to the native C-style array. * [ModelIO] Fix MDLVoxelIndexExtent struct. (#2564) The MDLVoxelIndexExtent is a struct containing two 4-dimensional vectors of integers (not floats, as originally and incorrectly implemented). Fix this my creating a new MDLVoxelIndexExtent2 struct with the right fields, re-implement all the API that exposes this struct and obsolete the old API. Also add missing [MarshalDirective] attributes. And write a test to make sure it works fine now and forever. * [coredata] Enable new fields since rdar #33878590 is fixed w/beta 6 (#2570) reference: https://trello.com/c/dlSRYPFx * [xtro-sharpie] Add a Simd check class to verify signatures with Simd types. * [Simd] Add simd matrix types. The OpenTK matrices (Matrix2/3/4) has a different memory layout than Apple's matrix_float2x2/matrix_float3x3/matrix_float4x4 matrices: the OpenTK versions are row-major, while Apple's versions are column-major. This means that when blitting memory from one to the other, the matrix will appear to have been transposed. See bug #[58599][2] for an example. Unfortunately we've already bound several API with Apple's matrix_floatXxX matrices using OpenTK's matrices, and although they're bound wrong, and the matrices appear transposed on input/output, we can't change the behavior because we have to maintain compatibility. This means we have to introduce new API, and then also just define new matrix types with the right memory layout (column-major). Additionally, in the future we might be able to mark these matrices as Simd-matrixes, so that the JIT/AOT compiler can generate the correct alignment for them, avoiding having to define a native conversion method (using the [MarshalDirective] hack). The matrices have been designed to match API-wise the matrices in the System.Numerics.Vectors namespace [1], but for the moment with only a few basic operations implemented (Determinant/Transpose/Multiply) defined (we can always add more later if we want to). In addition explicit conversion operators to and from the corresponding OpenTK.MatrixX are implemented, which means any operation defined in the OpenTK matrices can be used by converting back and forth. [1]: https://msdn.microsoft.com/en-us/library/system.numerics.matrix4x4(v=vs.111).aspx [2]: https://bugzilla.xamarin.com/show_bug.cgi?id=58599 * [ARKit] Use the new Simd matrix types. * [Vision] Use the new Simd matrix types. * [ModelIO] Use the new Simd-compatible matrix types, and deprecate the old API. * [GameplayKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [SpriteKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [xtro] Don't report missing [MarshalDirective] for obsolete methods. * [xtro] Remove unnecessary ignores. The implementation changed, and these stayed accidentally. * [wkwebkit] Fix (native) protocol names (#2572) Also ignore xtro's WKSnapshotConfiguration since it's an Apple bug 34185961 reference (xtro) !missing-protocol! WKURLSchemeHandler not bound !missing-protocol! WKURLSchemeTask not bound !unknown-protocol! WKUrlSchemeHandler bound !unknown-protocol! WKUrlSchemeTask bound !unknown-type! WKSnapshotConfiguration bound * [uikit] Fix enums availability attributes (#2575) - Fixes bug #59132: [uikit] Extra types in watchOS (https://bugzilla.xamarin.com/show_bug.cgi?id=59132) * [watchkit] Add missing designated initializers (#2574) references (xtro) !missing-designated-initializer! WKInterfaceController::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! WKUserNotificationInterfaceController::init is missing an [DesignatedInitializer] attribute * [xtro] Reword some of the Simd diagnostic messages according to review. * [tests] Make sure test symbols don't clash between different test libraries. Fixes this build problem for framework-test: clang: error: linker command failed with exit code 1 (use -v to see invocation) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_get_rotation_matrix'. MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticObjectTest.framework/XStaticObjectTest (Location related to previous error) MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticArTest.framework/XStaticArTest(libtest-ar.x86_64.o) (Location related to previous error) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransformcomponent_get_local_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_create_global_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float4x4'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float3x3'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float2x2'. MTOUCH: error MT5209: Native linking error: 6 duplicate symbols for architecture x86_64 MTOUCH: error MT5202: Native linking failed. Please review the build log. * [tests] Since libtest.a need ModelIO now, the corresponding LinkWith attributes need to state that too. * [introspection] Don't check native signatures on obsolete members, and ignore the right simd matrix types. Fixes this introspection/Mac problem: ***** ApiSignatureTest.NativeSignatures Selector: uniformWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: uniformWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: uniformWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: setMatrixFloat2x2Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: setMatrixFloat3x3Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: setMatrixFloat4x4Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: initWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: initWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: initWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded * [monotouch-tests] Include more custom asserts for watchOS to make the build work. Fixes this: Simd/MatrixFloat4x4Test.cs(28,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(29,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(37,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(48,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' [...] * [monotouch-test] Exclude code that requires the binding project from xammac tests. Exclude code that requires the test binding project from xammac tests because there's currently no XM version of the test binding project. Fixes this: tests/monotouch-test/SpriteKit/UniformTest.cs(20,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLMaterialProperty.cs(37,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLTransform.cs(34,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) * Bump version for preview #8 (#2576) * [spritekit] Audit fixes (xtro) (#2577) 1. SKVideoNode is now, partially, available on watchOS and does not require the extra, manual code to swicth selectors depending on the OS version being run. !missing-type! SKVideoNode not bound !missing-selector! SKVideoNode::anchorPoint not bound !missing-selector! SKVideoNode::initWithCoder: not bound !missing-selector! SKVideoNode::initWithFileNamed: not bound !missing-selector! SKVideoNode::initWithURL: not bound !missing-selector! SKVideoNode::setAnchorPoint: not bound !missing-selector! SKVideoNode::setSize: not bound !missing-selector! SKVideoNode::size not bound !missing-selector! +SKVideoNode::videoNodeWithFileNamed: not bound !missing-selector! +SKVideoNode::videoNodeWithURL: not bound 2. SKNodeFocusBehavior is exposed needlessly on watchOS because SpriteKit/Enums.cs was not processed by the generator, so [NoWatch] did not matter. !unknown-native-enum! SKNodeFocusBehavior bound It's also visible on macOS but nothing uses it (so we do not expose it needlessly) !missing-enum! SKNodeFocusBehavior not bound 3. Add missing designated initializer on default `init` !missing-designated-initializer! SKAttributeValue::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! SKNode::init is missing an [DesignatedInitializer] attribute 4. Remove inconsistency for SKNode subclasses wrt XAMCORE_4_0 The trio attributeValues, setAttributeValues and setValue:forAttributeNamed: that was moved from SKNode (deprecated) into its subclasses. This was done using XAMCORE_4_0 but not on every subclasses. This adds them everywhere to be consistent (only SKNode versions are not defined in XAMCORE_4_0) !missing-selector! SKEffectNode::attributeValues not bound !missing-selector! SKEffectNode::setAttributeValues: not bound !missing-selector! SKEffectNode::setValue:forAttributeNamed: not bound !missing-selector! SKEffectNode::valueForAttributeNamed: not bound !missing-selector! SKEmitterNode::attributeValues not bound !missing-selector! SKEmitterNode::setAttributeValues: not bound !missing-selector! SKEmitterNode::setValue:forAttributeNamed: not bound !missing-selector! SKEmitterNode::valueForAttributeNamed: not bound !missing-selector! SKSpriteNode::attributeValues not bound !missing-selector! SKSpriteNode::setAttributeValues: not bound !missing-selector! SKSpriteNode::setValue:forAttributeNamed: not bound !missing-selector! SKSpriteNode::valueForAttributeNamed: not bound * [introspection] Make sure '[FAIL]' is printed before every failure. (#2578) This makes xharness able to list the failures in the inline summary. * [xtro] Reword some of the Simd diagnostic messages according to review. * [xharness] Add a missing IsServerMode check to generate correct html. (#2581) * [SpriteKit] SKTransformNode is new in Xcode 9 so no need to keep the broken (and obsolete) non-simd version of RotationMatrix. * [intents] Fix some (partial) xtro issues and #59156 (#2585) reference https://bugzilla.xamarin.com/show_bug.cgi?id=59156 Remaining issues are filled in https://bugzilla.xamarin.com/show_bug.cgi?id=59183 !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound * [Intents] Confirm* interface methods should be bound as Confirm, Fixes Bug 59164 (#2591) * [Intents] Confirm* interface methods should probably be bound as Confirm, Fixes Bug 59164 https://bugzilla.xamarin.com/show_bug.cgi?id=59164 All Confirm* methods from *IntentHandling interfaces should be named just `Confirm` to avoid confusion because most of them do not directly confirm as an acion, but instead they **ask** for confirmation also we would follow swift's naming by doing this. * [Intents] XAMCORE_4_0 all Confirm* methods from *IntentHandling Turns any Confirm* into just Confirm inside a XAMCORE_4_0 block, * [Intents] Fix breaking changes in Intents added in Xcode 9 Bindings (#2590) Apple added more protocol conformances to INRidesharingDomainHandling and INPaymentsDomainHandling protocols in Xcode 9, I introduced these breaking changes back when I did intents binding so fixing them :) * [Metal] New bindings from Xcode 9 betas (#2457) * [AVFoundation] Updated bindings for xcode9. (#2272) * [Xcode9] Add IOSurface bindings (#2363) * This framework was a private framework before iOS 11. This framework was a private framework before iOS 11, yet the headers claim many API were introduced in iOS 10. So take account of this difference by using the private framework location in iOS 10.3 or earlier. Testing these API from Xcode works fine when run on an iOS 10.3 device, and I've confirmed the IOSurface framework is loaded from the private frameworks path on older devices (and when built using Xcode 9 and linked with the public framework path). * Disable code to make IOSurface work on iOS 10. Disable the code to make IOSurface work on iOS 10, since it may be rejected by the App Store. This also means adjusting the availability attributes, so that the introspection tests pass (and to document that technically these API won't work when used with Xamarin.iOS in iOS 10). I've filed bug #[59201][1] to keep track of this, maybe we can re-enable this later. [1]: https://bugzilla.xamarin.com/show_bug.cgi?id=59201 * [CoreMedia] Fix leak in CMAttachmentBearer.GetAttachments. (#2593) The caller owns the return value from CMCopyDictionaryOfAttachments, so tell Runtime.GetNSObject that. * [Intents] Adds missing API found by xtro, fixes Bug 59183 (#2596) https://bugzilla.xamarin.com/show_bug.cgi?id=59183 Fixes !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !incorrect-protocol-member! INUIHostedViewControlling::configureWithInteraction:context:completion: is OPTIONAL and should NOT be abstract * [xtro] Fix StartWorkingDirectory to enable debugging (#2598) * [iosurface] Enable for tvOS and XM classic (to avoid multiple defines around consumer API) (#2597) * [xtro] Fix EnumCheck (#2600) * [ARKit] Rename a few method to make them nicer. (#2604) * DisplayTransform -> GetDisplayTransform since methods should have verbs. * SessionWasInterrupted -> WasInterrupted and SessionInterruptionEnded -> InterruptionEnded since these names match better with the other names (CameraDidChangeTrackingState / DidFail / DidOutputAudioSampleBuffer: none are prefixed with 'Session'). Additionally, the type is a Model (for the delegate pattern), which means all methods are more-or-less event-like, and the first argument is always the same (the protocol itself), which is another indicator the methods should be named similarly. * [Foundation] Remove 'Key' suffix from some fields. (#2606) Of the 168 fields in NSMetadataItem, only these 5 hadn't removed the 'Key' suffix. So make them all equivalent by removing the 'Key' suffix from these 5 fields. * [ImageIO] Fix API to not duplicate the instance in instance methods. (#2609) An instance method does not need to take the instance as a parameter, so remove the first (instance) parameter for CGImageDestination.AddAuxiliaryDataInfo and CGImageSource.CopyAuxiliaryDataInfo. An alternative solution would be to make the methods static, but I like the instance API better. * [UIKit] De-model UIDataSourceTranslating. (#2603) It's not clear from neither the documentation nor the headers how this protocol is supposed to be used, and since it doesn't correspond to the delegate pattern, remove the [Model] attribute for now. We can always add it back later. * [CoreML] Improve API. (#2592) * [CoreML] Improve API. * The indices, shape and stride properties for MLMultiArray and MLMultiArrayConstraint can logically only be arrays of integers, so type them as such. This means adding overloads for MLMultiArray's constructors, GetObject and SetObject methods, and the indexers that takes nint[] arrays instead of NSNumber[] arrays. * Change MLFeatureValue's static factory methods to be a method ('Create') instead of a preposition, and call all the different factory methods the same, since they can be overloaded nicely. * [tests][monotouch-test] Add version check to MLMultiArrayTest and make sure the arrays we create are big enough for the data we put in them. * [tests][monotouch-test] MLMultiArray's elements aren't zero-initialized, so don't assume that in the tests. * Support overloading Objective-C methods based on static/instance. (#2607) Two Objective-C methods can be named identically as long as one is static and the other instance. We must support this since Apple did just this (in the NSItemProviderReading / NSItemProviderWriting protocols). We solve it by prepending a '+' or '-' to the selector when hashing it (to determine selector uniqueness, and to look the method up again at runtime). * [uikit] Update for Xcode 9 - Part 6 (#2602) NSAttributedString.h NSFileProviderExtension.h NSLayoutAnchor.h UIAccessibility.h UIAccessibilityAdditions.h UIAccessibilityContainer.h UIAccessibilityContentSizeCategoryImageAdjusting.h UIAccessibilityCustomRotor.h UIAccessibilityLocationDescriptor.h UITabBar.h UINavigationBar.h UIScreen.h * Xcode9 scenekit (#2512) * [SceneKit] basic work * Added key * [xcode9] SCNCameraController * [xcode9] SCNCamera updates * [xcode9] SCNMaterial * [xcode9] SCNGeometryTessellator, SCNCameraControlConfiguration, SCNView, small bits * Add trailing commas to last enum value * Remove whitespace noise * [scenekit] Update deprecated attributes messages * Addresses some of Rolf's feedback * Drop the WeakDelegate in SCNCameraController * Rename method to Render, remove ctor from class that can not be constructed in Palygrounds, add typo exception * [AppKit] Rename NSBezierPath.AppendBezierPathWithCGGlyph to match its sibling methods. (#2605) NSBezierPath contains a lot of 'AppendPathWithXXX' methods, that all map to 'appendBezierPathXXX' selectors. So rename AppendBezierPathWithCGGlyph accordingly, to make it more similar to the other methods in the same type. * [uikit] Add all UISpringLoadedInteractionSupporting (#2616) Types do not conform to the protocol but protocol methods work on those types (see monotouch-test). Fixed introspection tests accordingly and tested the selectors in monotouch-test. * [Intents] Add convenience ctor overload and call correct base ctor in manual ctor. (#2613) Add a convenience constructor overload in INGetUserCurrentRestaurantReservationBookingsIntent that uses nint instead of NSNumber, since logically "number of results" will always be some sort of integer. Also call the correct base constructor in INSpeakableString's custom constructor (same as any other generated constructor). Otherwise we end up doing something like this: [[[INSpeakableString alloc] init] initWith ...], i.e. calling two different init methods. * [coreimage] Add new headers API up to beta 6 (#2601) Filters are not complete (ref: #57350) https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * Some new constants are not yet documented (type is known), so they are commented / ignored https://bugzilla.xamarin.com/show_bug.cgi?id=59296 * Filled bug for [Wrap] inside [Category] so strong dictionary helpers can be re-enabled later https://bugzilla.xamarin.com/show_bug.cgi?id=59294 * [foundation] xtro fixes for watchOS (#2586) !missing-enum! NSProcessInfoThermalState not bound !missing-field! NSProcessInfoThermalStateDidChangeNotification not bound !missing-selector! NSProcessInfo::thermalState not bound Headers are wrong and preferredPresentationStyle is not in tvOS and watchOS !missing-selector! NSItemProvider::preferredPresentationStyle not bound !missing-selector! NSItemProvider::setPreferredPresentationStyle: not bound * [uikit] Also remove UIPreferredPresentationStyle enum from platform where it's not used * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. (#2614) * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. * NSItemProviderWriting: * NSItemProviderReading: Implement correctly and completely by uncommenting commented out code. * NSMutableString: * NSAttributedString: remove inlined members, since these classes don't implement NSItemProviderReading / NSItemProviderWriting (according to the headers at least). * NSUrl: all platforms now seem to implement NSItemProviderReading / NSItemProviderWriting. * NSString: all platforms now seem to implement both NSItemProviderReading and NSItemProviderWriting * UIColor: * UIImage: Update inlined protocol members according to the latest beta. Additionally, due to the following conditions: * The protocols all have the correct members now. * In the API definition we tell the generator to inline members from a protocol by inheriting from the corresponding interface. * The generator doesn't inline static members from protocols. several 'new' keywords had to be added to silence a compiler warning that occurrs when we manually inline a static member, since the member would be included in the type both from the inherited interface and the manual implementation. * [Foundation] Comment out NSItemProviderWriting.GetItemProviderVisibility to avoid inlining/generating unusable methods. NSItemProviderWriting.GetItemProviderVisibility is an optional method, and none of the native classes that implements NSItemProviderWriting actually imlements the method. This means inlining the method in those classes ends up creating unusable API; so just comment out the method to avoid generating the unusable API. The introspection tests found this: [FAIL] Foundation.NSString : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Foundation.NSUrl : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Contacts.CNContact : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] MapKit.MKMapItem : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIColor : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIImage : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] iOSApiSelectorTest.ApiSelectorTest.StaticMethods : 6 errors found in 2348 static selector validated: See also https://bugzilla.xamarin.com/show_bug.cgi?id=59308 * [iosurface] Add missing [TV] attributes (#2619) * [opengles] Enable the new API using IOSurface (#2618) The symbol only exists inside device libraries, not on simulator, and the introspection tests were updated to ignore it. Part of https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [avfoundation][watchos] Enable AudioBufferList (fix #59145) + audit (xtro) (#2617) 1. AudioBufferList is part of CoreAudio (wrong namespace, which needs a few changes in the generator) and now available in watchOS 4 https://bugzilla.xamarin.com/show_bug.cgi?id=59145 2. Also fixes xtro found issues: !missing-type! AVAudioRecorder not bound !missing-selector! AVAudioRecorder::averagePowerForChannel: not bound !missing-selector! AVAudioRecorder::channelAssignments not bound !missing-selector! AVAudioRecorder::currentTime not bound !missing-selector! AVAudioRecorder::delegate not bound !missing-selector! AVAudioRecorder::deviceCurrentTime not bound !missing-selector! AVAudioRecorder::format not bound !missing-selector! AVAudioRecorder::initWithURL:format:error: not bound !missing-selector! AVAudioRecorder::initWithURL:settings:error: not bound !missing-selector! AVAudioRecorder::isMeteringEnabled not bound !missing-selector! AVAudioRecorder::isRecording not bound !missing-selector! AVAudioRecorder::peakPowerForChannel: not bound !missing-selector! AVAudioRecorder::recordAtTime: not bound !missing-selector! AVAudioRecorder::recordAtTime:forDuration: not bound !missing-selector! AVAudioRecorder::recordForDuration: not bound !missing-selector! AVAudioRecorder::setChannelAssignments: not bound !missing-selector! AVAudioRecorder::setDelegate: not bound !missing-selector! AVAudioRecorder::setMeteringEnabled: not bound !missing-selector! AVAudioRecorder::settings not bound !missing-selector! AVAudioRecorder::url not bound !missing-protocol! AVAudioRecorderDelegate not bound !missing-selector! AVAudioEngine::inputNode not bound !missing-selector! AVAudioEngine::manualRenderingBlock not bound !missing-selector! AVAudioInputNode::setManualRenderingInputPCMFormat:inputBlock: not bound !missing-selector! AVAudioPlayer::format not bound !missing-selector! AVAudioSession::requestRecordPermission: not bound !unknown-field! AVFileType3GPP bound !unknown-field! AVFileType3GPP2 bound !unknown-field! AVFileTypeAC3 bound !unknown-field! AVFileTypeAIFC bound !unknown-field! AVFileTypeAIFF bound !unknown-field! AVFileTypeAMR bound !unknown-field! AVFileTypeAVCI bound !unknown-field! AVFileTypeAppleM4A bound !unknown-field! AVFileTypeAppleM4V bound !unknown-field! AVFileTypeCoreAudioFormat bound !unknown-field! AVFileTypeDNG bound !unknown-field! AVFileTypeEnhancedAC3 bound !unknown-field! AVFileTypeHEIC bound !unknown-field! AVFileTypeHEIF bound !unknown-field! AVFileTypeJPEG bound !unknown-field! AVFileTypeMPEG4 bound !unknown-field! AVFileTypeMPEGLayer3 bound !unknown-field! AVFileTypeQuickTimeMovie bound !unknown-field! AVFileTypeSunAU bound !unknown-field! AVFileTypeTIFF bound !unknown-field! AVFileTypeWAVE bound * [Metal] Implement API using IOSurface now that IOSurface is implemented. Partially fixes #58054. (#2621) https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [PdfKit] Improve PdfAnnotation.QuadrilateralPoints binding by making it strongly typed. (#2620) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). (#2622) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). * [ARKit/Vision] Use the new simd vector types instead of the OpenTK versions. * [ModelIO] Use the new simd vectors in new API (MDLVoxelIndexExtent2). This way we won't have to create a MDLVoxelIndexExtent3 in the future. * [SpriteKit] Use the new simd vectors in new API. * [metal] Audit (xtro) based fixes (#2623) !extra-protocol-member! unexpected selector MTLArgumentEncoder::newArgumentEncoderForBufferAtIndex: found !extra-protocol-member! unexpected selector MTLComputeCommandEncoder::dispatchThreads:threadsPerThreadgroup: found macos-only !missing-field! MTLDeviceRemovalRequestedNotification not bound !missing-field! MTLDeviceWasAddedNotification not bound !missing-field! MTLDeviceWasRemovedNotification not bound !missing-pinvoke! MTLCopyAllDevices is not bound * [CloudKit] Update bindings to beta 6. (#2615) * [FileProvider] Turn NSFileProviderItemIdentifier enum into a static class, fixes bug 59329 (#2634) https://bugzilla.xamarin.com/show_bug.cgi?id=59329 At the time of binding NSFileProviderItemIdentifier it wasn't clear how it was supposed to be used, I mean apple provides two keys which I thought were the only possible values hence binding it as an smart enum. Unfortunately this wasn't the case and the user can use those two values provided from the SDK or their own NSString Identifier. Swift provides a wrapper unfortunately we can't do the same due to NSFileProviderItemIdentifier is used in the NSFileProviderItem protocol and we currently do not support changing signatures on them. * [mtouch] Teach mtouch about the 'IOSurface' framework for tvOS. Fixes #59333. (#2630) https://bugzilla.xamarin.com/show_bug.cgi?id=59333 * Bump Touch.Unit to get fix for API breakage. (#2631) spouliot/Touch.Unit@8f1e19d [NUnitOutputTextWriter] Reintroduce previous constructor to make sure we don't break binary ABI. spouliot/Touch.Unit@00b0c0b [NUnitOutputTextWriter] Don't write invalid xml comments. spouliot/Touch.Unit@de9fe20 [TouchRunner] Restore the original code path when not wrapping NUnit xml output. * [IOSurface] Add missing availability attributes for tvOS. (#2629) * Bump versions for preview 9 (#2624) * [AVFoundation] Add missing interface AVRouteDetector. (#2637) * [tests] Update xtro to reduce list sizes (#2636) * Skip OpenTK duplicate declaration (we can't change them); * Fix rule name change for ARKit / simd; * Add missing default initializer on `init` to pending actions; * Add note for AVPersistableContentKeyRequest changes wrt tvOS; * [ReplayKit] Make RPBroadcastActivityViewController.LoadBroadcastActivityViewController async-capable. (#2639) * [xcode9] More SceneKit bindings (#2633) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 (#2644) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 https://bugzilla.xamarin.com/show_bug.cgi?id=59380 vector_float3 is 16 bytes, which means the binding is incorrect, because Vector3 is 12 bytes, and our code does not that difference into account. * Add tests * [DeviceCheck] Disable default ctor for DCDevice. (#2642) It doesn't seem to be useful according to the documentation, since it appears that the only way to get an instance is to use the static CurrentDevice property. * [audiounit] Audit (xtro) fixes for tvOS (#2635) Availability attributes in non-generated files don't hide symbols/code. reference: !unknown-pinvoke! AudioUnitExtensionCopyComponentList bound !unknown-pinvoke! AudioUnitExtensionSetComponentList bound * [tests] Make sure tvOS tests don't use the (unexisting) API * [tests] Add all test project variations to tests-mac.sln (#2579) * [xharness] Make sure generated mac projects have different project guids. * [introspection] Change the project guid so that it doesn't match the dontlink-mac project guid. * [tests] Add all test project variations to tests-mac.sln. * [xharness] Fix else condition. * [FileProvider] Adds missing NSFileProviderPage constants, fixes bug 59297. (#2646) https://bugzilla.xamarin.com/show_bug.cgi?id=59297 Adds NSFileProviderInitialPageSortedByName and NSFileProviderInitialPageSortedByDate NSData constants * [Xcode9] Remove NSFileProviderMessage and NSFileProviderMessageInterface (#2647) APIs were removed in beta 2 * [Foundation/UIKit] Provide LoadObject[s] methods that return the expected type in the callback. Fixes #59049. (#2638) The callback for these LoadObject[s] methods take an INSItemProviderReading parameter. This tells our runtime that we must provide an instance of a managed object that implements this interface (but nothing else), so we create a `NSItemProviderReadingWrapper` instance, which complies with the API (since the wrapper type implements the corresponding interface). Unfortunately these methods are supposed to return an instance of the passed- in type, so in order to comply with this soft (documentation-only) requirement, provide a wrapper method that creates instances of the right types. https://bugzilla.xamarin.com/show_bug.cgi?id=59049 * [arkit] Ignore deprecated selectors (#2645) * [FileProvider] Adds missing protocol and keys from audit (#2652) ``` !missing-protocol! NSFileProviderServiceSource not bound !missing-field! NSFileProviderErrorCollidingItemKey not bound !missing-field! NSFileProviderErrorNonExistentItemIdentifierKey not bound !missing-field! NSFileProviderFavoriteRankUnranked not bound ``` Also adds `NSXpcListenerEndpoint` to foundation, needed by `NSFileProviderServiceSource` protocol. * [tests][xtro] Workaround xtro runner dupe entry exception and update data files (#2654) * [AVFoundation] Rename field to match others. (#2657) * [homekit] Audit (xtro) fixes (#2653) - HMCharacteristicEvent conforms to NSMutableCopying on iOS11 which makes it 64 bits only (so adjust intro tests) - Ignore extra setters on HMMutablePresenceEvent, rdar 33883958 !missing-selector! HMMutablePresenceEvent::setPresenceEventType: not bound !missing-selector! HMMutablePresenceEvent::setPresenceUserType: not bound * [xtro] Add missing pinvoke to pending (#2662) - Bug 59422: [uikit] Missing UIContentSizeCategoryCompareToCategory & UIContentSizeCategoryIsAccessibilityCategory (https://bugzilla.xamarin.com/show_bug.cgi?id=59422) * Merge latest d15-3 fixes into xcode9 (#2660) * [msbuild] Re-added wildcard (*) expandsion for application-identifier in Entitlements.plist (#2186) Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=57119 * Bump mono (#2213) * Framework tests were still binding non-linked Simple class which errors now (#2216) (#2218) - Improve Makefile to rebuild when projects build with errors * Bump mono to get cecil fix for bug #56808. (#2222) https://bugzilla.xamarin.com/show_bug.cgi?id=56808 * [msbuild] Use @(ReferencePath) instead of @(ResolvedFiles) (#2188) (#2214) This allows things to work on both xbuild and msbuild. In xbuild, both lists are exactly the same and on msbuild, only @(ReferencePath) exists. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=55147 * NSActivityOptions.IdleDisplaySleepDisabled had wrong value (#2232) (#2239) This was due to an integer overflow. The original value was based on Int32 1 << 40 == 256 The correct value should be based on a UInt64. 1UL << 40 == 1099511627776 * [tests] Fix bug 57699 - [iOS]InternalsTest failure (Linkall) tests on device (#2243) Strip native debugging symbols should not be checked for debug builds * Bump mono to get fix for bug #57780. https://bugzilla.xamarin.com/show_bug.cgi?id=57780 * Update .gitmodules Change branch to d15-3 branch of mono * Bump maccore to get fix for bug #55064. https://bugzilla.xamarin.com/show_bug.cgi?id=55064 * [mono] Bump mono to get the head of cecil/mono-2017-04 and fix IsComObject #57919 Also fix #58789 [1], the typo in tools/mtouch/Tuning.cs showing in MT0000 errors instead MT2102. That's already in master and d15-4 mono bump includes: [2] commit 2a6502cee0df9de5198eafe7c8b5f6ac25106f34 (HEAD -> d15-3, origin/d15-3) Merge: 02457c20fcf 5e05cafc6f1 Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 10:04:06 2017 -0400 Merge pull request #5401 from marek-safar/com [Marshal.IsComObject] Make this predicate return false instead of thr… [3] commit 02457c20fcf57c0610e844d638eb1da82b5d1eb0 Merge: da80840ea55 73fd9a1b82e Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 09:59:06 2017 -0400 Merge pull request #5400 from spouliot/bump-cecil-58834-d15-3 [cecil] Bump to the head of the mono-2017-04 branch and pick the fix for bug #58834 References [1] https://bugzilla.xamarin.com/show_bug.cgi?id=58789 [2] https://bugzilla.xamarin.com/show_bug.cgi?id=57919 [3] https://bugzilla.xamarin.com/show_bug.cgi?id=58834 * [mtouch] Put 'mono_profiler_startup_log' in the symbol list. Fixes #58778. (#2501) We need the 'mono_profiler_startup_log' symbol when profiling is enabled, so make sure to add the symbol to the correct list of symbols we need. Previously we were passing `-u _mono_profiler_startup_log` to clang directly, which is fine, but not complete, since it does not write the symbol to the symbollist file (--symbollist=file), which means it wouldn't be preserved when the MSBuild tasks strip the executable. https://bugzilla.xamarin.com/show_bug.cgi?id=58778 * Bump versions for SR3 https://trello.com/c/EVze08ei * Bump mono to include HttpClientHandler fix #44027 https://trello.com/c/jYFXadH8/8-systemnethttp-close-request-stream-when-httpclienthandler https://bugzilla.xamarin.com/show_bug.cgi?id=44027 * [FileProvider] Add missing API and turn NSString to string (#2663) Turned NSString to string in order to match exisiting API. * [uikit] Add UIPasteConfigurationSupporting and UITextPasteConfigurationSupporting (#2649) - Fixes bug #59363: Missing UIPasteConfigurationSupporting, UITextPasteConfigurationSupporting, UITextDraggable and UITextDroppable on a couple of types (https://bugzilla.xamarin.com/show_bug.cgi?id=59363) * [uikit] Remove 129 types in UIPasteConfigurationSupporting case * [scenekit] Audit (xtro) fixes (#2648) This looks like an Apple breaking change (since `SCNAnimation` is new) but we now have: > typedef void (^SCNAnimationEventBlock)(id<SCNAnimation> animation, id animatedObject, BOOL playingBackward); bound as > delegate void SCNAnimationEventHandler (CAAnimation animation, NSObject animatedObject, bool playingBackward); and `CAAnimation` conforms to `SCNAnimation` but *only* the later is available on watchOS. The delegate is only updated (since it's new) on our watchOS profile. xtro references: (watchos) !unknown-protocol! SCNCameraControlConfiguration bound (tvos/watchos) !missing-selector! SCNAnimation::animationEvents not bound !missing-selector! SCNAnimation::setAnimationEvents: not bound !missing-selector! SCNConstraint::isEnabled not bound !missing-selector! SCNConstraint::setEnabled: not bound !missing-field! SCNSceneSourceConvertToYUpKey not bound !missing-field! SCNSceneSourceConvertUnitsToMetersKey not bound (ios/tvos) !missing-protocol-conformance! SCNNode should conform to UIFocusItem * Bump maccore post 15.3 merge (#2665) * Bump Xcode 9 to GM (#2667) * Force build (on wrench) * [avfoundation] Fix breaking changes (apidiff) (#2664) * [TVServices] Update to Xcode 9 GM (#2675) * [GameController] Update to Xcode 9 GM (#2673) * [LocalAuthentication] Update to Xcode 9 GM (#2671) * [LocalAuthentication] Update to Xcode 9 GM * Remove availability from BiometryNotAvailable, BiometryNotEnrolled and BiometryLockout * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer (#2659) * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer Some of the new added types were already present BUT under a #if MONOMAC, they had to be moved. * [AVFoundation] Set the wrongly added API to be obsolete and ensure it returns logical values. (#2650) * [xtro] The right platform for macOS is 'macos', not 'osx'. (#2677) The platform name is used to filter availability attributes, and if we use the wrong platform, we'll incorrectly skip all availability attributes. The net result in unclassified entries: https://gist.github.com/rolfbjarne/a4474bc2a40c49a85cad495b51bb514f * Various Xcode 9 API improvements and also fixes bug 59433 (#2676) https://bugzilla.xamarin.com/show_bug.cgi?id=59433 While fixing bug 59433 I noticed some additional issues outlined below: AVDepthData: * Renamed **non** static `Create` methods because `Create` only makes sense with the **Static** method in this context. Also by renaming the methods we are now closer to the names that swift uses. * Kept descriptive method names in favor of self-documenting code. `Convert`, `Apply` and `Replace` do not fully give us the intent of the method. * Added a convenience `Create` static method that takes a `CGImageAuxiliaryDataInfo`. * AvailableDepthDataTypes is now an array of `CVPixelFormatType` instead of a `NSNumber` array (The aactual fix for bug 59433). ImageIO: * Refactored `CGImageAuxiliaryDataInfo` to be a `StrongDictionary` in order to avoid most of the manual code and also to avoid reimplementing the `ToDictionary` method (which contained a subtle bug). * Adjusted code to reflect the above change. * Added missing `.ctor (IntPtr, bool)` to `CGImageMetadata` so the class is able to be created by our `Runtime.Get*`. * Simplified `CopyAuxiliaryDataInfo` method by using `CGImageAuxiliaryDataInfo` as a `DictionaryContainer`. Tests: * Added `xamarinmonkey.heic` which is an image that contains depth data needed to test above changes. * Adds `AVDepthDataTests` that touches most of the changes listed here. * Tweak the Simd-compatible matrices and vectors (#2668) * Rename them to be OpenTK.NMatrix# (instead of Simd.MatrixFloat#x#). * Remove the Vector2 and Vector4 variants, we'll use the OpenTK types instead (but we'll keep the NVector3 variant, since it's not identical to the OpenTK version). * Update the API to match their OpenTK counterparts better: * NMatrix2 and NMatrix3 have a 0-based R#C# scheme for their fields. * NMatrix4 has a 1-based M## scheme for its fields (i.e. no change). * [AVFoundation] Use Simd-matrix for API that needs it. (#2679) This also requires implementing the corresponding matrix (NMatrix4x3). Fixes this xtro issue: > !unknown-simd-type-in-signature! OpenTK.Matrix3 AVFoundation.AVCameraCalibrationData::get_GetIntrinsicMatrix(): the native signature has a simd type (matrix_float3x3), while the corresponding managed method is using an incorrect (non-simd) type. * [xtro] Fix checking availability on categories. (#2682) When checking for category availability, check if both the current declaration is a category, and if the current's declaration container is a category. Otherwise this scenario fails: * Category method is available. * Category does not have availability attributes. * Main class is unavailable. with this typical code sequence: ```csharp // don't process methods (or types) that are unavailable for the current platform if (!decl.IsAvailable () || !(decl.DeclContext as Decl).IsAvailable ()) return; ``` In which case we'd: * First check the method (`decl`): * It's available, so no further checks is done on the method. * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container's container is a category (it isn't, it's the namespace). and as such determine that the method is available. With this change, the second step will become: * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container is a category (it is), and if its main class is available (it isn't). and as such determine that the method is unavailable. * Check for attributes on the method's container (no attributes, so we continue). * Check if the method's Unclassified diff: https://gist.github.com/rolfbjarne/8fa80962596978a426eadf9b7ba39dc1 * [uikit] Update for Xcode 9 GM (#2670) * [AVFoundation] Implement AVCapturePhoto. Partially fixes #59388. (#2678) Fixes: > common.unclassified:!missing-type! AVCapturePhoto not bound https://bugzilla.xamarin.com/show_bug.cgi?id=59388 * Use strong dictionaries for AVCapturePhoto.Metadata and AVCapturePhoto.EmbeddedThumbnailPhotoFormat. * [SIMD] Implement Simd double types (VectorDouble3/MatrixDouble4x4). (#2632) The following types will be used by ModelIO bindings * Fix delta to be double * Rename Simd-compatible matrices and vectors to match our final naming. This also means removing the new Vector2 and Vector4 variants (but not Vector3). * [avfoundation] Remove AVAssetDownloadDelegate.DidLoadTimeRange since it was removed in one of the betas (#2687) * [foundation] Move NSUrlSessionMultipathServiceType to a file processed by the generator (for the availability attributes) (#2688) * [arkit] Update for Xcode 9 GM (#2681) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes (#2690) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes Type Changed: Intents.INCarSeatResolutionResult Removed methods: public static INCarSeatResolutionResult GetConfirmationRequired (INCarSeat valueToConfirm); public static INCarSeatResolutionResult GetSuccess (INCarSeat resolvedValue); * [avfoundation] Add missing protocol members and deprecations (#2691) !missing-protocol-member! AVCapturePhotoCaptureDelegate::captureOutput:didFinishProcessingPhoto:error: not found and the selector removed from PR#2687 was actually replaced with this one !missing-protocol-member! AVAssetDownloadDelegate::URLSession:aggregateAssetDownloadTask:didLoadTimeRange:totalTimeRangesLoaded:timeRangeExpectedToLoad:forMediaSelection: not found * [tests][xtro] Map some enums, more fix with protocols and update entries (#2692) * [Tests] Reenable dns tests on the watch. (#2674) * [arkit] Add ARBlendShapeLocationOptions strong dictionary (#2696) * [coreimage] Skip not yet bound filters added in Xcode9 (#2698) Tracked in https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * [Metal] Renamed MTLArgumentDescriptor.ArgumentDescriptor to Create, fixes bug 59498 (#2702) https://bugzilla.xamarin.com/show_bug.cgi?id=59498 From [argumentDescriptor docs](https://developer.apple.com/documentation/metal/mtlargumentdescriptor/2915746-argumentdescriptor?language=objc) > Creates an empty argument descriptor. * [msbuild] Always codesign app bundles if the codesign key is non-null (#2697) ...even if it is a simulator build. Turns out that starting with Xcode9, sim builds need to be codesigned for App Groups entitlements to work properly. Interestingly, the DetectSigningIdentity logic had a comment about needing to codesign simulator builds for some entitlements to work already starting with Xcode 8 but apparently the iOS targets did not respect this. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=59379 * [Foundation] Add NSProxy stub in order to workaround bug 59247 (#2693) https://bugzilla.xamarin.com/show_bug.cgi?id=59247 We need to have a better solution that removes all what NSProxy does not responds to. Right now this works because NSObject implements NSObject protocol just like NSProxy, but NSProxy responds to far less selectors hence doing it internal so it is not a breaking change when we provide the correct fix. * Keep NSProxy around and avoid XML linker description We need to keep NSProxy (avoid linking it) if WKNavigationDelegate or IWKNavigationDelegate is used. We know WKWebView will be there and can hold a reference to it. * [Xcode 9] Update Metal for GM (#2689) * [iosurface] IOSurface is not usable before iOS/tvOS 11. Fixes #59201 (#2706) Apple rejects apps that links with the previously private IOSurface.framework. We were not sure about this [1] and had it disabled (this is removed). However another bug stopped our adjustment logic [2] from being executed. This is needed since `clang` picks up the private framework if it does not find the public one (even when asking for a weak framework), [1] https://bugzilla.xamarin.com/show_bug.cgi?id=59201 [2] Added a while ago for JavascriptCore * Bump maccore to point to commit with the docs fix. (#2703) * Bump XI to 11.0.x (and XM to 3.99.9.x) (#2684) * fix typo
2017-09-16 00:53:16 +03:00
[Export ("displacement")]
SCNMaterialProperty Displacement { get; }
[Watch (4, 0), TV (11, 0), Mac (10, 13, onlyOn64: true), iOS (11, 0)]
Merge xcode9 into d15-4[-xi] (#2710) * [FileProvider] Add Xcode 9 Beta 1, 2 & 3 Bindings (#2279) * [FileProvider] Add Xcode 9 Beta 1 Bindings * Better naming * Feedback not related to BindAs * [FileProvider] Removes BindAs, add manual code for it and updated to Beta 3 * [FileProvider] Implement feedback * [CoreSpotlight] Updated spotlight bindings for xcode 9 beta 3. (#2193) Updated spotlight bindings for xcode 9 beta 3. * Fix warning caused by duplicate (#2354) * [FileProviderUI] Add Xcode 9 Beta 1 to 3 bindings (#2356) * Bump to Xcode 9 beta 4 * [arkit] ARLightEstimate does not conform to NSCopying anymore (fix unit test) * [uikit] NSFileProviderExtension.ReparentItem got a new parameter in beta4 (fix unit test) * [coreimage] CIImageAccumulator init returns nil in beta 4 There's no header change to mention `init` is not allowed but it's not clear how this default initializer could be used. Also make public some other API to construct this type (outside of XM). It's not clear why there were `internal` as they are (at least now) part of the header files. * [photos] Add helpers when PHLivePhotoEditingOption/NSDictionary is null (to avoid ambiguous API) (#2360) Adding a strongly typed `PHLivePhotoEditingOption` (a strongly typed version of an `NSDictionary`) can cause a `CS0121` (call is ambiguous) since using a `null` argument is common (only one option exist so far). This PR adds overloads that makes the code nicer in such case, e.g. before Xcode9: > // null is used when no options are given > _foo.SaveLivePhoto (output, null, completion); current (Xcode 9) > // casting required to remove ambiguity with PHLivePhotoEditingOption > _foo.SaveLivePhoto (output, (NSDictionary)null, completion); with this PR > // no option, no argument > _foo.SaveLivePhoto (output, completion); The same applies to `PrepareLivePhotoForPlayback`. * [tests] Disable/tweak two tests that breaks on (almost) all Xcode updates Those tests were not added to validate xOS so just keep the parts that helps us (without constantly checking back the new break flavor) * Disable watchOS to check if this hides others issues * [mapkit] Update for beta 4 * [coredata] Update for beta 4 * [wkwebkit] Update for beta 4 Note: WKWindowFeatures.h is not compiled (part of the framework umbrella) and the `@interface WKWindowFeatures (WKPrivate)` sounds like it should not have been exposed (it's all fields starting with `_`) * [corelocation] Update for beta 4 * Revert "Disable watchOS to check if this hides others issues" This reverts commit fed2249fa43290a1956ab2fe0d48f83ab6db9711. * [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]: https://github.com/xamarin/xamarin-macios/blob/f5956d6cc1eb5dfa7bab16628cf282d40237f64e/src/generator.cs#L5985 * [FinderSync] Update to beta 4 (#2377) * [ImageIO] Update to Xcode 9 (#2353) * [PhotosUI] Move macOS photosui bindings out of photos.cs into photosui.cs (#2358) * [quicklook] Update up to beta 4 (#2374) * [uikit] UIDragInteraction & UIDragInteractionDelegate (Xcode 9 b1,2,3) (#2357) * [safariservices] Update up to beta 4 (#2380) * [coreanimation] Update to beta 4 (#2382) Apple removed (mistake?) some API in beta 1. Filed as rdar 33590997 Internal tracking in https://trello.com/c/J8BDDUV9/86-33590997-coreanimation-quartzcore-api-removals * [storekit] Update up to beta 4 (#2379) * [CoreML] Update to Xcode 9 Beta 4 (#2387) * [uikit] UICollectionView/UITableView Drag & Drop (Xcode 9 b1,2,3 & 4) (#2355) * Update code after radar 32929318 and 32897776 are fixed in b4 (#2394) * [xcode9 CoreAudio] New definitions from Beta1 to Beta3 (#2359) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 (#2397) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 https://bugzilla.xamarin.com/show_bug.cgi?id=58512 Created strong API (VNBarcodeSymbology) on the following properties * VNDetectBarcodesRequest.SupportedSymbologies * VNDetectBarcodesRequest.Symbologies * VNBarcodeObservation.Symbology * Remove modern C# because classic can't do it 😡 * [mediaplayer] Update up to beta 4 (#2388) * [watchkit] Update to beta 4 (#2398) * Bump Visual Studio for Mac max version (#2408) * [coreimage] Add CIBarcodeDescriptor and enabled missing API for VNBarcodeObservation. Fix #58197 (#2411) https://bugzilla.xamarin.com/show_bug.cgi?id=58197 * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 (#2407) * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 * [uikit] Fixes based on comments * [coreimage] CIImageAccumulator API fixes. Fix #58349 (#2412) * Obsolete the default `init`; * XM exposed some older APIs using `int` instead of `CIFormat`. This is fixed and old APIs are obsoleted; * Both new & old APIs are now using `CIFormat` for both XI and XM. https://bugzilla.xamarin.com/show_bug.cgi?id=58349 * [uikit] UIText drag & drop - up to Xcode 9 beta 4 (#2410) * [uikit] UISplitView & UIStackView up to Xcode 9 beta 4 (#2425) * Bump XI/XM versions before preview 4 (#2422) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 (#2378) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 * [PDFKit] Implement feedback * [PDFKit] the forgotten enum * [PDFKit] More feedback * [PDFKit] Add Mac changes * Missing change * Fix test RectangleF VS CGRect * Pass -Wunguarded-availability-new to quiet a new clang warning (#2424) - https://bugzilla.xamarin.com/show_bug.cgi?id=58574 * [mtouch/mmp] Ignore warnings about unguarded code section with regards to availability. (#2441) * [monotouch-test] Remove workaround for fixed Apple bug. (#2445) * Bump to Xcode 9 beta 5. (#2447) * Bump to Xcode 9 beta 5. * [mmp] Disable the partial static registrar, because Apple's macOS SDK is broken. > In file included from Xamarin.Mac.registrar.mobile.i386.m:1: > In file included from ./Xamarin.Mac.registrar.mobile.i386.h:11: > /Applications/Xcode9-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVFoundation.h:88:9: fatal error: 'AVFoundation/AVRouteDetector.h' file not found https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [mmp] Fix partial static registrar removal. * [CallKit] Update to Xcode 9 beta 5. * [ARKit] ARPointCloud doesn't conform to NSCopying anymore in Xcode 9 beta 5. * [ARKit] Update to Xcode 9 beta 5 enough to make tests happy. * [CoreImage] Stub out new filters in Xcode 9 beta 5. * [tests][monotouch] Simplify some MDLMesh asserts since values change a lot between OS versions. * [mmp] Default to the dynamic registrar for release builds again, due to bug #58629. https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [tests][introspection] CXCall started implementing NSCopying without saying so in the headers. * Disable mmp static registrar tests due to 58629 for now * [quicklook] Update to beta 5 (#2450) * [photos] Update for beta 5 (#2452) Also update some existing enum members were added in beta 1 on macOS * [safariservices] Update for beta 5 (#2455) * [mediaplayer] Update to beta 5 (#2456) * [CoreLocation] Update Xcode 9 Beta 5 (#2453) * [CoreML] Update to Xcode 9 Beta 5 (#2454) * [Contacts] Update to Xcode 9 Beta 5 (#2451) * [Vision] Update to Xcode 9 Beta 5 (#2458) * [builds] Tell LLVM to stay away from newer macOS functions. (#2459) Fixes this build problem on Sierra: > ld: weak import of symbol '_futimens' not supported because of option: -no_weak_imports for architecture x86_64 This is a symbol that was (will be?) introduced in High Sierra. Interestingly this only occurs if the Xcode 8.X Command Line Tools haven't been manually installed. Because if the Xcode 8.X Command Line Tools are installed, this happens: 1. llvm's configure script detects that 'futimens' is not usable. 2. llvm's configure script detects that 'futimens' is not usable, because xcrun sets SDKROOT=/ when calling clang. a. When the SDKROOT variable is set, clang passes '-syslibroot /usr/lib' to ld. b. When ld gets '-syslibroot /usr/lib', ld looks in '/usr/lib' for a library that contains 'futimens' in the OS itself, and since we're on Sierra, that fails to link. c. So when llvm's configure script creates a test program that checks if 'futimens' is present, the program fails. This is correct, and makes llvm *not* use futimens. 3. xcrun sets SDKROOT=/ because /usr/share/current-os.sdk/Info.plist exists. If that file does not exist, then xcrun sets SDKROOT to Xcode9's macOS SDK (because that's what xcode-select reports). a. When SDKROOT is set to Xcode9's macOS SDK, the configure check for 'futimens' succeeds, because the macOS 10.13 SDK contains that function. b. llvm happily uses 'futimens', and then the final link fails because we're using a symbol not available on all target platforms. * [arkit] Update for Xcode 9 beta 5 - Part 1 (#2460) * [tests] The container app for watchOS tests should be 64-bit. (#2463) * [xharness] watchOS tests need to run in a clean environment. Works around #58348. (#2462) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [xharness] It watchOS tests don't need to be clean anymore. Fixes #58348. (#2473) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [uikit] UIView/UIScrollView/UIViewController up to Xcode 9 beta 5 (#2431) - Add NSDirectionalEdgeInsets type. - Includes DirectionalEdgeInsetsTest. * [AudioToolbox] Update bindings to Xcode 9 beta3 (not later changes). (#2294) * [xharness] Add a file existence check. (#2478) Fixes this exception: ``` Harness exception for 'introspection': System.IO.FileNotFoundException: Could not find file '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log'. File name: '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log' at System.IO.__Error.WinIOError (System.Int32 errorCode, System.String maybeFullPath) [0x00207] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/__error.cs:188 at System.IO.FileInfo.get_Length () [0x00038] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/fileinfo.cs:171 at xharness.CaptureLog.StopCapture () [0x00021] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Log.cs:252 at (wrapper remoting-invoke-with-check) xharness.CaptureLog:StopCapture () at xharness.AppRunner+<RunAsync>d__68.MoveNext () [0x0127f] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/AppRunner.cs:642 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter`1[TResult].GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:357 at xharness.RunSimulatorTask+<RunTestAsync>d__7.MoveNext () [0x0029d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2894 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.RunTestTask+<ExecuteAsync>d__8.MoveNext () [0x0010b] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2538 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.TestTask+<RunInternalAsync>d__87.MoveNext () [0x0010d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:1870 ``` I'm not sure how this can happen, but it has on the bots [1]. [1] https://jenkins.mono-project.com/job/xamarin-macios-pr-builder/4548/Test_Report/ * Bump versions for preview 5 (#2479) * [passkit] Update to beta 5 (#2481) * [tests] Remove workaround for radar #32688391. (#2486) * [replaykit] Update up to beta 5 (#2484) * Bump maccore to get fix for bug #55064. (#2487) * [apidiff] Update definition to new 10.12 (d15-3) stable release (#2490) * [SceneKit] basic work (#2483) * [coredata] Update to beta 5 (#2488) * [homekit] Update for Xcode 9 beta 5 (#2492) * [Foundation] Update for xcode9 (#2468) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 (#2493) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 * [Intents] Implement feedback * [Intents] Add a generic version for INInteraction.GetParameterValue * [Intents] Missing check * [Contacts] Add missing foundation NSItemProviderWriting protocol to CNContact (#2496) https://bugzilla.xamarin.com/show_bug.cgi?id=58203 This is available on all Contacts supported platforms ``` ./iPhoneOS.platform/Developer/SDKs/iPhoneOS11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchOS.platform/Developer/SDKs/WatchOS4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchSimulator.platform/Developer/SDKs/WatchSimulator4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ``` * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) (#2497) * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) * [IntentsUI] Better use a delegate instead so we have named params * Bump versions before 6th preview (#2514) * [arkit] Add missing MarshalDirective to ARPlaneAnchor (#2517) - Fixes bug #58648: ARPlaneAnchor.Extent property seems incorrect but changes to correct value after Debug access (https://bugzilla.xamarin.com/show_bug.cgi?id=58648) * [xtro-sharpie] Fix a compiler warning. (#2516) Fixes these warnings: Runner.cs(197,5): warning CS0642: Possible mistaken empty statement Runner.cs(199,5): warning CS0642: Possible mistaken empty statement Runner.cs(201,5): warning CS0642: Possible mistaken empty statement Runner.cs(203,5): warning CS0642: Possible mistaken empty statement Runner.cs(205,5): warning CS0642: Possible mistaken empty statement * [uikit] Update for Xcode 9 beta 5 - Part 3 (#2511) - UIKeyCommand - UINavigationBar - UINavigationItem - UIPasteboard - UITableViewHeaderFooterView * [xtro-sharpie] Remove xtro-plugin and misc other fixes. (#2522) * [xtro-sharpie] Build with msbuild and be as quiet as requested when building. * [xtro-sharpie] Must run as a 64-bit process, since the required native libraries are 64-bit. * [xtro-sharpie] Add run configurations to the project file to ease debugging in the IDE. * [xtro-sharpie] Remove xtro-plugin and the related commands. This was needed when there wasn't a 64-bit mono, in order to run xtro-sharpie in a 64-bit process. Now there is a 64-bit mono, so it's not needed anymore. Also improve makefile targets a bit, to auto-build stuff when needed, by setting the right dependencies. * Bump Xcode 9 to beta 6 (#2519) Disable watchOS tests again It seems like the Carousel crash from beta 4 is back to haunt us. This was working fine with beta 5. * Backport d15-3 SR2 fixes (#2515) * [coredata] Update to beta 6 (#2528) This seems to only revert some nullability changes from beta 5. * [coreml] Update to beta 6 (#2531) Fix our rdar 33643011 where additional setters were added in the headers but did not exists. * [videosubscriberaccount] Update to beta 6 (#2533) Only b1 and b2 introduced some additions/changes * [uikit] Update for Xcode 9 beta 6 - Part 4 (#2527) The following headers are now up to date: - UICollectionViewFlowLayout.h - UIDocumentPickerViewController.h - UIFontDescriptor.h - UIImage.h - UIImageView.h - UIImagePickerController.h * [xharness] Re-enable the watchOS tests. (#2534) It works fine for me locally, so let's see what Jenkins says. * [macos] Add new APIs in CoreWlan from Xcode9b3 (#2525) * Update AppKit bindings based on radar 33271241 results (#2518) * Update AppKit bindings based on radar 33271241 results - The header comment was updated to note it was NSSliderTouchBarItem view that has the protocol * Remove NSUserInterfaceCompression where not listed in header * [vision] Update to beta 6 (#2532) Removal of some deprecated (during beta) `init*` selectors. Also sync the versions that were inlined in subclasses - the old ones were not removed and the new ones were not added. * [xtro-sharpie] Many methods don't have selectors in Clang's API, so default to the name if no selector. (#2523) This makes a few more unclassified entries show up (mostly missing designated initializers): https://gist.github.com/rolfbjarne/07aa20f9b50b75bf3e69ac6a825e873a * [macos] Add ExternalAccessory APIs from xcode9 (#2526) * [58851] Disable NSMenuView in AllItemsWithNSMenuShouldAllowNull (#2504) * [arkit] Update for Xcode 9 beta 5 - Part 2 (#2505) - Add last missing selector. - Add tests for manual code. * [monotouch-test] Disable FontDescriptorTest.WithFeature (#2537) Disabled because it looks like the tvOS font we use: "Gujarati Sangam MN" does not have rare ligatures anymore (and the entire test is based on it). Before getting an actual fix for that, let's disable the test so it doesn't break all current builds. See: https://bugzilla.xamarin.com/show_bug.cgi?id=58929 * [xtro-sharpie] Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute. (#2524) Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute to calculate the native name for a TypeDefinition. Unclassified changes: https://gist.github.com/rolfbjarne/828f8ee41eebb0a3b60a38d71822fe59 * [foundation/uikit] Inline NSItemProvider_UIKitAdditions in NSItemProvider (#2538) As suggested here: https://github.com/xamarin/xamarin-macios/pull/2527#discussion_r134670981 * [intents] Fix breaking changes (api-diff) (#2543) Additions of @required members inside `INSpeakable` cannot be `[Abstract]` * [contacts] Fix breaking change (api-diff) (#2542) Type Changed: Contacts.CNPostalAddress Removed method: public static string LocalizeProperty (CNPostalAddressKeyOption option); * [macos] Reenable static registrar since Xcode9b6 un-broke SDK headers (#2544) - Fix a subtle spacing issues in PartialStaticLibrary property * [corebluetooth] Update up to beta 6 and enable it on watchOS (#2540) macOS 10.13 has finally catch up with iOS and this simplifies the bindings a bit. * [foundation] API fixes (apidiff) (#2545) 1. Let's not add new, already [Obsolete] API Type Changed: Foundation.NSDimension Added constructors: [Obsolete ("Not intended to be directly instantiated, this is an abstract class.")] public NSDimension (); 2. Fix inconsistently named API, e.g. Type Changed: Foundation.NSAttributedString Added properties: public static string[] ReadableTypeIdentifiersForItemProvider { get; } public static string[] WritableTypeIdentifiers { get; } * [pdfkit] Do not add already [Obsolete] API in new profiles (#2547) and ensure using the newer, correct API works cross-platforms iOS (before) [Obsolete ("Use 'Find (string, NSStringCompareOptions)' instead.")] public virtual PdfSelection[] Find (string text, nint options); public PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'Find (string, PdfSelection, NSStringCompareOptions)' instead.")] public virtual PdfSelection Find (string text, PdfSelection selection, nint options); public void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string, NSStringCompareOptions)' instead.")] public virtual void FindAsync (string text, nint options); public void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string [], NSStringCompareOptions)' instead.")] public virtual void FindAsync (string[] text, nint options); iOS (after) public virtual PdfSelection[] Find (string text, Foundation.NSStringCompareOptions compareOptions); public virtual PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); * Bump versions for the 7th preview (#2541) * Remove additions of AVKit removed in beta5 (#2536) * NSUrlSessionTask should implement NSProgressReporting for iOS (#2548) NSUrlSessionTask implements NSProgressReporting on iOS as well as Mac, so the #if MONOMAC isn't needed. * Add missing availability attributes causing failures on older iOS versions (#2550) * [vision] Minor fix wrt xtro (#2551) including some things we need to ignore manually !missing-field! VNVisionVersionNumber not bound !missing-pinvoke! VNImagePointForFaceLandmarkPoint is not bound !missing-pinvoke! VNNormalizedFaceBoundingBoxPointForLandmarkPoint is not bound * [uikit] NSFileProviderMessaging was removed in beta 2. Fixes #58222 (#2552) reference: https://bugzilla.xamarin.com/show_bug.cgi?id=58222 * [uikit] Update for Xcode 9 - Part 5 (#2546) Bindings for the following headers: - UIActivity.h - UIActivityItemProvider.h - UIAlertController.h - UIApplication.h - UIBarButtonItem.h - UIButton.h - UICollectionViewLayout.h - UIColor.h - UIControl.h - UIDocumentMenuViewController.h - UIFontMetrics.h - UIGestureRecognizer.h - UIGraphicsImageRenderer.h - UIInputViewController.h * [CoreText] Fix an extraneous free in CTFont.GetDefaultCascadeList. (#2555) We do not own the return value from CFArrayGetValueAtIndex, so don't say we do when creating CTFontDescriptor instances, since that leads to angry dragons: 2017-08-28 20:15:20.293 monotouchtest[33186:2311738] A_FontTest 2017-08-28 20:15:20.294 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithFontDescriptorAndOptions 2017-08-28 20:15:20.295 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithNameAndOptions 2017-08-28 20:15:20.296 monotouchtest[33186:2311738] critical: Stacktrace: at <unknown> <0xffffffff> at (wrapper managed-to-native) CoreText.CTFont.CTFontCopyDefaultCascadeListForLanguages (intptr,intptr) [0x0000a] in <ae65a2b1eea242d2b68fe784749543bf>:0 at CoreText.CTFont.GetDefaultCascadeList (string[]) [0x00013] in /work/maccore/xcode9/xamarin-macios/src/CoreText/CTFont.cs:2185 at MonoTouchFixtures.CoreText.A_FontTest.GetCascadeList () [0x0001e] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/CoreText/FontTest.cs:78 at (wrapper runtime-invoke) object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) [0x0004f] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) System.Reflection.MonoMethod.InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&) [0x00016] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at System.Reflection.MonoMethod.Invoke (object,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo) [0x00032] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/corlib/System.Reflection/MonoMethod.cs:305 at System.Reflection.MethodBase.Invoke (object,object[]) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/referencesource/mscorlib/system/reflection/methodbase.cs:229 at NUnit.Framework.Internal.Reflect.InvokeMethod (System.Reflection.MethodInfo,object,object[]) [0x00009] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Reflect.cs:215 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunNonAsyncTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x00025] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:116 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x0001a] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:90 at NUnit.Framework.Internal.Commands.TestMethodCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:66 at NUnit.Framework.Internal.Commands.SetUpTearDownCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00007] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/SetUpTearDownCommand.cs:84 at NUnit.Framework.Internal.WorkItems.SimpleWorkItem.PerformWork () [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/SimpleWorkItem.cs:64 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at MonoTouch.NUnit.UI.BaseTouchRunner.Run (NUnit.Framework.Internal.Test) [0x0004d] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:442 at MonoTouch.NUnit.UI.BaseTouchRunner.Run () [0x00030] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:171 at MonoTouch.Dialog.StringElement.Selected (MonoTouch.Dialog.DialogViewController,UIKit.UITableView,Foundation.NSIndexPath) [0x00008] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/Elements.cs:765 at MonoTouch.Dialog.DialogViewController.Selected (Foundation.NSIndexPath) [0x00026] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:577 at MonoTouch.Dialog.DialogViewController/Source.RowSelected (UIKit.UITableView,Foundation.NSIndexPath) [0x00016] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:402 at (wrapper runtime-invoke) <Module>.runtime_invoke_void__this___object_object (object,intptr,intptr,intptr) [0x0005d] in <32f0c196c5bc4aa18daea2ee64a7814e>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) UIKit.UIApplication.UIApplicationMain (int,string[],intptr,intptr) [0x0005c] in <ae65a2b1eea242d2b68fe784749543bf>:0 at UIKit.UIApplication.Main (string[],intptr,intptr) [0x00005] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:79 at UIKit.UIApplication.Main (string[],string,string) [0x00038] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:63 at monotouchtest.Application.Main (string[]) [0x00011] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/Main.cs:27 at (wrapper runtime-invoke) <Module>.runtime_invoke_void_object (object,intptr,intptr,intptr) [0x00051] in <30a7f7e09de9467b8b454221034a0e38>:0 Native stacktrace: 0 monotouchtest 0x000000010fca03c4 mono_handle_native_crash + 244 1 monotouchtest 0x000000010fcadd30 mono_sigsegv_signal_handler + 288 2 libsystem_platform.dylib 0x000000011feb3b3a _sigtramp + 26 3 CoreFoundation 0x000000011de035a2 computeSanitizedString + 146 4 CoreText 0x00000001168df314 _ZN15TPurgeableCache19RetainedValueForKeyEPKv + 54 5 CoreText 0x00000001168def85 _ZNK17TDescriptorSource22CopyDescriptorUncachedEPK7__CFURLbPK10__CFString + 55 6 CoreText 0x00000001168df34f _ZNK17TDescriptorSource14CopyDescriptorEPK7__CFURLbPK10__CFString + 27 7 CoreText 0x00000001168e20ad _ZNK17TDescriptorSource35CopyFontDescriptorPerPostScriptNameEPK10__CFStringmm + 297 8 CoreText 0x00000001168dfd9e _ZNK17TDescriptorSource30CopySystemFontDescriptorByNameEPK10__CFString10UIFontFlag + 54 9 CoreText 0x00000001168e54c4 _ZNK14TFontFallbacks17CopyFontFallbacksEPK10__CFStringS2_PK9__CFArray + 652 10 CoreText 0x00000001168e4a00 _ZNK14TFontFallbacks29CopyFontFallbacksForLanguagesEPK10__CFStringPK9__CFArray + 122 11 CoreText 0x00000001168e4971 _ZN17TDescriptorSource39CopyDefaultSubstitutionListForLanguagesEPK10__CFStringPK9__CFArray + 61 12 CoreText 0x00000001169397a7 _ZNK9TBaseFont28CreateSystemDefaultFallbacksEPK10__CFStringPK9__CFArray + 51 13 CoreText 0x000000011693999c _ZNK9TBaseFont15CreateFallbacksE10UIFontFlagPPK16__CFCharacterSetPK9__CFArray + 346 14 CoreText 0x00000001168c1036 _ZNK5TFont24CreateDefaultCascadeListEPK9__CFArray + 242 15 CoreText 0x00000001168b8ff9 CTFontCopyDefaultCascadeListForLanguages + 97 16 ??? 0x0000000140eaefd3 0x0 + 5384105939 17 ??? 0x0000000140eae761 0x0 + 5384103777 18 ??? 0x000000013c9c8e74 0x0 + 5311860340 19 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 20 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 21 monotouchtest 0x000000010fd71bac mono_runtime_try_invoke_array + 1292 22 monotouchtest 0x000000010fd15587 ves_icall_InternalInvoke + 647 23 ??? 0x000000013e9fcd13 0x0 + 5345627411 24 ??? 0x000000013e9fc738 0x0 + 5345625912 25 ??? 0x000000013e9fded5 0x0 + 5345631957 26 ??? 0x000000013e9fbb76 0x0 + 5345622902 27 ??? 0x000000013e9e237e 0x0 + 5345518462 28 ??? 0x000000013e9e237e 0x0 + 5345518462 29 ??? 0x000000013e9e237e 0x0 + 5345518462 30 ??? 0x000000013e9e237e 0x0 + 5345518462 31 ??? 0x000000013e873006 0x0 + 5344014342 32 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 33 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 34 monotouchtest 0x000000010fd6e320 mono_runtime_invoke + 208 35 monotouchtest 0x000000010fe71af1 xamarin_invoke_trampoline + 5617 36 monotouchtest 0x000000010fe79ddd xamarin_arch_trampoline + 189 37 monotouchtest 0x000000010fe7b1a1 xamarin_x86_64_common_trampoline + 110 38 UIKit 0x0000000111b9876b -[UITableView _selectRowAtIndexPath:animated:scrollPosition:notifyDelegate:] + 1810 39 UIKit 0x0000000111b98986 -[UITableView _userSelectRowAtPendingSelectionIndexPath:] + 344 40 UIKit 0x0000000111a6b5c9 _runAfterCACommitDeferredBlocks + 318 41 UIKit 0x0000000111a59dad _cleanUpAfterCAFlushAndRunDeferredBlocks + 280 42 UIKit 0x0000000111a89f68 _afterCACommitHandler + 137 43 CoreFoundation 0x000000011de3ddb7 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23 44 CoreFoundation 0x000000011de3dd0e __CFRunLoopDoObservers + 430 45 CoreFoundation 0x000000011de22324 __CFRunLoopRun + 1572 46 CoreFoundation 0x000000011de21a89 CFRunLoopRunSpecific + 409 47 GraphicsServices 0x0000000121b7e9c6 GSEventRunModal + 62 48 UIKit 0x0000000111a5f7d0 UIApplicationMain + 159 49 ??? 0x000000013c9c4474 0x0 + 5311841396 50 ??? 0x000000013c9c40ad 0x0 + 5311840429 ================================================================= Got a SIGSEGV while executing native code. This usually indicates a fatal error in the mono runtime or one of the native libraries used by your application. ================================================================= * [monotouch-test] Don't subclass MKMapView. (#2556) MKMapView doesn't like being subclassed (Apple says "you should not subclass the MKMapView class itself"). Bad things like this starts happening: Thread 0 name: tid_303 Dispatch queue: com.apple.main-thread Thread 0 Crashed: 0 libsystem_kernel.dylib 0x0000000186b25348 __pthread_kill + 8 1 libsystem_pthread.dylib 0x0000000186c39354 pthread_kill$VARIANT$mp + 396 2 libsystem_c.dylib 0x0000000186a94fd8 abort + 140 3 monotouchtest 0x0000000101c02c14 mono_handle_native_crash + 22047764 (mini-exceptions.c:2548) 4 monotouchtest 0x0000000101c0d02c mono_sigsegv_signal_handler + 22089772 (mini-runtime.c:2886) 5 libsystem_platform.dylib 0x0000000186c33b60 _sigtramp + 52 6 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 7 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 8 CoreFoundation 0x0000000186eda51c -[__NSArrayM dealloc] + 68 9 CoreFoundation 0x000000018703f5c8 __CFBasicHashDrain + 312 10 CoreFoundation 0x0000000186fb5b44 _CFRelease + 224 11 CoreText 0x000000018a808404 TDescriptorSource::PurgeFontFallbacksCache+ 488452 () + 92 12 CoreText 0x000000018a808374 TDescriptorSource::PurgeFromCaches+ 488308 (__CFURL const*) const + 176 13 CoreText 0x000000018a7eec74 CTFontRemoveFromCaches + 168 14 VectorKit 0x0000000196a539b0 +[VKSharedResourcesManager removeResourceUser:] + 324 15 VectorKit 0x0000000196ca27a4 md::MapEngine::~MapEngine+ 2643876 () + 360 16 VectorKit 0x0000000196ca2634 md::MapEngine::~MapEngine+ 2643508 () + 12 17 libobjc.A.dylib 0x000000018651eef4 object_cxxDestructFromClass+ 28404 (objc_object*, objc_class*) + 148 18 libobjc.A.dylib 0x000000018652c638 objc_destructInstance + 88 19 libobjc.A.dylib 0x000000018652c690 object_dispose + 16 20 QuartzCore 0x000000018afca3ac -[CALayer dealloc] + 116 21 VectorKit 0x0000000196a43294 -[VKMapView dealloc] + 940 22 QuartzCore 0x000000018af6aafc CA::release_objects+ 744188 (X::List<void const*>*) + 32 23 QuartzCore 0x000000018afd97d8 CA::Layer::~Layer+ 1198040 () + 276 24 QuartzCore 0x000000018afca37c -[CALayer dealloc] + 68 25 QuartzCore 0x000000018af6b16c CA::Transaction::commit+ 745836 () + 1052 26 UIKit 0x0000000190393290 _afterCACommitHandler + 256 27 CoreFoundation 0x0000000186fb38b8 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 32 28 CoreFoundation 0x0000000186fb1270 __CFRunLoopDoObservers + 412 29 CoreFoundation 0x0000000186fb182c __CFRunLoopRun + 1292 30 CoreFoundation 0x0000000186ed22d8 CFRunLoopRunSpecific + 436 31 GraphicsServices 0x0000000188d58f84 GSEventRunModal + 100 32 UIKit 0x000000019040427c UIApplicationMain + 208 33 monotouchtest 0x000000010106eb90 wrapper_managed_to_native_UIKit_UIApplication_UIApplicationMain_int_string___intptr_intptr + 9907088 (/<unknown>:1) 34 monotouchtest 0x0000000100f0d6ac UIKit_UIApplication_Main_string___intptr_intptr + 8459948 (UIApplication.cs:79) 35 monotouchtest 0x0000000100f0d66c UIKit_UIApplication_Main_string___string_string + 8459884 (UIApplication.cs:63) 36 monotouchtest 0x0000000100b10450 monotouchtest_Application_Main_string__ + 4277328 (Main.cs:27) 37 monotouchtest 0x0000000100e0c244 wrapper_runtime_invoke_object_runtime_invoke_dynamic_intptr_intptr_intptr_intptr + 244 38 monotouchtest 0x0000000101c10048 mono_jit_runtime_invoke + 22102088 (mini-runtime.c:2526) 39 monotouchtest 0x0000000101c75eec do_runtime_invoke + 22519532 (object.c:2829) 40 monotouchtest 0x0000000101c78a3c do_exec_main_checked + 22530620 (object.c:4623) 41 monotouchtest 0x0000000101bf9a1c mono_jit_exec + 22010396 (driver.g.c:1040) 42 monotouchtest 0x0000000101d13d60 xamarin_main + 23166304 (monotouch-main.m:482) 43 monotouchtest 0x00000001007de710 main + 927504 (main.m:67) 44 libdyld.dylib 0x00000001869f656c start + 4 * [introspection] Let SkipDueToAttributeInProperty skip setters too (#2557) `SkipDueToAttributeInProperty` which is used to check the availability attribute of properties when the Availability info only exist on the property and not on the property Getter or Setter was wrong. This lead to `setSpringLoaded` (which was introduced in iOS 11) to not be ignored by the test (making it fail). - Fix bug #59085: [introspection-ios] selector not found for UIKit.UIBarButtonItem : setSpringLoaded: - Broken test (https://bugzilla.xamarin.com/show_bug.cgi?id=59085) * [corevideo][watchos] Enable CoreVideo on watchOS (#2553) * [storekit] Fix CampaignToken typo (#2559) (#2560) - Fixes bug #59078: StoreProductParameters and invalid property for CampaignToken (https://bugzilla.xamarin.com/show_bug.cgi?id=59078) * [coreml][watchos] Enable API using CoreVideo on watchOS. Fix #58097 (#2561) https://bugzilla.xamarin.com/show_bug.cgi?id=58097 * Add missing [MarshalDirective] attributes. (#2558) * [bindings-generator] Improve build & project file. * Add missing [MarshalDirective] attributes. Add missing [MarshalDirective] attributes, which also requires implementing support for out parameters in the binding generator, since one of the signatures missing the [MarshalDirective] contains such an out parameter. Also add tests for all the API I've added [MarshalDirective] to. * [bindings-generator] Remove redundant if check. * [monotouch-test] Rename file to end with 'Test.cs'. * [tests] Fix a few build errors for Xamarin.Mac. * [uikit] Fix UIColor and UIInputViewController tvOS availability (#2569) - Fixes introspection tests on tvOS 10. * [storekit] Fix SKCloudServiceSetupMessageIdentifier and SKProductStorePromotionController tvOS availability (#2568) - Fixes introspection tests on tvOS 10. * [mapkit] Fix MKMapItemTypeIdentifier tvOS availability (#2566) - Also remove double [Mac] availability attribute. - Fixes introspection tests on tvOS 10. * [ARKit] Fix marshalling for ARPointCloud.RawFeaturePoints. (#2565) ARPointCloud.RawFeaturePoints is an array of Vector3, but each vector is 16-byte aligned (as if it were an array of Vector4). This means we need to account for this when creating a managed array from pointer to the native C-style array. * [ModelIO] Fix MDLVoxelIndexExtent struct. (#2564) The MDLVoxelIndexExtent is a struct containing two 4-dimensional vectors of integers (not floats, as originally and incorrectly implemented). Fix this my creating a new MDLVoxelIndexExtent2 struct with the right fields, re-implement all the API that exposes this struct and obsolete the old API. Also add missing [MarshalDirective] attributes. And write a test to make sure it works fine now and forever. * [coredata] Enable new fields since rdar #33878590 is fixed w/beta 6 (#2570) reference: https://trello.com/c/dlSRYPFx * [xtro-sharpie] Add a Simd check class to verify signatures with Simd types. * [Simd] Add simd matrix types. The OpenTK matrices (Matrix2/3/4) has a different memory layout than Apple's matrix_float2x2/matrix_float3x3/matrix_float4x4 matrices: the OpenTK versions are row-major, while Apple's versions are column-major. This means that when blitting memory from one to the other, the matrix will appear to have been transposed. See bug #[58599][2] for an example. Unfortunately we've already bound several API with Apple's matrix_floatXxX matrices using OpenTK's matrices, and although they're bound wrong, and the matrices appear transposed on input/output, we can't change the behavior because we have to maintain compatibility. This means we have to introduce new API, and then also just define new matrix types with the right memory layout (column-major). Additionally, in the future we might be able to mark these matrices as Simd-matrixes, so that the JIT/AOT compiler can generate the correct alignment for them, avoiding having to define a native conversion method (using the [MarshalDirective] hack). The matrices have been designed to match API-wise the matrices in the System.Numerics.Vectors namespace [1], but for the moment with only a few basic operations implemented (Determinant/Transpose/Multiply) defined (we can always add more later if we want to). In addition explicit conversion operators to and from the corresponding OpenTK.MatrixX are implemented, which means any operation defined in the OpenTK matrices can be used by converting back and forth. [1]: https://msdn.microsoft.com/en-us/library/system.numerics.matrix4x4(v=vs.111).aspx [2]: https://bugzilla.xamarin.com/show_bug.cgi?id=58599 * [ARKit] Use the new Simd matrix types. * [Vision] Use the new Simd matrix types. * [ModelIO] Use the new Simd-compatible matrix types, and deprecate the old API. * [GameplayKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [SpriteKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [xtro] Don't report missing [MarshalDirective] for obsolete methods. * [xtro] Remove unnecessary ignores. The implementation changed, and these stayed accidentally. * [wkwebkit] Fix (native) protocol names (#2572) Also ignore xtro's WKSnapshotConfiguration since it's an Apple bug 34185961 reference (xtro) !missing-protocol! WKURLSchemeHandler not bound !missing-protocol! WKURLSchemeTask not bound !unknown-protocol! WKUrlSchemeHandler bound !unknown-protocol! WKUrlSchemeTask bound !unknown-type! WKSnapshotConfiguration bound * [uikit] Fix enums availability attributes (#2575) - Fixes bug #59132: [uikit] Extra types in watchOS (https://bugzilla.xamarin.com/show_bug.cgi?id=59132) * [watchkit] Add missing designated initializers (#2574) references (xtro) !missing-designated-initializer! WKInterfaceController::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! WKUserNotificationInterfaceController::init is missing an [DesignatedInitializer] attribute * [xtro] Reword some of the Simd diagnostic messages according to review. * [tests] Make sure test symbols don't clash between different test libraries. Fixes this build problem for framework-test: clang: error: linker command failed with exit code 1 (use -v to see invocation) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_get_rotation_matrix'. MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticObjectTest.framework/XStaticObjectTest (Location related to previous error) MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticArTest.framework/XStaticArTest(libtest-ar.x86_64.o) (Location related to previous error) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransformcomponent_get_local_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_create_global_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float4x4'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float3x3'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float2x2'. MTOUCH: error MT5209: Native linking error: 6 duplicate symbols for architecture x86_64 MTOUCH: error MT5202: Native linking failed. Please review the build log. * [tests] Since libtest.a need ModelIO now, the corresponding LinkWith attributes need to state that too. * [introspection] Don't check native signatures on obsolete members, and ignore the right simd matrix types. Fixes this introspection/Mac problem: ***** ApiSignatureTest.NativeSignatures Selector: uniformWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: uniformWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: uniformWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: setMatrixFloat2x2Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: setMatrixFloat3x3Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: setMatrixFloat4x4Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: initWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: initWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: initWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded * [monotouch-tests] Include more custom asserts for watchOS to make the build work. Fixes this: Simd/MatrixFloat4x4Test.cs(28,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(29,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(37,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(48,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' [...] * [monotouch-test] Exclude code that requires the binding project from xammac tests. Exclude code that requires the test binding project from xammac tests because there's currently no XM version of the test binding project. Fixes this: tests/monotouch-test/SpriteKit/UniformTest.cs(20,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLMaterialProperty.cs(37,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLTransform.cs(34,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) * Bump version for preview #8 (#2576) * [spritekit] Audit fixes (xtro) (#2577) 1. SKVideoNode is now, partially, available on watchOS and does not require the extra, manual code to swicth selectors depending on the OS version being run. !missing-type! SKVideoNode not bound !missing-selector! SKVideoNode::anchorPoint not bound !missing-selector! SKVideoNode::initWithCoder: not bound !missing-selector! SKVideoNode::initWithFileNamed: not bound !missing-selector! SKVideoNode::initWithURL: not bound !missing-selector! SKVideoNode::setAnchorPoint: not bound !missing-selector! SKVideoNode::setSize: not bound !missing-selector! SKVideoNode::size not bound !missing-selector! +SKVideoNode::videoNodeWithFileNamed: not bound !missing-selector! +SKVideoNode::videoNodeWithURL: not bound 2. SKNodeFocusBehavior is exposed needlessly on watchOS because SpriteKit/Enums.cs was not processed by the generator, so [NoWatch] did not matter. !unknown-native-enum! SKNodeFocusBehavior bound It's also visible on macOS but nothing uses it (so we do not expose it needlessly) !missing-enum! SKNodeFocusBehavior not bound 3. Add missing designated initializer on default `init` !missing-designated-initializer! SKAttributeValue::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! SKNode::init is missing an [DesignatedInitializer] attribute 4. Remove inconsistency for SKNode subclasses wrt XAMCORE_4_0 The trio attributeValues, setAttributeValues and setValue:forAttributeNamed: that was moved from SKNode (deprecated) into its subclasses. This was done using XAMCORE_4_0 but not on every subclasses. This adds them everywhere to be consistent (only SKNode versions are not defined in XAMCORE_4_0) !missing-selector! SKEffectNode::attributeValues not bound !missing-selector! SKEffectNode::setAttributeValues: not bound !missing-selector! SKEffectNode::setValue:forAttributeNamed: not bound !missing-selector! SKEffectNode::valueForAttributeNamed: not bound !missing-selector! SKEmitterNode::attributeValues not bound !missing-selector! SKEmitterNode::setAttributeValues: not bound !missing-selector! SKEmitterNode::setValue:forAttributeNamed: not bound !missing-selector! SKEmitterNode::valueForAttributeNamed: not bound !missing-selector! SKSpriteNode::attributeValues not bound !missing-selector! SKSpriteNode::setAttributeValues: not bound !missing-selector! SKSpriteNode::setValue:forAttributeNamed: not bound !missing-selector! SKSpriteNode::valueForAttributeNamed: not bound * [introspection] Make sure '[FAIL]' is printed before every failure. (#2578) This makes xharness able to list the failures in the inline summary. * [xtro] Reword some of the Simd diagnostic messages according to review. * [xharness] Add a missing IsServerMode check to generate correct html. (#2581) * [SpriteKit] SKTransformNode is new in Xcode 9 so no need to keep the broken (and obsolete) non-simd version of RotationMatrix. * [intents] Fix some (partial) xtro issues and #59156 (#2585) reference https://bugzilla.xamarin.com/show_bug.cgi?id=59156 Remaining issues are filled in https://bugzilla.xamarin.com/show_bug.cgi?id=59183 !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound * [Intents] Confirm* interface methods should be bound as Confirm, Fixes Bug 59164 (#2591) * [Intents] Confirm* interface methods should probably be bound as Confirm, Fixes Bug 59164 https://bugzilla.xamarin.com/show_bug.cgi?id=59164 All Confirm* methods from *IntentHandling interfaces should be named just `Confirm` to avoid confusion because most of them do not directly confirm as an acion, but instead they **ask** for confirmation also we would follow swift's naming by doing this. * [Intents] XAMCORE_4_0 all Confirm* methods from *IntentHandling Turns any Confirm* into just Confirm inside a XAMCORE_4_0 block, * [Intents] Fix breaking changes in Intents added in Xcode 9 Bindings (#2590) Apple added more protocol conformances to INRidesharingDomainHandling and INPaymentsDomainHandling protocols in Xcode 9, I introduced these breaking changes back when I did intents binding so fixing them :) * [Metal] New bindings from Xcode 9 betas (#2457) * [AVFoundation] Updated bindings for xcode9. (#2272) * [Xcode9] Add IOSurface bindings (#2363) * This framework was a private framework before iOS 11. This framework was a private framework before iOS 11, yet the headers claim many API were introduced in iOS 10. So take account of this difference by using the private framework location in iOS 10.3 or earlier. Testing these API from Xcode works fine when run on an iOS 10.3 device, and I've confirmed the IOSurface framework is loaded from the private frameworks path on older devices (and when built using Xcode 9 and linked with the public framework path). * Disable code to make IOSurface work on iOS 10. Disable the code to make IOSurface work on iOS 10, since it may be rejected by the App Store. This also means adjusting the availability attributes, so that the introspection tests pass (and to document that technically these API won't work when used with Xamarin.iOS in iOS 10). I've filed bug #[59201][1] to keep track of this, maybe we can re-enable this later. [1]: https://bugzilla.xamarin.com/show_bug.cgi?id=59201 * [CoreMedia] Fix leak in CMAttachmentBearer.GetAttachments. (#2593) The caller owns the return value from CMCopyDictionaryOfAttachments, so tell Runtime.GetNSObject that. * [Intents] Adds missing API found by xtro, fixes Bug 59183 (#2596) https://bugzilla.xamarin.com/show_bug.cgi?id=59183 Fixes !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !incorrect-protocol-member! INUIHostedViewControlling::configureWithInteraction:context:completion: is OPTIONAL and should NOT be abstract * [xtro] Fix StartWorkingDirectory to enable debugging (#2598) * [iosurface] Enable for tvOS and XM classic (to avoid multiple defines around consumer API) (#2597) * [xtro] Fix EnumCheck (#2600) * [ARKit] Rename a few method to make them nicer. (#2604) * DisplayTransform -> GetDisplayTransform since methods should have verbs. * SessionWasInterrupted -> WasInterrupted and SessionInterruptionEnded -> InterruptionEnded since these names match better with the other names (CameraDidChangeTrackingState / DidFail / DidOutputAudioSampleBuffer: none are prefixed with 'Session'). Additionally, the type is a Model (for the delegate pattern), which means all methods are more-or-less event-like, and the first argument is always the same (the protocol itself), which is another indicator the methods should be named similarly. * [Foundation] Remove 'Key' suffix from some fields. (#2606) Of the 168 fields in NSMetadataItem, only these 5 hadn't removed the 'Key' suffix. So make them all equivalent by removing the 'Key' suffix from these 5 fields. * [ImageIO] Fix API to not duplicate the instance in instance methods. (#2609) An instance method does not need to take the instance as a parameter, so remove the first (instance) parameter for CGImageDestination.AddAuxiliaryDataInfo and CGImageSource.CopyAuxiliaryDataInfo. An alternative solution would be to make the methods static, but I like the instance API better. * [UIKit] De-model UIDataSourceTranslating. (#2603) It's not clear from neither the documentation nor the headers how this protocol is supposed to be used, and since it doesn't correspond to the delegate pattern, remove the [Model] attribute for now. We can always add it back later. * [CoreML] Improve API. (#2592) * [CoreML] Improve API. * The indices, shape and stride properties for MLMultiArray and MLMultiArrayConstraint can logically only be arrays of integers, so type them as such. This means adding overloads for MLMultiArray's constructors, GetObject and SetObject methods, and the indexers that takes nint[] arrays instead of NSNumber[] arrays. * Change MLFeatureValue's static factory methods to be a method ('Create') instead of a preposition, and call all the different factory methods the same, since they can be overloaded nicely. * [tests][monotouch-test] Add version check to MLMultiArrayTest and make sure the arrays we create are big enough for the data we put in them. * [tests][monotouch-test] MLMultiArray's elements aren't zero-initialized, so don't assume that in the tests. * Support overloading Objective-C methods based on static/instance. (#2607) Two Objective-C methods can be named identically as long as one is static and the other instance. We must support this since Apple did just this (in the NSItemProviderReading / NSItemProviderWriting protocols). We solve it by prepending a '+' or '-' to the selector when hashing it (to determine selector uniqueness, and to look the method up again at runtime). * [uikit] Update for Xcode 9 - Part 6 (#2602) NSAttributedString.h NSFileProviderExtension.h NSLayoutAnchor.h UIAccessibility.h UIAccessibilityAdditions.h UIAccessibilityContainer.h UIAccessibilityContentSizeCategoryImageAdjusting.h UIAccessibilityCustomRotor.h UIAccessibilityLocationDescriptor.h UITabBar.h UINavigationBar.h UIScreen.h * Xcode9 scenekit (#2512) * [SceneKit] basic work * Added key * [xcode9] SCNCameraController * [xcode9] SCNCamera updates * [xcode9] SCNMaterial * [xcode9] SCNGeometryTessellator, SCNCameraControlConfiguration, SCNView, small bits * Add trailing commas to last enum value * Remove whitespace noise * [scenekit] Update deprecated attributes messages * Addresses some of Rolf's feedback * Drop the WeakDelegate in SCNCameraController * Rename method to Render, remove ctor from class that can not be constructed in Palygrounds, add typo exception * [AppKit] Rename NSBezierPath.AppendBezierPathWithCGGlyph to match its sibling methods. (#2605) NSBezierPath contains a lot of 'AppendPathWithXXX' methods, that all map to 'appendBezierPathXXX' selectors. So rename AppendBezierPathWithCGGlyph accordingly, to make it more similar to the other methods in the same type. * [uikit] Add all UISpringLoadedInteractionSupporting (#2616) Types do not conform to the protocol but protocol methods work on those types (see monotouch-test). Fixed introspection tests accordingly and tested the selectors in monotouch-test. * [Intents] Add convenience ctor overload and call correct base ctor in manual ctor. (#2613) Add a convenience constructor overload in INGetUserCurrentRestaurantReservationBookingsIntent that uses nint instead of NSNumber, since logically "number of results" will always be some sort of integer. Also call the correct base constructor in INSpeakableString's custom constructor (same as any other generated constructor). Otherwise we end up doing something like this: [[[INSpeakableString alloc] init] initWith ...], i.e. calling two different init methods. * [coreimage] Add new headers API up to beta 6 (#2601) Filters are not complete (ref: #57350) https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * Some new constants are not yet documented (type is known), so they are commented / ignored https://bugzilla.xamarin.com/show_bug.cgi?id=59296 * Filled bug for [Wrap] inside [Category] so strong dictionary helpers can be re-enabled later https://bugzilla.xamarin.com/show_bug.cgi?id=59294 * [foundation] xtro fixes for watchOS (#2586) !missing-enum! NSProcessInfoThermalState not bound !missing-field! NSProcessInfoThermalStateDidChangeNotification not bound !missing-selector! NSProcessInfo::thermalState not bound Headers are wrong and preferredPresentationStyle is not in tvOS and watchOS !missing-selector! NSItemProvider::preferredPresentationStyle not bound !missing-selector! NSItemProvider::setPreferredPresentationStyle: not bound * [uikit] Also remove UIPreferredPresentationStyle enum from platform where it's not used * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. (#2614) * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. * NSItemProviderWriting: * NSItemProviderReading: Implement correctly and completely by uncommenting commented out code. * NSMutableString: * NSAttributedString: remove inlined members, since these classes don't implement NSItemProviderReading / NSItemProviderWriting (according to the headers at least). * NSUrl: all platforms now seem to implement NSItemProviderReading / NSItemProviderWriting. * NSString: all platforms now seem to implement both NSItemProviderReading and NSItemProviderWriting * UIColor: * UIImage: Update inlined protocol members according to the latest beta. Additionally, due to the following conditions: * The protocols all have the correct members now. * In the API definition we tell the generator to inline members from a protocol by inheriting from the corresponding interface. * The generator doesn't inline static members from protocols. several 'new' keywords had to be added to silence a compiler warning that occurrs when we manually inline a static member, since the member would be included in the type both from the inherited interface and the manual implementation. * [Foundation] Comment out NSItemProviderWriting.GetItemProviderVisibility to avoid inlining/generating unusable methods. NSItemProviderWriting.GetItemProviderVisibility is an optional method, and none of the native classes that implements NSItemProviderWriting actually imlements the method. This means inlining the method in those classes ends up creating unusable API; so just comment out the method to avoid generating the unusable API. The introspection tests found this: [FAIL] Foundation.NSString : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Foundation.NSUrl : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Contacts.CNContact : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] MapKit.MKMapItem : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIColor : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIImage : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] iOSApiSelectorTest.ApiSelectorTest.StaticMethods : 6 errors found in 2348 static selector validated: See also https://bugzilla.xamarin.com/show_bug.cgi?id=59308 * [iosurface] Add missing [TV] attributes (#2619) * [opengles] Enable the new API using IOSurface (#2618) The symbol only exists inside device libraries, not on simulator, and the introspection tests were updated to ignore it. Part of https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [avfoundation][watchos] Enable AudioBufferList (fix #59145) + audit (xtro) (#2617) 1. AudioBufferList is part of CoreAudio (wrong namespace, which needs a few changes in the generator) and now available in watchOS 4 https://bugzilla.xamarin.com/show_bug.cgi?id=59145 2. Also fixes xtro found issues: !missing-type! AVAudioRecorder not bound !missing-selector! AVAudioRecorder::averagePowerForChannel: not bound !missing-selector! AVAudioRecorder::channelAssignments not bound !missing-selector! AVAudioRecorder::currentTime not bound !missing-selector! AVAudioRecorder::delegate not bound !missing-selector! AVAudioRecorder::deviceCurrentTime not bound !missing-selector! AVAudioRecorder::format not bound !missing-selector! AVAudioRecorder::initWithURL:format:error: not bound !missing-selector! AVAudioRecorder::initWithURL:settings:error: not bound !missing-selector! AVAudioRecorder::isMeteringEnabled not bound !missing-selector! AVAudioRecorder::isRecording not bound !missing-selector! AVAudioRecorder::peakPowerForChannel: not bound !missing-selector! AVAudioRecorder::recordAtTime: not bound !missing-selector! AVAudioRecorder::recordAtTime:forDuration: not bound !missing-selector! AVAudioRecorder::recordForDuration: not bound !missing-selector! AVAudioRecorder::setChannelAssignments: not bound !missing-selector! AVAudioRecorder::setDelegate: not bound !missing-selector! AVAudioRecorder::setMeteringEnabled: not bound !missing-selector! AVAudioRecorder::settings not bound !missing-selector! AVAudioRecorder::url not bound !missing-protocol! AVAudioRecorderDelegate not bound !missing-selector! AVAudioEngine::inputNode not bound !missing-selector! AVAudioEngine::manualRenderingBlock not bound !missing-selector! AVAudioInputNode::setManualRenderingInputPCMFormat:inputBlock: not bound !missing-selector! AVAudioPlayer::format not bound !missing-selector! AVAudioSession::requestRecordPermission: not bound !unknown-field! AVFileType3GPP bound !unknown-field! AVFileType3GPP2 bound !unknown-field! AVFileTypeAC3 bound !unknown-field! AVFileTypeAIFC bound !unknown-field! AVFileTypeAIFF bound !unknown-field! AVFileTypeAMR bound !unknown-field! AVFileTypeAVCI bound !unknown-field! AVFileTypeAppleM4A bound !unknown-field! AVFileTypeAppleM4V bound !unknown-field! AVFileTypeCoreAudioFormat bound !unknown-field! AVFileTypeDNG bound !unknown-field! AVFileTypeEnhancedAC3 bound !unknown-field! AVFileTypeHEIC bound !unknown-field! AVFileTypeHEIF bound !unknown-field! AVFileTypeJPEG bound !unknown-field! AVFileTypeMPEG4 bound !unknown-field! AVFileTypeMPEGLayer3 bound !unknown-field! AVFileTypeQuickTimeMovie bound !unknown-field! AVFileTypeSunAU bound !unknown-field! AVFileTypeTIFF bound !unknown-field! AVFileTypeWAVE bound * [Metal] Implement API using IOSurface now that IOSurface is implemented. Partially fixes #58054. (#2621) https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [PdfKit] Improve PdfAnnotation.QuadrilateralPoints binding by making it strongly typed. (#2620) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). (#2622) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). * [ARKit/Vision] Use the new simd vector types instead of the OpenTK versions. * [ModelIO] Use the new simd vectors in new API (MDLVoxelIndexExtent2). This way we won't have to create a MDLVoxelIndexExtent3 in the future. * [SpriteKit] Use the new simd vectors in new API. * [metal] Audit (xtro) based fixes (#2623) !extra-protocol-member! unexpected selector MTLArgumentEncoder::newArgumentEncoderForBufferAtIndex: found !extra-protocol-member! unexpected selector MTLComputeCommandEncoder::dispatchThreads:threadsPerThreadgroup: found macos-only !missing-field! MTLDeviceRemovalRequestedNotification not bound !missing-field! MTLDeviceWasAddedNotification not bound !missing-field! MTLDeviceWasRemovedNotification not bound !missing-pinvoke! MTLCopyAllDevices is not bound * [CloudKit] Update bindings to beta 6. (#2615) * [FileProvider] Turn NSFileProviderItemIdentifier enum into a static class, fixes bug 59329 (#2634) https://bugzilla.xamarin.com/show_bug.cgi?id=59329 At the time of binding NSFileProviderItemIdentifier it wasn't clear how it was supposed to be used, I mean apple provides two keys which I thought were the only possible values hence binding it as an smart enum. Unfortunately this wasn't the case and the user can use those two values provided from the SDK or their own NSString Identifier. Swift provides a wrapper unfortunately we can't do the same due to NSFileProviderItemIdentifier is used in the NSFileProviderItem protocol and we currently do not support changing signatures on them. * [mtouch] Teach mtouch about the 'IOSurface' framework for tvOS. Fixes #59333. (#2630) https://bugzilla.xamarin.com/show_bug.cgi?id=59333 * Bump Touch.Unit to get fix for API breakage. (#2631) spouliot/Touch.Unit@8f1e19d [NUnitOutputTextWriter] Reintroduce previous constructor to make sure we don't break binary ABI. spouliot/Touch.Unit@00b0c0b [NUnitOutputTextWriter] Don't write invalid xml comments. spouliot/Touch.Unit@de9fe20 [TouchRunner] Restore the original code path when not wrapping NUnit xml output. * [IOSurface] Add missing availability attributes for tvOS. (#2629) * Bump versions for preview 9 (#2624) * [AVFoundation] Add missing interface AVRouteDetector. (#2637) * [tests] Update xtro to reduce list sizes (#2636) * Skip OpenTK duplicate declaration (we can't change them); * Fix rule name change for ARKit / simd; * Add missing default initializer on `init` to pending actions; * Add note for AVPersistableContentKeyRequest changes wrt tvOS; * [ReplayKit] Make RPBroadcastActivityViewController.LoadBroadcastActivityViewController async-capable. (#2639) * [xcode9] More SceneKit bindings (#2633) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 (#2644) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 https://bugzilla.xamarin.com/show_bug.cgi?id=59380 vector_float3 is 16 bytes, which means the binding is incorrect, because Vector3 is 12 bytes, and our code does not that difference into account. * Add tests * [DeviceCheck] Disable default ctor for DCDevice. (#2642) It doesn't seem to be useful according to the documentation, since it appears that the only way to get an instance is to use the static CurrentDevice property. * [audiounit] Audit (xtro) fixes for tvOS (#2635) Availability attributes in non-generated files don't hide symbols/code. reference: !unknown-pinvoke! AudioUnitExtensionCopyComponentList bound !unknown-pinvoke! AudioUnitExtensionSetComponentList bound * [tests] Make sure tvOS tests don't use the (unexisting) API * [tests] Add all test project variations to tests-mac.sln (#2579) * [xharness] Make sure generated mac projects have different project guids. * [introspection] Change the project guid so that it doesn't match the dontlink-mac project guid. * [tests] Add all test project variations to tests-mac.sln. * [xharness] Fix else condition. * [FileProvider] Adds missing NSFileProviderPage constants, fixes bug 59297. (#2646) https://bugzilla.xamarin.com/show_bug.cgi?id=59297 Adds NSFileProviderInitialPageSortedByName and NSFileProviderInitialPageSortedByDate NSData constants * [Xcode9] Remove NSFileProviderMessage and NSFileProviderMessageInterface (#2647) APIs were removed in beta 2 * [Foundation/UIKit] Provide LoadObject[s] methods that return the expected type in the callback. Fixes #59049. (#2638) The callback for these LoadObject[s] methods take an INSItemProviderReading parameter. This tells our runtime that we must provide an instance of a managed object that implements this interface (but nothing else), so we create a `NSItemProviderReadingWrapper` instance, which complies with the API (since the wrapper type implements the corresponding interface). Unfortunately these methods are supposed to return an instance of the passed- in type, so in order to comply with this soft (documentation-only) requirement, provide a wrapper method that creates instances of the right types. https://bugzilla.xamarin.com/show_bug.cgi?id=59049 * [arkit] Ignore deprecated selectors (#2645) * [FileProvider] Adds missing protocol and keys from audit (#2652) ``` !missing-protocol! NSFileProviderServiceSource not bound !missing-field! NSFileProviderErrorCollidingItemKey not bound !missing-field! NSFileProviderErrorNonExistentItemIdentifierKey not bound !missing-field! NSFileProviderFavoriteRankUnranked not bound ``` Also adds `NSXpcListenerEndpoint` to foundation, needed by `NSFileProviderServiceSource` protocol. * [tests][xtro] Workaround xtro runner dupe entry exception and update data files (#2654) * [AVFoundation] Rename field to match others. (#2657) * [homekit] Audit (xtro) fixes (#2653) - HMCharacteristicEvent conforms to NSMutableCopying on iOS11 which makes it 64 bits only (so adjust intro tests) - Ignore extra setters on HMMutablePresenceEvent, rdar 33883958 !missing-selector! HMMutablePresenceEvent::setPresenceEventType: not bound !missing-selector! HMMutablePresenceEvent::setPresenceUserType: not bound * [xtro] Add missing pinvoke to pending (#2662) - Bug 59422: [uikit] Missing UIContentSizeCategoryCompareToCategory & UIContentSizeCategoryIsAccessibilityCategory (https://bugzilla.xamarin.com/show_bug.cgi?id=59422) * Merge latest d15-3 fixes into xcode9 (#2660) * [msbuild] Re-added wildcard (*) expandsion for application-identifier in Entitlements.plist (#2186) Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=57119 * Bump mono (#2213) * Framework tests were still binding non-linked Simple class which errors now (#2216) (#2218) - Improve Makefile to rebuild when projects build with errors * Bump mono to get cecil fix for bug #56808. (#2222) https://bugzilla.xamarin.com/show_bug.cgi?id=56808 * [msbuild] Use @(ReferencePath) instead of @(ResolvedFiles) (#2188) (#2214) This allows things to work on both xbuild and msbuild. In xbuild, both lists are exactly the same and on msbuild, only @(ReferencePath) exists. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=55147 * NSActivityOptions.IdleDisplaySleepDisabled had wrong value (#2232) (#2239) This was due to an integer overflow. The original value was based on Int32 1 << 40 == 256 The correct value should be based on a UInt64. 1UL << 40 == 1099511627776 * [tests] Fix bug 57699 - [iOS]InternalsTest failure (Linkall) tests on device (#2243) Strip native debugging symbols should not be checked for debug builds * Bump mono to get fix for bug #57780. https://bugzilla.xamarin.com/show_bug.cgi?id=57780 * Update .gitmodules Change branch to d15-3 branch of mono * Bump maccore to get fix for bug #55064. https://bugzilla.xamarin.com/show_bug.cgi?id=55064 * [mono] Bump mono to get the head of cecil/mono-2017-04 and fix IsComObject #57919 Also fix #58789 [1], the typo in tools/mtouch/Tuning.cs showing in MT0000 errors instead MT2102. That's already in master and d15-4 mono bump includes: [2] commit 2a6502cee0df9de5198eafe7c8b5f6ac25106f34 (HEAD -> d15-3, origin/d15-3) Merge: 02457c20fcf 5e05cafc6f1 Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 10:04:06 2017 -0400 Merge pull request #5401 from marek-safar/com [Marshal.IsComObject] Make this predicate return false instead of thr… [3] commit 02457c20fcf57c0610e844d638eb1da82b5d1eb0 Merge: da80840ea55 73fd9a1b82e Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 09:59:06 2017 -0400 Merge pull request #5400 from spouliot/bump-cecil-58834-d15-3 [cecil] Bump to the head of the mono-2017-04 branch and pick the fix for bug #58834 References [1] https://bugzilla.xamarin.com/show_bug.cgi?id=58789 [2] https://bugzilla.xamarin.com/show_bug.cgi?id=57919 [3] https://bugzilla.xamarin.com/show_bug.cgi?id=58834 * [mtouch] Put 'mono_profiler_startup_log' in the symbol list. Fixes #58778. (#2501) We need the 'mono_profiler_startup_log' symbol when profiling is enabled, so make sure to add the symbol to the correct list of symbols we need. Previously we were passing `-u _mono_profiler_startup_log` to clang directly, which is fine, but not complete, since it does not write the symbol to the symbollist file (--symbollist=file), which means it wouldn't be preserved when the MSBuild tasks strip the executable. https://bugzilla.xamarin.com/show_bug.cgi?id=58778 * Bump versions for SR3 https://trello.com/c/EVze08ei * Bump mono to include HttpClientHandler fix #44027 https://trello.com/c/jYFXadH8/8-systemnethttp-close-request-stream-when-httpclienthandler https://bugzilla.xamarin.com/show_bug.cgi?id=44027 * [FileProvider] Add missing API and turn NSString to string (#2663) Turned NSString to string in order to match exisiting API. * [uikit] Add UIPasteConfigurationSupporting and UITextPasteConfigurationSupporting (#2649) - Fixes bug #59363: Missing UIPasteConfigurationSupporting, UITextPasteConfigurationSupporting, UITextDraggable and UITextDroppable on a couple of types (https://bugzilla.xamarin.com/show_bug.cgi?id=59363) * [uikit] Remove 129 types in UIPasteConfigurationSupporting case * [scenekit] Audit (xtro) fixes (#2648) This looks like an Apple breaking change (since `SCNAnimation` is new) but we now have: > typedef void (^SCNAnimationEventBlock)(id<SCNAnimation> animation, id animatedObject, BOOL playingBackward); bound as > delegate void SCNAnimationEventHandler (CAAnimation animation, NSObject animatedObject, bool playingBackward); and `CAAnimation` conforms to `SCNAnimation` but *only* the later is available on watchOS. The delegate is only updated (since it's new) on our watchOS profile. xtro references: (watchos) !unknown-protocol! SCNCameraControlConfiguration bound (tvos/watchos) !missing-selector! SCNAnimation::animationEvents not bound !missing-selector! SCNAnimation::setAnimationEvents: not bound !missing-selector! SCNConstraint::isEnabled not bound !missing-selector! SCNConstraint::setEnabled: not bound !missing-field! SCNSceneSourceConvertToYUpKey not bound !missing-field! SCNSceneSourceConvertUnitsToMetersKey not bound (ios/tvos) !missing-protocol-conformance! SCNNode should conform to UIFocusItem * Bump maccore post 15.3 merge (#2665) * Bump Xcode 9 to GM (#2667) * Force build (on wrench) * [avfoundation] Fix breaking changes (apidiff) (#2664) * [TVServices] Update to Xcode 9 GM (#2675) * [GameController] Update to Xcode 9 GM (#2673) * [LocalAuthentication] Update to Xcode 9 GM (#2671) * [LocalAuthentication] Update to Xcode 9 GM * Remove availability from BiometryNotAvailable, BiometryNotEnrolled and BiometryLockout * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer (#2659) * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer Some of the new added types were already present BUT under a #if MONOMAC, they had to be moved. * [AVFoundation] Set the wrongly added API to be obsolete and ensure it returns logical values. (#2650) * [xtro] The right platform for macOS is 'macos', not 'osx'. (#2677) The platform name is used to filter availability attributes, and if we use the wrong platform, we'll incorrectly skip all availability attributes. The net result in unclassified entries: https://gist.github.com/rolfbjarne/a4474bc2a40c49a85cad495b51bb514f * Various Xcode 9 API improvements and also fixes bug 59433 (#2676) https://bugzilla.xamarin.com/show_bug.cgi?id=59433 While fixing bug 59433 I noticed some additional issues outlined below: AVDepthData: * Renamed **non** static `Create` methods because `Create` only makes sense with the **Static** method in this context. Also by renaming the methods we are now closer to the names that swift uses. * Kept descriptive method names in favor of self-documenting code. `Convert`, `Apply` and `Replace` do not fully give us the intent of the method. * Added a convenience `Create` static method that takes a `CGImageAuxiliaryDataInfo`. * AvailableDepthDataTypes is now an array of `CVPixelFormatType` instead of a `NSNumber` array (The aactual fix for bug 59433). ImageIO: * Refactored `CGImageAuxiliaryDataInfo` to be a `StrongDictionary` in order to avoid most of the manual code and also to avoid reimplementing the `ToDictionary` method (which contained a subtle bug). * Adjusted code to reflect the above change. * Added missing `.ctor (IntPtr, bool)` to `CGImageMetadata` so the class is able to be created by our `Runtime.Get*`. * Simplified `CopyAuxiliaryDataInfo` method by using `CGImageAuxiliaryDataInfo` as a `DictionaryContainer`. Tests: * Added `xamarinmonkey.heic` which is an image that contains depth data needed to test above changes. * Adds `AVDepthDataTests` that touches most of the changes listed here. * Tweak the Simd-compatible matrices and vectors (#2668) * Rename them to be OpenTK.NMatrix# (instead of Simd.MatrixFloat#x#). * Remove the Vector2 and Vector4 variants, we'll use the OpenTK types instead (but we'll keep the NVector3 variant, since it's not identical to the OpenTK version). * Update the API to match their OpenTK counterparts better: * NMatrix2 and NMatrix3 have a 0-based R#C# scheme for their fields. * NMatrix4 has a 1-based M## scheme for its fields (i.e. no change). * [AVFoundation] Use Simd-matrix for API that needs it. (#2679) This also requires implementing the corresponding matrix (NMatrix4x3). Fixes this xtro issue: > !unknown-simd-type-in-signature! OpenTK.Matrix3 AVFoundation.AVCameraCalibrationData::get_GetIntrinsicMatrix(): the native signature has a simd type (matrix_float3x3), while the corresponding managed method is using an incorrect (non-simd) type. * [xtro] Fix checking availability on categories. (#2682) When checking for category availability, check if both the current declaration is a category, and if the current's declaration container is a category. Otherwise this scenario fails: * Category method is available. * Category does not have availability attributes. * Main class is unavailable. with this typical code sequence: ```csharp // don't process methods (or types) that are unavailable for the current platform if (!decl.IsAvailable () || !(decl.DeclContext as Decl).IsAvailable ()) return; ``` In which case we'd: * First check the method (`decl`): * It's available, so no further checks is done on the method. * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container's container is a category (it isn't, it's the namespace). and as such determine that the method is available. With this change, the second step will become: * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container is a category (it is), and if its main class is available (it isn't). and as such determine that the method is unavailable. * Check for attributes on the method's container (no attributes, so we continue). * Check if the method's Unclassified diff: https://gist.github.com/rolfbjarne/8fa80962596978a426eadf9b7ba39dc1 * [uikit] Update for Xcode 9 GM (#2670) * [AVFoundation] Implement AVCapturePhoto. Partially fixes #59388. (#2678) Fixes: > common.unclassified:!missing-type! AVCapturePhoto not bound https://bugzilla.xamarin.com/show_bug.cgi?id=59388 * Use strong dictionaries for AVCapturePhoto.Metadata and AVCapturePhoto.EmbeddedThumbnailPhotoFormat. * [SIMD] Implement Simd double types (VectorDouble3/MatrixDouble4x4). (#2632) The following types will be used by ModelIO bindings * Fix delta to be double * Rename Simd-compatible matrices and vectors to match our final naming. This also means removing the new Vector2 and Vector4 variants (but not Vector3). * [avfoundation] Remove AVAssetDownloadDelegate.DidLoadTimeRange since it was removed in one of the betas (#2687) * [foundation] Move NSUrlSessionMultipathServiceType to a file processed by the generator (for the availability attributes) (#2688) * [arkit] Update for Xcode 9 GM (#2681) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes (#2690) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes Type Changed: Intents.INCarSeatResolutionResult Removed methods: public static INCarSeatResolutionResult GetConfirmationRequired (INCarSeat valueToConfirm); public static INCarSeatResolutionResult GetSuccess (INCarSeat resolvedValue); * [avfoundation] Add missing protocol members and deprecations (#2691) !missing-protocol-member! AVCapturePhotoCaptureDelegate::captureOutput:didFinishProcessingPhoto:error: not found and the selector removed from PR#2687 was actually replaced with this one !missing-protocol-member! AVAssetDownloadDelegate::URLSession:aggregateAssetDownloadTask:didLoadTimeRange:totalTimeRangesLoaded:timeRangeExpectedToLoad:forMediaSelection: not found * [tests][xtro] Map some enums, more fix with protocols and update entries (#2692) * [Tests] Reenable dns tests on the watch. (#2674) * [arkit] Add ARBlendShapeLocationOptions strong dictionary (#2696) * [coreimage] Skip not yet bound filters added in Xcode9 (#2698) Tracked in https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * [Metal] Renamed MTLArgumentDescriptor.ArgumentDescriptor to Create, fixes bug 59498 (#2702) https://bugzilla.xamarin.com/show_bug.cgi?id=59498 From [argumentDescriptor docs](https://developer.apple.com/documentation/metal/mtlargumentdescriptor/2915746-argumentdescriptor?language=objc) > Creates an empty argument descriptor. * [msbuild] Always codesign app bundles if the codesign key is non-null (#2697) ...even if it is a simulator build. Turns out that starting with Xcode9, sim builds need to be codesigned for App Groups entitlements to work properly. Interestingly, the DetectSigningIdentity logic had a comment about needing to codesign simulator builds for some entitlements to work already starting with Xcode 8 but apparently the iOS targets did not respect this. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=59379 * [Foundation] Add NSProxy stub in order to workaround bug 59247 (#2693) https://bugzilla.xamarin.com/show_bug.cgi?id=59247 We need to have a better solution that removes all what NSProxy does not responds to. Right now this works because NSObject implements NSObject protocol just like NSProxy, but NSProxy responds to far less selectors hence doing it internal so it is not a breaking change when we provide the correct fix. * Keep NSProxy around and avoid XML linker description We need to keep NSProxy (avoid linking it) if WKNavigationDelegate or IWKNavigationDelegate is used. We know WKWebView will be there and can hold a reference to it. * [Xcode 9] Update Metal for GM (#2689) * [iosurface] IOSurface is not usable before iOS/tvOS 11. Fixes #59201 (#2706) Apple rejects apps that links with the previously private IOSurface.framework. We were not sure about this [1] and had it disabled (this is removed). However another bug stopped our adjustment logic [2] from being executed. This is needed since `clang` picks up the private framework if it does not find the public one (even when asking for a weak framework), [1] https://bugzilla.xamarin.com/show_bug.cgi?id=59201 [2] Added a while ago for JavascriptCore * Bump maccore to point to commit with the docs fix. (#2703) * Bump XI to 11.0.x (and XM to 3.99.9.x) (#2684) * fix typo
2017-09-16 00:53:16 +03:00
[Export ("fillMode", ArgumentSemantic.Assign)]
SCNFillMode FillMode { get; set; }
[Watch (4, 0), TV (11, 0), Mac (10, 13, onlyOn64: true), iOS (11, 0)]
Merge xcode9 into d15-4[-xi] (#2710) * [FileProvider] Add Xcode 9 Beta 1, 2 & 3 Bindings (#2279) * [FileProvider] Add Xcode 9 Beta 1 Bindings * Better naming * Feedback not related to BindAs * [FileProvider] Removes BindAs, add manual code for it and updated to Beta 3 * [FileProvider] Implement feedback * [CoreSpotlight] Updated spotlight bindings for xcode 9 beta 3. (#2193) Updated spotlight bindings for xcode 9 beta 3. * Fix warning caused by duplicate (#2354) * [FileProviderUI] Add Xcode 9 Beta 1 to 3 bindings (#2356) * Bump to Xcode 9 beta 4 * [arkit] ARLightEstimate does not conform to NSCopying anymore (fix unit test) * [uikit] NSFileProviderExtension.ReparentItem got a new parameter in beta4 (fix unit test) * [coreimage] CIImageAccumulator init returns nil in beta 4 There's no header change to mention `init` is not allowed but it's not clear how this default initializer could be used. Also make public some other API to construct this type (outside of XM). It's not clear why there were `internal` as they are (at least now) part of the header files. * [photos] Add helpers when PHLivePhotoEditingOption/NSDictionary is null (to avoid ambiguous API) (#2360) Adding a strongly typed `PHLivePhotoEditingOption` (a strongly typed version of an `NSDictionary`) can cause a `CS0121` (call is ambiguous) since using a `null` argument is common (only one option exist so far). This PR adds overloads that makes the code nicer in such case, e.g. before Xcode9: > // null is used when no options are given > _foo.SaveLivePhoto (output, null, completion); current (Xcode 9) > // casting required to remove ambiguity with PHLivePhotoEditingOption > _foo.SaveLivePhoto (output, (NSDictionary)null, completion); with this PR > // no option, no argument > _foo.SaveLivePhoto (output, completion); The same applies to `PrepareLivePhotoForPlayback`. * [tests] Disable/tweak two tests that breaks on (almost) all Xcode updates Those tests were not added to validate xOS so just keep the parts that helps us (without constantly checking back the new break flavor) * Disable watchOS to check if this hides others issues * [mapkit] Update for beta 4 * [coredata] Update for beta 4 * [wkwebkit] Update for beta 4 Note: WKWindowFeatures.h is not compiled (part of the framework umbrella) and the `@interface WKWindowFeatures (WKPrivate)` sounds like it should not have been exposed (it's all fields starting with `_`) * [corelocation] Update for beta 4 * Revert "Disable watchOS to check if this hides others issues" This reverts commit fed2249fa43290a1956ab2fe0d48f83ab6db9711. * [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]: https://github.com/xamarin/xamarin-macios/blob/f5956d6cc1eb5dfa7bab16628cf282d40237f64e/src/generator.cs#L5985 * [FinderSync] Update to beta 4 (#2377) * [ImageIO] Update to Xcode 9 (#2353) * [PhotosUI] Move macOS photosui bindings out of photos.cs into photosui.cs (#2358) * [quicklook] Update up to beta 4 (#2374) * [uikit] UIDragInteraction & UIDragInteractionDelegate (Xcode 9 b1,2,3) (#2357) * [safariservices] Update up to beta 4 (#2380) * [coreanimation] Update to beta 4 (#2382) Apple removed (mistake?) some API in beta 1. Filed as rdar 33590997 Internal tracking in https://trello.com/c/J8BDDUV9/86-33590997-coreanimation-quartzcore-api-removals * [storekit] Update up to beta 4 (#2379) * [CoreML] Update to Xcode 9 Beta 4 (#2387) * [uikit] UICollectionView/UITableView Drag & Drop (Xcode 9 b1,2,3 & 4) (#2355) * Update code after radar 32929318 and 32897776 are fixed in b4 (#2394) * [xcode9 CoreAudio] New definitions from Beta1 to Beta3 (#2359) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 (#2397) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 https://bugzilla.xamarin.com/show_bug.cgi?id=58512 Created strong API (VNBarcodeSymbology) on the following properties * VNDetectBarcodesRequest.SupportedSymbologies * VNDetectBarcodesRequest.Symbologies * VNBarcodeObservation.Symbology * Remove modern C# because classic can't do it 😡 * [mediaplayer] Update up to beta 4 (#2388) * [watchkit] Update to beta 4 (#2398) * Bump Visual Studio for Mac max version (#2408) * [coreimage] Add CIBarcodeDescriptor and enabled missing API for VNBarcodeObservation. Fix #58197 (#2411) https://bugzilla.xamarin.com/show_bug.cgi?id=58197 * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 (#2407) * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 * [uikit] Fixes based on comments * [coreimage] CIImageAccumulator API fixes. Fix #58349 (#2412) * Obsolete the default `init`; * XM exposed some older APIs using `int` instead of `CIFormat`. This is fixed and old APIs are obsoleted; * Both new & old APIs are now using `CIFormat` for both XI and XM. https://bugzilla.xamarin.com/show_bug.cgi?id=58349 * [uikit] UIText drag & drop - up to Xcode 9 beta 4 (#2410) * [uikit] UISplitView & UIStackView up to Xcode 9 beta 4 (#2425) * Bump XI/XM versions before preview 4 (#2422) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 (#2378) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 * [PDFKit] Implement feedback * [PDFKit] the forgotten enum * [PDFKit] More feedback * [PDFKit] Add Mac changes * Missing change * Fix test RectangleF VS CGRect * Pass -Wunguarded-availability-new to quiet a new clang warning (#2424) - https://bugzilla.xamarin.com/show_bug.cgi?id=58574 * [mtouch/mmp] Ignore warnings about unguarded code section with regards to availability. (#2441) * [monotouch-test] Remove workaround for fixed Apple bug. (#2445) * Bump to Xcode 9 beta 5. (#2447) * Bump to Xcode 9 beta 5. * [mmp] Disable the partial static registrar, because Apple's macOS SDK is broken. > In file included from Xamarin.Mac.registrar.mobile.i386.m:1: > In file included from ./Xamarin.Mac.registrar.mobile.i386.h:11: > /Applications/Xcode9-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVFoundation.h:88:9: fatal error: 'AVFoundation/AVRouteDetector.h' file not found https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [mmp] Fix partial static registrar removal. * [CallKit] Update to Xcode 9 beta 5. * [ARKit] ARPointCloud doesn't conform to NSCopying anymore in Xcode 9 beta 5. * [ARKit] Update to Xcode 9 beta 5 enough to make tests happy. * [CoreImage] Stub out new filters in Xcode 9 beta 5. * [tests][monotouch] Simplify some MDLMesh asserts since values change a lot between OS versions. * [mmp] Default to the dynamic registrar for release builds again, due to bug #58629. https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [tests][introspection] CXCall started implementing NSCopying without saying so in the headers. * Disable mmp static registrar tests due to 58629 for now * [quicklook] Update to beta 5 (#2450) * [photos] Update for beta 5 (#2452) Also update some existing enum members were added in beta 1 on macOS * [safariservices] Update for beta 5 (#2455) * [mediaplayer] Update to beta 5 (#2456) * [CoreLocation] Update Xcode 9 Beta 5 (#2453) * [CoreML] Update to Xcode 9 Beta 5 (#2454) * [Contacts] Update to Xcode 9 Beta 5 (#2451) * [Vision] Update to Xcode 9 Beta 5 (#2458) * [builds] Tell LLVM to stay away from newer macOS functions. (#2459) Fixes this build problem on Sierra: > ld: weak import of symbol '_futimens' not supported because of option: -no_weak_imports for architecture x86_64 This is a symbol that was (will be?) introduced in High Sierra. Interestingly this only occurs if the Xcode 8.X Command Line Tools haven't been manually installed. Because if the Xcode 8.X Command Line Tools are installed, this happens: 1. llvm's configure script detects that 'futimens' is not usable. 2. llvm's configure script detects that 'futimens' is not usable, because xcrun sets SDKROOT=/ when calling clang. a. When the SDKROOT variable is set, clang passes '-syslibroot /usr/lib' to ld. b. When ld gets '-syslibroot /usr/lib', ld looks in '/usr/lib' for a library that contains 'futimens' in the OS itself, and since we're on Sierra, that fails to link. c. So when llvm's configure script creates a test program that checks if 'futimens' is present, the program fails. This is correct, and makes llvm *not* use futimens. 3. xcrun sets SDKROOT=/ because /usr/share/current-os.sdk/Info.plist exists. If that file does not exist, then xcrun sets SDKROOT to Xcode9's macOS SDK (because that's what xcode-select reports). a. When SDKROOT is set to Xcode9's macOS SDK, the configure check for 'futimens' succeeds, because the macOS 10.13 SDK contains that function. b. llvm happily uses 'futimens', and then the final link fails because we're using a symbol not available on all target platforms. * [arkit] Update for Xcode 9 beta 5 - Part 1 (#2460) * [tests] The container app for watchOS tests should be 64-bit. (#2463) * [xharness] watchOS tests need to run in a clean environment. Works around #58348. (#2462) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [xharness] It watchOS tests don't need to be clean anymore. Fixes #58348. (#2473) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [uikit] UIView/UIScrollView/UIViewController up to Xcode 9 beta 5 (#2431) - Add NSDirectionalEdgeInsets type. - Includes DirectionalEdgeInsetsTest. * [AudioToolbox] Update bindings to Xcode 9 beta3 (not later changes). (#2294) * [xharness] Add a file existence check. (#2478) Fixes this exception: ``` Harness exception for 'introspection': System.IO.FileNotFoundException: Could not find file '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log'. File name: '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log' at System.IO.__Error.WinIOError (System.Int32 errorCode, System.String maybeFullPath) [0x00207] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/__error.cs:188 at System.IO.FileInfo.get_Length () [0x00038] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/fileinfo.cs:171 at xharness.CaptureLog.StopCapture () [0x00021] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Log.cs:252 at (wrapper remoting-invoke-with-check) xharness.CaptureLog:StopCapture () at xharness.AppRunner+<RunAsync>d__68.MoveNext () [0x0127f] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/AppRunner.cs:642 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter`1[TResult].GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:357 at xharness.RunSimulatorTask+<RunTestAsync>d__7.MoveNext () [0x0029d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2894 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.RunTestTask+<ExecuteAsync>d__8.MoveNext () [0x0010b] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2538 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.TestTask+<RunInternalAsync>d__87.MoveNext () [0x0010d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:1870 ``` I'm not sure how this can happen, but it has on the bots [1]. [1] https://jenkins.mono-project.com/job/xamarin-macios-pr-builder/4548/Test_Report/ * Bump versions for preview 5 (#2479) * [passkit] Update to beta 5 (#2481) * [tests] Remove workaround for radar #32688391. (#2486) * [replaykit] Update up to beta 5 (#2484) * Bump maccore to get fix for bug #55064. (#2487) * [apidiff] Update definition to new 10.12 (d15-3) stable release (#2490) * [SceneKit] basic work (#2483) * [coredata] Update to beta 5 (#2488) * [homekit] Update for Xcode 9 beta 5 (#2492) * [Foundation] Update for xcode9 (#2468) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 (#2493) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 * [Intents] Implement feedback * [Intents] Add a generic version for INInteraction.GetParameterValue * [Intents] Missing check * [Contacts] Add missing foundation NSItemProviderWriting protocol to CNContact (#2496) https://bugzilla.xamarin.com/show_bug.cgi?id=58203 This is available on all Contacts supported platforms ``` ./iPhoneOS.platform/Developer/SDKs/iPhoneOS11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchOS.platform/Developer/SDKs/WatchOS4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchSimulator.platform/Developer/SDKs/WatchSimulator4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ``` * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) (#2497) * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) * [IntentsUI] Better use a delegate instead so we have named params * Bump versions before 6th preview (#2514) * [arkit] Add missing MarshalDirective to ARPlaneAnchor (#2517) - Fixes bug #58648: ARPlaneAnchor.Extent property seems incorrect but changes to correct value after Debug access (https://bugzilla.xamarin.com/show_bug.cgi?id=58648) * [xtro-sharpie] Fix a compiler warning. (#2516) Fixes these warnings: Runner.cs(197,5): warning CS0642: Possible mistaken empty statement Runner.cs(199,5): warning CS0642: Possible mistaken empty statement Runner.cs(201,5): warning CS0642: Possible mistaken empty statement Runner.cs(203,5): warning CS0642: Possible mistaken empty statement Runner.cs(205,5): warning CS0642: Possible mistaken empty statement * [uikit] Update for Xcode 9 beta 5 - Part 3 (#2511) - UIKeyCommand - UINavigationBar - UINavigationItem - UIPasteboard - UITableViewHeaderFooterView * [xtro-sharpie] Remove xtro-plugin and misc other fixes. (#2522) * [xtro-sharpie] Build with msbuild and be as quiet as requested when building. * [xtro-sharpie] Must run as a 64-bit process, since the required native libraries are 64-bit. * [xtro-sharpie] Add run configurations to the project file to ease debugging in the IDE. * [xtro-sharpie] Remove xtro-plugin and the related commands. This was needed when there wasn't a 64-bit mono, in order to run xtro-sharpie in a 64-bit process. Now there is a 64-bit mono, so it's not needed anymore. Also improve makefile targets a bit, to auto-build stuff when needed, by setting the right dependencies. * Bump Xcode 9 to beta 6 (#2519) Disable watchOS tests again It seems like the Carousel crash from beta 4 is back to haunt us. This was working fine with beta 5. * Backport d15-3 SR2 fixes (#2515) * [coredata] Update to beta 6 (#2528) This seems to only revert some nullability changes from beta 5. * [coreml] Update to beta 6 (#2531) Fix our rdar 33643011 where additional setters were added in the headers but did not exists. * [videosubscriberaccount] Update to beta 6 (#2533) Only b1 and b2 introduced some additions/changes * [uikit] Update for Xcode 9 beta 6 - Part 4 (#2527) The following headers are now up to date: - UICollectionViewFlowLayout.h - UIDocumentPickerViewController.h - UIFontDescriptor.h - UIImage.h - UIImageView.h - UIImagePickerController.h * [xharness] Re-enable the watchOS tests. (#2534) It works fine for me locally, so let's see what Jenkins says. * [macos] Add new APIs in CoreWlan from Xcode9b3 (#2525) * Update AppKit bindings based on radar 33271241 results (#2518) * Update AppKit bindings based on radar 33271241 results - The header comment was updated to note it was NSSliderTouchBarItem view that has the protocol * Remove NSUserInterfaceCompression where not listed in header * [vision] Update to beta 6 (#2532) Removal of some deprecated (during beta) `init*` selectors. Also sync the versions that were inlined in subclasses - the old ones were not removed and the new ones were not added. * [xtro-sharpie] Many methods don't have selectors in Clang's API, so default to the name if no selector. (#2523) This makes a few more unclassified entries show up (mostly missing designated initializers): https://gist.github.com/rolfbjarne/07aa20f9b50b75bf3e69ac6a825e873a * [macos] Add ExternalAccessory APIs from xcode9 (#2526) * [58851] Disable NSMenuView in AllItemsWithNSMenuShouldAllowNull (#2504) * [arkit] Update for Xcode 9 beta 5 - Part 2 (#2505) - Add last missing selector. - Add tests for manual code. * [monotouch-test] Disable FontDescriptorTest.WithFeature (#2537) Disabled because it looks like the tvOS font we use: "Gujarati Sangam MN" does not have rare ligatures anymore (and the entire test is based on it). Before getting an actual fix for that, let's disable the test so it doesn't break all current builds. See: https://bugzilla.xamarin.com/show_bug.cgi?id=58929 * [xtro-sharpie] Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute. (#2524) Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute to calculate the native name for a TypeDefinition. Unclassified changes: https://gist.github.com/rolfbjarne/828f8ee41eebb0a3b60a38d71822fe59 * [foundation/uikit] Inline NSItemProvider_UIKitAdditions in NSItemProvider (#2538) As suggested here: https://github.com/xamarin/xamarin-macios/pull/2527#discussion_r134670981 * [intents] Fix breaking changes (api-diff) (#2543) Additions of @required members inside `INSpeakable` cannot be `[Abstract]` * [contacts] Fix breaking change (api-diff) (#2542) Type Changed: Contacts.CNPostalAddress Removed method: public static string LocalizeProperty (CNPostalAddressKeyOption option); * [macos] Reenable static registrar since Xcode9b6 un-broke SDK headers (#2544) - Fix a subtle spacing issues in PartialStaticLibrary property * [corebluetooth] Update up to beta 6 and enable it on watchOS (#2540) macOS 10.13 has finally catch up with iOS and this simplifies the bindings a bit. * [foundation] API fixes (apidiff) (#2545) 1. Let's not add new, already [Obsolete] API Type Changed: Foundation.NSDimension Added constructors: [Obsolete ("Not intended to be directly instantiated, this is an abstract class.")] public NSDimension (); 2. Fix inconsistently named API, e.g. Type Changed: Foundation.NSAttributedString Added properties: public static string[] ReadableTypeIdentifiersForItemProvider { get; } public static string[] WritableTypeIdentifiers { get; } * [pdfkit] Do not add already [Obsolete] API in new profiles (#2547) and ensure using the newer, correct API works cross-platforms iOS (before) [Obsolete ("Use 'Find (string, NSStringCompareOptions)' instead.")] public virtual PdfSelection[] Find (string text, nint options); public PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'Find (string, PdfSelection, NSStringCompareOptions)' instead.")] public virtual PdfSelection Find (string text, PdfSelection selection, nint options); public void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string, NSStringCompareOptions)' instead.")] public virtual void FindAsync (string text, nint options); public void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string [], NSStringCompareOptions)' instead.")] public virtual void FindAsync (string[] text, nint options); iOS (after) public virtual PdfSelection[] Find (string text, Foundation.NSStringCompareOptions compareOptions); public virtual PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); * Bump versions for the 7th preview (#2541) * Remove additions of AVKit removed in beta5 (#2536) * NSUrlSessionTask should implement NSProgressReporting for iOS (#2548) NSUrlSessionTask implements NSProgressReporting on iOS as well as Mac, so the #if MONOMAC isn't needed. * Add missing availability attributes causing failures on older iOS versions (#2550) * [vision] Minor fix wrt xtro (#2551) including some things we need to ignore manually !missing-field! VNVisionVersionNumber not bound !missing-pinvoke! VNImagePointForFaceLandmarkPoint is not bound !missing-pinvoke! VNNormalizedFaceBoundingBoxPointForLandmarkPoint is not bound * [uikit] NSFileProviderMessaging was removed in beta 2. Fixes #58222 (#2552) reference: https://bugzilla.xamarin.com/show_bug.cgi?id=58222 * [uikit] Update for Xcode 9 - Part 5 (#2546) Bindings for the following headers: - UIActivity.h - UIActivityItemProvider.h - UIAlertController.h - UIApplication.h - UIBarButtonItem.h - UIButton.h - UICollectionViewLayout.h - UIColor.h - UIControl.h - UIDocumentMenuViewController.h - UIFontMetrics.h - UIGestureRecognizer.h - UIGraphicsImageRenderer.h - UIInputViewController.h * [CoreText] Fix an extraneous free in CTFont.GetDefaultCascadeList. (#2555) We do not own the return value from CFArrayGetValueAtIndex, so don't say we do when creating CTFontDescriptor instances, since that leads to angry dragons: 2017-08-28 20:15:20.293 monotouchtest[33186:2311738] A_FontTest 2017-08-28 20:15:20.294 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithFontDescriptorAndOptions 2017-08-28 20:15:20.295 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithNameAndOptions 2017-08-28 20:15:20.296 monotouchtest[33186:2311738] critical: Stacktrace: at <unknown> <0xffffffff> at (wrapper managed-to-native) CoreText.CTFont.CTFontCopyDefaultCascadeListForLanguages (intptr,intptr) [0x0000a] in <ae65a2b1eea242d2b68fe784749543bf>:0 at CoreText.CTFont.GetDefaultCascadeList (string[]) [0x00013] in /work/maccore/xcode9/xamarin-macios/src/CoreText/CTFont.cs:2185 at MonoTouchFixtures.CoreText.A_FontTest.GetCascadeList () [0x0001e] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/CoreText/FontTest.cs:78 at (wrapper runtime-invoke) object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) [0x0004f] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) System.Reflection.MonoMethod.InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&) [0x00016] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at System.Reflection.MonoMethod.Invoke (object,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo) [0x00032] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/corlib/System.Reflection/MonoMethod.cs:305 at System.Reflection.MethodBase.Invoke (object,object[]) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/referencesource/mscorlib/system/reflection/methodbase.cs:229 at NUnit.Framework.Internal.Reflect.InvokeMethod (System.Reflection.MethodInfo,object,object[]) [0x00009] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Reflect.cs:215 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunNonAsyncTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x00025] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:116 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x0001a] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:90 at NUnit.Framework.Internal.Commands.TestMethodCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:66 at NUnit.Framework.Internal.Commands.SetUpTearDownCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00007] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/SetUpTearDownCommand.cs:84 at NUnit.Framework.Internal.WorkItems.SimpleWorkItem.PerformWork () [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/SimpleWorkItem.cs:64 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at MonoTouch.NUnit.UI.BaseTouchRunner.Run (NUnit.Framework.Internal.Test) [0x0004d] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:442 at MonoTouch.NUnit.UI.BaseTouchRunner.Run () [0x00030] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:171 at MonoTouch.Dialog.StringElement.Selected (MonoTouch.Dialog.DialogViewController,UIKit.UITableView,Foundation.NSIndexPath) [0x00008] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/Elements.cs:765 at MonoTouch.Dialog.DialogViewController.Selected (Foundation.NSIndexPath) [0x00026] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:577 at MonoTouch.Dialog.DialogViewController/Source.RowSelected (UIKit.UITableView,Foundation.NSIndexPath) [0x00016] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:402 at (wrapper runtime-invoke) <Module>.runtime_invoke_void__this___object_object (object,intptr,intptr,intptr) [0x0005d] in <32f0c196c5bc4aa18daea2ee64a7814e>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) UIKit.UIApplication.UIApplicationMain (int,string[],intptr,intptr) [0x0005c] in <ae65a2b1eea242d2b68fe784749543bf>:0 at UIKit.UIApplication.Main (string[],intptr,intptr) [0x00005] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:79 at UIKit.UIApplication.Main (string[],string,string) [0x00038] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:63 at monotouchtest.Application.Main (string[]) [0x00011] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/Main.cs:27 at (wrapper runtime-invoke) <Module>.runtime_invoke_void_object (object,intptr,intptr,intptr) [0x00051] in <30a7f7e09de9467b8b454221034a0e38>:0 Native stacktrace: 0 monotouchtest 0x000000010fca03c4 mono_handle_native_crash + 244 1 monotouchtest 0x000000010fcadd30 mono_sigsegv_signal_handler + 288 2 libsystem_platform.dylib 0x000000011feb3b3a _sigtramp + 26 3 CoreFoundation 0x000000011de035a2 computeSanitizedString + 146 4 CoreText 0x00000001168df314 _ZN15TPurgeableCache19RetainedValueForKeyEPKv + 54 5 CoreText 0x00000001168def85 _ZNK17TDescriptorSource22CopyDescriptorUncachedEPK7__CFURLbPK10__CFString + 55 6 CoreText 0x00000001168df34f _ZNK17TDescriptorSource14CopyDescriptorEPK7__CFURLbPK10__CFString + 27 7 CoreText 0x00000001168e20ad _ZNK17TDescriptorSource35CopyFontDescriptorPerPostScriptNameEPK10__CFStringmm + 297 8 CoreText 0x00000001168dfd9e _ZNK17TDescriptorSource30CopySystemFontDescriptorByNameEPK10__CFString10UIFontFlag + 54 9 CoreText 0x00000001168e54c4 _ZNK14TFontFallbacks17CopyFontFallbacksEPK10__CFStringS2_PK9__CFArray + 652 10 CoreText 0x00000001168e4a00 _ZNK14TFontFallbacks29CopyFontFallbacksForLanguagesEPK10__CFStringPK9__CFArray + 122 11 CoreText 0x00000001168e4971 _ZN17TDescriptorSource39CopyDefaultSubstitutionListForLanguagesEPK10__CFStringPK9__CFArray + 61 12 CoreText 0x00000001169397a7 _ZNK9TBaseFont28CreateSystemDefaultFallbacksEPK10__CFStringPK9__CFArray + 51 13 CoreText 0x000000011693999c _ZNK9TBaseFont15CreateFallbacksE10UIFontFlagPPK16__CFCharacterSetPK9__CFArray + 346 14 CoreText 0x00000001168c1036 _ZNK5TFont24CreateDefaultCascadeListEPK9__CFArray + 242 15 CoreText 0x00000001168b8ff9 CTFontCopyDefaultCascadeListForLanguages + 97 16 ??? 0x0000000140eaefd3 0x0 + 5384105939 17 ??? 0x0000000140eae761 0x0 + 5384103777 18 ??? 0x000000013c9c8e74 0x0 + 5311860340 19 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 20 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 21 monotouchtest 0x000000010fd71bac mono_runtime_try_invoke_array + 1292 22 monotouchtest 0x000000010fd15587 ves_icall_InternalInvoke + 647 23 ??? 0x000000013e9fcd13 0x0 + 5345627411 24 ??? 0x000000013e9fc738 0x0 + 5345625912 25 ??? 0x000000013e9fded5 0x0 + 5345631957 26 ??? 0x000000013e9fbb76 0x0 + 5345622902 27 ??? 0x000000013e9e237e 0x0 + 5345518462 28 ??? 0x000000013e9e237e 0x0 + 5345518462 29 ??? 0x000000013e9e237e 0x0 + 5345518462 30 ??? 0x000000013e9e237e 0x0 + 5345518462 31 ??? 0x000000013e873006 0x0 + 5344014342 32 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 33 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 34 monotouchtest 0x000000010fd6e320 mono_runtime_invoke + 208 35 monotouchtest 0x000000010fe71af1 xamarin_invoke_trampoline + 5617 36 monotouchtest 0x000000010fe79ddd xamarin_arch_trampoline + 189 37 monotouchtest 0x000000010fe7b1a1 xamarin_x86_64_common_trampoline + 110 38 UIKit 0x0000000111b9876b -[UITableView _selectRowAtIndexPath:animated:scrollPosition:notifyDelegate:] + 1810 39 UIKit 0x0000000111b98986 -[UITableView _userSelectRowAtPendingSelectionIndexPath:] + 344 40 UIKit 0x0000000111a6b5c9 _runAfterCACommitDeferredBlocks + 318 41 UIKit 0x0000000111a59dad _cleanUpAfterCAFlushAndRunDeferredBlocks + 280 42 UIKit 0x0000000111a89f68 _afterCACommitHandler + 137 43 CoreFoundation 0x000000011de3ddb7 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23 44 CoreFoundation 0x000000011de3dd0e __CFRunLoopDoObservers + 430 45 CoreFoundation 0x000000011de22324 __CFRunLoopRun + 1572 46 CoreFoundation 0x000000011de21a89 CFRunLoopRunSpecific + 409 47 GraphicsServices 0x0000000121b7e9c6 GSEventRunModal + 62 48 UIKit 0x0000000111a5f7d0 UIApplicationMain + 159 49 ??? 0x000000013c9c4474 0x0 + 5311841396 50 ??? 0x000000013c9c40ad 0x0 + 5311840429 ================================================================= Got a SIGSEGV while executing native code. This usually indicates a fatal error in the mono runtime or one of the native libraries used by your application. ================================================================= * [monotouch-test] Don't subclass MKMapView. (#2556) MKMapView doesn't like being subclassed (Apple says "you should not subclass the MKMapView class itself"). Bad things like this starts happening: Thread 0 name: tid_303 Dispatch queue: com.apple.main-thread Thread 0 Crashed: 0 libsystem_kernel.dylib 0x0000000186b25348 __pthread_kill + 8 1 libsystem_pthread.dylib 0x0000000186c39354 pthread_kill$VARIANT$mp + 396 2 libsystem_c.dylib 0x0000000186a94fd8 abort + 140 3 monotouchtest 0x0000000101c02c14 mono_handle_native_crash + 22047764 (mini-exceptions.c:2548) 4 monotouchtest 0x0000000101c0d02c mono_sigsegv_signal_handler + 22089772 (mini-runtime.c:2886) 5 libsystem_platform.dylib 0x0000000186c33b60 _sigtramp + 52 6 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 7 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 8 CoreFoundation 0x0000000186eda51c -[__NSArrayM dealloc] + 68 9 CoreFoundation 0x000000018703f5c8 __CFBasicHashDrain + 312 10 CoreFoundation 0x0000000186fb5b44 _CFRelease + 224 11 CoreText 0x000000018a808404 TDescriptorSource::PurgeFontFallbacksCache+ 488452 () + 92 12 CoreText 0x000000018a808374 TDescriptorSource::PurgeFromCaches+ 488308 (__CFURL const*) const + 176 13 CoreText 0x000000018a7eec74 CTFontRemoveFromCaches + 168 14 VectorKit 0x0000000196a539b0 +[VKSharedResourcesManager removeResourceUser:] + 324 15 VectorKit 0x0000000196ca27a4 md::MapEngine::~MapEngine+ 2643876 () + 360 16 VectorKit 0x0000000196ca2634 md::MapEngine::~MapEngine+ 2643508 () + 12 17 libobjc.A.dylib 0x000000018651eef4 object_cxxDestructFromClass+ 28404 (objc_object*, objc_class*) + 148 18 libobjc.A.dylib 0x000000018652c638 objc_destructInstance + 88 19 libobjc.A.dylib 0x000000018652c690 object_dispose + 16 20 QuartzCore 0x000000018afca3ac -[CALayer dealloc] + 116 21 VectorKit 0x0000000196a43294 -[VKMapView dealloc] + 940 22 QuartzCore 0x000000018af6aafc CA::release_objects+ 744188 (X::List<void const*>*) + 32 23 QuartzCore 0x000000018afd97d8 CA::Layer::~Layer+ 1198040 () + 276 24 QuartzCore 0x000000018afca37c -[CALayer dealloc] + 68 25 QuartzCore 0x000000018af6b16c CA::Transaction::commit+ 745836 () + 1052 26 UIKit 0x0000000190393290 _afterCACommitHandler + 256 27 CoreFoundation 0x0000000186fb38b8 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 32 28 CoreFoundation 0x0000000186fb1270 __CFRunLoopDoObservers + 412 29 CoreFoundation 0x0000000186fb182c __CFRunLoopRun + 1292 30 CoreFoundation 0x0000000186ed22d8 CFRunLoopRunSpecific + 436 31 GraphicsServices 0x0000000188d58f84 GSEventRunModal + 100 32 UIKit 0x000000019040427c UIApplicationMain + 208 33 monotouchtest 0x000000010106eb90 wrapper_managed_to_native_UIKit_UIApplication_UIApplicationMain_int_string___intptr_intptr + 9907088 (/<unknown>:1) 34 monotouchtest 0x0000000100f0d6ac UIKit_UIApplication_Main_string___intptr_intptr + 8459948 (UIApplication.cs:79) 35 monotouchtest 0x0000000100f0d66c UIKit_UIApplication_Main_string___string_string + 8459884 (UIApplication.cs:63) 36 monotouchtest 0x0000000100b10450 monotouchtest_Application_Main_string__ + 4277328 (Main.cs:27) 37 monotouchtest 0x0000000100e0c244 wrapper_runtime_invoke_object_runtime_invoke_dynamic_intptr_intptr_intptr_intptr + 244 38 monotouchtest 0x0000000101c10048 mono_jit_runtime_invoke + 22102088 (mini-runtime.c:2526) 39 monotouchtest 0x0000000101c75eec do_runtime_invoke + 22519532 (object.c:2829) 40 monotouchtest 0x0000000101c78a3c do_exec_main_checked + 22530620 (object.c:4623) 41 monotouchtest 0x0000000101bf9a1c mono_jit_exec + 22010396 (driver.g.c:1040) 42 monotouchtest 0x0000000101d13d60 xamarin_main + 23166304 (monotouch-main.m:482) 43 monotouchtest 0x00000001007de710 main + 927504 (main.m:67) 44 libdyld.dylib 0x00000001869f656c start + 4 * [introspection] Let SkipDueToAttributeInProperty skip setters too (#2557) `SkipDueToAttributeInProperty` which is used to check the availability attribute of properties when the Availability info only exist on the property and not on the property Getter or Setter was wrong. This lead to `setSpringLoaded` (which was introduced in iOS 11) to not be ignored by the test (making it fail). - Fix bug #59085: [introspection-ios] selector not found for UIKit.UIBarButtonItem : setSpringLoaded: - Broken test (https://bugzilla.xamarin.com/show_bug.cgi?id=59085) * [corevideo][watchos] Enable CoreVideo on watchOS (#2553) * [storekit] Fix CampaignToken typo (#2559) (#2560) - Fixes bug #59078: StoreProductParameters and invalid property for CampaignToken (https://bugzilla.xamarin.com/show_bug.cgi?id=59078) * [coreml][watchos] Enable API using CoreVideo on watchOS. Fix #58097 (#2561) https://bugzilla.xamarin.com/show_bug.cgi?id=58097 * Add missing [MarshalDirective] attributes. (#2558) * [bindings-generator] Improve build & project file. * Add missing [MarshalDirective] attributes. Add missing [MarshalDirective] attributes, which also requires implementing support for out parameters in the binding generator, since one of the signatures missing the [MarshalDirective] contains such an out parameter. Also add tests for all the API I've added [MarshalDirective] to. * [bindings-generator] Remove redundant if check. * [monotouch-test] Rename file to end with 'Test.cs'. * [tests] Fix a few build errors for Xamarin.Mac. * [uikit] Fix UIColor and UIInputViewController tvOS availability (#2569) - Fixes introspection tests on tvOS 10. * [storekit] Fix SKCloudServiceSetupMessageIdentifier and SKProductStorePromotionController tvOS availability (#2568) - Fixes introspection tests on tvOS 10. * [mapkit] Fix MKMapItemTypeIdentifier tvOS availability (#2566) - Also remove double [Mac] availability attribute. - Fixes introspection tests on tvOS 10. * [ARKit] Fix marshalling for ARPointCloud.RawFeaturePoints. (#2565) ARPointCloud.RawFeaturePoints is an array of Vector3, but each vector is 16-byte aligned (as if it were an array of Vector4). This means we need to account for this when creating a managed array from pointer to the native C-style array. * [ModelIO] Fix MDLVoxelIndexExtent struct. (#2564) The MDLVoxelIndexExtent is a struct containing two 4-dimensional vectors of integers (not floats, as originally and incorrectly implemented). Fix this my creating a new MDLVoxelIndexExtent2 struct with the right fields, re-implement all the API that exposes this struct and obsolete the old API. Also add missing [MarshalDirective] attributes. And write a test to make sure it works fine now and forever. * [coredata] Enable new fields since rdar #33878590 is fixed w/beta 6 (#2570) reference: https://trello.com/c/dlSRYPFx * [xtro-sharpie] Add a Simd check class to verify signatures with Simd types. * [Simd] Add simd matrix types. The OpenTK matrices (Matrix2/3/4) has a different memory layout than Apple's matrix_float2x2/matrix_float3x3/matrix_float4x4 matrices: the OpenTK versions are row-major, while Apple's versions are column-major. This means that when blitting memory from one to the other, the matrix will appear to have been transposed. See bug #[58599][2] for an example. Unfortunately we've already bound several API with Apple's matrix_floatXxX matrices using OpenTK's matrices, and although they're bound wrong, and the matrices appear transposed on input/output, we can't change the behavior because we have to maintain compatibility. This means we have to introduce new API, and then also just define new matrix types with the right memory layout (column-major). Additionally, in the future we might be able to mark these matrices as Simd-matrixes, so that the JIT/AOT compiler can generate the correct alignment for them, avoiding having to define a native conversion method (using the [MarshalDirective] hack). The matrices have been designed to match API-wise the matrices in the System.Numerics.Vectors namespace [1], but for the moment with only a few basic operations implemented (Determinant/Transpose/Multiply) defined (we can always add more later if we want to). In addition explicit conversion operators to and from the corresponding OpenTK.MatrixX are implemented, which means any operation defined in the OpenTK matrices can be used by converting back and forth. [1]: https://msdn.microsoft.com/en-us/library/system.numerics.matrix4x4(v=vs.111).aspx [2]: https://bugzilla.xamarin.com/show_bug.cgi?id=58599 * [ARKit] Use the new Simd matrix types. * [Vision] Use the new Simd matrix types. * [ModelIO] Use the new Simd-compatible matrix types, and deprecate the old API. * [GameplayKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [SpriteKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [xtro] Don't report missing [MarshalDirective] for obsolete methods. * [xtro] Remove unnecessary ignores. The implementation changed, and these stayed accidentally. * [wkwebkit] Fix (native) protocol names (#2572) Also ignore xtro's WKSnapshotConfiguration since it's an Apple bug 34185961 reference (xtro) !missing-protocol! WKURLSchemeHandler not bound !missing-protocol! WKURLSchemeTask not bound !unknown-protocol! WKUrlSchemeHandler bound !unknown-protocol! WKUrlSchemeTask bound !unknown-type! WKSnapshotConfiguration bound * [uikit] Fix enums availability attributes (#2575) - Fixes bug #59132: [uikit] Extra types in watchOS (https://bugzilla.xamarin.com/show_bug.cgi?id=59132) * [watchkit] Add missing designated initializers (#2574) references (xtro) !missing-designated-initializer! WKInterfaceController::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! WKUserNotificationInterfaceController::init is missing an [DesignatedInitializer] attribute * [xtro] Reword some of the Simd diagnostic messages according to review. * [tests] Make sure test symbols don't clash between different test libraries. Fixes this build problem for framework-test: clang: error: linker command failed with exit code 1 (use -v to see invocation) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_get_rotation_matrix'. MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticObjectTest.framework/XStaticObjectTest (Location related to previous error) MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticArTest.framework/XStaticArTest(libtest-ar.x86_64.o) (Location related to previous error) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransformcomponent_get_local_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_create_global_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float4x4'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float3x3'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float2x2'. MTOUCH: error MT5209: Native linking error: 6 duplicate symbols for architecture x86_64 MTOUCH: error MT5202: Native linking failed. Please review the build log. * [tests] Since libtest.a need ModelIO now, the corresponding LinkWith attributes need to state that too. * [introspection] Don't check native signatures on obsolete members, and ignore the right simd matrix types. Fixes this introspection/Mac problem: ***** ApiSignatureTest.NativeSignatures Selector: uniformWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: uniformWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: uniformWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: setMatrixFloat2x2Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: setMatrixFloat3x3Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: setMatrixFloat4x4Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: initWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: initWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: initWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded * [monotouch-tests] Include more custom asserts for watchOS to make the build work. Fixes this: Simd/MatrixFloat4x4Test.cs(28,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(29,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(37,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(48,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' [...] * [monotouch-test] Exclude code that requires the binding project from xammac tests. Exclude code that requires the test binding project from xammac tests because there's currently no XM version of the test binding project. Fixes this: tests/monotouch-test/SpriteKit/UniformTest.cs(20,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLMaterialProperty.cs(37,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLTransform.cs(34,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) * Bump version for preview #8 (#2576) * [spritekit] Audit fixes (xtro) (#2577) 1. SKVideoNode is now, partially, available on watchOS and does not require the extra, manual code to swicth selectors depending on the OS version being run. !missing-type! SKVideoNode not bound !missing-selector! SKVideoNode::anchorPoint not bound !missing-selector! SKVideoNode::initWithCoder: not bound !missing-selector! SKVideoNode::initWithFileNamed: not bound !missing-selector! SKVideoNode::initWithURL: not bound !missing-selector! SKVideoNode::setAnchorPoint: not bound !missing-selector! SKVideoNode::setSize: not bound !missing-selector! SKVideoNode::size not bound !missing-selector! +SKVideoNode::videoNodeWithFileNamed: not bound !missing-selector! +SKVideoNode::videoNodeWithURL: not bound 2. SKNodeFocusBehavior is exposed needlessly on watchOS because SpriteKit/Enums.cs was not processed by the generator, so [NoWatch] did not matter. !unknown-native-enum! SKNodeFocusBehavior bound It's also visible on macOS but nothing uses it (so we do not expose it needlessly) !missing-enum! SKNodeFocusBehavior not bound 3. Add missing designated initializer on default `init` !missing-designated-initializer! SKAttributeValue::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! SKNode::init is missing an [DesignatedInitializer] attribute 4. Remove inconsistency for SKNode subclasses wrt XAMCORE_4_0 The trio attributeValues, setAttributeValues and setValue:forAttributeNamed: that was moved from SKNode (deprecated) into its subclasses. This was done using XAMCORE_4_0 but not on every subclasses. This adds them everywhere to be consistent (only SKNode versions are not defined in XAMCORE_4_0) !missing-selector! SKEffectNode::attributeValues not bound !missing-selector! SKEffectNode::setAttributeValues: not bound !missing-selector! SKEffectNode::setValue:forAttributeNamed: not bound !missing-selector! SKEffectNode::valueForAttributeNamed: not bound !missing-selector! SKEmitterNode::attributeValues not bound !missing-selector! SKEmitterNode::setAttributeValues: not bound !missing-selector! SKEmitterNode::setValue:forAttributeNamed: not bound !missing-selector! SKEmitterNode::valueForAttributeNamed: not bound !missing-selector! SKSpriteNode::attributeValues not bound !missing-selector! SKSpriteNode::setAttributeValues: not bound !missing-selector! SKSpriteNode::setValue:forAttributeNamed: not bound !missing-selector! SKSpriteNode::valueForAttributeNamed: not bound * [introspection] Make sure '[FAIL]' is printed before every failure. (#2578) This makes xharness able to list the failures in the inline summary. * [xtro] Reword some of the Simd diagnostic messages according to review. * [xharness] Add a missing IsServerMode check to generate correct html. (#2581) * [SpriteKit] SKTransformNode is new in Xcode 9 so no need to keep the broken (and obsolete) non-simd version of RotationMatrix. * [intents] Fix some (partial) xtro issues and #59156 (#2585) reference https://bugzilla.xamarin.com/show_bug.cgi?id=59156 Remaining issues are filled in https://bugzilla.xamarin.com/show_bug.cgi?id=59183 !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound * [Intents] Confirm* interface methods should be bound as Confirm, Fixes Bug 59164 (#2591) * [Intents] Confirm* interface methods should probably be bound as Confirm, Fixes Bug 59164 https://bugzilla.xamarin.com/show_bug.cgi?id=59164 All Confirm* methods from *IntentHandling interfaces should be named just `Confirm` to avoid confusion because most of them do not directly confirm as an acion, but instead they **ask** for confirmation also we would follow swift's naming by doing this. * [Intents] XAMCORE_4_0 all Confirm* methods from *IntentHandling Turns any Confirm* into just Confirm inside a XAMCORE_4_0 block, * [Intents] Fix breaking changes in Intents added in Xcode 9 Bindings (#2590) Apple added more protocol conformances to INRidesharingDomainHandling and INPaymentsDomainHandling protocols in Xcode 9, I introduced these breaking changes back when I did intents binding so fixing them :) * [Metal] New bindings from Xcode 9 betas (#2457) * [AVFoundation] Updated bindings for xcode9. (#2272) * [Xcode9] Add IOSurface bindings (#2363) * This framework was a private framework before iOS 11. This framework was a private framework before iOS 11, yet the headers claim many API were introduced in iOS 10. So take account of this difference by using the private framework location in iOS 10.3 or earlier. Testing these API from Xcode works fine when run on an iOS 10.3 device, and I've confirmed the IOSurface framework is loaded from the private frameworks path on older devices (and when built using Xcode 9 and linked with the public framework path). * Disable code to make IOSurface work on iOS 10. Disable the code to make IOSurface work on iOS 10, since it may be rejected by the App Store. This also means adjusting the availability attributes, so that the introspection tests pass (and to document that technically these API won't work when used with Xamarin.iOS in iOS 10). I've filed bug #[59201][1] to keep track of this, maybe we can re-enable this later. [1]: https://bugzilla.xamarin.com/show_bug.cgi?id=59201 * [CoreMedia] Fix leak in CMAttachmentBearer.GetAttachments. (#2593) The caller owns the return value from CMCopyDictionaryOfAttachments, so tell Runtime.GetNSObject that. * [Intents] Adds missing API found by xtro, fixes Bug 59183 (#2596) https://bugzilla.xamarin.com/show_bug.cgi?id=59183 Fixes !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !incorrect-protocol-member! INUIHostedViewControlling::configureWithInteraction:context:completion: is OPTIONAL and should NOT be abstract * [xtro] Fix StartWorkingDirectory to enable debugging (#2598) * [iosurface] Enable for tvOS and XM classic (to avoid multiple defines around consumer API) (#2597) * [xtro] Fix EnumCheck (#2600) * [ARKit] Rename a few method to make them nicer. (#2604) * DisplayTransform -> GetDisplayTransform since methods should have verbs. * SessionWasInterrupted -> WasInterrupted and SessionInterruptionEnded -> InterruptionEnded since these names match better with the other names (CameraDidChangeTrackingState / DidFail / DidOutputAudioSampleBuffer: none are prefixed with 'Session'). Additionally, the type is a Model (for the delegate pattern), which means all methods are more-or-less event-like, and the first argument is always the same (the protocol itself), which is another indicator the methods should be named similarly. * [Foundation] Remove 'Key' suffix from some fields. (#2606) Of the 168 fields in NSMetadataItem, only these 5 hadn't removed the 'Key' suffix. So make them all equivalent by removing the 'Key' suffix from these 5 fields. * [ImageIO] Fix API to not duplicate the instance in instance methods. (#2609) An instance method does not need to take the instance as a parameter, so remove the first (instance) parameter for CGImageDestination.AddAuxiliaryDataInfo and CGImageSource.CopyAuxiliaryDataInfo. An alternative solution would be to make the methods static, but I like the instance API better. * [UIKit] De-model UIDataSourceTranslating. (#2603) It's not clear from neither the documentation nor the headers how this protocol is supposed to be used, and since it doesn't correspond to the delegate pattern, remove the [Model] attribute for now. We can always add it back later. * [CoreML] Improve API. (#2592) * [CoreML] Improve API. * The indices, shape and stride properties for MLMultiArray and MLMultiArrayConstraint can logically only be arrays of integers, so type them as such. This means adding overloads for MLMultiArray's constructors, GetObject and SetObject methods, and the indexers that takes nint[] arrays instead of NSNumber[] arrays. * Change MLFeatureValue's static factory methods to be a method ('Create') instead of a preposition, and call all the different factory methods the same, since they can be overloaded nicely. * [tests][monotouch-test] Add version check to MLMultiArrayTest and make sure the arrays we create are big enough for the data we put in them. * [tests][monotouch-test] MLMultiArray's elements aren't zero-initialized, so don't assume that in the tests. * Support overloading Objective-C methods based on static/instance. (#2607) Two Objective-C methods can be named identically as long as one is static and the other instance. We must support this since Apple did just this (in the NSItemProviderReading / NSItemProviderWriting protocols). We solve it by prepending a '+' or '-' to the selector when hashing it (to determine selector uniqueness, and to look the method up again at runtime). * [uikit] Update for Xcode 9 - Part 6 (#2602) NSAttributedString.h NSFileProviderExtension.h NSLayoutAnchor.h UIAccessibility.h UIAccessibilityAdditions.h UIAccessibilityContainer.h UIAccessibilityContentSizeCategoryImageAdjusting.h UIAccessibilityCustomRotor.h UIAccessibilityLocationDescriptor.h UITabBar.h UINavigationBar.h UIScreen.h * Xcode9 scenekit (#2512) * [SceneKit] basic work * Added key * [xcode9] SCNCameraController * [xcode9] SCNCamera updates * [xcode9] SCNMaterial * [xcode9] SCNGeometryTessellator, SCNCameraControlConfiguration, SCNView, small bits * Add trailing commas to last enum value * Remove whitespace noise * [scenekit] Update deprecated attributes messages * Addresses some of Rolf's feedback * Drop the WeakDelegate in SCNCameraController * Rename method to Render, remove ctor from class that can not be constructed in Palygrounds, add typo exception * [AppKit] Rename NSBezierPath.AppendBezierPathWithCGGlyph to match its sibling methods. (#2605) NSBezierPath contains a lot of 'AppendPathWithXXX' methods, that all map to 'appendBezierPathXXX' selectors. So rename AppendBezierPathWithCGGlyph accordingly, to make it more similar to the other methods in the same type. * [uikit] Add all UISpringLoadedInteractionSupporting (#2616) Types do not conform to the protocol but protocol methods work on those types (see monotouch-test). Fixed introspection tests accordingly and tested the selectors in monotouch-test. * [Intents] Add convenience ctor overload and call correct base ctor in manual ctor. (#2613) Add a convenience constructor overload in INGetUserCurrentRestaurantReservationBookingsIntent that uses nint instead of NSNumber, since logically "number of results" will always be some sort of integer. Also call the correct base constructor in INSpeakableString's custom constructor (same as any other generated constructor). Otherwise we end up doing something like this: [[[INSpeakableString alloc] init] initWith ...], i.e. calling two different init methods. * [coreimage] Add new headers API up to beta 6 (#2601) Filters are not complete (ref: #57350) https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * Some new constants are not yet documented (type is known), so they are commented / ignored https://bugzilla.xamarin.com/show_bug.cgi?id=59296 * Filled bug for [Wrap] inside [Category] so strong dictionary helpers can be re-enabled later https://bugzilla.xamarin.com/show_bug.cgi?id=59294 * [foundation] xtro fixes for watchOS (#2586) !missing-enum! NSProcessInfoThermalState not bound !missing-field! NSProcessInfoThermalStateDidChangeNotification not bound !missing-selector! NSProcessInfo::thermalState not bound Headers are wrong and preferredPresentationStyle is not in tvOS and watchOS !missing-selector! NSItemProvider::preferredPresentationStyle not bound !missing-selector! NSItemProvider::setPreferredPresentationStyle: not bound * [uikit] Also remove UIPreferredPresentationStyle enum from platform where it's not used * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. (#2614) * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. * NSItemProviderWriting: * NSItemProviderReading: Implement correctly and completely by uncommenting commented out code. * NSMutableString: * NSAttributedString: remove inlined members, since these classes don't implement NSItemProviderReading / NSItemProviderWriting (according to the headers at least). * NSUrl: all platforms now seem to implement NSItemProviderReading / NSItemProviderWriting. * NSString: all platforms now seem to implement both NSItemProviderReading and NSItemProviderWriting * UIColor: * UIImage: Update inlined protocol members according to the latest beta. Additionally, due to the following conditions: * The protocols all have the correct members now. * In the API definition we tell the generator to inline members from a protocol by inheriting from the corresponding interface. * The generator doesn't inline static members from protocols. several 'new' keywords had to be added to silence a compiler warning that occurrs when we manually inline a static member, since the member would be included in the type both from the inherited interface and the manual implementation. * [Foundation] Comment out NSItemProviderWriting.GetItemProviderVisibility to avoid inlining/generating unusable methods. NSItemProviderWriting.GetItemProviderVisibility is an optional method, and none of the native classes that implements NSItemProviderWriting actually imlements the method. This means inlining the method in those classes ends up creating unusable API; so just comment out the method to avoid generating the unusable API. The introspection tests found this: [FAIL] Foundation.NSString : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Foundation.NSUrl : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Contacts.CNContact : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] MapKit.MKMapItem : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIColor : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIImage : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] iOSApiSelectorTest.ApiSelectorTest.StaticMethods : 6 errors found in 2348 static selector validated: See also https://bugzilla.xamarin.com/show_bug.cgi?id=59308 * [iosurface] Add missing [TV] attributes (#2619) * [opengles] Enable the new API using IOSurface (#2618) The symbol only exists inside device libraries, not on simulator, and the introspection tests were updated to ignore it. Part of https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [avfoundation][watchos] Enable AudioBufferList (fix #59145) + audit (xtro) (#2617) 1. AudioBufferList is part of CoreAudio (wrong namespace, which needs a few changes in the generator) and now available in watchOS 4 https://bugzilla.xamarin.com/show_bug.cgi?id=59145 2. Also fixes xtro found issues: !missing-type! AVAudioRecorder not bound !missing-selector! AVAudioRecorder::averagePowerForChannel: not bound !missing-selector! AVAudioRecorder::channelAssignments not bound !missing-selector! AVAudioRecorder::currentTime not bound !missing-selector! AVAudioRecorder::delegate not bound !missing-selector! AVAudioRecorder::deviceCurrentTime not bound !missing-selector! AVAudioRecorder::format not bound !missing-selector! AVAudioRecorder::initWithURL:format:error: not bound !missing-selector! AVAudioRecorder::initWithURL:settings:error: not bound !missing-selector! AVAudioRecorder::isMeteringEnabled not bound !missing-selector! AVAudioRecorder::isRecording not bound !missing-selector! AVAudioRecorder::peakPowerForChannel: not bound !missing-selector! AVAudioRecorder::recordAtTime: not bound !missing-selector! AVAudioRecorder::recordAtTime:forDuration: not bound !missing-selector! AVAudioRecorder::recordForDuration: not bound !missing-selector! AVAudioRecorder::setChannelAssignments: not bound !missing-selector! AVAudioRecorder::setDelegate: not bound !missing-selector! AVAudioRecorder::setMeteringEnabled: not bound !missing-selector! AVAudioRecorder::settings not bound !missing-selector! AVAudioRecorder::url not bound !missing-protocol! AVAudioRecorderDelegate not bound !missing-selector! AVAudioEngine::inputNode not bound !missing-selector! AVAudioEngine::manualRenderingBlock not bound !missing-selector! AVAudioInputNode::setManualRenderingInputPCMFormat:inputBlock: not bound !missing-selector! AVAudioPlayer::format not bound !missing-selector! AVAudioSession::requestRecordPermission: not bound !unknown-field! AVFileType3GPP bound !unknown-field! AVFileType3GPP2 bound !unknown-field! AVFileTypeAC3 bound !unknown-field! AVFileTypeAIFC bound !unknown-field! AVFileTypeAIFF bound !unknown-field! AVFileTypeAMR bound !unknown-field! AVFileTypeAVCI bound !unknown-field! AVFileTypeAppleM4A bound !unknown-field! AVFileTypeAppleM4V bound !unknown-field! AVFileTypeCoreAudioFormat bound !unknown-field! AVFileTypeDNG bound !unknown-field! AVFileTypeEnhancedAC3 bound !unknown-field! AVFileTypeHEIC bound !unknown-field! AVFileTypeHEIF bound !unknown-field! AVFileTypeJPEG bound !unknown-field! AVFileTypeMPEG4 bound !unknown-field! AVFileTypeMPEGLayer3 bound !unknown-field! AVFileTypeQuickTimeMovie bound !unknown-field! AVFileTypeSunAU bound !unknown-field! AVFileTypeTIFF bound !unknown-field! AVFileTypeWAVE bound * [Metal] Implement API using IOSurface now that IOSurface is implemented. Partially fixes #58054. (#2621) https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [PdfKit] Improve PdfAnnotation.QuadrilateralPoints binding by making it strongly typed. (#2620) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). (#2622) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). * [ARKit/Vision] Use the new simd vector types instead of the OpenTK versions. * [ModelIO] Use the new simd vectors in new API (MDLVoxelIndexExtent2). This way we won't have to create a MDLVoxelIndexExtent3 in the future. * [SpriteKit] Use the new simd vectors in new API. * [metal] Audit (xtro) based fixes (#2623) !extra-protocol-member! unexpected selector MTLArgumentEncoder::newArgumentEncoderForBufferAtIndex: found !extra-protocol-member! unexpected selector MTLComputeCommandEncoder::dispatchThreads:threadsPerThreadgroup: found macos-only !missing-field! MTLDeviceRemovalRequestedNotification not bound !missing-field! MTLDeviceWasAddedNotification not bound !missing-field! MTLDeviceWasRemovedNotification not bound !missing-pinvoke! MTLCopyAllDevices is not bound * [CloudKit] Update bindings to beta 6. (#2615) * [FileProvider] Turn NSFileProviderItemIdentifier enum into a static class, fixes bug 59329 (#2634) https://bugzilla.xamarin.com/show_bug.cgi?id=59329 At the time of binding NSFileProviderItemIdentifier it wasn't clear how it was supposed to be used, I mean apple provides two keys which I thought were the only possible values hence binding it as an smart enum. Unfortunately this wasn't the case and the user can use those two values provided from the SDK or their own NSString Identifier. Swift provides a wrapper unfortunately we can't do the same due to NSFileProviderItemIdentifier is used in the NSFileProviderItem protocol and we currently do not support changing signatures on them. * [mtouch] Teach mtouch about the 'IOSurface' framework for tvOS. Fixes #59333. (#2630) https://bugzilla.xamarin.com/show_bug.cgi?id=59333 * Bump Touch.Unit to get fix for API breakage. (#2631) spouliot/Touch.Unit@8f1e19d [NUnitOutputTextWriter] Reintroduce previous constructor to make sure we don't break binary ABI. spouliot/Touch.Unit@00b0c0b [NUnitOutputTextWriter] Don't write invalid xml comments. spouliot/Touch.Unit@de9fe20 [TouchRunner] Restore the original code path when not wrapping NUnit xml output. * [IOSurface] Add missing availability attributes for tvOS. (#2629) * Bump versions for preview 9 (#2624) * [AVFoundation] Add missing interface AVRouteDetector. (#2637) * [tests] Update xtro to reduce list sizes (#2636) * Skip OpenTK duplicate declaration (we can't change them); * Fix rule name change for ARKit / simd; * Add missing default initializer on `init` to pending actions; * Add note for AVPersistableContentKeyRequest changes wrt tvOS; * [ReplayKit] Make RPBroadcastActivityViewController.LoadBroadcastActivityViewController async-capable. (#2639) * [xcode9] More SceneKit bindings (#2633) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 (#2644) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 https://bugzilla.xamarin.com/show_bug.cgi?id=59380 vector_float3 is 16 bytes, which means the binding is incorrect, because Vector3 is 12 bytes, and our code does not that difference into account. * Add tests * [DeviceCheck] Disable default ctor for DCDevice. (#2642) It doesn't seem to be useful according to the documentation, since it appears that the only way to get an instance is to use the static CurrentDevice property. * [audiounit] Audit (xtro) fixes for tvOS (#2635) Availability attributes in non-generated files don't hide symbols/code. reference: !unknown-pinvoke! AudioUnitExtensionCopyComponentList bound !unknown-pinvoke! AudioUnitExtensionSetComponentList bound * [tests] Make sure tvOS tests don't use the (unexisting) API * [tests] Add all test project variations to tests-mac.sln (#2579) * [xharness] Make sure generated mac projects have different project guids. * [introspection] Change the project guid so that it doesn't match the dontlink-mac project guid. * [tests] Add all test project variations to tests-mac.sln. * [xharness] Fix else condition. * [FileProvider] Adds missing NSFileProviderPage constants, fixes bug 59297. (#2646) https://bugzilla.xamarin.com/show_bug.cgi?id=59297 Adds NSFileProviderInitialPageSortedByName and NSFileProviderInitialPageSortedByDate NSData constants * [Xcode9] Remove NSFileProviderMessage and NSFileProviderMessageInterface (#2647) APIs were removed in beta 2 * [Foundation/UIKit] Provide LoadObject[s] methods that return the expected type in the callback. Fixes #59049. (#2638) The callback for these LoadObject[s] methods take an INSItemProviderReading parameter. This tells our runtime that we must provide an instance of a managed object that implements this interface (but nothing else), so we create a `NSItemProviderReadingWrapper` instance, which complies with the API (since the wrapper type implements the corresponding interface). Unfortunately these methods are supposed to return an instance of the passed- in type, so in order to comply with this soft (documentation-only) requirement, provide a wrapper method that creates instances of the right types. https://bugzilla.xamarin.com/show_bug.cgi?id=59049 * [arkit] Ignore deprecated selectors (#2645) * [FileProvider] Adds missing protocol and keys from audit (#2652) ``` !missing-protocol! NSFileProviderServiceSource not bound !missing-field! NSFileProviderErrorCollidingItemKey not bound !missing-field! NSFileProviderErrorNonExistentItemIdentifierKey not bound !missing-field! NSFileProviderFavoriteRankUnranked not bound ``` Also adds `NSXpcListenerEndpoint` to foundation, needed by `NSFileProviderServiceSource` protocol. * [tests][xtro] Workaround xtro runner dupe entry exception and update data files (#2654) * [AVFoundation] Rename field to match others. (#2657) * [homekit] Audit (xtro) fixes (#2653) - HMCharacteristicEvent conforms to NSMutableCopying on iOS11 which makes it 64 bits only (so adjust intro tests) - Ignore extra setters on HMMutablePresenceEvent, rdar 33883958 !missing-selector! HMMutablePresenceEvent::setPresenceEventType: not bound !missing-selector! HMMutablePresenceEvent::setPresenceUserType: not bound * [xtro] Add missing pinvoke to pending (#2662) - Bug 59422: [uikit] Missing UIContentSizeCategoryCompareToCategory & UIContentSizeCategoryIsAccessibilityCategory (https://bugzilla.xamarin.com/show_bug.cgi?id=59422) * Merge latest d15-3 fixes into xcode9 (#2660) * [msbuild] Re-added wildcard (*) expandsion for application-identifier in Entitlements.plist (#2186) Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=57119 * Bump mono (#2213) * Framework tests were still binding non-linked Simple class which errors now (#2216) (#2218) - Improve Makefile to rebuild when projects build with errors * Bump mono to get cecil fix for bug #56808. (#2222) https://bugzilla.xamarin.com/show_bug.cgi?id=56808 * [msbuild] Use @(ReferencePath) instead of @(ResolvedFiles) (#2188) (#2214) This allows things to work on both xbuild and msbuild. In xbuild, both lists are exactly the same and on msbuild, only @(ReferencePath) exists. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=55147 * NSActivityOptions.IdleDisplaySleepDisabled had wrong value (#2232) (#2239) This was due to an integer overflow. The original value was based on Int32 1 << 40 == 256 The correct value should be based on a UInt64. 1UL << 40 == 1099511627776 * [tests] Fix bug 57699 - [iOS]InternalsTest failure (Linkall) tests on device (#2243) Strip native debugging symbols should not be checked for debug builds * Bump mono to get fix for bug #57780. https://bugzilla.xamarin.com/show_bug.cgi?id=57780 * Update .gitmodules Change branch to d15-3 branch of mono * Bump maccore to get fix for bug #55064. https://bugzilla.xamarin.com/show_bug.cgi?id=55064 * [mono] Bump mono to get the head of cecil/mono-2017-04 and fix IsComObject #57919 Also fix #58789 [1], the typo in tools/mtouch/Tuning.cs showing in MT0000 errors instead MT2102. That's already in master and d15-4 mono bump includes: [2] commit 2a6502cee0df9de5198eafe7c8b5f6ac25106f34 (HEAD -> d15-3, origin/d15-3) Merge: 02457c20fcf 5e05cafc6f1 Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 10:04:06 2017 -0400 Merge pull request #5401 from marek-safar/com [Marshal.IsComObject] Make this predicate return false instead of thr… [3] commit 02457c20fcf57c0610e844d638eb1da82b5d1eb0 Merge: da80840ea55 73fd9a1b82e Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 09:59:06 2017 -0400 Merge pull request #5400 from spouliot/bump-cecil-58834-d15-3 [cecil] Bump to the head of the mono-2017-04 branch and pick the fix for bug #58834 References [1] https://bugzilla.xamarin.com/show_bug.cgi?id=58789 [2] https://bugzilla.xamarin.com/show_bug.cgi?id=57919 [3] https://bugzilla.xamarin.com/show_bug.cgi?id=58834 * [mtouch] Put 'mono_profiler_startup_log' in the symbol list. Fixes #58778. (#2501) We need the 'mono_profiler_startup_log' symbol when profiling is enabled, so make sure to add the symbol to the correct list of symbols we need. Previously we were passing `-u _mono_profiler_startup_log` to clang directly, which is fine, but not complete, since it does not write the symbol to the symbollist file (--symbollist=file), which means it wouldn't be preserved when the MSBuild tasks strip the executable. https://bugzilla.xamarin.com/show_bug.cgi?id=58778 * Bump versions for SR3 https://trello.com/c/EVze08ei * Bump mono to include HttpClientHandler fix #44027 https://trello.com/c/jYFXadH8/8-systemnethttp-close-request-stream-when-httpclienthandler https://bugzilla.xamarin.com/show_bug.cgi?id=44027 * [FileProvider] Add missing API and turn NSString to string (#2663) Turned NSString to string in order to match exisiting API. * [uikit] Add UIPasteConfigurationSupporting and UITextPasteConfigurationSupporting (#2649) - Fixes bug #59363: Missing UIPasteConfigurationSupporting, UITextPasteConfigurationSupporting, UITextDraggable and UITextDroppable on a couple of types (https://bugzilla.xamarin.com/show_bug.cgi?id=59363) * [uikit] Remove 129 types in UIPasteConfigurationSupporting case * [scenekit] Audit (xtro) fixes (#2648) This looks like an Apple breaking change (since `SCNAnimation` is new) but we now have: > typedef void (^SCNAnimationEventBlock)(id<SCNAnimation> animation, id animatedObject, BOOL playingBackward); bound as > delegate void SCNAnimationEventHandler (CAAnimation animation, NSObject animatedObject, bool playingBackward); and `CAAnimation` conforms to `SCNAnimation` but *only* the later is available on watchOS. The delegate is only updated (since it's new) on our watchOS profile. xtro references: (watchos) !unknown-protocol! SCNCameraControlConfiguration bound (tvos/watchos) !missing-selector! SCNAnimation::animationEvents not bound !missing-selector! SCNAnimation::setAnimationEvents: not bound !missing-selector! SCNConstraint::isEnabled not bound !missing-selector! SCNConstraint::setEnabled: not bound !missing-field! SCNSceneSourceConvertToYUpKey not bound !missing-field! SCNSceneSourceConvertUnitsToMetersKey not bound (ios/tvos) !missing-protocol-conformance! SCNNode should conform to UIFocusItem * Bump maccore post 15.3 merge (#2665) * Bump Xcode 9 to GM (#2667) * Force build (on wrench) * [avfoundation] Fix breaking changes (apidiff) (#2664) * [TVServices] Update to Xcode 9 GM (#2675) * [GameController] Update to Xcode 9 GM (#2673) * [LocalAuthentication] Update to Xcode 9 GM (#2671) * [LocalAuthentication] Update to Xcode 9 GM * Remove availability from BiometryNotAvailable, BiometryNotEnrolled and BiometryLockout * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer (#2659) * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer Some of the new added types were already present BUT under a #if MONOMAC, they had to be moved. * [AVFoundation] Set the wrongly added API to be obsolete and ensure it returns logical values. (#2650) * [xtro] The right platform for macOS is 'macos', not 'osx'. (#2677) The platform name is used to filter availability attributes, and if we use the wrong platform, we'll incorrectly skip all availability attributes. The net result in unclassified entries: https://gist.github.com/rolfbjarne/a4474bc2a40c49a85cad495b51bb514f * Various Xcode 9 API improvements and also fixes bug 59433 (#2676) https://bugzilla.xamarin.com/show_bug.cgi?id=59433 While fixing bug 59433 I noticed some additional issues outlined below: AVDepthData: * Renamed **non** static `Create` methods because `Create` only makes sense with the **Static** method in this context. Also by renaming the methods we are now closer to the names that swift uses. * Kept descriptive method names in favor of self-documenting code. `Convert`, `Apply` and `Replace` do not fully give us the intent of the method. * Added a convenience `Create` static method that takes a `CGImageAuxiliaryDataInfo`. * AvailableDepthDataTypes is now an array of `CVPixelFormatType` instead of a `NSNumber` array (The aactual fix for bug 59433). ImageIO: * Refactored `CGImageAuxiliaryDataInfo` to be a `StrongDictionary` in order to avoid most of the manual code and also to avoid reimplementing the `ToDictionary` method (which contained a subtle bug). * Adjusted code to reflect the above change. * Added missing `.ctor (IntPtr, bool)` to `CGImageMetadata` so the class is able to be created by our `Runtime.Get*`. * Simplified `CopyAuxiliaryDataInfo` method by using `CGImageAuxiliaryDataInfo` as a `DictionaryContainer`. Tests: * Added `xamarinmonkey.heic` which is an image that contains depth data needed to test above changes. * Adds `AVDepthDataTests` that touches most of the changes listed here. * Tweak the Simd-compatible matrices and vectors (#2668) * Rename them to be OpenTK.NMatrix# (instead of Simd.MatrixFloat#x#). * Remove the Vector2 and Vector4 variants, we'll use the OpenTK types instead (but we'll keep the NVector3 variant, since it's not identical to the OpenTK version). * Update the API to match their OpenTK counterparts better: * NMatrix2 and NMatrix3 have a 0-based R#C# scheme for their fields. * NMatrix4 has a 1-based M## scheme for its fields (i.e. no change). * [AVFoundation] Use Simd-matrix for API that needs it. (#2679) This also requires implementing the corresponding matrix (NMatrix4x3). Fixes this xtro issue: > !unknown-simd-type-in-signature! OpenTK.Matrix3 AVFoundation.AVCameraCalibrationData::get_GetIntrinsicMatrix(): the native signature has a simd type (matrix_float3x3), while the corresponding managed method is using an incorrect (non-simd) type. * [xtro] Fix checking availability on categories. (#2682) When checking for category availability, check if both the current declaration is a category, and if the current's declaration container is a category. Otherwise this scenario fails: * Category method is available. * Category does not have availability attributes. * Main class is unavailable. with this typical code sequence: ```csharp // don't process methods (or types) that are unavailable for the current platform if (!decl.IsAvailable () || !(decl.DeclContext as Decl).IsAvailable ()) return; ``` In which case we'd: * First check the method (`decl`): * It's available, so no further checks is done on the method. * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container's container is a category (it isn't, it's the namespace). and as such determine that the method is available. With this change, the second step will become: * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container is a category (it is), and if its main class is available (it isn't). and as such determine that the method is unavailable. * Check for attributes on the method's container (no attributes, so we continue). * Check if the method's Unclassified diff: https://gist.github.com/rolfbjarne/8fa80962596978a426eadf9b7ba39dc1 * [uikit] Update for Xcode 9 GM (#2670) * [AVFoundation] Implement AVCapturePhoto. Partially fixes #59388. (#2678) Fixes: > common.unclassified:!missing-type! AVCapturePhoto not bound https://bugzilla.xamarin.com/show_bug.cgi?id=59388 * Use strong dictionaries for AVCapturePhoto.Metadata and AVCapturePhoto.EmbeddedThumbnailPhotoFormat. * [SIMD] Implement Simd double types (VectorDouble3/MatrixDouble4x4). (#2632) The following types will be used by ModelIO bindings * Fix delta to be double * Rename Simd-compatible matrices and vectors to match our final naming. This also means removing the new Vector2 and Vector4 variants (but not Vector3). * [avfoundation] Remove AVAssetDownloadDelegate.DidLoadTimeRange since it was removed in one of the betas (#2687) * [foundation] Move NSUrlSessionMultipathServiceType to a file processed by the generator (for the availability attributes) (#2688) * [arkit] Update for Xcode 9 GM (#2681) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes (#2690) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes Type Changed: Intents.INCarSeatResolutionResult Removed methods: public static INCarSeatResolutionResult GetConfirmationRequired (INCarSeat valueToConfirm); public static INCarSeatResolutionResult GetSuccess (INCarSeat resolvedValue); * [avfoundation] Add missing protocol members and deprecations (#2691) !missing-protocol-member! AVCapturePhotoCaptureDelegate::captureOutput:didFinishProcessingPhoto:error: not found and the selector removed from PR#2687 was actually replaced with this one !missing-protocol-member! AVAssetDownloadDelegate::URLSession:aggregateAssetDownloadTask:didLoadTimeRange:totalTimeRangesLoaded:timeRangeExpectedToLoad:forMediaSelection: not found * [tests][xtro] Map some enums, more fix with protocols and update entries (#2692) * [Tests] Reenable dns tests on the watch. (#2674) * [arkit] Add ARBlendShapeLocationOptions strong dictionary (#2696) * [coreimage] Skip not yet bound filters added in Xcode9 (#2698) Tracked in https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * [Metal] Renamed MTLArgumentDescriptor.ArgumentDescriptor to Create, fixes bug 59498 (#2702) https://bugzilla.xamarin.com/show_bug.cgi?id=59498 From [argumentDescriptor docs](https://developer.apple.com/documentation/metal/mtlargumentdescriptor/2915746-argumentdescriptor?language=objc) > Creates an empty argument descriptor. * [msbuild] Always codesign app bundles if the codesign key is non-null (#2697) ...even if it is a simulator build. Turns out that starting with Xcode9, sim builds need to be codesigned for App Groups entitlements to work properly. Interestingly, the DetectSigningIdentity logic had a comment about needing to codesign simulator builds for some entitlements to work already starting with Xcode 8 but apparently the iOS targets did not respect this. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=59379 * [Foundation] Add NSProxy stub in order to workaround bug 59247 (#2693) https://bugzilla.xamarin.com/show_bug.cgi?id=59247 We need to have a better solution that removes all what NSProxy does not responds to. Right now this works because NSObject implements NSObject protocol just like NSProxy, but NSProxy responds to far less selectors hence doing it internal so it is not a breaking change when we provide the correct fix. * Keep NSProxy around and avoid XML linker description We need to keep NSProxy (avoid linking it) if WKNavigationDelegate or IWKNavigationDelegate is used. We know WKWebView will be there and can hold a reference to it. * [Xcode 9] Update Metal for GM (#2689) * [iosurface] IOSurface is not usable before iOS/tvOS 11. Fixes #59201 (#2706) Apple rejects apps that links with the previously private IOSurface.framework. We were not sure about this [1] and had it disabled (this is removed). However another bug stopped our adjustment logic [2] from being executed. This is needed since `clang` picks up the private framework if it does not find the public one (even when asking for a weak framework), [1] https://bugzilla.xamarin.com/show_bug.cgi?id=59201 [2] Added a while ago for JavascriptCore * Bump maccore to point to commit with the docs fix. (#2703) * Bump XI to 11.0.x (and XM to 3.99.9.x) (#2684) * fix typo
2017-09-16 00:53:16 +03:00
[Export ("colorBufferWriteMask", ArgumentSemantic.Assign)]
SCNColorMask ColorBufferWriteMask { get; set; }
2016-04-21 15:30:02 +03:00
#endif
}
[Watch (3,0)]
2016-04-21 15:30:02 +03:00
[Mac (10,8), iOS (8,0)]
[BaseType (typeof (NSObject))]
[DisableDefaultCtor] // runtime -> [SCNKit ERROR] Do not instantiate SCNMaterialProperty objects directly
interface SCNMaterialProperty : SCNAnimatable, NSSecureCoding {
[Export ("minificationFilter")]
SCNFilterMode MinificationFilter { get; set; }
[Export ("magnificationFilter")]
SCNFilterMode MagnificationFilter { get; set; }
[Export ("mipFilter")]
SCNFilterMode MipFilter { get; set; }
[Export ("contentsTransform")]
SCNMatrix4 ContentsTransform { get; set; }
[Export ("wrapS")]
SCNWrapMode WrapS { get; set; }
[Export ("wrapT")]
SCNWrapMode WrapT { get; set; }
Merge xcode9 into d15-4[-xi] (#2710) * [FileProvider] Add Xcode 9 Beta 1, 2 & 3 Bindings (#2279) * [FileProvider] Add Xcode 9 Beta 1 Bindings * Better naming * Feedback not related to BindAs * [FileProvider] Removes BindAs, add manual code for it and updated to Beta 3 * [FileProvider] Implement feedback * [CoreSpotlight] Updated spotlight bindings for xcode 9 beta 3. (#2193) Updated spotlight bindings for xcode 9 beta 3. * Fix warning caused by duplicate (#2354) * [FileProviderUI] Add Xcode 9 Beta 1 to 3 bindings (#2356) * Bump to Xcode 9 beta 4 * [arkit] ARLightEstimate does not conform to NSCopying anymore (fix unit test) * [uikit] NSFileProviderExtension.ReparentItem got a new parameter in beta4 (fix unit test) * [coreimage] CIImageAccumulator init returns nil in beta 4 There's no header change to mention `init` is not allowed but it's not clear how this default initializer could be used. Also make public some other API to construct this type (outside of XM). It's not clear why there were `internal` as they are (at least now) part of the header files. * [photos] Add helpers when PHLivePhotoEditingOption/NSDictionary is null (to avoid ambiguous API) (#2360) Adding a strongly typed `PHLivePhotoEditingOption` (a strongly typed version of an `NSDictionary`) can cause a `CS0121` (call is ambiguous) since using a `null` argument is common (only one option exist so far). This PR adds overloads that makes the code nicer in such case, e.g. before Xcode9: > // null is used when no options are given > _foo.SaveLivePhoto (output, null, completion); current (Xcode 9) > // casting required to remove ambiguity with PHLivePhotoEditingOption > _foo.SaveLivePhoto (output, (NSDictionary)null, completion); with this PR > // no option, no argument > _foo.SaveLivePhoto (output, completion); The same applies to `PrepareLivePhotoForPlayback`. * [tests] Disable/tweak two tests that breaks on (almost) all Xcode updates Those tests were not added to validate xOS so just keep the parts that helps us (without constantly checking back the new break flavor) * Disable watchOS to check if this hides others issues * [mapkit] Update for beta 4 * [coredata] Update for beta 4 * [wkwebkit] Update for beta 4 Note: WKWindowFeatures.h is not compiled (part of the framework umbrella) and the `@interface WKWindowFeatures (WKPrivate)` sounds like it should not have been exposed (it's all fields starting with `_`) * [corelocation] Update for beta 4 * Revert "Disable watchOS to check if this hides others issues" This reverts commit fed2249fa43290a1956ab2fe0d48f83ab6db9711. * [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]: https://github.com/xamarin/xamarin-macios/blob/f5956d6cc1eb5dfa7bab16628cf282d40237f64e/src/generator.cs#L5985 * [FinderSync] Update to beta 4 (#2377) * [ImageIO] Update to Xcode 9 (#2353) * [PhotosUI] Move macOS photosui bindings out of photos.cs into photosui.cs (#2358) * [quicklook] Update up to beta 4 (#2374) * [uikit] UIDragInteraction & UIDragInteractionDelegate (Xcode 9 b1,2,3) (#2357) * [safariservices] Update up to beta 4 (#2380) * [coreanimation] Update to beta 4 (#2382) Apple removed (mistake?) some API in beta 1. Filed as rdar 33590997 Internal tracking in https://trello.com/c/J8BDDUV9/86-33590997-coreanimation-quartzcore-api-removals * [storekit] Update up to beta 4 (#2379) * [CoreML] Update to Xcode 9 Beta 4 (#2387) * [uikit] UICollectionView/UITableView Drag & Drop (Xcode 9 b1,2,3 & 4) (#2355) * Update code after radar 32929318 and 32897776 are fixed in b4 (#2394) * [xcode9 CoreAudio] New definitions from Beta1 to Beta3 (#2359) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 (#2397) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 https://bugzilla.xamarin.com/show_bug.cgi?id=58512 Created strong API (VNBarcodeSymbology) on the following properties * VNDetectBarcodesRequest.SupportedSymbologies * VNDetectBarcodesRequest.Symbologies * VNBarcodeObservation.Symbology * Remove modern C# because classic can't do it 😡 * [mediaplayer] Update up to beta 4 (#2388) * [watchkit] Update to beta 4 (#2398) * Bump Visual Studio for Mac max version (#2408) * [coreimage] Add CIBarcodeDescriptor and enabled missing API for VNBarcodeObservation. Fix #58197 (#2411) https://bugzilla.xamarin.com/show_bug.cgi?id=58197 * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 (#2407) * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 * [uikit] Fixes based on comments * [coreimage] CIImageAccumulator API fixes. Fix #58349 (#2412) * Obsolete the default `init`; * XM exposed some older APIs using `int` instead of `CIFormat`. This is fixed and old APIs are obsoleted; * Both new & old APIs are now using `CIFormat` for both XI and XM. https://bugzilla.xamarin.com/show_bug.cgi?id=58349 * [uikit] UIText drag & drop - up to Xcode 9 beta 4 (#2410) * [uikit] UISplitView & UIStackView up to Xcode 9 beta 4 (#2425) * Bump XI/XM versions before preview 4 (#2422) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 (#2378) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 * [PDFKit] Implement feedback * [PDFKit] the forgotten enum * [PDFKit] More feedback * [PDFKit] Add Mac changes * Missing change * Fix test RectangleF VS CGRect * Pass -Wunguarded-availability-new to quiet a new clang warning (#2424) - https://bugzilla.xamarin.com/show_bug.cgi?id=58574 * [mtouch/mmp] Ignore warnings about unguarded code section with regards to availability. (#2441) * [monotouch-test] Remove workaround for fixed Apple bug. (#2445) * Bump to Xcode 9 beta 5. (#2447) * Bump to Xcode 9 beta 5. * [mmp] Disable the partial static registrar, because Apple's macOS SDK is broken. > In file included from Xamarin.Mac.registrar.mobile.i386.m:1: > In file included from ./Xamarin.Mac.registrar.mobile.i386.h:11: > /Applications/Xcode9-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVFoundation.h:88:9: fatal error: 'AVFoundation/AVRouteDetector.h' file not found https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [mmp] Fix partial static registrar removal. * [CallKit] Update to Xcode 9 beta 5. * [ARKit] ARPointCloud doesn't conform to NSCopying anymore in Xcode 9 beta 5. * [ARKit] Update to Xcode 9 beta 5 enough to make tests happy. * [CoreImage] Stub out new filters in Xcode 9 beta 5. * [tests][monotouch] Simplify some MDLMesh asserts since values change a lot between OS versions. * [mmp] Default to the dynamic registrar for release builds again, due to bug #58629. https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [tests][introspection] CXCall started implementing NSCopying without saying so in the headers. * Disable mmp static registrar tests due to 58629 for now * [quicklook] Update to beta 5 (#2450) * [photos] Update for beta 5 (#2452) Also update some existing enum members were added in beta 1 on macOS * [safariservices] Update for beta 5 (#2455) * [mediaplayer] Update to beta 5 (#2456) * [CoreLocation] Update Xcode 9 Beta 5 (#2453) * [CoreML] Update to Xcode 9 Beta 5 (#2454) * [Contacts] Update to Xcode 9 Beta 5 (#2451) * [Vision] Update to Xcode 9 Beta 5 (#2458) * [builds] Tell LLVM to stay away from newer macOS functions. (#2459) Fixes this build problem on Sierra: > ld: weak import of symbol '_futimens' not supported because of option: -no_weak_imports for architecture x86_64 This is a symbol that was (will be?) introduced in High Sierra. Interestingly this only occurs if the Xcode 8.X Command Line Tools haven't been manually installed. Because if the Xcode 8.X Command Line Tools are installed, this happens: 1. llvm's configure script detects that 'futimens' is not usable. 2. llvm's configure script detects that 'futimens' is not usable, because xcrun sets SDKROOT=/ when calling clang. a. When the SDKROOT variable is set, clang passes '-syslibroot /usr/lib' to ld. b. When ld gets '-syslibroot /usr/lib', ld looks in '/usr/lib' for a library that contains 'futimens' in the OS itself, and since we're on Sierra, that fails to link. c. So when llvm's configure script creates a test program that checks if 'futimens' is present, the program fails. This is correct, and makes llvm *not* use futimens. 3. xcrun sets SDKROOT=/ because /usr/share/current-os.sdk/Info.plist exists. If that file does not exist, then xcrun sets SDKROOT to Xcode9's macOS SDK (because that's what xcode-select reports). a. When SDKROOT is set to Xcode9's macOS SDK, the configure check for 'futimens' succeeds, because the macOS 10.13 SDK contains that function. b. llvm happily uses 'futimens', and then the final link fails because we're using a symbol not available on all target platforms. * [arkit] Update for Xcode 9 beta 5 - Part 1 (#2460) * [tests] The container app for watchOS tests should be 64-bit. (#2463) * [xharness] watchOS tests need to run in a clean environment. Works around #58348. (#2462) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [xharness] It watchOS tests don't need to be clean anymore. Fixes #58348. (#2473) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [uikit] UIView/UIScrollView/UIViewController up to Xcode 9 beta 5 (#2431) - Add NSDirectionalEdgeInsets type. - Includes DirectionalEdgeInsetsTest. * [AudioToolbox] Update bindings to Xcode 9 beta3 (not later changes). (#2294) * [xharness] Add a file existence check. (#2478) Fixes this exception: ``` Harness exception for 'introspection': System.IO.FileNotFoundException: Could not find file '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log'. File name: '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log' at System.IO.__Error.WinIOError (System.Int32 errorCode, System.String maybeFullPath) [0x00207] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/__error.cs:188 at System.IO.FileInfo.get_Length () [0x00038] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/fileinfo.cs:171 at xharness.CaptureLog.StopCapture () [0x00021] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Log.cs:252 at (wrapper remoting-invoke-with-check) xharness.CaptureLog:StopCapture () at xharness.AppRunner+<RunAsync>d__68.MoveNext () [0x0127f] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/AppRunner.cs:642 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter`1[TResult].GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:357 at xharness.RunSimulatorTask+<RunTestAsync>d__7.MoveNext () [0x0029d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2894 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.RunTestTask+<ExecuteAsync>d__8.MoveNext () [0x0010b] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2538 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.TestTask+<RunInternalAsync>d__87.MoveNext () [0x0010d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:1870 ``` I'm not sure how this can happen, but it has on the bots [1]. [1] https://jenkins.mono-project.com/job/xamarin-macios-pr-builder/4548/Test_Report/ * Bump versions for preview 5 (#2479) * [passkit] Update to beta 5 (#2481) * [tests] Remove workaround for radar #32688391. (#2486) * [replaykit] Update up to beta 5 (#2484) * Bump maccore to get fix for bug #55064. (#2487) * [apidiff] Update definition to new 10.12 (d15-3) stable release (#2490) * [SceneKit] basic work (#2483) * [coredata] Update to beta 5 (#2488) * [homekit] Update for Xcode 9 beta 5 (#2492) * [Foundation] Update for xcode9 (#2468) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 (#2493) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 * [Intents] Implement feedback * [Intents] Add a generic version for INInteraction.GetParameterValue * [Intents] Missing check * [Contacts] Add missing foundation NSItemProviderWriting protocol to CNContact (#2496) https://bugzilla.xamarin.com/show_bug.cgi?id=58203 This is available on all Contacts supported platforms ``` ./iPhoneOS.platform/Developer/SDKs/iPhoneOS11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchOS.platform/Developer/SDKs/WatchOS4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchSimulator.platform/Developer/SDKs/WatchSimulator4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ``` * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) (#2497) * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) * [IntentsUI] Better use a delegate instead so we have named params * Bump versions before 6th preview (#2514) * [arkit] Add missing MarshalDirective to ARPlaneAnchor (#2517) - Fixes bug #58648: ARPlaneAnchor.Extent property seems incorrect but changes to correct value after Debug access (https://bugzilla.xamarin.com/show_bug.cgi?id=58648) * [xtro-sharpie] Fix a compiler warning. (#2516) Fixes these warnings: Runner.cs(197,5): warning CS0642: Possible mistaken empty statement Runner.cs(199,5): warning CS0642: Possible mistaken empty statement Runner.cs(201,5): warning CS0642: Possible mistaken empty statement Runner.cs(203,5): warning CS0642: Possible mistaken empty statement Runner.cs(205,5): warning CS0642: Possible mistaken empty statement * [uikit] Update for Xcode 9 beta 5 - Part 3 (#2511) - UIKeyCommand - UINavigationBar - UINavigationItem - UIPasteboard - UITableViewHeaderFooterView * [xtro-sharpie] Remove xtro-plugin and misc other fixes. (#2522) * [xtro-sharpie] Build with msbuild and be as quiet as requested when building. * [xtro-sharpie] Must run as a 64-bit process, since the required native libraries are 64-bit. * [xtro-sharpie] Add run configurations to the project file to ease debugging in the IDE. * [xtro-sharpie] Remove xtro-plugin and the related commands. This was needed when there wasn't a 64-bit mono, in order to run xtro-sharpie in a 64-bit process. Now there is a 64-bit mono, so it's not needed anymore. Also improve makefile targets a bit, to auto-build stuff when needed, by setting the right dependencies. * Bump Xcode 9 to beta 6 (#2519) Disable watchOS tests again It seems like the Carousel crash from beta 4 is back to haunt us. This was working fine with beta 5. * Backport d15-3 SR2 fixes (#2515) * [coredata] Update to beta 6 (#2528) This seems to only revert some nullability changes from beta 5. * [coreml] Update to beta 6 (#2531) Fix our rdar 33643011 where additional setters were added in the headers but did not exists. * [videosubscriberaccount] Update to beta 6 (#2533) Only b1 and b2 introduced some additions/changes * [uikit] Update for Xcode 9 beta 6 - Part 4 (#2527) The following headers are now up to date: - UICollectionViewFlowLayout.h - UIDocumentPickerViewController.h - UIFontDescriptor.h - UIImage.h - UIImageView.h - UIImagePickerController.h * [xharness] Re-enable the watchOS tests. (#2534) It works fine for me locally, so let's see what Jenkins says. * [macos] Add new APIs in CoreWlan from Xcode9b3 (#2525) * Update AppKit bindings based on radar 33271241 results (#2518) * Update AppKit bindings based on radar 33271241 results - The header comment was updated to note it was NSSliderTouchBarItem view that has the protocol * Remove NSUserInterfaceCompression where not listed in header * [vision] Update to beta 6 (#2532) Removal of some deprecated (during beta) `init*` selectors. Also sync the versions that were inlined in subclasses - the old ones were not removed and the new ones were not added. * [xtro-sharpie] Many methods don't have selectors in Clang's API, so default to the name if no selector. (#2523) This makes a few more unclassified entries show up (mostly missing designated initializers): https://gist.github.com/rolfbjarne/07aa20f9b50b75bf3e69ac6a825e873a * [macos] Add ExternalAccessory APIs from xcode9 (#2526) * [58851] Disable NSMenuView in AllItemsWithNSMenuShouldAllowNull (#2504) * [arkit] Update for Xcode 9 beta 5 - Part 2 (#2505) - Add last missing selector. - Add tests for manual code. * [monotouch-test] Disable FontDescriptorTest.WithFeature (#2537) Disabled because it looks like the tvOS font we use: "Gujarati Sangam MN" does not have rare ligatures anymore (and the entire test is based on it). Before getting an actual fix for that, let's disable the test so it doesn't break all current builds. See: https://bugzilla.xamarin.com/show_bug.cgi?id=58929 * [xtro-sharpie] Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute. (#2524) Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute to calculate the native name for a TypeDefinition. Unclassified changes: https://gist.github.com/rolfbjarne/828f8ee41eebb0a3b60a38d71822fe59 * [foundation/uikit] Inline NSItemProvider_UIKitAdditions in NSItemProvider (#2538) As suggested here: https://github.com/xamarin/xamarin-macios/pull/2527#discussion_r134670981 * [intents] Fix breaking changes (api-diff) (#2543) Additions of @required members inside `INSpeakable` cannot be `[Abstract]` * [contacts] Fix breaking change (api-diff) (#2542) Type Changed: Contacts.CNPostalAddress Removed method: public static string LocalizeProperty (CNPostalAddressKeyOption option); * [macos] Reenable static registrar since Xcode9b6 un-broke SDK headers (#2544) - Fix a subtle spacing issues in PartialStaticLibrary property * [corebluetooth] Update up to beta 6 and enable it on watchOS (#2540) macOS 10.13 has finally catch up with iOS and this simplifies the bindings a bit. * [foundation] API fixes (apidiff) (#2545) 1. Let's not add new, already [Obsolete] API Type Changed: Foundation.NSDimension Added constructors: [Obsolete ("Not intended to be directly instantiated, this is an abstract class.")] public NSDimension (); 2. Fix inconsistently named API, e.g. Type Changed: Foundation.NSAttributedString Added properties: public static string[] ReadableTypeIdentifiersForItemProvider { get; } public static string[] WritableTypeIdentifiers { get; } * [pdfkit] Do not add already [Obsolete] API in new profiles (#2547) and ensure using the newer, correct API works cross-platforms iOS (before) [Obsolete ("Use 'Find (string, NSStringCompareOptions)' instead.")] public virtual PdfSelection[] Find (string text, nint options); public PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'Find (string, PdfSelection, NSStringCompareOptions)' instead.")] public virtual PdfSelection Find (string text, PdfSelection selection, nint options); public void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string, NSStringCompareOptions)' instead.")] public virtual void FindAsync (string text, nint options); public void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string [], NSStringCompareOptions)' instead.")] public virtual void FindAsync (string[] text, nint options); iOS (after) public virtual PdfSelection[] Find (string text, Foundation.NSStringCompareOptions compareOptions); public virtual PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); * Bump versions for the 7th preview (#2541) * Remove additions of AVKit removed in beta5 (#2536) * NSUrlSessionTask should implement NSProgressReporting for iOS (#2548) NSUrlSessionTask implements NSProgressReporting on iOS as well as Mac, so the #if MONOMAC isn't needed. * Add missing availability attributes causing failures on older iOS versions (#2550) * [vision] Minor fix wrt xtro (#2551) including some things we need to ignore manually !missing-field! VNVisionVersionNumber not bound !missing-pinvoke! VNImagePointForFaceLandmarkPoint is not bound !missing-pinvoke! VNNormalizedFaceBoundingBoxPointForLandmarkPoint is not bound * [uikit] NSFileProviderMessaging was removed in beta 2. Fixes #58222 (#2552) reference: https://bugzilla.xamarin.com/show_bug.cgi?id=58222 * [uikit] Update for Xcode 9 - Part 5 (#2546) Bindings for the following headers: - UIActivity.h - UIActivityItemProvider.h - UIAlertController.h - UIApplication.h - UIBarButtonItem.h - UIButton.h - UICollectionViewLayout.h - UIColor.h - UIControl.h - UIDocumentMenuViewController.h - UIFontMetrics.h - UIGestureRecognizer.h - UIGraphicsImageRenderer.h - UIInputViewController.h * [CoreText] Fix an extraneous free in CTFont.GetDefaultCascadeList. (#2555) We do not own the return value from CFArrayGetValueAtIndex, so don't say we do when creating CTFontDescriptor instances, since that leads to angry dragons: 2017-08-28 20:15:20.293 monotouchtest[33186:2311738] A_FontTest 2017-08-28 20:15:20.294 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithFontDescriptorAndOptions 2017-08-28 20:15:20.295 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithNameAndOptions 2017-08-28 20:15:20.296 monotouchtest[33186:2311738] critical: Stacktrace: at <unknown> <0xffffffff> at (wrapper managed-to-native) CoreText.CTFont.CTFontCopyDefaultCascadeListForLanguages (intptr,intptr) [0x0000a] in <ae65a2b1eea242d2b68fe784749543bf>:0 at CoreText.CTFont.GetDefaultCascadeList (string[]) [0x00013] in /work/maccore/xcode9/xamarin-macios/src/CoreText/CTFont.cs:2185 at MonoTouchFixtures.CoreText.A_FontTest.GetCascadeList () [0x0001e] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/CoreText/FontTest.cs:78 at (wrapper runtime-invoke) object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) [0x0004f] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) System.Reflection.MonoMethod.InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&) [0x00016] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at System.Reflection.MonoMethod.Invoke (object,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo) [0x00032] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/corlib/System.Reflection/MonoMethod.cs:305 at System.Reflection.MethodBase.Invoke (object,object[]) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/referencesource/mscorlib/system/reflection/methodbase.cs:229 at NUnit.Framework.Internal.Reflect.InvokeMethod (System.Reflection.MethodInfo,object,object[]) [0x00009] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Reflect.cs:215 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunNonAsyncTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x00025] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:116 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x0001a] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:90 at NUnit.Framework.Internal.Commands.TestMethodCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:66 at NUnit.Framework.Internal.Commands.SetUpTearDownCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00007] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/SetUpTearDownCommand.cs:84 at NUnit.Framework.Internal.WorkItems.SimpleWorkItem.PerformWork () [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/SimpleWorkItem.cs:64 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at MonoTouch.NUnit.UI.BaseTouchRunner.Run (NUnit.Framework.Internal.Test) [0x0004d] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:442 at MonoTouch.NUnit.UI.BaseTouchRunner.Run () [0x00030] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:171 at MonoTouch.Dialog.StringElement.Selected (MonoTouch.Dialog.DialogViewController,UIKit.UITableView,Foundation.NSIndexPath) [0x00008] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/Elements.cs:765 at MonoTouch.Dialog.DialogViewController.Selected (Foundation.NSIndexPath) [0x00026] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:577 at MonoTouch.Dialog.DialogViewController/Source.RowSelected (UIKit.UITableView,Foundation.NSIndexPath) [0x00016] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:402 at (wrapper runtime-invoke) <Module>.runtime_invoke_void__this___object_object (object,intptr,intptr,intptr) [0x0005d] in <32f0c196c5bc4aa18daea2ee64a7814e>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) UIKit.UIApplication.UIApplicationMain (int,string[],intptr,intptr) [0x0005c] in <ae65a2b1eea242d2b68fe784749543bf>:0 at UIKit.UIApplication.Main (string[],intptr,intptr) [0x00005] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:79 at UIKit.UIApplication.Main (string[],string,string) [0x00038] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:63 at monotouchtest.Application.Main (string[]) [0x00011] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/Main.cs:27 at (wrapper runtime-invoke) <Module>.runtime_invoke_void_object (object,intptr,intptr,intptr) [0x00051] in <30a7f7e09de9467b8b454221034a0e38>:0 Native stacktrace: 0 monotouchtest 0x000000010fca03c4 mono_handle_native_crash + 244 1 monotouchtest 0x000000010fcadd30 mono_sigsegv_signal_handler + 288 2 libsystem_platform.dylib 0x000000011feb3b3a _sigtramp + 26 3 CoreFoundation 0x000000011de035a2 computeSanitizedString + 146 4 CoreText 0x00000001168df314 _ZN15TPurgeableCache19RetainedValueForKeyEPKv + 54 5 CoreText 0x00000001168def85 _ZNK17TDescriptorSource22CopyDescriptorUncachedEPK7__CFURLbPK10__CFString + 55 6 CoreText 0x00000001168df34f _ZNK17TDescriptorSource14CopyDescriptorEPK7__CFURLbPK10__CFString + 27 7 CoreText 0x00000001168e20ad _ZNK17TDescriptorSource35CopyFontDescriptorPerPostScriptNameEPK10__CFStringmm + 297 8 CoreText 0x00000001168dfd9e _ZNK17TDescriptorSource30CopySystemFontDescriptorByNameEPK10__CFString10UIFontFlag + 54 9 CoreText 0x00000001168e54c4 _ZNK14TFontFallbacks17CopyFontFallbacksEPK10__CFStringS2_PK9__CFArray + 652 10 CoreText 0x00000001168e4a00 _ZNK14TFontFallbacks29CopyFontFallbacksForLanguagesEPK10__CFStringPK9__CFArray + 122 11 CoreText 0x00000001168e4971 _ZN17TDescriptorSource39CopyDefaultSubstitutionListForLanguagesEPK10__CFStringPK9__CFArray + 61 12 CoreText 0x00000001169397a7 _ZNK9TBaseFont28CreateSystemDefaultFallbacksEPK10__CFStringPK9__CFArray + 51 13 CoreText 0x000000011693999c _ZNK9TBaseFont15CreateFallbacksE10UIFontFlagPPK16__CFCharacterSetPK9__CFArray + 346 14 CoreText 0x00000001168c1036 _ZNK5TFont24CreateDefaultCascadeListEPK9__CFArray + 242 15 CoreText 0x00000001168b8ff9 CTFontCopyDefaultCascadeListForLanguages + 97 16 ??? 0x0000000140eaefd3 0x0 + 5384105939 17 ??? 0x0000000140eae761 0x0 + 5384103777 18 ??? 0x000000013c9c8e74 0x0 + 5311860340 19 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 20 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 21 monotouchtest 0x000000010fd71bac mono_runtime_try_invoke_array + 1292 22 monotouchtest 0x000000010fd15587 ves_icall_InternalInvoke + 647 23 ??? 0x000000013e9fcd13 0x0 + 5345627411 24 ??? 0x000000013e9fc738 0x0 + 5345625912 25 ??? 0x000000013e9fded5 0x0 + 5345631957 26 ??? 0x000000013e9fbb76 0x0 + 5345622902 27 ??? 0x000000013e9e237e 0x0 + 5345518462 28 ??? 0x000000013e9e237e 0x0 + 5345518462 29 ??? 0x000000013e9e237e 0x0 + 5345518462 30 ??? 0x000000013e9e237e 0x0 + 5345518462 31 ??? 0x000000013e873006 0x0 + 5344014342 32 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 33 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 34 monotouchtest 0x000000010fd6e320 mono_runtime_invoke + 208 35 monotouchtest 0x000000010fe71af1 xamarin_invoke_trampoline + 5617 36 monotouchtest 0x000000010fe79ddd xamarin_arch_trampoline + 189 37 monotouchtest 0x000000010fe7b1a1 xamarin_x86_64_common_trampoline + 110 38 UIKit 0x0000000111b9876b -[UITableView _selectRowAtIndexPath:animated:scrollPosition:notifyDelegate:] + 1810 39 UIKit 0x0000000111b98986 -[UITableView _userSelectRowAtPendingSelectionIndexPath:] + 344 40 UIKit 0x0000000111a6b5c9 _runAfterCACommitDeferredBlocks + 318 41 UIKit 0x0000000111a59dad _cleanUpAfterCAFlushAndRunDeferredBlocks + 280 42 UIKit 0x0000000111a89f68 _afterCACommitHandler + 137 43 CoreFoundation 0x000000011de3ddb7 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23 44 CoreFoundation 0x000000011de3dd0e __CFRunLoopDoObservers + 430 45 CoreFoundation 0x000000011de22324 __CFRunLoopRun + 1572 46 CoreFoundation 0x000000011de21a89 CFRunLoopRunSpecific + 409 47 GraphicsServices 0x0000000121b7e9c6 GSEventRunModal + 62 48 UIKit 0x0000000111a5f7d0 UIApplicationMain + 159 49 ??? 0x000000013c9c4474 0x0 + 5311841396 50 ??? 0x000000013c9c40ad 0x0 + 5311840429 ================================================================= Got a SIGSEGV while executing native code. This usually indicates a fatal error in the mono runtime or one of the native libraries used by your application. ================================================================= * [monotouch-test] Don't subclass MKMapView. (#2556) MKMapView doesn't like being subclassed (Apple says "you should not subclass the MKMapView class itself"). Bad things like this starts happening: Thread 0 name: tid_303 Dispatch queue: com.apple.main-thread Thread 0 Crashed: 0 libsystem_kernel.dylib 0x0000000186b25348 __pthread_kill + 8 1 libsystem_pthread.dylib 0x0000000186c39354 pthread_kill$VARIANT$mp + 396 2 libsystem_c.dylib 0x0000000186a94fd8 abort + 140 3 monotouchtest 0x0000000101c02c14 mono_handle_native_crash + 22047764 (mini-exceptions.c:2548) 4 monotouchtest 0x0000000101c0d02c mono_sigsegv_signal_handler + 22089772 (mini-runtime.c:2886) 5 libsystem_platform.dylib 0x0000000186c33b60 _sigtramp + 52 6 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 7 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 8 CoreFoundation 0x0000000186eda51c -[__NSArrayM dealloc] + 68 9 CoreFoundation 0x000000018703f5c8 __CFBasicHashDrain + 312 10 CoreFoundation 0x0000000186fb5b44 _CFRelease + 224 11 CoreText 0x000000018a808404 TDescriptorSource::PurgeFontFallbacksCache+ 488452 () + 92 12 CoreText 0x000000018a808374 TDescriptorSource::PurgeFromCaches+ 488308 (__CFURL const*) const + 176 13 CoreText 0x000000018a7eec74 CTFontRemoveFromCaches + 168 14 VectorKit 0x0000000196a539b0 +[VKSharedResourcesManager removeResourceUser:] + 324 15 VectorKit 0x0000000196ca27a4 md::MapEngine::~MapEngine+ 2643876 () + 360 16 VectorKit 0x0000000196ca2634 md::MapEngine::~MapEngine+ 2643508 () + 12 17 libobjc.A.dylib 0x000000018651eef4 object_cxxDestructFromClass+ 28404 (objc_object*, objc_class*) + 148 18 libobjc.A.dylib 0x000000018652c638 objc_destructInstance + 88 19 libobjc.A.dylib 0x000000018652c690 object_dispose + 16 20 QuartzCore 0x000000018afca3ac -[CALayer dealloc] + 116 21 VectorKit 0x0000000196a43294 -[VKMapView dealloc] + 940 22 QuartzCore 0x000000018af6aafc CA::release_objects+ 744188 (X::List<void const*>*) + 32 23 QuartzCore 0x000000018afd97d8 CA::Layer::~Layer+ 1198040 () + 276 24 QuartzCore 0x000000018afca37c -[CALayer dealloc] + 68 25 QuartzCore 0x000000018af6b16c CA::Transaction::commit+ 745836 () + 1052 26 UIKit 0x0000000190393290 _afterCACommitHandler + 256 27 CoreFoundation 0x0000000186fb38b8 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 32 28 CoreFoundation 0x0000000186fb1270 __CFRunLoopDoObservers + 412 29 CoreFoundation 0x0000000186fb182c __CFRunLoopRun + 1292 30 CoreFoundation 0x0000000186ed22d8 CFRunLoopRunSpecific + 436 31 GraphicsServices 0x0000000188d58f84 GSEventRunModal + 100 32 UIKit 0x000000019040427c UIApplicationMain + 208 33 monotouchtest 0x000000010106eb90 wrapper_managed_to_native_UIKit_UIApplication_UIApplicationMain_int_string___intptr_intptr + 9907088 (/<unknown>:1) 34 monotouchtest 0x0000000100f0d6ac UIKit_UIApplication_Main_string___intptr_intptr + 8459948 (UIApplication.cs:79) 35 monotouchtest 0x0000000100f0d66c UIKit_UIApplication_Main_string___string_string + 8459884 (UIApplication.cs:63) 36 monotouchtest 0x0000000100b10450 monotouchtest_Application_Main_string__ + 4277328 (Main.cs:27) 37 monotouchtest 0x0000000100e0c244 wrapper_runtime_invoke_object_runtime_invoke_dynamic_intptr_intptr_intptr_intptr + 244 38 monotouchtest 0x0000000101c10048 mono_jit_runtime_invoke + 22102088 (mini-runtime.c:2526) 39 monotouchtest 0x0000000101c75eec do_runtime_invoke + 22519532 (object.c:2829) 40 monotouchtest 0x0000000101c78a3c do_exec_main_checked + 22530620 (object.c:4623) 41 monotouchtest 0x0000000101bf9a1c mono_jit_exec + 22010396 (driver.g.c:1040) 42 monotouchtest 0x0000000101d13d60 xamarin_main + 23166304 (monotouch-main.m:482) 43 monotouchtest 0x00000001007de710 main + 927504 (main.m:67) 44 libdyld.dylib 0x00000001869f656c start + 4 * [introspection] Let SkipDueToAttributeInProperty skip setters too (#2557) `SkipDueToAttributeInProperty` which is used to check the availability attribute of properties when the Availability info only exist on the property and not on the property Getter or Setter was wrong. This lead to `setSpringLoaded` (which was introduced in iOS 11) to not be ignored by the test (making it fail). - Fix bug #59085: [introspection-ios] selector not found for UIKit.UIBarButtonItem : setSpringLoaded: - Broken test (https://bugzilla.xamarin.com/show_bug.cgi?id=59085) * [corevideo][watchos] Enable CoreVideo on watchOS (#2553) * [storekit] Fix CampaignToken typo (#2559) (#2560) - Fixes bug #59078: StoreProductParameters and invalid property for CampaignToken (https://bugzilla.xamarin.com/show_bug.cgi?id=59078) * [coreml][watchos] Enable API using CoreVideo on watchOS. Fix #58097 (#2561) https://bugzilla.xamarin.com/show_bug.cgi?id=58097 * Add missing [MarshalDirective] attributes. (#2558) * [bindings-generator] Improve build & project file. * Add missing [MarshalDirective] attributes. Add missing [MarshalDirective] attributes, which also requires implementing support for out parameters in the binding generator, since one of the signatures missing the [MarshalDirective] contains such an out parameter. Also add tests for all the API I've added [MarshalDirective] to. * [bindings-generator] Remove redundant if check. * [monotouch-test] Rename file to end with 'Test.cs'. * [tests] Fix a few build errors for Xamarin.Mac. * [uikit] Fix UIColor and UIInputViewController tvOS availability (#2569) - Fixes introspection tests on tvOS 10. * [storekit] Fix SKCloudServiceSetupMessageIdentifier and SKProductStorePromotionController tvOS availability (#2568) - Fixes introspection tests on tvOS 10. * [mapkit] Fix MKMapItemTypeIdentifier tvOS availability (#2566) - Also remove double [Mac] availability attribute. - Fixes introspection tests on tvOS 10. * [ARKit] Fix marshalling for ARPointCloud.RawFeaturePoints. (#2565) ARPointCloud.RawFeaturePoints is an array of Vector3, but each vector is 16-byte aligned (as if it were an array of Vector4). This means we need to account for this when creating a managed array from pointer to the native C-style array. * [ModelIO] Fix MDLVoxelIndexExtent struct. (#2564) The MDLVoxelIndexExtent is a struct containing two 4-dimensional vectors of integers (not floats, as originally and incorrectly implemented). Fix this my creating a new MDLVoxelIndexExtent2 struct with the right fields, re-implement all the API that exposes this struct and obsolete the old API. Also add missing [MarshalDirective] attributes. And write a test to make sure it works fine now and forever. * [coredata] Enable new fields since rdar #33878590 is fixed w/beta 6 (#2570) reference: https://trello.com/c/dlSRYPFx * [xtro-sharpie] Add a Simd check class to verify signatures with Simd types. * [Simd] Add simd matrix types. The OpenTK matrices (Matrix2/3/4) has a different memory layout than Apple's matrix_float2x2/matrix_float3x3/matrix_float4x4 matrices: the OpenTK versions are row-major, while Apple's versions are column-major. This means that when blitting memory from one to the other, the matrix will appear to have been transposed. See bug #[58599][2] for an example. Unfortunately we've already bound several API with Apple's matrix_floatXxX matrices using OpenTK's matrices, and although they're bound wrong, and the matrices appear transposed on input/output, we can't change the behavior because we have to maintain compatibility. This means we have to introduce new API, and then also just define new matrix types with the right memory layout (column-major). Additionally, in the future we might be able to mark these matrices as Simd-matrixes, so that the JIT/AOT compiler can generate the correct alignment for them, avoiding having to define a native conversion method (using the [MarshalDirective] hack). The matrices have been designed to match API-wise the matrices in the System.Numerics.Vectors namespace [1], but for the moment with only a few basic operations implemented (Determinant/Transpose/Multiply) defined (we can always add more later if we want to). In addition explicit conversion operators to and from the corresponding OpenTK.MatrixX are implemented, which means any operation defined in the OpenTK matrices can be used by converting back and forth. [1]: https://msdn.microsoft.com/en-us/library/system.numerics.matrix4x4(v=vs.111).aspx [2]: https://bugzilla.xamarin.com/show_bug.cgi?id=58599 * [ARKit] Use the new Simd matrix types. * [Vision] Use the new Simd matrix types. * [ModelIO] Use the new Simd-compatible matrix types, and deprecate the old API. * [GameplayKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [SpriteKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [xtro] Don't report missing [MarshalDirective] for obsolete methods. * [xtro] Remove unnecessary ignores. The implementation changed, and these stayed accidentally. * [wkwebkit] Fix (native) protocol names (#2572) Also ignore xtro's WKSnapshotConfiguration since it's an Apple bug 34185961 reference (xtro) !missing-protocol! WKURLSchemeHandler not bound !missing-protocol! WKURLSchemeTask not bound !unknown-protocol! WKUrlSchemeHandler bound !unknown-protocol! WKUrlSchemeTask bound !unknown-type! WKSnapshotConfiguration bound * [uikit] Fix enums availability attributes (#2575) - Fixes bug #59132: [uikit] Extra types in watchOS (https://bugzilla.xamarin.com/show_bug.cgi?id=59132) * [watchkit] Add missing designated initializers (#2574) references (xtro) !missing-designated-initializer! WKInterfaceController::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! WKUserNotificationInterfaceController::init is missing an [DesignatedInitializer] attribute * [xtro] Reword some of the Simd diagnostic messages according to review. * [tests] Make sure test symbols don't clash between different test libraries. Fixes this build problem for framework-test: clang: error: linker command failed with exit code 1 (use -v to see invocation) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_get_rotation_matrix'. MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticObjectTest.framework/XStaticObjectTest (Location related to previous error) MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticArTest.framework/XStaticArTest(libtest-ar.x86_64.o) (Location related to previous error) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransformcomponent_get_local_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_create_global_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float4x4'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float3x3'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float2x2'. MTOUCH: error MT5209: Native linking error: 6 duplicate symbols for architecture x86_64 MTOUCH: error MT5202: Native linking failed. Please review the build log. * [tests] Since libtest.a need ModelIO now, the corresponding LinkWith attributes need to state that too. * [introspection] Don't check native signatures on obsolete members, and ignore the right simd matrix types. Fixes this introspection/Mac problem: ***** ApiSignatureTest.NativeSignatures Selector: uniformWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: uniformWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: uniformWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: setMatrixFloat2x2Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: setMatrixFloat3x3Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: setMatrixFloat4x4Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: initWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: initWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: initWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded * [monotouch-tests] Include more custom asserts for watchOS to make the build work. Fixes this: Simd/MatrixFloat4x4Test.cs(28,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(29,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(37,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(48,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' [...] * [monotouch-test] Exclude code that requires the binding project from xammac tests. Exclude code that requires the test binding project from xammac tests because there's currently no XM version of the test binding project. Fixes this: tests/monotouch-test/SpriteKit/UniformTest.cs(20,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLMaterialProperty.cs(37,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLTransform.cs(34,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) * Bump version for preview #8 (#2576) * [spritekit] Audit fixes (xtro) (#2577) 1. SKVideoNode is now, partially, available on watchOS and does not require the extra, manual code to swicth selectors depending on the OS version being run. !missing-type! SKVideoNode not bound !missing-selector! SKVideoNode::anchorPoint not bound !missing-selector! SKVideoNode::initWithCoder: not bound !missing-selector! SKVideoNode::initWithFileNamed: not bound !missing-selector! SKVideoNode::initWithURL: not bound !missing-selector! SKVideoNode::setAnchorPoint: not bound !missing-selector! SKVideoNode::setSize: not bound !missing-selector! SKVideoNode::size not bound !missing-selector! +SKVideoNode::videoNodeWithFileNamed: not bound !missing-selector! +SKVideoNode::videoNodeWithURL: not bound 2. SKNodeFocusBehavior is exposed needlessly on watchOS because SpriteKit/Enums.cs was not processed by the generator, so [NoWatch] did not matter. !unknown-native-enum! SKNodeFocusBehavior bound It's also visible on macOS but nothing uses it (so we do not expose it needlessly) !missing-enum! SKNodeFocusBehavior not bound 3. Add missing designated initializer on default `init` !missing-designated-initializer! SKAttributeValue::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! SKNode::init is missing an [DesignatedInitializer] attribute 4. Remove inconsistency for SKNode subclasses wrt XAMCORE_4_0 The trio attributeValues, setAttributeValues and setValue:forAttributeNamed: that was moved from SKNode (deprecated) into its subclasses. This was done using XAMCORE_4_0 but not on every subclasses. This adds them everywhere to be consistent (only SKNode versions are not defined in XAMCORE_4_0) !missing-selector! SKEffectNode::attributeValues not bound !missing-selector! SKEffectNode::setAttributeValues: not bound !missing-selector! SKEffectNode::setValue:forAttributeNamed: not bound !missing-selector! SKEffectNode::valueForAttributeNamed: not bound !missing-selector! SKEmitterNode::attributeValues not bound !missing-selector! SKEmitterNode::setAttributeValues: not bound !missing-selector! SKEmitterNode::setValue:forAttributeNamed: not bound !missing-selector! SKEmitterNode::valueForAttributeNamed: not bound !missing-selector! SKSpriteNode::attributeValues not bound !missing-selector! SKSpriteNode::setAttributeValues: not bound !missing-selector! SKSpriteNode::setValue:forAttributeNamed: not bound !missing-selector! SKSpriteNode::valueForAttributeNamed: not bound * [introspection] Make sure '[FAIL]' is printed before every failure. (#2578) This makes xharness able to list the failures in the inline summary. * [xtro] Reword some of the Simd diagnostic messages according to review. * [xharness] Add a missing IsServerMode check to generate correct html. (#2581) * [SpriteKit] SKTransformNode is new in Xcode 9 so no need to keep the broken (and obsolete) non-simd version of RotationMatrix. * [intents] Fix some (partial) xtro issues and #59156 (#2585) reference https://bugzilla.xamarin.com/show_bug.cgi?id=59156 Remaining issues are filled in https://bugzilla.xamarin.com/show_bug.cgi?id=59183 !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound * [Intents] Confirm* interface methods should be bound as Confirm, Fixes Bug 59164 (#2591) * [Intents] Confirm* interface methods should probably be bound as Confirm, Fixes Bug 59164 https://bugzilla.xamarin.com/show_bug.cgi?id=59164 All Confirm* methods from *IntentHandling interfaces should be named just `Confirm` to avoid confusion because most of them do not directly confirm as an acion, but instead they **ask** for confirmation also we would follow swift's naming by doing this. * [Intents] XAMCORE_4_0 all Confirm* methods from *IntentHandling Turns any Confirm* into just Confirm inside a XAMCORE_4_0 block, * [Intents] Fix breaking changes in Intents added in Xcode 9 Bindings (#2590) Apple added more protocol conformances to INRidesharingDomainHandling and INPaymentsDomainHandling protocols in Xcode 9, I introduced these breaking changes back when I did intents binding so fixing them :) * [Metal] New bindings from Xcode 9 betas (#2457) * [AVFoundation] Updated bindings for xcode9. (#2272) * [Xcode9] Add IOSurface bindings (#2363) * This framework was a private framework before iOS 11. This framework was a private framework before iOS 11, yet the headers claim many API were introduced in iOS 10. So take account of this difference by using the private framework location in iOS 10.3 or earlier. Testing these API from Xcode works fine when run on an iOS 10.3 device, and I've confirmed the IOSurface framework is loaded from the private frameworks path on older devices (and when built using Xcode 9 and linked with the public framework path). * Disable code to make IOSurface work on iOS 10. Disable the code to make IOSurface work on iOS 10, since it may be rejected by the App Store. This also means adjusting the availability attributes, so that the introspection tests pass (and to document that technically these API won't work when used with Xamarin.iOS in iOS 10). I've filed bug #[59201][1] to keep track of this, maybe we can re-enable this later. [1]: https://bugzilla.xamarin.com/show_bug.cgi?id=59201 * [CoreMedia] Fix leak in CMAttachmentBearer.GetAttachments. (#2593) The caller owns the return value from CMCopyDictionaryOfAttachments, so tell Runtime.GetNSObject that. * [Intents] Adds missing API found by xtro, fixes Bug 59183 (#2596) https://bugzilla.xamarin.com/show_bug.cgi?id=59183 Fixes !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !incorrect-protocol-member! INUIHostedViewControlling::configureWithInteraction:context:completion: is OPTIONAL and should NOT be abstract * [xtro] Fix StartWorkingDirectory to enable debugging (#2598) * [iosurface] Enable for tvOS and XM classic (to avoid multiple defines around consumer API) (#2597) * [xtro] Fix EnumCheck (#2600) * [ARKit] Rename a few method to make them nicer. (#2604) * DisplayTransform -> GetDisplayTransform since methods should have verbs. * SessionWasInterrupted -> WasInterrupted and SessionInterruptionEnded -> InterruptionEnded since these names match better with the other names (CameraDidChangeTrackingState / DidFail / DidOutputAudioSampleBuffer: none are prefixed with 'Session'). Additionally, the type is a Model (for the delegate pattern), which means all methods are more-or-less event-like, and the first argument is always the same (the protocol itself), which is another indicator the methods should be named similarly. * [Foundation] Remove 'Key' suffix from some fields. (#2606) Of the 168 fields in NSMetadataItem, only these 5 hadn't removed the 'Key' suffix. So make them all equivalent by removing the 'Key' suffix from these 5 fields. * [ImageIO] Fix API to not duplicate the instance in instance methods. (#2609) An instance method does not need to take the instance as a parameter, so remove the first (instance) parameter for CGImageDestination.AddAuxiliaryDataInfo and CGImageSource.CopyAuxiliaryDataInfo. An alternative solution would be to make the methods static, but I like the instance API better. * [UIKit] De-model UIDataSourceTranslating. (#2603) It's not clear from neither the documentation nor the headers how this protocol is supposed to be used, and since it doesn't correspond to the delegate pattern, remove the [Model] attribute for now. We can always add it back later. * [CoreML] Improve API. (#2592) * [CoreML] Improve API. * The indices, shape and stride properties for MLMultiArray and MLMultiArrayConstraint can logically only be arrays of integers, so type them as such. This means adding overloads for MLMultiArray's constructors, GetObject and SetObject methods, and the indexers that takes nint[] arrays instead of NSNumber[] arrays. * Change MLFeatureValue's static factory methods to be a method ('Create') instead of a preposition, and call all the different factory methods the same, since they can be overloaded nicely. * [tests][monotouch-test] Add version check to MLMultiArrayTest and make sure the arrays we create are big enough for the data we put in them. * [tests][monotouch-test] MLMultiArray's elements aren't zero-initialized, so don't assume that in the tests. * Support overloading Objective-C methods based on static/instance. (#2607) Two Objective-C methods can be named identically as long as one is static and the other instance. We must support this since Apple did just this (in the NSItemProviderReading / NSItemProviderWriting protocols). We solve it by prepending a '+' or '-' to the selector when hashing it (to determine selector uniqueness, and to look the method up again at runtime). * [uikit] Update for Xcode 9 - Part 6 (#2602) NSAttributedString.h NSFileProviderExtension.h NSLayoutAnchor.h UIAccessibility.h UIAccessibilityAdditions.h UIAccessibilityContainer.h UIAccessibilityContentSizeCategoryImageAdjusting.h UIAccessibilityCustomRotor.h UIAccessibilityLocationDescriptor.h UITabBar.h UINavigationBar.h UIScreen.h * Xcode9 scenekit (#2512) * [SceneKit] basic work * Added key * [xcode9] SCNCameraController * [xcode9] SCNCamera updates * [xcode9] SCNMaterial * [xcode9] SCNGeometryTessellator, SCNCameraControlConfiguration, SCNView, small bits * Add trailing commas to last enum value * Remove whitespace noise * [scenekit] Update deprecated attributes messages * Addresses some of Rolf's feedback * Drop the WeakDelegate in SCNCameraController * Rename method to Render, remove ctor from class that can not be constructed in Palygrounds, add typo exception * [AppKit] Rename NSBezierPath.AppendBezierPathWithCGGlyph to match its sibling methods. (#2605) NSBezierPath contains a lot of 'AppendPathWithXXX' methods, that all map to 'appendBezierPathXXX' selectors. So rename AppendBezierPathWithCGGlyph accordingly, to make it more similar to the other methods in the same type. * [uikit] Add all UISpringLoadedInteractionSupporting (#2616) Types do not conform to the protocol but protocol methods work on those types (see monotouch-test). Fixed introspection tests accordingly and tested the selectors in monotouch-test. * [Intents] Add convenience ctor overload and call correct base ctor in manual ctor. (#2613) Add a convenience constructor overload in INGetUserCurrentRestaurantReservationBookingsIntent that uses nint instead of NSNumber, since logically "number of results" will always be some sort of integer. Also call the correct base constructor in INSpeakableString's custom constructor (same as any other generated constructor). Otherwise we end up doing something like this: [[[INSpeakableString alloc] init] initWith ...], i.e. calling two different init methods. * [coreimage] Add new headers API up to beta 6 (#2601) Filters are not complete (ref: #57350) https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * Some new constants are not yet documented (type is known), so they are commented / ignored https://bugzilla.xamarin.com/show_bug.cgi?id=59296 * Filled bug for [Wrap] inside [Category] so strong dictionary helpers can be re-enabled later https://bugzilla.xamarin.com/show_bug.cgi?id=59294 * [foundation] xtro fixes for watchOS (#2586) !missing-enum! NSProcessInfoThermalState not bound !missing-field! NSProcessInfoThermalStateDidChangeNotification not bound !missing-selector! NSProcessInfo::thermalState not bound Headers are wrong and preferredPresentationStyle is not in tvOS and watchOS !missing-selector! NSItemProvider::preferredPresentationStyle not bound !missing-selector! NSItemProvider::setPreferredPresentationStyle: not bound * [uikit] Also remove UIPreferredPresentationStyle enum from platform where it's not used * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. (#2614) * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. * NSItemProviderWriting: * NSItemProviderReading: Implement correctly and completely by uncommenting commented out code. * NSMutableString: * NSAttributedString: remove inlined members, since these classes don't implement NSItemProviderReading / NSItemProviderWriting (according to the headers at least). * NSUrl: all platforms now seem to implement NSItemProviderReading / NSItemProviderWriting. * NSString: all platforms now seem to implement both NSItemProviderReading and NSItemProviderWriting * UIColor: * UIImage: Update inlined protocol members according to the latest beta. Additionally, due to the following conditions: * The protocols all have the correct members now. * In the API definition we tell the generator to inline members from a protocol by inheriting from the corresponding interface. * The generator doesn't inline static members from protocols. several 'new' keywords had to be added to silence a compiler warning that occurrs when we manually inline a static member, since the member would be included in the type both from the inherited interface and the manual implementation. * [Foundation] Comment out NSItemProviderWriting.GetItemProviderVisibility to avoid inlining/generating unusable methods. NSItemProviderWriting.GetItemProviderVisibility is an optional method, and none of the native classes that implements NSItemProviderWriting actually imlements the method. This means inlining the method in those classes ends up creating unusable API; so just comment out the method to avoid generating the unusable API. The introspection tests found this: [FAIL] Foundation.NSString : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Foundation.NSUrl : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Contacts.CNContact : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] MapKit.MKMapItem : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIColor : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIImage : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] iOSApiSelectorTest.ApiSelectorTest.StaticMethods : 6 errors found in 2348 static selector validated: See also https://bugzilla.xamarin.com/show_bug.cgi?id=59308 * [iosurface] Add missing [TV] attributes (#2619) * [opengles] Enable the new API using IOSurface (#2618) The symbol only exists inside device libraries, not on simulator, and the introspection tests were updated to ignore it. Part of https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [avfoundation][watchos] Enable AudioBufferList (fix #59145) + audit (xtro) (#2617) 1. AudioBufferList is part of CoreAudio (wrong namespace, which needs a few changes in the generator) and now available in watchOS 4 https://bugzilla.xamarin.com/show_bug.cgi?id=59145 2. Also fixes xtro found issues: !missing-type! AVAudioRecorder not bound !missing-selector! AVAudioRecorder::averagePowerForChannel: not bound !missing-selector! AVAudioRecorder::channelAssignments not bound !missing-selector! AVAudioRecorder::currentTime not bound !missing-selector! AVAudioRecorder::delegate not bound !missing-selector! AVAudioRecorder::deviceCurrentTime not bound !missing-selector! AVAudioRecorder::format not bound !missing-selector! AVAudioRecorder::initWithURL:format:error: not bound !missing-selector! AVAudioRecorder::initWithURL:settings:error: not bound !missing-selector! AVAudioRecorder::isMeteringEnabled not bound !missing-selector! AVAudioRecorder::isRecording not bound !missing-selector! AVAudioRecorder::peakPowerForChannel: not bound !missing-selector! AVAudioRecorder::recordAtTime: not bound !missing-selector! AVAudioRecorder::recordAtTime:forDuration: not bound !missing-selector! AVAudioRecorder::recordForDuration: not bound !missing-selector! AVAudioRecorder::setChannelAssignments: not bound !missing-selector! AVAudioRecorder::setDelegate: not bound !missing-selector! AVAudioRecorder::setMeteringEnabled: not bound !missing-selector! AVAudioRecorder::settings not bound !missing-selector! AVAudioRecorder::url not bound !missing-protocol! AVAudioRecorderDelegate not bound !missing-selector! AVAudioEngine::inputNode not bound !missing-selector! AVAudioEngine::manualRenderingBlock not bound !missing-selector! AVAudioInputNode::setManualRenderingInputPCMFormat:inputBlock: not bound !missing-selector! AVAudioPlayer::format not bound !missing-selector! AVAudioSession::requestRecordPermission: not bound !unknown-field! AVFileType3GPP bound !unknown-field! AVFileType3GPP2 bound !unknown-field! AVFileTypeAC3 bound !unknown-field! AVFileTypeAIFC bound !unknown-field! AVFileTypeAIFF bound !unknown-field! AVFileTypeAMR bound !unknown-field! AVFileTypeAVCI bound !unknown-field! AVFileTypeAppleM4A bound !unknown-field! AVFileTypeAppleM4V bound !unknown-field! AVFileTypeCoreAudioFormat bound !unknown-field! AVFileTypeDNG bound !unknown-field! AVFileTypeEnhancedAC3 bound !unknown-field! AVFileTypeHEIC bound !unknown-field! AVFileTypeHEIF bound !unknown-field! AVFileTypeJPEG bound !unknown-field! AVFileTypeMPEG4 bound !unknown-field! AVFileTypeMPEGLayer3 bound !unknown-field! AVFileTypeQuickTimeMovie bound !unknown-field! AVFileTypeSunAU bound !unknown-field! AVFileTypeTIFF bound !unknown-field! AVFileTypeWAVE bound * [Metal] Implement API using IOSurface now that IOSurface is implemented. Partially fixes #58054. (#2621) https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [PdfKit] Improve PdfAnnotation.QuadrilateralPoints binding by making it strongly typed. (#2620) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). (#2622) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). * [ARKit/Vision] Use the new simd vector types instead of the OpenTK versions. * [ModelIO] Use the new simd vectors in new API (MDLVoxelIndexExtent2). This way we won't have to create a MDLVoxelIndexExtent3 in the future. * [SpriteKit] Use the new simd vectors in new API. * [metal] Audit (xtro) based fixes (#2623) !extra-protocol-member! unexpected selector MTLArgumentEncoder::newArgumentEncoderForBufferAtIndex: found !extra-protocol-member! unexpected selector MTLComputeCommandEncoder::dispatchThreads:threadsPerThreadgroup: found macos-only !missing-field! MTLDeviceRemovalRequestedNotification not bound !missing-field! MTLDeviceWasAddedNotification not bound !missing-field! MTLDeviceWasRemovedNotification not bound !missing-pinvoke! MTLCopyAllDevices is not bound * [CloudKit] Update bindings to beta 6. (#2615) * [FileProvider] Turn NSFileProviderItemIdentifier enum into a static class, fixes bug 59329 (#2634) https://bugzilla.xamarin.com/show_bug.cgi?id=59329 At the time of binding NSFileProviderItemIdentifier it wasn't clear how it was supposed to be used, I mean apple provides two keys which I thought were the only possible values hence binding it as an smart enum. Unfortunately this wasn't the case and the user can use those two values provided from the SDK or their own NSString Identifier. Swift provides a wrapper unfortunately we can't do the same due to NSFileProviderItemIdentifier is used in the NSFileProviderItem protocol and we currently do not support changing signatures on them. * [mtouch] Teach mtouch about the 'IOSurface' framework for tvOS. Fixes #59333. (#2630) https://bugzilla.xamarin.com/show_bug.cgi?id=59333 * Bump Touch.Unit to get fix for API breakage. (#2631) spouliot/Touch.Unit@8f1e19d [NUnitOutputTextWriter] Reintroduce previous constructor to make sure we don't break binary ABI. spouliot/Touch.Unit@00b0c0b [NUnitOutputTextWriter] Don't write invalid xml comments. spouliot/Touch.Unit@de9fe20 [TouchRunner] Restore the original code path when not wrapping NUnit xml output. * [IOSurface] Add missing availability attributes for tvOS. (#2629) * Bump versions for preview 9 (#2624) * [AVFoundation] Add missing interface AVRouteDetector. (#2637) * [tests] Update xtro to reduce list sizes (#2636) * Skip OpenTK duplicate declaration (we can't change them); * Fix rule name change for ARKit / simd; * Add missing default initializer on `init` to pending actions; * Add note for AVPersistableContentKeyRequest changes wrt tvOS; * [ReplayKit] Make RPBroadcastActivityViewController.LoadBroadcastActivityViewController async-capable. (#2639) * [xcode9] More SceneKit bindings (#2633) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 (#2644) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 https://bugzilla.xamarin.com/show_bug.cgi?id=59380 vector_float3 is 16 bytes, which means the binding is incorrect, because Vector3 is 12 bytes, and our code does not that difference into account. * Add tests * [DeviceCheck] Disable default ctor for DCDevice. (#2642) It doesn't seem to be useful according to the documentation, since it appears that the only way to get an instance is to use the static CurrentDevice property. * [audiounit] Audit (xtro) fixes for tvOS (#2635) Availability attributes in non-generated files don't hide symbols/code. reference: !unknown-pinvoke! AudioUnitExtensionCopyComponentList bound !unknown-pinvoke! AudioUnitExtensionSetComponentList bound * [tests] Make sure tvOS tests don't use the (unexisting) API * [tests] Add all test project variations to tests-mac.sln (#2579) * [xharness] Make sure generated mac projects have different project guids. * [introspection] Change the project guid so that it doesn't match the dontlink-mac project guid. * [tests] Add all test project variations to tests-mac.sln. * [xharness] Fix else condition. * [FileProvider] Adds missing NSFileProviderPage constants, fixes bug 59297. (#2646) https://bugzilla.xamarin.com/show_bug.cgi?id=59297 Adds NSFileProviderInitialPageSortedByName and NSFileProviderInitialPageSortedByDate NSData constants * [Xcode9] Remove NSFileProviderMessage and NSFileProviderMessageInterface (#2647) APIs were removed in beta 2 * [Foundation/UIKit] Provide LoadObject[s] methods that return the expected type in the callback. Fixes #59049. (#2638) The callback for these LoadObject[s] methods take an INSItemProviderReading parameter. This tells our runtime that we must provide an instance of a managed object that implements this interface (but nothing else), so we create a `NSItemProviderReadingWrapper` instance, which complies with the API (since the wrapper type implements the corresponding interface). Unfortunately these methods are supposed to return an instance of the passed- in type, so in order to comply with this soft (documentation-only) requirement, provide a wrapper method that creates instances of the right types. https://bugzilla.xamarin.com/show_bug.cgi?id=59049 * [arkit] Ignore deprecated selectors (#2645) * [FileProvider] Adds missing protocol and keys from audit (#2652) ``` !missing-protocol! NSFileProviderServiceSource not bound !missing-field! NSFileProviderErrorCollidingItemKey not bound !missing-field! NSFileProviderErrorNonExistentItemIdentifierKey not bound !missing-field! NSFileProviderFavoriteRankUnranked not bound ``` Also adds `NSXpcListenerEndpoint` to foundation, needed by `NSFileProviderServiceSource` protocol. * [tests][xtro] Workaround xtro runner dupe entry exception and update data files (#2654) * [AVFoundation] Rename field to match others. (#2657) * [homekit] Audit (xtro) fixes (#2653) - HMCharacteristicEvent conforms to NSMutableCopying on iOS11 which makes it 64 bits only (so adjust intro tests) - Ignore extra setters on HMMutablePresenceEvent, rdar 33883958 !missing-selector! HMMutablePresenceEvent::setPresenceEventType: not bound !missing-selector! HMMutablePresenceEvent::setPresenceUserType: not bound * [xtro] Add missing pinvoke to pending (#2662) - Bug 59422: [uikit] Missing UIContentSizeCategoryCompareToCategory & UIContentSizeCategoryIsAccessibilityCategory (https://bugzilla.xamarin.com/show_bug.cgi?id=59422) * Merge latest d15-3 fixes into xcode9 (#2660) * [msbuild] Re-added wildcard (*) expandsion for application-identifier in Entitlements.plist (#2186) Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=57119 * Bump mono (#2213) * Framework tests were still binding non-linked Simple class which errors now (#2216) (#2218) - Improve Makefile to rebuild when projects build with errors * Bump mono to get cecil fix for bug #56808. (#2222) https://bugzilla.xamarin.com/show_bug.cgi?id=56808 * [msbuild] Use @(ReferencePath) instead of @(ResolvedFiles) (#2188) (#2214) This allows things to work on both xbuild and msbuild. In xbuild, both lists are exactly the same and on msbuild, only @(ReferencePath) exists. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=55147 * NSActivityOptions.IdleDisplaySleepDisabled had wrong value (#2232) (#2239) This was due to an integer overflow. The original value was based on Int32 1 << 40 == 256 The correct value should be based on a UInt64. 1UL << 40 == 1099511627776 * [tests] Fix bug 57699 - [iOS]InternalsTest failure (Linkall) tests on device (#2243) Strip native debugging symbols should not be checked for debug builds * Bump mono to get fix for bug #57780. https://bugzilla.xamarin.com/show_bug.cgi?id=57780 * Update .gitmodules Change branch to d15-3 branch of mono * Bump maccore to get fix for bug #55064. https://bugzilla.xamarin.com/show_bug.cgi?id=55064 * [mono] Bump mono to get the head of cecil/mono-2017-04 and fix IsComObject #57919 Also fix #58789 [1], the typo in tools/mtouch/Tuning.cs showing in MT0000 errors instead MT2102. That's already in master and d15-4 mono bump includes: [2] commit 2a6502cee0df9de5198eafe7c8b5f6ac25106f34 (HEAD -> d15-3, origin/d15-3) Merge: 02457c20fcf 5e05cafc6f1 Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 10:04:06 2017 -0400 Merge pull request #5401 from marek-safar/com [Marshal.IsComObject] Make this predicate return false instead of thr… [3] commit 02457c20fcf57c0610e844d638eb1da82b5d1eb0 Merge: da80840ea55 73fd9a1b82e Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 09:59:06 2017 -0400 Merge pull request #5400 from spouliot/bump-cecil-58834-d15-3 [cecil] Bump to the head of the mono-2017-04 branch and pick the fix for bug #58834 References [1] https://bugzilla.xamarin.com/show_bug.cgi?id=58789 [2] https://bugzilla.xamarin.com/show_bug.cgi?id=57919 [3] https://bugzilla.xamarin.com/show_bug.cgi?id=58834 * [mtouch] Put 'mono_profiler_startup_log' in the symbol list. Fixes #58778. (#2501) We need the 'mono_profiler_startup_log' symbol when profiling is enabled, so make sure to add the symbol to the correct list of symbols we need. Previously we were passing `-u _mono_profiler_startup_log` to clang directly, which is fine, but not complete, since it does not write the symbol to the symbollist file (--symbollist=file), which means it wouldn't be preserved when the MSBuild tasks strip the executable. https://bugzilla.xamarin.com/show_bug.cgi?id=58778 * Bump versions for SR3 https://trello.com/c/EVze08ei * Bump mono to include HttpClientHandler fix #44027 https://trello.com/c/jYFXadH8/8-systemnethttp-close-request-stream-when-httpclienthandler https://bugzilla.xamarin.com/show_bug.cgi?id=44027 * [FileProvider] Add missing API and turn NSString to string (#2663) Turned NSString to string in order to match exisiting API. * [uikit] Add UIPasteConfigurationSupporting and UITextPasteConfigurationSupporting (#2649) - Fixes bug #59363: Missing UIPasteConfigurationSupporting, UITextPasteConfigurationSupporting, UITextDraggable and UITextDroppable on a couple of types (https://bugzilla.xamarin.com/show_bug.cgi?id=59363) * [uikit] Remove 129 types in UIPasteConfigurationSupporting case * [scenekit] Audit (xtro) fixes (#2648) This looks like an Apple breaking change (since `SCNAnimation` is new) but we now have: > typedef void (^SCNAnimationEventBlock)(id<SCNAnimation> animation, id animatedObject, BOOL playingBackward); bound as > delegate void SCNAnimationEventHandler (CAAnimation animation, NSObject animatedObject, bool playingBackward); and `CAAnimation` conforms to `SCNAnimation` but *only* the later is available on watchOS. The delegate is only updated (since it's new) on our watchOS profile. xtro references: (watchos) !unknown-protocol! SCNCameraControlConfiguration bound (tvos/watchos) !missing-selector! SCNAnimation::animationEvents not bound !missing-selector! SCNAnimation::setAnimationEvents: not bound !missing-selector! SCNConstraint::isEnabled not bound !missing-selector! SCNConstraint::setEnabled: not bound !missing-field! SCNSceneSourceConvertToYUpKey not bound !missing-field! SCNSceneSourceConvertUnitsToMetersKey not bound (ios/tvos) !missing-protocol-conformance! SCNNode should conform to UIFocusItem * Bump maccore post 15.3 merge (#2665) * Bump Xcode 9 to GM (#2667) * Force build (on wrench) * [avfoundation] Fix breaking changes (apidiff) (#2664) * [TVServices] Update to Xcode 9 GM (#2675) * [GameController] Update to Xcode 9 GM (#2673) * [LocalAuthentication] Update to Xcode 9 GM (#2671) * [LocalAuthentication] Update to Xcode 9 GM * Remove availability from BiometryNotAvailable, BiometryNotEnrolled and BiometryLockout * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer (#2659) * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer Some of the new added types were already present BUT under a #if MONOMAC, they had to be moved. * [AVFoundation] Set the wrongly added API to be obsolete and ensure it returns logical values. (#2650) * [xtro] The right platform for macOS is 'macos', not 'osx'. (#2677) The platform name is used to filter availability attributes, and if we use the wrong platform, we'll incorrectly skip all availability attributes. The net result in unclassified entries: https://gist.github.com/rolfbjarne/a4474bc2a40c49a85cad495b51bb514f * Various Xcode 9 API improvements and also fixes bug 59433 (#2676) https://bugzilla.xamarin.com/show_bug.cgi?id=59433 While fixing bug 59433 I noticed some additional issues outlined below: AVDepthData: * Renamed **non** static `Create` methods because `Create` only makes sense with the **Static** method in this context. Also by renaming the methods we are now closer to the names that swift uses. * Kept descriptive method names in favor of self-documenting code. `Convert`, `Apply` and `Replace` do not fully give us the intent of the method. * Added a convenience `Create` static method that takes a `CGImageAuxiliaryDataInfo`. * AvailableDepthDataTypes is now an array of `CVPixelFormatType` instead of a `NSNumber` array (The aactual fix for bug 59433). ImageIO: * Refactored `CGImageAuxiliaryDataInfo` to be a `StrongDictionary` in order to avoid most of the manual code and also to avoid reimplementing the `ToDictionary` method (which contained a subtle bug). * Adjusted code to reflect the above change. * Added missing `.ctor (IntPtr, bool)` to `CGImageMetadata` so the class is able to be created by our `Runtime.Get*`. * Simplified `CopyAuxiliaryDataInfo` method by using `CGImageAuxiliaryDataInfo` as a `DictionaryContainer`. Tests: * Added `xamarinmonkey.heic` which is an image that contains depth data needed to test above changes. * Adds `AVDepthDataTests` that touches most of the changes listed here. * Tweak the Simd-compatible matrices and vectors (#2668) * Rename them to be OpenTK.NMatrix# (instead of Simd.MatrixFloat#x#). * Remove the Vector2 and Vector4 variants, we'll use the OpenTK types instead (but we'll keep the NVector3 variant, since it's not identical to the OpenTK version). * Update the API to match their OpenTK counterparts better: * NMatrix2 and NMatrix3 have a 0-based R#C# scheme for their fields. * NMatrix4 has a 1-based M## scheme for its fields (i.e. no change). * [AVFoundation] Use Simd-matrix for API that needs it. (#2679) This also requires implementing the corresponding matrix (NMatrix4x3). Fixes this xtro issue: > !unknown-simd-type-in-signature! OpenTK.Matrix3 AVFoundation.AVCameraCalibrationData::get_GetIntrinsicMatrix(): the native signature has a simd type (matrix_float3x3), while the corresponding managed method is using an incorrect (non-simd) type. * [xtro] Fix checking availability on categories. (#2682) When checking for category availability, check if both the current declaration is a category, and if the current's declaration container is a category. Otherwise this scenario fails: * Category method is available. * Category does not have availability attributes. * Main class is unavailable. with this typical code sequence: ```csharp // don't process methods (or types) that are unavailable for the current platform if (!decl.IsAvailable () || !(decl.DeclContext as Decl).IsAvailable ()) return; ``` In which case we'd: * First check the method (`decl`): * It's available, so no further checks is done on the method. * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container's container is a category (it isn't, it's the namespace). and as such determine that the method is available. With this change, the second step will become: * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container is a category (it is), and if its main class is available (it isn't). and as such determine that the method is unavailable. * Check for attributes on the method's container (no attributes, so we continue). * Check if the method's Unclassified diff: https://gist.github.com/rolfbjarne/8fa80962596978a426eadf9b7ba39dc1 * [uikit] Update for Xcode 9 GM (#2670) * [AVFoundation] Implement AVCapturePhoto. Partially fixes #59388. (#2678) Fixes: > common.unclassified:!missing-type! AVCapturePhoto not bound https://bugzilla.xamarin.com/show_bug.cgi?id=59388 * Use strong dictionaries for AVCapturePhoto.Metadata and AVCapturePhoto.EmbeddedThumbnailPhotoFormat. * [SIMD] Implement Simd double types (VectorDouble3/MatrixDouble4x4). (#2632) The following types will be used by ModelIO bindings * Fix delta to be double * Rename Simd-compatible matrices and vectors to match our final naming. This also means removing the new Vector2 and Vector4 variants (but not Vector3). * [avfoundation] Remove AVAssetDownloadDelegate.DidLoadTimeRange since it was removed in one of the betas (#2687) * [foundation] Move NSUrlSessionMultipathServiceType to a file processed by the generator (for the availability attributes) (#2688) * [arkit] Update for Xcode 9 GM (#2681) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes (#2690) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes Type Changed: Intents.INCarSeatResolutionResult Removed methods: public static INCarSeatResolutionResult GetConfirmationRequired (INCarSeat valueToConfirm); public static INCarSeatResolutionResult GetSuccess (INCarSeat resolvedValue); * [avfoundation] Add missing protocol members and deprecations (#2691) !missing-protocol-member! AVCapturePhotoCaptureDelegate::captureOutput:didFinishProcessingPhoto:error: not found and the selector removed from PR#2687 was actually replaced with this one !missing-protocol-member! AVAssetDownloadDelegate::URLSession:aggregateAssetDownloadTask:didLoadTimeRange:totalTimeRangesLoaded:timeRangeExpectedToLoad:forMediaSelection: not found * [tests][xtro] Map some enums, more fix with protocols and update entries (#2692) * [Tests] Reenable dns tests on the watch. (#2674) * [arkit] Add ARBlendShapeLocationOptions strong dictionary (#2696) * [coreimage] Skip not yet bound filters added in Xcode9 (#2698) Tracked in https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * [Metal] Renamed MTLArgumentDescriptor.ArgumentDescriptor to Create, fixes bug 59498 (#2702) https://bugzilla.xamarin.com/show_bug.cgi?id=59498 From [argumentDescriptor docs](https://developer.apple.com/documentation/metal/mtlargumentdescriptor/2915746-argumentdescriptor?language=objc) > Creates an empty argument descriptor. * [msbuild] Always codesign app bundles if the codesign key is non-null (#2697) ...even if it is a simulator build. Turns out that starting with Xcode9, sim builds need to be codesigned for App Groups entitlements to work properly. Interestingly, the DetectSigningIdentity logic had a comment about needing to codesign simulator builds for some entitlements to work already starting with Xcode 8 but apparently the iOS targets did not respect this. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=59379 * [Foundation] Add NSProxy stub in order to workaround bug 59247 (#2693) https://bugzilla.xamarin.com/show_bug.cgi?id=59247 We need to have a better solution that removes all what NSProxy does not responds to. Right now this works because NSObject implements NSObject protocol just like NSProxy, but NSProxy responds to far less selectors hence doing it internal so it is not a breaking change when we provide the correct fix. * Keep NSProxy around and avoid XML linker description We need to keep NSProxy (avoid linking it) if WKNavigationDelegate or IWKNavigationDelegate is used. We know WKWebView will be there and can hold a reference to it. * [Xcode 9] Update Metal for GM (#2689) * [iosurface] IOSurface is not usable before iOS/tvOS 11. Fixes #59201 (#2706) Apple rejects apps that links with the previously private IOSurface.framework. We were not sure about this [1] and had it disabled (this is removed). However another bug stopped our adjustment logic [2] from being executed. This is needed since `clang` picks up the private framework if it does not find the public one (even when asking for a weak framework), [1] https://bugzilla.xamarin.com/show_bug.cgi?id=59201 [2] Added a while ago for JavascriptCore * Bump maccore to point to commit with the docs fix. (#2703) * Bump XI to 11.0.x (and XM to 3.99.9.x) (#2684) * fix typo
2017-09-16 00:53:16 +03:00
[Deprecated (PlatformName.iOS, 10, 0)]
[Deprecated (PlatformName.MacOSX, 10, 12)]
[NoWatch, NoTV]
[NullAllowed, Export ("borderColor", ArgumentSemantic.Retain)]
NSObject BorderColor { get; set; }
2016-04-21 15:30:02 +03:00
[Export ("mappingChannel")]
nint MappingChannel { get; set; }
[Export ("contents", ArgumentSemantic.Retain), NullAllowed]
NSObject Contents { get; set; }
[Wrap ("Contents")]
NSColor ContentColor { get; set; }
[Wrap ("Contents")]
NSImage ContentImage { get; set; }
[NoWatch]
2016-04-21 15:30:02 +03:00
[Wrap ("Contents")]
CALayer ContentLayer { get; set; }
[Wrap ("Contents")]
NSString ContentPath { get; set; }
[Wrap ("Contents")]
NSUrl ContentUrl { get; set; }
#if XAMCORE_2_0 || !MONOMAC
[Wrap ("Contents")]
SKScene ContentScene { get; set; }
[Wrap ("Contents")]
SKTexture ContentTexture { get; set; }
#endif
[Wrap ("Contents")]
NSImage [] ContentImageCube { get; set; }
[Mac (10,9)]
[Export ("intensity")]
nfloat Intensity { get; set; }
[Mac (10,9)]
[Export ("maxAnisotropy")]
nfloat MaxAnisotropy { get; set; }
[Watch (4,0), TV (11,0), Mac (10,13), iOS (11,0)]
[Export ("textureComponents", ArgumentSemantic.Assign)]
SCNColorMask TextureComponents { get; set; }
2016-04-21 15:30:02 +03:00
[Mac (10,9)]
[Static, Export ("materialPropertyWithContents:")]
SCNMaterialProperty Create (NSObject contents);
}
#if !WATCH
[NoWatch]
2016-04-21 15:30:02 +03:00
[StrongDictionary ("SCNProgram")]
interface SCNProgramSemanticOptions {
nuint MappingChannel { get; set; }
}
#endif
2016-04-21 15:30:02 +03:00
[Watch (3,0)]
2016-04-21 15:30:02 +03:00
[StrongDictionary ("SCNHitTest")]
interface SCNHitTestOptions {
bool FirstFoundOnly { get; set; }
bool SortResults { get; set; }
bool BackFaceCulling { get; set; }
bool BoundingBoxOnly { get; set; }
bool IgnoreChildNodes { get; set; }
bool IgnoreHiddenNodes { get; set; }
SCNNode RootNode { get; set; }
Merge xcode9 into d15-4[-xi] (#2710) * [FileProvider] Add Xcode 9 Beta 1, 2 & 3 Bindings (#2279) * [FileProvider] Add Xcode 9 Beta 1 Bindings * Better naming * Feedback not related to BindAs * [FileProvider] Removes BindAs, add manual code for it and updated to Beta 3 * [FileProvider] Implement feedback * [CoreSpotlight] Updated spotlight bindings for xcode 9 beta 3. (#2193) Updated spotlight bindings for xcode 9 beta 3. * Fix warning caused by duplicate (#2354) * [FileProviderUI] Add Xcode 9 Beta 1 to 3 bindings (#2356) * Bump to Xcode 9 beta 4 * [arkit] ARLightEstimate does not conform to NSCopying anymore (fix unit test) * [uikit] NSFileProviderExtension.ReparentItem got a new parameter in beta4 (fix unit test) * [coreimage] CIImageAccumulator init returns nil in beta 4 There's no header change to mention `init` is not allowed but it's not clear how this default initializer could be used. Also make public some other API to construct this type (outside of XM). It's not clear why there were `internal` as they are (at least now) part of the header files. * [photos] Add helpers when PHLivePhotoEditingOption/NSDictionary is null (to avoid ambiguous API) (#2360) Adding a strongly typed `PHLivePhotoEditingOption` (a strongly typed version of an `NSDictionary`) can cause a `CS0121` (call is ambiguous) since using a `null` argument is common (only one option exist so far). This PR adds overloads that makes the code nicer in such case, e.g. before Xcode9: > // null is used when no options are given > _foo.SaveLivePhoto (output, null, completion); current (Xcode 9) > // casting required to remove ambiguity with PHLivePhotoEditingOption > _foo.SaveLivePhoto (output, (NSDictionary)null, completion); with this PR > // no option, no argument > _foo.SaveLivePhoto (output, completion); The same applies to `PrepareLivePhotoForPlayback`. * [tests] Disable/tweak two tests that breaks on (almost) all Xcode updates Those tests were not added to validate xOS so just keep the parts that helps us (without constantly checking back the new break flavor) * Disable watchOS to check if this hides others issues * [mapkit] Update for beta 4 * [coredata] Update for beta 4 * [wkwebkit] Update for beta 4 Note: WKWindowFeatures.h is not compiled (part of the framework umbrella) and the `@interface WKWindowFeatures (WKPrivate)` sounds like it should not have been exposed (it's all fields starting with `_`) * [corelocation] Update for beta 4 * Revert "Disable watchOS to check if this hides others issues" This reverts commit fed2249fa43290a1956ab2fe0d48f83ab6db9711. * [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]: https://github.com/xamarin/xamarin-macios/blob/f5956d6cc1eb5dfa7bab16628cf282d40237f64e/src/generator.cs#L5985 * [FinderSync] Update to beta 4 (#2377) * [ImageIO] Update to Xcode 9 (#2353) * [PhotosUI] Move macOS photosui bindings out of photos.cs into photosui.cs (#2358) * [quicklook] Update up to beta 4 (#2374) * [uikit] UIDragInteraction & UIDragInteractionDelegate (Xcode 9 b1,2,3) (#2357) * [safariservices] Update up to beta 4 (#2380) * [coreanimation] Update to beta 4 (#2382) Apple removed (mistake?) some API in beta 1. Filed as rdar 33590997 Internal tracking in https://trello.com/c/J8BDDUV9/86-33590997-coreanimation-quartzcore-api-removals * [storekit] Update up to beta 4 (#2379) * [CoreML] Update to Xcode 9 Beta 4 (#2387) * [uikit] UICollectionView/UITableView Drag & Drop (Xcode 9 b1,2,3 & 4) (#2355) * Update code after radar 32929318 and 32897776 are fixed in b4 (#2394) * [xcode9 CoreAudio] New definitions from Beta1 to Beta3 (#2359) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 (#2397) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 https://bugzilla.xamarin.com/show_bug.cgi?id=58512 Created strong API (VNBarcodeSymbology) on the following properties * VNDetectBarcodesRequest.SupportedSymbologies * VNDetectBarcodesRequest.Symbologies * VNBarcodeObservation.Symbology * Remove modern C# because classic can't do it 😡 * [mediaplayer] Update up to beta 4 (#2388) * [watchkit] Update to beta 4 (#2398) * Bump Visual Studio for Mac max version (#2408) * [coreimage] Add CIBarcodeDescriptor and enabled missing API for VNBarcodeObservation. Fix #58197 (#2411) https://bugzilla.xamarin.com/show_bug.cgi?id=58197 * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 (#2407) * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 * [uikit] Fixes based on comments * [coreimage] CIImageAccumulator API fixes. Fix #58349 (#2412) * Obsolete the default `init`; * XM exposed some older APIs using `int` instead of `CIFormat`. This is fixed and old APIs are obsoleted; * Both new & old APIs are now using `CIFormat` for both XI and XM. https://bugzilla.xamarin.com/show_bug.cgi?id=58349 * [uikit] UIText drag & drop - up to Xcode 9 beta 4 (#2410) * [uikit] UISplitView & UIStackView up to Xcode 9 beta 4 (#2425) * Bump XI/XM versions before preview 4 (#2422) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 (#2378) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 * [PDFKit] Implement feedback * [PDFKit] the forgotten enum * [PDFKit] More feedback * [PDFKit] Add Mac changes * Missing change * Fix test RectangleF VS CGRect * Pass -Wunguarded-availability-new to quiet a new clang warning (#2424) - https://bugzilla.xamarin.com/show_bug.cgi?id=58574 * [mtouch/mmp] Ignore warnings about unguarded code section with regards to availability. (#2441) * [monotouch-test] Remove workaround for fixed Apple bug. (#2445) * Bump to Xcode 9 beta 5. (#2447) * Bump to Xcode 9 beta 5. * [mmp] Disable the partial static registrar, because Apple's macOS SDK is broken. > In file included from Xamarin.Mac.registrar.mobile.i386.m:1: > In file included from ./Xamarin.Mac.registrar.mobile.i386.h:11: > /Applications/Xcode9-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVFoundation.h:88:9: fatal error: 'AVFoundation/AVRouteDetector.h' file not found https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [mmp] Fix partial static registrar removal. * [CallKit] Update to Xcode 9 beta 5. * [ARKit] ARPointCloud doesn't conform to NSCopying anymore in Xcode 9 beta 5. * [ARKit] Update to Xcode 9 beta 5 enough to make tests happy. * [CoreImage] Stub out new filters in Xcode 9 beta 5. * [tests][monotouch] Simplify some MDLMesh asserts since values change a lot between OS versions. * [mmp] Default to the dynamic registrar for release builds again, due to bug #58629. https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [tests][introspection] CXCall started implementing NSCopying without saying so in the headers. * Disable mmp static registrar tests due to 58629 for now * [quicklook] Update to beta 5 (#2450) * [photos] Update for beta 5 (#2452) Also update some existing enum members were added in beta 1 on macOS * [safariservices] Update for beta 5 (#2455) * [mediaplayer] Update to beta 5 (#2456) * [CoreLocation] Update Xcode 9 Beta 5 (#2453) * [CoreML] Update to Xcode 9 Beta 5 (#2454) * [Contacts] Update to Xcode 9 Beta 5 (#2451) * [Vision] Update to Xcode 9 Beta 5 (#2458) * [builds] Tell LLVM to stay away from newer macOS functions. (#2459) Fixes this build problem on Sierra: > ld: weak import of symbol '_futimens' not supported because of option: -no_weak_imports for architecture x86_64 This is a symbol that was (will be?) introduced in High Sierra. Interestingly this only occurs if the Xcode 8.X Command Line Tools haven't been manually installed. Because if the Xcode 8.X Command Line Tools are installed, this happens: 1. llvm's configure script detects that 'futimens' is not usable. 2. llvm's configure script detects that 'futimens' is not usable, because xcrun sets SDKROOT=/ when calling clang. a. When the SDKROOT variable is set, clang passes '-syslibroot /usr/lib' to ld. b. When ld gets '-syslibroot /usr/lib', ld looks in '/usr/lib' for a library that contains 'futimens' in the OS itself, and since we're on Sierra, that fails to link. c. So when llvm's configure script creates a test program that checks if 'futimens' is present, the program fails. This is correct, and makes llvm *not* use futimens. 3. xcrun sets SDKROOT=/ because /usr/share/current-os.sdk/Info.plist exists. If that file does not exist, then xcrun sets SDKROOT to Xcode9's macOS SDK (because that's what xcode-select reports). a. When SDKROOT is set to Xcode9's macOS SDK, the configure check for 'futimens' succeeds, because the macOS 10.13 SDK contains that function. b. llvm happily uses 'futimens', and then the final link fails because we're using a symbol not available on all target platforms. * [arkit] Update for Xcode 9 beta 5 - Part 1 (#2460) * [tests] The container app for watchOS tests should be 64-bit. (#2463) * [xharness] watchOS tests need to run in a clean environment. Works around #58348. (#2462) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [xharness] It watchOS tests don't need to be clean anymore. Fixes #58348. (#2473) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [uikit] UIView/UIScrollView/UIViewController up to Xcode 9 beta 5 (#2431) - Add NSDirectionalEdgeInsets type. - Includes DirectionalEdgeInsetsTest. * [AudioToolbox] Update bindings to Xcode 9 beta3 (not later changes). (#2294) * [xharness] Add a file existence check. (#2478) Fixes this exception: ``` Harness exception for 'introspection': System.IO.FileNotFoundException: Could not find file '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log'. File name: '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log' at System.IO.__Error.WinIOError (System.Int32 errorCode, System.String maybeFullPath) [0x00207] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/__error.cs:188 at System.IO.FileInfo.get_Length () [0x00038] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/fileinfo.cs:171 at xharness.CaptureLog.StopCapture () [0x00021] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Log.cs:252 at (wrapper remoting-invoke-with-check) xharness.CaptureLog:StopCapture () at xharness.AppRunner+<RunAsync>d__68.MoveNext () [0x0127f] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/AppRunner.cs:642 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter`1[TResult].GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:357 at xharness.RunSimulatorTask+<RunTestAsync>d__7.MoveNext () [0x0029d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2894 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.RunTestTask+<ExecuteAsync>d__8.MoveNext () [0x0010b] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2538 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.TestTask+<RunInternalAsync>d__87.MoveNext () [0x0010d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:1870 ``` I'm not sure how this can happen, but it has on the bots [1]. [1] https://jenkins.mono-project.com/job/xamarin-macios-pr-builder/4548/Test_Report/ * Bump versions for preview 5 (#2479) * [passkit] Update to beta 5 (#2481) * [tests] Remove workaround for radar #32688391. (#2486) * [replaykit] Update up to beta 5 (#2484) * Bump maccore to get fix for bug #55064. (#2487) * [apidiff] Update definition to new 10.12 (d15-3) stable release (#2490) * [SceneKit] basic work (#2483) * [coredata] Update to beta 5 (#2488) * [homekit] Update for Xcode 9 beta 5 (#2492) * [Foundation] Update for xcode9 (#2468) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 (#2493) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 * [Intents] Implement feedback * [Intents] Add a generic version for INInteraction.GetParameterValue * [Intents] Missing check * [Contacts] Add missing foundation NSItemProviderWriting protocol to CNContact (#2496) https://bugzilla.xamarin.com/show_bug.cgi?id=58203 This is available on all Contacts supported platforms ``` ./iPhoneOS.platform/Developer/SDKs/iPhoneOS11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchOS.platform/Developer/SDKs/WatchOS4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchSimulator.platform/Developer/SDKs/WatchSimulator4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ``` * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) (#2497) * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) * [IntentsUI] Better use a delegate instead so we have named params * Bump versions before 6th preview (#2514) * [arkit] Add missing MarshalDirective to ARPlaneAnchor (#2517) - Fixes bug #58648: ARPlaneAnchor.Extent property seems incorrect but changes to correct value after Debug access (https://bugzilla.xamarin.com/show_bug.cgi?id=58648) * [xtro-sharpie] Fix a compiler warning. (#2516) Fixes these warnings: Runner.cs(197,5): warning CS0642: Possible mistaken empty statement Runner.cs(199,5): warning CS0642: Possible mistaken empty statement Runner.cs(201,5): warning CS0642: Possible mistaken empty statement Runner.cs(203,5): warning CS0642: Possible mistaken empty statement Runner.cs(205,5): warning CS0642: Possible mistaken empty statement * [uikit] Update for Xcode 9 beta 5 - Part 3 (#2511) - UIKeyCommand - UINavigationBar - UINavigationItem - UIPasteboard - UITableViewHeaderFooterView * [xtro-sharpie] Remove xtro-plugin and misc other fixes. (#2522) * [xtro-sharpie] Build with msbuild and be as quiet as requested when building. * [xtro-sharpie] Must run as a 64-bit process, since the required native libraries are 64-bit. * [xtro-sharpie] Add run configurations to the project file to ease debugging in the IDE. * [xtro-sharpie] Remove xtro-plugin and the related commands. This was needed when there wasn't a 64-bit mono, in order to run xtro-sharpie in a 64-bit process. Now there is a 64-bit mono, so it's not needed anymore. Also improve makefile targets a bit, to auto-build stuff when needed, by setting the right dependencies. * Bump Xcode 9 to beta 6 (#2519) Disable watchOS tests again It seems like the Carousel crash from beta 4 is back to haunt us. This was working fine with beta 5. * Backport d15-3 SR2 fixes (#2515) * [coredata] Update to beta 6 (#2528) This seems to only revert some nullability changes from beta 5. * [coreml] Update to beta 6 (#2531) Fix our rdar 33643011 where additional setters were added in the headers but did not exists. * [videosubscriberaccount] Update to beta 6 (#2533) Only b1 and b2 introduced some additions/changes * [uikit] Update for Xcode 9 beta 6 - Part 4 (#2527) The following headers are now up to date: - UICollectionViewFlowLayout.h - UIDocumentPickerViewController.h - UIFontDescriptor.h - UIImage.h - UIImageView.h - UIImagePickerController.h * [xharness] Re-enable the watchOS tests. (#2534) It works fine for me locally, so let's see what Jenkins says. * [macos] Add new APIs in CoreWlan from Xcode9b3 (#2525) * Update AppKit bindings based on radar 33271241 results (#2518) * Update AppKit bindings based on radar 33271241 results - The header comment was updated to note it was NSSliderTouchBarItem view that has the protocol * Remove NSUserInterfaceCompression where not listed in header * [vision] Update to beta 6 (#2532) Removal of some deprecated (during beta) `init*` selectors. Also sync the versions that were inlined in subclasses - the old ones were not removed and the new ones were not added. * [xtro-sharpie] Many methods don't have selectors in Clang's API, so default to the name if no selector. (#2523) This makes a few more unclassified entries show up (mostly missing designated initializers): https://gist.github.com/rolfbjarne/07aa20f9b50b75bf3e69ac6a825e873a * [macos] Add ExternalAccessory APIs from xcode9 (#2526) * [58851] Disable NSMenuView in AllItemsWithNSMenuShouldAllowNull (#2504) * [arkit] Update for Xcode 9 beta 5 - Part 2 (#2505) - Add last missing selector. - Add tests for manual code. * [monotouch-test] Disable FontDescriptorTest.WithFeature (#2537) Disabled because it looks like the tvOS font we use: "Gujarati Sangam MN" does not have rare ligatures anymore (and the entire test is based on it). Before getting an actual fix for that, let's disable the test so it doesn't break all current builds. See: https://bugzilla.xamarin.com/show_bug.cgi?id=58929 * [xtro-sharpie] Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute. (#2524) Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute to calculate the native name for a TypeDefinition. Unclassified changes: https://gist.github.com/rolfbjarne/828f8ee41eebb0a3b60a38d71822fe59 * [foundation/uikit] Inline NSItemProvider_UIKitAdditions in NSItemProvider (#2538) As suggested here: https://github.com/xamarin/xamarin-macios/pull/2527#discussion_r134670981 * [intents] Fix breaking changes (api-diff) (#2543) Additions of @required members inside `INSpeakable` cannot be `[Abstract]` * [contacts] Fix breaking change (api-diff) (#2542) Type Changed: Contacts.CNPostalAddress Removed method: public static string LocalizeProperty (CNPostalAddressKeyOption option); * [macos] Reenable static registrar since Xcode9b6 un-broke SDK headers (#2544) - Fix a subtle spacing issues in PartialStaticLibrary property * [corebluetooth] Update up to beta 6 and enable it on watchOS (#2540) macOS 10.13 has finally catch up with iOS and this simplifies the bindings a bit. * [foundation] API fixes (apidiff) (#2545) 1. Let's not add new, already [Obsolete] API Type Changed: Foundation.NSDimension Added constructors: [Obsolete ("Not intended to be directly instantiated, this is an abstract class.")] public NSDimension (); 2. Fix inconsistently named API, e.g. Type Changed: Foundation.NSAttributedString Added properties: public static string[] ReadableTypeIdentifiersForItemProvider { get; } public static string[] WritableTypeIdentifiers { get; } * [pdfkit] Do not add already [Obsolete] API in new profiles (#2547) and ensure using the newer, correct API works cross-platforms iOS (before) [Obsolete ("Use 'Find (string, NSStringCompareOptions)' instead.")] public virtual PdfSelection[] Find (string text, nint options); public PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'Find (string, PdfSelection, NSStringCompareOptions)' instead.")] public virtual PdfSelection Find (string text, PdfSelection selection, nint options); public void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string, NSStringCompareOptions)' instead.")] public virtual void FindAsync (string text, nint options); public void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string [], NSStringCompareOptions)' instead.")] public virtual void FindAsync (string[] text, nint options); iOS (after) public virtual PdfSelection[] Find (string text, Foundation.NSStringCompareOptions compareOptions); public virtual PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); * Bump versions for the 7th preview (#2541) * Remove additions of AVKit removed in beta5 (#2536) * NSUrlSessionTask should implement NSProgressReporting for iOS (#2548) NSUrlSessionTask implements NSProgressReporting on iOS as well as Mac, so the #if MONOMAC isn't needed. * Add missing availability attributes causing failures on older iOS versions (#2550) * [vision] Minor fix wrt xtro (#2551) including some things we need to ignore manually !missing-field! VNVisionVersionNumber not bound !missing-pinvoke! VNImagePointForFaceLandmarkPoint is not bound !missing-pinvoke! VNNormalizedFaceBoundingBoxPointForLandmarkPoint is not bound * [uikit] NSFileProviderMessaging was removed in beta 2. Fixes #58222 (#2552) reference: https://bugzilla.xamarin.com/show_bug.cgi?id=58222 * [uikit] Update for Xcode 9 - Part 5 (#2546) Bindings for the following headers: - UIActivity.h - UIActivityItemProvider.h - UIAlertController.h - UIApplication.h - UIBarButtonItem.h - UIButton.h - UICollectionViewLayout.h - UIColor.h - UIControl.h - UIDocumentMenuViewController.h - UIFontMetrics.h - UIGestureRecognizer.h - UIGraphicsImageRenderer.h - UIInputViewController.h * [CoreText] Fix an extraneous free in CTFont.GetDefaultCascadeList. (#2555) We do not own the return value from CFArrayGetValueAtIndex, so don't say we do when creating CTFontDescriptor instances, since that leads to angry dragons: 2017-08-28 20:15:20.293 monotouchtest[33186:2311738] A_FontTest 2017-08-28 20:15:20.294 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithFontDescriptorAndOptions 2017-08-28 20:15:20.295 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithNameAndOptions 2017-08-28 20:15:20.296 monotouchtest[33186:2311738] critical: Stacktrace: at <unknown> <0xffffffff> at (wrapper managed-to-native) CoreText.CTFont.CTFontCopyDefaultCascadeListForLanguages (intptr,intptr) [0x0000a] in <ae65a2b1eea242d2b68fe784749543bf>:0 at CoreText.CTFont.GetDefaultCascadeList (string[]) [0x00013] in /work/maccore/xcode9/xamarin-macios/src/CoreText/CTFont.cs:2185 at MonoTouchFixtures.CoreText.A_FontTest.GetCascadeList () [0x0001e] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/CoreText/FontTest.cs:78 at (wrapper runtime-invoke) object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) [0x0004f] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) System.Reflection.MonoMethod.InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&) [0x00016] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at System.Reflection.MonoMethod.Invoke (object,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo) [0x00032] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/corlib/System.Reflection/MonoMethod.cs:305 at System.Reflection.MethodBase.Invoke (object,object[]) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/referencesource/mscorlib/system/reflection/methodbase.cs:229 at NUnit.Framework.Internal.Reflect.InvokeMethod (System.Reflection.MethodInfo,object,object[]) [0x00009] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Reflect.cs:215 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunNonAsyncTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x00025] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:116 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x0001a] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:90 at NUnit.Framework.Internal.Commands.TestMethodCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:66 at NUnit.Framework.Internal.Commands.SetUpTearDownCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00007] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/SetUpTearDownCommand.cs:84 at NUnit.Framework.Internal.WorkItems.SimpleWorkItem.PerformWork () [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/SimpleWorkItem.cs:64 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at MonoTouch.NUnit.UI.BaseTouchRunner.Run (NUnit.Framework.Internal.Test) [0x0004d] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:442 at MonoTouch.NUnit.UI.BaseTouchRunner.Run () [0x00030] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:171 at MonoTouch.Dialog.StringElement.Selected (MonoTouch.Dialog.DialogViewController,UIKit.UITableView,Foundation.NSIndexPath) [0x00008] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/Elements.cs:765 at MonoTouch.Dialog.DialogViewController.Selected (Foundation.NSIndexPath) [0x00026] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:577 at MonoTouch.Dialog.DialogViewController/Source.RowSelected (UIKit.UITableView,Foundation.NSIndexPath) [0x00016] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:402 at (wrapper runtime-invoke) <Module>.runtime_invoke_void__this___object_object (object,intptr,intptr,intptr) [0x0005d] in <32f0c196c5bc4aa18daea2ee64a7814e>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) UIKit.UIApplication.UIApplicationMain (int,string[],intptr,intptr) [0x0005c] in <ae65a2b1eea242d2b68fe784749543bf>:0 at UIKit.UIApplication.Main (string[],intptr,intptr) [0x00005] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:79 at UIKit.UIApplication.Main (string[],string,string) [0x00038] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:63 at monotouchtest.Application.Main (string[]) [0x00011] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/Main.cs:27 at (wrapper runtime-invoke) <Module>.runtime_invoke_void_object (object,intptr,intptr,intptr) [0x00051] in <30a7f7e09de9467b8b454221034a0e38>:0 Native stacktrace: 0 monotouchtest 0x000000010fca03c4 mono_handle_native_crash + 244 1 monotouchtest 0x000000010fcadd30 mono_sigsegv_signal_handler + 288 2 libsystem_platform.dylib 0x000000011feb3b3a _sigtramp + 26 3 CoreFoundation 0x000000011de035a2 computeSanitizedString + 146 4 CoreText 0x00000001168df314 _ZN15TPurgeableCache19RetainedValueForKeyEPKv + 54 5 CoreText 0x00000001168def85 _ZNK17TDescriptorSource22CopyDescriptorUncachedEPK7__CFURLbPK10__CFString + 55 6 CoreText 0x00000001168df34f _ZNK17TDescriptorSource14CopyDescriptorEPK7__CFURLbPK10__CFString + 27 7 CoreText 0x00000001168e20ad _ZNK17TDescriptorSource35CopyFontDescriptorPerPostScriptNameEPK10__CFStringmm + 297 8 CoreText 0x00000001168dfd9e _ZNK17TDescriptorSource30CopySystemFontDescriptorByNameEPK10__CFString10UIFontFlag + 54 9 CoreText 0x00000001168e54c4 _ZNK14TFontFallbacks17CopyFontFallbacksEPK10__CFStringS2_PK9__CFArray + 652 10 CoreText 0x00000001168e4a00 _ZNK14TFontFallbacks29CopyFontFallbacksForLanguagesEPK10__CFStringPK9__CFArray + 122 11 CoreText 0x00000001168e4971 _ZN17TDescriptorSource39CopyDefaultSubstitutionListForLanguagesEPK10__CFStringPK9__CFArray + 61 12 CoreText 0x00000001169397a7 _ZNK9TBaseFont28CreateSystemDefaultFallbacksEPK10__CFStringPK9__CFArray + 51 13 CoreText 0x000000011693999c _ZNK9TBaseFont15CreateFallbacksE10UIFontFlagPPK16__CFCharacterSetPK9__CFArray + 346 14 CoreText 0x00000001168c1036 _ZNK5TFont24CreateDefaultCascadeListEPK9__CFArray + 242 15 CoreText 0x00000001168b8ff9 CTFontCopyDefaultCascadeListForLanguages + 97 16 ??? 0x0000000140eaefd3 0x0 + 5384105939 17 ??? 0x0000000140eae761 0x0 + 5384103777 18 ??? 0x000000013c9c8e74 0x0 + 5311860340 19 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 20 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 21 monotouchtest 0x000000010fd71bac mono_runtime_try_invoke_array + 1292 22 monotouchtest 0x000000010fd15587 ves_icall_InternalInvoke + 647 23 ??? 0x000000013e9fcd13 0x0 + 5345627411 24 ??? 0x000000013e9fc738 0x0 + 5345625912 25 ??? 0x000000013e9fded5 0x0 + 5345631957 26 ??? 0x000000013e9fbb76 0x0 + 5345622902 27 ??? 0x000000013e9e237e 0x0 + 5345518462 28 ??? 0x000000013e9e237e 0x0 + 5345518462 29 ??? 0x000000013e9e237e 0x0 + 5345518462 30 ??? 0x000000013e9e237e 0x0 + 5345518462 31 ??? 0x000000013e873006 0x0 + 5344014342 32 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 33 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 34 monotouchtest 0x000000010fd6e320 mono_runtime_invoke + 208 35 monotouchtest 0x000000010fe71af1 xamarin_invoke_trampoline + 5617 36 monotouchtest 0x000000010fe79ddd xamarin_arch_trampoline + 189 37 monotouchtest 0x000000010fe7b1a1 xamarin_x86_64_common_trampoline + 110 38 UIKit 0x0000000111b9876b -[UITableView _selectRowAtIndexPath:animated:scrollPosition:notifyDelegate:] + 1810 39 UIKit 0x0000000111b98986 -[UITableView _userSelectRowAtPendingSelectionIndexPath:] + 344 40 UIKit 0x0000000111a6b5c9 _runAfterCACommitDeferredBlocks + 318 41 UIKit 0x0000000111a59dad _cleanUpAfterCAFlushAndRunDeferredBlocks + 280 42 UIKit 0x0000000111a89f68 _afterCACommitHandler + 137 43 CoreFoundation 0x000000011de3ddb7 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23 44 CoreFoundation 0x000000011de3dd0e __CFRunLoopDoObservers + 430 45 CoreFoundation 0x000000011de22324 __CFRunLoopRun + 1572 46 CoreFoundation 0x000000011de21a89 CFRunLoopRunSpecific + 409 47 GraphicsServices 0x0000000121b7e9c6 GSEventRunModal + 62 48 UIKit 0x0000000111a5f7d0 UIApplicationMain + 159 49 ??? 0x000000013c9c4474 0x0 + 5311841396 50 ??? 0x000000013c9c40ad 0x0 + 5311840429 ================================================================= Got a SIGSEGV while executing native code. This usually indicates a fatal error in the mono runtime or one of the native libraries used by your application. ================================================================= * [monotouch-test] Don't subclass MKMapView. (#2556) MKMapView doesn't like being subclassed (Apple says "you should not subclass the MKMapView class itself"). Bad things like this starts happening: Thread 0 name: tid_303 Dispatch queue: com.apple.main-thread Thread 0 Crashed: 0 libsystem_kernel.dylib 0x0000000186b25348 __pthread_kill + 8 1 libsystem_pthread.dylib 0x0000000186c39354 pthread_kill$VARIANT$mp + 396 2 libsystem_c.dylib 0x0000000186a94fd8 abort + 140 3 monotouchtest 0x0000000101c02c14 mono_handle_native_crash + 22047764 (mini-exceptions.c:2548) 4 monotouchtest 0x0000000101c0d02c mono_sigsegv_signal_handler + 22089772 (mini-runtime.c:2886) 5 libsystem_platform.dylib 0x0000000186c33b60 _sigtramp + 52 6 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 7 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 8 CoreFoundation 0x0000000186eda51c -[__NSArrayM dealloc] + 68 9 CoreFoundation 0x000000018703f5c8 __CFBasicHashDrain + 312 10 CoreFoundation 0x0000000186fb5b44 _CFRelease + 224 11 CoreText 0x000000018a808404 TDescriptorSource::PurgeFontFallbacksCache+ 488452 () + 92 12 CoreText 0x000000018a808374 TDescriptorSource::PurgeFromCaches+ 488308 (__CFURL const*) const + 176 13 CoreText 0x000000018a7eec74 CTFontRemoveFromCaches + 168 14 VectorKit 0x0000000196a539b0 +[VKSharedResourcesManager removeResourceUser:] + 324 15 VectorKit 0x0000000196ca27a4 md::MapEngine::~MapEngine+ 2643876 () + 360 16 VectorKit 0x0000000196ca2634 md::MapEngine::~MapEngine+ 2643508 () + 12 17 libobjc.A.dylib 0x000000018651eef4 object_cxxDestructFromClass+ 28404 (objc_object*, objc_class*) + 148 18 libobjc.A.dylib 0x000000018652c638 objc_destructInstance + 88 19 libobjc.A.dylib 0x000000018652c690 object_dispose + 16 20 QuartzCore 0x000000018afca3ac -[CALayer dealloc] + 116 21 VectorKit 0x0000000196a43294 -[VKMapView dealloc] + 940 22 QuartzCore 0x000000018af6aafc CA::release_objects+ 744188 (X::List<void const*>*) + 32 23 QuartzCore 0x000000018afd97d8 CA::Layer::~Layer+ 1198040 () + 276 24 QuartzCore 0x000000018afca37c -[CALayer dealloc] + 68 25 QuartzCore 0x000000018af6b16c CA::Transaction::commit+ 745836 () + 1052 26 UIKit 0x0000000190393290 _afterCACommitHandler + 256 27 CoreFoundation 0x0000000186fb38b8 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 32 28 CoreFoundation 0x0000000186fb1270 __CFRunLoopDoObservers + 412 29 CoreFoundation 0x0000000186fb182c __CFRunLoopRun + 1292 30 CoreFoundation 0x0000000186ed22d8 CFRunLoopRunSpecific + 436 31 GraphicsServices 0x0000000188d58f84 GSEventRunModal + 100 32 UIKit 0x000000019040427c UIApplicationMain + 208 33 monotouchtest 0x000000010106eb90 wrapper_managed_to_native_UIKit_UIApplication_UIApplicationMain_int_string___intptr_intptr + 9907088 (/<unknown>:1) 34 monotouchtest 0x0000000100f0d6ac UIKit_UIApplication_Main_string___intptr_intptr + 8459948 (UIApplication.cs:79) 35 monotouchtest 0x0000000100f0d66c UIKit_UIApplication_Main_string___string_string + 8459884 (UIApplication.cs:63) 36 monotouchtest 0x0000000100b10450 monotouchtest_Application_Main_string__ + 4277328 (Main.cs:27) 37 monotouchtest 0x0000000100e0c244 wrapper_runtime_invoke_object_runtime_invoke_dynamic_intptr_intptr_intptr_intptr + 244 38 monotouchtest 0x0000000101c10048 mono_jit_runtime_invoke + 22102088 (mini-runtime.c:2526) 39 monotouchtest 0x0000000101c75eec do_runtime_invoke + 22519532 (object.c:2829) 40 monotouchtest 0x0000000101c78a3c do_exec_main_checked + 22530620 (object.c:4623) 41 monotouchtest 0x0000000101bf9a1c mono_jit_exec + 22010396 (driver.g.c:1040) 42 monotouchtest 0x0000000101d13d60 xamarin_main + 23166304 (monotouch-main.m:482) 43 monotouchtest 0x00000001007de710 main + 927504 (main.m:67) 44 libdyld.dylib 0x00000001869f656c start + 4 * [introspection] Let SkipDueToAttributeInProperty skip setters too (#2557) `SkipDueToAttributeInProperty` which is used to check the availability attribute of properties when the Availability info only exist on the property and not on the property Getter or Setter was wrong. This lead to `setSpringLoaded` (which was introduced in iOS 11) to not be ignored by the test (making it fail). - Fix bug #59085: [introspection-ios] selector not found for UIKit.UIBarButtonItem : setSpringLoaded: - Broken test (https://bugzilla.xamarin.com/show_bug.cgi?id=59085) * [corevideo][watchos] Enable CoreVideo on watchOS (#2553) * [storekit] Fix CampaignToken typo (#2559) (#2560) - Fixes bug #59078: StoreProductParameters and invalid property for CampaignToken (https://bugzilla.xamarin.com/show_bug.cgi?id=59078) * [coreml][watchos] Enable API using CoreVideo on watchOS. Fix #58097 (#2561) https://bugzilla.xamarin.com/show_bug.cgi?id=58097 * Add missing [MarshalDirective] attributes. (#2558) * [bindings-generator] Improve build & project file. * Add missing [MarshalDirective] attributes. Add missing [MarshalDirective] attributes, which also requires implementing support for out parameters in the binding generator, since one of the signatures missing the [MarshalDirective] contains such an out parameter. Also add tests for all the API I've added [MarshalDirective] to. * [bindings-generator] Remove redundant if check. * [monotouch-test] Rename file to end with 'Test.cs'. * [tests] Fix a few build errors for Xamarin.Mac. * [uikit] Fix UIColor and UIInputViewController tvOS availability (#2569) - Fixes introspection tests on tvOS 10. * [storekit] Fix SKCloudServiceSetupMessageIdentifier and SKProductStorePromotionController tvOS availability (#2568) - Fixes introspection tests on tvOS 10. * [mapkit] Fix MKMapItemTypeIdentifier tvOS availability (#2566) - Also remove double [Mac] availability attribute. - Fixes introspection tests on tvOS 10. * [ARKit] Fix marshalling for ARPointCloud.RawFeaturePoints. (#2565) ARPointCloud.RawFeaturePoints is an array of Vector3, but each vector is 16-byte aligned (as if it were an array of Vector4). This means we need to account for this when creating a managed array from pointer to the native C-style array. * [ModelIO] Fix MDLVoxelIndexExtent struct. (#2564) The MDLVoxelIndexExtent is a struct containing two 4-dimensional vectors of integers (not floats, as originally and incorrectly implemented). Fix this my creating a new MDLVoxelIndexExtent2 struct with the right fields, re-implement all the API that exposes this struct and obsolete the old API. Also add missing [MarshalDirective] attributes. And write a test to make sure it works fine now and forever. * [coredata] Enable new fields since rdar #33878590 is fixed w/beta 6 (#2570) reference: https://trello.com/c/dlSRYPFx * [xtro-sharpie] Add a Simd check class to verify signatures with Simd types. * [Simd] Add simd matrix types. The OpenTK matrices (Matrix2/3/4) has a different memory layout than Apple's matrix_float2x2/matrix_float3x3/matrix_float4x4 matrices: the OpenTK versions are row-major, while Apple's versions are column-major. This means that when blitting memory from one to the other, the matrix will appear to have been transposed. See bug #[58599][2] for an example. Unfortunately we've already bound several API with Apple's matrix_floatXxX matrices using OpenTK's matrices, and although they're bound wrong, and the matrices appear transposed on input/output, we can't change the behavior because we have to maintain compatibility. This means we have to introduce new API, and then also just define new matrix types with the right memory layout (column-major). Additionally, in the future we might be able to mark these matrices as Simd-matrixes, so that the JIT/AOT compiler can generate the correct alignment for them, avoiding having to define a native conversion method (using the [MarshalDirective] hack). The matrices have been designed to match API-wise the matrices in the System.Numerics.Vectors namespace [1], but for the moment with only a few basic operations implemented (Determinant/Transpose/Multiply) defined (we can always add more later if we want to). In addition explicit conversion operators to and from the corresponding OpenTK.MatrixX are implemented, which means any operation defined in the OpenTK matrices can be used by converting back and forth. [1]: https://msdn.microsoft.com/en-us/library/system.numerics.matrix4x4(v=vs.111).aspx [2]: https://bugzilla.xamarin.com/show_bug.cgi?id=58599 * [ARKit] Use the new Simd matrix types. * [Vision] Use the new Simd matrix types. * [ModelIO] Use the new Simd-compatible matrix types, and deprecate the old API. * [GameplayKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [SpriteKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [xtro] Don't report missing [MarshalDirective] for obsolete methods. * [xtro] Remove unnecessary ignores. The implementation changed, and these stayed accidentally. * [wkwebkit] Fix (native) protocol names (#2572) Also ignore xtro's WKSnapshotConfiguration since it's an Apple bug 34185961 reference (xtro) !missing-protocol! WKURLSchemeHandler not bound !missing-protocol! WKURLSchemeTask not bound !unknown-protocol! WKUrlSchemeHandler bound !unknown-protocol! WKUrlSchemeTask bound !unknown-type! WKSnapshotConfiguration bound * [uikit] Fix enums availability attributes (#2575) - Fixes bug #59132: [uikit] Extra types in watchOS (https://bugzilla.xamarin.com/show_bug.cgi?id=59132) * [watchkit] Add missing designated initializers (#2574) references (xtro) !missing-designated-initializer! WKInterfaceController::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! WKUserNotificationInterfaceController::init is missing an [DesignatedInitializer] attribute * [xtro] Reword some of the Simd diagnostic messages according to review. * [tests] Make sure test symbols don't clash between different test libraries. Fixes this build problem for framework-test: clang: error: linker command failed with exit code 1 (use -v to see invocation) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_get_rotation_matrix'. MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticObjectTest.framework/XStaticObjectTest (Location related to previous error) MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticArTest.framework/XStaticArTest(libtest-ar.x86_64.o) (Location related to previous error) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransformcomponent_get_local_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_create_global_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float4x4'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float3x3'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float2x2'. MTOUCH: error MT5209: Native linking error: 6 duplicate symbols for architecture x86_64 MTOUCH: error MT5202: Native linking failed. Please review the build log. * [tests] Since libtest.a need ModelIO now, the corresponding LinkWith attributes need to state that too. * [introspection] Don't check native signatures on obsolete members, and ignore the right simd matrix types. Fixes this introspection/Mac problem: ***** ApiSignatureTest.NativeSignatures Selector: uniformWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: uniformWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: uniformWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: setMatrixFloat2x2Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: setMatrixFloat3x3Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: setMatrixFloat4x4Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: initWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: initWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: initWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded * [monotouch-tests] Include more custom asserts for watchOS to make the build work. Fixes this: Simd/MatrixFloat4x4Test.cs(28,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(29,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(37,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(48,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' [...] * [monotouch-test] Exclude code that requires the binding project from xammac tests. Exclude code that requires the test binding project from xammac tests because there's currently no XM version of the test binding project. Fixes this: tests/monotouch-test/SpriteKit/UniformTest.cs(20,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLMaterialProperty.cs(37,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLTransform.cs(34,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) * Bump version for preview #8 (#2576) * [spritekit] Audit fixes (xtro) (#2577) 1. SKVideoNode is now, partially, available on watchOS and does not require the extra, manual code to swicth selectors depending on the OS version being run. !missing-type! SKVideoNode not bound !missing-selector! SKVideoNode::anchorPoint not bound !missing-selector! SKVideoNode::initWithCoder: not bound !missing-selector! SKVideoNode::initWithFileNamed: not bound !missing-selector! SKVideoNode::initWithURL: not bound !missing-selector! SKVideoNode::setAnchorPoint: not bound !missing-selector! SKVideoNode::setSize: not bound !missing-selector! SKVideoNode::size not bound !missing-selector! +SKVideoNode::videoNodeWithFileNamed: not bound !missing-selector! +SKVideoNode::videoNodeWithURL: not bound 2. SKNodeFocusBehavior is exposed needlessly on watchOS because SpriteKit/Enums.cs was not processed by the generator, so [NoWatch] did not matter. !unknown-native-enum! SKNodeFocusBehavior bound It's also visible on macOS but nothing uses it (so we do not expose it needlessly) !missing-enum! SKNodeFocusBehavior not bound 3. Add missing designated initializer on default `init` !missing-designated-initializer! SKAttributeValue::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! SKNode::init is missing an [DesignatedInitializer] attribute 4. Remove inconsistency for SKNode subclasses wrt XAMCORE_4_0 The trio attributeValues, setAttributeValues and setValue:forAttributeNamed: that was moved from SKNode (deprecated) into its subclasses. This was done using XAMCORE_4_0 but not on every subclasses. This adds them everywhere to be consistent (only SKNode versions are not defined in XAMCORE_4_0) !missing-selector! SKEffectNode::attributeValues not bound !missing-selector! SKEffectNode::setAttributeValues: not bound !missing-selector! SKEffectNode::setValue:forAttributeNamed: not bound !missing-selector! SKEffectNode::valueForAttributeNamed: not bound !missing-selector! SKEmitterNode::attributeValues not bound !missing-selector! SKEmitterNode::setAttributeValues: not bound !missing-selector! SKEmitterNode::setValue:forAttributeNamed: not bound !missing-selector! SKEmitterNode::valueForAttributeNamed: not bound !missing-selector! SKSpriteNode::attributeValues not bound !missing-selector! SKSpriteNode::setAttributeValues: not bound !missing-selector! SKSpriteNode::setValue:forAttributeNamed: not bound !missing-selector! SKSpriteNode::valueForAttributeNamed: not bound * [introspection] Make sure '[FAIL]' is printed before every failure. (#2578) This makes xharness able to list the failures in the inline summary. * [xtro] Reword some of the Simd diagnostic messages according to review. * [xharness] Add a missing IsServerMode check to generate correct html. (#2581) * [SpriteKit] SKTransformNode is new in Xcode 9 so no need to keep the broken (and obsolete) non-simd version of RotationMatrix. * [intents] Fix some (partial) xtro issues and #59156 (#2585) reference https://bugzilla.xamarin.com/show_bug.cgi?id=59156 Remaining issues are filled in https://bugzilla.xamarin.com/show_bug.cgi?id=59183 !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound * [Intents] Confirm* interface methods should be bound as Confirm, Fixes Bug 59164 (#2591) * [Intents] Confirm* interface methods should probably be bound as Confirm, Fixes Bug 59164 https://bugzilla.xamarin.com/show_bug.cgi?id=59164 All Confirm* methods from *IntentHandling interfaces should be named just `Confirm` to avoid confusion because most of them do not directly confirm as an acion, but instead they **ask** for confirmation also we would follow swift's naming by doing this. * [Intents] XAMCORE_4_0 all Confirm* methods from *IntentHandling Turns any Confirm* into just Confirm inside a XAMCORE_4_0 block, * [Intents] Fix breaking changes in Intents added in Xcode 9 Bindings (#2590) Apple added more protocol conformances to INRidesharingDomainHandling and INPaymentsDomainHandling protocols in Xcode 9, I introduced these breaking changes back when I did intents binding so fixing them :) * [Metal] New bindings from Xcode 9 betas (#2457) * [AVFoundation] Updated bindings for xcode9. (#2272) * [Xcode9] Add IOSurface bindings (#2363) * This framework was a private framework before iOS 11. This framework was a private framework before iOS 11, yet the headers claim many API were introduced in iOS 10. So take account of this difference by using the private framework location in iOS 10.3 or earlier. Testing these API from Xcode works fine when run on an iOS 10.3 device, and I've confirmed the IOSurface framework is loaded from the private frameworks path on older devices (and when built using Xcode 9 and linked with the public framework path). * Disable code to make IOSurface work on iOS 10. Disable the code to make IOSurface work on iOS 10, since it may be rejected by the App Store. This also means adjusting the availability attributes, so that the introspection tests pass (and to document that technically these API won't work when used with Xamarin.iOS in iOS 10). I've filed bug #[59201][1] to keep track of this, maybe we can re-enable this later. [1]: https://bugzilla.xamarin.com/show_bug.cgi?id=59201 * [CoreMedia] Fix leak in CMAttachmentBearer.GetAttachments. (#2593) The caller owns the return value from CMCopyDictionaryOfAttachments, so tell Runtime.GetNSObject that. * [Intents] Adds missing API found by xtro, fixes Bug 59183 (#2596) https://bugzilla.xamarin.com/show_bug.cgi?id=59183 Fixes !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !incorrect-protocol-member! INUIHostedViewControlling::configureWithInteraction:context:completion: is OPTIONAL and should NOT be abstract * [xtro] Fix StartWorkingDirectory to enable debugging (#2598) * [iosurface] Enable for tvOS and XM classic (to avoid multiple defines around consumer API) (#2597) * [xtro] Fix EnumCheck (#2600) * [ARKit] Rename a few method to make them nicer. (#2604) * DisplayTransform -> GetDisplayTransform since methods should have verbs. * SessionWasInterrupted -> WasInterrupted and SessionInterruptionEnded -> InterruptionEnded since these names match better with the other names (CameraDidChangeTrackingState / DidFail / DidOutputAudioSampleBuffer: none are prefixed with 'Session'). Additionally, the type is a Model (for the delegate pattern), which means all methods are more-or-less event-like, and the first argument is always the same (the protocol itself), which is another indicator the methods should be named similarly. * [Foundation] Remove 'Key' suffix from some fields. (#2606) Of the 168 fields in NSMetadataItem, only these 5 hadn't removed the 'Key' suffix. So make them all equivalent by removing the 'Key' suffix from these 5 fields. * [ImageIO] Fix API to not duplicate the instance in instance methods. (#2609) An instance method does not need to take the instance as a parameter, so remove the first (instance) parameter for CGImageDestination.AddAuxiliaryDataInfo and CGImageSource.CopyAuxiliaryDataInfo. An alternative solution would be to make the methods static, but I like the instance API better. * [UIKit] De-model UIDataSourceTranslating. (#2603) It's not clear from neither the documentation nor the headers how this protocol is supposed to be used, and since it doesn't correspond to the delegate pattern, remove the [Model] attribute for now. We can always add it back later. * [CoreML] Improve API. (#2592) * [CoreML] Improve API. * The indices, shape and stride properties for MLMultiArray and MLMultiArrayConstraint can logically only be arrays of integers, so type them as such. This means adding overloads for MLMultiArray's constructors, GetObject and SetObject methods, and the indexers that takes nint[] arrays instead of NSNumber[] arrays. * Change MLFeatureValue's static factory methods to be a method ('Create') instead of a preposition, and call all the different factory methods the same, since they can be overloaded nicely. * [tests][monotouch-test] Add version check to MLMultiArrayTest and make sure the arrays we create are big enough for the data we put in them. * [tests][monotouch-test] MLMultiArray's elements aren't zero-initialized, so don't assume that in the tests. * Support overloading Objective-C methods based on static/instance. (#2607) Two Objective-C methods can be named identically as long as one is static and the other instance. We must support this since Apple did just this (in the NSItemProviderReading / NSItemProviderWriting protocols). We solve it by prepending a '+' or '-' to the selector when hashing it (to determine selector uniqueness, and to look the method up again at runtime). * [uikit] Update for Xcode 9 - Part 6 (#2602) NSAttributedString.h NSFileProviderExtension.h NSLayoutAnchor.h UIAccessibility.h UIAccessibilityAdditions.h UIAccessibilityContainer.h UIAccessibilityContentSizeCategoryImageAdjusting.h UIAccessibilityCustomRotor.h UIAccessibilityLocationDescriptor.h UITabBar.h UINavigationBar.h UIScreen.h * Xcode9 scenekit (#2512) * [SceneKit] basic work * Added key * [xcode9] SCNCameraController * [xcode9] SCNCamera updates * [xcode9] SCNMaterial * [xcode9] SCNGeometryTessellator, SCNCameraControlConfiguration, SCNView, small bits * Add trailing commas to last enum value * Remove whitespace noise * [scenekit] Update deprecated attributes messages * Addresses some of Rolf's feedback * Drop the WeakDelegate in SCNCameraController * Rename method to Render, remove ctor from class that can not be constructed in Palygrounds, add typo exception * [AppKit] Rename NSBezierPath.AppendBezierPathWithCGGlyph to match its sibling methods. (#2605) NSBezierPath contains a lot of 'AppendPathWithXXX' methods, that all map to 'appendBezierPathXXX' selectors. So rename AppendBezierPathWithCGGlyph accordingly, to make it more similar to the other methods in the same type. * [uikit] Add all UISpringLoadedInteractionSupporting (#2616) Types do not conform to the protocol but protocol methods work on those types (see monotouch-test). Fixed introspection tests accordingly and tested the selectors in monotouch-test. * [Intents] Add convenience ctor overload and call correct base ctor in manual ctor. (#2613) Add a convenience constructor overload in INGetUserCurrentRestaurantReservationBookingsIntent that uses nint instead of NSNumber, since logically "number of results" will always be some sort of integer. Also call the correct base constructor in INSpeakableString's custom constructor (same as any other generated constructor). Otherwise we end up doing something like this: [[[INSpeakableString alloc] init] initWith ...], i.e. calling two different init methods. * [coreimage] Add new headers API up to beta 6 (#2601) Filters are not complete (ref: #57350) https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * Some new constants are not yet documented (type is known), so they are commented / ignored https://bugzilla.xamarin.com/show_bug.cgi?id=59296 * Filled bug for [Wrap] inside [Category] so strong dictionary helpers can be re-enabled later https://bugzilla.xamarin.com/show_bug.cgi?id=59294 * [foundation] xtro fixes for watchOS (#2586) !missing-enum! NSProcessInfoThermalState not bound !missing-field! NSProcessInfoThermalStateDidChangeNotification not bound !missing-selector! NSProcessInfo::thermalState not bound Headers are wrong and preferredPresentationStyle is not in tvOS and watchOS !missing-selector! NSItemProvider::preferredPresentationStyle not bound !missing-selector! NSItemProvider::setPreferredPresentationStyle: not bound * [uikit] Also remove UIPreferredPresentationStyle enum from platform where it's not used * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. (#2614) * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. * NSItemProviderWriting: * NSItemProviderReading: Implement correctly and completely by uncommenting commented out code. * NSMutableString: * NSAttributedString: remove inlined members, since these classes don't implement NSItemProviderReading / NSItemProviderWriting (according to the headers at least). * NSUrl: all platforms now seem to implement NSItemProviderReading / NSItemProviderWriting. * NSString: all platforms now seem to implement both NSItemProviderReading and NSItemProviderWriting * UIColor: * UIImage: Update inlined protocol members according to the latest beta. Additionally, due to the following conditions: * The protocols all have the correct members now. * In the API definition we tell the generator to inline members from a protocol by inheriting from the corresponding interface. * The generator doesn't inline static members from protocols. several 'new' keywords had to be added to silence a compiler warning that occurrs when we manually inline a static member, since the member would be included in the type both from the inherited interface and the manual implementation. * [Foundation] Comment out NSItemProviderWriting.GetItemProviderVisibility to avoid inlining/generating unusable methods. NSItemProviderWriting.GetItemProviderVisibility is an optional method, and none of the native classes that implements NSItemProviderWriting actually imlements the method. This means inlining the method in those classes ends up creating unusable API; so just comment out the method to avoid generating the unusable API. The introspection tests found this: [FAIL] Foundation.NSString : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Foundation.NSUrl : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Contacts.CNContact : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] MapKit.MKMapItem : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIColor : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIImage : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] iOSApiSelectorTest.ApiSelectorTest.StaticMethods : 6 errors found in 2348 static selector validated: See also https://bugzilla.xamarin.com/show_bug.cgi?id=59308 * [iosurface] Add missing [TV] attributes (#2619) * [opengles] Enable the new API using IOSurface (#2618) The symbol only exists inside device libraries, not on simulator, and the introspection tests were updated to ignore it. Part of https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [avfoundation][watchos] Enable AudioBufferList (fix #59145) + audit (xtro) (#2617) 1. AudioBufferList is part of CoreAudio (wrong namespace, which needs a few changes in the generator) and now available in watchOS 4 https://bugzilla.xamarin.com/show_bug.cgi?id=59145 2. Also fixes xtro found issues: !missing-type! AVAudioRecorder not bound !missing-selector! AVAudioRecorder::averagePowerForChannel: not bound !missing-selector! AVAudioRecorder::channelAssignments not bound !missing-selector! AVAudioRecorder::currentTime not bound !missing-selector! AVAudioRecorder::delegate not bound !missing-selector! AVAudioRecorder::deviceCurrentTime not bound !missing-selector! AVAudioRecorder::format not bound !missing-selector! AVAudioRecorder::initWithURL:format:error: not bound !missing-selector! AVAudioRecorder::initWithURL:settings:error: not bound !missing-selector! AVAudioRecorder::isMeteringEnabled not bound !missing-selector! AVAudioRecorder::isRecording not bound !missing-selector! AVAudioRecorder::peakPowerForChannel: not bound !missing-selector! AVAudioRecorder::recordAtTime: not bound !missing-selector! AVAudioRecorder::recordAtTime:forDuration: not bound !missing-selector! AVAudioRecorder::recordForDuration: not bound !missing-selector! AVAudioRecorder::setChannelAssignments: not bound !missing-selector! AVAudioRecorder::setDelegate: not bound !missing-selector! AVAudioRecorder::setMeteringEnabled: not bound !missing-selector! AVAudioRecorder::settings not bound !missing-selector! AVAudioRecorder::url not bound !missing-protocol! AVAudioRecorderDelegate not bound !missing-selector! AVAudioEngine::inputNode not bound !missing-selector! AVAudioEngine::manualRenderingBlock not bound !missing-selector! AVAudioInputNode::setManualRenderingInputPCMFormat:inputBlock: not bound !missing-selector! AVAudioPlayer::format not bound !missing-selector! AVAudioSession::requestRecordPermission: not bound !unknown-field! AVFileType3GPP bound !unknown-field! AVFileType3GPP2 bound !unknown-field! AVFileTypeAC3 bound !unknown-field! AVFileTypeAIFC bound !unknown-field! AVFileTypeAIFF bound !unknown-field! AVFileTypeAMR bound !unknown-field! AVFileTypeAVCI bound !unknown-field! AVFileTypeAppleM4A bound !unknown-field! AVFileTypeAppleM4V bound !unknown-field! AVFileTypeCoreAudioFormat bound !unknown-field! AVFileTypeDNG bound !unknown-field! AVFileTypeEnhancedAC3 bound !unknown-field! AVFileTypeHEIC bound !unknown-field! AVFileTypeHEIF bound !unknown-field! AVFileTypeJPEG bound !unknown-field! AVFileTypeMPEG4 bound !unknown-field! AVFileTypeMPEGLayer3 bound !unknown-field! AVFileTypeQuickTimeMovie bound !unknown-field! AVFileTypeSunAU bound !unknown-field! AVFileTypeTIFF bound !unknown-field! AVFileTypeWAVE bound * [Metal] Implement API using IOSurface now that IOSurface is implemented. Partially fixes #58054. (#2621) https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [PdfKit] Improve PdfAnnotation.QuadrilateralPoints binding by making it strongly typed. (#2620) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). (#2622) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). * [ARKit/Vision] Use the new simd vector types instead of the OpenTK versions. * [ModelIO] Use the new simd vectors in new API (MDLVoxelIndexExtent2). This way we won't have to create a MDLVoxelIndexExtent3 in the future. * [SpriteKit] Use the new simd vectors in new API. * [metal] Audit (xtro) based fixes (#2623) !extra-protocol-member! unexpected selector MTLArgumentEncoder::newArgumentEncoderForBufferAtIndex: found !extra-protocol-member! unexpected selector MTLComputeCommandEncoder::dispatchThreads:threadsPerThreadgroup: found macos-only !missing-field! MTLDeviceRemovalRequestedNotification not bound !missing-field! MTLDeviceWasAddedNotification not bound !missing-field! MTLDeviceWasRemovedNotification not bound !missing-pinvoke! MTLCopyAllDevices is not bound * [CloudKit] Update bindings to beta 6. (#2615) * [FileProvider] Turn NSFileProviderItemIdentifier enum into a static class, fixes bug 59329 (#2634) https://bugzilla.xamarin.com/show_bug.cgi?id=59329 At the time of binding NSFileProviderItemIdentifier it wasn't clear how it was supposed to be used, I mean apple provides two keys which I thought were the only possible values hence binding it as an smart enum. Unfortunately this wasn't the case and the user can use those two values provided from the SDK or their own NSString Identifier. Swift provides a wrapper unfortunately we can't do the same due to NSFileProviderItemIdentifier is used in the NSFileProviderItem protocol and we currently do not support changing signatures on them. * [mtouch] Teach mtouch about the 'IOSurface' framework for tvOS. Fixes #59333. (#2630) https://bugzilla.xamarin.com/show_bug.cgi?id=59333 * Bump Touch.Unit to get fix for API breakage. (#2631) spouliot/Touch.Unit@8f1e19d [NUnitOutputTextWriter] Reintroduce previous constructor to make sure we don't break binary ABI. spouliot/Touch.Unit@00b0c0b [NUnitOutputTextWriter] Don't write invalid xml comments. spouliot/Touch.Unit@de9fe20 [TouchRunner] Restore the original code path when not wrapping NUnit xml output. * [IOSurface] Add missing availability attributes for tvOS. (#2629) * Bump versions for preview 9 (#2624) * [AVFoundation] Add missing interface AVRouteDetector. (#2637) * [tests] Update xtro to reduce list sizes (#2636) * Skip OpenTK duplicate declaration (we can't change them); * Fix rule name change for ARKit / simd; * Add missing default initializer on `init` to pending actions; * Add note for AVPersistableContentKeyRequest changes wrt tvOS; * [ReplayKit] Make RPBroadcastActivityViewController.LoadBroadcastActivityViewController async-capable. (#2639) * [xcode9] More SceneKit bindings (#2633) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 (#2644) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 https://bugzilla.xamarin.com/show_bug.cgi?id=59380 vector_float3 is 16 bytes, which means the binding is incorrect, because Vector3 is 12 bytes, and our code does not that difference into account. * Add tests * [DeviceCheck] Disable default ctor for DCDevice. (#2642) It doesn't seem to be useful according to the documentation, since it appears that the only way to get an instance is to use the static CurrentDevice property. * [audiounit] Audit (xtro) fixes for tvOS (#2635) Availability attributes in non-generated files don't hide symbols/code. reference: !unknown-pinvoke! AudioUnitExtensionCopyComponentList bound !unknown-pinvoke! AudioUnitExtensionSetComponentList bound * [tests] Make sure tvOS tests don't use the (unexisting) API * [tests] Add all test project variations to tests-mac.sln (#2579) * [xharness] Make sure generated mac projects have different project guids. * [introspection] Change the project guid so that it doesn't match the dontlink-mac project guid. * [tests] Add all test project variations to tests-mac.sln. * [xharness] Fix else condition. * [FileProvider] Adds missing NSFileProviderPage constants, fixes bug 59297. (#2646) https://bugzilla.xamarin.com/show_bug.cgi?id=59297 Adds NSFileProviderInitialPageSortedByName and NSFileProviderInitialPageSortedByDate NSData constants * [Xcode9] Remove NSFileProviderMessage and NSFileProviderMessageInterface (#2647) APIs were removed in beta 2 * [Foundation/UIKit] Provide LoadObject[s] methods that return the expected type in the callback. Fixes #59049. (#2638) The callback for these LoadObject[s] methods take an INSItemProviderReading parameter. This tells our runtime that we must provide an instance of a managed object that implements this interface (but nothing else), so we create a `NSItemProviderReadingWrapper` instance, which complies with the API (since the wrapper type implements the corresponding interface). Unfortunately these methods are supposed to return an instance of the passed- in type, so in order to comply with this soft (documentation-only) requirement, provide a wrapper method that creates instances of the right types. https://bugzilla.xamarin.com/show_bug.cgi?id=59049 * [arkit] Ignore deprecated selectors (#2645) * [FileProvider] Adds missing protocol and keys from audit (#2652) ``` !missing-protocol! NSFileProviderServiceSource not bound !missing-field! NSFileProviderErrorCollidingItemKey not bound !missing-field! NSFileProviderErrorNonExistentItemIdentifierKey not bound !missing-field! NSFileProviderFavoriteRankUnranked not bound ``` Also adds `NSXpcListenerEndpoint` to foundation, needed by `NSFileProviderServiceSource` protocol. * [tests][xtro] Workaround xtro runner dupe entry exception and update data files (#2654) * [AVFoundation] Rename field to match others. (#2657) * [homekit] Audit (xtro) fixes (#2653) - HMCharacteristicEvent conforms to NSMutableCopying on iOS11 which makes it 64 bits only (so adjust intro tests) - Ignore extra setters on HMMutablePresenceEvent, rdar 33883958 !missing-selector! HMMutablePresenceEvent::setPresenceEventType: not bound !missing-selector! HMMutablePresenceEvent::setPresenceUserType: not bound * [xtro] Add missing pinvoke to pending (#2662) - Bug 59422: [uikit] Missing UIContentSizeCategoryCompareToCategory & UIContentSizeCategoryIsAccessibilityCategory (https://bugzilla.xamarin.com/show_bug.cgi?id=59422) * Merge latest d15-3 fixes into xcode9 (#2660) * [msbuild] Re-added wildcard (*) expandsion for application-identifier in Entitlements.plist (#2186) Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=57119 * Bump mono (#2213) * Framework tests were still binding non-linked Simple class which errors now (#2216) (#2218) - Improve Makefile to rebuild when projects build with errors * Bump mono to get cecil fix for bug #56808. (#2222) https://bugzilla.xamarin.com/show_bug.cgi?id=56808 * [msbuild] Use @(ReferencePath) instead of @(ResolvedFiles) (#2188) (#2214) This allows things to work on both xbuild and msbuild. In xbuild, both lists are exactly the same and on msbuild, only @(ReferencePath) exists. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=55147 * NSActivityOptions.IdleDisplaySleepDisabled had wrong value (#2232) (#2239) This was due to an integer overflow. The original value was based on Int32 1 << 40 == 256 The correct value should be based on a UInt64. 1UL << 40 == 1099511627776 * [tests] Fix bug 57699 - [iOS]InternalsTest failure (Linkall) tests on device (#2243) Strip native debugging symbols should not be checked for debug builds * Bump mono to get fix for bug #57780. https://bugzilla.xamarin.com/show_bug.cgi?id=57780 * Update .gitmodules Change branch to d15-3 branch of mono * Bump maccore to get fix for bug #55064. https://bugzilla.xamarin.com/show_bug.cgi?id=55064 * [mono] Bump mono to get the head of cecil/mono-2017-04 and fix IsComObject #57919 Also fix #58789 [1], the typo in tools/mtouch/Tuning.cs showing in MT0000 errors instead MT2102. That's already in master and d15-4 mono bump includes: [2] commit 2a6502cee0df9de5198eafe7c8b5f6ac25106f34 (HEAD -> d15-3, origin/d15-3) Merge: 02457c20fcf 5e05cafc6f1 Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 10:04:06 2017 -0400 Merge pull request #5401 from marek-safar/com [Marshal.IsComObject] Make this predicate return false instead of thr… [3] commit 02457c20fcf57c0610e844d638eb1da82b5d1eb0 Merge: da80840ea55 73fd9a1b82e Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 09:59:06 2017 -0400 Merge pull request #5400 from spouliot/bump-cecil-58834-d15-3 [cecil] Bump to the head of the mono-2017-04 branch and pick the fix for bug #58834 References [1] https://bugzilla.xamarin.com/show_bug.cgi?id=58789 [2] https://bugzilla.xamarin.com/show_bug.cgi?id=57919 [3] https://bugzilla.xamarin.com/show_bug.cgi?id=58834 * [mtouch] Put 'mono_profiler_startup_log' in the symbol list. Fixes #58778. (#2501) We need the 'mono_profiler_startup_log' symbol when profiling is enabled, so make sure to add the symbol to the correct list of symbols we need. Previously we were passing `-u _mono_profiler_startup_log` to clang directly, which is fine, but not complete, since it does not write the symbol to the symbollist file (--symbollist=file), which means it wouldn't be preserved when the MSBuild tasks strip the executable. https://bugzilla.xamarin.com/show_bug.cgi?id=58778 * Bump versions for SR3 https://trello.com/c/EVze08ei * Bump mono to include HttpClientHandler fix #44027 https://trello.com/c/jYFXadH8/8-systemnethttp-close-request-stream-when-httpclienthandler https://bugzilla.xamarin.com/show_bug.cgi?id=44027 * [FileProvider] Add missing API and turn NSString to string (#2663) Turned NSString to string in order to match exisiting API. * [uikit] Add UIPasteConfigurationSupporting and UITextPasteConfigurationSupporting (#2649) - Fixes bug #59363: Missing UIPasteConfigurationSupporting, UITextPasteConfigurationSupporting, UITextDraggable and UITextDroppable on a couple of types (https://bugzilla.xamarin.com/show_bug.cgi?id=59363) * [uikit] Remove 129 types in UIPasteConfigurationSupporting case * [scenekit] Audit (xtro) fixes (#2648) This looks like an Apple breaking change (since `SCNAnimation` is new) but we now have: > typedef void (^SCNAnimationEventBlock)(id<SCNAnimation> animation, id animatedObject, BOOL playingBackward); bound as > delegate void SCNAnimationEventHandler (CAAnimation animation, NSObject animatedObject, bool playingBackward); and `CAAnimation` conforms to `SCNAnimation` but *only* the later is available on watchOS. The delegate is only updated (since it's new) on our watchOS profile. xtro references: (watchos) !unknown-protocol! SCNCameraControlConfiguration bound (tvos/watchos) !missing-selector! SCNAnimation::animationEvents not bound !missing-selector! SCNAnimation::setAnimationEvents: not bound !missing-selector! SCNConstraint::isEnabled not bound !missing-selector! SCNConstraint::setEnabled: not bound !missing-field! SCNSceneSourceConvertToYUpKey not bound !missing-field! SCNSceneSourceConvertUnitsToMetersKey not bound (ios/tvos) !missing-protocol-conformance! SCNNode should conform to UIFocusItem * Bump maccore post 15.3 merge (#2665) * Bump Xcode 9 to GM (#2667) * Force build (on wrench) * [avfoundation] Fix breaking changes (apidiff) (#2664) * [TVServices] Update to Xcode 9 GM (#2675) * [GameController] Update to Xcode 9 GM (#2673) * [LocalAuthentication] Update to Xcode 9 GM (#2671) * [LocalAuthentication] Update to Xcode 9 GM * Remove availability from BiometryNotAvailable, BiometryNotEnrolled and BiometryLockout * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer (#2659) * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer Some of the new added types were already present BUT under a #if MONOMAC, they had to be moved. * [AVFoundation] Set the wrongly added API to be obsolete and ensure it returns logical values. (#2650) * [xtro] The right platform for macOS is 'macos', not 'osx'. (#2677) The platform name is used to filter availability attributes, and if we use the wrong platform, we'll incorrectly skip all availability attributes. The net result in unclassified entries: https://gist.github.com/rolfbjarne/a4474bc2a40c49a85cad495b51bb514f * Various Xcode 9 API improvements and also fixes bug 59433 (#2676) https://bugzilla.xamarin.com/show_bug.cgi?id=59433 While fixing bug 59433 I noticed some additional issues outlined below: AVDepthData: * Renamed **non** static `Create` methods because `Create` only makes sense with the **Static** method in this context. Also by renaming the methods we are now closer to the names that swift uses. * Kept descriptive method names in favor of self-documenting code. `Convert`, `Apply` and `Replace` do not fully give us the intent of the method. * Added a convenience `Create` static method that takes a `CGImageAuxiliaryDataInfo`. * AvailableDepthDataTypes is now an array of `CVPixelFormatType` instead of a `NSNumber` array (The aactual fix for bug 59433). ImageIO: * Refactored `CGImageAuxiliaryDataInfo` to be a `StrongDictionary` in order to avoid most of the manual code and also to avoid reimplementing the `ToDictionary` method (which contained a subtle bug). * Adjusted code to reflect the above change. * Added missing `.ctor (IntPtr, bool)` to `CGImageMetadata` so the class is able to be created by our `Runtime.Get*`. * Simplified `CopyAuxiliaryDataInfo` method by using `CGImageAuxiliaryDataInfo` as a `DictionaryContainer`. Tests: * Added `xamarinmonkey.heic` which is an image that contains depth data needed to test above changes. * Adds `AVDepthDataTests` that touches most of the changes listed here. * Tweak the Simd-compatible matrices and vectors (#2668) * Rename them to be OpenTK.NMatrix# (instead of Simd.MatrixFloat#x#). * Remove the Vector2 and Vector4 variants, we'll use the OpenTK types instead (but we'll keep the NVector3 variant, since it's not identical to the OpenTK version). * Update the API to match their OpenTK counterparts better: * NMatrix2 and NMatrix3 have a 0-based R#C# scheme for their fields. * NMatrix4 has a 1-based M## scheme for its fields (i.e. no change). * [AVFoundation] Use Simd-matrix for API that needs it. (#2679) This also requires implementing the corresponding matrix (NMatrix4x3). Fixes this xtro issue: > !unknown-simd-type-in-signature! OpenTK.Matrix3 AVFoundation.AVCameraCalibrationData::get_GetIntrinsicMatrix(): the native signature has a simd type (matrix_float3x3), while the corresponding managed method is using an incorrect (non-simd) type. * [xtro] Fix checking availability on categories. (#2682) When checking for category availability, check if both the current declaration is a category, and if the current's declaration container is a category. Otherwise this scenario fails: * Category method is available. * Category does not have availability attributes. * Main class is unavailable. with this typical code sequence: ```csharp // don't process methods (or types) that are unavailable for the current platform if (!decl.IsAvailable () || !(decl.DeclContext as Decl).IsAvailable ()) return; ``` In which case we'd: * First check the method (`decl`): * It's available, so no further checks is done on the method. * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container's container is a category (it isn't, it's the namespace). and as such determine that the method is available. With this change, the second step will become: * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container is a category (it is), and if its main class is available (it isn't). and as such determine that the method is unavailable. * Check for attributes on the method's container (no attributes, so we continue). * Check if the method's Unclassified diff: https://gist.github.com/rolfbjarne/8fa80962596978a426eadf9b7ba39dc1 * [uikit] Update for Xcode 9 GM (#2670) * [AVFoundation] Implement AVCapturePhoto. Partially fixes #59388. (#2678) Fixes: > common.unclassified:!missing-type! AVCapturePhoto not bound https://bugzilla.xamarin.com/show_bug.cgi?id=59388 * Use strong dictionaries for AVCapturePhoto.Metadata and AVCapturePhoto.EmbeddedThumbnailPhotoFormat. * [SIMD] Implement Simd double types (VectorDouble3/MatrixDouble4x4). (#2632) The following types will be used by ModelIO bindings * Fix delta to be double * Rename Simd-compatible matrices and vectors to match our final naming. This also means removing the new Vector2 and Vector4 variants (but not Vector3). * [avfoundation] Remove AVAssetDownloadDelegate.DidLoadTimeRange since it was removed in one of the betas (#2687) * [foundation] Move NSUrlSessionMultipathServiceType to a file processed by the generator (for the availability attributes) (#2688) * [arkit] Update for Xcode 9 GM (#2681) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes (#2690) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes Type Changed: Intents.INCarSeatResolutionResult Removed methods: public static INCarSeatResolutionResult GetConfirmationRequired (INCarSeat valueToConfirm); public static INCarSeatResolutionResult GetSuccess (INCarSeat resolvedValue); * [avfoundation] Add missing protocol members and deprecations (#2691) !missing-protocol-member! AVCapturePhotoCaptureDelegate::captureOutput:didFinishProcessingPhoto:error: not found and the selector removed from PR#2687 was actually replaced with this one !missing-protocol-member! AVAssetDownloadDelegate::URLSession:aggregateAssetDownloadTask:didLoadTimeRange:totalTimeRangesLoaded:timeRangeExpectedToLoad:forMediaSelection: not found * [tests][xtro] Map some enums, more fix with protocols and update entries (#2692) * [Tests] Reenable dns tests on the watch. (#2674) * [arkit] Add ARBlendShapeLocationOptions strong dictionary (#2696) * [coreimage] Skip not yet bound filters added in Xcode9 (#2698) Tracked in https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * [Metal] Renamed MTLArgumentDescriptor.ArgumentDescriptor to Create, fixes bug 59498 (#2702) https://bugzilla.xamarin.com/show_bug.cgi?id=59498 From [argumentDescriptor docs](https://developer.apple.com/documentation/metal/mtlargumentdescriptor/2915746-argumentdescriptor?language=objc) > Creates an empty argument descriptor. * [msbuild] Always codesign app bundles if the codesign key is non-null (#2697) ...even if it is a simulator build. Turns out that starting with Xcode9, sim builds need to be codesigned for App Groups entitlements to work properly. Interestingly, the DetectSigningIdentity logic had a comment about needing to codesign simulator builds for some entitlements to work already starting with Xcode 8 but apparently the iOS targets did not respect this. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=59379 * [Foundation] Add NSProxy stub in order to workaround bug 59247 (#2693) https://bugzilla.xamarin.com/show_bug.cgi?id=59247 We need to have a better solution that removes all what NSProxy does not responds to. Right now this works because NSObject implements NSObject protocol just like NSProxy, but NSProxy responds to far less selectors hence doing it internal so it is not a breaking change when we provide the correct fix. * Keep NSProxy around and avoid XML linker description We need to keep NSProxy (avoid linking it) if WKNavigationDelegate or IWKNavigationDelegate is used. We know WKWebView will be there and can hold a reference to it. * [Xcode 9] Update Metal for GM (#2689) * [iosurface] IOSurface is not usable before iOS/tvOS 11. Fixes #59201 (#2706) Apple rejects apps that links with the previously private IOSurface.framework. We were not sure about this [1] and had it disabled (this is removed). However another bug stopped our adjustment logic [2] from being executed. This is needed since `clang` picks up the private framework if it does not find the public one (even when asking for a weak framework), [1] https://bugzilla.xamarin.com/show_bug.cgi?id=59201 [2] Added a while ago for JavascriptCore * Bump maccore to point to commit with the docs fix. (#2703) * Bump XI to 11.0.x (and XM to 3.99.9.x) (#2684) * fix typo
2017-09-16 00:53:16 +03:00
SCNHitTestSearchMode OptionSearchMode { get; }
2016-04-21 15:30:02 +03:00
}
[Watch (3,0)]
2016-04-21 15:30:02 +03:00
[StrongDictionary ("SCNSceneSourceLoading")]
interface SCNSceneLoadingOptions {
NSUrl [] AssetDirectoryUrls { get; set; }
bool CreateNormalsIfAbsent { get; set; }
bool FlattenScene { get; set; }
bool CheckConsistency { get; set; }
bool OverrideAssetUrls { get; set; }
bool StrictConformance { get; set; }
bool UseSafeMode { get; set; }
[TV (10, 0), Mac (10, 12), iOS (10, 0)]
[Export ("SCNSceneSourceLoading.OptionPreserveOriginalTopology")]
bool PreserveOriginalTopology { get; set; }
#if !TVOS && !WATCH
2016-04-21 15:30:02 +03:00
// note: generator's StrongDictionary does not support No* attributes yet
[NoTV]
[NoWatch]
2016-04-21 15:30:02 +03:00
float ConvertUnitsToMeters { get; set; } /* 'floating value encapsulated in a NSNumber' probably a float since it's a graphics framework */
[NoTV]
[NoWatch]
2016-04-21 15:30:02 +03:00
bool ConvertToYUp { get; set; }
#endif
[Internal, Export ("SCNSceneSourceLoading.AnimationImportPolicyKey")]
NSString _AnimationImportPolicyKey { get; set; }
}
[Mac (10,8), iOS (8,0)]
delegate bool SCNNodePredicate (SCNNode node, out bool stop);
[Mac (10, 8), iOS (8, 0)]
delegate void SCNNodeHandler (SCNNode node, out bool stop);
[Watch (3,0)]
2016-04-21 15:30:02 +03:00
[Mac (10,8), iOS (8,0)]
[BaseType (typeof (NSObject))]
Merge xcode9 into d15-4[-xi] (#2710) * [FileProvider] Add Xcode 9 Beta 1, 2 & 3 Bindings (#2279) * [FileProvider] Add Xcode 9 Beta 1 Bindings * Better naming * Feedback not related to BindAs * [FileProvider] Removes BindAs, add manual code for it and updated to Beta 3 * [FileProvider] Implement feedback * [CoreSpotlight] Updated spotlight bindings for xcode 9 beta 3. (#2193) Updated spotlight bindings for xcode 9 beta 3. * Fix warning caused by duplicate (#2354) * [FileProviderUI] Add Xcode 9 Beta 1 to 3 bindings (#2356) * Bump to Xcode 9 beta 4 * [arkit] ARLightEstimate does not conform to NSCopying anymore (fix unit test) * [uikit] NSFileProviderExtension.ReparentItem got a new parameter in beta4 (fix unit test) * [coreimage] CIImageAccumulator init returns nil in beta 4 There's no header change to mention `init` is not allowed but it's not clear how this default initializer could be used. Also make public some other API to construct this type (outside of XM). It's not clear why there were `internal` as they are (at least now) part of the header files. * [photos] Add helpers when PHLivePhotoEditingOption/NSDictionary is null (to avoid ambiguous API) (#2360) Adding a strongly typed `PHLivePhotoEditingOption` (a strongly typed version of an `NSDictionary`) can cause a `CS0121` (call is ambiguous) since using a `null` argument is common (only one option exist so far). This PR adds overloads that makes the code nicer in such case, e.g. before Xcode9: > // null is used when no options are given > _foo.SaveLivePhoto (output, null, completion); current (Xcode 9) > // casting required to remove ambiguity with PHLivePhotoEditingOption > _foo.SaveLivePhoto (output, (NSDictionary)null, completion); with this PR > // no option, no argument > _foo.SaveLivePhoto (output, completion); The same applies to `PrepareLivePhotoForPlayback`. * [tests] Disable/tweak two tests that breaks on (almost) all Xcode updates Those tests were not added to validate xOS so just keep the parts that helps us (without constantly checking back the new break flavor) * Disable watchOS to check if this hides others issues * [mapkit] Update for beta 4 * [coredata] Update for beta 4 * [wkwebkit] Update for beta 4 Note: WKWindowFeatures.h is not compiled (part of the framework umbrella) and the `@interface WKWindowFeatures (WKPrivate)` sounds like it should not have been exposed (it's all fields starting with `_`) * [corelocation] Update for beta 4 * Revert "Disable watchOS to check if this hides others issues" This reverts commit fed2249fa43290a1956ab2fe0d48f83ab6db9711. * [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]: https://github.com/xamarin/xamarin-macios/blob/f5956d6cc1eb5dfa7bab16628cf282d40237f64e/src/generator.cs#L5985 * [FinderSync] Update to beta 4 (#2377) * [ImageIO] Update to Xcode 9 (#2353) * [PhotosUI] Move macOS photosui bindings out of photos.cs into photosui.cs (#2358) * [quicklook] Update up to beta 4 (#2374) * [uikit] UIDragInteraction & UIDragInteractionDelegate (Xcode 9 b1,2,3) (#2357) * [safariservices] Update up to beta 4 (#2380) * [coreanimation] Update to beta 4 (#2382) Apple removed (mistake?) some API in beta 1. Filed as rdar 33590997 Internal tracking in https://trello.com/c/J8BDDUV9/86-33590997-coreanimation-quartzcore-api-removals * [storekit] Update up to beta 4 (#2379) * [CoreML] Update to Xcode 9 Beta 4 (#2387) * [uikit] UICollectionView/UITableView Drag & Drop (Xcode 9 b1,2,3 & 4) (#2355) * Update code after radar 32929318 and 32897776 are fixed in b4 (#2394) * [xcode9 CoreAudio] New definitions from Beta1 to Beta3 (#2359) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 (#2397) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 https://bugzilla.xamarin.com/show_bug.cgi?id=58512 Created strong API (VNBarcodeSymbology) on the following properties * VNDetectBarcodesRequest.SupportedSymbologies * VNDetectBarcodesRequest.Symbologies * VNBarcodeObservation.Symbology * Remove modern C# because classic can't do it 😡 * [mediaplayer] Update up to beta 4 (#2388) * [watchkit] Update to beta 4 (#2398) * Bump Visual Studio for Mac max version (#2408) * [coreimage] Add CIBarcodeDescriptor and enabled missing API for VNBarcodeObservation. Fix #58197 (#2411) https://bugzilla.xamarin.com/show_bug.cgi?id=58197 * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 (#2407) * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 * [uikit] Fixes based on comments * [coreimage] CIImageAccumulator API fixes. Fix #58349 (#2412) * Obsolete the default `init`; * XM exposed some older APIs using `int` instead of `CIFormat`. This is fixed and old APIs are obsoleted; * Both new & old APIs are now using `CIFormat` for both XI and XM. https://bugzilla.xamarin.com/show_bug.cgi?id=58349 * [uikit] UIText drag & drop - up to Xcode 9 beta 4 (#2410) * [uikit] UISplitView & UIStackView up to Xcode 9 beta 4 (#2425) * Bump XI/XM versions before preview 4 (#2422) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 (#2378) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 * [PDFKit] Implement feedback * [PDFKit] the forgotten enum * [PDFKit] More feedback * [PDFKit] Add Mac changes * Missing change * Fix test RectangleF VS CGRect * Pass -Wunguarded-availability-new to quiet a new clang warning (#2424) - https://bugzilla.xamarin.com/show_bug.cgi?id=58574 * [mtouch/mmp] Ignore warnings about unguarded code section with regards to availability. (#2441) * [monotouch-test] Remove workaround for fixed Apple bug. (#2445) * Bump to Xcode 9 beta 5. (#2447) * Bump to Xcode 9 beta 5. * [mmp] Disable the partial static registrar, because Apple's macOS SDK is broken. > In file included from Xamarin.Mac.registrar.mobile.i386.m:1: > In file included from ./Xamarin.Mac.registrar.mobile.i386.h:11: > /Applications/Xcode9-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVFoundation.h:88:9: fatal error: 'AVFoundation/AVRouteDetector.h' file not found https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [mmp] Fix partial static registrar removal. * [CallKit] Update to Xcode 9 beta 5. * [ARKit] ARPointCloud doesn't conform to NSCopying anymore in Xcode 9 beta 5. * [ARKit] Update to Xcode 9 beta 5 enough to make tests happy. * [CoreImage] Stub out new filters in Xcode 9 beta 5. * [tests][monotouch] Simplify some MDLMesh asserts since values change a lot between OS versions. * [mmp] Default to the dynamic registrar for release builds again, due to bug #58629. https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [tests][introspection] CXCall started implementing NSCopying without saying so in the headers. * Disable mmp static registrar tests due to 58629 for now * [quicklook] Update to beta 5 (#2450) * [photos] Update for beta 5 (#2452) Also update some existing enum members were added in beta 1 on macOS * [safariservices] Update for beta 5 (#2455) * [mediaplayer] Update to beta 5 (#2456) * [CoreLocation] Update Xcode 9 Beta 5 (#2453) * [CoreML] Update to Xcode 9 Beta 5 (#2454) * [Contacts] Update to Xcode 9 Beta 5 (#2451) * [Vision] Update to Xcode 9 Beta 5 (#2458) * [builds] Tell LLVM to stay away from newer macOS functions. (#2459) Fixes this build problem on Sierra: > ld: weak import of symbol '_futimens' not supported because of option: -no_weak_imports for architecture x86_64 This is a symbol that was (will be?) introduced in High Sierra. Interestingly this only occurs if the Xcode 8.X Command Line Tools haven't been manually installed. Because if the Xcode 8.X Command Line Tools are installed, this happens: 1. llvm's configure script detects that 'futimens' is not usable. 2. llvm's configure script detects that 'futimens' is not usable, because xcrun sets SDKROOT=/ when calling clang. a. When the SDKROOT variable is set, clang passes '-syslibroot /usr/lib' to ld. b. When ld gets '-syslibroot /usr/lib', ld looks in '/usr/lib' for a library that contains 'futimens' in the OS itself, and since we're on Sierra, that fails to link. c. So when llvm's configure script creates a test program that checks if 'futimens' is present, the program fails. This is correct, and makes llvm *not* use futimens. 3. xcrun sets SDKROOT=/ because /usr/share/current-os.sdk/Info.plist exists. If that file does not exist, then xcrun sets SDKROOT to Xcode9's macOS SDK (because that's what xcode-select reports). a. When SDKROOT is set to Xcode9's macOS SDK, the configure check for 'futimens' succeeds, because the macOS 10.13 SDK contains that function. b. llvm happily uses 'futimens', and then the final link fails because we're using a symbol not available on all target platforms. * [arkit] Update for Xcode 9 beta 5 - Part 1 (#2460) * [tests] The container app for watchOS tests should be 64-bit. (#2463) * [xharness] watchOS tests need to run in a clean environment. Works around #58348. (#2462) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [xharness] It watchOS tests don't need to be clean anymore. Fixes #58348. (#2473) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [uikit] UIView/UIScrollView/UIViewController up to Xcode 9 beta 5 (#2431) - Add NSDirectionalEdgeInsets type. - Includes DirectionalEdgeInsetsTest. * [AudioToolbox] Update bindings to Xcode 9 beta3 (not later changes). (#2294) * [xharness] Add a file existence check. (#2478) Fixes this exception: ``` Harness exception for 'introspection': System.IO.FileNotFoundException: Could not find file '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log'. File name: '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log' at System.IO.__Error.WinIOError (System.Int32 errorCode, System.String maybeFullPath) [0x00207] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/__error.cs:188 at System.IO.FileInfo.get_Length () [0x00038] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/fileinfo.cs:171 at xharness.CaptureLog.StopCapture () [0x00021] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Log.cs:252 at (wrapper remoting-invoke-with-check) xharness.CaptureLog:StopCapture () at xharness.AppRunner+<RunAsync>d__68.MoveNext () [0x0127f] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/AppRunner.cs:642 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter`1[TResult].GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:357 at xharness.RunSimulatorTask+<RunTestAsync>d__7.MoveNext () [0x0029d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2894 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.RunTestTask+<ExecuteAsync>d__8.MoveNext () [0x0010b] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2538 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.TestTask+<RunInternalAsync>d__87.MoveNext () [0x0010d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:1870 ``` I'm not sure how this can happen, but it has on the bots [1]. [1] https://jenkins.mono-project.com/job/xamarin-macios-pr-builder/4548/Test_Report/ * Bump versions for preview 5 (#2479) * [passkit] Update to beta 5 (#2481) * [tests] Remove workaround for radar #32688391. (#2486) * [replaykit] Update up to beta 5 (#2484) * Bump maccore to get fix for bug #55064. (#2487) * [apidiff] Update definition to new 10.12 (d15-3) stable release (#2490) * [SceneKit] basic work (#2483) * [coredata] Update to beta 5 (#2488) * [homekit] Update for Xcode 9 beta 5 (#2492) * [Foundation] Update for xcode9 (#2468) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 (#2493) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 * [Intents] Implement feedback * [Intents] Add a generic version for INInteraction.GetParameterValue * [Intents] Missing check * [Contacts] Add missing foundation NSItemProviderWriting protocol to CNContact (#2496) https://bugzilla.xamarin.com/show_bug.cgi?id=58203 This is available on all Contacts supported platforms ``` ./iPhoneOS.platform/Developer/SDKs/iPhoneOS11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchOS.platform/Developer/SDKs/WatchOS4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchSimulator.platform/Developer/SDKs/WatchSimulator4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ``` * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) (#2497) * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) * [IntentsUI] Better use a delegate instead so we have named params * Bump versions before 6th preview (#2514) * [arkit] Add missing MarshalDirective to ARPlaneAnchor (#2517) - Fixes bug #58648: ARPlaneAnchor.Extent property seems incorrect but changes to correct value after Debug access (https://bugzilla.xamarin.com/show_bug.cgi?id=58648) * [xtro-sharpie] Fix a compiler warning. (#2516) Fixes these warnings: Runner.cs(197,5): warning CS0642: Possible mistaken empty statement Runner.cs(199,5): warning CS0642: Possible mistaken empty statement Runner.cs(201,5): warning CS0642: Possible mistaken empty statement Runner.cs(203,5): warning CS0642: Possible mistaken empty statement Runner.cs(205,5): warning CS0642: Possible mistaken empty statement * [uikit] Update for Xcode 9 beta 5 - Part 3 (#2511) - UIKeyCommand - UINavigationBar - UINavigationItem - UIPasteboard - UITableViewHeaderFooterView * [xtro-sharpie] Remove xtro-plugin and misc other fixes. (#2522) * [xtro-sharpie] Build with msbuild and be as quiet as requested when building. * [xtro-sharpie] Must run as a 64-bit process, since the required native libraries are 64-bit. * [xtro-sharpie] Add run configurations to the project file to ease debugging in the IDE. * [xtro-sharpie] Remove xtro-plugin and the related commands. This was needed when there wasn't a 64-bit mono, in order to run xtro-sharpie in a 64-bit process. Now there is a 64-bit mono, so it's not needed anymore. Also improve makefile targets a bit, to auto-build stuff when needed, by setting the right dependencies. * Bump Xcode 9 to beta 6 (#2519) Disable watchOS tests again It seems like the Carousel crash from beta 4 is back to haunt us. This was working fine with beta 5. * Backport d15-3 SR2 fixes (#2515) * [coredata] Update to beta 6 (#2528) This seems to only revert some nullability changes from beta 5. * [coreml] Update to beta 6 (#2531) Fix our rdar 33643011 where additional setters were added in the headers but did not exists. * [videosubscriberaccount] Update to beta 6 (#2533) Only b1 and b2 introduced some additions/changes * [uikit] Update for Xcode 9 beta 6 - Part 4 (#2527) The following headers are now up to date: - UICollectionViewFlowLayout.h - UIDocumentPickerViewController.h - UIFontDescriptor.h - UIImage.h - UIImageView.h - UIImagePickerController.h * [xharness] Re-enable the watchOS tests. (#2534) It works fine for me locally, so let's see what Jenkins says. * [macos] Add new APIs in CoreWlan from Xcode9b3 (#2525) * Update AppKit bindings based on radar 33271241 results (#2518) * Update AppKit bindings based on radar 33271241 results - The header comment was updated to note it was NSSliderTouchBarItem view that has the protocol * Remove NSUserInterfaceCompression where not listed in header * [vision] Update to beta 6 (#2532) Removal of some deprecated (during beta) `init*` selectors. Also sync the versions that were inlined in subclasses - the old ones were not removed and the new ones were not added. * [xtro-sharpie] Many methods don't have selectors in Clang's API, so default to the name if no selector. (#2523) This makes a few more unclassified entries show up (mostly missing designated initializers): https://gist.github.com/rolfbjarne/07aa20f9b50b75bf3e69ac6a825e873a * [macos] Add ExternalAccessory APIs from xcode9 (#2526) * [58851] Disable NSMenuView in AllItemsWithNSMenuShouldAllowNull (#2504) * [arkit] Update for Xcode 9 beta 5 - Part 2 (#2505) - Add last missing selector. - Add tests for manual code. * [monotouch-test] Disable FontDescriptorTest.WithFeature (#2537) Disabled because it looks like the tvOS font we use: "Gujarati Sangam MN" does not have rare ligatures anymore (and the entire test is based on it). Before getting an actual fix for that, let's disable the test so it doesn't break all current builds. See: https://bugzilla.xamarin.com/show_bug.cgi?id=58929 * [xtro-sharpie] Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute. (#2524) Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute to calculate the native name for a TypeDefinition. Unclassified changes: https://gist.github.com/rolfbjarne/828f8ee41eebb0a3b60a38d71822fe59 * [foundation/uikit] Inline NSItemProvider_UIKitAdditions in NSItemProvider (#2538) As suggested here: https://github.com/xamarin/xamarin-macios/pull/2527#discussion_r134670981 * [intents] Fix breaking changes (api-diff) (#2543) Additions of @required members inside `INSpeakable` cannot be `[Abstract]` * [contacts] Fix breaking change (api-diff) (#2542) Type Changed: Contacts.CNPostalAddress Removed method: public static string LocalizeProperty (CNPostalAddressKeyOption option); * [macos] Reenable static registrar since Xcode9b6 un-broke SDK headers (#2544) - Fix a subtle spacing issues in PartialStaticLibrary property * [corebluetooth] Update up to beta 6 and enable it on watchOS (#2540) macOS 10.13 has finally catch up with iOS and this simplifies the bindings a bit. * [foundation] API fixes (apidiff) (#2545) 1. Let's not add new, already [Obsolete] API Type Changed: Foundation.NSDimension Added constructors: [Obsolete ("Not intended to be directly instantiated, this is an abstract class.")] public NSDimension (); 2. Fix inconsistently named API, e.g. Type Changed: Foundation.NSAttributedString Added properties: public static string[] ReadableTypeIdentifiersForItemProvider { get; } public static string[] WritableTypeIdentifiers { get; } * [pdfkit] Do not add already [Obsolete] API in new profiles (#2547) and ensure using the newer, correct API works cross-platforms iOS (before) [Obsolete ("Use 'Find (string, NSStringCompareOptions)' instead.")] public virtual PdfSelection[] Find (string text, nint options); public PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'Find (string, PdfSelection, NSStringCompareOptions)' instead.")] public virtual PdfSelection Find (string text, PdfSelection selection, nint options); public void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string, NSStringCompareOptions)' instead.")] public virtual void FindAsync (string text, nint options); public void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string [], NSStringCompareOptions)' instead.")] public virtual void FindAsync (string[] text, nint options); iOS (after) public virtual PdfSelection[] Find (string text, Foundation.NSStringCompareOptions compareOptions); public virtual PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); * Bump versions for the 7th preview (#2541) * Remove additions of AVKit removed in beta5 (#2536) * NSUrlSessionTask should implement NSProgressReporting for iOS (#2548) NSUrlSessionTask implements NSProgressReporting on iOS as well as Mac, so the #if MONOMAC isn't needed. * Add missing availability attributes causing failures on older iOS versions (#2550) * [vision] Minor fix wrt xtro (#2551) including some things we need to ignore manually !missing-field! VNVisionVersionNumber not bound !missing-pinvoke! VNImagePointForFaceLandmarkPoint is not bound !missing-pinvoke! VNNormalizedFaceBoundingBoxPointForLandmarkPoint is not bound * [uikit] NSFileProviderMessaging was removed in beta 2. Fixes #58222 (#2552) reference: https://bugzilla.xamarin.com/show_bug.cgi?id=58222 * [uikit] Update for Xcode 9 - Part 5 (#2546) Bindings for the following headers: - UIActivity.h - UIActivityItemProvider.h - UIAlertController.h - UIApplication.h - UIBarButtonItem.h - UIButton.h - UICollectionViewLayout.h - UIColor.h - UIControl.h - UIDocumentMenuViewController.h - UIFontMetrics.h - UIGestureRecognizer.h - UIGraphicsImageRenderer.h - UIInputViewController.h * [CoreText] Fix an extraneous free in CTFont.GetDefaultCascadeList. (#2555) We do not own the return value from CFArrayGetValueAtIndex, so don't say we do when creating CTFontDescriptor instances, since that leads to angry dragons: 2017-08-28 20:15:20.293 monotouchtest[33186:2311738] A_FontTest 2017-08-28 20:15:20.294 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithFontDescriptorAndOptions 2017-08-28 20:15:20.295 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithNameAndOptions 2017-08-28 20:15:20.296 monotouchtest[33186:2311738] critical: Stacktrace: at <unknown> <0xffffffff> at (wrapper managed-to-native) CoreText.CTFont.CTFontCopyDefaultCascadeListForLanguages (intptr,intptr) [0x0000a] in <ae65a2b1eea242d2b68fe784749543bf>:0 at CoreText.CTFont.GetDefaultCascadeList (string[]) [0x00013] in /work/maccore/xcode9/xamarin-macios/src/CoreText/CTFont.cs:2185 at MonoTouchFixtures.CoreText.A_FontTest.GetCascadeList () [0x0001e] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/CoreText/FontTest.cs:78 at (wrapper runtime-invoke) object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) [0x0004f] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) System.Reflection.MonoMethod.InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&) [0x00016] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at System.Reflection.MonoMethod.Invoke (object,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo) [0x00032] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/corlib/System.Reflection/MonoMethod.cs:305 at System.Reflection.MethodBase.Invoke (object,object[]) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/referencesource/mscorlib/system/reflection/methodbase.cs:229 at NUnit.Framework.Internal.Reflect.InvokeMethod (System.Reflection.MethodInfo,object,object[]) [0x00009] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Reflect.cs:215 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunNonAsyncTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x00025] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:116 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x0001a] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:90 at NUnit.Framework.Internal.Commands.TestMethodCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:66 at NUnit.Framework.Internal.Commands.SetUpTearDownCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00007] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/SetUpTearDownCommand.cs:84 at NUnit.Framework.Internal.WorkItems.SimpleWorkItem.PerformWork () [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/SimpleWorkItem.cs:64 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at MonoTouch.NUnit.UI.BaseTouchRunner.Run (NUnit.Framework.Internal.Test) [0x0004d] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:442 at MonoTouch.NUnit.UI.BaseTouchRunner.Run () [0x00030] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:171 at MonoTouch.Dialog.StringElement.Selected (MonoTouch.Dialog.DialogViewController,UIKit.UITableView,Foundation.NSIndexPath) [0x00008] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/Elements.cs:765 at MonoTouch.Dialog.DialogViewController.Selected (Foundation.NSIndexPath) [0x00026] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:577 at MonoTouch.Dialog.DialogViewController/Source.RowSelected (UIKit.UITableView,Foundation.NSIndexPath) [0x00016] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:402 at (wrapper runtime-invoke) <Module>.runtime_invoke_void__this___object_object (object,intptr,intptr,intptr) [0x0005d] in <32f0c196c5bc4aa18daea2ee64a7814e>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) UIKit.UIApplication.UIApplicationMain (int,string[],intptr,intptr) [0x0005c] in <ae65a2b1eea242d2b68fe784749543bf>:0 at UIKit.UIApplication.Main (string[],intptr,intptr) [0x00005] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:79 at UIKit.UIApplication.Main (string[],string,string) [0x00038] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:63 at monotouchtest.Application.Main (string[]) [0x00011] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/Main.cs:27 at (wrapper runtime-invoke) <Module>.runtime_invoke_void_object (object,intptr,intptr,intptr) [0x00051] in <30a7f7e09de9467b8b454221034a0e38>:0 Native stacktrace: 0 monotouchtest 0x000000010fca03c4 mono_handle_native_crash + 244 1 monotouchtest 0x000000010fcadd30 mono_sigsegv_signal_handler + 288 2 libsystem_platform.dylib 0x000000011feb3b3a _sigtramp + 26 3 CoreFoundation 0x000000011de035a2 computeSanitizedString + 146 4 CoreText 0x00000001168df314 _ZN15TPurgeableCache19RetainedValueForKeyEPKv + 54 5 CoreText 0x00000001168def85 _ZNK17TDescriptorSource22CopyDescriptorUncachedEPK7__CFURLbPK10__CFString + 55 6 CoreText 0x00000001168df34f _ZNK17TDescriptorSource14CopyDescriptorEPK7__CFURLbPK10__CFString + 27 7 CoreText 0x00000001168e20ad _ZNK17TDescriptorSource35CopyFontDescriptorPerPostScriptNameEPK10__CFStringmm + 297 8 CoreText 0x00000001168dfd9e _ZNK17TDescriptorSource30CopySystemFontDescriptorByNameEPK10__CFString10UIFontFlag + 54 9 CoreText 0x00000001168e54c4 _ZNK14TFontFallbacks17CopyFontFallbacksEPK10__CFStringS2_PK9__CFArray + 652 10 CoreText 0x00000001168e4a00 _ZNK14TFontFallbacks29CopyFontFallbacksForLanguagesEPK10__CFStringPK9__CFArray + 122 11 CoreText 0x00000001168e4971 _ZN17TDescriptorSource39CopyDefaultSubstitutionListForLanguagesEPK10__CFStringPK9__CFArray + 61 12 CoreText 0x00000001169397a7 _ZNK9TBaseFont28CreateSystemDefaultFallbacksEPK10__CFStringPK9__CFArray + 51 13 CoreText 0x000000011693999c _ZNK9TBaseFont15CreateFallbacksE10UIFontFlagPPK16__CFCharacterSetPK9__CFArray + 346 14 CoreText 0x00000001168c1036 _ZNK5TFont24CreateDefaultCascadeListEPK9__CFArray + 242 15 CoreText 0x00000001168b8ff9 CTFontCopyDefaultCascadeListForLanguages + 97 16 ??? 0x0000000140eaefd3 0x0 + 5384105939 17 ??? 0x0000000140eae761 0x0 + 5384103777 18 ??? 0x000000013c9c8e74 0x0 + 5311860340 19 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 20 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 21 monotouchtest 0x000000010fd71bac mono_runtime_try_invoke_array + 1292 22 monotouchtest 0x000000010fd15587 ves_icall_InternalInvoke + 647 23 ??? 0x000000013e9fcd13 0x0 + 5345627411 24 ??? 0x000000013e9fc738 0x0 + 5345625912 25 ??? 0x000000013e9fded5 0x0 + 5345631957 26 ??? 0x000000013e9fbb76 0x0 + 5345622902 27 ??? 0x000000013e9e237e 0x0 + 5345518462 28 ??? 0x000000013e9e237e 0x0 + 5345518462 29 ??? 0x000000013e9e237e 0x0 + 5345518462 30 ??? 0x000000013e9e237e 0x0 + 5345518462 31 ??? 0x000000013e873006 0x0 + 5344014342 32 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 33 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 34 monotouchtest 0x000000010fd6e320 mono_runtime_invoke + 208 35 monotouchtest 0x000000010fe71af1 xamarin_invoke_trampoline + 5617 36 monotouchtest 0x000000010fe79ddd xamarin_arch_trampoline + 189 37 monotouchtest 0x000000010fe7b1a1 xamarin_x86_64_common_trampoline + 110 38 UIKit 0x0000000111b9876b -[UITableView _selectRowAtIndexPath:animated:scrollPosition:notifyDelegate:] + 1810 39 UIKit 0x0000000111b98986 -[UITableView _userSelectRowAtPendingSelectionIndexPath:] + 344 40 UIKit 0x0000000111a6b5c9 _runAfterCACommitDeferredBlocks + 318 41 UIKit 0x0000000111a59dad _cleanUpAfterCAFlushAndRunDeferredBlocks + 280 42 UIKit 0x0000000111a89f68 _afterCACommitHandler + 137 43 CoreFoundation 0x000000011de3ddb7 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23 44 CoreFoundation 0x000000011de3dd0e __CFRunLoopDoObservers + 430 45 CoreFoundation 0x000000011de22324 __CFRunLoopRun + 1572 46 CoreFoundation 0x000000011de21a89 CFRunLoopRunSpecific + 409 47 GraphicsServices 0x0000000121b7e9c6 GSEventRunModal + 62 48 UIKit 0x0000000111a5f7d0 UIApplicationMain + 159 49 ??? 0x000000013c9c4474 0x0 + 5311841396 50 ??? 0x000000013c9c40ad 0x0 + 5311840429 ================================================================= Got a SIGSEGV while executing native code. This usually indicates a fatal error in the mono runtime or one of the native libraries used by your application. ================================================================= * [monotouch-test] Don't subclass MKMapView. (#2556) MKMapView doesn't like being subclassed (Apple says "you should not subclass the MKMapView class itself"). Bad things like this starts happening: Thread 0 name: tid_303 Dispatch queue: com.apple.main-thread Thread 0 Crashed: 0 libsystem_kernel.dylib 0x0000000186b25348 __pthread_kill + 8 1 libsystem_pthread.dylib 0x0000000186c39354 pthread_kill$VARIANT$mp + 396 2 libsystem_c.dylib 0x0000000186a94fd8 abort + 140 3 monotouchtest 0x0000000101c02c14 mono_handle_native_crash + 22047764 (mini-exceptions.c:2548) 4 monotouchtest 0x0000000101c0d02c mono_sigsegv_signal_handler + 22089772 (mini-runtime.c:2886) 5 libsystem_platform.dylib 0x0000000186c33b60 _sigtramp + 52 6 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 7 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 8 CoreFoundation 0x0000000186eda51c -[__NSArrayM dealloc] + 68 9 CoreFoundation 0x000000018703f5c8 __CFBasicHashDrain + 312 10 CoreFoundation 0x0000000186fb5b44 _CFRelease + 224 11 CoreText 0x000000018a808404 TDescriptorSource::PurgeFontFallbacksCache+ 488452 () + 92 12 CoreText 0x000000018a808374 TDescriptorSource::PurgeFromCaches+ 488308 (__CFURL const*) const + 176 13 CoreText 0x000000018a7eec74 CTFontRemoveFromCaches + 168 14 VectorKit 0x0000000196a539b0 +[VKSharedResourcesManager removeResourceUser:] + 324 15 VectorKit 0x0000000196ca27a4 md::MapEngine::~MapEngine+ 2643876 () + 360 16 VectorKit 0x0000000196ca2634 md::MapEngine::~MapEngine+ 2643508 () + 12 17 libobjc.A.dylib 0x000000018651eef4 object_cxxDestructFromClass+ 28404 (objc_object*, objc_class*) + 148 18 libobjc.A.dylib 0x000000018652c638 objc_destructInstance + 88 19 libobjc.A.dylib 0x000000018652c690 object_dispose + 16 20 QuartzCore 0x000000018afca3ac -[CALayer dealloc] + 116 21 VectorKit 0x0000000196a43294 -[VKMapView dealloc] + 940 22 QuartzCore 0x000000018af6aafc CA::release_objects+ 744188 (X::List<void const*>*) + 32 23 QuartzCore 0x000000018afd97d8 CA::Layer::~Layer+ 1198040 () + 276 24 QuartzCore 0x000000018afca37c -[CALayer dealloc] + 68 25 QuartzCore 0x000000018af6b16c CA::Transaction::commit+ 745836 () + 1052 26 UIKit 0x0000000190393290 _afterCACommitHandler + 256 27 CoreFoundation 0x0000000186fb38b8 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 32 28 CoreFoundation 0x0000000186fb1270 __CFRunLoopDoObservers + 412 29 CoreFoundation 0x0000000186fb182c __CFRunLoopRun + 1292 30 CoreFoundation 0x0000000186ed22d8 CFRunLoopRunSpecific + 436 31 GraphicsServices 0x0000000188d58f84 GSEventRunModal + 100 32 UIKit 0x000000019040427c UIApplicationMain + 208 33 monotouchtest 0x000000010106eb90 wrapper_managed_to_native_UIKit_UIApplication_UIApplicationMain_int_string___intptr_intptr + 9907088 (/<unknown>:1) 34 monotouchtest 0x0000000100f0d6ac UIKit_UIApplication_Main_string___intptr_intptr + 8459948 (UIApplication.cs:79) 35 monotouchtest 0x0000000100f0d66c UIKit_UIApplication_Main_string___string_string + 8459884 (UIApplication.cs:63) 36 monotouchtest 0x0000000100b10450 monotouchtest_Application_Main_string__ + 4277328 (Main.cs:27) 37 monotouchtest 0x0000000100e0c244 wrapper_runtime_invoke_object_runtime_invoke_dynamic_intptr_intptr_intptr_intptr + 244 38 monotouchtest 0x0000000101c10048 mono_jit_runtime_invoke + 22102088 (mini-runtime.c:2526) 39 monotouchtest 0x0000000101c75eec do_runtime_invoke + 22519532 (object.c:2829) 40 monotouchtest 0x0000000101c78a3c do_exec_main_checked + 22530620 (object.c:4623) 41 monotouchtest 0x0000000101bf9a1c mono_jit_exec + 22010396 (driver.g.c:1040) 42 monotouchtest 0x0000000101d13d60 xamarin_main + 23166304 (monotouch-main.m:482) 43 monotouchtest 0x00000001007de710 main + 927504 (main.m:67) 44 libdyld.dylib 0x00000001869f656c start + 4 * [introspection] Let SkipDueToAttributeInProperty skip setters too (#2557) `SkipDueToAttributeInProperty` which is used to check the availability attribute of properties when the Availability info only exist on the property and not on the property Getter or Setter was wrong. This lead to `setSpringLoaded` (which was introduced in iOS 11) to not be ignored by the test (making it fail). - Fix bug #59085: [introspection-ios] selector not found for UIKit.UIBarButtonItem : setSpringLoaded: - Broken test (https://bugzilla.xamarin.com/show_bug.cgi?id=59085) * [corevideo][watchos] Enable CoreVideo on watchOS (#2553) * [storekit] Fix CampaignToken typo (#2559) (#2560) - Fixes bug #59078: StoreProductParameters and invalid property for CampaignToken (https://bugzilla.xamarin.com/show_bug.cgi?id=59078) * [coreml][watchos] Enable API using CoreVideo on watchOS. Fix #58097 (#2561) https://bugzilla.xamarin.com/show_bug.cgi?id=58097 * Add missing [MarshalDirective] attributes. (#2558) * [bindings-generator] Improve build & project file. * Add missing [MarshalDirective] attributes. Add missing [MarshalDirective] attributes, which also requires implementing support for out parameters in the binding generator, since one of the signatures missing the [MarshalDirective] contains such an out parameter. Also add tests for all the API I've added [MarshalDirective] to. * [bindings-generator] Remove redundant if check. * [monotouch-test] Rename file to end with 'Test.cs'. * [tests] Fix a few build errors for Xamarin.Mac. * [uikit] Fix UIColor and UIInputViewController tvOS availability (#2569) - Fixes introspection tests on tvOS 10. * [storekit] Fix SKCloudServiceSetupMessageIdentifier and SKProductStorePromotionController tvOS availability (#2568) - Fixes introspection tests on tvOS 10. * [mapkit] Fix MKMapItemTypeIdentifier tvOS availability (#2566) - Also remove double [Mac] availability attribute. - Fixes introspection tests on tvOS 10. * [ARKit] Fix marshalling for ARPointCloud.RawFeaturePoints. (#2565) ARPointCloud.RawFeaturePoints is an array of Vector3, but each vector is 16-byte aligned (as if it were an array of Vector4). This means we need to account for this when creating a managed array from pointer to the native C-style array. * [ModelIO] Fix MDLVoxelIndexExtent struct. (#2564) The MDLVoxelIndexExtent is a struct containing two 4-dimensional vectors of integers (not floats, as originally and incorrectly implemented). Fix this my creating a new MDLVoxelIndexExtent2 struct with the right fields, re-implement all the API that exposes this struct and obsolete the old API. Also add missing [MarshalDirective] attributes. And write a test to make sure it works fine now and forever. * [coredata] Enable new fields since rdar #33878590 is fixed w/beta 6 (#2570) reference: https://trello.com/c/dlSRYPFx * [xtro-sharpie] Add a Simd check class to verify signatures with Simd types. * [Simd] Add simd matrix types. The OpenTK matrices (Matrix2/3/4) has a different memory layout than Apple's matrix_float2x2/matrix_float3x3/matrix_float4x4 matrices: the OpenTK versions are row-major, while Apple's versions are column-major. This means that when blitting memory from one to the other, the matrix will appear to have been transposed. See bug #[58599][2] for an example. Unfortunately we've already bound several API with Apple's matrix_floatXxX matrices using OpenTK's matrices, and although they're bound wrong, and the matrices appear transposed on input/output, we can't change the behavior because we have to maintain compatibility. This means we have to introduce new API, and then also just define new matrix types with the right memory layout (column-major). Additionally, in the future we might be able to mark these matrices as Simd-matrixes, so that the JIT/AOT compiler can generate the correct alignment for them, avoiding having to define a native conversion method (using the [MarshalDirective] hack). The matrices have been designed to match API-wise the matrices in the System.Numerics.Vectors namespace [1], but for the moment with only a few basic operations implemented (Determinant/Transpose/Multiply) defined (we can always add more later if we want to). In addition explicit conversion operators to and from the corresponding OpenTK.MatrixX are implemented, which means any operation defined in the OpenTK matrices can be used by converting back and forth. [1]: https://msdn.microsoft.com/en-us/library/system.numerics.matrix4x4(v=vs.111).aspx [2]: https://bugzilla.xamarin.com/show_bug.cgi?id=58599 * [ARKit] Use the new Simd matrix types. * [Vision] Use the new Simd matrix types. * [ModelIO] Use the new Simd-compatible matrix types, and deprecate the old API. * [GameplayKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [SpriteKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [xtro] Don't report missing [MarshalDirective] for obsolete methods. * [xtro] Remove unnecessary ignores. The implementation changed, and these stayed accidentally. * [wkwebkit] Fix (native) protocol names (#2572) Also ignore xtro's WKSnapshotConfiguration since it's an Apple bug 34185961 reference (xtro) !missing-protocol! WKURLSchemeHandler not bound !missing-protocol! WKURLSchemeTask not bound !unknown-protocol! WKUrlSchemeHandler bound !unknown-protocol! WKUrlSchemeTask bound !unknown-type! WKSnapshotConfiguration bound * [uikit] Fix enums availability attributes (#2575) - Fixes bug #59132: [uikit] Extra types in watchOS (https://bugzilla.xamarin.com/show_bug.cgi?id=59132) * [watchkit] Add missing designated initializers (#2574) references (xtro) !missing-designated-initializer! WKInterfaceController::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! WKUserNotificationInterfaceController::init is missing an [DesignatedInitializer] attribute * [xtro] Reword some of the Simd diagnostic messages according to review. * [tests] Make sure test symbols don't clash between different test libraries. Fixes this build problem for framework-test: clang: error: linker command failed with exit code 1 (use -v to see invocation) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_get_rotation_matrix'. MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticObjectTest.framework/XStaticObjectTest (Location related to previous error) MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticArTest.framework/XStaticArTest(libtest-ar.x86_64.o) (Location related to previous error) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransformcomponent_get_local_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_create_global_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float4x4'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float3x3'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float2x2'. MTOUCH: error MT5209: Native linking error: 6 duplicate symbols for architecture x86_64 MTOUCH: error MT5202: Native linking failed. Please review the build log. * [tests] Since libtest.a need ModelIO now, the corresponding LinkWith attributes need to state that too. * [introspection] Don't check native signatures on obsolete members, and ignore the right simd matrix types. Fixes this introspection/Mac problem: ***** ApiSignatureTest.NativeSignatures Selector: uniformWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: uniformWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: uniformWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: setMatrixFloat2x2Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: setMatrixFloat3x3Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: setMatrixFloat4x4Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: initWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: initWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: initWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded * [monotouch-tests] Include more custom asserts for watchOS to make the build work. Fixes this: Simd/MatrixFloat4x4Test.cs(28,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(29,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(37,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(48,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' [...] * [monotouch-test] Exclude code that requires the binding project from xammac tests. Exclude code that requires the test binding project from xammac tests because there's currently no XM version of the test binding project. Fixes this: tests/monotouch-test/SpriteKit/UniformTest.cs(20,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLMaterialProperty.cs(37,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLTransform.cs(34,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) * Bump version for preview #8 (#2576) * [spritekit] Audit fixes (xtro) (#2577) 1. SKVideoNode is now, partially, available on watchOS and does not require the extra, manual code to swicth selectors depending on the OS version being run. !missing-type! SKVideoNode not bound !missing-selector! SKVideoNode::anchorPoint not bound !missing-selector! SKVideoNode::initWithCoder: not bound !missing-selector! SKVideoNode::initWithFileNamed: not bound !missing-selector! SKVideoNode::initWithURL: not bound !missing-selector! SKVideoNode::setAnchorPoint: not bound !missing-selector! SKVideoNode::setSize: not bound !missing-selector! SKVideoNode::size not bound !missing-selector! +SKVideoNode::videoNodeWithFileNamed: not bound !missing-selector! +SKVideoNode::videoNodeWithURL: not bound 2. SKNodeFocusBehavior is exposed needlessly on watchOS because SpriteKit/Enums.cs was not processed by the generator, so [NoWatch] did not matter. !unknown-native-enum! SKNodeFocusBehavior bound It's also visible on macOS but nothing uses it (so we do not expose it needlessly) !missing-enum! SKNodeFocusBehavior not bound 3. Add missing designated initializer on default `init` !missing-designated-initializer! SKAttributeValue::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! SKNode::init is missing an [DesignatedInitializer] attribute 4. Remove inconsistency for SKNode subclasses wrt XAMCORE_4_0 The trio attributeValues, setAttributeValues and setValue:forAttributeNamed: that was moved from SKNode (deprecated) into its subclasses. This was done using XAMCORE_4_0 but not on every subclasses. This adds them everywhere to be consistent (only SKNode versions are not defined in XAMCORE_4_0) !missing-selector! SKEffectNode::attributeValues not bound !missing-selector! SKEffectNode::setAttributeValues: not bound !missing-selector! SKEffectNode::setValue:forAttributeNamed: not bound !missing-selector! SKEffectNode::valueForAttributeNamed: not bound !missing-selector! SKEmitterNode::attributeValues not bound !missing-selector! SKEmitterNode::setAttributeValues: not bound !missing-selector! SKEmitterNode::setValue:forAttributeNamed: not bound !missing-selector! SKEmitterNode::valueForAttributeNamed: not bound !missing-selector! SKSpriteNode::attributeValues not bound !missing-selector! SKSpriteNode::setAttributeValues: not bound !missing-selector! SKSpriteNode::setValue:forAttributeNamed: not bound !missing-selector! SKSpriteNode::valueForAttributeNamed: not bound * [introspection] Make sure '[FAIL]' is printed before every failure. (#2578) This makes xharness able to list the failures in the inline summary. * [xtro] Reword some of the Simd diagnostic messages according to review. * [xharness] Add a missing IsServerMode check to generate correct html. (#2581) * [SpriteKit] SKTransformNode is new in Xcode 9 so no need to keep the broken (and obsolete) non-simd version of RotationMatrix. * [intents] Fix some (partial) xtro issues and #59156 (#2585) reference https://bugzilla.xamarin.com/show_bug.cgi?id=59156 Remaining issues are filled in https://bugzilla.xamarin.com/show_bug.cgi?id=59183 !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound * [Intents] Confirm* interface methods should be bound as Confirm, Fixes Bug 59164 (#2591) * [Intents] Confirm* interface methods should probably be bound as Confirm, Fixes Bug 59164 https://bugzilla.xamarin.com/show_bug.cgi?id=59164 All Confirm* methods from *IntentHandling interfaces should be named just `Confirm` to avoid confusion because most of them do not directly confirm as an acion, but instead they **ask** for confirmation also we would follow swift's naming by doing this. * [Intents] XAMCORE_4_0 all Confirm* methods from *IntentHandling Turns any Confirm* into just Confirm inside a XAMCORE_4_0 block, * [Intents] Fix breaking changes in Intents added in Xcode 9 Bindings (#2590) Apple added more protocol conformances to INRidesharingDomainHandling and INPaymentsDomainHandling protocols in Xcode 9, I introduced these breaking changes back when I did intents binding so fixing them :) * [Metal] New bindings from Xcode 9 betas (#2457) * [AVFoundation] Updated bindings for xcode9. (#2272) * [Xcode9] Add IOSurface bindings (#2363) * This framework was a private framework before iOS 11. This framework was a private framework before iOS 11, yet the headers claim many API were introduced in iOS 10. So take account of this difference by using the private framework location in iOS 10.3 or earlier. Testing these API from Xcode works fine when run on an iOS 10.3 device, and I've confirmed the IOSurface framework is loaded from the private frameworks path on older devices (and when built using Xcode 9 and linked with the public framework path). * Disable code to make IOSurface work on iOS 10. Disable the code to make IOSurface work on iOS 10, since it may be rejected by the App Store. This also means adjusting the availability attributes, so that the introspection tests pass (and to document that technically these API won't work when used with Xamarin.iOS in iOS 10). I've filed bug #[59201][1] to keep track of this, maybe we can re-enable this later. [1]: https://bugzilla.xamarin.com/show_bug.cgi?id=59201 * [CoreMedia] Fix leak in CMAttachmentBearer.GetAttachments. (#2593) The caller owns the return value from CMCopyDictionaryOfAttachments, so tell Runtime.GetNSObject that. * [Intents] Adds missing API found by xtro, fixes Bug 59183 (#2596) https://bugzilla.xamarin.com/show_bug.cgi?id=59183 Fixes !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !incorrect-protocol-member! INUIHostedViewControlling::configureWithInteraction:context:completion: is OPTIONAL and should NOT be abstract * [xtro] Fix StartWorkingDirectory to enable debugging (#2598) * [iosurface] Enable for tvOS and XM classic (to avoid multiple defines around consumer API) (#2597) * [xtro] Fix EnumCheck (#2600) * [ARKit] Rename a few method to make them nicer. (#2604) * DisplayTransform -> GetDisplayTransform since methods should have verbs. * SessionWasInterrupted -> WasInterrupted and SessionInterruptionEnded -> InterruptionEnded since these names match better with the other names (CameraDidChangeTrackingState / DidFail / DidOutputAudioSampleBuffer: none are prefixed with 'Session'). Additionally, the type is a Model (for the delegate pattern), which means all methods are more-or-less event-like, and the first argument is always the same (the protocol itself), which is another indicator the methods should be named similarly. * [Foundation] Remove 'Key' suffix from some fields. (#2606) Of the 168 fields in NSMetadataItem, only these 5 hadn't removed the 'Key' suffix. So make them all equivalent by removing the 'Key' suffix from these 5 fields. * [ImageIO] Fix API to not duplicate the instance in instance methods. (#2609) An instance method does not need to take the instance as a parameter, so remove the first (instance) parameter for CGImageDestination.AddAuxiliaryDataInfo and CGImageSource.CopyAuxiliaryDataInfo. An alternative solution would be to make the methods static, but I like the instance API better. * [UIKit] De-model UIDataSourceTranslating. (#2603) It's not clear from neither the documentation nor the headers how this protocol is supposed to be used, and since it doesn't correspond to the delegate pattern, remove the [Model] attribute for now. We can always add it back later. * [CoreML] Improve API. (#2592) * [CoreML] Improve API. * The indices, shape and stride properties for MLMultiArray and MLMultiArrayConstraint can logically only be arrays of integers, so type them as such. This means adding overloads for MLMultiArray's constructors, GetObject and SetObject methods, and the indexers that takes nint[] arrays instead of NSNumber[] arrays. * Change MLFeatureValue's static factory methods to be a method ('Create') instead of a preposition, and call all the different factory methods the same, since they can be overloaded nicely. * [tests][monotouch-test] Add version check to MLMultiArrayTest and make sure the arrays we create are big enough for the data we put in them. * [tests][monotouch-test] MLMultiArray's elements aren't zero-initialized, so don't assume that in the tests. * Support overloading Objective-C methods based on static/instance. (#2607) Two Objective-C methods can be named identically as long as one is static and the other instance. We must support this since Apple did just this (in the NSItemProviderReading / NSItemProviderWriting protocols). We solve it by prepending a '+' or '-' to the selector when hashing it (to determine selector uniqueness, and to look the method up again at runtime). * [uikit] Update for Xcode 9 - Part 6 (#2602) NSAttributedString.h NSFileProviderExtension.h NSLayoutAnchor.h UIAccessibility.h UIAccessibilityAdditions.h UIAccessibilityContainer.h UIAccessibilityContentSizeCategoryImageAdjusting.h UIAccessibilityCustomRotor.h UIAccessibilityLocationDescriptor.h UITabBar.h UINavigationBar.h UIScreen.h * Xcode9 scenekit (#2512) * [SceneKit] basic work * Added key * [xcode9] SCNCameraController * [xcode9] SCNCamera updates * [xcode9] SCNMaterial * [xcode9] SCNGeometryTessellator, SCNCameraControlConfiguration, SCNView, small bits * Add trailing commas to last enum value * Remove whitespace noise * [scenekit] Update deprecated attributes messages * Addresses some of Rolf's feedback * Drop the WeakDelegate in SCNCameraController * Rename method to Render, remove ctor from class that can not be constructed in Palygrounds, add typo exception * [AppKit] Rename NSBezierPath.AppendBezierPathWithCGGlyph to match its sibling methods. (#2605) NSBezierPath contains a lot of 'AppendPathWithXXX' methods, that all map to 'appendBezierPathXXX' selectors. So rename AppendBezierPathWithCGGlyph accordingly, to make it more similar to the other methods in the same type. * [uikit] Add all UISpringLoadedInteractionSupporting (#2616) Types do not conform to the protocol but protocol methods work on those types (see monotouch-test). Fixed introspection tests accordingly and tested the selectors in monotouch-test. * [Intents] Add convenience ctor overload and call correct base ctor in manual ctor. (#2613) Add a convenience constructor overload in INGetUserCurrentRestaurantReservationBookingsIntent that uses nint instead of NSNumber, since logically "number of results" will always be some sort of integer. Also call the correct base constructor in INSpeakableString's custom constructor (same as any other generated constructor). Otherwise we end up doing something like this: [[[INSpeakableString alloc] init] initWith ...], i.e. calling two different init methods. * [coreimage] Add new headers API up to beta 6 (#2601) Filters are not complete (ref: #57350) https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * Some new constants are not yet documented (type is known), so they are commented / ignored https://bugzilla.xamarin.com/show_bug.cgi?id=59296 * Filled bug for [Wrap] inside [Category] so strong dictionary helpers can be re-enabled later https://bugzilla.xamarin.com/show_bug.cgi?id=59294 * [foundation] xtro fixes for watchOS (#2586) !missing-enum! NSProcessInfoThermalState not bound !missing-field! NSProcessInfoThermalStateDidChangeNotification not bound !missing-selector! NSProcessInfo::thermalState not bound Headers are wrong and preferredPresentationStyle is not in tvOS and watchOS !missing-selector! NSItemProvider::preferredPresentationStyle not bound !missing-selector! NSItemProvider::setPreferredPresentationStyle: not bound * [uikit] Also remove UIPreferredPresentationStyle enum from platform where it's not used * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. (#2614) * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. * NSItemProviderWriting: * NSItemProviderReading: Implement correctly and completely by uncommenting commented out code. * NSMutableString: * NSAttributedString: remove inlined members, since these classes don't implement NSItemProviderReading / NSItemProviderWriting (according to the headers at least). * NSUrl: all platforms now seem to implement NSItemProviderReading / NSItemProviderWriting. * NSString: all platforms now seem to implement both NSItemProviderReading and NSItemProviderWriting * UIColor: * UIImage: Update inlined protocol members according to the latest beta. Additionally, due to the following conditions: * The protocols all have the correct members now. * In the API definition we tell the generator to inline members from a protocol by inheriting from the corresponding interface. * The generator doesn't inline static members from protocols. several 'new' keywords had to be added to silence a compiler warning that occurrs when we manually inline a static member, since the member would be included in the type both from the inherited interface and the manual implementation. * [Foundation] Comment out NSItemProviderWriting.GetItemProviderVisibility to avoid inlining/generating unusable methods. NSItemProviderWriting.GetItemProviderVisibility is an optional method, and none of the native classes that implements NSItemProviderWriting actually imlements the method. This means inlining the method in those classes ends up creating unusable API; so just comment out the method to avoid generating the unusable API. The introspection tests found this: [FAIL] Foundation.NSString : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Foundation.NSUrl : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Contacts.CNContact : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] MapKit.MKMapItem : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIColor : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIImage : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] iOSApiSelectorTest.ApiSelectorTest.StaticMethods : 6 errors found in 2348 static selector validated: See also https://bugzilla.xamarin.com/show_bug.cgi?id=59308 * [iosurface] Add missing [TV] attributes (#2619) * [opengles] Enable the new API using IOSurface (#2618) The symbol only exists inside device libraries, not on simulator, and the introspection tests were updated to ignore it. Part of https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [avfoundation][watchos] Enable AudioBufferList (fix #59145) + audit (xtro) (#2617) 1. AudioBufferList is part of CoreAudio (wrong namespace, which needs a few changes in the generator) and now available in watchOS 4 https://bugzilla.xamarin.com/show_bug.cgi?id=59145 2. Also fixes xtro found issues: !missing-type! AVAudioRecorder not bound !missing-selector! AVAudioRecorder::averagePowerForChannel: not bound !missing-selector! AVAudioRecorder::channelAssignments not bound !missing-selector! AVAudioRecorder::currentTime not bound !missing-selector! AVAudioRecorder::delegate not bound !missing-selector! AVAudioRecorder::deviceCurrentTime not bound !missing-selector! AVAudioRecorder::format not bound !missing-selector! AVAudioRecorder::initWithURL:format:error: not bound !missing-selector! AVAudioRecorder::initWithURL:settings:error: not bound !missing-selector! AVAudioRecorder::isMeteringEnabled not bound !missing-selector! AVAudioRecorder::isRecording not bound !missing-selector! AVAudioRecorder::peakPowerForChannel: not bound !missing-selector! AVAudioRecorder::recordAtTime: not bound !missing-selector! AVAudioRecorder::recordAtTime:forDuration: not bound !missing-selector! AVAudioRecorder::recordForDuration: not bound !missing-selector! AVAudioRecorder::setChannelAssignments: not bound !missing-selector! AVAudioRecorder::setDelegate: not bound !missing-selector! AVAudioRecorder::setMeteringEnabled: not bound !missing-selector! AVAudioRecorder::settings not bound !missing-selector! AVAudioRecorder::url not bound !missing-protocol! AVAudioRecorderDelegate not bound !missing-selector! AVAudioEngine::inputNode not bound !missing-selector! AVAudioEngine::manualRenderingBlock not bound !missing-selector! AVAudioInputNode::setManualRenderingInputPCMFormat:inputBlock: not bound !missing-selector! AVAudioPlayer::format not bound !missing-selector! AVAudioSession::requestRecordPermission: not bound !unknown-field! AVFileType3GPP bound !unknown-field! AVFileType3GPP2 bound !unknown-field! AVFileTypeAC3 bound !unknown-field! AVFileTypeAIFC bound !unknown-field! AVFileTypeAIFF bound !unknown-field! AVFileTypeAMR bound !unknown-field! AVFileTypeAVCI bound !unknown-field! AVFileTypeAppleM4A bound !unknown-field! AVFileTypeAppleM4V bound !unknown-field! AVFileTypeCoreAudioFormat bound !unknown-field! AVFileTypeDNG bound !unknown-field! AVFileTypeEnhancedAC3 bound !unknown-field! AVFileTypeHEIC bound !unknown-field! AVFileTypeHEIF bound !unknown-field! AVFileTypeJPEG bound !unknown-field! AVFileTypeMPEG4 bound !unknown-field! AVFileTypeMPEGLayer3 bound !unknown-field! AVFileTypeQuickTimeMovie bound !unknown-field! AVFileTypeSunAU bound !unknown-field! AVFileTypeTIFF bound !unknown-field! AVFileTypeWAVE bound * [Metal] Implement API using IOSurface now that IOSurface is implemented. Partially fixes #58054. (#2621) https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [PdfKit] Improve PdfAnnotation.QuadrilateralPoints binding by making it strongly typed. (#2620) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). (#2622) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). * [ARKit/Vision] Use the new simd vector types instead of the OpenTK versions. * [ModelIO] Use the new simd vectors in new API (MDLVoxelIndexExtent2). This way we won't have to create a MDLVoxelIndexExtent3 in the future. * [SpriteKit] Use the new simd vectors in new API. * [metal] Audit (xtro) based fixes (#2623) !extra-protocol-member! unexpected selector MTLArgumentEncoder::newArgumentEncoderForBufferAtIndex: found !extra-protocol-member! unexpected selector MTLComputeCommandEncoder::dispatchThreads:threadsPerThreadgroup: found macos-only !missing-field! MTLDeviceRemovalRequestedNotification not bound !missing-field! MTLDeviceWasAddedNotification not bound !missing-field! MTLDeviceWasRemovedNotification not bound !missing-pinvoke! MTLCopyAllDevices is not bound * [CloudKit] Update bindings to beta 6. (#2615) * [FileProvider] Turn NSFileProviderItemIdentifier enum into a static class, fixes bug 59329 (#2634) https://bugzilla.xamarin.com/show_bug.cgi?id=59329 At the time of binding NSFileProviderItemIdentifier it wasn't clear how it was supposed to be used, I mean apple provides two keys which I thought were the only possible values hence binding it as an smart enum. Unfortunately this wasn't the case and the user can use those two values provided from the SDK or their own NSString Identifier. Swift provides a wrapper unfortunately we can't do the same due to NSFileProviderItemIdentifier is used in the NSFileProviderItem protocol and we currently do not support changing signatures on them. * [mtouch] Teach mtouch about the 'IOSurface' framework for tvOS. Fixes #59333. (#2630) https://bugzilla.xamarin.com/show_bug.cgi?id=59333 * Bump Touch.Unit to get fix for API breakage. (#2631) spouliot/Touch.Unit@8f1e19d [NUnitOutputTextWriter] Reintroduce previous constructor to make sure we don't break binary ABI. spouliot/Touch.Unit@00b0c0b [NUnitOutputTextWriter] Don't write invalid xml comments. spouliot/Touch.Unit@de9fe20 [TouchRunner] Restore the original code path when not wrapping NUnit xml output. * [IOSurface] Add missing availability attributes for tvOS. (#2629) * Bump versions for preview 9 (#2624) * [AVFoundation] Add missing interface AVRouteDetector. (#2637) * [tests] Update xtro to reduce list sizes (#2636) * Skip OpenTK duplicate declaration (we can't change them); * Fix rule name change for ARKit / simd; * Add missing default initializer on `init` to pending actions; * Add note for AVPersistableContentKeyRequest changes wrt tvOS; * [ReplayKit] Make RPBroadcastActivityViewController.LoadBroadcastActivityViewController async-capable. (#2639) * [xcode9] More SceneKit bindings (#2633) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 (#2644) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 https://bugzilla.xamarin.com/show_bug.cgi?id=59380 vector_float3 is 16 bytes, which means the binding is incorrect, because Vector3 is 12 bytes, and our code does not that difference into account. * Add tests * [DeviceCheck] Disable default ctor for DCDevice. (#2642) It doesn't seem to be useful according to the documentation, since it appears that the only way to get an instance is to use the static CurrentDevice property. * [audiounit] Audit (xtro) fixes for tvOS (#2635) Availability attributes in non-generated files don't hide symbols/code. reference: !unknown-pinvoke! AudioUnitExtensionCopyComponentList bound !unknown-pinvoke! AudioUnitExtensionSetComponentList bound * [tests] Make sure tvOS tests don't use the (unexisting) API * [tests] Add all test project variations to tests-mac.sln (#2579) * [xharness] Make sure generated mac projects have different project guids. * [introspection] Change the project guid so that it doesn't match the dontlink-mac project guid. * [tests] Add all test project variations to tests-mac.sln. * [xharness] Fix else condition. * [FileProvider] Adds missing NSFileProviderPage constants, fixes bug 59297. (#2646) https://bugzilla.xamarin.com/show_bug.cgi?id=59297 Adds NSFileProviderInitialPageSortedByName and NSFileProviderInitialPageSortedByDate NSData constants * [Xcode9] Remove NSFileProviderMessage and NSFileProviderMessageInterface (#2647) APIs were removed in beta 2 * [Foundation/UIKit] Provide LoadObject[s] methods that return the expected type in the callback. Fixes #59049. (#2638) The callback for these LoadObject[s] methods take an INSItemProviderReading parameter. This tells our runtime that we must provide an instance of a managed object that implements this interface (but nothing else), so we create a `NSItemProviderReadingWrapper` instance, which complies with the API (since the wrapper type implements the corresponding interface). Unfortunately these methods are supposed to return an instance of the passed- in type, so in order to comply with this soft (documentation-only) requirement, provide a wrapper method that creates instances of the right types. https://bugzilla.xamarin.com/show_bug.cgi?id=59049 * [arkit] Ignore deprecated selectors (#2645) * [FileProvider] Adds missing protocol and keys from audit (#2652) ``` !missing-protocol! NSFileProviderServiceSource not bound !missing-field! NSFileProviderErrorCollidingItemKey not bound !missing-field! NSFileProviderErrorNonExistentItemIdentifierKey not bound !missing-field! NSFileProviderFavoriteRankUnranked not bound ``` Also adds `NSXpcListenerEndpoint` to foundation, needed by `NSFileProviderServiceSource` protocol. * [tests][xtro] Workaround xtro runner dupe entry exception and update data files (#2654) * [AVFoundation] Rename field to match others. (#2657) * [homekit] Audit (xtro) fixes (#2653) - HMCharacteristicEvent conforms to NSMutableCopying on iOS11 which makes it 64 bits only (so adjust intro tests) - Ignore extra setters on HMMutablePresenceEvent, rdar 33883958 !missing-selector! HMMutablePresenceEvent::setPresenceEventType: not bound !missing-selector! HMMutablePresenceEvent::setPresenceUserType: not bound * [xtro] Add missing pinvoke to pending (#2662) - Bug 59422: [uikit] Missing UIContentSizeCategoryCompareToCategory & UIContentSizeCategoryIsAccessibilityCategory (https://bugzilla.xamarin.com/show_bug.cgi?id=59422) * Merge latest d15-3 fixes into xcode9 (#2660) * [msbuild] Re-added wildcard (*) expandsion for application-identifier in Entitlements.plist (#2186) Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=57119 * Bump mono (#2213) * Framework tests were still binding non-linked Simple class which errors now (#2216) (#2218) - Improve Makefile to rebuild when projects build with errors * Bump mono to get cecil fix for bug #56808. (#2222) https://bugzilla.xamarin.com/show_bug.cgi?id=56808 * [msbuild] Use @(ReferencePath) instead of @(ResolvedFiles) (#2188) (#2214) This allows things to work on both xbuild and msbuild. In xbuild, both lists are exactly the same and on msbuild, only @(ReferencePath) exists. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=55147 * NSActivityOptions.IdleDisplaySleepDisabled had wrong value (#2232) (#2239) This was due to an integer overflow. The original value was based on Int32 1 << 40 == 256 The correct value should be based on a UInt64. 1UL << 40 == 1099511627776 * [tests] Fix bug 57699 - [iOS]InternalsTest failure (Linkall) tests on device (#2243) Strip native debugging symbols should not be checked for debug builds * Bump mono to get fix for bug #57780. https://bugzilla.xamarin.com/show_bug.cgi?id=57780 * Update .gitmodules Change branch to d15-3 branch of mono * Bump maccore to get fix for bug #55064. https://bugzilla.xamarin.com/show_bug.cgi?id=55064 * [mono] Bump mono to get the head of cecil/mono-2017-04 and fix IsComObject #57919 Also fix #58789 [1], the typo in tools/mtouch/Tuning.cs showing in MT0000 errors instead MT2102. That's already in master and d15-4 mono bump includes: [2] commit 2a6502cee0df9de5198eafe7c8b5f6ac25106f34 (HEAD -> d15-3, origin/d15-3) Merge: 02457c20fcf 5e05cafc6f1 Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 10:04:06 2017 -0400 Merge pull request #5401 from marek-safar/com [Marshal.IsComObject] Make this predicate return false instead of thr… [3] commit 02457c20fcf57c0610e844d638eb1da82b5d1eb0 Merge: da80840ea55 73fd9a1b82e Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 09:59:06 2017 -0400 Merge pull request #5400 from spouliot/bump-cecil-58834-d15-3 [cecil] Bump to the head of the mono-2017-04 branch and pick the fix for bug #58834 References [1] https://bugzilla.xamarin.com/show_bug.cgi?id=58789 [2] https://bugzilla.xamarin.com/show_bug.cgi?id=57919 [3] https://bugzilla.xamarin.com/show_bug.cgi?id=58834 * [mtouch] Put 'mono_profiler_startup_log' in the symbol list. Fixes #58778. (#2501) We need the 'mono_profiler_startup_log' symbol when profiling is enabled, so make sure to add the symbol to the correct list of symbols we need. Previously we were passing `-u _mono_profiler_startup_log` to clang directly, which is fine, but not complete, since it does not write the symbol to the symbollist file (--symbollist=file), which means it wouldn't be preserved when the MSBuild tasks strip the executable. https://bugzilla.xamarin.com/show_bug.cgi?id=58778 * Bump versions for SR3 https://trello.com/c/EVze08ei * Bump mono to include HttpClientHandler fix #44027 https://trello.com/c/jYFXadH8/8-systemnethttp-close-request-stream-when-httpclienthandler https://bugzilla.xamarin.com/show_bug.cgi?id=44027 * [FileProvider] Add missing API and turn NSString to string (#2663) Turned NSString to string in order to match exisiting API. * [uikit] Add UIPasteConfigurationSupporting and UITextPasteConfigurationSupporting (#2649) - Fixes bug #59363: Missing UIPasteConfigurationSupporting, UITextPasteConfigurationSupporting, UITextDraggable and UITextDroppable on a couple of types (https://bugzilla.xamarin.com/show_bug.cgi?id=59363) * [uikit] Remove 129 types in UIPasteConfigurationSupporting case * [scenekit] Audit (xtro) fixes (#2648) This looks like an Apple breaking change (since `SCNAnimation` is new) but we now have: > typedef void (^SCNAnimationEventBlock)(id<SCNAnimation> animation, id animatedObject, BOOL playingBackward); bound as > delegate void SCNAnimationEventHandler (CAAnimation animation, NSObject animatedObject, bool playingBackward); and `CAAnimation` conforms to `SCNAnimation` but *only* the later is available on watchOS. The delegate is only updated (since it's new) on our watchOS profile. xtro references: (watchos) !unknown-protocol! SCNCameraControlConfiguration bound (tvos/watchos) !missing-selector! SCNAnimation::animationEvents not bound !missing-selector! SCNAnimation::setAnimationEvents: not bound !missing-selector! SCNConstraint::isEnabled not bound !missing-selector! SCNConstraint::setEnabled: not bound !missing-field! SCNSceneSourceConvertToYUpKey not bound !missing-field! SCNSceneSourceConvertUnitsToMetersKey not bound (ios/tvos) !missing-protocol-conformance! SCNNode should conform to UIFocusItem * Bump maccore post 15.3 merge (#2665) * Bump Xcode 9 to GM (#2667) * Force build (on wrench) * [avfoundation] Fix breaking changes (apidiff) (#2664) * [TVServices] Update to Xcode 9 GM (#2675) * [GameController] Update to Xcode 9 GM (#2673) * [LocalAuthentication] Update to Xcode 9 GM (#2671) * [LocalAuthentication] Update to Xcode 9 GM * Remove availability from BiometryNotAvailable, BiometryNotEnrolled and BiometryLockout * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer (#2659) * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer Some of the new added types were already present BUT under a #if MONOMAC, they had to be moved. * [AVFoundation] Set the wrongly added API to be obsolete and ensure it returns logical values. (#2650) * [xtro] The right platform for macOS is 'macos', not 'osx'. (#2677) The platform name is used to filter availability attributes, and if we use the wrong platform, we'll incorrectly skip all availability attributes. The net result in unclassified entries: https://gist.github.com/rolfbjarne/a4474bc2a40c49a85cad495b51bb514f * Various Xcode 9 API improvements and also fixes bug 59433 (#2676) https://bugzilla.xamarin.com/show_bug.cgi?id=59433 While fixing bug 59433 I noticed some additional issues outlined below: AVDepthData: * Renamed **non** static `Create` methods because `Create` only makes sense with the **Static** method in this context. Also by renaming the methods we are now closer to the names that swift uses. * Kept descriptive method names in favor of self-documenting code. `Convert`, `Apply` and `Replace` do not fully give us the intent of the method. * Added a convenience `Create` static method that takes a `CGImageAuxiliaryDataInfo`. * AvailableDepthDataTypes is now an array of `CVPixelFormatType` instead of a `NSNumber` array (The aactual fix for bug 59433). ImageIO: * Refactored `CGImageAuxiliaryDataInfo` to be a `StrongDictionary` in order to avoid most of the manual code and also to avoid reimplementing the `ToDictionary` method (which contained a subtle bug). * Adjusted code to reflect the above change. * Added missing `.ctor (IntPtr, bool)` to `CGImageMetadata` so the class is able to be created by our `Runtime.Get*`. * Simplified `CopyAuxiliaryDataInfo` method by using `CGImageAuxiliaryDataInfo` as a `DictionaryContainer`. Tests: * Added `xamarinmonkey.heic` which is an image that contains depth data needed to test above changes. * Adds `AVDepthDataTests` that touches most of the changes listed here. * Tweak the Simd-compatible matrices and vectors (#2668) * Rename them to be OpenTK.NMatrix# (instead of Simd.MatrixFloat#x#). * Remove the Vector2 and Vector4 variants, we'll use the OpenTK types instead (but we'll keep the NVector3 variant, since it's not identical to the OpenTK version). * Update the API to match their OpenTK counterparts better: * NMatrix2 and NMatrix3 have a 0-based R#C# scheme for their fields. * NMatrix4 has a 1-based M## scheme for its fields (i.e. no change). * [AVFoundation] Use Simd-matrix for API that needs it. (#2679) This also requires implementing the corresponding matrix (NMatrix4x3). Fixes this xtro issue: > !unknown-simd-type-in-signature! OpenTK.Matrix3 AVFoundation.AVCameraCalibrationData::get_GetIntrinsicMatrix(): the native signature has a simd type (matrix_float3x3), while the corresponding managed method is using an incorrect (non-simd) type. * [xtro] Fix checking availability on categories. (#2682) When checking for category availability, check if both the current declaration is a category, and if the current's declaration container is a category. Otherwise this scenario fails: * Category method is available. * Category does not have availability attributes. * Main class is unavailable. with this typical code sequence: ```csharp // don't process methods (or types) that are unavailable for the current platform if (!decl.IsAvailable () || !(decl.DeclContext as Decl).IsAvailable ()) return; ``` In which case we'd: * First check the method (`decl`): * It's available, so no further checks is done on the method. * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container's container is a category (it isn't, it's the namespace). and as such determine that the method is available. With this change, the second step will become: * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container is a category (it is), and if its main class is available (it isn't). and as such determine that the method is unavailable. * Check for attributes on the method's container (no attributes, so we continue). * Check if the method's Unclassified diff: https://gist.github.com/rolfbjarne/8fa80962596978a426eadf9b7ba39dc1 * [uikit] Update for Xcode 9 GM (#2670) * [AVFoundation] Implement AVCapturePhoto. Partially fixes #59388. (#2678) Fixes: > common.unclassified:!missing-type! AVCapturePhoto not bound https://bugzilla.xamarin.com/show_bug.cgi?id=59388 * Use strong dictionaries for AVCapturePhoto.Metadata and AVCapturePhoto.EmbeddedThumbnailPhotoFormat. * [SIMD] Implement Simd double types (VectorDouble3/MatrixDouble4x4). (#2632) The following types will be used by ModelIO bindings * Fix delta to be double * Rename Simd-compatible matrices and vectors to match our final naming. This also means removing the new Vector2 and Vector4 variants (but not Vector3). * [avfoundation] Remove AVAssetDownloadDelegate.DidLoadTimeRange since it was removed in one of the betas (#2687) * [foundation] Move NSUrlSessionMultipathServiceType to a file processed by the generator (for the availability attributes) (#2688) * [arkit] Update for Xcode 9 GM (#2681) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes (#2690) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes Type Changed: Intents.INCarSeatResolutionResult Removed methods: public static INCarSeatResolutionResult GetConfirmationRequired (INCarSeat valueToConfirm); public static INCarSeatResolutionResult GetSuccess (INCarSeat resolvedValue); * [avfoundation] Add missing protocol members and deprecations (#2691) !missing-protocol-member! AVCapturePhotoCaptureDelegate::captureOutput:didFinishProcessingPhoto:error: not found and the selector removed from PR#2687 was actually replaced with this one !missing-protocol-member! AVAssetDownloadDelegate::URLSession:aggregateAssetDownloadTask:didLoadTimeRange:totalTimeRangesLoaded:timeRangeExpectedToLoad:forMediaSelection: not found * [tests][xtro] Map some enums, more fix with protocols and update entries (#2692) * [Tests] Reenable dns tests on the watch. (#2674) * [arkit] Add ARBlendShapeLocationOptions strong dictionary (#2696) * [coreimage] Skip not yet bound filters added in Xcode9 (#2698) Tracked in https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * [Metal] Renamed MTLArgumentDescriptor.ArgumentDescriptor to Create, fixes bug 59498 (#2702) https://bugzilla.xamarin.com/show_bug.cgi?id=59498 From [argumentDescriptor docs](https://developer.apple.com/documentation/metal/mtlargumentdescriptor/2915746-argumentdescriptor?language=objc) > Creates an empty argument descriptor. * [msbuild] Always codesign app bundles if the codesign key is non-null (#2697) ...even if it is a simulator build. Turns out that starting with Xcode9, sim builds need to be codesigned for App Groups entitlements to work properly. Interestingly, the DetectSigningIdentity logic had a comment about needing to codesign simulator builds for some entitlements to work already starting with Xcode 8 but apparently the iOS targets did not respect this. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=59379 * [Foundation] Add NSProxy stub in order to workaround bug 59247 (#2693) https://bugzilla.xamarin.com/show_bug.cgi?id=59247 We need to have a better solution that removes all what NSProxy does not responds to. Right now this works because NSObject implements NSObject protocol just like NSProxy, but NSProxy responds to far less selectors hence doing it internal so it is not a breaking change when we provide the correct fix. * Keep NSProxy around and avoid XML linker description We need to keep NSProxy (avoid linking it) if WKNavigationDelegate or IWKNavigationDelegate is used. We know WKWebView will be there and can hold a reference to it. * [Xcode 9] Update Metal for GM (#2689) * [iosurface] IOSurface is not usable before iOS/tvOS 11. Fixes #59201 (#2706) Apple rejects apps that links with the previously private IOSurface.framework. We were not sure about this [1] and had it disabled (this is removed). However another bug stopped our adjustment logic [2] from being executed. This is needed since `clang` picks up the private framework if it does not find the public one (even when asking for a weak framework), [1] https://bugzilla.xamarin.com/show_bug.cgi?id=59201 [2] Added a while ago for JavascriptCore * Bump maccore to point to commit with the docs fix. (#2703) * Bump XI to 11.0.x (and XM to 3.99.9.x) (#2684) * fix typo
2017-09-16 00:53:16 +03:00
interface SCNNode : SCNAnimatable, SCNBoundingVolume, SCNActionable, NSCopying, NSSecureCoding
#if IOS || TVOS
, UIFocusItem
#endif
{
2016-04-21 15:30:02 +03:00
[Export ("transform")]
SCNMatrix4 Transform { get; set; }
[Export ("position")]
SCNVector3 Position { get; set; }
[Watch (4,0), TV (11,0), Mac (10,13), iOS (11,0)]
[Export ("worldPosition", ArgumentSemantic.Assign)]
SCNVector3 WorldPosition { get; set; }
2016-04-21 15:30:02 +03:00
[Export ("rotation")]
SCNVector4 Rotation { get; set; }
[Export ("scale")]
SCNVector3 Scale { get; set; }
[Export ("pivot")]
SCNMatrix4 Pivot { get; set; }
[Export ("worldTransform")]
SCNMatrix4 WorldTransform { get; [Watch (4,0), TV (11,0), Mac (10,13), iOS (11,0)] set; }
2016-04-21 15:30:02 +03:00
[Export ("hidden")]
bool Hidden { [Bind ("isHidden")] get; set; }
[Export ("opacity")]
nfloat Opacity { get; set; }
[Export ("renderingOrder")]
nint RenderingOrder { get; set; }
[Export ("parentNode")]
SCNNode ParentNode { get; }
[Export ("childNodes")]
SCNNode [] ChildNodes { get; }
[Export ("light", ArgumentSemantic.Retain)]
[NullAllowedAttribute]
SCNLight Light { get; set; }
[NullAllowed] // by default this property is null
[Export ("camera", ArgumentSemantic.Retain)]
SCNCamera Camera { get; set; }
[Export ("geometry", ArgumentSemantic.Retain)]
SCNGeometry Geometry { get; [NullAllowed] set; }
[NullAllowed] // by default this property is null
[Export ("name", ArgumentSemantic.Copy)]
string Name { get; set; }
[NoWatch]
2016-04-21 15:30:02 +03:00
[Export ("rendererDelegate", ArgumentSemantic.Assign), NullAllowed]
NSObject WeakRendererDelegate { get; set; }
[NoWatch]
2016-04-21 15:30:02 +03:00
[Wrap ("WeakRendererDelegate")]
[Protocolize]
SCNNodeRendererDelegate RendererDelegate { get; set; }
[Static, Export ("node")]
SCNNode Create ();
[Static]
[Export ("nodeWithGeometry:")]
SCNNode FromGeometry ([NullAllowed] SCNGeometry geometry);
[Export ("presentationNode")]
SCNNode PresentationNode { get; }
[Export ("insertChildNode:atIndex:")]
void InsertChildNode (SCNNode child, nint index);
[Export ("replaceChildNode:with:")]
void ReplaceChildNode (SCNNode child, SCNNode child2);
[Export ("removeFromParentNode")]
void RemoveFromParentNode ();
[Export ("addChildNode:")]
void AddChildNode (SCNNode child);
[Export ("childNodeWithName:recursively:")]
SCNNode FindChildNode (string childName, bool recursively);
[Export ("childNodesPassingTest:")]
SCNNode [] FindNodes (SCNNodePredicate predicate);
[Export ("clone")]
SCNNode Clone ();
[Mac (10,9)]
[NullAllowed] // by default this property is null
[Export ("skinner", ArgumentSemantic.Retain)]
SCNSkinner Skinner { get; set; }
[Mac (10,9)]
[NullAllowed] // by default this property is null
[Export ("morpher", ArgumentSemantic.Retain)]
SCNMorpher Morpher { get; set; }
[Watch (4,0), TV (11,0), Mac (10,13), iOS (11,0)]
[Export ("worldOrientation", ArgumentSemantic.Assign)]
SCNQuaternion WorldOrientation { get; set; }
2016-04-21 15:30:02 +03:00
[Mac (10,10)]
[Export ("orientation")]
SCNQuaternion Orientation { get; set; }
[Mac (10,9)]
[Export ("constraints", ArgumentSemantic.Copy)]
SCNConstraint [] Constraints { get; [NullAllowed] set; }
[NoWatch, Mac (10, 9)]
2016-04-21 15:30:02 +03:00
[NullAllowed] // by default this property is null
[Export ("filters", ArgumentSemantic.Copy)]
CIFilter [] Filters { get; set; }
[Mac (10,9)]
[Export ("flattenedClone")]
SCNNode FlattenedClone ();
[Mac (10,9)]
[Export ("convertPosition:toNode:")]
SCNVector3 ConvertPositionToNode (SCNVector3 position, [NullAllowed] SCNNode node);
[Mac (10,9)]
[Export ("convertPosition:fromNode:")]
SCNVector3 ConvertPositionFromNode (SCNVector3 position, [NullAllowed] SCNNode node);
[Watch (4,0), TV (11,0), Mac (10,13), iOS (11,0)]
[Export ("convertVector:toNode:")]
SCNVector3 ConvertVectorToNode (SCNVector3 vector, [NullAllowed] SCNNode node);
[Watch (4,0), TV (11,0), Mac (10,13), iOS (11,0)]
[Export ("convertVector:fromNode:")]
SCNVector3 ConvertVectorFromNode (SCNVector3 vector, [NullAllowed] SCNNode node);
2016-04-21 15:30:02 +03:00
[Mac (10,9)]
[Export ("convertTransform:fromNode:")]
SCNMatrix4 ConvertTransformFromNode (SCNMatrix4 transform, [NullAllowed] SCNNode node);
[Mac (10,9)]
[Export ("convertTransform:toNode:")]
SCNMatrix4 ConvertTransformToNode (SCNMatrix4 transform, [NullAllowed] SCNNode node);
[Mac (10,9)]
[Export ("hitTestWithSegmentFromPoint:toPoint:options:")]
[EditorBrowsable (EditorBrowsableState.Advanced)]
SCNHitTestResult [] HitTest (SCNVector3 pointA, SCNVector3 pointB, [NullAllowed] NSDictionary options);
[Wrap ("HitTest (pointA, pointB, options == null ? null : options.Dictionary)")]
SCNHitTestResult [] HitTest (SCNVector3 pointA, SCNVector3 pointB, SCNHitTestOptions options);
[Mac (10,10)]
[Export ("eulerAngles")]
SCNVector3 EulerAngles { get; set; }
[Mac (10,10)]
[Export ("castsShadow")]
bool CastsShadow { get; set; }
[TV (10, 0), Mac (10, 12), iOS (10, 0)]
[Export ("movabilityHint", ArgumentSemantic.Assign)]
SCNMovabilityHint MovabilityHint { get; set; }
2016-04-21 15:30:02 +03:00
[Mac (10,10, onlyOn64 : true)] // More broken 32-bit code, 17710842
[Export ("physicsBody", ArgumentSemantic.Retain), NullAllowed]
SCNPhysicsBody PhysicsBody { get; set; }
[Mac (10,10)]
[NullAllowed] // by default this property is null
[Export ("physicsField", ArgumentSemantic.Retain)]
SCNPhysicsField PhysicsField { get; set; }
[Mac (10,10)]
[Export ("paused")]
bool Paused { [Bind ("isPaused")] get; set; }
[Mac (10,10)]
[Export ("categoryBitMask")]
nuint CategoryBitMask { get; set; }
[Mac (10,10)]
[Export ("enumerateChildNodesUsingBlock:")]
void EnumerateChildNodes (SCNNodeHandler handler);
[TV (10, 0), Mac (10, 12), iOS (10, 0)]
[Export ("enumerateHierarchyUsingBlock:")]
void EnumerateHierarchy (SCNNodeHandler handler);
2016-04-21 15:30:02 +03:00
[Watch (4,0), TV (11,0), Mac (10,13), iOS (11,0)]
[Export ("focusBehavior", ArgumentSemantic.Assign)]
SCNNodeFocusBehavior FocusBehavior { get; set; }
2016-04-21 15:30:02 +03:00
#region SCNParticleSystemSupport (SCNNode) category
[Mac (10,10)]
[Export ("particleSystems")]
SCNParticleSystem [] ParticleSystems { get; }
[Mac (10,10)]
[Export ("addParticleSystem:")]
void AddParticleSystem (SCNParticleSystem system);
[Mac (10,10)]
[Export ("removeAllParticleSystems")]
void RemoveAllParticleSystems ();
[Mac (10,10)]
[Export ("removeParticleSystem:")]
void RemoveParticleSystem (SCNParticleSystem system);
#endregion
#region SCNAudioSupport (SCNNode) category
[iOS (9,0), Mac(10,11)]
[Export ("audioPlayers")]
SCNAudioPlayer [] AudioPlayers { get; }
[iOS (9,0), Mac(10,11)]
[Export ("addAudioPlayer:")]
void AddAudioPlayer (SCNAudioPlayer player);
[iOS (9,0), Mac(10,11)]
[Export ("removeAllAudioPlayers")]
void RemoveAllAudioPlayers ();
[iOS (9,0), Mac(10,11)]
[Export ("removeAudioPlayer:")]
void RemoveAudioPlayer (SCNAudioPlayer player);
#endregion
#if XAMCORE_2_0
[NoWatch]
2016-04-21 15:30:02 +03:00
[iOS (9,0), Mac(10,11)]
[Static]
[Export ("nodeWithMDLObject:")]
SCNNode FromModelObject (MDLObject mdlObject);
#endif
// From SCNNode (Transforms) Category
[Watch (4,0), TV (11,0), Mac (10,13), iOS (11,0)]
[Static]
[Export ("localUp")]
SCNVector3 LocalUp { get; }
[Watch (4,0), TV (11,0), Mac (10,13), iOS (11,0)]
[Static]
[Export ("localRight")]
SCNVector3 LocalRight { get; }
[Watch (4,0), TV (11,0), Mac (10,13), iOS (11,0)]
[Static]
[Export ("localFront")]
SCNVector3 LocalFront { get; }
[Watch (4,0), TV (11,0), Mac (10,13), iOS (11,0)]
[Export ("worldUp")]
SCNVector3 WorldUp { get; }
[Watch (4,0), TV (11,0), Mac (10,13), iOS (11,0)]
[Export ("worldRight")]
SCNVector3 WorldRight { get; }
[Watch (4,0), TV (11,0), Mac (10,13), iOS (11,0)]
[Export ("worldFront")]
SCNVector3 WorldFront { get; }
[Watch (4,0), TV (11,0), Mac (10,13), iOS (11,0)]
[Export ("lookAt:")]
void Look (SCNVector3 worldTarget);
[Watch (4,0), TV (11,0), Mac (10,13), iOS (11,0)]
[Export ("lookAt:up:localFront:")]
void Look (SCNVector3 worldTarget, SCNVector3 worldUp, SCNVector3 localFront);
[Watch (4,0), TV (11,0), Mac (10,13), iOS (11,0)]
[Export ("localTranslateBy:")]
void LocalTranslate (SCNVector3 translation);
[Watch (4,0), TV (11,0), Mac (10,13), iOS (11,0)]
[Export ("localRotateBy:")]
void LocalRotate (SCNQuaternion rotation);
[Watch (4,0), TV (11,0), Mac (10,13), iOS (11,0)]
[Export ("rotateBy:aroundTarget:")]
void Rotate (SCNQuaternion worldRotation, SCNVector3 worldTarget);
// From SCNNode (SIMD) Category
// Unfortunatelly had to prefix some props Simd due to the property name is already taken
// by the SCN* version.
// We took the decision to comment the following helpers since they currently do not bring
// any benefits over the SCN* versions, actually the SIMD types could potentially be just
// a little slower than the SCN* versions due to manual native conversion. If you really
// need them please file a bug at https://bugzilla.xamarin.com/enter_bug.cgi?product=iOS
// Please add the following code to runtime/bindings-generator.cs if you reenable the following SIMD methods.
/*
* Add to runtime/bindings-generator.cs
*
data.Add (
new FunctionData {
Comment = " // void func (Quaternion, NVector3)",
Prefix = "simd__",
Variants = Variants.NonStret,
Parameters = new ParameterData [] {
new ParameterData { TypeData = Types.QuatF },
new ParameterData { TypeData = Types.NVector3 }
},
}
);
data.Add (
new FunctionData {
Comment = " // void func (NVector3, NVector3, NVector3)",
Prefix = "simd__",
Variants = Variants.NonStret,
Parameters = new ParameterData [] {
new ParameterData { TypeData = Types.NVector3 },
new ParameterData { TypeData = Types.NVector3 },
new ParameterData { TypeData = Types.NVector3 }
},
}
);
data.Add (
new FunctionData {
Comment = " // NMatrix4 func (NMatrix4, IntPtr)",
Prefix = "simd__",
Variants = Variants.All,
ReturnType = Types.NMatrix4,
Parameters = new ParameterData [] {
new ParameterData { TypeData = Types.NMatrix4 },
new ParameterData { TypeData = Types.IntPtr }
},
}
);
data.Add (
new FunctionData {
Comment = " // NVector3 func (NVector3, IntPtr)",
Prefix = "simd__",
Variants = Variants.All,
ReturnType = Types.NVector3,
Parameters = new ParameterData [] {
new ParameterData { TypeData = Types.NVector3 },
new ParameterData { TypeData = Types.IntPtr }
},
}
);
* End of bindings-generator.cs.
*/
//[Watch (4,0), TV (11,0), Mac (10,13), iOS (11,0)]
//[Export ("simdTransform", ArgumentSemantic.Assign)]
//NMatrix4 SimdTransform {
// [MarshalDirective (NativePrefix = "xamarin_simd__", Library = "__Internal")]
// get;
// [MarshalDirective (NativePrefix = "xamarin_simd__", Library = "__Internal")]
// set;
//}
//[Watch (4,0), TV (11,0), Mac (10,13), iOS (11,0)]
//[Export ("simdPosition", ArgumentSemantic.Assign)]
//NVector3 SimdPosition {
// [MarshalDirective (NativePrefix = "xamarin_simd__", Library = "__Internal")]
// get;
// [MarshalDirective (NativePrefix = "xamarin_simd__", Library = "__Internal")]
// set;
//}
//[Watch (4,0), TV (11,0), Mac (10,13), iOS (11,0)]
//[Export ("simdRotation", ArgumentSemantic.Assign)]
//Vector4 SimdRotation {
// [MarshalDirective (NativePrefix = "xamarin_simd__", Library = "__Internal")]
// get;
// [MarshalDirective (NativePrefix = "xamarin_simd__", Library = "__Internal")]
// set;
//}
//[Watch (4,0), TV (11,0), Mac (10,13), iOS (11,0)]
//[Export ("simdOrientation", ArgumentSemantic.Assign)]
//Quaternion SimdOrientation {
// [MarshalDirective (NativePrefix = "xamarin_simd__", Library = "__Internal")]
// get;
// [MarshalDirective (NativePrefix = "xamarin_simd__", Library = "__Internal")]
// set;
//}
//[Watch (4,0), TV (11,0), Mac (10,13), iOS (11,0)]
//[Export ("simdEulerAngles", ArgumentSemantic.Assign)]
//NVector3 SimdEulerAngles {
// [MarshalDirective (NativePrefix = "xamarin_simd__", Library = "__Internal")]
// get;
// [MarshalDirective (NativePrefix = "xamarin_simd__", Library = "__Internal")]
// set;
//}
//[Watch (4,0), TV (11,0), Mac (10,13), iOS (11,0)]
//[Export ("simdScale", ArgumentSemantic.Assign)]
//NVector3 SimdScale {
// [MarshalDirective (NativePrefix = "xamarin_simd__", Library = "__Internal")]
// get;
// [MarshalDirective (NativePrefix = "xamarin_simd__", Library = "__Internal")]
// set;
//}
//[Watch (4,0), TV (11,0), Mac (10,13), iOS (11,0)]
//[Export ("simdPivot", ArgumentSemantic.Assign)]
//NMatrix4 SimdPivot {
// [MarshalDirective (NativePrefix = "xamarin_simd__", Library = "__Internal")]
// get;
// [MarshalDirective (NativePrefix = "xamarin_simd__", Library = "__Internal")]
// set;
//}
//[Watch (4,0), TV (11,0), Mac (10,13), iOS (11,0)]
//[Export ("simdWorldPosition", ArgumentSemantic.Assign)]
//NVector3 SimdWorldPosition {
// [MarshalDirective (NativePrefix = "xamarin_simd__", Library = "__Internal")]
// get;
// [MarshalDirective (NativePrefix = "xamarin_simd__", Library = "__Internal")]
// set;
//}
//[Watch (4,0), TV (11,0), Mac (10,13), iOS (11,0)]
//[Export ("simdWorldOrientation", ArgumentSemantic.Assign)]
//Quaternion SimdWorldOrientation {
// [MarshalDirective (NativePrefix = "xamarin_simd__", Library = "__Internal")]
// get;
// [MarshalDirective (NativePrefix = "xamarin_simd__", Library = "__Internal")]
// set;
//}
//[Watch (4,0), TV (11,0), Mac (10,13), iOS (11,0)]
//[Export ("simdWorldTransform", ArgumentSemantic.Assign)]
//NMatrix4 SimdWorldTransform {
// [MarshalDirective (NativePrefix = "xamarin_simd__", Library = "__Internal")]
// get;
// [MarshalDirective (NativePrefix = "xamarin_simd__", Library = "__Internal")]
// set;
//}
//[Watch (4,0), TV (11,0), Mac (10,13), iOS (11,0)]
//[Export ("simdConvertPosition:toNode:")]
//[MarshalDirective (NativePrefix = "xamarin_simd__", Library = "__Internal")]
//NVector3 ConvertPositionToNode (NVector3 position, [NullAllowed] SCNNode node);
//[Watch (4,0), TV (11,0), Mac (10,13), iOS (11,0)]
//[Export ("simdConvertPosition:fromNode:")]
//[MarshalDirective (NativePrefix = "xamarin_simd__", Library = "__Internal")]
//NVector3 ConvertPositionFromNode (NVector3 position, [NullAllowed] SCNNode node);
//[Watch (4,0), TV (11,0), Mac (10,13), iOS (11,0)]
//[Export ("simdConvertVector:toNode:")]
//[MarshalDirective (NativePrefix = "xamarin_simd__", Library = "__Internal")]
//NVector3 ConvertVectorToNode (NVector3 vector, [NullAllowed] SCNNode node);
//[Watch (4,0), TV (11,0), Mac (10,13), iOS (11,0)]
//[Export ("simdConvertVector:fromNode:")]
//[MarshalDirective (NativePrefix = "xamarin_simd__", Library = "__Internal")]
//NVector3 ConvertVectorFromNode (NVector3 vector, [NullAllowed] SCNNode node);
//[Watch (4,0), TV (11,0), Mac (10,13), iOS (11,0)]
//[Export ("simdConvertTransform:toNode:")]
//[MarshalDirective (NativePrefix = "xamarin_simd__", Library = "__Internal")]
//NMatrix4 ConvertTransformToNode (NMatrix4 transform, [NullAllowed] SCNNode node);
//[Watch (4,0), TV (11,0), Mac (10,13), iOS (11,0)]
//[Export ("simdConvertTransform:fromNode:")]
//NMatrix4 ConvertTransformFromNode (NMatrix4 transform, [NullAllowed] SCNNode node);
//[Watch (4,0), TV (11,0), Mac (10,13), iOS (11,0)]
//[Static]
//[Export ("simdLocalUp")]
//NVector3 SimdLocalUp {
// [MarshalDirective (NativePrefix = "xamarin_simd__", Library = "__Internal")]
// get;
//}
//[Watch (4,0), TV (11,0), Mac (10,13), iOS (11,0)]
//[Static]
//[Export ("simdLocalRight")]
//NVector3 SimdLocalRight {
// [MarshalDirective (NativePrefix = "xamarin_simd__", Library = "__Internal")]
// get;
//}
//[Watch (4,0), TV (11,0), Mac (10,13), iOS (11,0)]
//[Static]
//[Export ("simdLocalFront")]
//NVector3 SimdLocalFront {
// [MarshalDirective (NativePrefix = "xamarin_simd__", Library = "__Internal")]
// get;
//}
//[Watch (4,0), TV (11,0), Mac (10,13), iOS (11,0)]
//[Export ("simdWorldUp")]
//NVector3 SimdWorldUp {
// [MarshalDirective (NativePrefix = "xamarin_simd__", Library = "__Internal")]
// get;
//}
//[Watch (4,0), TV (11,0), Mac (10,13), iOS (11,0)]
//[Export ("simdWorldRight")]
//NVector3 SimdWorldRight {
// [MarshalDirective (NativePrefix = "xamarin_simd__", Library = "__Internal")]
// get;
//}
//[Watch (4,0), TV (11,0), Mac (10,13), iOS (11,0)]
//[Export ("simdWorldFront")]
//NVector3 SimdWorldFront {
// [MarshalDirective (NativePrefix = "xamarin_simd__", Library = "__Internal")]
// get;
//}
//[Watch (4,0), TV (11,0), Mac (10,13), iOS (11,0)]
//[Export ("simdLookAt:")]
//[MarshalDirective (NativePrefix = "xamarin_simd__", Library = "__Internal")]
//void Look (NVector3 worldTarget);
//[Watch (4,0), TV (11,0), Mac (10,13), iOS (11,0)]
//[Export ("simdLookAt:up:localFront:")]
//[MarshalDirective (NativePrefix = "xamarin_simd__", Library = "__Internal")]
//void Look (NVector3 worldTarget, NVector3 worldUp, NVector3 localFront);
//[Watch (4,0), TV (11,0), Mac (10,13), iOS (11,0)]
//[Export ("simdLocalTranslateBy:")]
//[MarshalDirective (NativePrefix = "xamarin_simd__", Library = "__Internal")]
//void LocalTranslate (NVector3 translation);
//[Watch (4,0), TV (11,0), Mac (10,13), iOS (11,0)]
//[Export ("simdLocalRotateBy:")]
//[MarshalDirective (NativePrefix = "xamarin_simd__", Library = "__Internal")]
//void LocalRotate (Quaternion rotation);
//[Watch (4,0), TV (11,0), Mac (10,13), iOS (11,0)]
//[Export ("simdRotateBy:aroundTarget:")]
//[MarshalDirective (NativePrefix = "xamarin_simd__", Library = "__Internal")]
//void Rotate (Quaternion worldRotation, NVector3 worldTarget);
2016-04-21 15:30:02 +03:00
}
[NoWatch]
2016-04-21 15:30:02 +03:00
[Mac (10,8), iOS (8,0)]
[BaseType (typeof (NSObject))]
[Model, Protocol]
interface SCNNodeRendererDelegate {
[Export ("renderNode:renderer:arguments:")]
void Render (SCNNode node, SCNRenderer renderer, [NullAllowed] NSDictionary arguments);
}
[Watch (3,0)]
2016-04-21 15:30:02 +03:00
[Mac (10,8), iOS (8,0)]
[BaseType (typeof (SCNGeometry))]
interface SCNPlane {
[Export ("width")]
nfloat Width { get; set; }
[Export ("height")]
nfloat Height { get; set; }
[Export ("widthSegmentCount")]
nint WidthSegmentCount { get; set; }
[Export ("heightSegmentCount")]
nint HeightSegmentCount { get; set; }
[Static, Export ("planeWithWidth:height:")]
SCNPlane Create (nfloat width, nfloat height);
[Mac (10,9)]
[Export ("cornerRadius")]
nfloat CornerRadius { get; set; }
[Mac (10,9)]
[Export ("cornerSegmentCount")]
nint CornerSegmentCount { get; set; }
}
delegate void SCNBufferBindingHandler (ISCNBufferStream buffer, SCNNode node, SCNShadable shadable, SCNRenderer renderer);
[Mac (10,8), iOS (8,0), NoWatch]
2016-04-21 15:30:02 +03:00
[BaseType (typeof (NSObject))]
interface SCNProgram : NSCopying, NSSecureCoding {
[NullAllowed]
[Export ("vertexShader", ArgumentSemantic.Copy)]
string VertexShader { get; set; }
[NullAllowed]
[Export ("fragmentShader", ArgumentSemantic.Copy)]
string FragmentShader { get; set; }
[iOS (9,0)][Mac (10,11)]
[NullAllowed]
[Export ("vertexFunctionName")]
string VertexFunctionName { get; set; }
[iOS (9,0)][Mac (10,11)]
[NullAllowed]
[Export ("fragmentFunctionName")]
string FragmentFunctionName { get; set; }
[iOS (9,0)][Mac (10,11)]
[Export ("handleBindingOfBufferNamed:frequency:usingBlock:")]
void HandleBinding (string name, SCNBufferFrequency frequency, SCNBufferBindingHandler handler);
[Export ("delegate", ArgumentSemantic.Assign), NullAllowed]
NSObject WeakDelegate { get; set; }
[Wrap ("WeakDelegate")]
[Protocolize]
SCNProgramDelegate Delegate { get; set; }
[Static, Export ("program")]
SCNProgram Create ();
[Export ("setSemantic:forSymbol:options:")]
[EditorBrowsable (EditorBrowsableState.Advanced)]
void SetSemantic (NSString geometrySourceSemantic, string symbol, [NullAllowed] NSDictionary options);
#if !WATCH
[NoWatch]
2016-04-21 15:30:02 +03:00
[Wrap ("SetSemantic (geometrySourceSemantic, symbol, options == null ? null : options.Dictionary)")]
void SetSemantic (NSString geometrySourceSemantic, string symbol, SCNProgramSemanticOptions options);
#endif
2016-04-21 15:30:02 +03:00
[Export ("semanticForSymbol:")]
#if XAMCORE_4_0
NSString GetSemantic (string symbol);
#else
NSString GetSemanticForSymbol (string symbol);
#endif
[NoWatch]
2016-04-21 15:30:02 +03:00
[Field ("SCNProgramMappingChannelKey")]
[EditorBrowsable (EditorBrowsableState.Advanced)]
NSString MappingChannelKey { get; }
[Mac (10,10)]
[Export ("opaque")]
bool Opaque { [Bind ("isOpaque")] get; set; }
#if XAMCORE_2_0
[NoWatch]
2016-04-21 15:30:02 +03:00
[iOS (9,0)][Mac (10,11)]
[NullAllowed]
[Export ("library", ArgumentSemantic.Retain)]
IMTLLibrary Library { get; set; }
#endif
}
[Mac (10,8), iOS (8,0), NoWatch]
2016-04-21 15:30:02 +03:00
[BaseType (typeof (NSObject))]
[Model, Protocol]
interface SCNProgramDelegate {
#if MONOMAC || !XAMCORE_2_0
2016-04-21 15:30:02 +03:00
#if XAMCORE_3_0
[Availability (Unavailable = Platform.iOS_Version)]
#endif
[Availability (Deprecated = Platform.Mac_10_10)]
[Export ("program:bindValueForSymbol:atLocation:programID:renderer:")]
bool BindValue (SCNProgram program, string symbol, uint /* unsigned int */ location, uint /* unsigned int */ programID, SCNRenderer renderer);
#if XAMCORE_3_0
[Availability (Unavailable = Platform.iOS_Version)]
#endif
[Availability (Deprecated = Platform.Mac_10_10)]
[Export ("program:unbindValueForSymbol:atLocation:programID:renderer:")]
void UnbindValue (SCNProgram program, string symbol, uint /* unsigned int */ location, uint /* unsigned int */ programID, SCNRenderer renderer);
#endif
[Export ("program:handleError:")]
void HandleError (SCNProgram program, NSError error);
#if MONOMAC || !XAMCORE_2_0
2016-04-21 15:30:02 +03:00
#if XAMCORE_3_0
[Availability (Unavailable = Platform.iOS_Version)]
[NoTV, NoWatch]
2016-04-21 15:30:02 +03:00
#endif
Merge xcode9 into d15-4[-xi] (#2710) * [FileProvider] Add Xcode 9 Beta 1, 2 & 3 Bindings (#2279) * [FileProvider] Add Xcode 9 Beta 1 Bindings * Better naming * Feedback not related to BindAs * [FileProvider] Removes BindAs, add manual code for it and updated to Beta 3 * [FileProvider] Implement feedback * [CoreSpotlight] Updated spotlight bindings for xcode 9 beta 3. (#2193) Updated spotlight bindings for xcode 9 beta 3. * Fix warning caused by duplicate (#2354) * [FileProviderUI] Add Xcode 9 Beta 1 to 3 bindings (#2356) * Bump to Xcode 9 beta 4 * [arkit] ARLightEstimate does not conform to NSCopying anymore (fix unit test) * [uikit] NSFileProviderExtension.ReparentItem got a new parameter in beta4 (fix unit test) * [coreimage] CIImageAccumulator init returns nil in beta 4 There's no header change to mention `init` is not allowed but it's not clear how this default initializer could be used. Also make public some other API to construct this type (outside of XM). It's not clear why there were `internal` as they are (at least now) part of the header files. * [photos] Add helpers when PHLivePhotoEditingOption/NSDictionary is null (to avoid ambiguous API) (#2360) Adding a strongly typed `PHLivePhotoEditingOption` (a strongly typed version of an `NSDictionary`) can cause a `CS0121` (call is ambiguous) since using a `null` argument is common (only one option exist so far). This PR adds overloads that makes the code nicer in such case, e.g. before Xcode9: > // null is used when no options are given > _foo.SaveLivePhoto (output, null, completion); current (Xcode 9) > // casting required to remove ambiguity with PHLivePhotoEditingOption > _foo.SaveLivePhoto (output, (NSDictionary)null, completion); with this PR > // no option, no argument > _foo.SaveLivePhoto (output, completion); The same applies to `PrepareLivePhotoForPlayback`. * [tests] Disable/tweak two tests that breaks on (almost) all Xcode updates Those tests were not added to validate xOS so just keep the parts that helps us (without constantly checking back the new break flavor) * Disable watchOS to check if this hides others issues * [mapkit] Update for beta 4 * [coredata] Update for beta 4 * [wkwebkit] Update for beta 4 Note: WKWindowFeatures.h is not compiled (part of the framework umbrella) and the `@interface WKWindowFeatures (WKPrivate)` sounds like it should not have been exposed (it's all fields starting with `_`) * [corelocation] Update for beta 4 * Revert "Disable watchOS to check if this hides others issues" This reverts commit fed2249fa43290a1956ab2fe0d48f83ab6db9711. * [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]: https://github.com/xamarin/xamarin-macios/blob/f5956d6cc1eb5dfa7bab16628cf282d40237f64e/src/generator.cs#L5985 * [FinderSync] Update to beta 4 (#2377) * [ImageIO] Update to Xcode 9 (#2353) * [PhotosUI] Move macOS photosui bindings out of photos.cs into photosui.cs (#2358) * [quicklook] Update up to beta 4 (#2374) * [uikit] UIDragInteraction & UIDragInteractionDelegate (Xcode 9 b1,2,3) (#2357) * [safariservices] Update up to beta 4 (#2380) * [coreanimation] Update to beta 4 (#2382) Apple removed (mistake?) some API in beta 1. Filed as rdar 33590997 Internal tracking in https://trello.com/c/J8BDDUV9/86-33590997-coreanimation-quartzcore-api-removals * [storekit] Update up to beta 4 (#2379) * [CoreML] Update to Xcode 9 Beta 4 (#2387) * [uikit] UICollectionView/UITableView Drag & Drop (Xcode 9 b1,2,3 & 4) (#2355) * Update code after radar 32929318 and 32897776 are fixed in b4 (#2394) * [xcode9 CoreAudio] New definitions from Beta1 to Beta3 (#2359) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 (#2397) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 https://bugzilla.xamarin.com/show_bug.cgi?id=58512 Created strong API (VNBarcodeSymbology) on the following properties * VNDetectBarcodesRequest.SupportedSymbologies * VNDetectBarcodesRequest.Symbologies * VNBarcodeObservation.Symbology * Remove modern C# because classic can't do it 😡 * [mediaplayer] Update up to beta 4 (#2388) * [watchkit] Update to beta 4 (#2398) * Bump Visual Studio for Mac max version (#2408) * [coreimage] Add CIBarcodeDescriptor and enabled missing API for VNBarcodeObservation. Fix #58197 (#2411) https://bugzilla.xamarin.com/show_bug.cgi?id=58197 * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 (#2407) * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 * [uikit] Fixes based on comments * [coreimage] CIImageAccumulator API fixes. Fix #58349 (#2412) * Obsolete the default `init`; * XM exposed some older APIs using `int` instead of `CIFormat`. This is fixed and old APIs are obsoleted; * Both new & old APIs are now using `CIFormat` for both XI and XM. https://bugzilla.xamarin.com/show_bug.cgi?id=58349 * [uikit] UIText drag & drop - up to Xcode 9 beta 4 (#2410) * [uikit] UISplitView & UIStackView up to Xcode 9 beta 4 (#2425) * Bump XI/XM versions before preview 4 (#2422) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 (#2378) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 * [PDFKit] Implement feedback * [PDFKit] the forgotten enum * [PDFKit] More feedback * [PDFKit] Add Mac changes * Missing change * Fix test RectangleF VS CGRect * Pass -Wunguarded-availability-new to quiet a new clang warning (#2424) - https://bugzilla.xamarin.com/show_bug.cgi?id=58574 * [mtouch/mmp] Ignore warnings about unguarded code section with regards to availability. (#2441) * [monotouch-test] Remove workaround for fixed Apple bug. (#2445) * Bump to Xcode 9 beta 5. (#2447) * Bump to Xcode 9 beta 5. * [mmp] Disable the partial static registrar, because Apple's macOS SDK is broken. > In file included from Xamarin.Mac.registrar.mobile.i386.m:1: > In file included from ./Xamarin.Mac.registrar.mobile.i386.h:11: > /Applications/Xcode9-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVFoundation.h:88:9: fatal error: 'AVFoundation/AVRouteDetector.h' file not found https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [mmp] Fix partial static registrar removal. * [CallKit] Update to Xcode 9 beta 5. * [ARKit] ARPointCloud doesn't conform to NSCopying anymore in Xcode 9 beta 5. * [ARKit] Update to Xcode 9 beta 5 enough to make tests happy. * [CoreImage] Stub out new filters in Xcode 9 beta 5. * [tests][monotouch] Simplify some MDLMesh asserts since values change a lot between OS versions. * [mmp] Default to the dynamic registrar for release builds again, due to bug #58629. https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [tests][introspection] CXCall started implementing NSCopying without saying so in the headers. * Disable mmp static registrar tests due to 58629 for now * [quicklook] Update to beta 5 (#2450) * [photos] Update for beta 5 (#2452) Also update some existing enum members were added in beta 1 on macOS * [safariservices] Update for beta 5 (#2455) * [mediaplayer] Update to beta 5 (#2456) * [CoreLocation] Update Xcode 9 Beta 5 (#2453) * [CoreML] Update to Xcode 9 Beta 5 (#2454) * [Contacts] Update to Xcode 9 Beta 5 (#2451) * [Vision] Update to Xcode 9 Beta 5 (#2458) * [builds] Tell LLVM to stay away from newer macOS functions. (#2459) Fixes this build problem on Sierra: > ld: weak import of symbol '_futimens' not supported because of option: -no_weak_imports for architecture x86_64 This is a symbol that was (will be?) introduced in High Sierra. Interestingly this only occurs if the Xcode 8.X Command Line Tools haven't been manually installed. Because if the Xcode 8.X Command Line Tools are installed, this happens: 1. llvm's configure script detects that 'futimens' is not usable. 2. llvm's configure script detects that 'futimens' is not usable, because xcrun sets SDKROOT=/ when calling clang. a. When the SDKROOT variable is set, clang passes '-syslibroot /usr/lib' to ld. b. When ld gets '-syslibroot /usr/lib', ld looks in '/usr/lib' for a library that contains 'futimens' in the OS itself, and since we're on Sierra, that fails to link. c. So when llvm's configure script creates a test program that checks if 'futimens' is present, the program fails. This is correct, and makes llvm *not* use futimens. 3. xcrun sets SDKROOT=/ because /usr/share/current-os.sdk/Info.plist exists. If that file does not exist, then xcrun sets SDKROOT to Xcode9's macOS SDK (because that's what xcode-select reports). a. When SDKROOT is set to Xcode9's macOS SDK, the configure check for 'futimens' succeeds, because the macOS 10.13 SDK contains that function. b. llvm happily uses 'futimens', and then the final link fails because we're using a symbol not available on all target platforms. * [arkit] Update for Xcode 9 beta 5 - Part 1 (#2460) * [tests] The container app for watchOS tests should be 64-bit. (#2463) * [xharness] watchOS tests need to run in a clean environment. Works around #58348. (#2462) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [xharness] It watchOS tests don't need to be clean anymore. Fixes #58348. (#2473) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [uikit] UIView/UIScrollView/UIViewController up to Xcode 9 beta 5 (#2431) - Add NSDirectionalEdgeInsets type. - Includes DirectionalEdgeInsetsTest. * [AudioToolbox] Update bindings to Xcode 9 beta3 (not later changes). (#2294) * [xharness] Add a file existence check. (#2478) Fixes this exception: ``` Harness exception for 'introspection': System.IO.FileNotFoundException: Could not find file '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log'. File name: '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log' at System.IO.__Error.WinIOError (System.Int32 errorCode, System.String maybeFullPath) [0x00207] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/__error.cs:188 at System.IO.FileInfo.get_Length () [0x00038] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/fileinfo.cs:171 at xharness.CaptureLog.StopCapture () [0x00021] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Log.cs:252 at (wrapper remoting-invoke-with-check) xharness.CaptureLog:StopCapture () at xharness.AppRunner+<RunAsync>d__68.MoveNext () [0x0127f] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/AppRunner.cs:642 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter`1[TResult].GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:357 at xharness.RunSimulatorTask+<RunTestAsync>d__7.MoveNext () [0x0029d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2894 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.RunTestTask+<ExecuteAsync>d__8.MoveNext () [0x0010b] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2538 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.TestTask+<RunInternalAsync>d__87.MoveNext () [0x0010d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:1870 ``` I'm not sure how this can happen, but it has on the bots [1]. [1] https://jenkins.mono-project.com/job/xamarin-macios-pr-builder/4548/Test_Report/ * Bump versions for preview 5 (#2479) * [passkit] Update to beta 5 (#2481) * [tests] Remove workaround for radar #32688391. (#2486) * [replaykit] Update up to beta 5 (#2484) * Bump maccore to get fix for bug #55064. (#2487) * [apidiff] Update definition to new 10.12 (d15-3) stable release (#2490) * [SceneKit] basic work (#2483) * [coredata] Update to beta 5 (#2488) * [homekit] Update for Xcode 9 beta 5 (#2492) * [Foundation] Update for xcode9 (#2468) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 (#2493) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 * [Intents] Implement feedback * [Intents] Add a generic version for INInteraction.GetParameterValue * [Intents] Missing check * [Contacts] Add missing foundation NSItemProviderWriting protocol to CNContact (#2496) https://bugzilla.xamarin.com/show_bug.cgi?id=58203 This is available on all Contacts supported platforms ``` ./iPhoneOS.platform/Developer/SDKs/iPhoneOS11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchOS.platform/Developer/SDKs/WatchOS4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchSimulator.platform/Developer/SDKs/WatchSimulator4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ``` * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) (#2497) * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) * [IntentsUI] Better use a delegate instead so we have named params * Bump versions before 6th preview (#2514) * [arkit] Add missing MarshalDirective to ARPlaneAnchor (#2517) - Fixes bug #58648: ARPlaneAnchor.Extent property seems incorrect but changes to correct value after Debug access (https://bugzilla.xamarin.com/show_bug.cgi?id=58648) * [xtro-sharpie] Fix a compiler warning. (#2516) Fixes these warnings: Runner.cs(197,5): warning CS0642: Possible mistaken empty statement Runner.cs(199,5): warning CS0642: Possible mistaken empty statement Runner.cs(201,5): warning CS0642: Possible mistaken empty statement Runner.cs(203,5): warning CS0642: Possible mistaken empty statement Runner.cs(205,5): warning CS0642: Possible mistaken empty statement * [uikit] Update for Xcode 9 beta 5 - Part 3 (#2511) - UIKeyCommand - UINavigationBar - UINavigationItem - UIPasteboard - UITableViewHeaderFooterView * [xtro-sharpie] Remove xtro-plugin and misc other fixes. (#2522) * [xtro-sharpie] Build with msbuild and be as quiet as requested when building. * [xtro-sharpie] Must run as a 64-bit process, since the required native libraries are 64-bit. * [xtro-sharpie] Add run configurations to the project file to ease debugging in the IDE. * [xtro-sharpie] Remove xtro-plugin and the related commands. This was needed when there wasn't a 64-bit mono, in order to run xtro-sharpie in a 64-bit process. Now there is a 64-bit mono, so it's not needed anymore. Also improve makefile targets a bit, to auto-build stuff when needed, by setting the right dependencies. * Bump Xcode 9 to beta 6 (#2519) Disable watchOS tests again It seems like the Carousel crash from beta 4 is back to haunt us. This was working fine with beta 5. * Backport d15-3 SR2 fixes (#2515) * [coredata] Update to beta 6 (#2528) This seems to only revert some nullability changes from beta 5. * [coreml] Update to beta 6 (#2531) Fix our rdar 33643011 where additional setters were added in the headers but did not exists. * [videosubscriberaccount] Update to beta 6 (#2533) Only b1 and b2 introduced some additions/changes * [uikit] Update for Xcode 9 beta 6 - Part 4 (#2527) The following headers are now up to date: - UICollectionViewFlowLayout.h - UIDocumentPickerViewController.h - UIFontDescriptor.h - UIImage.h - UIImageView.h - UIImagePickerController.h * [xharness] Re-enable the watchOS tests. (#2534) It works fine for me locally, so let's see what Jenkins says. * [macos] Add new APIs in CoreWlan from Xcode9b3 (#2525) * Update AppKit bindings based on radar 33271241 results (#2518) * Update AppKit bindings based on radar 33271241 results - The header comment was updated to note it was NSSliderTouchBarItem view that has the protocol * Remove NSUserInterfaceCompression where not listed in header * [vision] Update to beta 6 (#2532) Removal of some deprecated (during beta) `init*` selectors. Also sync the versions that were inlined in subclasses - the old ones were not removed and the new ones were not added. * [xtro-sharpie] Many methods don't have selectors in Clang's API, so default to the name if no selector. (#2523) This makes a few more unclassified entries show up (mostly missing designated initializers): https://gist.github.com/rolfbjarne/07aa20f9b50b75bf3e69ac6a825e873a * [macos] Add ExternalAccessory APIs from xcode9 (#2526) * [58851] Disable NSMenuView in AllItemsWithNSMenuShouldAllowNull (#2504) * [arkit] Update for Xcode 9 beta 5 - Part 2 (#2505) - Add last missing selector. - Add tests for manual code. * [monotouch-test] Disable FontDescriptorTest.WithFeature (#2537) Disabled because it looks like the tvOS font we use: "Gujarati Sangam MN" does not have rare ligatures anymore (and the entire test is based on it). Before getting an actual fix for that, let's disable the test so it doesn't break all current builds. See: https://bugzilla.xamarin.com/show_bug.cgi?id=58929 * [xtro-sharpie] Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute. (#2524) Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute to calculate the native name for a TypeDefinition. Unclassified changes: https://gist.github.com/rolfbjarne/828f8ee41eebb0a3b60a38d71822fe59 * [foundation/uikit] Inline NSItemProvider_UIKitAdditions in NSItemProvider (#2538) As suggested here: https://github.com/xamarin/xamarin-macios/pull/2527#discussion_r134670981 * [intents] Fix breaking changes (api-diff) (#2543) Additions of @required members inside `INSpeakable` cannot be `[Abstract]` * [contacts] Fix breaking change (api-diff) (#2542) Type Changed: Contacts.CNPostalAddress Removed method: public static string LocalizeProperty (CNPostalAddressKeyOption option); * [macos] Reenable static registrar since Xcode9b6 un-broke SDK headers (#2544) - Fix a subtle spacing issues in PartialStaticLibrary property * [corebluetooth] Update up to beta 6 and enable it on watchOS (#2540) macOS 10.13 has finally catch up with iOS and this simplifies the bindings a bit. * [foundation] API fixes (apidiff) (#2545) 1. Let's not add new, already [Obsolete] API Type Changed: Foundation.NSDimension Added constructors: [Obsolete ("Not intended to be directly instantiated, this is an abstract class.")] public NSDimension (); 2. Fix inconsistently named API, e.g. Type Changed: Foundation.NSAttributedString Added properties: public static string[] ReadableTypeIdentifiersForItemProvider { get; } public static string[] WritableTypeIdentifiers { get; } * [pdfkit] Do not add already [Obsolete] API in new profiles (#2547) and ensure using the newer, correct API works cross-platforms iOS (before) [Obsolete ("Use 'Find (string, NSStringCompareOptions)' instead.")] public virtual PdfSelection[] Find (string text, nint options); public PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'Find (string, PdfSelection, NSStringCompareOptions)' instead.")] public virtual PdfSelection Find (string text, PdfSelection selection, nint options); public void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string, NSStringCompareOptions)' instead.")] public virtual void FindAsync (string text, nint options); public void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string [], NSStringCompareOptions)' instead.")] public virtual void FindAsync (string[] text, nint options); iOS (after) public virtual PdfSelection[] Find (string text, Foundation.NSStringCompareOptions compareOptions); public virtual PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); * Bump versions for the 7th preview (#2541) * Remove additions of AVKit removed in beta5 (#2536) * NSUrlSessionTask should implement NSProgressReporting for iOS (#2548) NSUrlSessionTask implements NSProgressReporting on iOS as well as Mac, so the #if MONOMAC isn't needed. * Add missing availability attributes causing failures on older iOS versions (#2550) * [vision] Minor fix wrt xtro (#2551) including some things we need to ignore manually !missing-field! VNVisionVersionNumber not bound !missing-pinvoke! VNImagePointForFaceLandmarkPoint is not bound !missing-pinvoke! VNNormalizedFaceBoundingBoxPointForLandmarkPoint is not bound * [uikit] NSFileProviderMessaging was removed in beta 2. Fixes #58222 (#2552) reference: https://bugzilla.xamarin.com/show_bug.cgi?id=58222 * [uikit] Update for Xcode 9 - Part 5 (#2546) Bindings for the following headers: - UIActivity.h - UIActivityItemProvider.h - UIAlertController.h - UIApplication.h - UIBarButtonItem.h - UIButton.h - UICollectionViewLayout.h - UIColor.h - UIControl.h - UIDocumentMenuViewController.h - UIFontMetrics.h - UIGestureRecognizer.h - UIGraphicsImageRenderer.h - UIInputViewController.h * [CoreText] Fix an extraneous free in CTFont.GetDefaultCascadeList. (#2555) We do not own the return value from CFArrayGetValueAtIndex, so don't say we do when creating CTFontDescriptor instances, since that leads to angry dragons: 2017-08-28 20:15:20.293 monotouchtest[33186:2311738] A_FontTest 2017-08-28 20:15:20.294 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithFontDescriptorAndOptions 2017-08-28 20:15:20.295 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithNameAndOptions 2017-08-28 20:15:20.296 monotouchtest[33186:2311738] critical: Stacktrace: at <unknown> <0xffffffff> at (wrapper managed-to-native) CoreText.CTFont.CTFontCopyDefaultCascadeListForLanguages (intptr,intptr) [0x0000a] in <ae65a2b1eea242d2b68fe784749543bf>:0 at CoreText.CTFont.GetDefaultCascadeList (string[]) [0x00013] in /work/maccore/xcode9/xamarin-macios/src/CoreText/CTFont.cs:2185 at MonoTouchFixtures.CoreText.A_FontTest.GetCascadeList () [0x0001e] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/CoreText/FontTest.cs:78 at (wrapper runtime-invoke) object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) [0x0004f] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) System.Reflection.MonoMethod.InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&) [0x00016] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at System.Reflection.MonoMethod.Invoke (object,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo) [0x00032] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/corlib/System.Reflection/MonoMethod.cs:305 at System.Reflection.MethodBase.Invoke (object,object[]) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/referencesource/mscorlib/system/reflection/methodbase.cs:229 at NUnit.Framework.Internal.Reflect.InvokeMethod (System.Reflection.MethodInfo,object,object[]) [0x00009] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Reflect.cs:215 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunNonAsyncTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x00025] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:116 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x0001a] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:90 at NUnit.Framework.Internal.Commands.TestMethodCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:66 at NUnit.Framework.Internal.Commands.SetUpTearDownCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00007] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/SetUpTearDownCommand.cs:84 at NUnit.Framework.Internal.WorkItems.SimpleWorkItem.PerformWork () [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/SimpleWorkItem.cs:64 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at MonoTouch.NUnit.UI.BaseTouchRunner.Run (NUnit.Framework.Internal.Test) [0x0004d] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:442 at MonoTouch.NUnit.UI.BaseTouchRunner.Run () [0x00030] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:171 at MonoTouch.Dialog.StringElement.Selected (MonoTouch.Dialog.DialogViewController,UIKit.UITableView,Foundation.NSIndexPath) [0x00008] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/Elements.cs:765 at MonoTouch.Dialog.DialogViewController.Selected (Foundation.NSIndexPath) [0x00026] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:577 at MonoTouch.Dialog.DialogViewController/Source.RowSelected (UIKit.UITableView,Foundation.NSIndexPath) [0x00016] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:402 at (wrapper runtime-invoke) <Module>.runtime_invoke_void__this___object_object (object,intptr,intptr,intptr) [0x0005d] in <32f0c196c5bc4aa18daea2ee64a7814e>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) UIKit.UIApplication.UIApplicationMain (int,string[],intptr,intptr) [0x0005c] in <ae65a2b1eea242d2b68fe784749543bf>:0 at UIKit.UIApplication.Main (string[],intptr,intptr) [0x00005] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:79 at UIKit.UIApplication.Main (string[],string,string) [0x00038] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:63 at monotouchtest.Application.Main (string[]) [0x00011] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/Main.cs:27 at (wrapper runtime-invoke) <Module>.runtime_invoke_void_object (object,intptr,intptr,intptr) [0x00051] in <30a7f7e09de9467b8b454221034a0e38>:0 Native stacktrace: 0 monotouchtest 0x000000010fca03c4 mono_handle_native_crash + 244 1 monotouchtest 0x000000010fcadd30 mono_sigsegv_signal_handler + 288 2 libsystem_platform.dylib 0x000000011feb3b3a _sigtramp + 26 3 CoreFoundation 0x000000011de035a2 computeSanitizedString + 146 4 CoreText 0x00000001168df314 _ZN15TPurgeableCache19RetainedValueForKeyEPKv + 54 5 CoreText 0x00000001168def85 _ZNK17TDescriptorSource22CopyDescriptorUncachedEPK7__CFURLbPK10__CFString + 55 6 CoreText 0x00000001168df34f _ZNK17TDescriptorSource14CopyDescriptorEPK7__CFURLbPK10__CFString + 27 7 CoreText 0x00000001168e20ad _ZNK17TDescriptorSource35CopyFontDescriptorPerPostScriptNameEPK10__CFStringmm + 297 8 CoreText 0x00000001168dfd9e _ZNK17TDescriptorSource30CopySystemFontDescriptorByNameEPK10__CFString10UIFontFlag + 54 9 CoreText 0x00000001168e54c4 _ZNK14TFontFallbacks17CopyFontFallbacksEPK10__CFStringS2_PK9__CFArray + 652 10 CoreText 0x00000001168e4a00 _ZNK14TFontFallbacks29CopyFontFallbacksForLanguagesEPK10__CFStringPK9__CFArray + 122 11 CoreText 0x00000001168e4971 _ZN17TDescriptorSource39CopyDefaultSubstitutionListForLanguagesEPK10__CFStringPK9__CFArray + 61 12 CoreText 0x00000001169397a7 _ZNK9TBaseFont28CreateSystemDefaultFallbacksEPK10__CFStringPK9__CFArray + 51 13 CoreText 0x000000011693999c _ZNK9TBaseFont15CreateFallbacksE10UIFontFlagPPK16__CFCharacterSetPK9__CFArray + 346 14 CoreText 0x00000001168c1036 _ZNK5TFont24CreateDefaultCascadeListEPK9__CFArray + 242 15 CoreText 0x00000001168b8ff9 CTFontCopyDefaultCascadeListForLanguages + 97 16 ??? 0x0000000140eaefd3 0x0 + 5384105939 17 ??? 0x0000000140eae761 0x0 + 5384103777 18 ??? 0x000000013c9c8e74 0x0 + 5311860340 19 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 20 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 21 monotouchtest 0x000000010fd71bac mono_runtime_try_invoke_array + 1292 22 monotouchtest 0x000000010fd15587 ves_icall_InternalInvoke + 647 23 ??? 0x000000013e9fcd13 0x0 + 5345627411 24 ??? 0x000000013e9fc738 0x0 + 5345625912 25 ??? 0x000000013e9fded5 0x0 + 5345631957 26 ??? 0x000000013e9fbb76 0x0 + 5345622902 27 ??? 0x000000013e9e237e 0x0 + 5345518462 28 ??? 0x000000013e9e237e 0x0 + 5345518462 29 ??? 0x000000013e9e237e 0x0 + 5345518462 30 ??? 0x000000013e9e237e 0x0 + 5345518462 31 ??? 0x000000013e873006 0x0 + 5344014342 32 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 33 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 34 monotouchtest 0x000000010fd6e320 mono_runtime_invoke + 208 35 monotouchtest 0x000000010fe71af1 xamarin_invoke_trampoline + 5617 36 monotouchtest 0x000000010fe79ddd xamarin_arch_trampoline + 189 37 monotouchtest 0x000000010fe7b1a1 xamarin_x86_64_common_trampoline + 110 38 UIKit 0x0000000111b9876b -[UITableView _selectRowAtIndexPath:animated:scrollPosition:notifyDelegate:] + 1810 39 UIKit 0x0000000111b98986 -[UITableView _userSelectRowAtPendingSelectionIndexPath:] + 344 40 UIKit 0x0000000111a6b5c9 _runAfterCACommitDeferredBlocks + 318 41 UIKit 0x0000000111a59dad _cleanUpAfterCAFlushAndRunDeferredBlocks + 280 42 UIKit 0x0000000111a89f68 _afterCACommitHandler + 137 43 CoreFoundation 0x000000011de3ddb7 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23 44 CoreFoundation 0x000000011de3dd0e __CFRunLoopDoObservers + 430 45 CoreFoundation 0x000000011de22324 __CFRunLoopRun + 1572 46 CoreFoundation 0x000000011de21a89 CFRunLoopRunSpecific + 409 47 GraphicsServices 0x0000000121b7e9c6 GSEventRunModal + 62 48 UIKit 0x0000000111a5f7d0 UIApplicationMain + 159 49 ??? 0x000000013c9c4474 0x0 + 5311841396 50 ??? 0x000000013c9c40ad 0x0 + 5311840429 ================================================================= Got a SIGSEGV while executing native code. This usually indicates a fatal error in the mono runtime or one of the native libraries used by your application. ================================================================= * [monotouch-test] Don't subclass MKMapView. (#2556) MKMapView doesn't like being subclassed (Apple says "you should not subclass the MKMapView class itself"). Bad things like this starts happening: Thread 0 name: tid_303 Dispatch queue: com.apple.main-thread Thread 0 Crashed: 0 libsystem_kernel.dylib 0x0000000186b25348 __pthread_kill + 8 1 libsystem_pthread.dylib 0x0000000186c39354 pthread_kill$VARIANT$mp + 396 2 libsystem_c.dylib 0x0000000186a94fd8 abort + 140 3 monotouchtest 0x0000000101c02c14 mono_handle_native_crash + 22047764 (mini-exceptions.c:2548) 4 monotouchtest 0x0000000101c0d02c mono_sigsegv_signal_handler + 22089772 (mini-runtime.c:2886) 5 libsystem_platform.dylib 0x0000000186c33b60 _sigtramp + 52 6 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 7 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 8 CoreFoundation 0x0000000186eda51c -[__NSArrayM dealloc] + 68 9 CoreFoundation 0x000000018703f5c8 __CFBasicHashDrain + 312 10 CoreFoundation 0x0000000186fb5b44 _CFRelease + 224 11 CoreText 0x000000018a808404 TDescriptorSource::PurgeFontFallbacksCache+ 488452 () + 92 12 CoreText 0x000000018a808374 TDescriptorSource::PurgeFromCaches+ 488308 (__CFURL const*) const + 176 13 CoreText 0x000000018a7eec74 CTFontRemoveFromCaches + 168 14 VectorKit 0x0000000196a539b0 +[VKSharedResourcesManager removeResourceUser:] + 324 15 VectorKit 0x0000000196ca27a4 md::MapEngine::~MapEngine+ 2643876 () + 360 16 VectorKit 0x0000000196ca2634 md::MapEngine::~MapEngine+ 2643508 () + 12 17 libobjc.A.dylib 0x000000018651eef4 object_cxxDestructFromClass+ 28404 (objc_object*, objc_class*) + 148 18 libobjc.A.dylib 0x000000018652c638 objc_destructInstance + 88 19 libobjc.A.dylib 0x000000018652c690 object_dispose + 16 20 QuartzCore 0x000000018afca3ac -[CALayer dealloc] + 116 21 VectorKit 0x0000000196a43294 -[VKMapView dealloc] + 940 22 QuartzCore 0x000000018af6aafc CA::release_objects+ 744188 (X::List<void const*>*) + 32 23 QuartzCore 0x000000018afd97d8 CA::Layer::~Layer+ 1198040 () + 276 24 QuartzCore 0x000000018afca37c -[CALayer dealloc] + 68 25 QuartzCore 0x000000018af6b16c CA::Transaction::commit+ 745836 () + 1052 26 UIKit 0x0000000190393290 _afterCACommitHandler + 256 27 CoreFoundation 0x0000000186fb38b8 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 32 28 CoreFoundation 0x0000000186fb1270 __CFRunLoopDoObservers + 412 29 CoreFoundation 0x0000000186fb182c __CFRunLoopRun + 1292 30 CoreFoundation 0x0000000186ed22d8 CFRunLoopRunSpecific + 436 31 GraphicsServices 0x0000000188d58f84 GSEventRunModal + 100 32 UIKit 0x000000019040427c UIApplicationMain + 208 33 monotouchtest 0x000000010106eb90 wrapper_managed_to_native_UIKit_UIApplication_UIApplicationMain_int_string___intptr_intptr + 9907088 (/<unknown>:1) 34 monotouchtest 0x0000000100f0d6ac UIKit_UIApplication_Main_string___intptr_intptr + 8459948 (UIApplication.cs:79) 35 monotouchtest 0x0000000100f0d66c UIKit_UIApplication_Main_string___string_string + 8459884 (UIApplication.cs:63) 36 monotouchtest 0x0000000100b10450 monotouchtest_Application_Main_string__ + 4277328 (Main.cs:27) 37 monotouchtest 0x0000000100e0c244 wrapper_runtime_invoke_object_runtime_invoke_dynamic_intptr_intptr_intptr_intptr + 244 38 monotouchtest 0x0000000101c10048 mono_jit_runtime_invoke + 22102088 (mini-runtime.c:2526) 39 monotouchtest 0x0000000101c75eec do_runtime_invoke + 22519532 (object.c:2829) 40 monotouchtest 0x0000000101c78a3c do_exec_main_checked + 22530620 (object.c:4623) 41 monotouchtest 0x0000000101bf9a1c mono_jit_exec + 22010396 (driver.g.c:1040) 42 monotouchtest 0x0000000101d13d60 xamarin_main + 23166304 (monotouch-main.m:482) 43 monotouchtest 0x00000001007de710 main + 927504 (main.m:67) 44 libdyld.dylib 0x00000001869f656c start + 4 * [introspection] Let SkipDueToAttributeInProperty skip setters too (#2557) `SkipDueToAttributeInProperty` which is used to check the availability attribute of properties when the Availability info only exist on the property and not on the property Getter or Setter was wrong. This lead to `setSpringLoaded` (which was introduced in iOS 11) to not be ignored by the test (making it fail). - Fix bug #59085: [introspection-ios] selector not found for UIKit.UIBarButtonItem : setSpringLoaded: - Broken test (https://bugzilla.xamarin.com/show_bug.cgi?id=59085) * [corevideo][watchos] Enable CoreVideo on watchOS (#2553) * [storekit] Fix CampaignToken typo (#2559) (#2560) - Fixes bug #59078: StoreProductParameters and invalid property for CampaignToken (https://bugzilla.xamarin.com/show_bug.cgi?id=59078) * [coreml][watchos] Enable API using CoreVideo on watchOS. Fix #58097 (#2561) https://bugzilla.xamarin.com/show_bug.cgi?id=58097 * Add missing [MarshalDirective] attributes. (#2558) * [bindings-generator] Improve build & project file. * Add missing [MarshalDirective] attributes. Add missing [MarshalDirective] attributes, which also requires implementing support for out parameters in the binding generator, since one of the signatures missing the [MarshalDirective] contains such an out parameter. Also add tests for all the API I've added [MarshalDirective] to. * [bindings-generator] Remove redundant if check. * [monotouch-test] Rename file to end with 'Test.cs'. * [tests] Fix a few build errors for Xamarin.Mac. * [uikit] Fix UIColor and UIInputViewController tvOS availability (#2569) - Fixes introspection tests on tvOS 10. * [storekit] Fix SKCloudServiceSetupMessageIdentifier and SKProductStorePromotionController tvOS availability (#2568) - Fixes introspection tests on tvOS 10. * [mapkit] Fix MKMapItemTypeIdentifier tvOS availability (#2566) - Also remove double [Mac] availability attribute. - Fixes introspection tests on tvOS 10. * [ARKit] Fix marshalling for ARPointCloud.RawFeaturePoints. (#2565) ARPointCloud.RawFeaturePoints is an array of Vector3, but each vector is 16-byte aligned (as if it were an array of Vector4). This means we need to account for this when creating a managed array from pointer to the native C-style array. * [ModelIO] Fix MDLVoxelIndexExtent struct. (#2564) The MDLVoxelIndexExtent is a struct containing two 4-dimensional vectors of integers (not floats, as originally and incorrectly implemented). Fix this my creating a new MDLVoxelIndexExtent2 struct with the right fields, re-implement all the API that exposes this struct and obsolete the old API. Also add missing [MarshalDirective] attributes. And write a test to make sure it works fine now and forever. * [coredata] Enable new fields since rdar #33878590 is fixed w/beta 6 (#2570) reference: https://trello.com/c/dlSRYPFx * [xtro-sharpie] Add a Simd check class to verify signatures with Simd types. * [Simd] Add simd matrix types. The OpenTK matrices (Matrix2/3/4) has a different memory layout than Apple's matrix_float2x2/matrix_float3x3/matrix_float4x4 matrices: the OpenTK versions are row-major, while Apple's versions are column-major. This means that when blitting memory from one to the other, the matrix will appear to have been transposed. See bug #[58599][2] for an example. Unfortunately we've already bound several API with Apple's matrix_floatXxX matrices using OpenTK's matrices, and although they're bound wrong, and the matrices appear transposed on input/output, we can't change the behavior because we have to maintain compatibility. This means we have to introduce new API, and then also just define new matrix types with the right memory layout (column-major). Additionally, in the future we might be able to mark these matrices as Simd-matrixes, so that the JIT/AOT compiler can generate the correct alignment for them, avoiding having to define a native conversion method (using the [MarshalDirective] hack). The matrices have been designed to match API-wise the matrices in the System.Numerics.Vectors namespace [1], but for the moment with only a few basic operations implemented (Determinant/Transpose/Multiply) defined (we can always add more later if we want to). In addition explicit conversion operators to and from the corresponding OpenTK.MatrixX are implemented, which means any operation defined in the OpenTK matrices can be used by converting back and forth. [1]: https://msdn.microsoft.com/en-us/library/system.numerics.matrix4x4(v=vs.111).aspx [2]: https://bugzilla.xamarin.com/show_bug.cgi?id=58599 * [ARKit] Use the new Simd matrix types. * [Vision] Use the new Simd matrix types. * [ModelIO] Use the new Simd-compatible matrix types, and deprecate the old API. * [GameplayKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [SpriteKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [xtro] Don't report missing [MarshalDirective] for obsolete methods. * [xtro] Remove unnecessary ignores. The implementation changed, and these stayed accidentally. * [wkwebkit] Fix (native) protocol names (#2572) Also ignore xtro's WKSnapshotConfiguration since it's an Apple bug 34185961 reference (xtro) !missing-protocol! WKURLSchemeHandler not bound !missing-protocol! WKURLSchemeTask not bound !unknown-protocol! WKUrlSchemeHandler bound !unknown-protocol! WKUrlSchemeTask bound !unknown-type! WKSnapshotConfiguration bound * [uikit] Fix enums availability attributes (#2575) - Fixes bug #59132: [uikit] Extra types in watchOS (https://bugzilla.xamarin.com/show_bug.cgi?id=59132) * [watchkit] Add missing designated initializers (#2574) references (xtro) !missing-designated-initializer! WKInterfaceController::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! WKUserNotificationInterfaceController::init is missing an [DesignatedInitializer] attribute * [xtro] Reword some of the Simd diagnostic messages according to review. * [tests] Make sure test symbols don't clash between different test libraries. Fixes this build problem for framework-test: clang: error: linker command failed with exit code 1 (use -v to see invocation) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_get_rotation_matrix'. MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticObjectTest.framework/XStaticObjectTest (Location related to previous error) MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticArTest.framework/XStaticArTest(libtest-ar.x86_64.o) (Location related to previous error) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransformcomponent_get_local_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_create_global_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float4x4'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float3x3'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float2x2'. MTOUCH: error MT5209: Native linking error: 6 duplicate symbols for architecture x86_64 MTOUCH: error MT5202: Native linking failed. Please review the build log. * [tests] Since libtest.a need ModelIO now, the corresponding LinkWith attributes need to state that too. * [introspection] Don't check native signatures on obsolete members, and ignore the right simd matrix types. Fixes this introspection/Mac problem: ***** ApiSignatureTest.NativeSignatures Selector: uniformWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: uniformWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: uniformWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: setMatrixFloat2x2Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: setMatrixFloat3x3Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: setMatrixFloat4x4Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: initWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: initWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: initWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded * [monotouch-tests] Include more custom asserts for watchOS to make the build work. Fixes this: Simd/MatrixFloat4x4Test.cs(28,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(29,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(37,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(48,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' [...] * [monotouch-test] Exclude code that requires the binding project from xammac tests. Exclude code that requires the test binding project from xammac tests because there's currently no XM version of the test binding project. Fixes this: tests/monotouch-test/SpriteKit/UniformTest.cs(20,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLMaterialProperty.cs(37,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLTransform.cs(34,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) * Bump version for preview #8 (#2576) * [spritekit] Audit fixes (xtro) (#2577) 1. SKVideoNode is now, partially, available on watchOS and does not require the extra, manual code to swicth selectors depending on the OS version being run. !missing-type! SKVideoNode not bound !missing-selector! SKVideoNode::anchorPoint not bound !missing-selector! SKVideoNode::initWithCoder: not bound !missing-selector! SKVideoNode::initWithFileNamed: not bound !missing-selector! SKVideoNode::initWithURL: not bound !missing-selector! SKVideoNode::setAnchorPoint: not bound !missing-selector! SKVideoNode::setSize: not bound !missing-selector! SKVideoNode::size not bound !missing-selector! +SKVideoNode::videoNodeWithFileNamed: not bound !missing-selector! +SKVideoNode::videoNodeWithURL: not bound 2. SKNodeFocusBehavior is exposed needlessly on watchOS because SpriteKit/Enums.cs was not processed by the generator, so [NoWatch] did not matter. !unknown-native-enum! SKNodeFocusBehavior bound It's also visible on macOS but nothing uses it (so we do not expose it needlessly) !missing-enum! SKNodeFocusBehavior not bound 3. Add missing designated initializer on default `init` !missing-designated-initializer! SKAttributeValue::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! SKNode::init is missing an [DesignatedInitializer] attribute 4. Remove inconsistency for SKNode subclasses wrt XAMCORE_4_0 The trio attributeValues, setAttributeValues and setValue:forAttributeNamed: that was moved from SKNode (deprecated) into its subclasses. This was done using XAMCORE_4_0 but not on every subclasses. This adds them everywhere to be consistent (only SKNode versions are not defined in XAMCORE_4_0) !missing-selector! SKEffectNode::attributeValues not bound !missing-selector! SKEffectNode::setAttributeValues: not bound !missing-selector! SKEffectNode::setValue:forAttributeNamed: not bound !missing-selector! SKEffectNode::valueForAttributeNamed: not bound !missing-selector! SKEmitterNode::attributeValues not bound !missing-selector! SKEmitterNode::setAttributeValues: not bound !missing-selector! SKEmitterNode::setValue:forAttributeNamed: not bound !missing-selector! SKEmitterNode::valueForAttributeNamed: not bound !missing-selector! SKSpriteNode::attributeValues not bound !missing-selector! SKSpriteNode::setAttributeValues: not bound !missing-selector! SKSpriteNode::setValue:forAttributeNamed: not bound !missing-selector! SKSpriteNode::valueForAttributeNamed: not bound * [introspection] Make sure '[FAIL]' is printed before every failure. (#2578) This makes xharness able to list the failures in the inline summary. * [xtro] Reword some of the Simd diagnostic messages according to review. * [xharness] Add a missing IsServerMode check to generate correct html. (#2581) * [SpriteKit] SKTransformNode is new in Xcode 9 so no need to keep the broken (and obsolete) non-simd version of RotationMatrix. * [intents] Fix some (partial) xtro issues and #59156 (#2585) reference https://bugzilla.xamarin.com/show_bug.cgi?id=59156 Remaining issues are filled in https://bugzilla.xamarin.com/show_bug.cgi?id=59183 !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound * [Intents] Confirm* interface methods should be bound as Confirm, Fixes Bug 59164 (#2591) * [Intents] Confirm* interface methods should probably be bound as Confirm, Fixes Bug 59164 https://bugzilla.xamarin.com/show_bug.cgi?id=59164 All Confirm* methods from *IntentHandling interfaces should be named just `Confirm` to avoid confusion because most of them do not directly confirm as an acion, but instead they **ask** for confirmation also we would follow swift's naming by doing this. * [Intents] XAMCORE_4_0 all Confirm* methods from *IntentHandling Turns any Confirm* into just Confirm inside a XAMCORE_4_0 block, * [Intents] Fix breaking changes in Intents added in Xcode 9 Bindings (#2590) Apple added more protocol conformances to INRidesharingDomainHandling and INPaymentsDomainHandling protocols in Xcode 9, I introduced these breaking changes back when I did intents binding so fixing them :) * [Metal] New bindings from Xcode 9 betas (#2457) * [AVFoundation] Updated bindings for xcode9. (#2272) * [Xcode9] Add IOSurface bindings (#2363) * This framework was a private framework before iOS 11. This framework was a private framework before iOS 11, yet the headers claim many API were introduced in iOS 10. So take account of this difference by using the private framework location in iOS 10.3 or earlier. Testing these API from Xcode works fine when run on an iOS 10.3 device, and I've confirmed the IOSurface framework is loaded from the private frameworks path on older devices (and when built using Xcode 9 and linked with the public framework path). * Disable code to make IOSurface work on iOS 10. Disable the code to make IOSurface work on iOS 10, since it may be rejected by the App Store. This also means adjusting the availability attributes, so that the introspection tests pass (and to document that technically these API won't work when used with Xamarin.iOS in iOS 10). I've filed bug #[59201][1] to keep track of this, maybe we can re-enable this later. [1]: https://bugzilla.xamarin.com/show_bug.cgi?id=59201 * [CoreMedia] Fix leak in CMAttachmentBearer.GetAttachments. (#2593) The caller owns the return value from CMCopyDictionaryOfAttachments, so tell Runtime.GetNSObject that. * [Intents] Adds missing API found by xtro, fixes Bug 59183 (#2596) https://bugzilla.xamarin.com/show_bug.cgi?id=59183 Fixes !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !incorrect-protocol-member! INUIHostedViewControlling::configureWithInteraction:context:completion: is OPTIONAL and should NOT be abstract * [xtro] Fix StartWorkingDirectory to enable debugging (#2598) * [iosurface] Enable for tvOS and XM classic (to avoid multiple defines around consumer API) (#2597) * [xtro] Fix EnumCheck (#2600) * [ARKit] Rename a few method to make them nicer. (#2604) * DisplayTransform -> GetDisplayTransform since methods should have verbs. * SessionWasInterrupted -> WasInterrupted and SessionInterruptionEnded -> InterruptionEnded since these names match better with the other names (CameraDidChangeTrackingState / DidFail / DidOutputAudioSampleBuffer: none are prefixed with 'Session'). Additionally, the type is a Model (for the delegate pattern), which means all methods are more-or-less event-like, and the first argument is always the same (the protocol itself), which is another indicator the methods should be named similarly. * [Foundation] Remove 'Key' suffix from some fields. (#2606) Of the 168 fields in NSMetadataItem, only these 5 hadn't removed the 'Key' suffix. So make them all equivalent by removing the 'Key' suffix from these 5 fields. * [ImageIO] Fix API to not duplicate the instance in instance methods. (#2609) An instance method does not need to take the instance as a parameter, so remove the first (instance) parameter for CGImageDestination.AddAuxiliaryDataInfo and CGImageSource.CopyAuxiliaryDataInfo. An alternative solution would be to make the methods static, but I like the instance API better. * [UIKit] De-model UIDataSourceTranslating. (#2603) It's not clear from neither the documentation nor the headers how this protocol is supposed to be used, and since it doesn't correspond to the delegate pattern, remove the [Model] attribute for now. We can always add it back later. * [CoreML] Improve API. (#2592) * [CoreML] Improve API. * The indices, shape and stride properties for MLMultiArray and MLMultiArrayConstraint can logically only be arrays of integers, so type them as such. This means adding overloads for MLMultiArray's constructors, GetObject and SetObject methods, and the indexers that takes nint[] arrays instead of NSNumber[] arrays. * Change MLFeatureValue's static factory methods to be a method ('Create') instead of a preposition, and call all the different factory methods the same, since they can be overloaded nicely. * [tests][monotouch-test] Add version check to MLMultiArrayTest and make sure the arrays we create are big enough for the data we put in them. * [tests][monotouch-test] MLMultiArray's elements aren't zero-initialized, so don't assume that in the tests. * Support overloading Objective-C methods based on static/instance. (#2607) Two Objective-C methods can be named identically as long as one is static and the other instance. We must support this since Apple did just this (in the NSItemProviderReading / NSItemProviderWriting protocols). We solve it by prepending a '+' or '-' to the selector when hashing it (to determine selector uniqueness, and to look the method up again at runtime). * [uikit] Update for Xcode 9 - Part 6 (#2602) NSAttributedString.h NSFileProviderExtension.h NSLayoutAnchor.h UIAccessibility.h UIAccessibilityAdditions.h UIAccessibilityContainer.h UIAccessibilityContentSizeCategoryImageAdjusting.h UIAccessibilityCustomRotor.h UIAccessibilityLocationDescriptor.h UITabBar.h UINavigationBar.h UIScreen.h * Xcode9 scenekit (#2512) * [SceneKit] basic work * Added key * [xcode9] SCNCameraController * [xcode9] SCNCamera updates * [xcode9] SCNMaterial * [xcode9] SCNGeometryTessellator, SCNCameraControlConfiguration, SCNView, small bits * Add trailing commas to last enum value * Remove whitespace noise * [scenekit] Update deprecated attributes messages * Addresses some of Rolf's feedback * Drop the WeakDelegate in SCNCameraController * Rename method to Render, remove ctor from class that can not be constructed in Palygrounds, add typo exception * [AppKit] Rename NSBezierPath.AppendBezierPathWithCGGlyph to match its sibling methods. (#2605) NSBezierPath contains a lot of 'AppendPathWithXXX' methods, that all map to 'appendBezierPathXXX' selectors. So rename AppendBezierPathWithCGGlyph accordingly, to make it more similar to the other methods in the same type. * [uikit] Add all UISpringLoadedInteractionSupporting (#2616) Types do not conform to the protocol but protocol methods work on those types (see monotouch-test). Fixed introspection tests accordingly and tested the selectors in monotouch-test. * [Intents] Add convenience ctor overload and call correct base ctor in manual ctor. (#2613) Add a convenience constructor overload in INGetUserCurrentRestaurantReservationBookingsIntent that uses nint instead of NSNumber, since logically "number of results" will always be some sort of integer. Also call the correct base constructor in INSpeakableString's custom constructor (same as any other generated constructor). Otherwise we end up doing something like this: [[[INSpeakableString alloc] init] initWith ...], i.e. calling two different init methods. * [coreimage] Add new headers API up to beta 6 (#2601) Filters are not complete (ref: #57350) https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * Some new constants are not yet documented (type is known), so they are commented / ignored https://bugzilla.xamarin.com/show_bug.cgi?id=59296 * Filled bug for [Wrap] inside [Category] so strong dictionary helpers can be re-enabled later https://bugzilla.xamarin.com/show_bug.cgi?id=59294 * [foundation] xtro fixes for watchOS (#2586) !missing-enum! NSProcessInfoThermalState not bound !missing-field! NSProcessInfoThermalStateDidChangeNotification not bound !missing-selector! NSProcessInfo::thermalState not bound Headers are wrong and preferredPresentationStyle is not in tvOS and watchOS !missing-selector! NSItemProvider::preferredPresentationStyle not bound !missing-selector! NSItemProvider::setPreferredPresentationStyle: not bound * [uikit] Also remove UIPreferredPresentationStyle enum from platform where it's not used * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. (#2614) * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. * NSItemProviderWriting: * NSItemProviderReading: Implement correctly and completely by uncommenting commented out code. * NSMutableString: * NSAttributedString: remove inlined members, since these classes don't implement NSItemProviderReading / NSItemProviderWriting (according to the headers at least). * NSUrl: all platforms now seem to implement NSItemProviderReading / NSItemProviderWriting. * NSString: all platforms now seem to implement both NSItemProviderReading and NSItemProviderWriting * UIColor: * UIImage: Update inlined protocol members according to the latest beta. Additionally, due to the following conditions: * The protocols all have the correct members now. * In the API definition we tell the generator to inline members from a protocol by inheriting from the corresponding interface. * The generator doesn't inline static members from protocols. several 'new' keywords had to be added to silence a compiler warning that occurrs when we manually inline a static member, since the member would be included in the type both from the inherited interface and the manual implementation. * [Foundation] Comment out NSItemProviderWriting.GetItemProviderVisibility to avoid inlining/generating unusable methods. NSItemProviderWriting.GetItemProviderVisibility is an optional method, and none of the native classes that implements NSItemProviderWriting actually imlements the method. This means inlining the method in those classes ends up creating unusable API; so just comment out the method to avoid generating the unusable API. The introspection tests found this: [FAIL] Foundation.NSString : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Foundation.NSUrl : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Contacts.CNContact : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] MapKit.MKMapItem : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIColor : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIImage : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] iOSApiSelectorTest.ApiSelectorTest.StaticMethods : 6 errors found in 2348 static selector validated: See also https://bugzilla.xamarin.com/show_bug.cgi?id=59308 * [iosurface] Add missing [TV] attributes (#2619) * [opengles] Enable the new API using IOSurface (#2618) The symbol only exists inside device libraries, not on simulator, and the introspection tests were updated to ignore it. Part of https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [avfoundation][watchos] Enable AudioBufferList (fix #59145) + audit (xtro) (#2617) 1. AudioBufferList is part of CoreAudio (wrong namespace, which needs a few changes in the generator) and now available in watchOS 4 https://bugzilla.xamarin.com/show_bug.cgi?id=59145 2. Also fixes xtro found issues: !missing-type! AVAudioRecorder not bound !missing-selector! AVAudioRecorder::averagePowerForChannel: not bound !missing-selector! AVAudioRecorder::channelAssignments not bound !missing-selector! AVAudioRecorder::currentTime not bound !missing-selector! AVAudioRecorder::delegate not bound !missing-selector! AVAudioRecorder::deviceCurrentTime not bound !missing-selector! AVAudioRecorder::format not bound !missing-selector! AVAudioRecorder::initWithURL:format:error: not bound !missing-selector! AVAudioRecorder::initWithURL:settings:error: not bound !missing-selector! AVAudioRecorder::isMeteringEnabled not bound !missing-selector! AVAudioRecorder::isRecording not bound !missing-selector! AVAudioRecorder::peakPowerForChannel: not bound !missing-selector! AVAudioRecorder::recordAtTime: not bound !missing-selector! AVAudioRecorder::recordAtTime:forDuration: not bound !missing-selector! AVAudioRecorder::recordForDuration: not bound !missing-selector! AVAudioRecorder::setChannelAssignments: not bound !missing-selector! AVAudioRecorder::setDelegate: not bound !missing-selector! AVAudioRecorder::setMeteringEnabled: not bound !missing-selector! AVAudioRecorder::settings not bound !missing-selector! AVAudioRecorder::url not bound !missing-protocol! AVAudioRecorderDelegate not bound !missing-selector! AVAudioEngine::inputNode not bound !missing-selector! AVAudioEngine::manualRenderingBlock not bound !missing-selector! AVAudioInputNode::setManualRenderingInputPCMFormat:inputBlock: not bound !missing-selector! AVAudioPlayer::format not bound !missing-selector! AVAudioSession::requestRecordPermission: not bound !unknown-field! AVFileType3GPP bound !unknown-field! AVFileType3GPP2 bound !unknown-field! AVFileTypeAC3 bound !unknown-field! AVFileTypeAIFC bound !unknown-field! AVFileTypeAIFF bound !unknown-field! AVFileTypeAMR bound !unknown-field! AVFileTypeAVCI bound !unknown-field! AVFileTypeAppleM4A bound !unknown-field! AVFileTypeAppleM4V bound !unknown-field! AVFileTypeCoreAudioFormat bound !unknown-field! AVFileTypeDNG bound !unknown-field! AVFileTypeEnhancedAC3 bound !unknown-field! AVFileTypeHEIC bound !unknown-field! AVFileTypeHEIF bound !unknown-field! AVFileTypeJPEG bound !unknown-field! AVFileTypeMPEG4 bound !unknown-field! AVFileTypeMPEGLayer3 bound !unknown-field! AVFileTypeQuickTimeMovie bound !unknown-field! AVFileTypeSunAU bound !unknown-field! AVFileTypeTIFF bound !unknown-field! AVFileTypeWAVE bound * [Metal] Implement API using IOSurface now that IOSurface is implemented. Partially fixes #58054. (#2621) https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [PdfKit] Improve PdfAnnotation.QuadrilateralPoints binding by making it strongly typed. (#2620) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). (#2622) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). * [ARKit/Vision] Use the new simd vector types instead of the OpenTK versions. * [ModelIO] Use the new simd vectors in new API (MDLVoxelIndexExtent2). This way we won't have to create a MDLVoxelIndexExtent3 in the future. * [SpriteKit] Use the new simd vectors in new API. * [metal] Audit (xtro) based fixes (#2623) !extra-protocol-member! unexpected selector MTLArgumentEncoder::newArgumentEncoderForBufferAtIndex: found !extra-protocol-member! unexpected selector MTLComputeCommandEncoder::dispatchThreads:threadsPerThreadgroup: found macos-only !missing-field! MTLDeviceRemovalRequestedNotification not bound !missing-field! MTLDeviceWasAddedNotification not bound !missing-field! MTLDeviceWasRemovedNotification not bound !missing-pinvoke! MTLCopyAllDevices is not bound * [CloudKit] Update bindings to beta 6. (#2615) * [FileProvider] Turn NSFileProviderItemIdentifier enum into a static class, fixes bug 59329 (#2634) https://bugzilla.xamarin.com/show_bug.cgi?id=59329 At the time of binding NSFileProviderItemIdentifier it wasn't clear how it was supposed to be used, I mean apple provides two keys which I thought were the only possible values hence binding it as an smart enum. Unfortunately this wasn't the case and the user can use those two values provided from the SDK or their own NSString Identifier. Swift provides a wrapper unfortunately we can't do the same due to NSFileProviderItemIdentifier is used in the NSFileProviderItem protocol and we currently do not support changing signatures on them. * [mtouch] Teach mtouch about the 'IOSurface' framework for tvOS. Fixes #59333. (#2630) https://bugzilla.xamarin.com/show_bug.cgi?id=59333 * Bump Touch.Unit to get fix for API breakage. (#2631) spouliot/Touch.Unit@8f1e19d [NUnitOutputTextWriter] Reintroduce previous constructor to make sure we don't break binary ABI. spouliot/Touch.Unit@00b0c0b [NUnitOutputTextWriter] Don't write invalid xml comments. spouliot/Touch.Unit@de9fe20 [TouchRunner] Restore the original code path when not wrapping NUnit xml output. * [IOSurface] Add missing availability attributes for tvOS. (#2629) * Bump versions for preview 9 (#2624) * [AVFoundation] Add missing interface AVRouteDetector. (#2637) * [tests] Update xtro to reduce list sizes (#2636) * Skip OpenTK duplicate declaration (we can't change them); * Fix rule name change for ARKit / simd; * Add missing default initializer on `init` to pending actions; * Add note for AVPersistableContentKeyRequest changes wrt tvOS; * [ReplayKit] Make RPBroadcastActivityViewController.LoadBroadcastActivityViewController async-capable. (#2639) * [xcode9] More SceneKit bindings (#2633) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 (#2644) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 https://bugzilla.xamarin.com/show_bug.cgi?id=59380 vector_float3 is 16 bytes, which means the binding is incorrect, because Vector3 is 12 bytes, and our code does not that difference into account. * Add tests * [DeviceCheck] Disable default ctor for DCDevice. (#2642) It doesn't seem to be useful according to the documentation, since it appears that the only way to get an instance is to use the static CurrentDevice property. * [audiounit] Audit (xtro) fixes for tvOS (#2635) Availability attributes in non-generated files don't hide symbols/code. reference: !unknown-pinvoke! AudioUnitExtensionCopyComponentList bound !unknown-pinvoke! AudioUnitExtensionSetComponentList bound * [tests] Make sure tvOS tests don't use the (unexisting) API * [tests] Add all test project variations to tests-mac.sln (#2579) * [xharness] Make sure generated mac projects have different project guids. * [introspection] Change the project guid so that it doesn't match the dontlink-mac project guid. * [tests] Add all test project variations to tests-mac.sln. * [xharness] Fix else condition. * [FileProvider] Adds missing NSFileProviderPage constants, fixes bug 59297. (#2646) https://bugzilla.xamarin.com/show_bug.cgi?id=59297 Adds NSFileProviderInitialPageSortedByName and NSFileProviderInitialPageSortedByDate NSData constants * [Xcode9] Remove NSFileProviderMessage and NSFileProviderMessageInterface (#2647) APIs were removed in beta 2 * [Foundation/UIKit] Provide LoadObject[s] methods that return the expected type in the callback. Fixes #59049. (#2638) The callback for these LoadObject[s] methods take an INSItemProviderReading parameter. This tells our runtime that we must provide an instance of a managed object that implements this interface (but nothing else), so we create a `NSItemProviderReadingWrapper` instance, which complies with the API (since the wrapper type implements the corresponding interface). Unfortunately these methods are supposed to return an instance of the passed- in type, so in order to comply with this soft (documentation-only) requirement, provide a wrapper method that creates instances of the right types. https://bugzilla.xamarin.com/show_bug.cgi?id=59049 * [arkit] Ignore deprecated selectors (#2645) * [FileProvider] Adds missing protocol and keys from audit (#2652) ``` !missing-protocol! NSFileProviderServiceSource not bound !missing-field! NSFileProviderErrorCollidingItemKey not bound !missing-field! NSFileProviderErrorNonExistentItemIdentifierKey not bound !missing-field! NSFileProviderFavoriteRankUnranked not bound ``` Also adds `NSXpcListenerEndpoint` to foundation, needed by `NSFileProviderServiceSource` protocol. * [tests][xtro] Workaround xtro runner dupe entry exception and update data files (#2654) * [AVFoundation] Rename field to match others. (#2657) * [homekit] Audit (xtro) fixes (#2653) - HMCharacteristicEvent conforms to NSMutableCopying on iOS11 which makes it 64 bits only (so adjust intro tests) - Ignore extra setters on HMMutablePresenceEvent, rdar 33883958 !missing-selector! HMMutablePresenceEvent::setPresenceEventType: not bound !missing-selector! HMMutablePresenceEvent::setPresenceUserType: not bound * [xtro] Add missing pinvoke to pending (#2662) - Bug 59422: [uikit] Missing UIContentSizeCategoryCompareToCategory & UIContentSizeCategoryIsAccessibilityCategory (https://bugzilla.xamarin.com/show_bug.cgi?id=59422) * Merge latest d15-3 fixes into xcode9 (#2660) * [msbuild] Re-added wildcard (*) expandsion for application-identifier in Entitlements.plist (#2186) Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=57119 * Bump mono (#2213) * Framework tests were still binding non-linked Simple class which errors now (#2216) (#2218) - Improve Makefile to rebuild when projects build with errors * Bump mono to get cecil fix for bug #56808. (#2222) https://bugzilla.xamarin.com/show_bug.cgi?id=56808 * [msbuild] Use @(ReferencePath) instead of @(ResolvedFiles) (#2188) (#2214) This allows things to work on both xbuild and msbuild. In xbuild, both lists are exactly the same and on msbuild, only @(ReferencePath) exists. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=55147 * NSActivityOptions.IdleDisplaySleepDisabled had wrong value (#2232) (#2239) This was due to an integer overflow. The original value was based on Int32 1 << 40 == 256 The correct value should be based on a UInt64. 1UL << 40 == 1099511627776 * [tests] Fix bug 57699 - [iOS]InternalsTest failure (Linkall) tests on device (#2243) Strip native debugging symbols should not be checked for debug builds * Bump mono to get fix for bug #57780. https://bugzilla.xamarin.com/show_bug.cgi?id=57780 * Update .gitmodules Change branch to d15-3 branch of mono * Bump maccore to get fix for bug #55064. https://bugzilla.xamarin.com/show_bug.cgi?id=55064 * [mono] Bump mono to get the head of cecil/mono-2017-04 and fix IsComObject #57919 Also fix #58789 [1], the typo in tools/mtouch/Tuning.cs showing in MT0000 errors instead MT2102. That's already in master and d15-4 mono bump includes: [2] commit 2a6502cee0df9de5198eafe7c8b5f6ac25106f34 (HEAD -> d15-3, origin/d15-3) Merge: 02457c20fcf 5e05cafc6f1 Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 10:04:06 2017 -0400 Merge pull request #5401 from marek-safar/com [Marshal.IsComObject] Make this predicate return false instead of thr… [3] commit 02457c20fcf57c0610e844d638eb1da82b5d1eb0 Merge: da80840ea55 73fd9a1b82e Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 09:59:06 2017 -0400 Merge pull request #5400 from spouliot/bump-cecil-58834-d15-3 [cecil] Bump to the head of the mono-2017-04 branch and pick the fix for bug #58834 References [1] https://bugzilla.xamarin.com/show_bug.cgi?id=58789 [2] https://bugzilla.xamarin.com/show_bug.cgi?id=57919 [3] https://bugzilla.xamarin.com/show_bug.cgi?id=58834 * [mtouch] Put 'mono_profiler_startup_log' in the symbol list. Fixes #58778. (#2501) We need the 'mono_profiler_startup_log' symbol when profiling is enabled, so make sure to add the symbol to the correct list of symbols we need. Previously we were passing `-u _mono_profiler_startup_log` to clang directly, which is fine, but not complete, since it does not write the symbol to the symbollist file (--symbollist=file), which means it wouldn't be preserved when the MSBuild tasks strip the executable. https://bugzilla.xamarin.com/show_bug.cgi?id=58778 * Bump versions for SR3 https://trello.com/c/EVze08ei * Bump mono to include HttpClientHandler fix #44027 https://trello.com/c/jYFXadH8/8-systemnethttp-close-request-stream-when-httpclienthandler https://bugzilla.xamarin.com/show_bug.cgi?id=44027 * [FileProvider] Add missing API and turn NSString to string (#2663) Turned NSString to string in order to match exisiting API. * [uikit] Add UIPasteConfigurationSupporting and UITextPasteConfigurationSupporting (#2649) - Fixes bug #59363: Missing UIPasteConfigurationSupporting, UITextPasteConfigurationSupporting, UITextDraggable and UITextDroppable on a couple of types (https://bugzilla.xamarin.com/show_bug.cgi?id=59363) * [uikit] Remove 129 types in UIPasteConfigurationSupporting case * [scenekit] Audit (xtro) fixes (#2648) This looks like an Apple breaking change (since `SCNAnimation` is new) but we now have: > typedef void (^SCNAnimationEventBlock)(id<SCNAnimation> animation, id animatedObject, BOOL playingBackward); bound as > delegate void SCNAnimationEventHandler (CAAnimation animation, NSObject animatedObject, bool playingBackward); and `CAAnimation` conforms to `SCNAnimation` but *only* the later is available on watchOS. The delegate is only updated (since it's new) on our watchOS profile. xtro references: (watchos) !unknown-protocol! SCNCameraControlConfiguration bound (tvos/watchos) !missing-selector! SCNAnimation::animationEvents not bound !missing-selector! SCNAnimation::setAnimationEvents: not bound !missing-selector! SCNConstraint::isEnabled not bound !missing-selector! SCNConstraint::setEnabled: not bound !missing-field! SCNSceneSourceConvertToYUpKey not bound !missing-field! SCNSceneSourceConvertUnitsToMetersKey not bound (ios/tvos) !missing-protocol-conformance! SCNNode should conform to UIFocusItem * Bump maccore post 15.3 merge (#2665) * Bump Xcode 9 to GM (#2667) * Force build (on wrench) * [avfoundation] Fix breaking changes (apidiff) (#2664) * [TVServices] Update to Xcode 9 GM (#2675) * [GameController] Update to Xcode 9 GM (#2673) * [LocalAuthentication] Update to Xcode 9 GM (#2671) * [LocalAuthentication] Update to Xcode 9 GM * Remove availability from BiometryNotAvailable, BiometryNotEnrolled and BiometryLockout * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer (#2659) * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer Some of the new added types were already present BUT under a #if MONOMAC, they had to be moved. * [AVFoundation] Set the wrongly added API to be obsolete and ensure it returns logical values. (#2650) * [xtro] The right platform for macOS is 'macos', not 'osx'. (#2677) The platform name is used to filter availability attributes, and if we use the wrong platform, we'll incorrectly skip all availability attributes. The net result in unclassified entries: https://gist.github.com/rolfbjarne/a4474bc2a40c49a85cad495b51bb514f * Various Xcode 9 API improvements and also fixes bug 59433 (#2676) https://bugzilla.xamarin.com/show_bug.cgi?id=59433 While fixing bug 59433 I noticed some additional issues outlined below: AVDepthData: * Renamed **non** static `Create` methods because `Create` only makes sense with the **Static** method in this context. Also by renaming the methods we are now closer to the names that swift uses. * Kept descriptive method names in favor of self-documenting code. `Convert`, `Apply` and `Replace` do not fully give us the intent of the method. * Added a convenience `Create` static method that takes a `CGImageAuxiliaryDataInfo`. * AvailableDepthDataTypes is now an array of `CVPixelFormatType` instead of a `NSNumber` array (The aactual fix for bug 59433). ImageIO: * Refactored `CGImageAuxiliaryDataInfo` to be a `StrongDictionary` in order to avoid most of the manual code and also to avoid reimplementing the `ToDictionary` method (which contained a subtle bug). * Adjusted code to reflect the above change. * Added missing `.ctor (IntPtr, bool)` to `CGImageMetadata` so the class is able to be created by our `Runtime.Get*`. * Simplified `CopyAuxiliaryDataInfo` method by using `CGImageAuxiliaryDataInfo` as a `DictionaryContainer`. Tests: * Added `xamarinmonkey.heic` which is an image that contains depth data needed to test above changes. * Adds `AVDepthDataTests` that touches most of the changes listed here. * Tweak the Simd-compatible matrices and vectors (#2668) * Rename them to be OpenTK.NMatrix# (instead of Simd.MatrixFloat#x#). * Remove the Vector2 and Vector4 variants, we'll use the OpenTK types instead (but we'll keep the NVector3 variant, since it's not identical to the OpenTK version). * Update the API to match their OpenTK counterparts better: * NMatrix2 and NMatrix3 have a 0-based R#C# scheme for their fields. * NMatrix4 has a 1-based M## scheme for its fields (i.e. no change). * [AVFoundation] Use Simd-matrix for API that needs it. (#2679) This also requires implementing the corresponding matrix (NMatrix4x3). Fixes this xtro issue: > !unknown-simd-type-in-signature! OpenTK.Matrix3 AVFoundation.AVCameraCalibrationData::get_GetIntrinsicMatrix(): the native signature has a simd type (matrix_float3x3), while the corresponding managed method is using an incorrect (non-simd) type. * [xtro] Fix checking availability on categories. (#2682) When checking for category availability, check if both the current declaration is a category, and if the current's declaration container is a category. Otherwise this scenario fails: * Category method is available. * Category does not have availability attributes. * Main class is unavailable. with this typical code sequence: ```csharp // don't process methods (or types) that are unavailable for the current platform if (!decl.IsAvailable () || !(decl.DeclContext as Decl).IsAvailable ()) return; ``` In which case we'd: * First check the method (`decl`): * It's available, so no further checks is done on the method. * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container's container is a category (it isn't, it's the namespace). and as such determine that the method is available. With this change, the second step will become: * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container is a category (it is), and if its main class is available (it isn't). and as such determine that the method is unavailable. * Check for attributes on the method's container (no attributes, so we continue). * Check if the method's Unclassified diff: https://gist.github.com/rolfbjarne/8fa80962596978a426eadf9b7ba39dc1 * [uikit] Update for Xcode 9 GM (#2670) * [AVFoundation] Implement AVCapturePhoto. Partially fixes #59388. (#2678) Fixes: > common.unclassified:!missing-type! AVCapturePhoto not bound https://bugzilla.xamarin.com/show_bug.cgi?id=59388 * Use strong dictionaries for AVCapturePhoto.Metadata and AVCapturePhoto.EmbeddedThumbnailPhotoFormat. * [SIMD] Implement Simd double types (VectorDouble3/MatrixDouble4x4). (#2632) The following types will be used by ModelIO bindings * Fix delta to be double * Rename Simd-compatible matrices and vectors to match our final naming. This also means removing the new Vector2 and Vector4 variants (but not Vector3). * [avfoundation] Remove AVAssetDownloadDelegate.DidLoadTimeRange since it was removed in one of the betas (#2687) * [foundation] Move NSUrlSessionMultipathServiceType to a file processed by the generator (for the availability attributes) (#2688) * [arkit] Update for Xcode 9 GM (#2681) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes (#2690) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes Type Changed: Intents.INCarSeatResolutionResult Removed methods: public static INCarSeatResolutionResult GetConfirmationRequired (INCarSeat valueToConfirm); public static INCarSeatResolutionResult GetSuccess (INCarSeat resolvedValue); * [avfoundation] Add missing protocol members and deprecations (#2691) !missing-protocol-member! AVCapturePhotoCaptureDelegate::captureOutput:didFinishProcessingPhoto:error: not found and the selector removed from PR#2687 was actually replaced with this one !missing-protocol-member! AVAssetDownloadDelegate::URLSession:aggregateAssetDownloadTask:didLoadTimeRange:totalTimeRangesLoaded:timeRangeExpectedToLoad:forMediaSelection: not found * [tests][xtro] Map some enums, more fix with protocols and update entries (#2692) * [Tests] Reenable dns tests on the watch. (#2674) * [arkit] Add ARBlendShapeLocationOptions strong dictionary (#2696) * [coreimage] Skip not yet bound filters added in Xcode9 (#2698) Tracked in https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * [Metal] Renamed MTLArgumentDescriptor.ArgumentDescriptor to Create, fixes bug 59498 (#2702) https://bugzilla.xamarin.com/show_bug.cgi?id=59498 From [argumentDescriptor docs](https://developer.apple.com/documentation/metal/mtlargumentdescriptor/2915746-argumentdescriptor?language=objc) > Creates an empty argument descriptor. * [msbuild] Always codesign app bundles if the codesign key is non-null (#2697) ...even if it is a simulator build. Turns out that starting with Xcode9, sim builds need to be codesigned for App Groups entitlements to work properly. Interestingly, the DetectSigningIdentity logic had a comment about needing to codesign simulator builds for some entitlements to work already starting with Xcode 8 but apparently the iOS targets did not respect this. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=59379 * [Foundation] Add NSProxy stub in order to workaround bug 59247 (#2693) https://bugzilla.xamarin.com/show_bug.cgi?id=59247 We need to have a better solution that removes all what NSProxy does not responds to. Right now this works because NSObject implements NSObject protocol just like NSProxy, but NSProxy responds to far less selectors hence doing it internal so it is not a breaking change when we provide the correct fix. * Keep NSProxy around and avoid XML linker description We need to keep NSProxy (avoid linking it) if WKNavigationDelegate or IWKNavigationDelegate is used. We know WKWebView will be there and can hold a reference to it. * [Xcode 9] Update Metal for GM (#2689) * [iosurface] IOSurface is not usable before iOS/tvOS 11. Fixes #59201 (#2706) Apple rejects apps that links with the previously private IOSurface.framework. We were not sure about this [1] and had it disabled (this is removed). However another bug stopped our adjustment logic [2] from being executed. This is needed since `clang` picks up the private framework if it does not find the public one (even when asking for a weak framework), [1] https://bugzilla.xamarin.com/show_bug.cgi?id=59201 [2] Added a while ago for JavascriptCore * Bump maccore to point to commit with the docs fix. (#2703) * Bump XI to 11.0.x (and XM to 3.99.9.x) (#2684) * fix typo
2017-09-16 00:53:16 +03:00
[Availability (Deprecated = Platform.Mac_10_10, Message = "Use the SCNProgram's Opaque property instead.")]
2016-04-21 15:30:02 +03:00
[Export ("programIsOpaque:")]
bool IsProgramOpaque (SCNProgram program);
#endif
}
[Watch (3,0)]
2016-04-21 15:30:02 +03:00
[Mac (10,8), iOS (8,0)]
[BaseType (typeof (SCNGeometry))]
interface SCNPyramid {
[Export ("width")]
nfloat Width { get; set; }
[Export ("height")]
nfloat Height { get; set; }
[Export ("length")]
nfloat Length { get; set; }
[Export ("widthSegmentCount")]
nint WidthSegmentCount { get; set; }
[Export ("heightSegmentCount")]
nint HeightSegmentCount { get; set; }
[Export ("lengthSegmentCount")]
nint LengthSegmentCount { get; set; }
[Static, Export ("pyramidWithWidth:height:length:")]
SCNPyramid Create (nfloat width, nfloat height, nfloat length);
}
[Mac (10,8), iOS (8,0), NoWatch]
2016-04-21 15:30:02 +03:00
[BaseType (typeof (NSObject))]
#if !MONOMAC || XAMCORE_2_0
[DisableDefaultCtor] // NSInvalidArgumentException Reason: -[SCNRenderer init]: unrecognized selector sent to instance 0x7ce85a30
#endif
interface SCNRenderer : SCNSceneRenderer, SCNTechniqueSupport {
// We already pull in the Scene property from the SCNSceneRenderer protocol, no need to redefine it here.
// [Export ("scene", ArgumentSemantic.Retain)]
// SCNScene Scene { get; set; }
// options: nothing today, it is reserved for future use
[Static, Export ("rendererWithContext:options:")]
SCNRenderer FromContext (IntPtr context, [NullAllowed] NSDictionary options);
[NoWatch]
[Static]
[Wrap ("FromContext (context.GetHandle (), options)")]
// GetHandle will return IntPtr.Zero is context is null
// GLContext == CGLContext on macOS and EAGLContext in iOS and tvOS (using on top of file)
SCNRenderer FromContext (GLContext context, [NullAllowed] NSDictionary options);
[NoWatch, NoTV]
2016-04-21 15:30:02 +03:00
[Export ("render")]
[Availability (Deprecated = Platform.Mac_10_11 | Platform.iOS_9_0)]
void Render ();
[Mac (10,10)]
[Export ("renderAtTime:")]
void Render (double timeInSeconds);
[TV (10, 0), Mac (10, 12), iOS (10, 0)]
[Export ("snapshotAtTime:withSize:antialiasingMode:")]
NSImage GetSnapshot (double time, CGSize size, SCNAntialiasingMode antialiasingMode);
2016-04-21 15:30:02 +03:00
[Mac (10,10)]
[Export ("nextFrameTime")]
double NextFrameTimeInSeconds { get; }
#if XAMCORE_2_0 || !MONOMAC
[NoWatch]
2016-04-21 15:30:02 +03:00
[iOS (9,0)][Mac (10,11)]
[Static]
[Export ("rendererWithDevice:options:")]
SCNRenderer FromDevice ([NullAllowed] IMTLDevice device, [NullAllowed] NSDictionary options);
[NoWatch]
2016-04-21 15:30:02 +03:00
[iOS (9,0)][Mac (10,11)]
[Export ("renderAtTime:viewport:commandBuffer:passDescriptor:")]
void Render (double timeInSeconds, CGRect viewport, IMTLCommandBuffer commandBuffer, MTLRenderPassDescriptor renderPassDescriptor);
Merge xcode9 into d15-4[-xi] (#2710) * [FileProvider] Add Xcode 9 Beta 1, 2 & 3 Bindings (#2279) * [FileProvider] Add Xcode 9 Beta 1 Bindings * Better naming * Feedback not related to BindAs * [FileProvider] Removes BindAs, add manual code for it and updated to Beta 3 * [FileProvider] Implement feedback * [CoreSpotlight] Updated spotlight bindings for xcode 9 beta 3. (#2193) Updated spotlight bindings for xcode 9 beta 3. * Fix warning caused by duplicate (#2354) * [FileProviderUI] Add Xcode 9 Beta 1 to 3 bindings (#2356) * Bump to Xcode 9 beta 4 * [arkit] ARLightEstimate does not conform to NSCopying anymore (fix unit test) * [uikit] NSFileProviderExtension.ReparentItem got a new parameter in beta4 (fix unit test) * [coreimage] CIImageAccumulator init returns nil in beta 4 There's no header change to mention `init` is not allowed but it's not clear how this default initializer could be used. Also make public some other API to construct this type (outside of XM). It's not clear why there were `internal` as they are (at least now) part of the header files. * [photos] Add helpers when PHLivePhotoEditingOption/NSDictionary is null (to avoid ambiguous API) (#2360) Adding a strongly typed `PHLivePhotoEditingOption` (a strongly typed version of an `NSDictionary`) can cause a `CS0121` (call is ambiguous) since using a `null` argument is common (only one option exist so far). This PR adds overloads that makes the code nicer in such case, e.g. before Xcode9: > // null is used when no options are given > _foo.SaveLivePhoto (output, null, completion); current (Xcode 9) > // casting required to remove ambiguity with PHLivePhotoEditingOption > _foo.SaveLivePhoto (output, (NSDictionary)null, completion); with this PR > // no option, no argument > _foo.SaveLivePhoto (output, completion); The same applies to `PrepareLivePhotoForPlayback`. * [tests] Disable/tweak two tests that breaks on (almost) all Xcode updates Those tests were not added to validate xOS so just keep the parts that helps us (without constantly checking back the new break flavor) * Disable watchOS to check if this hides others issues * [mapkit] Update for beta 4 * [coredata] Update for beta 4 * [wkwebkit] Update for beta 4 Note: WKWindowFeatures.h is not compiled (part of the framework umbrella) and the `@interface WKWindowFeatures (WKPrivate)` sounds like it should not have been exposed (it's all fields starting with `_`) * [corelocation] Update for beta 4 * Revert "Disable watchOS to check if this hides others issues" This reverts commit fed2249fa43290a1956ab2fe0d48f83ab6db9711. * [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]: https://github.com/xamarin/xamarin-macios/blob/f5956d6cc1eb5dfa7bab16628cf282d40237f64e/src/generator.cs#L5985 * [FinderSync] Update to beta 4 (#2377) * [ImageIO] Update to Xcode 9 (#2353) * [PhotosUI] Move macOS photosui bindings out of photos.cs into photosui.cs (#2358) * [quicklook] Update up to beta 4 (#2374) * [uikit] UIDragInteraction & UIDragInteractionDelegate (Xcode 9 b1,2,3) (#2357) * [safariservices] Update up to beta 4 (#2380) * [coreanimation] Update to beta 4 (#2382) Apple removed (mistake?) some API in beta 1. Filed as rdar 33590997 Internal tracking in https://trello.com/c/J8BDDUV9/86-33590997-coreanimation-quartzcore-api-removals * [storekit] Update up to beta 4 (#2379) * [CoreML] Update to Xcode 9 Beta 4 (#2387) * [uikit] UICollectionView/UITableView Drag & Drop (Xcode 9 b1,2,3 & 4) (#2355) * Update code after radar 32929318 and 32897776 are fixed in b4 (#2394) * [xcode9 CoreAudio] New definitions from Beta1 to Beta3 (#2359) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 (#2397) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 https://bugzilla.xamarin.com/show_bug.cgi?id=58512 Created strong API (VNBarcodeSymbology) on the following properties * VNDetectBarcodesRequest.SupportedSymbologies * VNDetectBarcodesRequest.Symbologies * VNBarcodeObservation.Symbology * Remove modern C# because classic can't do it 😡 * [mediaplayer] Update up to beta 4 (#2388) * [watchkit] Update to beta 4 (#2398) * Bump Visual Studio for Mac max version (#2408) * [coreimage] Add CIBarcodeDescriptor and enabled missing API for VNBarcodeObservation. Fix #58197 (#2411) https://bugzilla.xamarin.com/show_bug.cgi?id=58197 * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 (#2407) * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 * [uikit] Fixes based on comments * [coreimage] CIImageAccumulator API fixes. Fix #58349 (#2412) * Obsolete the default `init`; * XM exposed some older APIs using `int` instead of `CIFormat`. This is fixed and old APIs are obsoleted; * Both new & old APIs are now using `CIFormat` for both XI and XM. https://bugzilla.xamarin.com/show_bug.cgi?id=58349 * [uikit] UIText drag & drop - up to Xcode 9 beta 4 (#2410) * [uikit] UISplitView & UIStackView up to Xcode 9 beta 4 (#2425) * Bump XI/XM versions before preview 4 (#2422) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 (#2378) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 * [PDFKit] Implement feedback * [PDFKit] the forgotten enum * [PDFKit] More feedback * [PDFKit] Add Mac changes * Missing change * Fix test RectangleF VS CGRect * Pass -Wunguarded-availability-new to quiet a new clang warning (#2424) - https://bugzilla.xamarin.com/show_bug.cgi?id=58574 * [mtouch/mmp] Ignore warnings about unguarded code section with regards to availability. (#2441) * [monotouch-test] Remove workaround for fixed Apple bug. (#2445) * Bump to Xcode 9 beta 5. (#2447) * Bump to Xcode 9 beta 5. * [mmp] Disable the partial static registrar, because Apple's macOS SDK is broken. > In file included from Xamarin.Mac.registrar.mobile.i386.m:1: > In file included from ./Xamarin.Mac.registrar.mobile.i386.h:11: > /Applications/Xcode9-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVFoundation.h:88:9: fatal error: 'AVFoundation/AVRouteDetector.h' file not found https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [mmp] Fix partial static registrar removal. * [CallKit] Update to Xcode 9 beta 5. * [ARKit] ARPointCloud doesn't conform to NSCopying anymore in Xcode 9 beta 5. * [ARKit] Update to Xcode 9 beta 5 enough to make tests happy. * [CoreImage] Stub out new filters in Xcode 9 beta 5. * [tests][monotouch] Simplify some MDLMesh asserts since values change a lot between OS versions. * [mmp] Default to the dynamic registrar for release builds again, due to bug #58629. https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [tests][introspection] CXCall started implementing NSCopying without saying so in the headers. * Disable mmp static registrar tests due to 58629 for now * [quicklook] Update to beta 5 (#2450) * [photos] Update for beta 5 (#2452) Also update some existing enum members were added in beta 1 on macOS * [safariservices] Update for beta 5 (#2455) * [mediaplayer] Update to beta 5 (#2456) * [CoreLocation] Update Xcode 9 Beta 5 (#2453) * [CoreML] Update to Xcode 9 Beta 5 (#2454) * [Contacts] Update to Xcode 9 Beta 5 (#2451) * [Vision] Update to Xcode 9 Beta 5 (#2458) * [builds] Tell LLVM to stay away from newer macOS functions. (#2459) Fixes this build problem on Sierra: > ld: weak import of symbol '_futimens' not supported because of option: -no_weak_imports for architecture x86_64 This is a symbol that was (will be?) introduced in High Sierra. Interestingly this only occurs if the Xcode 8.X Command Line Tools haven't been manually installed. Because if the Xcode 8.X Command Line Tools are installed, this happens: 1. llvm's configure script detects that 'futimens' is not usable. 2. llvm's configure script detects that 'futimens' is not usable, because xcrun sets SDKROOT=/ when calling clang. a. When the SDKROOT variable is set, clang passes '-syslibroot /usr/lib' to ld. b. When ld gets '-syslibroot /usr/lib', ld looks in '/usr/lib' for a library that contains 'futimens' in the OS itself, and since we're on Sierra, that fails to link. c. So when llvm's configure script creates a test program that checks if 'futimens' is present, the program fails. This is correct, and makes llvm *not* use futimens. 3. xcrun sets SDKROOT=/ because /usr/share/current-os.sdk/Info.plist exists. If that file does not exist, then xcrun sets SDKROOT to Xcode9's macOS SDK (because that's what xcode-select reports). a. When SDKROOT is set to Xcode9's macOS SDK, the configure check for 'futimens' succeeds, because the macOS 10.13 SDK contains that function. b. llvm happily uses 'futimens', and then the final link fails because we're using a symbol not available on all target platforms. * [arkit] Update for Xcode 9 beta 5 - Part 1 (#2460) * [tests] The container app for watchOS tests should be 64-bit. (#2463) * [xharness] watchOS tests need to run in a clean environment. Works around #58348. (#2462) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [xharness] It watchOS tests don't need to be clean anymore. Fixes #58348. (#2473) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [uikit] UIView/UIScrollView/UIViewController up to Xcode 9 beta 5 (#2431) - Add NSDirectionalEdgeInsets type. - Includes DirectionalEdgeInsetsTest. * [AudioToolbox] Update bindings to Xcode 9 beta3 (not later changes). (#2294) * [xharness] Add a file existence check. (#2478) Fixes this exception: ``` Harness exception for 'introspection': System.IO.FileNotFoundException: Could not find file '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log'. File name: '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log' at System.IO.__Error.WinIOError (System.Int32 errorCode, System.String maybeFullPath) [0x00207] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/__error.cs:188 at System.IO.FileInfo.get_Length () [0x00038] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/fileinfo.cs:171 at xharness.CaptureLog.StopCapture () [0x00021] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Log.cs:252 at (wrapper remoting-invoke-with-check) xharness.CaptureLog:StopCapture () at xharness.AppRunner+<RunAsync>d__68.MoveNext () [0x0127f] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/AppRunner.cs:642 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter`1[TResult].GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:357 at xharness.RunSimulatorTask+<RunTestAsync>d__7.MoveNext () [0x0029d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2894 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.RunTestTask+<ExecuteAsync>d__8.MoveNext () [0x0010b] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2538 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.TestTask+<RunInternalAsync>d__87.MoveNext () [0x0010d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:1870 ``` I'm not sure how this can happen, but it has on the bots [1]. [1] https://jenkins.mono-project.com/job/xamarin-macios-pr-builder/4548/Test_Report/ * Bump versions for preview 5 (#2479) * [passkit] Update to beta 5 (#2481) * [tests] Remove workaround for radar #32688391. (#2486) * [replaykit] Update up to beta 5 (#2484) * Bump maccore to get fix for bug #55064. (#2487) * [apidiff] Update definition to new 10.12 (d15-3) stable release (#2490) * [SceneKit] basic work (#2483) * [coredata] Update to beta 5 (#2488) * [homekit] Update for Xcode 9 beta 5 (#2492) * [Foundation] Update for xcode9 (#2468) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 (#2493) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 * [Intents] Implement feedback * [Intents] Add a generic version for INInteraction.GetParameterValue * [Intents] Missing check * [Contacts] Add missing foundation NSItemProviderWriting protocol to CNContact (#2496) https://bugzilla.xamarin.com/show_bug.cgi?id=58203 This is available on all Contacts supported platforms ``` ./iPhoneOS.platform/Developer/SDKs/iPhoneOS11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchOS.platform/Developer/SDKs/WatchOS4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchSimulator.platform/Developer/SDKs/WatchSimulator4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ``` * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) (#2497) * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) * [IntentsUI] Better use a delegate instead so we have named params * Bump versions before 6th preview (#2514) * [arkit] Add missing MarshalDirective to ARPlaneAnchor (#2517) - Fixes bug #58648: ARPlaneAnchor.Extent property seems incorrect but changes to correct value after Debug access (https://bugzilla.xamarin.com/show_bug.cgi?id=58648) * [xtro-sharpie] Fix a compiler warning. (#2516) Fixes these warnings: Runner.cs(197,5): warning CS0642: Possible mistaken empty statement Runner.cs(199,5): warning CS0642: Possible mistaken empty statement Runner.cs(201,5): warning CS0642: Possible mistaken empty statement Runner.cs(203,5): warning CS0642: Possible mistaken empty statement Runner.cs(205,5): warning CS0642: Possible mistaken empty statement * [uikit] Update for Xcode 9 beta 5 - Part 3 (#2511) - UIKeyCommand - UINavigationBar - UINavigationItem - UIPasteboard - UITableViewHeaderFooterView * [xtro-sharpie] Remove xtro-plugin and misc other fixes. (#2522) * [xtro-sharpie] Build with msbuild and be as quiet as requested when building. * [xtro-sharpie] Must run as a 64-bit process, since the required native libraries are 64-bit. * [xtro-sharpie] Add run configurations to the project file to ease debugging in the IDE. * [xtro-sharpie] Remove xtro-plugin and the related commands. This was needed when there wasn't a 64-bit mono, in order to run xtro-sharpie in a 64-bit process. Now there is a 64-bit mono, so it's not needed anymore. Also improve makefile targets a bit, to auto-build stuff when needed, by setting the right dependencies. * Bump Xcode 9 to beta 6 (#2519) Disable watchOS tests again It seems like the Carousel crash from beta 4 is back to haunt us. This was working fine with beta 5. * Backport d15-3 SR2 fixes (#2515) * [coredata] Update to beta 6 (#2528) This seems to only revert some nullability changes from beta 5. * [coreml] Update to beta 6 (#2531) Fix our rdar 33643011 where additional setters were added in the headers but did not exists. * [videosubscriberaccount] Update to beta 6 (#2533) Only b1 and b2 introduced some additions/changes * [uikit] Update for Xcode 9 beta 6 - Part 4 (#2527) The following headers are now up to date: - UICollectionViewFlowLayout.h - UIDocumentPickerViewController.h - UIFontDescriptor.h - UIImage.h - UIImageView.h - UIImagePickerController.h * [xharness] Re-enable the watchOS tests. (#2534) It works fine for me locally, so let's see what Jenkins says. * [macos] Add new APIs in CoreWlan from Xcode9b3 (#2525) * Update AppKit bindings based on radar 33271241 results (#2518) * Update AppKit bindings based on radar 33271241 results - The header comment was updated to note it was NSSliderTouchBarItem view that has the protocol * Remove NSUserInterfaceCompression where not listed in header * [vision] Update to beta 6 (#2532) Removal of some deprecated (during beta) `init*` selectors. Also sync the versions that were inlined in subclasses - the old ones were not removed and the new ones were not added. * [xtro-sharpie] Many methods don't have selectors in Clang's API, so default to the name if no selector. (#2523) This makes a few more unclassified entries show up (mostly missing designated initializers): https://gist.github.com/rolfbjarne/07aa20f9b50b75bf3e69ac6a825e873a * [macos] Add ExternalAccessory APIs from xcode9 (#2526) * [58851] Disable NSMenuView in AllItemsWithNSMenuShouldAllowNull (#2504) * [arkit] Update for Xcode 9 beta 5 - Part 2 (#2505) - Add last missing selector. - Add tests for manual code. * [monotouch-test] Disable FontDescriptorTest.WithFeature (#2537) Disabled because it looks like the tvOS font we use: "Gujarati Sangam MN" does not have rare ligatures anymore (and the entire test is based on it). Before getting an actual fix for that, let's disable the test so it doesn't break all current builds. See: https://bugzilla.xamarin.com/show_bug.cgi?id=58929 * [xtro-sharpie] Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute. (#2524) Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute to calculate the native name for a TypeDefinition. Unclassified changes: https://gist.github.com/rolfbjarne/828f8ee41eebb0a3b60a38d71822fe59 * [foundation/uikit] Inline NSItemProvider_UIKitAdditions in NSItemProvider (#2538) As suggested here: https://github.com/xamarin/xamarin-macios/pull/2527#discussion_r134670981 * [intents] Fix breaking changes (api-diff) (#2543) Additions of @required members inside `INSpeakable` cannot be `[Abstract]` * [contacts] Fix breaking change (api-diff) (#2542) Type Changed: Contacts.CNPostalAddress Removed method: public static string LocalizeProperty (CNPostalAddressKeyOption option); * [macos] Reenable static registrar since Xcode9b6 un-broke SDK headers (#2544) - Fix a subtle spacing issues in PartialStaticLibrary property * [corebluetooth] Update up to beta 6 and enable it on watchOS (#2540) macOS 10.13 has finally catch up with iOS and this simplifies the bindings a bit. * [foundation] API fixes (apidiff) (#2545) 1. Let's not add new, already [Obsolete] API Type Changed: Foundation.NSDimension Added constructors: [Obsolete ("Not intended to be directly instantiated, this is an abstract class.")] public NSDimension (); 2. Fix inconsistently named API, e.g. Type Changed: Foundation.NSAttributedString Added properties: public static string[] ReadableTypeIdentifiersForItemProvider { get; } public static string[] WritableTypeIdentifiers { get; } * [pdfkit] Do not add already [Obsolete] API in new profiles (#2547) and ensure using the newer, correct API works cross-platforms iOS (before) [Obsolete ("Use 'Find (string, NSStringCompareOptions)' instead.")] public virtual PdfSelection[] Find (string text, nint options); public PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'Find (string, PdfSelection, NSStringCompareOptions)' instead.")] public virtual PdfSelection Find (string text, PdfSelection selection, nint options); public void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string, NSStringCompareOptions)' instead.")] public virtual void FindAsync (string text, nint options); public void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string [], NSStringCompareOptions)' instead.")] public virtual void FindAsync (string[] text, nint options); iOS (after) public virtual PdfSelection[] Find (string text, Foundation.NSStringCompareOptions compareOptions); public virtual PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); * Bump versions for the 7th preview (#2541) * Remove additions of AVKit removed in beta5 (#2536) * NSUrlSessionTask should implement NSProgressReporting for iOS (#2548) NSUrlSessionTask implements NSProgressReporting on iOS as well as Mac, so the #if MONOMAC isn't needed. * Add missing availability attributes causing failures on older iOS versions (#2550) * [vision] Minor fix wrt xtro (#2551) including some things we need to ignore manually !missing-field! VNVisionVersionNumber not bound !missing-pinvoke! VNImagePointForFaceLandmarkPoint is not bound !missing-pinvoke! VNNormalizedFaceBoundingBoxPointForLandmarkPoint is not bound * [uikit] NSFileProviderMessaging was removed in beta 2. Fixes #58222 (#2552) reference: https://bugzilla.xamarin.com/show_bug.cgi?id=58222 * [uikit] Update for Xcode 9 - Part 5 (#2546) Bindings for the following headers: - UIActivity.h - UIActivityItemProvider.h - UIAlertController.h - UIApplication.h - UIBarButtonItem.h - UIButton.h - UICollectionViewLayout.h - UIColor.h - UIControl.h - UIDocumentMenuViewController.h - UIFontMetrics.h - UIGestureRecognizer.h - UIGraphicsImageRenderer.h - UIInputViewController.h * [CoreText] Fix an extraneous free in CTFont.GetDefaultCascadeList. (#2555) We do not own the return value from CFArrayGetValueAtIndex, so don't say we do when creating CTFontDescriptor instances, since that leads to angry dragons: 2017-08-28 20:15:20.293 monotouchtest[33186:2311738] A_FontTest 2017-08-28 20:15:20.294 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithFontDescriptorAndOptions 2017-08-28 20:15:20.295 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithNameAndOptions 2017-08-28 20:15:20.296 monotouchtest[33186:2311738] critical: Stacktrace: at <unknown> <0xffffffff> at (wrapper managed-to-native) CoreText.CTFont.CTFontCopyDefaultCascadeListForLanguages (intptr,intptr) [0x0000a] in <ae65a2b1eea242d2b68fe784749543bf>:0 at CoreText.CTFont.GetDefaultCascadeList (string[]) [0x00013] in /work/maccore/xcode9/xamarin-macios/src/CoreText/CTFont.cs:2185 at MonoTouchFixtures.CoreText.A_FontTest.GetCascadeList () [0x0001e] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/CoreText/FontTest.cs:78 at (wrapper runtime-invoke) object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) [0x0004f] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) System.Reflection.MonoMethod.InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&) [0x00016] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at System.Reflection.MonoMethod.Invoke (object,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo) [0x00032] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/corlib/System.Reflection/MonoMethod.cs:305 at System.Reflection.MethodBase.Invoke (object,object[]) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/referencesource/mscorlib/system/reflection/methodbase.cs:229 at NUnit.Framework.Internal.Reflect.InvokeMethod (System.Reflection.MethodInfo,object,object[]) [0x00009] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Reflect.cs:215 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunNonAsyncTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x00025] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:116 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x0001a] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:90 at NUnit.Framework.Internal.Commands.TestMethodCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:66 at NUnit.Framework.Internal.Commands.SetUpTearDownCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00007] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/SetUpTearDownCommand.cs:84 at NUnit.Framework.Internal.WorkItems.SimpleWorkItem.PerformWork () [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/SimpleWorkItem.cs:64 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at MonoTouch.NUnit.UI.BaseTouchRunner.Run (NUnit.Framework.Internal.Test) [0x0004d] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:442 at MonoTouch.NUnit.UI.BaseTouchRunner.Run () [0x00030] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:171 at MonoTouch.Dialog.StringElement.Selected (MonoTouch.Dialog.DialogViewController,UIKit.UITableView,Foundation.NSIndexPath) [0x00008] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/Elements.cs:765 at MonoTouch.Dialog.DialogViewController.Selected (Foundation.NSIndexPath) [0x00026] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:577 at MonoTouch.Dialog.DialogViewController/Source.RowSelected (UIKit.UITableView,Foundation.NSIndexPath) [0x00016] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:402 at (wrapper runtime-invoke) <Module>.runtime_invoke_void__this___object_object (object,intptr,intptr,intptr) [0x0005d] in <32f0c196c5bc4aa18daea2ee64a7814e>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) UIKit.UIApplication.UIApplicationMain (int,string[],intptr,intptr) [0x0005c] in <ae65a2b1eea242d2b68fe784749543bf>:0 at UIKit.UIApplication.Main (string[],intptr,intptr) [0x00005] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:79 at UIKit.UIApplication.Main (string[],string,string) [0x00038] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:63 at monotouchtest.Application.Main (string[]) [0x00011] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/Main.cs:27 at (wrapper runtime-invoke) <Module>.runtime_invoke_void_object (object,intptr,intptr,intptr) [0x00051] in <30a7f7e09de9467b8b454221034a0e38>:0 Native stacktrace: 0 monotouchtest 0x000000010fca03c4 mono_handle_native_crash + 244 1 monotouchtest 0x000000010fcadd30 mono_sigsegv_signal_handler + 288 2 libsystem_platform.dylib 0x000000011feb3b3a _sigtramp + 26 3 CoreFoundation 0x000000011de035a2 computeSanitizedString + 146 4 CoreText 0x00000001168df314 _ZN15TPurgeableCache19RetainedValueForKeyEPKv + 54 5 CoreText 0x00000001168def85 _ZNK17TDescriptorSource22CopyDescriptorUncachedEPK7__CFURLbPK10__CFString + 55 6 CoreText 0x00000001168df34f _ZNK17TDescriptorSource14CopyDescriptorEPK7__CFURLbPK10__CFString + 27 7 CoreText 0x00000001168e20ad _ZNK17TDescriptorSource35CopyFontDescriptorPerPostScriptNameEPK10__CFStringmm + 297 8 CoreText 0x00000001168dfd9e _ZNK17TDescriptorSource30CopySystemFontDescriptorByNameEPK10__CFString10UIFontFlag + 54 9 CoreText 0x00000001168e54c4 _ZNK14TFontFallbacks17CopyFontFallbacksEPK10__CFStringS2_PK9__CFArray + 652 10 CoreText 0x00000001168e4a00 _ZNK14TFontFallbacks29CopyFontFallbacksForLanguagesEPK10__CFStringPK9__CFArray + 122 11 CoreText 0x00000001168e4971 _ZN17TDescriptorSource39CopyDefaultSubstitutionListForLanguagesEPK10__CFStringPK9__CFArray + 61 12 CoreText 0x00000001169397a7 _ZNK9TBaseFont28CreateSystemDefaultFallbacksEPK10__CFStringPK9__CFArray + 51 13 CoreText 0x000000011693999c _ZNK9TBaseFont15CreateFallbacksE10UIFontFlagPPK16__CFCharacterSetPK9__CFArray + 346 14 CoreText 0x00000001168c1036 _ZNK5TFont24CreateDefaultCascadeListEPK9__CFArray + 242 15 CoreText 0x00000001168b8ff9 CTFontCopyDefaultCascadeListForLanguages + 97 16 ??? 0x0000000140eaefd3 0x0 + 5384105939 17 ??? 0x0000000140eae761 0x0 + 5384103777 18 ??? 0x000000013c9c8e74 0x0 + 5311860340 19 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 20 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 21 monotouchtest 0x000000010fd71bac mono_runtime_try_invoke_array + 1292 22 monotouchtest 0x000000010fd15587 ves_icall_InternalInvoke + 647 23 ??? 0x000000013e9fcd13 0x0 + 5345627411 24 ??? 0x000000013e9fc738 0x0 + 5345625912 25 ??? 0x000000013e9fded5 0x0 + 5345631957 26 ??? 0x000000013e9fbb76 0x0 + 5345622902 27 ??? 0x000000013e9e237e 0x0 + 5345518462 28 ??? 0x000000013e9e237e 0x0 + 5345518462 29 ??? 0x000000013e9e237e 0x0 + 5345518462 30 ??? 0x000000013e9e237e 0x0 + 5345518462 31 ??? 0x000000013e873006 0x0 + 5344014342 32 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 33 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 34 monotouchtest 0x000000010fd6e320 mono_runtime_invoke + 208 35 monotouchtest 0x000000010fe71af1 xamarin_invoke_trampoline + 5617 36 monotouchtest 0x000000010fe79ddd xamarin_arch_trampoline + 189 37 monotouchtest 0x000000010fe7b1a1 xamarin_x86_64_common_trampoline + 110 38 UIKit 0x0000000111b9876b -[UITableView _selectRowAtIndexPath:animated:scrollPosition:notifyDelegate:] + 1810 39 UIKit 0x0000000111b98986 -[UITableView _userSelectRowAtPendingSelectionIndexPath:] + 344 40 UIKit 0x0000000111a6b5c9 _runAfterCACommitDeferredBlocks + 318 41 UIKit 0x0000000111a59dad _cleanUpAfterCAFlushAndRunDeferredBlocks + 280 42 UIKit 0x0000000111a89f68 _afterCACommitHandler + 137 43 CoreFoundation 0x000000011de3ddb7 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23 44 CoreFoundation 0x000000011de3dd0e __CFRunLoopDoObservers + 430 45 CoreFoundation 0x000000011de22324 __CFRunLoopRun + 1572 46 CoreFoundation 0x000000011de21a89 CFRunLoopRunSpecific + 409 47 GraphicsServices 0x0000000121b7e9c6 GSEventRunModal + 62 48 UIKit 0x0000000111a5f7d0 UIApplicationMain + 159 49 ??? 0x000000013c9c4474 0x0 + 5311841396 50 ??? 0x000000013c9c40ad 0x0 + 5311840429 ================================================================= Got a SIGSEGV while executing native code. This usually indicates a fatal error in the mono runtime or one of the native libraries used by your application. ================================================================= * [monotouch-test] Don't subclass MKMapView. (#2556) MKMapView doesn't like being subclassed (Apple says "you should not subclass the MKMapView class itself"). Bad things like this starts happening: Thread 0 name: tid_303 Dispatch queue: com.apple.main-thread Thread 0 Crashed: 0 libsystem_kernel.dylib 0x0000000186b25348 __pthread_kill + 8 1 libsystem_pthread.dylib 0x0000000186c39354 pthread_kill$VARIANT$mp + 396 2 libsystem_c.dylib 0x0000000186a94fd8 abort + 140 3 monotouchtest 0x0000000101c02c14 mono_handle_native_crash + 22047764 (mini-exceptions.c:2548) 4 monotouchtest 0x0000000101c0d02c mono_sigsegv_signal_handler + 22089772 (mini-runtime.c:2886) 5 libsystem_platform.dylib 0x0000000186c33b60 _sigtramp + 52 6 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 7 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 8 CoreFoundation 0x0000000186eda51c -[__NSArrayM dealloc] + 68 9 CoreFoundation 0x000000018703f5c8 __CFBasicHashDrain + 312 10 CoreFoundation 0x0000000186fb5b44 _CFRelease + 224 11 CoreText 0x000000018a808404 TDescriptorSource::PurgeFontFallbacksCache+ 488452 () + 92 12 CoreText 0x000000018a808374 TDescriptorSource::PurgeFromCaches+ 488308 (__CFURL const*) const + 176 13 CoreText 0x000000018a7eec74 CTFontRemoveFromCaches + 168 14 VectorKit 0x0000000196a539b0 +[VKSharedResourcesManager removeResourceUser:] + 324 15 VectorKit 0x0000000196ca27a4 md::MapEngine::~MapEngine+ 2643876 () + 360 16 VectorKit 0x0000000196ca2634 md::MapEngine::~MapEngine+ 2643508 () + 12 17 libobjc.A.dylib 0x000000018651eef4 object_cxxDestructFromClass+ 28404 (objc_object*, objc_class*) + 148 18 libobjc.A.dylib 0x000000018652c638 objc_destructInstance + 88 19 libobjc.A.dylib 0x000000018652c690 object_dispose + 16 20 QuartzCore 0x000000018afca3ac -[CALayer dealloc] + 116 21 VectorKit 0x0000000196a43294 -[VKMapView dealloc] + 940 22 QuartzCore 0x000000018af6aafc CA::release_objects+ 744188 (X::List<void const*>*) + 32 23 QuartzCore 0x000000018afd97d8 CA::Layer::~Layer+ 1198040 () + 276 24 QuartzCore 0x000000018afca37c -[CALayer dealloc] + 68 25 QuartzCore 0x000000018af6b16c CA::Transaction::commit+ 745836 () + 1052 26 UIKit 0x0000000190393290 _afterCACommitHandler + 256 27 CoreFoundation 0x0000000186fb38b8 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 32 28 CoreFoundation 0x0000000186fb1270 __CFRunLoopDoObservers + 412 29 CoreFoundation 0x0000000186fb182c __CFRunLoopRun + 1292 30 CoreFoundation 0x0000000186ed22d8 CFRunLoopRunSpecific + 436 31 GraphicsServices 0x0000000188d58f84 GSEventRunModal + 100 32 UIKit 0x000000019040427c UIApplicationMain + 208 33 monotouchtest 0x000000010106eb90 wrapper_managed_to_native_UIKit_UIApplication_UIApplicationMain_int_string___intptr_intptr + 9907088 (/<unknown>:1) 34 monotouchtest 0x0000000100f0d6ac UIKit_UIApplication_Main_string___intptr_intptr + 8459948 (UIApplication.cs:79) 35 monotouchtest 0x0000000100f0d66c UIKit_UIApplication_Main_string___string_string + 8459884 (UIApplication.cs:63) 36 monotouchtest 0x0000000100b10450 monotouchtest_Application_Main_string__ + 4277328 (Main.cs:27) 37 monotouchtest 0x0000000100e0c244 wrapper_runtime_invoke_object_runtime_invoke_dynamic_intptr_intptr_intptr_intptr + 244 38 monotouchtest 0x0000000101c10048 mono_jit_runtime_invoke + 22102088 (mini-runtime.c:2526) 39 monotouchtest 0x0000000101c75eec do_runtime_invoke + 22519532 (object.c:2829) 40 monotouchtest 0x0000000101c78a3c do_exec_main_checked + 22530620 (object.c:4623) 41 monotouchtest 0x0000000101bf9a1c mono_jit_exec + 22010396 (driver.g.c:1040) 42 monotouchtest 0x0000000101d13d60 xamarin_main + 23166304 (monotouch-main.m:482) 43 monotouchtest 0x00000001007de710 main + 927504 (main.m:67) 44 libdyld.dylib 0x00000001869f656c start + 4 * [introspection] Let SkipDueToAttributeInProperty skip setters too (#2557) `SkipDueToAttributeInProperty` which is used to check the availability attribute of properties when the Availability info only exist on the property and not on the property Getter or Setter was wrong. This lead to `setSpringLoaded` (which was introduced in iOS 11) to not be ignored by the test (making it fail). - Fix bug #59085: [introspection-ios] selector not found for UIKit.UIBarButtonItem : setSpringLoaded: - Broken test (https://bugzilla.xamarin.com/show_bug.cgi?id=59085) * [corevideo][watchos] Enable CoreVideo on watchOS (#2553) * [storekit] Fix CampaignToken typo (#2559) (#2560) - Fixes bug #59078: StoreProductParameters and invalid property for CampaignToken (https://bugzilla.xamarin.com/show_bug.cgi?id=59078) * [coreml][watchos] Enable API using CoreVideo on watchOS. Fix #58097 (#2561) https://bugzilla.xamarin.com/show_bug.cgi?id=58097 * Add missing [MarshalDirective] attributes. (#2558) * [bindings-generator] Improve build & project file. * Add missing [MarshalDirective] attributes. Add missing [MarshalDirective] attributes, which also requires implementing support for out parameters in the binding generator, since one of the signatures missing the [MarshalDirective] contains such an out parameter. Also add tests for all the API I've added [MarshalDirective] to. * [bindings-generator] Remove redundant if check. * [monotouch-test] Rename file to end with 'Test.cs'. * [tests] Fix a few build errors for Xamarin.Mac. * [uikit] Fix UIColor and UIInputViewController tvOS availability (#2569) - Fixes introspection tests on tvOS 10. * [storekit] Fix SKCloudServiceSetupMessageIdentifier and SKProductStorePromotionController tvOS availability (#2568) - Fixes introspection tests on tvOS 10. * [mapkit] Fix MKMapItemTypeIdentifier tvOS availability (#2566) - Also remove double [Mac] availability attribute. - Fixes introspection tests on tvOS 10. * [ARKit] Fix marshalling for ARPointCloud.RawFeaturePoints. (#2565) ARPointCloud.RawFeaturePoints is an array of Vector3, but each vector is 16-byte aligned (as if it were an array of Vector4). This means we need to account for this when creating a managed array from pointer to the native C-style array. * [ModelIO] Fix MDLVoxelIndexExtent struct. (#2564) The MDLVoxelIndexExtent is a struct containing two 4-dimensional vectors of integers (not floats, as originally and incorrectly implemented). Fix this my creating a new MDLVoxelIndexExtent2 struct with the right fields, re-implement all the API that exposes this struct and obsolete the old API. Also add missing [MarshalDirective] attributes. And write a test to make sure it works fine now and forever. * [coredata] Enable new fields since rdar #33878590 is fixed w/beta 6 (#2570) reference: https://trello.com/c/dlSRYPFx * [xtro-sharpie] Add a Simd check class to verify signatures with Simd types. * [Simd] Add simd matrix types. The OpenTK matrices (Matrix2/3/4) has a different memory layout than Apple's matrix_float2x2/matrix_float3x3/matrix_float4x4 matrices: the OpenTK versions are row-major, while Apple's versions are column-major. This means that when blitting memory from one to the other, the matrix will appear to have been transposed. See bug #[58599][2] for an example. Unfortunately we've already bound several API with Apple's matrix_floatXxX matrices using OpenTK's matrices, and although they're bound wrong, and the matrices appear transposed on input/output, we can't change the behavior because we have to maintain compatibility. This means we have to introduce new API, and then also just define new matrix types with the right memory layout (column-major). Additionally, in the future we might be able to mark these matrices as Simd-matrixes, so that the JIT/AOT compiler can generate the correct alignment for them, avoiding having to define a native conversion method (using the [MarshalDirective] hack). The matrices have been designed to match API-wise the matrices in the System.Numerics.Vectors namespace [1], but for the moment with only a few basic operations implemented (Determinant/Transpose/Multiply) defined (we can always add more later if we want to). In addition explicit conversion operators to and from the corresponding OpenTK.MatrixX are implemented, which means any operation defined in the OpenTK matrices can be used by converting back and forth. [1]: https://msdn.microsoft.com/en-us/library/system.numerics.matrix4x4(v=vs.111).aspx [2]: https://bugzilla.xamarin.com/show_bug.cgi?id=58599 * [ARKit] Use the new Simd matrix types. * [Vision] Use the new Simd matrix types. * [ModelIO] Use the new Simd-compatible matrix types, and deprecate the old API. * [GameplayKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [SpriteKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [xtro] Don't report missing [MarshalDirective] for obsolete methods. * [xtro] Remove unnecessary ignores. The implementation changed, and these stayed accidentally. * [wkwebkit] Fix (native) protocol names (#2572) Also ignore xtro's WKSnapshotConfiguration since it's an Apple bug 34185961 reference (xtro) !missing-protocol! WKURLSchemeHandler not bound !missing-protocol! WKURLSchemeTask not bound !unknown-protocol! WKUrlSchemeHandler bound !unknown-protocol! WKUrlSchemeTask bound !unknown-type! WKSnapshotConfiguration bound * [uikit] Fix enums availability attributes (#2575) - Fixes bug #59132: [uikit] Extra types in watchOS (https://bugzilla.xamarin.com/show_bug.cgi?id=59132) * [watchkit] Add missing designated initializers (#2574) references (xtro) !missing-designated-initializer! WKInterfaceController::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! WKUserNotificationInterfaceController::init is missing an [DesignatedInitializer] attribute * [xtro] Reword some of the Simd diagnostic messages according to review. * [tests] Make sure test symbols don't clash between different test libraries. Fixes this build problem for framework-test: clang: error: linker command failed with exit code 1 (use -v to see invocation) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_get_rotation_matrix'. MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticObjectTest.framework/XStaticObjectTest (Location related to previous error) MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticArTest.framework/XStaticArTest(libtest-ar.x86_64.o) (Location related to previous error) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransformcomponent_get_local_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_create_global_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float4x4'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float3x3'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float2x2'. MTOUCH: error MT5209: Native linking error: 6 duplicate symbols for architecture x86_64 MTOUCH: error MT5202: Native linking failed. Please review the build log. * [tests] Since libtest.a need ModelIO now, the corresponding LinkWith attributes need to state that too. * [introspection] Don't check native signatures on obsolete members, and ignore the right simd matrix types. Fixes this introspection/Mac problem: ***** ApiSignatureTest.NativeSignatures Selector: uniformWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: uniformWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: uniformWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: setMatrixFloat2x2Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: setMatrixFloat3x3Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: setMatrixFloat4x4Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: initWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: initWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: initWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded * [monotouch-tests] Include more custom asserts for watchOS to make the build work. Fixes this: Simd/MatrixFloat4x4Test.cs(28,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(29,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(37,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(48,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' [...] * [monotouch-test] Exclude code that requires the binding project from xammac tests. Exclude code that requires the test binding project from xammac tests because there's currently no XM version of the test binding project. Fixes this: tests/monotouch-test/SpriteKit/UniformTest.cs(20,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLMaterialProperty.cs(37,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLTransform.cs(34,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) * Bump version for preview #8 (#2576) * [spritekit] Audit fixes (xtro) (#2577) 1. SKVideoNode is now, partially, available on watchOS and does not require the extra, manual code to swicth selectors depending on the OS version being run. !missing-type! SKVideoNode not bound !missing-selector! SKVideoNode::anchorPoint not bound !missing-selector! SKVideoNode::initWithCoder: not bound !missing-selector! SKVideoNode::initWithFileNamed: not bound !missing-selector! SKVideoNode::initWithURL: not bound !missing-selector! SKVideoNode::setAnchorPoint: not bound !missing-selector! SKVideoNode::setSize: not bound !missing-selector! SKVideoNode::size not bound !missing-selector! +SKVideoNode::videoNodeWithFileNamed: not bound !missing-selector! +SKVideoNode::videoNodeWithURL: not bound 2. SKNodeFocusBehavior is exposed needlessly on watchOS because SpriteKit/Enums.cs was not processed by the generator, so [NoWatch] did not matter. !unknown-native-enum! SKNodeFocusBehavior bound It's also visible on macOS but nothing uses it (so we do not expose it needlessly) !missing-enum! SKNodeFocusBehavior not bound 3. Add missing designated initializer on default `init` !missing-designated-initializer! SKAttributeValue::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! SKNode::init is missing an [DesignatedInitializer] attribute 4. Remove inconsistency for SKNode subclasses wrt XAMCORE_4_0 The trio attributeValues, setAttributeValues and setValue:forAttributeNamed: that was moved from SKNode (deprecated) into its subclasses. This was done using XAMCORE_4_0 but not on every subclasses. This adds them everywhere to be consistent (only SKNode versions are not defined in XAMCORE_4_0) !missing-selector! SKEffectNode::attributeValues not bound !missing-selector! SKEffectNode::setAttributeValues: not bound !missing-selector! SKEffectNode::setValue:forAttributeNamed: not bound !missing-selector! SKEffectNode::valueForAttributeNamed: not bound !missing-selector! SKEmitterNode::attributeValues not bound !missing-selector! SKEmitterNode::setAttributeValues: not bound !missing-selector! SKEmitterNode::setValue:forAttributeNamed: not bound !missing-selector! SKEmitterNode::valueForAttributeNamed: not bound !missing-selector! SKSpriteNode::attributeValues not bound !missing-selector! SKSpriteNode::setAttributeValues: not bound !missing-selector! SKSpriteNode::setValue:forAttributeNamed: not bound !missing-selector! SKSpriteNode::valueForAttributeNamed: not bound * [introspection] Make sure '[FAIL]' is printed before every failure. (#2578) This makes xharness able to list the failures in the inline summary. * [xtro] Reword some of the Simd diagnostic messages according to review. * [xharness] Add a missing IsServerMode check to generate correct html. (#2581) * [SpriteKit] SKTransformNode is new in Xcode 9 so no need to keep the broken (and obsolete) non-simd version of RotationMatrix. * [intents] Fix some (partial) xtro issues and #59156 (#2585) reference https://bugzilla.xamarin.com/show_bug.cgi?id=59156 Remaining issues are filled in https://bugzilla.xamarin.com/show_bug.cgi?id=59183 !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound * [Intents] Confirm* interface methods should be bound as Confirm, Fixes Bug 59164 (#2591) * [Intents] Confirm* interface methods should probably be bound as Confirm, Fixes Bug 59164 https://bugzilla.xamarin.com/show_bug.cgi?id=59164 All Confirm* methods from *IntentHandling interfaces should be named just `Confirm` to avoid confusion because most of them do not directly confirm as an acion, but instead they **ask** for confirmation also we would follow swift's naming by doing this. * [Intents] XAMCORE_4_0 all Confirm* methods from *IntentHandling Turns any Confirm* into just Confirm inside a XAMCORE_4_0 block, * [Intents] Fix breaking changes in Intents added in Xcode 9 Bindings (#2590) Apple added more protocol conformances to INRidesharingDomainHandling and INPaymentsDomainHandling protocols in Xcode 9, I introduced these breaking changes back when I did intents binding so fixing them :) * [Metal] New bindings from Xcode 9 betas (#2457) * [AVFoundation] Updated bindings for xcode9. (#2272) * [Xcode9] Add IOSurface bindings (#2363) * This framework was a private framework before iOS 11. This framework was a private framework before iOS 11, yet the headers claim many API were introduced in iOS 10. So take account of this difference by using the private framework location in iOS 10.3 or earlier. Testing these API from Xcode works fine when run on an iOS 10.3 device, and I've confirmed the IOSurface framework is loaded from the private frameworks path on older devices (and when built using Xcode 9 and linked with the public framework path). * Disable code to make IOSurface work on iOS 10. Disable the code to make IOSurface work on iOS 10, since it may be rejected by the App Store. This also means adjusting the availability attributes, so that the introspection tests pass (and to document that technically these API won't work when used with Xamarin.iOS in iOS 10). I've filed bug #[59201][1] to keep track of this, maybe we can re-enable this later. [1]: https://bugzilla.xamarin.com/show_bug.cgi?id=59201 * [CoreMedia] Fix leak in CMAttachmentBearer.GetAttachments. (#2593) The caller owns the return value from CMCopyDictionaryOfAttachments, so tell Runtime.GetNSObject that. * [Intents] Adds missing API found by xtro, fixes Bug 59183 (#2596) https://bugzilla.xamarin.com/show_bug.cgi?id=59183 Fixes !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !incorrect-protocol-member! INUIHostedViewControlling::configureWithInteraction:context:completion: is OPTIONAL and should NOT be abstract * [xtro] Fix StartWorkingDirectory to enable debugging (#2598) * [iosurface] Enable for tvOS and XM classic (to avoid multiple defines around consumer API) (#2597) * [xtro] Fix EnumCheck (#2600) * [ARKit] Rename a few method to make them nicer. (#2604) * DisplayTransform -> GetDisplayTransform since methods should have verbs. * SessionWasInterrupted -> WasInterrupted and SessionInterruptionEnded -> InterruptionEnded since these names match better with the other names (CameraDidChangeTrackingState / DidFail / DidOutputAudioSampleBuffer: none are prefixed with 'Session'). Additionally, the type is a Model (for the delegate pattern), which means all methods are more-or-less event-like, and the first argument is always the same (the protocol itself), which is another indicator the methods should be named similarly. * [Foundation] Remove 'Key' suffix from some fields. (#2606) Of the 168 fields in NSMetadataItem, only these 5 hadn't removed the 'Key' suffix. So make them all equivalent by removing the 'Key' suffix from these 5 fields. * [ImageIO] Fix API to not duplicate the instance in instance methods. (#2609) An instance method does not need to take the instance as a parameter, so remove the first (instance) parameter for CGImageDestination.AddAuxiliaryDataInfo and CGImageSource.CopyAuxiliaryDataInfo. An alternative solution would be to make the methods static, but I like the instance API better. * [UIKit] De-model UIDataSourceTranslating. (#2603) It's not clear from neither the documentation nor the headers how this protocol is supposed to be used, and since it doesn't correspond to the delegate pattern, remove the [Model] attribute for now. We can always add it back later. * [CoreML] Improve API. (#2592) * [CoreML] Improve API. * The indices, shape and stride properties for MLMultiArray and MLMultiArrayConstraint can logically only be arrays of integers, so type them as such. This means adding overloads for MLMultiArray's constructors, GetObject and SetObject methods, and the indexers that takes nint[] arrays instead of NSNumber[] arrays. * Change MLFeatureValue's static factory methods to be a method ('Create') instead of a preposition, and call all the different factory methods the same, since they can be overloaded nicely. * [tests][monotouch-test] Add version check to MLMultiArrayTest and make sure the arrays we create are big enough for the data we put in them. * [tests][monotouch-test] MLMultiArray's elements aren't zero-initialized, so don't assume that in the tests. * Support overloading Objective-C methods based on static/instance. (#2607) Two Objective-C methods can be named identically as long as one is static and the other instance. We must support this since Apple did just this (in the NSItemProviderReading / NSItemProviderWriting protocols). We solve it by prepending a '+' or '-' to the selector when hashing it (to determine selector uniqueness, and to look the method up again at runtime). * [uikit] Update for Xcode 9 - Part 6 (#2602) NSAttributedString.h NSFileProviderExtension.h NSLayoutAnchor.h UIAccessibility.h UIAccessibilityAdditions.h UIAccessibilityContainer.h UIAccessibilityContentSizeCategoryImageAdjusting.h UIAccessibilityCustomRotor.h UIAccessibilityLocationDescriptor.h UITabBar.h UINavigationBar.h UIScreen.h * Xcode9 scenekit (#2512) * [SceneKit] basic work * Added key * [xcode9] SCNCameraController * [xcode9] SCNCamera updates * [xcode9] SCNMaterial * [xcode9] SCNGeometryTessellator, SCNCameraControlConfiguration, SCNView, small bits * Add trailing commas to last enum value * Remove whitespace noise * [scenekit] Update deprecated attributes messages * Addresses some of Rolf's feedback * Drop the WeakDelegate in SCNCameraController * Rename method to Render, remove ctor from class that can not be constructed in Palygrounds, add typo exception * [AppKit] Rename NSBezierPath.AppendBezierPathWithCGGlyph to match its sibling methods. (#2605) NSBezierPath contains a lot of 'AppendPathWithXXX' methods, that all map to 'appendBezierPathXXX' selectors. So rename AppendBezierPathWithCGGlyph accordingly, to make it more similar to the other methods in the same type. * [uikit] Add all UISpringLoadedInteractionSupporting (#2616) Types do not conform to the protocol but protocol methods work on those types (see monotouch-test). Fixed introspection tests accordingly and tested the selectors in monotouch-test. * [Intents] Add convenience ctor overload and call correct base ctor in manual ctor. (#2613) Add a convenience constructor overload in INGetUserCurrentRestaurantReservationBookingsIntent that uses nint instead of NSNumber, since logically "number of results" will always be some sort of integer. Also call the correct base constructor in INSpeakableString's custom constructor (same as any other generated constructor). Otherwise we end up doing something like this: [[[INSpeakableString alloc] init] initWith ...], i.e. calling two different init methods. * [coreimage] Add new headers API up to beta 6 (#2601) Filters are not complete (ref: #57350) https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * Some new constants are not yet documented (type is known), so they are commented / ignored https://bugzilla.xamarin.com/show_bug.cgi?id=59296 * Filled bug for [Wrap] inside [Category] so strong dictionary helpers can be re-enabled later https://bugzilla.xamarin.com/show_bug.cgi?id=59294 * [foundation] xtro fixes for watchOS (#2586) !missing-enum! NSProcessInfoThermalState not bound !missing-field! NSProcessInfoThermalStateDidChangeNotification not bound !missing-selector! NSProcessInfo::thermalState not bound Headers are wrong and preferredPresentationStyle is not in tvOS and watchOS !missing-selector! NSItemProvider::preferredPresentationStyle not bound !missing-selector! NSItemProvider::setPreferredPresentationStyle: not bound * [uikit] Also remove UIPreferredPresentationStyle enum from platform where it's not used * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. (#2614) * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. * NSItemProviderWriting: * NSItemProviderReading: Implement correctly and completely by uncommenting commented out code. * NSMutableString: * NSAttributedString: remove inlined members, since these classes don't implement NSItemProviderReading / NSItemProviderWriting (according to the headers at least). * NSUrl: all platforms now seem to implement NSItemProviderReading / NSItemProviderWriting. * NSString: all platforms now seem to implement both NSItemProviderReading and NSItemProviderWriting * UIColor: * UIImage: Update inlined protocol members according to the latest beta. Additionally, due to the following conditions: * The protocols all have the correct members now. * In the API definition we tell the generator to inline members from a protocol by inheriting from the corresponding interface. * The generator doesn't inline static members from protocols. several 'new' keywords had to be added to silence a compiler warning that occurrs when we manually inline a static member, since the member would be included in the type both from the inherited interface and the manual implementation. * [Foundation] Comment out NSItemProviderWriting.GetItemProviderVisibility to avoid inlining/generating unusable methods. NSItemProviderWriting.GetItemProviderVisibility is an optional method, and none of the native classes that implements NSItemProviderWriting actually imlements the method. This means inlining the method in those classes ends up creating unusable API; so just comment out the method to avoid generating the unusable API. The introspection tests found this: [FAIL] Foundation.NSString : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Foundation.NSUrl : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Contacts.CNContact : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] MapKit.MKMapItem : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIColor : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIImage : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] iOSApiSelectorTest.ApiSelectorTest.StaticMethods : 6 errors found in 2348 static selector validated: See also https://bugzilla.xamarin.com/show_bug.cgi?id=59308 * [iosurface] Add missing [TV] attributes (#2619) * [opengles] Enable the new API using IOSurface (#2618) The symbol only exists inside device libraries, not on simulator, and the introspection tests were updated to ignore it. Part of https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [avfoundation][watchos] Enable AudioBufferList (fix #59145) + audit (xtro) (#2617) 1. AudioBufferList is part of CoreAudio (wrong namespace, which needs a few changes in the generator) and now available in watchOS 4 https://bugzilla.xamarin.com/show_bug.cgi?id=59145 2. Also fixes xtro found issues: !missing-type! AVAudioRecorder not bound !missing-selector! AVAudioRecorder::averagePowerForChannel: not bound !missing-selector! AVAudioRecorder::channelAssignments not bound !missing-selector! AVAudioRecorder::currentTime not bound !missing-selector! AVAudioRecorder::delegate not bound !missing-selector! AVAudioRecorder::deviceCurrentTime not bound !missing-selector! AVAudioRecorder::format not bound !missing-selector! AVAudioRecorder::initWithURL:format:error: not bound !missing-selector! AVAudioRecorder::initWithURL:settings:error: not bound !missing-selector! AVAudioRecorder::isMeteringEnabled not bound !missing-selector! AVAudioRecorder::isRecording not bound !missing-selector! AVAudioRecorder::peakPowerForChannel: not bound !missing-selector! AVAudioRecorder::recordAtTime: not bound !missing-selector! AVAudioRecorder::recordAtTime:forDuration: not bound !missing-selector! AVAudioRecorder::recordForDuration: not bound !missing-selector! AVAudioRecorder::setChannelAssignments: not bound !missing-selector! AVAudioRecorder::setDelegate: not bound !missing-selector! AVAudioRecorder::setMeteringEnabled: not bound !missing-selector! AVAudioRecorder::settings not bound !missing-selector! AVAudioRecorder::url not bound !missing-protocol! AVAudioRecorderDelegate not bound !missing-selector! AVAudioEngine::inputNode not bound !missing-selector! AVAudioEngine::manualRenderingBlock not bound !missing-selector! AVAudioInputNode::setManualRenderingInputPCMFormat:inputBlock: not bound !missing-selector! AVAudioPlayer::format not bound !missing-selector! AVAudioSession::requestRecordPermission: not bound !unknown-field! AVFileType3GPP bound !unknown-field! AVFileType3GPP2 bound !unknown-field! AVFileTypeAC3 bound !unknown-field! AVFileTypeAIFC bound !unknown-field! AVFileTypeAIFF bound !unknown-field! AVFileTypeAMR bound !unknown-field! AVFileTypeAVCI bound !unknown-field! AVFileTypeAppleM4A bound !unknown-field! AVFileTypeAppleM4V bound !unknown-field! AVFileTypeCoreAudioFormat bound !unknown-field! AVFileTypeDNG bound !unknown-field! AVFileTypeEnhancedAC3 bound !unknown-field! AVFileTypeHEIC bound !unknown-field! AVFileTypeHEIF bound !unknown-field! AVFileTypeJPEG bound !unknown-field! AVFileTypeMPEG4 bound !unknown-field! AVFileTypeMPEGLayer3 bound !unknown-field! AVFileTypeQuickTimeMovie bound !unknown-field! AVFileTypeSunAU bound !unknown-field! AVFileTypeTIFF bound !unknown-field! AVFileTypeWAVE bound * [Metal] Implement API using IOSurface now that IOSurface is implemented. Partially fixes #58054. (#2621) https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [PdfKit] Improve PdfAnnotation.QuadrilateralPoints binding by making it strongly typed. (#2620) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). (#2622) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). * [ARKit/Vision] Use the new simd vector types instead of the OpenTK versions. * [ModelIO] Use the new simd vectors in new API (MDLVoxelIndexExtent2). This way we won't have to create a MDLVoxelIndexExtent3 in the future. * [SpriteKit] Use the new simd vectors in new API. * [metal] Audit (xtro) based fixes (#2623) !extra-protocol-member! unexpected selector MTLArgumentEncoder::newArgumentEncoderForBufferAtIndex: found !extra-protocol-member! unexpected selector MTLComputeCommandEncoder::dispatchThreads:threadsPerThreadgroup: found macos-only !missing-field! MTLDeviceRemovalRequestedNotification not bound !missing-field! MTLDeviceWasAddedNotification not bound !missing-field! MTLDeviceWasRemovedNotification not bound !missing-pinvoke! MTLCopyAllDevices is not bound * [CloudKit] Update bindings to beta 6. (#2615) * [FileProvider] Turn NSFileProviderItemIdentifier enum into a static class, fixes bug 59329 (#2634) https://bugzilla.xamarin.com/show_bug.cgi?id=59329 At the time of binding NSFileProviderItemIdentifier it wasn't clear how it was supposed to be used, I mean apple provides two keys which I thought were the only possible values hence binding it as an smart enum. Unfortunately this wasn't the case and the user can use those two values provided from the SDK or their own NSString Identifier. Swift provides a wrapper unfortunately we can't do the same due to NSFileProviderItemIdentifier is used in the NSFileProviderItem protocol and we currently do not support changing signatures on them. * [mtouch] Teach mtouch about the 'IOSurface' framework for tvOS. Fixes #59333. (#2630) https://bugzilla.xamarin.com/show_bug.cgi?id=59333 * Bump Touch.Unit to get fix for API breakage. (#2631) spouliot/Touch.Unit@8f1e19d [NUnitOutputTextWriter] Reintroduce previous constructor to make sure we don't break binary ABI. spouliot/Touch.Unit@00b0c0b [NUnitOutputTextWriter] Don't write invalid xml comments. spouliot/Touch.Unit@de9fe20 [TouchRunner] Restore the original code path when not wrapping NUnit xml output. * [IOSurface] Add missing availability attributes for tvOS. (#2629) * Bump versions for preview 9 (#2624) * [AVFoundation] Add missing interface AVRouteDetector. (#2637) * [tests] Update xtro to reduce list sizes (#2636) * Skip OpenTK duplicate declaration (we can't change them); * Fix rule name change for ARKit / simd; * Add missing default initializer on `init` to pending actions; * Add note for AVPersistableContentKeyRequest changes wrt tvOS; * [ReplayKit] Make RPBroadcastActivityViewController.LoadBroadcastActivityViewController async-capable. (#2639) * [xcode9] More SceneKit bindings (#2633) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 (#2644) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 https://bugzilla.xamarin.com/show_bug.cgi?id=59380 vector_float3 is 16 bytes, which means the binding is incorrect, because Vector3 is 12 bytes, and our code does not that difference into account. * Add tests * [DeviceCheck] Disable default ctor for DCDevice. (#2642) It doesn't seem to be useful according to the documentation, since it appears that the only way to get an instance is to use the static CurrentDevice property. * [audiounit] Audit (xtro) fixes for tvOS (#2635) Availability attributes in non-generated files don't hide symbols/code. reference: !unknown-pinvoke! AudioUnitExtensionCopyComponentList bound !unknown-pinvoke! AudioUnitExtensionSetComponentList bound * [tests] Make sure tvOS tests don't use the (unexisting) API * [tests] Add all test project variations to tests-mac.sln (#2579) * [xharness] Make sure generated mac projects have different project guids. * [introspection] Change the project guid so that it doesn't match the dontlink-mac project guid. * [tests] Add all test project variations to tests-mac.sln. * [xharness] Fix else condition. * [FileProvider] Adds missing NSFileProviderPage constants, fixes bug 59297. (#2646) https://bugzilla.xamarin.com/show_bug.cgi?id=59297 Adds NSFileProviderInitialPageSortedByName and NSFileProviderInitialPageSortedByDate NSData constants * [Xcode9] Remove NSFileProviderMessage and NSFileProviderMessageInterface (#2647) APIs were removed in beta 2 * [Foundation/UIKit] Provide LoadObject[s] methods that return the expected type in the callback. Fixes #59049. (#2638) The callback for these LoadObject[s] methods take an INSItemProviderReading parameter. This tells our runtime that we must provide an instance of a managed object that implements this interface (but nothing else), so we create a `NSItemProviderReadingWrapper` instance, which complies with the API (since the wrapper type implements the corresponding interface). Unfortunately these methods are supposed to return an instance of the passed- in type, so in order to comply with this soft (documentation-only) requirement, provide a wrapper method that creates instances of the right types. https://bugzilla.xamarin.com/show_bug.cgi?id=59049 * [arkit] Ignore deprecated selectors (#2645) * [FileProvider] Adds missing protocol and keys from audit (#2652) ``` !missing-protocol! NSFileProviderServiceSource not bound !missing-field! NSFileProviderErrorCollidingItemKey not bound !missing-field! NSFileProviderErrorNonExistentItemIdentifierKey not bound !missing-field! NSFileProviderFavoriteRankUnranked not bound ``` Also adds `NSXpcListenerEndpoint` to foundation, needed by `NSFileProviderServiceSource` protocol. * [tests][xtro] Workaround xtro runner dupe entry exception and update data files (#2654) * [AVFoundation] Rename field to match others. (#2657) * [homekit] Audit (xtro) fixes (#2653) - HMCharacteristicEvent conforms to NSMutableCopying on iOS11 which makes it 64 bits only (so adjust intro tests) - Ignore extra setters on HMMutablePresenceEvent, rdar 33883958 !missing-selector! HMMutablePresenceEvent::setPresenceEventType: not bound !missing-selector! HMMutablePresenceEvent::setPresenceUserType: not bound * [xtro] Add missing pinvoke to pending (#2662) - Bug 59422: [uikit] Missing UIContentSizeCategoryCompareToCategory & UIContentSizeCategoryIsAccessibilityCategory (https://bugzilla.xamarin.com/show_bug.cgi?id=59422) * Merge latest d15-3 fixes into xcode9 (#2660) * [msbuild] Re-added wildcard (*) expandsion for application-identifier in Entitlements.plist (#2186) Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=57119 * Bump mono (#2213) * Framework tests were still binding non-linked Simple class which errors now (#2216) (#2218) - Improve Makefile to rebuild when projects build with errors * Bump mono to get cecil fix for bug #56808. (#2222) https://bugzilla.xamarin.com/show_bug.cgi?id=56808 * [msbuild] Use @(ReferencePath) instead of @(ResolvedFiles) (#2188) (#2214) This allows things to work on both xbuild and msbuild. In xbuild, both lists are exactly the same and on msbuild, only @(ReferencePath) exists. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=55147 * NSActivityOptions.IdleDisplaySleepDisabled had wrong value (#2232) (#2239) This was due to an integer overflow. The original value was based on Int32 1 << 40 == 256 The correct value should be based on a UInt64. 1UL << 40 == 1099511627776 * [tests] Fix bug 57699 - [iOS]InternalsTest failure (Linkall) tests on device (#2243) Strip native debugging symbols should not be checked for debug builds * Bump mono to get fix for bug #57780. https://bugzilla.xamarin.com/show_bug.cgi?id=57780 * Update .gitmodules Change branch to d15-3 branch of mono * Bump maccore to get fix for bug #55064. https://bugzilla.xamarin.com/show_bug.cgi?id=55064 * [mono] Bump mono to get the head of cecil/mono-2017-04 and fix IsComObject #57919 Also fix #58789 [1], the typo in tools/mtouch/Tuning.cs showing in MT0000 errors instead MT2102. That's already in master and d15-4 mono bump includes: [2] commit 2a6502cee0df9de5198eafe7c8b5f6ac25106f34 (HEAD -> d15-3, origin/d15-3) Merge: 02457c20fcf 5e05cafc6f1 Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 10:04:06 2017 -0400 Merge pull request #5401 from marek-safar/com [Marshal.IsComObject] Make this predicate return false instead of thr… [3] commit 02457c20fcf57c0610e844d638eb1da82b5d1eb0 Merge: da80840ea55 73fd9a1b82e Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 09:59:06 2017 -0400 Merge pull request #5400 from spouliot/bump-cecil-58834-d15-3 [cecil] Bump to the head of the mono-2017-04 branch and pick the fix for bug #58834 References [1] https://bugzilla.xamarin.com/show_bug.cgi?id=58789 [2] https://bugzilla.xamarin.com/show_bug.cgi?id=57919 [3] https://bugzilla.xamarin.com/show_bug.cgi?id=58834 * [mtouch] Put 'mono_profiler_startup_log' in the symbol list. Fixes #58778. (#2501) We need the 'mono_profiler_startup_log' symbol when profiling is enabled, so make sure to add the symbol to the correct list of symbols we need. Previously we were passing `-u _mono_profiler_startup_log` to clang directly, which is fine, but not complete, since it does not write the symbol to the symbollist file (--symbollist=file), which means it wouldn't be preserved when the MSBuild tasks strip the executable. https://bugzilla.xamarin.com/show_bug.cgi?id=58778 * Bump versions for SR3 https://trello.com/c/EVze08ei * Bump mono to include HttpClientHandler fix #44027 https://trello.com/c/jYFXadH8/8-systemnethttp-close-request-stream-when-httpclienthandler https://bugzilla.xamarin.com/show_bug.cgi?id=44027 * [FileProvider] Add missing API and turn NSString to string (#2663) Turned NSString to string in order to match exisiting API. * [uikit] Add UIPasteConfigurationSupporting and UITextPasteConfigurationSupporting (#2649) - Fixes bug #59363: Missing UIPasteConfigurationSupporting, UITextPasteConfigurationSupporting, UITextDraggable and UITextDroppable on a couple of types (https://bugzilla.xamarin.com/show_bug.cgi?id=59363) * [uikit] Remove 129 types in UIPasteConfigurationSupporting case * [scenekit] Audit (xtro) fixes (#2648) This looks like an Apple breaking change (since `SCNAnimation` is new) but we now have: > typedef void (^SCNAnimationEventBlock)(id<SCNAnimation> animation, id animatedObject, BOOL playingBackward); bound as > delegate void SCNAnimationEventHandler (CAAnimation animation, NSObject animatedObject, bool playingBackward); and `CAAnimation` conforms to `SCNAnimation` but *only* the later is available on watchOS. The delegate is only updated (since it's new) on our watchOS profile. xtro references: (watchos) !unknown-protocol! SCNCameraControlConfiguration bound (tvos/watchos) !missing-selector! SCNAnimation::animationEvents not bound !missing-selector! SCNAnimation::setAnimationEvents: not bound !missing-selector! SCNConstraint::isEnabled not bound !missing-selector! SCNConstraint::setEnabled: not bound !missing-field! SCNSceneSourceConvertToYUpKey not bound !missing-field! SCNSceneSourceConvertUnitsToMetersKey not bound (ios/tvos) !missing-protocol-conformance! SCNNode should conform to UIFocusItem * Bump maccore post 15.3 merge (#2665) * Bump Xcode 9 to GM (#2667) * Force build (on wrench) * [avfoundation] Fix breaking changes (apidiff) (#2664) * [TVServices] Update to Xcode 9 GM (#2675) * [GameController] Update to Xcode 9 GM (#2673) * [LocalAuthentication] Update to Xcode 9 GM (#2671) * [LocalAuthentication] Update to Xcode 9 GM * Remove availability from BiometryNotAvailable, BiometryNotEnrolled and BiometryLockout * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer (#2659) * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer Some of the new added types were already present BUT under a #if MONOMAC, they had to be moved. * [AVFoundation] Set the wrongly added API to be obsolete and ensure it returns logical values. (#2650) * [xtro] The right platform for macOS is 'macos', not 'osx'. (#2677) The platform name is used to filter availability attributes, and if we use the wrong platform, we'll incorrectly skip all availability attributes. The net result in unclassified entries: https://gist.github.com/rolfbjarne/a4474bc2a40c49a85cad495b51bb514f * Various Xcode 9 API improvements and also fixes bug 59433 (#2676) https://bugzilla.xamarin.com/show_bug.cgi?id=59433 While fixing bug 59433 I noticed some additional issues outlined below: AVDepthData: * Renamed **non** static `Create` methods because `Create` only makes sense with the **Static** method in this context. Also by renaming the methods we are now closer to the names that swift uses. * Kept descriptive method names in favor of self-documenting code. `Convert`, `Apply` and `Replace` do not fully give us the intent of the method. * Added a convenience `Create` static method that takes a `CGImageAuxiliaryDataInfo`. * AvailableDepthDataTypes is now an array of `CVPixelFormatType` instead of a `NSNumber` array (The aactual fix for bug 59433). ImageIO: * Refactored `CGImageAuxiliaryDataInfo` to be a `StrongDictionary` in order to avoid most of the manual code and also to avoid reimplementing the `ToDictionary` method (which contained a subtle bug). * Adjusted code to reflect the above change. * Added missing `.ctor (IntPtr, bool)` to `CGImageMetadata` so the class is able to be created by our `Runtime.Get*`. * Simplified `CopyAuxiliaryDataInfo` method by using `CGImageAuxiliaryDataInfo` as a `DictionaryContainer`. Tests: * Added `xamarinmonkey.heic` which is an image that contains depth data needed to test above changes. * Adds `AVDepthDataTests` that touches most of the changes listed here. * Tweak the Simd-compatible matrices and vectors (#2668) * Rename them to be OpenTK.NMatrix# (instead of Simd.MatrixFloat#x#). * Remove the Vector2 and Vector4 variants, we'll use the OpenTK types instead (but we'll keep the NVector3 variant, since it's not identical to the OpenTK version). * Update the API to match their OpenTK counterparts better: * NMatrix2 and NMatrix3 have a 0-based R#C# scheme for their fields. * NMatrix4 has a 1-based M## scheme for its fields (i.e. no change). * [AVFoundation] Use Simd-matrix for API that needs it. (#2679) This also requires implementing the corresponding matrix (NMatrix4x3). Fixes this xtro issue: > !unknown-simd-type-in-signature! OpenTK.Matrix3 AVFoundation.AVCameraCalibrationData::get_GetIntrinsicMatrix(): the native signature has a simd type (matrix_float3x3), while the corresponding managed method is using an incorrect (non-simd) type. * [xtro] Fix checking availability on categories. (#2682) When checking for category availability, check if both the current declaration is a category, and if the current's declaration container is a category. Otherwise this scenario fails: * Category method is available. * Category does not have availability attributes. * Main class is unavailable. with this typical code sequence: ```csharp // don't process methods (or types) that are unavailable for the current platform if (!decl.IsAvailable () || !(decl.DeclContext as Decl).IsAvailable ()) return; ``` In which case we'd: * First check the method (`decl`): * It's available, so no further checks is done on the method. * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container's container is a category (it isn't, it's the namespace). and as such determine that the method is available. With this change, the second step will become: * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container is a category (it is), and if its main class is available (it isn't). and as such determine that the method is unavailable. * Check for attributes on the method's container (no attributes, so we continue). * Check if the method's Unclassified diff: https://gist.github.com/rolfbjarne/8fa80962596978a426eadf9b7ba39dc1 * [uikit] Update for Xcode 9 GM (#2670) * [AVFoundation] Implement AVCapturePhoto. Partially fixes #59388. (#2678) Fixes: > common.unclassified:!missing-type! AVCapturePhoto not bound https://bugzilla.xamarin.com/show_bug.cgi?id=59388 * Use strong dictionaries for AVCapturePhoto.Metadata and AVCapturePhoto.EmbeddedThumbnailPhotoFormat. * [SIMD] Implement Simd double types (VectorDouble3/MatrixDouble4x4). (#2632) The following types will be used by ModelIO bindings * Fix delta to be double * Rename Simd-compatible matrices and vectors to match our final naming. This also means removing the new Vector2 and Vector4 variants (but not Vector3). * [avfoundation] Remove AVAssetDownloadDelegate.DidLoadTimeRange since it was removed in one of the betas (#2687) * [foundation] Move NSUrlSessionMultipathServiceType to a file processed by the generator (for the availability attributes) (#2688) * [arkit] Update for Xcode 9 GM (#2681) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes (#2690) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes Type Changed: Intents.INCarSeatResolutionResult Removed methods: public static INCarSeatResolutionResult GetConfirmationRequired (INCarSeat valueToConfirm); public static INCarSeatResolutionResult GetSuccess (INCarSeat resolvedValue); * [avfoundation] Add missing protocol members and deprecations (#2691) !missing-protocol-member! AVCapturePhotoCaptureDelegate::captureOutput:didFinishProcessingPhoto:error: not found and the selector removed from PR#2687 was actually replaced with this one !missing-protocol-member! AVAssetDownloadDelegate::URLSession:aggregateAssetDownloadTask:didLoadTimeRange:totalTimeRangesLoaded:timeRangeExpectedToLoad:forMediaSelection: not found * [tests][xtro] Map some enums, more fix with protocols and update entries (#2692) * [Tests] Reenable dns tests on the watch. (#2674) * [arkit] Add ARBlendShapeLocationOptions strong dictionary (#2696) * [coreimage] Skip not yet bound filters added in Xcode9 (#2698) Tracked in https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * [Metal] Renamed MTLArgumentDescriptor.ArgumentDescriptor to Create, fixes bug 59498 (#2702) https://bugzilla.xamarin.com/show_bug.cgi?id=59498 From [argumentDescriptor docs](https://developer.apple.com/documentation/metal/mtlargumentdescriptor/2915746-argumentdescriptor?language=objc) > Creates an empty argument descriptor. * [msbuild] Always codesign app bundles if the codesign key is non-null (#2697) ...even if it is a simulator build. Turns out that starting with Xcode9, sim builds need to be codesigned for App Groups entitlements to work properly. Interestingly, the DetectSigningIdentity logic had a comment about needing to codesign simulator builds for some entitlements to work already starting with Xcode 8 but apparently the iOS targets did not respect this. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=59379 * [Foundation] Add NSProxy stub in order to workaround bug 59247 (#2693) https://bugzilla.xamarin.com/show_bug.cgi?id=59247 We need to have a better solution that removes all what NSProxy does not responds to. Right now this works because NSObject implements NSObject protocol just like NSProxy, but NSProxy responds to far less selectors hence doing it internal so it is not a breaking change when we provide the correct fix. * Keep NSProxy around and avoid XML linker description We need to keep NSProxy (avoid linking it) if WKNavigationDelegate or IWKNavigationDelegate is used. We know WKWebView will be there and can hold a reference to it. * [Xcode 9] Update Metal for GM (#2689) * [iosurface] IOSurface is not usable before iOS/tvOS 11. Fixes #59201 (#2706) Apple rejects apps that links with the previously private IOSurface.framework. We were not sure about this [1] and had it disabled (this is removed). However another bug stopped our adjustment logic [2] from being executed. This is needed since `clang` picks up the private framework if it does not find the public one (even when asking for a weak framework), [1] https://bugzilla.xamarin.com/show_bug.cgi?id=59201 [2] Added a while ago for JavascriptCore * Bump maccore to point to commit with the docs fix. (#2703) * Bump XI to 11.0.x (and XM to 3.99.9.x) (#2684) * fix typo
2017-09-16 00:53:16 +03:00
[Watch (4,0), TV (11,0), Mac (10, 13, onlyOn64: true), iOS (11,0)]
Merge xcode9 into d15-4[-xi] (#2710) * [FileProvider] Add Xcode 9 Beta 1, 2 & 3 Bindings (#2279) * [FileProvider] Add Xcode 9 Beta 1 Bindings * Better naming * Feedback not related to BindAs * [FileProvider] Removes BindAs, add manual code for it and updated to Beta 3 * [FileProvider] Implement feedback * [CoreSpotlight] Updated spotlight bindings for xcode 9 beta 3. (#2193) Updated spotlight bindings for xcode 9 beta 3. * Fix warning caused by duplicate (#2354) * [FileProviderUI] Add Xcode 9 Beta 1 to 3 bindings (#2356) * Bump to Xcode 9 beta 4 * [arkit] ARLightEstimate does not conform to NSCopying anymore (fix unit test) * [uikit] NSFileProviderExtension.ReparentItem got a new parameter in beta4 (fix unit test) * [coreimage] CIImageAccumulator init returns nil in beta 4 There's no header change to mention `init` is not allowed but it's not clear how this default initializer could be used. Also make public some other API to construct this type (outside of XM). It's not clear why there were `internal` as they are (at least now) part of the header files. * [photos] Add helpers when PHLivePhotoEditingOption/NSDictionary is null (to avoid ambiguous API) (#2360) Adding a strongly typed `PHLivePhotoEditingOption` (a strongly typed version of an `NSDictionary`) can cause a `CS0121` (call is ambiguous) since using a `null` argument is common (only one option exist so far). This PR adds overloads that makes the code nicer in such case, e.g. before Xcode9: > // null is used when no options are given > _foo.SaveLivePhoto (output, null, completion); current (Xcode 9) > // casting required to remove ambiguity with PHLivePhotoEditingOption > _foo.SaveLivePhoto (output, (NSDictionary)null, completion); with this PR > // no option, no argument > _foo.SaveLivePhoto (output, completion); The same applies to `PrepareLivePhotoForPlayback`. * [tests] Disable/tweak two tests that breaks on (almost) all Xcode updates Those tests were not added to validate xOS so just keep the parts that helps us (without constantly checking back the new break flavor) * Disable watchOS to check if this hides others issues * [mapkit] Update for beta 4 * [coredata] Update for beta 4 * [wkwebkit] Update for beta 4 Note: WKWindowFeatures.h is not compiled (part of the framework umbrella) and the `@interface WKWindowFeatures (WKPrivate)` sounds like it should not have been exposed (it's all fields starting with `_`) * [corelocation] Update for beta 4 * Revert "Disable watchOS to check if this hides others issues" This reverts commit fed2249fa43290a1956ab2fe0d48f83ab6db9711. * [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]: https://github.com/xamarin/xamarin-macios/blob/f5956d6cc1eb5dfa7bab16628cf282d40237f64e/src/generator.cs#L5985 * [FinderSync] Update to beta 4 (#2377) * [ImageIO] Update to Xcode 9 (#2353) * [PhotosUI] Move macOS photosui bindings out of photos.cs into photosui.cs (#2358) * [quicklook] Update up to beta 4 (#2374) * [uikit] UIDragInteraction & UIDragInteractionDelegate (Xcode 9 b1,2,3) (#2357) * [safariservices] Update up to beta 4 (#2380) * [coreanimation] Update to beta 4 (#2382) Apple removed (mistake?) some API in beta 1. Filed as rdar 33590997 Internal tracking in https://trello.com/c/J8BDDUV9/86-33590997-coreanimation-quartzcore-api-removals * [storekit] Update up to beta 4 (#2379) * [CoreML] Update to Xcode 9 Beta 4 (#2387) * [uikit] UICollectionView/UITableView Drag & Drop (Xcode 9 b1,2,3 & 4) (#2355) * Update code after radar 32929318 and 32897776 are fixed in b4 (#2394) * [xcode9 CoreAudio] New definitions from Beta1 to Beta3 (#2359) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 (#2397) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 https://bugzilla.xamarin.com/show_bug.cgi?id=58512 Created strong API (VNBarcodeSymbology) on the following properties * VNDetectBarcodesRequest.SupportedSymbologies * VNDetectBarcodesRequest.Symbologies * VNBarcodeObservation.Symbology * Remove modern C# because classic can't do it 😡 * [mediaplayer] Update up to beta 4 (#2388) * [watchkit] Update to beta 4 (#2398) * Bump Visual Studio for Mac max version (#2408) * [coreimage] Add CIBarcodeDescriptor and enabled missing API for VNBarcodeObservation. Fix #58197 (#2411) https://bugzilla.xamarin.com/show_bug.cgi?id=58197 * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 (#2407) * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 * [uikit] Fixes based on comments * [coreimage] CIImageAccumulator API fixes. Fix #58349 (#2412) * Obsolete the default `init`; * XM exposed some older APIs using `int` instead of `CIFormat`. This is fixed and old APIs are obsoleted; * Both new & old APIs are now using `CIFormat` for both XI and XM. https://bugzilla.xamarin.com/show_bug.cgi?id=58349 * [uikit] UIText drag & drop - up to Xcode 9 beta 4 (#2410) * [uikit] UISplitView & UIStackView up to Xcode 9 beta 4 (#2425) * Bump XI/XM versions before preview 4 (#2422) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 (#2378) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 * [PDFKit] Implement feedback * [PDFKit] the forgotten enum * [PDFKit] More feedback * [PDFKit] Add Mac changes * Missing change * Fix test RectangleF VS CGRect * Pass -Wunguarded-availability-new to quiet a new clang warning (#2424) - https://bugzilla.xamarin.com/show_bug.cgi?id=58574 * [mtouch/mmp] Ignore warnings about unguarded code section with regards to availability. (#2441) * [monotouch-test] Remove workaround for fixed Apple bug. (#2445) * Bump to Xcode 9 beta 5. (#2447) * Bump to Xcode 9 beta 5. * [mmp] Disable the partial static registrar, because Apple's macOS SDK is broken. > In file included from Xamarin.Mac.registrar.mobile.i386.m:1: > In file included from ./Xamarin.Mac.registrar.mobile.i386.h:11: > /Applications/Xcode9-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVFoundation.h:88:9: fatal error: 'AVFoundation/AVRouteDetector.h' file not found https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [mmp] Fix partial static registrar removal. * [CallKit] Update to Xcode 9 beta 5. * [ARKit] ARPointCloud doesn't conform to NSCopying anymore in Xcode 9 beta 5. * [ARKit] Update to Xcode 9 beta 5 enough to make tests happy. * [CoreImage] Stub out new filters in Xcode 9 beta 5. * [tests][monotouch] Simplify some MDLMesh asserts since values change a lot between OS versions. * [mmp] Default to the dynamic registrar for release builds again, due to bug #58629. https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [tests][introspection] CXCall started implementing NSCopying without saying so in the headers. * Disable mmp static registrar tests due to 58629 for now * [quicklook] Update to beta 5 (#2450) * [photos] Update for beta 5 (#2452) Also update some existing enum members were added in beta 1 on macOS * [safariservices] Update for beta 5 (#2455) * [mediaplayer] Update to beta 5 (#2456) * [CoreLocation] Update Xcode 9 Beta 5 (#2453) * [CoreML] Update to Xcode 9 Beta 5 (#2454) * [Contacts] Update to Xcode 9 Beta 5 (#2451) * [Vision] Update to Xcode 9 Beta 5 (#2458) * [builds] Tell LLVM to stay away from newer macOS functions. (#2459) Fixes this build problem on Sierra: > ld: weak import of symbol '_futimens' not supported because of option: -no_weak_imports for architecture x86_64 This is a symbol that was (will be?) introduced in High Sierra. Interestingly this only occurs if the Xcode 8.X Command Line Tools haven't been manually installed. Because if the Xcode 8.X Command Line Tools are installed, this happens: 1. llvm's configure script detects that 'futimens' is not usable. 2. llvm's configure script detects that 'futimens' is not usable, because xcrun sets SDKROOT=/ when calling clang. a. When the SDKROOT variable is set, clang passes '-syslibroot /usr/lib' to ld. b. When ld gets '-syslibroot /usr/lib', ld looks in '/usr/lib' for a library that contains 'futimens' in the OS itself, and since we're on Sierra, that fails to link. c. So when llvm's configure script creates a test program that checks if 'futimens' is present, the program fails. This is correct, and makes llvm *not* use futimens. 3. xcrun sets SDKROOT=/ because /usr/share/current-os.sdk/Info.plist exists. If that file does not exist, then xcrun sets SDKROOT to Xcode9's macOS SDK (because that's what xcode-select reports). a. When SDKROOT is set to Xcode9's macOS SDK, the configure check for 'futimens' succeeds, because the macOS 10.13 SDK contains that function. b. llvm happily uses 'futimens', and then the final link fails because we're using a symbol not available on all target platforms. * [arkit] Update for Xcode 9 beta 5 - Part 1 (#2460) * [tests] The container app for watchOS tests should be 64-bit. (#2463) * [xharness] watchOS tests need to run in a clean environment. Works around #58348. (#2462) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [xharness] It watchOS tests don't need to be clean anymore. Fixes #58348. (#2473) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [uikit] UIView/UIScrollView/UIViewController up to Xcode 9 beta 5 (#2431) - Add NSDirectionalEdgeInsets type. - Includes DirectionalEdgeInsetsTest. * [AudioToolbox] Update bindings to Xcode 9 beta3 (not later changes). (#2294) * [xharness] Add a file existence check. (#2478) Fixes this exception: ``` Harness exception for 'introspection': System.IO.FileNotFoundException: Could not find file '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log'. File name: '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log' at System.IO.__Error.WinIOError (System.Int32 errorCode, System.String maybeFullPath) [0x00207] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/__error.cs:188 at System.IO.FileInfo.get_Length () [0x00038] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/fileinfo.cs:171 at xharness.CaptureLog.StopCapture () [0x00021] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Log.cs:252 at (wrapper remoting-invoke-with-check) xharness.CaptureLog:StopCapture () at xharness.AppRunner+<RunAsync>d__68.MoveNext () [0x0127f] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/AppRunner.cs:642 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter`1[TResult].GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:357 at xharness.RunSimulatorTask+<RunTestAsync>d__7.MoveNext () [0x0029d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2894 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.RunTestTask+<ExecuteAsync>d__8.MoveNext () [0x0010b] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2538 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.TestTask+<RunInternalAsync>d__87.MoveNext () [0x0010d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:1870 ``` I'm not sure how this can happen, but it has on the bots [1]. [1] https://jenkins.mono-project.com/job/xamarin-macios-pr-builder/4548/Test_Report/ * Bump versions for preview 5 (#2479) * [passkit] Update to beta 5 (#2481) * [tests] Remove workaround for radar #32688391. (#2486) * [replaykit] Update up to beta 5 (#2484) * Bump maccore to get fix for bug #55064. (#2487) * [apidiff] Update definition to new 10.12 (d15-3) stable release (#2490) * [SceneKit] basic work (#2483) * [coredata] Update to beta 5 (#2488) * [homekit] Update for Xcode 9 beta 5 (#2492) * [Foundation] Update for xcode9 (#2468) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 (#2493) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 * [Intents] Implement feedback * [Intents] Add a generic version for INInteraction.GetParameterValue * [Intents] Missing check * [Contacts] Add missing foundation NSItemProviderWriting protocol to CNContact (#2496) https://bugzilla.xamarin.com/show_bug.cgi?id=58203 This is available on all Contacts supported platforms ``` ./iPhoneOS.platform/Developer/SDKs/iPhoneOS11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchOS.platform/Developer/SDKs/WatchOS4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchSimulator.platform/Developer/SDKs/WatchSimulator4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ``` * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) (#2497) * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) * [IntentsUI] Better use a delegate instead so we have named params * Bump versions before 6th preview (#2514) * [arkit] Add missing MarshalDirective to ARPlaneAnchor (#2517) - Fixes bug #58648: ARPlaneAnchor.Extent property seems incorrect but changes to correct value after Debug access (https://bugzilla.xamarin.com/show_bug.cgi?id=58648) * [xtro-sharpie] Fix a compiler warning. (#2516) Fixes these warnings: Runner.cs(197,5): warning CS0642: Possible mistaken empty statement Runner.cs(199,5): warning CS0642: Possible mistaken empty statement Runner.cs(201,5): warning CS0642: Possible mistaken empty statement Runner.cs(203,5): warning CS0642: Possible mistaken empty statement Runner.cs(205,5): warning CS0642: Possible mistaken empty statement * [uikit] Update for Xcode 9 beta 5 - Part 3 (#2511) - UIKeyCommand - UINavigationBar - UINavigationItem - UIPasteboard - UITableViewHeaderFooterView * [xtro-sharpie] Remove xtro-plugin and misc other fixes. (#2522) * [xtro-sharpie] Build with msbuild and be as quiet as requested when building. * [xtro-sharpie] Must run as a 64-bit process, since the required native libraries are 64-bit. * [xtro-sharpie] Add run configurations to the project file to ease debugging in the IDE. * [xtro-sharpie] Remove xtro-plugin and the related commands. This was needed when there wasn't a 64-bit mono, in order to run xtro-sharpie in a 64-bit process. Now there is a 64-bit mono, so it's not needed anymore. Also improve makefile targets a bit, to auto-build stuff when needed, by setting the right dependencies. * Bump Xcode 9 to beta 6 (#2519) Disable watchOS tests again It seems like the Carousel crash from beta 4 is back to haunt us. This was working fine with beta 5. * Backport d15-3 SR2 fixes (#2515) * [coredata] Update to beta 6 (#2528) This seems to only revert some nullability changes from beta 5. * [coreml] Update to beta 6 (#2531) Fix our rdar 33643011 where additional setters were added in the headers but did not exists. * [videosubscriberaccount] Update to beta 6 (#2533) Only b1 and b2 introduced some additions/changes * [uikit] Update for Xcode 9 beta 6 - Part 4 (#2527) The following headers are now up to date: - UICollectionViewFlowLayout.h - UIDocumentPickerViewController.h - UIFontDescriptor.h - UIImage.h - UIImageView.h - UIImagePickerController.h * [xharness] Re-enable the watchOS tests. (#2534) It works fine for me locally, so let's see what Jenkins says. * [macos] Add new APIs in CoreWlan from Xcode9b3 (#2525) * Update AppKit bindings based on radar 33271241 results (#2518) * Update AppKit bindings based on radar 33271241 results - The header comment was updated to note it was NSSliderTouchBarItem view that has the protocol * Remove NSUserInterfaceCompression where not listed in header * [vision] Update to beta 6 (#2532) Removal of some deprecated (during beta) `init*` selectors. Also sync the versions that were inlined in subclasses - the old ones were not removed and the new ones were not added. * [xtro-sharpie] Many methods don't have selectors in Clang's API, so default to the name if no selector. (#2523) This makes a few more unclassified entries show up (mostly missing designated initializers): https://gist.github.com/rolfbjarne/07aa20f9b50b75bf3e69ac6a825e873a * [macos] Add ExternalAccessory APIs from xcode9 (#2526) * [58851] Disable NSMenuView in AllItemsWithNSMenuShouldAllowNull (#2504) * [arkit] Update for Xcode 9 beta 5 - Part 2 (#2505) - Add last missing selector. - Add tests for manual code. * [monotouch-test] Disable FontDescriptorTest.WithFeature (#2537) Disabled because it looks like the tvOS font we use: "Gujarati Sangam MN" does not have rare ligatures anymore (and the entire test is based on it). Before getting an actual fix for that, let's disable the test so it doesn't break all current builds. See: https://bugzilla.xamarin.com/show_bug.cgi?id=58929 * [xtro-sharpie] Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute. (#2524) Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute to calculate the native name for a TypeDefinition. Unclassified changes: https://gist.github.com/rolfbjarne/828f8ee41eebb0a3b60a38d71822fe59 * [foundation/uikit] Inline NSItemProvider_UIKitAdditions in NSItemProvider (#2538) As suggested here: https://github.com/xamarin/xamarin-macios/pull/2527#discussion_r134670981 * [intents] Fix breaking changes (api-diff) (#2543) Additions of @required members inside `INSpeakable` cannot be `[Abstract]` * [contacts] Fix breaking change (api-diff) (#2542) Type Changed: Contacts.CNPostalAddress Removed method: public static string LocalizeProperty (CNPostalAddressKeyOption option); * [macos] Reenable static registrar since Xcode9b6 un-broke SDK headers (#2544) - Fix a subtle spacing issues in PartialStaticLibrary property * [corebluetooth] Update up to beta 6 and enable it on watchOS (#2540) macOS 10.13 has finally catch up with iOS and this simplifies the bindings a bit. * [foundation] API fixes (apidiff) (#2545) 1. Let's not add new, already [Obsolete] API Type Changed: Foundation.NSDimension Added constructors: [Obsolete ("Not intended to be directly instantiated, this is an abstract class.")] public NSDimension (); 2. Fix inconsistently named API, e.g. Type Changed: Foundation.NSAttributedString Added properties: public static string[] ReadableTypeIdentifiersForItemProvider { get; } public static string[] WritableTypeIdentifiers { get; } * [pdfkit] Do not add already [Obsolete] API in new profiles (#2547) and ensure using the newer, correct API works cross-platforms iOS (before) [Obsolete ("Use 'Find (string, NSStringCompareOptions)' instead.")] public virtual PdfSelection[] Find (string text, nint options); public PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'Find (string, PdfSelection, NSStringCompareOptions)' instead.")] public virtual PdfSelection Find (string text, PdfSelection selection, nint options); public void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string, NSStringCompareOptions)' instead.")] public virtual void FindAsync (string text, nint options); public void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string [], NSStringCompareOptions)' instead.")] public virtual void FindAsync (string[] text, nint options); iOS (after) public virtual PdfSelection[] Find (string text, Foundation.NSStringCompareOptions compareOptions); public virtual PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); * Bump versions for the 7th preview (#2541) * Remove additions of AVKit removed in beta5 (#2536) * NSUrlSessionTask should implement NSProgressReporting for iOS (#2548) NSUrlSessionTask implements NSProgressReporting on iOS as well as Mac, so the #if MONOMAC isn't needed. * Add missing availability attributes causing failures on older iOS versions (#2550) * [vision] Minor fix wrt xtro (#2551) including some things we need to ignore manually !missing-field! VNVisionVersionNumber not bound !missing-pinvoke! VNImagePointForFaceLandmarkPoint is not bound !missing-pinvoke! VNNormalizedFaceBoundingBoxPointForLandmarkPoint is not bound * [uikit] NSFileProviderMessaging was removed in beta 2. Fixes #58222 (#2552) reference: https://bugzilla.xamarin.com/show_bug.cgi?id=58222 * [uikit] Update for Xcode 9 - Part 5 (#2546) Bindings for the following headers: - UIActivity.h - UIActivityItemProvider.h - UIAlertController.h - UIApplication.h - UIBarButtonItem.h - UIButton.h - UICollectionViewLayout.h - UIColor.h - UIControl.h - UIDocumentMenuViewController.h - UIFontMetrics.h - UIGestureRecognizer.h - UIGraphicsImageRenderer.h - UIInputViewController.h * [CoreText] Fix an extraneous free in CTFont.GetDefaultCascadeList. (#2555) We do not own the return value from CFArrayGetValueAtIndex, so don't say we do when creating CTFontDescriptor instances, since that leads to angry dragons: 2017-08-28 20:15:20.293 monotouchtest[33186:2311738] A_FontTest 2017-08-28 20:15:20.294 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithFontDescriptorAndOptions 2017-08-28 20:15:20.295 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithNameAndOptions 2017-08-28 20:15:20.296 monotouchtest[33186:2311738] critical: Stacktrace: at <unknown> <0xffffffff> at (wrapper managed-to-native) CoreText.CTFont.CTFontCopyDefaultCascadeListForLanguages (intptr,intptr) [0x0000a] in <ae65a2b1eea242d2b68fe784749543bf>:0 at CoreText.CTFont.GetDefaultCascadeList (string[]) [0x00013] in /work/maccore/xcode9/xamarin-macios/src/CoreText/CTFont.cs:2185 at MonoTouchFixtures.CoreText.A_FontTest.GetCascadeList () [0x0001e] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/CoreText/FontTest.cs:78 at (wrapper runtime-invoke) object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) [0x0004f] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) System.Reflection.MonoMethod.InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&) [0x00016] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at System.Reflection.MonoMethod.Invoke (object,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo) [0x00032] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/corlib/System.Reflection/MonoMethod.cs:305 at System.Reflection.MethodBase.Invoke (object,object[]) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/referencesource/mscorlib/system/reflection/methodbase.cs:229 at NUnit.Framework.Internal.Reflect.InvokeMethod (System.Reflection.MethodInfo,object,object[]) [0x00009] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Reflect.cs:215 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunNonAsyncTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x00025] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:116 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x0001a] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:90 at NUnit.Framework.Internal.Commands.TestMethodCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:66 at NUnit.Framework.Internal.Commands.SetUpTearDownCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00007] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/SetUpTearDownCommand.cs:84 at NUnit.Framework.Internal.WorkItems.SimpleWorkItem.PerformWork () [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/SimpleWorkItem.cs:64 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at MonoTouch.NUnit.UI.BaseTouchRunner.Run (NUnit.Framework.Internal.Test) [0x0004d] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:442 at MonoTouch.NUnit.UI.BaseTouchRunner.Run () [0x00030] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:171 at MonoTouch.Dialog.StringElement.Selected (MonoTouch.Dialog.DialogViewController,UIKit.UITableView,Foundation.NSIndexPath) [0x00008] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/Elements.cs:765 at MonoTouch.Dialog.DialogViewController.Selected (Foundation.NSIndexPath) [0x00026] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:577 at MonoTouch.Dialog.DialogViewController/Source.RowSelected (UIKit.UITableView,Foundation.NSIndexPath) [0x00016] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:402 at (wrapper runtime-invoke) <Module>.runtime_invoke_void__this___object_object (object,intptr,intptr,intptr) [0x0005d] in <32f0c196c5bc4aa18daea2ee64a7814e>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) UIKit.UIApplication.UIApplicationMain (int,string[],intptr,intptr) [0x0005c] in <ae65a2b1eea242d2b68fe784749543bf>:0 at UIKit.UIApplication.Main (string[],intptr,intptr) [0x00005] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:79 at UIKit.UIApplication.Main (string[],string,string) [0x00038] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:63 at monotouchtest.Application.Main (string[]) [0x00011] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/Main.cs:27 at (wrapper runtime-invoke) <Module>.runtime_invoke_void_object (object,intptr,intptr,intptr) [0x00051] in <30a7f7e09de9467b8b454221034a0e38>:0 Native stacktrace: 0 monotouchtest 0x000000010fca03c4 mono_handle_native_crash + 244 1 monotouchtest 0x000000010fcadd30 mono_sigsegv_signal_handler + 288 2 libsystem_platform.dylib 0x000000011feb3b3a _sigtramp + 26 3 CoreFoundation 0x000000011de035a2 computeSanitizedString + 146 4 CoreText 0x00000001168df314 _ZN15TPurgeableCache19RetainedValueForKeyEPKv + 54 5 CoreText 0x00000001168def85 _ZNK17TDescriptorSource22CopyDescriptorUncachedEPK7__CFURLbPK10__CFString + 55 6 CoreText 0x00000001168df34f _ZNK17TDescriptorSource14CopyDescriptorEPK7__CFURLbPK10__CFString + 27 7 CoreText 0x00000001168e20ad _ZNK17TDescriptorSource35CopyFontDescriptorPerPostScriptNameEPK10__CFStringmm + 297 8 CoreText 0x00000001168dfd9e _ZNK17TDescriptorSource30CopySystemFontDescriptorByNameEPK10__CFString10UIFontFlag + 54 9 CoreText 0x00000001168e54c4 _ZNK14TFontFallbacks17CopyFontFallbacksEPK10__CFStringS2_PK9__CFArray + 652 10 CoreText 0x00000001168e4a00 _ZNK14TFontFallbacks29CopyFontFallbacksForLanguagesEPK10__CFStringPK9__CFArray + 122 11 CoreText 0x00000001168e4971 _ZN17TDescriptorSource39CopyDefaultSubstitutionListForLanguagesEPK10__CFStringPK9__CFArray + 61 12 CoreText 0x00000001169397a7 _ZNK9TBaseFont28CreateSystemDefaultFallbacksEPK10__CFStringPK9__CFArray + 51 13 CoreText 0x000000011693999c _ZNK9TBaseFont15CreateFallbacksE10UIFontFlagPPK16__CFCharacterSetPK9__CFArray + 346 14 CoreText 0x00000001168c1036 _ZNK5TFont24CreateDefaultCascadeListEPK9__CFArray + 242 15 CoreText 0x00000001168b8ff9 CTFontCopyDefaultCascadeListForLanguages + 97 16 ??? 0x0000000140eaefd3 0x0 + 5384105939 17 ??? 0x0000000140eae761 0x0 + 5384103777 18 ??? 0x000000013c9c8e74 0x0 + 5311860340 19 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 20 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 21 monotouchtest 0x000000010fd71bac mono_runtime_try_invoke_array + 1292 22 monotouchtest 0x000000010fd15587 ves_icall_InternalInvoke + 647 23 ??? 0x000000013e9fcd13 0x0 + 5345627411 24 ??? 0x000000013e9fc738 0x0 + 5345625912 25 ??? 0x000000013e9fded5 0x0 + 5345631957 26 ??? 0x000000013e9fbb76 0x0 + 5345622902 27 ??? 0x000000013e9e237e 0x0 + 5345518462 28 ??? 0x000000013e9e237e 0x0 + 5345518462 29 ??? 0x000000013e9e237e 0x0 + 5345518462 30 ??? 0x000000013e9e237e 0x0 + 5345518462 31 ??? 0x000000013e873006 0x0 + 5344014342 32 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 33 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 34 monotouchtest 0x000000010fd6e320 mono_runtime_invoke + 208 35 monotouchtest 0x000000010fe71af1 xamarin_invoke_trampoline + 5617 36 monotouchtest 0x000000010fe79ddd xamarin_arch_trampoline + 189 37 monotouchtest 0x000000010fe7b1a1 xamarin_x86_64_common_trampoline + 110 38 UIKit 0x0000000111b9876b -[UITableView _selectRowAtIndexPath:animated:scrollPosition:notifyDelegate:] + 1810 39 UIKit 0x0000000111b98986 -[UITableView _userSelectRowAtPendingSelectionIndexPath:] + 344 40 UIKit 0x0000000111a6b5c9 _runAfterCACommitDeferredBlocks + 318 41 UIKit 0x0000000111a59dad _cleanUpAfterCAFlushAndRunDeferredBlocks + 280 42 UIKit 0x0000000111a89f68 _afterCACommitHandler + 137 43 CoreFoundation 0x000000011de3ddb7 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23 44 CoreFoundation 0x000000011de3dd0e __CFRunLoopDoObservers + 430 45 CoreFoundation 0x000000011de22324 __CFRunLoopRun + 1572 46 CoreFoundation 0x000000011de21a89 CFRunLoopRunSpecific + 409 47 GraphicsServices 0x0000000121b7e9c6 GSEventRunModal + 62 48 UIKit 0x0000000111a5f7d0 UIApplicationMain + 159 49 ??? 0x000000013c9c4474 0x0 + 5311841396 50 ??? 0x000000013c9c40ad 0x0 + 5311840429 ================================================================= Got a SIGSEGV while executing native code. This usually indicates a fatal error in the mono runtime or one of the native libraries used by your application. ================================================================= * [monotouch-test] Don't subclass MKMapView. (#2556) MKMapView doesn't like being subclassed (Apple says "you should not subclass the MKMapView class itself"). Bad things like this starts happening: Thread 0 name: tid_303 Dispatch queue: com.apple.main-thread Thread 0 Crashed: 0 libsystem_kernel.dylib 0x0000000186b25348 __pthread_kill + 8 1 libsystem_pthread.dylib 0x0000000186c39354 pthread_kill$VARIANT$mp + 396 2 libsystem_c.dylib 0x0000000186a94fd8 abort + 140 3 monotouchtest 0x0000000101c02c14 mono_handle_native_crash + 22047764 (mini-exceptions.c:2548) 4 monotouchtest 0x0000000101c0d02c mono_sigsegv_signal_handler + 22089772 (mini-runtime.c:2886) 5 libsystem_platform.dylib 0x0000000186c33b60 _sigtramp + 52 6 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 7 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 8 CoreFoundation 0x0000000186eda51c -[__NSArrayM dealloc] + 68 9 CoreFoundation 0x000000018703f5c8 __CFBasicHashDrain + 312 10 CoreFoundation 0x0000000186fb5b44 _CFRelease + 224 11 CoreText 0x000000018a808404 TDescriptorSource::PurgeFontFallbacksCache+ 488452 () + 92 12 CoreText 0x000000018a808374 TDescriptorSource::PurgeFromCaches+ 488308 (__CFURL const*) const + 176 13 CoreText 0x000000018a7eec74 CTFontRemoveFromCaches + 168 14 VectorKit 0x0000000196a539b0 +[VKSharedResourcesManager removeResourceUser:] + 324 15 VectorKit 0x0000000196ca27a4 md::MapEngine::~MapEngine+ 2643876 () + 360 16 VectorKit 0x0000000196ca2634 md::MapEngine::~MapEngine+ 2643508 () + 12 17 libobjc.A.dylib 0x000000018651eef4 object_cxxDestructFromClass+ 28404 (objc_object*, objc_class*) + 148 18 libobjc.A.dylib 0x000000018652c638 objc_destructInstance + 88 19 libobjc.A.dylib 0x000000018652c690 object_dispose + 16 20 QuartzCore 0x000000018afca3ac -[CALayer dealloc] + 116 21 VectorKit 0x0000000196a43294 -[VKMapView dealloc] + 940 22 QuartzCore 0x000000018af6aafc CA::release_objects+ 744188 (X::List<void const*>*) + 32 23 QuartzCore 0x000000018afd97d8 CA::Layer::~Layer+ 1198040 () + 276 24 QuartzCore 0x000000018afca37c -[CALayer dealloc] + 68 25 QuartzCore 0x000000018af6b16c CA::Transaction::commit+ 745836 () + 1052 26 UIKit 0x0000000190393290 _afterCACommitHandler + 256 27 CoreFoundation 0x0000000186fb38b8 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 32 28 CoreFoundation 0x0000000186fb1270 __CFRunLoopDoObservers + 412 29 CoreFoundation 0x0000000186fb182c __CFRunLoopRun + 1292 30 CoreFoundation 0x0000000186ed22d8 CFRunLoopRunSpecific + 436 31 GraphicsServices 0x0000000188d58f84 GSEventRunModal + 100 32 UIKit 0x000000019040427c UIApplicationMain + 208 33 monotouchtest 0x000000010106eb90 wrapper_managed_to_native_UIKit_UIApplication_UIApplicationMain_int_string___intptr_intptr + 9907088 (/<unknown>:1) 34 monotouchtest 0x0000000100f0d6ac UIKit_UIApplication_Main_string___intptr_intptr + 8459948 (UIApplication.cs:79) 35 monotouchtest 0x0000000100f0d66c UIKit_UIApplication_Main_string___string_string + 8459884 (UIApplication.cs:63) 36 monotouchtest 0x0000000100b10450 monotouchtest_Application_Main_string__ + 4277328 (Main.cs:27) 37 monotouchtest 0x0000000100e0c244 wrapper_runtime_invoke_object_runtime_invoke_dynamic_intptr_intptr_intptr_intptr + 244 38 monotouchtest 0x0000000101c10048 mono_jit_runtime_invoke + 22102088 (mini-runtime.c:2526) 39 monotouchtest 0x0000000101c75eec do_runtime_invoke + 22519532 (object.c:2829) 40 monotouchtest 0x0000000101c78a3c do_exec_main_checked + 22530620 (object.c:4623) 41 monotouchtest 0x0000000101bf9a1c mono_jit_exec + 22010396 (driver.g.c:1040) 42 monotouchtest 0x0000000101d13d60 xamarin_main + 23166304 (monotouch-main.m:482) 43 monotouchtest 0x00000001007de710 main + 927504 (main.m:67) 44 libdyld.dylib 0x00000001869f656c start + 4 * [introspection] Let SkipDueToAttributeInProperty skip setters too (#2557) `SkipDueToAttributeInProperty` which is used to check the availability attribute of properties when the Availability info only exist on the property and not on the property Getter or Setter was wrong. This lead to `setSpringLoaded` (which was introduced in iOS 11) to not be ignored by the test (making it fail). - Fix bug #59085: [introspection-ios] selector not found for UIKit.UIBarButtonItem : setSpringLoaded: - Broken test (https://bugzilla.xamarin.com/show_bug.cgi?id=59085) * [corevideo][watchos] Enable CoreVideo on watchOS (#2553) * [storekit] Fix CampaignToken typo (#2559) (#2560) - Fixes bug #59078: StoreProductParameters and invalid property for CampaignToken (https://bugzilla.xamarin.com/show_bug.cgi?id=59078) * [coreml][watchos] Enable API using CoreVideo on watchOS. Fix #58097 (#2561) https://bugzilla.xamarin.com/show_bug.cgi?id=58097 * Add missing [MarshalDirective] attributes. (#2558) * [bindings-generator] Improve build & project file. * Add missing [MarshalDirective] attributes. Add missing [MarshalDirective] attributes, which also requires implementing support for out parameters in the binding generator, since one of the signatures missing the [MarshalDirective] contains such an out parameter. Also add tests for all the API I've added [MarshalDirective] to. * [bindings-generator] Remove redundant if check. * [monotouch-test] Rename file to end with 'Test.cs'. * [tests] Fix a few build errors for Xamarin.Mac. * [uikit] Fix UIColor and UIInputViewController tvOS availability (#2569) - Fixes introspection tests on tvOS 10. * [storekit] Fix SKCloudServiceSetupMessageIdentifier and SKProductStorePromotionController tvOS availability (#2568) - Fixes introspection tests on tvOS 10. * [mapkit] Fix MKMapItemTypeIdentifier tvOS availability (#2566) - Also remove double [Mac] availability attribute. - Fixes introspection tests on tvOS 10. * [ARKit] Fix marshalling for ARPointCloud.RawFeaturePoints. (#2565) ARPointCloud.RawFeaturePoints is an array of Vector3, but each vector is 16-byte aligned (as if it were an array of Vector4). This means we need to account for this when creating a managed array from pointer to the native C-style array. * [ModelIO] Fix MDLVoxelIndexExtent struct. (#2564) The MDLVoxelIndexExtent is a struct containing two 4-dimensional vectors of integers (not floats, as originally and incorrectly implemented). Fix this my creating a new MDLVoxelIndexExtent2 struct with the right fields, re-implement all the API that exposes this struct and obsolete the old API. Also add missing [MarshalDirective] attributes. And write a test to make sure it works fine now and forever. * [coredata] Enable new fields since rdar #33878590 is fixed w/beta 6 (#2570) reference: https://trello.com/c/dlSRYPFx * [xtro-sharpie] Add a Simd check class to verify signatures with Simd types. * [Simd] Add simd matrix types. The OpenTK matrices (Matrix2/3/4) has a different memory layout than Apple's matrix_float2x2/matrix_float3x3/matrix_float4x4 matrices: the OpenTK versions are row-major, while Apple's versions are column-major. This means that when blitting memory from one to the other, the matrix will appear to have been transposed. See bug #[58599][2] for an example. Unfortunately we've already bound several API with Apple's matrix_floatXxX matrices using OpenTK's matrices, and although they're bound wrong, and the matrices appear transposed on input/output, we can't change the behavior because we have to maintain compatibility. This means we have to introduce new API, and then also just define new matrix types with the right memory layout (column-major). Additionally, in the future we might be able to mark these matrices as Simd-matrixes, so that the JIT/AOT compiler can generate the correct alignment for them, avoiding having to define a native conversion method (using the [MarshalDirective] hack). The matrices have been designed to match API-wise the matrices in the System.Numerics.Vectors namespace [1], but for the moment with only a few basic operations implemented (Determinant/Transpose/Multiply) defined (we can always add more later if we want to). In addition explicit conversion operators to and from the corresponding OpenTK.MatrixX are implemented, which means any operation defined in the OpenTK matrices can be used by converting back and forth. [1]: https://msdn.microsoft.com/en-us/library/system.numerics.matrix4x4(v=vs.111).aspx [2]: https://bugzilla.xamarin.com/show_bug.cgi?id=58599 * [ARKit] Use the new Simd matrix types. * [Vision] Use the new Simd matrix types. * [ModelIO] Use the new Simd-compatible matrix types, and deprecate the old API. * [GameplayKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [SpriteKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [xtro] Don't report missing [MarshalDirective] for obsolete methods. * [xtro] Remove unnecessary ignores. The implementation changed, and these stayed accidentally. * [wkwebkit] Fix (native) protocol names (#2572) Also ignore xtro's WKSnapshotConfiguration since it's an Apple bug 34185961 reference (xtro) !missing-protocol! WKURLSchemeHandler not bound !missing-protocol! WKURLSchemeTask not bound !unknown-protocol! WKUrlSchemeHandler bound !unknown-protocol! WKUrlSchemeTask bound !unknown-type! WKSnapshotConfiguration bound * [uikit] Fix enums availability attributes (#2575) - Fixes bug #59132: [uikit] Extra types in watchOS (https://bugzilla.xamarin.com/show_bug.cgi?id=59132) * [watchkit] Add missing designated initializers (#2574) references (xtro) !missing-designated-initializer! WKInterfaceController::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! WKUserNotificationInterfaceController::init is missing an [DesignatedInitializer] attribute * [xtro] Reword some of the Simd diagnostic messages according to review. * [tests] Make sure test symbols don't clash between different test libraries. Fixes this build problem for framework-test: clang: error: linker command failed with exit code 1 (use -v to see invocation) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_get_rotation_matrix'. MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticObjectTest.framework/XStaticObjectTest (Location related to previous error) MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticArTest.framework/XStaticArTest(libtest-ar.x86_64.o) (Location related to previous error) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransformcomponent_get_local_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_create_global_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float4x4'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float3x3'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float2x2'. MTOUCH: error MT5209: Native linking error: 6 duplicate symbols for architecture x86_64 MTOUCH: error MT5202: Native linking failed. Please review the build log. * [tests] Since libtest.a need ModelIO now, the corresponding LinkWith attributes need to state that too. * [introspection] Don't check native signatures on obsolete members, and ignore the right simd matrix types. Fixes this introspection/Mac problem: ***** ApiSignatureTest.NativeSignatures Selector: uniformWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: uniformWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: uniformWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: setMatrixFloat2x2Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: setMatrixFloat3x3Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: setMatrixFloat4x4Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: initWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: initWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: initWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded * [monotouch-tests] Include more custom asserts for watchOS to make the build work. Fixes this: Simd/MatrixFloat4x4Test.cs(28,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(29,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(37,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(48,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' [...] * [monotouch-test] Exclude code that requires the binding project from xammac tests. Exclude code that requires the test binding project from xammac tests because there's currently no XM version of the test binding project. Fixes this: tests/monotouch-test/SpriteKit/UniformTest.cs(20,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLMaterialProperty.cs(37,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLTransform.cs(34,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) * Bump version for preview #8 (#2576) * [spritekit] Audit fixes (xtro) (#2577) 1. SKVideoNode is now, partially, available on watchOS and does not require the extra, manual code to swicth selectors depending on the OS version being run. !missing-type! SKVideoNode not bound !missing-selector! SKVideoNode::anchorPoint not bound !missing-selector! SKVideoNode::initWithCoder: not bound !missing-selector! SKVideoNode::initWithFileNamed: not bound !missing-selector! SKVideoNode::initWithURL: not bound !missing-selector! SKVideoNode::setAnchorPoint: not bound !missing-selector! SKVideoNode::setSize: not bound !missing-selector! SKVideoNode::size not bound !missing-selector! +SKVideoNode::videoNodeWithFileNamed: not bound !missing-selector! +SKVideoNode::videoNodeWithURL: not bound 2. SKNodeFocusBehavior is exposed needlessly on watchOS because SpriteKit/Enums.cs was not processed by the generator, so [NoWatch] did not matter. !unknown-native-enum! SKNodeFocusBehavior bound It's also visible on macOS but nothing uses it (so we do not expose it needlessly) !missing-enum! SKNodeFocusBehavior not bound 3. Add missing designated initializer on default `init` !missing-designated-initializer! SKAttributeValue::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! SKNode::init is missing an [DesignatedInitializer] attribute 4. Remove inconsistency for SKNode subclasses wrt XAMCORE_4_0 The trio attributeValues, setAttributeValues and setValue:forAttributeNamed: that was moved from SKNode (deprecated) into its subclasses. This was done using XAMCORE_4_0 but not on every subclasses. This adds them everywhere to be consistent (only SKNode versions are not defined in XAMCORE_4_0) !missing-selector! SKEffectNode::attributeValues not bound !missing-selector! SKEffectNode::setAttributeValues: not bound !missing-selector! SKEffectNode::setValue:forAttributeNamed: not bound !missing-selector! SKEffectNode::valueForAttributeNamed: not bound !missing-selector! SKEmitterNode::attributeValues not bound !missing-selector! SKEmitterNode::setAttributeValues: not bound !missing-selector! SKEmitterNode::setValue:forAttributeNamed: not bound !missing-selector! SKEmitterNode::valueForAttributeNamed: not bound !missing-selector! SKSpriteNode::attributeValues not bound !missing-selector! SKSpriteNode::setAttributeValues: not bound !missing-selector! SKSpriteNode::setValue:forAttributeNamed: not bound !missing-selector! SKSpriteNode::valueForAttributeNamed: not bound * [introspection] Make sure '[FAIL]' is printed before every failure. (#2578) This makes xharness able to list the failures in the inline summary. * [xtro] Reword some of the Simd diagnostic messages according to review. * [xharness] Add a missing IsServerMode check to generate correct html. (#2581) * [SpriteKit] SKTransformNode is new in Xcode 9 so no need to keep the broken (and obsolete) non-simd version of RotationMatrix. * [intents] Fix some (partial) xtro issues and #59156 (#2585) reference https://bugzilla.xamarin.com/show_bug.cgi?id=59156 Remaining issues are filled in https://bugzilla.xamarin.com/show_bug.cgi?id=59183 !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound * [Intents] Confirm* interface methods should be bound as Confirm, Fixes Bug 59164 (#2591) * [Intents] Confirm* interface methods should probably be bound as Confirm, Fixes Bug 59164 https://bugzilla.xamarin.com/show_bug.cgi?id=59164 All Confirm* methods from *IntentHandling interfaces should be named just `Confirm` to avoid confusion because most of them do not directly confirm as an acion, but instead they **ask** for confirmation also we would follow swift's naming by doing this. * [Intents] XAMCORE_4_0 all Confirm* methods from *IntentHandling Turns any Confirm* into just Confirm inside a XAMCORE_4_0 block, * [Intents] Fix breaking changes in Intents added in Xcode 9 Bindings (#2590) Apple added more protocol conformances to INRidesharingDomainHandling and INPaymentsDomainHandling protocols in Xcode 9, I introduced these breaking changes back when I did intents binding so fixing them :) * [Metal] New bindings from Xcode 9 betas (#2457) * [AVFoundation] Updated bindings for xcode9. (#2272) * [Xcode9] Add IOSurface bindings (#2363) * This framework was a private framework before iOS 11. This framework was a private framework before iOS 11, yet the headers claim many API were introduced in iOS 10. So take account of this difference by using the private framework location in iOS 10.3 or earlier. Testing these API from Xcode works fine when run on an iOS 10.3 device, and I've confirmed the IOSurface framework is loaded from the private frameworks path on older devices (and when built using Xcode 9 and linked with the public framework path). * Disable code to make IOSurface work on iOS 10. Disable the code to make IOSurface work on iOS 10, since it may be rejected by the App Store. This also means adjusting the availability attributes, so that the introspection tests pass (and to document that technically these API won't work when used with Xamarin.iOS in iOS 10). I've filed bug #[59201][1] to keep track of this, maybe we can re-enable this later. [1]: https://bugzilla.xamarin.com/show_bug.cgi?id=59201 * [CoreMedia] Fix leak in CMAttachmentBearer.GetAttachments. (#2593) The caller owns the return value from CMCopyDictionaryOfAttachments, so tell Runtime.GetNSObject that. * [Intents] Adds missing API found by xtro, fixes Bug 59183 (#2596) https://bugzilla.xamarin.com/show_bug.cgi?id=59183 Fixes !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !incorrect-protocol-member! INUIHostedViewControlling::configureWithInteraction:context:completion: is OPTIONAL and should NOT be abstract * [xtro] Fix StartWorkingDirectory to enable debugging (#2598) * [iosurface] Enable for tvOS and XM classic (to avoid multiple defines around consumer API) (#2597) * [xtro] Fix EnumCheck (#2600) * [ARKit] Rename a few method to make them nicer. (#2604) * DisplayTransform -> GetDisplayTransform since methods should have verbs. * SessionWasInterrupted -> WasInterrupted and SessionInterruptionEnded -> InterruptionEnded since these names match better with the other names (CameraDidChangeTrackingState / DidFail / DidOutputAudioSampleBuffer: none are prefixed with 'Session'). Additionally, the type is a Model (for the delegate pattern), which means all methods are more-or-less event-like, and the first argument is always the same (the protocol itself), which is another indicator the methods should be named similarly. * [Foundation] Remove 'Key' suffix from some fields. (#2606) Of the 168 fields in NSMetadataItem, only these 5 hadn't removed the 'Key' suffix. So make them all equivalent by removing the 'Key' suffix from these 5 fields. * [ImageIO] Fix API to not duplicate the instance in instance methods. (#2609) An instance method does not need to take the instance as a parameter, so remove the first (instance) parameter for CGImageDestination.AddAuxiliaryDataInfo and CGImageSource.CopyAuxiliaryDataInfo. An alternative solution would be to make the methods static, but I like the instance API better. * [UIKit] De-model UIDataSourceTranslating. (#2603) It's not clear from neither the documentation nor the headers how this protocol is supposed to be used, and since it doesn't correspond to the delegate pattern, remove the [Model] attribute for now. We can always add it back later. * [CoreML] Improve API. (#2592) * [CoreML] Improve API. * The indices, shape and stride properties for MLMultiArray and MLMultiArrayConstraint can logically only be arrays of integers, so type them as such. This means adding overloads for MLMultiArray's constructors, GetObject and SetObject methods, and the indexers that takes nint[] arrays instead of NSNumber[] arrays. * Change MLFeatureValue's static factory methods to be a method ('Create') instead of a preposition, and call all the different factory methods the same, since they can be overloaded nicely. * [tests][monotouch-test] Add version check to MLMultiArrayTest and make sure the arrays we create are big enough for the data we put in them. * [tests][monotouch-test] MLMultiArray's elements aren't zero-initialized, so don't assume that in the tests. * Support overloading Objective-C methods based on static/instance. (#2607) Two Objective-C methods can be named identically as long as one is static and the other instance. We must support this since Apple did just this (in the NSItemProviderReading / NSItemProviderWriting protocols). We solve it by prepending a '+' or '-' to the selector when hashing it (to determine selector uniqueness, and to look the method up again at runtime). * [uikit] Update for Xcode 9 - Part 6 (#2602) NSAttributedString.h NSFileProviderExtension.h NSLayoutAnchor.h UIAccessibility.h UIAccessibilityAdditions.h UIAccessibilityContainer.h UIAccessibilityContentSizeCategoryImageAdjusting.h UIAccessibilityCustomRotor.h UIAccessibilityLocationDescriptor.h UITabBar.h UINavigationBar.h UIScreen.h * Xcode9 scenekit (#2512) * [SceneKit] basic work * Added key * [xcode9] SCNCameraController * [xcode9] SCNCamera updates * [xcode9] SCNMaterial * [xcode9] SCNGeometryTessellator, SCNCameraControlConfiguration, SCNView, small bits * Add trailing commas to last enum value * Remove whitespace noise * [scenekit] Update deprecated attributes messages * Addresses some of Rolf's feedback * Drop the WeakDelegate in SCNCameraController * Rename method to Render, remove ctor from class that can not be constructed in Palygrounds, add typo exception * [AppKit] Rename NSBezierPath.AppendBezierPathWithCGGlyph to match its sibling methods. (#2605) NSBezierPath contains a lot of 'AppendPathWithXXX' methods, that all map to 'appendBezierPathXXX' selectors. So rename AppendBezierPathWithCGGlyph accordingly, to make it more similar to the other methods in the same type. * [uikit] Add all UISpringLoadedInteractionSupporting (#2616) Types do not conform to the protocol but protocol methods work on those types (see monotouch-test). Fixed introspection tests accordingly and tested the selectors in monotouch-test. * [Intents] Add convenience ctor overload and call correct base ctor in manual ctor. (#2613) Add a convenience constructor overload in INGetUserCurrentRestaurantReservationBookingsIntent that uses nint instead of NSNumber, since logically "number of results" will always be some sort of integer. Also call the correct base constructor in INSpeakableString's custom constructor (same as any other generated constructor). Otherwise we end up doing something like this: [[[INSpeakableString alloc] init] initWith ...], i.e. calling two different init methods. * [coreimage] Add new headers API up to beta 6 (#2601) Filters are not complete (ref: #57350) https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * Some new constants are not yet documented (type is known), so they are commented / ignored https://bugzilla.xamarin.com/show_bug.cgi?id=59296 * Filled bug for [Wrap] inside [Category] so strong dictionary helpers can be re-enabled later https://bugzilla.xamarin.com/show_bug.cgi?id=59294 * [foundation] xtro fixes for watchOS (#2586) !missing-enum! NSProcessInfoThermalState not bound !missing-field! NSProcessInfoThermalStateDidChangeNotification not bound !missing-selector! NSProcessInfo::thermalState not bound Headers are wrong and preferredPresentationStyle is not in tvOS and watchOS !missing-selector! NSItemProvider::preferredPresentationStyle not bound !missing-selector! NSItemProvider::setPreferredPresentationStyle: not bound * [uikit] Also remove UIPreferredPresentationStyle enum from platform where it's not used * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. (#2614) * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. * NSItemProviderWriting: * NSItemProviderReading: Implement correctly and completely by uncommenting commented out code. * NSMutableString: * NSAttributedString: remove inlined members, since these classes don't implement NSItemProviderReading / NSItemProviderWriting (according to the headers at least). * NSUrl: all platforms now seem to implement NSItemProviderReading / NSItemProviderWriting. * NSString: all platforms now seem to implement both NSItemProviderReading and NSItemProviderWriting * UIColor: * UIImage: Update inlined protocol members according to the latest beta. Additionally, due to the following conditions: * The protocols all have the correct members now. * In the API definition we tell the generator to inline members from a protocol by inheriting from the corresponding interface. * The generator doesn't inline static members from protocols. several 'new' keywords had to be added to silence a compiler warning that occurrs when we manually inline a static member, since the member would be included in the type both from the inherited interface and the manual implementation. * [Foundation] Comment out NSItemProviderWriting.GetItemProviderVisibility to avoid inlining/generating unusable methods. NSItemProviderWriting.GetItemProviderVisibility is an optional method, and none of the native classes that implements NSItemProviderWriting actually imlements the method. This means inlining the method in those classes ends up creating unusable API; so just comment out the method to avoid generating the unusable API. The introspection tests found this: [FAIL] Foundation.NSString : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Foundation.NSUrl : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Contacts.CNContact : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] MapKit.MKMapItem : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIColor : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIImage : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] iOSApiSelectorTest.ApiSelectorTest.StaticMethods : 6 errors found in 2348 static selector validated: See also https://bugzilla.xamarin.com/show_bug.cgi?id=59308 * [iosurface] Add missing [TV] attributes (#2619) * [opengles] Enable the new API using IOSurface (#2618) The symbol only exists inside device libraries, not on simulator, and the introspection tests were updated to ignore it. Part of https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [avfoundation][watchos] Enable AudioBufferList (fix #59145) + audit (xtro) (#2617) 1. AudioBufferList is part of CoreAudio (wrong namespace, which needs a few changes in the generator) and now available in watchOS 4 https://bugzilla.xamarin.com/show_bug.cgi?id=59145 2. Also fixes xtro found issues: !missing-type! AVAudioRecorder not bound !missing-selector! AVAudioRecorder::averagePowerForChannel: not bound !missing-selector! AVAudioRecorder::channelAssignments not bound !missing-selector! AVAudioRecorder::currentTime not bound !missing-selector! AVAudioRecorder::delegate not bound !missing-selector! AVAudioRecorder::deviceCurrentTime not bound !missing-selector! AVAudioRecorder::format not bound !missing-selector! AVAudioRecorder::initWithURL:format:error: not bound !missing-selector! AVAudioRecorder::initWithURL:settings:error: not bound !missing-selector! AVAudioRecorder::isMeteringEnabled not bound !missing-selector! AVAudioRecorder::isRecording not bound !missing-selector! AVAudioRecorder::peakPowerForChannel: not bound !missing-selector! AVAudioRecorder::recordAtTime: not bound !missing-selector! AVAudioRecorder::recordAtTime:forDuration: not bound !missing-selector! AVAudioRecorder::recordForDuration: not bound !missing-selector! AVAudioRecorder::setChannelAssignments: not bound !missing-selector! AVAudioRecorder::setDelegate: not bound !missing-selector! AVAudioRecorder::setMeteringEnabled: not bound !missing-selector! AVAudioRecorder::settings not bound !missing-selector! AVAudioRecorder::url not bound !missing-protocol! AVAudioRecorderDelegate not bound !missing-selector! AVAudioEngine::inputNode not bound !missing-selector! AVAudioEngine::manualRenderingBlock not bound !missing-selector! AVAudioInputNode::setManualRenderingInputPCMFormat:inputBlock: not bound !missing-selector! AVAudioPlayer::format not bound !missing-selector! AVAudioSession::requestRecordPermission: not bound !unknown-field! AVFileType3GPP bound !unknown-field! AVFileType3GPP2 bound !unknown-field! AVFileTypeAC3 bound !unknown-field! AVFileTypeAIFC bound !unknown-field! AVFileTypeAIFF bound !unknown-field! AVFileTypeAMR bound !unknown-field! AVFileTypeAVCI bound !unknown-field! AVFileTypeAppleM4A bound !unknown-field! AVFileTypeAppleM4V bound !unknown-field! AVFileTypeCoreAudioFormat bound !unknown-field! AVFileTypeDNG bound !unknown-field! AVFileTypeEnhancedAC3 bound !unknown-field! AVFileTypeHEIC bound !unknown-field! AVFileTypeHEIF bound !unknown-field! AVFileTypeJPEG bound !unknown-field! AVFileTypeMPEG4 bound !unknown-field! AVFileTypeMPEGLayer3 bound !unknown-field! AVFileTypeQuickTimeMovie bound !unknown-field! AVFileTypeSunAU bound !unknown-field! AVFileTypeTIFF bound !unknown-field! AVFileTypeWAVE bound * [Metal] Implement API using IOSurface now that IOSurface is implemented. Partially fixes #58054. (#2621) https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [PdfKit] Improve PdfAnnotation.QuadrilateralPoints binding by making it strongly typed. (#2620) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). (#2622) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). * [ARKit/Vision] Use the new simd vector types instead of the OpenTK versions. * [ModelIO] Use the new simd vectors in new API (MDLVoxelIndexExtent2). This way we won't have to create a MDLVoxelIndexExtent3 in the future. * [SpriteKit] Use the new simd vectors in new API. * [metal] Audit (xtro) based fixes (#2623) !extra-protocol-member! unexpected selector MTLArgumentEncoder::newArgumentEncoderForBufferAtIndex: found !extra-protocol-member! unexpected selector MTLComputeCommandEncoder::dispatchThreads:threadsPerThreadgroup: found macos-only !missing-field! MTLDeviceRemovalRequestedNotification not bound !missing-field! MTLDeviceWasAddedNotification not bound !missing-field! MTLDeviceWasRemovedNotification not bound !missing-pinvoke! MTLCopyAllDevices is not bound * [CloudKit] Update bindings to beta 6. (#2615) * [FileProvider] Turn NSFileProviderItemIdentifier enum into a static class, fixes bug 59329 (#2634) https://bugzilla.xamarin.com/show_bug.cgi?id=59329 At the time of binding NSFileProviderItemIdentifier it wasn't clear how it was supposed to be used, I mean apple provides two keys which I thought were the only possible values hence binding it as an smart enum. Unfortunately this wasn't the case and the user can use those two values provided from the SDK or their own NSString Identifier. Swift provides a wrapper unfortunately we can't do the same due to NSFileProviderItemIdentifier is used in the NSFileProviderItem protocol and we currently do not support changing signatures on them. * [mtouch] Teach mtouch about the 'IOSurface' framework for tvOS. Fixes #59333. (#2630) https://bugzilla.xamarin.com/show_bug.cgi?id=59333 * Bump Touch.Unit to get fix for API breakage. (#2631) spouliot/Touch.Unit@8f1e19d [NUnitOutputTextWriter] Reintroduce previous constructor to make sure we don't break binary ABI. spouliot/Touch.Unit@00b0c0b [NUnitOutputTextWriter] Don't write invalid xml comments. spouliot/Touch.Unit@de9fe20 [TouchRunner] Restore the original code path when not wrapping NUnit xml output. * [IOSurface] Add missing availability attributes for tvOS. (#2629) * Bump versions for preview 9 (#2624) * [AVFoundation] Add missing interface AVRouteDetector. (#2637) * [tests] Update xtro to reduce list sizes (#2636) * Skip OpenTK duplicate declaration (we can't change them); * Fix rule name change for ARKit / simd; * Add missing default initializer on `init` to pending actions; * Add note for AVPersistableContentKeyRequest changes wrt tvOS; * [ReplayKit] Make RPBroadcastActivityViewController.LoadBroadcastActivityViewController async-capable. (#2639) * [xcode9] More SceneKit bindings (#2633) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 (#2644) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 https://bugzilla.xamarin.com/show_bug.cgi?id=59380 vector_float3 is 16 bytes, which means the binding is incorrect, because Vector3 is 12 bytes, and our code does not that difference into account. * Add tests * [DeviceCheck] Disable default ctor for DCDevice. (#2642) It doesn't seem to be useful according to the documentation, since it appears that the only way to get an instance is to use the static CurrentDevice property. * [audiounit] Audit (xtro) fixes for tvOS (#2635) Availability attributes in non-generated files don't hide symbols/code. reference: !unknown-pinvoke! AudioUnitExtensionCopyComponentList bound !unknown-pinvoke! AudioUnitExtensionSetComponentList bound * [tests] Make sure tvOS tests don't use the (unexisting) API * [tests] Add all test project variations to tests-mac.sln (#2579) * [xharness] Make sure generated mac projects have different project guids. * [introspection] Change the project guid so that it doesn't match the dontlink-mac project guid. * [tests] Add all test project variations to tests-mac.sln. * [xharness] Fix else condition. * [FileProvider] Adds missing NSFileProviderPage constants, fixes bug 59297. (#2646) https://bugzilla.xamarin.com/show_bug.cgi?id=59297 Adds NSFileProviderInitialPageSortedByName and NSFileProviderInitialPageSortedByDate NSData constants * [Xcode9] Remove NSFileProviderMessage and NSFileProviderMessageInterface (#2647) APIs were removed in beta 2 * [Foundation/UIKit] Provide LoadObject[s] methods that return the expected type in the callback. Fixes #59049. (#2638) The callback for these LoadObject[s] methods take an INSItemProviderReading parameter. This tells our runtime that we must provide an instance of a managed object that implements this interface (but nothing else), so we create a `NSItemProviderReadingWrapper` instance, which complies with the API (since the wrapper type implements the corresponding interface). Unfortunately these methods are supposed to return an instance of the passed- in type, so in order to comply with this soft (documentation-only) requirement, provide a wrapper method that creates instances of the right types. https://bugzilla.xamarin.com/show_bug.cgi?id=59049 * [arkit] Ignore deprecated selectors (#2645) * [FileProvider] Adds missing protocol and keys from audit (#2652) ``` !missing-protocol! NSFileProviderServiceSource not bound !missing-field! NSFileProviderErrorCollidingItemKey not bound !missing-field! NSFileProviderErrorNonExistentItemIdentifierKey not bound !missing-field! NSFileProviderFavoriteRankUnranked not bound ``` Also adds `NSXpcListenerEndpoint` to foundation, needed by `NSFileProviderServiceSource` protocol. * [tests][xtro] Workaround xtro runner dupe entry exception and update data files (#2654) * [AVFoundation] Rename field to match others. (#2657) * [homekit] Audit (xtro) fixes (#2653) - HMCharacteristicEvent conforms to NSMutableCopying on iOS11 which makes it 64 bits only (so adjust intro tests) - Ignore extra setters on HMMutablePresenceEvent, rdar 33883958 !missing-selector! HMMutablePresenceEvent::setPresenceEventType: not bound !missing-selector! HMMutablePresenceEvent::setPresenceUserType: not bound * [xtro] Add missing pinvoke to pending (#2662) - Bug 59422: [uikit] Missing UIContentSizeCategoryCompareToCategory & UIContentSizeCategoryIsAccessibilityCategory (https://bugzilla.xamarin.com/show_bug.cgi?id=59422) * Merge latest d15-3 fixes into xcode9 (#2660) * [msbuild] Re-added wildcard (*) expandsion for application-identifier in Entitlements.plist (#2186) Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=57119 * Bump mono (#2213) * Framework tests were still binding non-linked Simple class which errors now (#2216) (#2218) - Improve Makefile to rebuild when projects build with errors * Bump mono to get cecil fix for bug #56808. (#2222) https://bugzilla.xamarin.com/show_bug.cgi?id=56808 * [msbuild] Use @(ReferencePath) instead of @(ResolvedFiles) (#2188) (#2214) This allows things to work on both xbuild and msbuild. In xbuild, both lists are exactly the same and on msbuild, only @(ReferencePath) exists. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=55147 * NSActivityOptions.IdleDisplaySleepDisabled had wrong value (#2232) (#2239) This was due to an integer overflow. The original value was based on Int32 1 << 40 == 256 The correct value should be based on a UInt64. 1UL << 40 == 1099511627776 * [tests] Fix bug 57699 - [iOS]InternalsTest failure (Linkall) tests on device (#2243) Strip native debugging symbols should not be checked for debug builds * Bump mono to get fix for bug #57780. https://bugzilla.xamarin.com/show_bug.cgi?id=57780 * Update .gitmodules Change branch to d15-3 branch of mono * Bump maccore to get fix for bug #55064. https://bugzilla.xamarin.com/show_bug.cgi?id=55064 * [mono] Bump mono to get the head of cecil/mono-2017-04 and fix IsComObject #57919 Also fix #58789 [1], the typo in tools/mtouch/Tuning.cs showing in MT0000 errors instead MT2102. That's already in master and d15-4 mono bump includes: [2] commit 2a6502cee0df9de5198eafe7c8b5f6ac25106f34 (HEAD -> d15-3, origin/d15-3) Merge: 02457c20fcf 5e05cafc6f1 Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 10:04:06 2017 -0400 Merge pull request #5401 from marek-safar/com [Marshal.IsComObject] Make this predicate return false instead of thr… [3] commit 02457c20fcf57c0610e844d638eb1da82b5d1eb0 Merge: da80840ea55 73fd9a1b82e Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 09:59:06 2017 -0400 Merge pull request #5400 from spouliot/bump-cecil-58834-d15-3 [cecil] Bump to the head of the mono-2017-04 branch and pick the fix for bug #58834 References [1] https://bugzilla.xamarin.com/show_bug.cgi?id=58789 [2] https://bugzilla.xamarin.com/show_bug.cgi?id=57919 [3] https://bugzilla.xamarin.com/show_bug.cgi?id=58834 * [mtouch] Put 'mono_profiler_startup_log' in the symbol list. Fixes #58778. (#2501) We need the 'mono_profiler_startup_log' symbol when profiling is enabled, so make sure to add the symbol to the correct list of symbols we need. Previously we were passing `-u _mono_profiler_startup_log` to clang directly, which is fine, but not complete, since it does not write the symbol to the symbollist file (--symbollist=file), which means it wouldn't be preserved when the MSBuild tasks strip the executable. https://bugzilla.xamarin.com/show_bug.cgi?id=58778 * Bump versions for SR3 https://trello.com/c/EVze08ei * Bump mono to include HttpClientHandler fix #44027 https://trello.com/c/jYFXadH8/8-systemnethttp-close-request-stream-when-httpclienthandler https://bugzilla.xamarin.com/show_bug.cgi?id=44027 * [FileProvider] Add missing API and turn NSString to string (#2663) Turned NSString to string in order to match exisiting API. * [uikit] Add UIPasteConfigurationSupporting and UITextPasteConfigurationSupporting (#2649) - Fixes bug #59363: Missing UIPasteConfigurationSupporting, UITextPasteConfigurationSupporting, UITextDraggable and UITextDroppable on a couple of types (https://bugzilla.xamarin.com/show_bug.cgi?id=59363) * [uikit] Remove 129 types in UIPasteConfigurationSupporting case * [scenekit] Audit (xtro) fixes (#2648) This looks like an Apple breaking change (since `SCNAnimation` is new) but we now have: > typedef void (^SCNAnimationEventBlock)(id<SCNAnimation> animation, id animatedObject, BOOL playingBackward); bound as > delegate void SCNAnimationEventHandler (CAAnimation animation, NSObject animatedObject, bool playingBackward); and `CAAnimation` conforms to `SCNAnimation` but *only* the later is available on watchOS. The delegate is only updated (since it's new) on our watchOS profile. xtro references: (watchos) !unknown-protocol! SCNCameraControlConfiguration bound (tvos/watchos) !missing-selector! SCNAnimation::animationEvents not bound !missing-selector! SCNAnimation::setAnimationEvents: not bound !missing-selector! SCNConstraint::isEnabled not bound !missing-selector! SCNConstraint::setEnabled: not bound !missing-field! SCNSceneSourceConvertToYUpKey not bound !missing-field! SCNSceneSourceConvertUnitsToMetersKey not bound (ios/tvos) !missing-protocol-conformance! SCNNode should conform to UIFocusItem * Bump maccore post 15.3 merge (#2665) * Bump Xcode 9 to GM (#2667) * Force build (on wrench) * [avfoundation] Fix breaking changes (apidiff) (#2664) * [TVServices] Update to Xcode 9 GM (#2675) * [GameController] Update to Xcode 9 GM (#2673) * [LocalAuthentication] Update to Xcode 9 GM (#2671) * [LocalAuthentication] Update to Xcode 9 GM * Remove availability from BiometryNotAvailable, BiometryNotEnrolled and BiometryLockout * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer (#2659) * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer Some of the new added types were already present BUT under a #if MONOMAC, they had to be moved. * [AVFoundation] Set the wrongly added API to be obsolete and ensure it returns logical values. (#2650) * [xtro] The right platform for macOS is 'macos', not 'osx'. (#2677) The platform name is used to filter availability attributes, and if we use the wrong platform, we'll incorrectly skip all availability attributes. The net result in unclassified entries: https://gist.github.com/rolfbjarne/a4474bc2a40c49a85cad495b51bb514f * Various Xcode 9 API improvements and also fixes bug 59433 (#2676) https://bugzilla.xamarin.com/show_bug.cgi?id=59433 While fixing bug 59433 I noticed some additional issues outlined below: AVDepthData: * Renamed **non** static `Create` methods because `Create` only makes sense with the **Static** method in this context. Also by renaming the methods we are now closer to the names that swift uses. * Kept descriptive method names in favor of self-documenting code. `Convert`, `Apply` and `Replace` do not fully give us the intent of the method. * Added a convenience `Create` static method that takes a `CGImageAuxiliaryDataInfo`. * AvailableDepthDataTypes is now an array of `CVPixelFormatType` instead of a `NSNumber` array (The aactual fix for bug 59433). ImageIO: * Refactored `CGImageAuxiliaryDataInfo` to be a `StrongDictionary` in order to avoid most of the manual code and also to avoid reimplementing the `ToDictionary` method (which contained a subtle bug). * Adjusted code to reflect the above change. * Added missing `.ctor (IntPtr, bool)` to `CGImageMetadata` so the class is able to be created by our `Runtime.Get*`. * Simplified `CopyAuxiliaryDataInfo` method by using `CGImageAuxiliaryDataInfo` as a `DictionaryContainer`. Tests: * Added `xamarinmonkey.heic` which is an image that contains depth data needed to test above changes. * Adds `AVDepthDataTests` that touches most of the changes listed here. * Tweak the Simd-compatible matrices and vectors (#2668) * Rename them to be OpenTK.NMatrix# (instead of Simd.MatrixFloat#x#). * Remove the Vector2 and Vector4 variants, we'll use the OpenTK types instead (but we'll keep the NVector3 variant, since it's not identical to the OpenTK version). * Update the API to match their OpenTK counterparts better: * NMatrix2 and NMatrix3 have a 0-based R#C# scheme for their fields. * NMatrix4 has a 1-based M## scheme for its fields (i.e. no change). * [AVFoundation] Use Simd-matrix for API that needs it. (#2679) This also requires implementing the corresponding matrix (NMatrix4x3). Fixes this xtro issue: > !unknown-simd-type-in-signature! OpenTK.Matrix3 AVFoundation.AVCameraCalibrationData::get_GetIntrinsicMatrix(): the native signature has a simd type (matrix_float3x3), while the corresponding managed method is using an incorrect (non-simd) type. * [xtro] Fix checking availability on categories. (#2682) When checking for category availability, check if both the current declaration is a category, and if the current's declaration container is a category. Otherwise this scenario fails: * Category method is available. * Category does not have availability attributes. * Main class is unavailable. with this typical code sequence: ```csharp // don't process methods (or types) that are unavailable for the current platform if (!decl.IsAvailable () || !(decl.DeclContext as Decl).IsAvailable ()) return; ``` In which case we'd: * First check the method (`decl`): * It's available, so no further checks is done on the method. * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container's container is a category (it isn't, it's the namespace). and as such determine that the method is available. With this change, the second step will become: * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container is a category (it is), and if its main class is available (it isn't). and as such determine that the method is unavailable. * Check for attributes on the method's container (no attributes, so we continue). * Check if the method's Unclassified diff: https://gist.github.com/rolfbjarne/8fa80962596978a426eadf9b7ba39dc1 * [uikit] Update for Xcode 9 GM (#2670) * [AVFoundation] Implement AVCapturePhoto. Partially fixes #59388. (#2678) Fixes: > common.unclassified:!missing-type! AVCapturePhoto not bound https://bugzilla.xamarin.com/show_bug.cgi?id=59388 * Use strong dictionaries for AVCapturePhoto.Metadata and AVCapturePhoto.EmbeddedThumbnailPhotoFormat. * [SIMD] Implement Simd double types (VectorDouble3/MatrixDouble4x4). (#2632) The following types will be used by ModelIO bindings * Fix delta to be double * Rename Simd-compatible matrices and vectors to match our final naming. This also means removing the new Vector2 and Vector4 variants (but not Vector3). * [avfoundation] Remove AVAssetDownloadDelegate.DidLoadTimeRange since it was removed in one of the betas (#2687) * [foundation] Move NSUrlSessionMultipathServiceType to a file processed by the generator (for the availability attributes) (#2688) * [arkit] Update for Xcode 9 GM (#2681) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes (#2690) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes Type Changed: Intents.INCarSeatResolutionResult Removed methods: public static INCarSeatResolutionResult GetConfirmationRequired (INCarSeat valueToConfirm); public static INCarSeatResolutionResult GetSuccess (INCarSeat resolvedValue); * [avfoundation] Add missing protocol members and deprecations (#2691) !missing-protocol-member! AVCapturePhotoCaptureDelegate::captureOutput:didFinishProcessingPhoto:error: not found and the selector removed from PR#2687 was actually replaced with this one !missing-protocol-member! AVAssetDownloadDelegate::URLSession:aggregateAssetDownloadTask:didLoadTimeRange:totalTimeRangesLoaded:timeRangeExpectedToLoad:forMediaSelection: not found * [tests][xtro] Map some enums, more fix with protocols and update entries (#2692) * [Tests] Reenable dns tests on the watch. (#2674) * [arkit] Add ARBlendShapeLocationOptions strong dictionary (#2696) * [coreimage] Skip not yet bound filters added in Xcode9 (#2698) Tracked in https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * [Metal] Renamed MTLArgumentDescriptor.ArgumentDescriptor to Create, fixes bug 59498 (#2702) https://bugzilla.xamarin.com/show_bug.cgi?id=59498 From [argumentDescriptor docs](https://developer.apple.com/documentation/metal/mtlargumentdescriptor/2915746-argumentdescriptor?language=objc) > Creates an empty argument descriptor. * [msbuild] Always codesign app bundles if the codesign key is non-null (#2697) ...even if it is a simulator build. Turns out that starting with Xcode9, sim builds need to be codesigned for App Groups entitlements to work properly. Interestingly, the DetectSigningIdentity logic had a comment about needing to codesign simulator builds for some entitlements to work already starting with Xcode 8 but apparently the iOS targets did not respect this. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=59379 * [Foundation] Add NSProxy stub in order to workaround bug 59247 (#2693) https://bugzilla.xamarin.com/show_bug.cgi?id=59247 We need to have a better solution that removes all what NSProxy does not responds to. Right now this works because NSObject implements NSObject protocol just like NSProxy, but NSProxy responds to far less selectors hence doing it internal so it is not a breaking change when we provide the correct fix. * Keep NSProxy around and avoid XML linker description We need to keep NSProxy (avoid linking it) if WKNavigationDelegate or IWKNavigationDelegate is used. We know WKWebView will be there and can hold a reference to it. * [Xcode 9] Update Metal for GM (#2689) * [iosurface] IOSurface is not usable before iOS/tvOS 11. Fixes #59201 (#2706) Apple rejects apps that links with the previously private IOSurface.framework. We were not sure about this [1] and had it disabled (this is removed). However another bug stopped our adjustment logic [2] from being executed. This is needed since `clang` picks up the private framework if it does not find the public one (even when asking for a weak framework), [1] https://bugzilla.xamarin.com/show_bug.cgi?id=59201 [2] Added a while ago for JavascriptCore * Bump maccore to point to commit with the docs fix. (#2703) * Bump XI to 11.0.x (and XM to 3.99.9.x) (#2684) * fix typo
2017-09-16 00:53:16 +03:00
[Export ("renderWithViewport:commandBuffer:passDescriptor:")]
void Render (CGRect viewport, IMTLCommandBuffer commandBuffer, MTLRenderPassDescriptor renderPassDescriptor);
2016-04-21 15:30:02 +03:00
#endif
[TV (10, 0), Mac (10, 12), iOS (10, 0)]
[Export ("updateProbes:atTime:")]
void Update (SCNNode [] lightProbes, double time);
Merge xcode9 into d15-4[-xi] (#2710) * [FileProvider] Add Xcode 9 Beta 1, 2 & 3 Bindings (#2279) * [FileProvider] Add Xcode 9 Beta 1 Bindings * Better naming * Feedback not related to BindAs * [FileProvider] Removes BindAs, add manual code for it and updated to Beta 3 * [FileProvider] Implement feedback * [CoreSpotlight] Updated spotlight bindings for xcode 9 beta 3. (#2193) Updated spotlight bindings for xcode 9 beta 3. * Fix warning caused by duplicate (#2354) * [FileProviderUI] Add Xcode 9 Beta 1 to 3 bindings (#2356) * Bump to Xcode 9 beta 4 * [arkit] ARLightEstimate does not conform to NSCopying anymore (fix unit test) * [uikit] NSFileProviderExtension.ReparentItem got a new parameter in beta4 (fix unit test) * [coreimage] CIImageAccumulator init returns nil in beta 4 There's no header change to mention `init` is not allowed but it's not clear how this default initializer could be used. Also make public some other API to construct this type (outside of XM). It's not clear why there were `internal` as they are (at least now) part of the header files. * [photos] Add helpers when PHLivePhotoEditingOption/NSDictionary is null (to avoid ambiguous API) (#2360) Adding a strongly typed `PHLivePhotoEditingOption` (a strongly typed version of an `NSDictionary`) can cause a `CS0121` (call is ambiguous) since using a `null` argument is common (only one option exist so far). This PR adds overloads that makes the code nicer in such case, e.g. before Xcode9: > // null is used when no options are given > _foo.SaveLivePhoto (output, null, completion); current (Xcode 9) > // casting required to remove ambiguity with PHLivePhotoEditingOption > _foo.SaveLivePhoto (output, (NSDictionary)null, completion); with this PR > // no option, no argument > _foo.SaveLivePhoto (output, completion); The same applies to `PrepareLivePhotoForPlayback`. * [tests] Disable/tweak two tests that breaks on (almost) all Xcode updates Those tests were not added to validate xOS so just keep the parts that helps us (without constantly checking back the new break flavor) * Disable watchOS to check if this hides others issues * [mapkit] Update for beta 4 * [coredata] Update for beta 4 * [wkwebkit] Update for beta 4 Note: WKWindowFeatures.h is not compiled (part of the framework umbrella) and the `@interface WKWindowFeatures (WKPrivate)` sounds like it should not have been exposed (it's all fields starting with `_`) * [corelocation] Update for beta 4 * Revert "Disable watchOS to check if this hides others issues" This reverts commit fed2249fa43290a1956ab2fe0d48f83ab6db9711. * [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]: https://github.com/xamarin/xamarin-macios/blob/f5956d6cc1eb5dfa7bab16628cf282d40237f64e/src/generator.cs#L5985 * [FinderSync] Update to beta 4 (#2377) * [ImageIO] Update to Xcode 9 (#2353) * [PhotosUI] Move macOS photosui bindings out of photos.cs into photosui.cs (#2358) * [quicklook] Update up to beta 4 (#2374) * [uikit] UIDragInteraction & UIDragInteractionDelegate (Xcode 9 b1,2,3) (#2357) * [safariservices] Update up to beta 4 (#2380) * [coreanimation] Update to beta 4 (#2382) Apple removed (mistake?) some API in beta 1. Filed as rdar 33590997 Internal tracking in https://trello.com/c/J8BDDUV9/86-33590997-coreanimation-quartzcore-api-removals * [storekit] Update up to beta 4 (#2379) * [CoreML] Update to Xcode 9 Beta 4 (#2387) * [uikit] UICollectionView/UITableView Drag & Drop (Xcode 9 b1,2,3 & 4) (#2355) * Update code after radar 32929318 and 32897776 are fixed in b4 (#2394) * [xcode9 CoreAudio] New definitions from Beta1 to Beta3 (#2359) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 (#2397) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 https://bugzilla.xamarin.com/show_bug.cgi?id=58512 Created strong API (VNBarcodeSymbology) on the following properties * VNDetectBarcodesRequest.SupportedSymbologies * VNDetectBarcodesRequest.Symbologies * VNBarcodeObservation.Symbology * Remove modern C# because classic can't do it 😡 * [mediaplayer] Update up to beta 4 (#2388) * [watchkit] Update to beta 4 (#2398) * Bump Visual Studio for Mac max version (#2408) * [coreimage] Add CIBarcodeDescriptor and enabled missing API for VNBarcodeObservation. Fix #58197 (#2411) https://bugzilla.xamarin.com/show_bug.cgi?id=58197 * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 (#2407) * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 * [uikit] Fixes based on comments * [coreimage] CIImageAccumulator API fixes. Fix #58349 (#2412) * Obsolete the default `init`; * XM exposed some older APIs using `int` instead of `CIFormat`. This is fixed and old APIs are obsoleted; * Both new & old APIs are now using `CIFormat` for both XI and XM. https://bugzilla.xamarin.com/show_bug.cgi?id=58349 * [uikit] UIText drag & drop - up to Xcode 9 beta 4 (#2410) * [uikit] UISplitView & UIStackView up to Xcode 9 beta 4 (#2425) * Bump XI/XM versions before preview 4 (#2422) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 (#2378) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 * [PDFKit] Implement feedback * [PDFKit] the forgotten enum * [PDFKit] More feedback * [PDFKit] Add Mac changes * Missing change * Fix test RectangleF VS CGRect * Pass -Wunguarded-availability-new to quiet a new clang warning (#2424) - https://bugzilla.xamarin.com/show_bug.cgi?id=58574 * [mtouch/mmp] Ignore warnings about unguarded code section with regards to availability. (#2441) * [monotouch-test] Remove workaround for fixed Apple bug. (#2445) * Bump to Xcode 9 beta 5. (#2447) * Bump to Xcode 9 beta 5. * [mmp] Disable the partial static registrar, because Apple's macOS SDK is broken. > In file included from Xamarin.Mac.registrar.mobile.i386.m:1: > In file included from ./Xamarin.Mac.registrar.mobile.i386.h:11: > /Applications/Xcode9-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVFoundation.h:88:9: fatal error: 'AVFoundation/AVRouteDetector.h' file not found https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [mmp] Fix partial static registrar removal. * [CallKit] Update to Xcode 9 beta 5. * [ARKit] ARPointCloud doesn't conform to NSCopying anymore in Xcode 9 beta 5. * [ARKit] Update to Xcode 9 beta 5 enough to make tests happy. * [CoreImage] Stub out new filters in Xcode 9 beta 5. * [tests][monotouch] Simplify some MDLMesh asserts since values change a lot between OS versions. * [mmp] Default to the dynamic registrar for release builds again, due to bug #58629. https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [tests][introspection] CXCall started implementing NSCopying without saying so in the headers. * Disable mmp static registrar tests due to 58629 for now * [quicklook] Update to beta 5 (#2450) * [photos] Update for beta 5 (#2452) Also update some existing enum members were added in beta 1 on macOS * [safariservices] Update for beta 5 (#2455) * [mediaplayer] Update to beta 5 (#2456) * [CoreLocation] Update Xcode 9 Beta 5 (#2453) * [CoreML] Update to Xcode 9 Beta 5 (#2454) * [Contacts] Update to Xcode 9 Beta 5 (#2451) * [Vision] Update to Xcode 9 Beta 5 (#2458) * [builds] Tell LLVM to stay away from newer macOS functions. (#2459) Fixes this build problem on Sierra: > ld: weak import of symbol '_futimens' not supported because of option: -no_weak_imports for architecture x86_64 This is a symbol that was (will be?) introduced in High Sierra. Interestingly this only occurs if the Xcode 8.X Command Line Tools haven't been manually installed. Because if the Xcode 8.X Command Line Tools are installed, this happens: 1. llvm's configure script detects that 'futimens' is not usable. 2. llvm's configure script detects that 'futimens' is not usable, because xcrun sets SDKROOT=/ when calling clang. a. When the SDKROOT variable is set, clang passes '-syslibroot /usr/lib' to ld. b. When ld gets '-syslibroot /usr/lib', ld looks in '/usr/lib' for a library that contains 'futimens' in the OS itself, and since we're on Sierra, that fails to link. c. So when llvm's configure script creates a test program that checks if 'futimens' is present, the program fails. This is correct, and makes llvm *not* use futimens. 3. xcrun sets SDKROOT=/ because /usr/share/current-os.sdk/Info.plist exists. If that file does not exist, then xcrun sets SDKROOT to Xcode9's macOS SDK (because that's what xcode-select reports). a. When SDKROOT is set to Xcode9's macOS SDK, the configure check for 'futimens' succeeds, because the macOS 10.13 SDK contains that function. b. llvm happily uses 'futimens', and then the final link fails because we're using a symbol not available on all target platforms. * [arkit] Update for Xcode 9 beta 5 - Part 1 (#2460) * [tests] The container app for watchOS tests should be 64-bit. (#2463) * [xharness] watchOS tests need to run in a clean environment. Works around #58348. (#2462) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [xharness] It watchOS tests don't need to be clean anymore. Fixes #58348. (#2473) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [uikit] UIView/UIScrollView/UIViewController up to Xcode 9 beta 5 (#2431) - Add NSDirectionalEdgeInsets type. - Includes DirectionalEdgeInsetsTest. * [AudioToolbox] Update bindings to Xcode 9 beta3 (not later changes). (#2294) * [xharness] Add a file existence check. (#2478) Fixes this exception: ``` Harness exception for 'introspection': System.IO.FileNotFoundException: Could not find file '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log'. File name: '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log' at System.IO.__Error.WinIOError (System.Int32 errorCode, System.String maybeFullPath) [0x00207] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/__error.cs:188 at System.IO.FileInfo.get_Length () [0x00038] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/fileinfo.cs:171 at xharness.CaptureLog.StopCapture () [0x00021] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Log.cs:252 at (wrapper remoting-invoke-with-check) xharness.CaptureLog:StopCapture () at xharness.AppRunner+<RunAsync>d__68.MoveNext () [0x0127f] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/AppRunner.cs:642 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter`1[TResult].GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:357 at xharness.RunSimulatorTask+<RunTestAsync>d__7.MoveNext () [0x0029d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2894 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.RunTestTask+<ExecuteAsync>d__8.MoveNext () [0x0010b] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2538 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.TestTask+<RunInternalAsync>d__87.MoveNext () [0x0010d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:1870 ``` I'm not sure how this can happen, but it has on the bots [1]. [1] https://jenkins.mono-project.com/job/xamarin-macios-pr-builder/4548/Test_Report/ * Bump versions for preview 5 (#2479) * [passkit] Update to beta 5 (#2481) * [tests] Remove workaround for radar #32688391. (#2486) * [replaykit] Update up to beta 5 (#2484) * Bump maccore to get fix for bug #55064. (#2487) * [apidiff] Update definition to new 10.12 (d15-3) stable release (#2490) * [SceneKit] basic work (#2483) * [coredata] Update to beta 5 (#2488) * [homekit] Update for Xcode 9 beta 5 (#2492) * [Foundation] Update for xcode9 (#2468) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 (#2493) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 * [Intents] Implement feedback * [Intents] Add a generic version for INInteraction.GetParameterValue * [Intents] Missing check * [Contacts] Add missing foundation NSItemProviderWriting protocol to CNContact (#2496) https://bugzilla.xamarin.com/show_bug.cgi?id=58203 This is available on all Contacts supported platforms ``` ./iPhoneOS.platform/Developer/SDKs/iPhoneOS11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchOS.platform/Developer/SDKs/WatchOS4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchSimulator.platform/Developer/SDKs/WatchSimulator4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ``` * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) (#2497) * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) * [IntentsUI] Better use a delegate instead so we have named params * Bump versions before 6th preview (#2514) * [arkit] Add missing MarshalDirective to ARPlaneAnchor (#2517) - Fixes bug #58648: ARPlaneAnchor.Extent property seems incorrect but changes to correct value after Debug access (https://bugzilla.xamarin.com/show_bug.cgi?id=58648) * [xtro-sharpie] Fix a compiler warning. (#2516) Fixes these warnings: Runner.cs(197,5): warning CS0642: Possible mistaken empty statement Runner.cs(199,5): warning CS0642: Possible mistaken empty statement Runner.cs(201,5): warning CS0642: Possible mistaken empty statement Runner.cs(203,5): warning CS0642: Possible mistaken empty statement Runner.cs(205,5): warning CS0642: Possible mistaken empty statement * [uikit] Update for Xcode 9 beta 5 - Part 3 (#2511) - UIKeyCommand - UINavigationBar - UINavigationItem - UIPasteboard - UITableViewHeaderFooterView * [xtro-sharpie] Remove xtro-plugin and misc other fixes. (#2522) * [xtro-sharpie] Build with msbuild and be as quiet as requested when building. * [xtro-sharpie] Must run as a 64-bit process, since the required native libraries are 64-bit. * [xtro-sharpie] Add run configurations to the project file to ease debugging in the IDE. * [xtro-sharpie] Remove xtro-plugin and the related commands. This was needed when there wasn't a 64-bit mono, in order to run xtro-sharpie in a 64-bit process. Now there is a 64-bit mono, so it's not needed anymore. Also improve makefile targets a bit, to auto-build stuff when needed, by setting the right dependencies. * Bump Xcode 9 to beta 6 (#2519) Disable watchOS tests again It seems like the Carousel crash from beta 4 is back to haunt us. This was working fine with beta 5. * Backport d15-3 SR2 fixes (#2515) * [coredata] Update to beta 6 (#2528) This seems to only revert some nullability changes from beta 5. * [coreml] Update to beta 6 (#2531) Fix our rdar 33643011 where additional setters were added in the headers but did not exists. * [videosubscriberaccount] Update to beta 6 (#2533) Only b1 and b2 introduced some additions/changes * [uikit] Update for Xcode 9 beta 6 - Part 4 (#2527) The following headers are now up to date: - UICollectionViewFlowLayout.h - UIDocumentPickerViewController.h - UIFontDescriptor.h - UIImage.h - UIImageView.h - UIImagePickerController.h * [xharness] Re-enable the watchOS tests. (#2534) It works fine for me locally, so let's see what Jenkins says. * [macos] Add new APIs in CoreWlan from Xcode9b3 (#2525) * Update AppKit bindings based on radar 33271241 results (#2518) * Update AppKit bindings based on radar 33271241 results - The header comment was updated to note it was NSSliderTouchBarItem view that has the protocol * Remove NSUserInterfaceCompression where not listed in header * [vision] Update to beta 6 (#2532) Removal of some deprecated (during beta) `init*` selectors. Also sync the versions that were inlined in subclasses - the old ones were not removed and the new ones were not added. * [xtro-sharpie] Many methods don't have selectors in Clang's API, so default to the name if no selector. (#2523) This makes a few more unclassified entries show up (mostly missing designated initializers): https://gist.github.com/rolfbjarne/07aa20f9b50b75bf3e69ac6a825e873a * [macos] Add ExternalAccessory APIs from xcode9 (#2526) * [58851] Disable NSMenuView in AllItemsWithNSMenuShouldAllowNull (#2504) * [arkit] Update for Xcode 9 beta 5 - Part 2 (#2505) - Add last missing selector. - Add tests for manual code. * [monotouch-test] Disable FontDescriptorTest.WithFeature (#2537) Disabled because it looks like the tvOS font we use: "Gujarati Sangam MN" does not have rare ligatures anymore (and the entire test is based on it). Before getting an actual fix for that, let's disable the test so it doesn't break all current builds. See: https://bugzilla.xamarin.com/show_bug.cgi?id=58929 * [xtro-sharpie] Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute. (#2524) Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute to calculate the native name for a TypeDefinition. Unclassified changes: https://gist.github.com/rolfbjarne/828f8ee41eebb0a3b60a38d71822fe59 * [foundation/uikit] Inline NSItemProvider_UIKitAdditions in NSItemProvider (#2538) As suggested here: https://github.com/xamarin/xamarin-macios/pull/2527#discussion_r134670981 * [intents] Fix breaking changes (api-diff) (#2543) Additions of @required members inside `INSpeakable` cannot be `[Abstract]` * [contacts] Fix breaking change (api-diff) (#2542) Type Changed: Contacts.CNPostalAddress Removed method: public static string LocalizeProperty (CNPostalAddressKeyOption option); * [macos] Reenable static registrar since Xcode9b6 un-broke SDK headers (#2544) - Fix a subtle spacing issues in PartialStaticLibrary property * [corebluetooth] Update up to beta 6 and enable it on watchOS (#2540) macOS 10.13 has finally catch up with iOS and this simplifies the bindings a bit. * [foundation] API fixes (apidiff) (#2545) 1. Let's not add new, already [Obsolete] API Type Changed: Foundation.NSDimension Added constructors: [Obsolete ("Not intended to be directly instantiated, this is an abstract class.")] public NSDimension (); 2. Fix inconsistently named API, e.g. Type Changed: Foundation.NSAttributedString Added properties: public static string[] ReadableTypeIdentifiersForItemProvider { get; } public static string[] WritableTypeIdentifiers { get; } * [pdfkit] Do not add already [Obsolete] API in new profiles (#2547) and ensure using the newer, correct API works cross-platforms iOS (before) [Obsolete ("Use 'Find (string, NSStringCompareOptions)' instead.")] public virtual PdfSelection[] Find (string text, nint options); public PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'Find (string, PdfSelection, NSStringCompareOptions)' instead.")] public virtual PdfSelection Find (string text, PdfSelection selection, nint options); public void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string, NSStringCompareOptions)' instead.")] public virtual void FindAsync (string text, nint options); public void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string [], NSStringCompareOptions)' instead.")] public virtual void FindAsync (string[] text, nint options); iOS (after) public virtual PdfSelection[] Find (string text, Foundation.NSStringCompareOptions compareOptions); public virtual PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); * Bump versions for the 7th preview (#2541) * Remove additions of AVKit removed in beta5 (#2536) * NSUrlSessionTask should implement NSProgressReporting for iOS (#2548) NSUrlSessionTask implements NSProgressReporting on iOS as well as Mac, so the #if MONOMAC isn't needed. * Add missing availability attributes causing failures on older iOS versions (#2550) * [vision] Minor fix wrt xtro (#2551) including some things we need to ignore manually !missing-field! VNVisionVersionNumber not bound !missing-pinvoke! VNImagePointForFaceLandmarkPoint is not bound !missing-pinvoke! VNNormalizedFaceBoundingBoxPointForLandmarkPoint is not bound * [uikit] NSFileProviderMessaging was removed in beta 2. Fixes #58222 (#2552) reference: https://bugzilla.xamarin.com/show_bug.cgi?id=58222 * [uikit] Update for Xcode 9 - Part 5 (#2546) Bindings for the following headers: - UIActivity.h - UIActivityItemProvider.h - UIAlertController.h - UIApplication.h - UIBarButtonItem.h - UIButton.h - UICollectionViewLayout.h - UIColor.h - UIControl.h - UIDocumentMenuViewController.h - UIFontMetrics.h - UIGestureRecognizer.h - UIGraphicsImageRenderer.h - UIInputViewController.h * [CoreText] Fix an extraneous free in CTFont.GetDefaultCascadeList. (#2555) We do not own the return value from CFArrayGetValueAtIndex, so don't say we do when creating CTFontDescriptor instances, since that leads to angry dragons: 2017-08-28 20:15:20.293 monotouchtest[33186:2311738] A_FontTest 2017-08-28 20:15:20.294 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithFontDescriptorAndOptions 2017-08-28 20:15:20.295 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithNameAndOptions 2017-08-28 20:15:20.296 monotouchtest[33186:2311738] critical: Stacktrace: at <unknown> <0xffffffff> at (wrapper managed-to-native) CoreText.CTFont.CTFontCopyDefaultCascadeListForLanguages (intptr,intptr) [0x0000a] in <ae65a2b1eea242d2b68fe784749543bf>:0 at CoreText.CTFont.GetDefaultCascadeList (string[]) [0x00013] in /work/maccore/xcode9/xamarin-macios/src/CoreText/CTFont.cs:2185 at MonoTouchFixtures.CoreText.A_FontTest.GetCascadeList () [0x0001e] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/CoreText/FontTest.cs:78 at (wrapper runtime-invoke) object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) [0x0004f] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) System.Reflection.MonoMethod.InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&) [0x00016] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at System.Reflection.MonoMethod.Invoke (object,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo) [0x00032] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/corlib/System.Reflection/MonoMethod.cs:305 at System.Reflection.MethodBase.Invoke (object,object[]) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/referencesource/mscorlib/system/reflection/methodbase.cs:229 at NUnit.Framework.Internal.Reflect.InvokeMethod (System.Reflection.MethodInfo,object,object[]) [0x00009] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Reflect.cs:215 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunNonAsyncTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x00025] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:116 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x0001a] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:90 at NUnit.Framework.Internal.Commands.TestMethodCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:66 at NUnit.Framework.Internal.Commands.SetUpTearDownCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00007] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/SetUpTearDownCommand.cs:84 at NUnit.Framework.Internal.WorkItems.SimpleWorkItem.PerformWork () [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/SimpleWorkItem.cs:64 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at MonoTouch.NUnit.UI.BaseTouchRunner.Run (NUnit.Framework.Internal.Test) [0x0004d] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:442 at MonoTouch.NUnit.UI.BaseTouchRunner.Run () [0x00030] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:171 at MonoTouch.Dialog.StringElement.Selected (MonoTouch.Dialog.DialogViewController,UIKit.UITableView,Foundation.NSIndexPath) [0x00008] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/Elements.cs:765 at MonoTouch.Dialog.DialogViewController.Selected (Foundation.NSIndexPath) [0x00026] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:577 at MonoTouch.Dialog.DialogViewController/Source.RowSelected (UIKit.UITableView,Foundation.NSIndexPath) [0x00016] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:402 at (wrapper runtime-invoke) <Module>.runtime_invoke_void__this___object_object (object,intptr,intptr,intptr) [0x0005d] in <32f0c196c5bc4aa18daea2ee64a7814e>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) UIKit.UIApplication.UIApplicationMain (int,string[],intptr,intptr) [0x0005c] in <ae65a2b1eea242d2b68fe784749543bf>:0 at UIKit.UIApplication.Main (string[],intptr,intptr) [0x00005] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:79 at UIKit.UIApplication.Main (string[],string,string) [0x00038] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:63 at monotouchtest.Application.Main (string[]) [0x00011] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/Main.cs:27 at (wrapper runtime-invoke) <Module>.runtime_invoke_void_object (object,intptr,intptr,intptr) [0x00051] in <30a7f7e09de9467b8b454221034a0e38>:0 Native stacktrace: 0 monotouchtest 0x000000010fca03c4 mono_handle_native_crash + 244 1 monotouchtest 0x000000010fcadd30 mono_sigsegv_signal_handler + 288 2 libsystem_platform.dylib 0x000000011feb3b3a _sigtramp + 26 3 CoreFoundation 0x000000011de035a2 computeSanitizedString + 146 4 CoreText 0x00000001168df314 _ZN15TPurgeableCache19RetainedValueForKeyEPKv + 54 5 CoreText 0x00000001168def85 _ZNK17TDescriptorSource22CopyDescriptorUncachedEPK7__CFURLbPK10__CFString + 55 6 CoreText 0x00000001168df34f _ZNK17TDescriptorSource14CopyDescriptorEPK7__CFURLbPK10__CFString + 27 7 CoreText 0x00000001168e20ad _ZNK17TDescriptorSource35CopyFontDescriptorPerPostScriptNameEPK10__CFStringmm + 297 8 CoreText 0x00000001168dfd9e _ZNK17TDescriptorSource30CopySystemFontDescriptorByNameEPK10__CFString10UIFontFlag + 54 9 CoreText 0x00000001168e54c4 _ZNK14TFontFallbacks17CopyFontFallbacksEPK10__CFStringS2_PK9__CFArray + 652 10 CoreText 0x00000001168e4a00 _ZNK14TFontFallbacks29CopyFontFallbacksForLanguagesEPK10__CFStringPK9__CFArray + 122 11 CoreText 0x00000001168e4971 _ZN17TDescriptorSource39CopyDefaultSubstitutionListForLanguagesEPK10__CFStringPK9__CFArray + 61 12 CoreText 0x00000001169397a7 _ZNK9TBaseFont28CreateSystemDefaultFallbacksEPK10__CFStringPK9__CFArray + 51 13 CoreText 0x000000011693999c _ZNK9TBaseFont15CreateFallbacksE10UIFontFlagPPK16__CFCharacterSetPK9__CFArray + 346 14 CoreText 0x00000001168c1036 _ZNK5TFont24CreateDefaultCascadeListEPK9__CFArray + 242 15 CoreText 0x00000001168b8ff9 CTFontCopyDefaultCascadeListForLanguages + 97 16 ??? 0x0000000140eaefd3 0x0 + 5384105939 17 ??? 0x0000000140eae761 0x0 + 5384103777 18 ??? 0x000000013c9c8e74 0x0 + 5311860340 19 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 20 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 21 monotouchtest 0x000000010fd71bac mono_runtime_try_invoke_array + 1292 22 monotouchtest 0x000000010fd15587 ves_icall_InternalInvoke + 647 23 ??? 0x000000013e9fcd13 0x0 + 5345627411 24 ??? 0x000000013e9fc738 0x0 + 5345625912 25 ??? 0x000000013e9fded5 0x0 + 5345631957 26 ??? 0x000000013e9fbb76 0x0 + 5345622902 27 ??? 0x000000013e9e237e 0x0 + 5345518462 28 ??? 0x000000013e9e237e 0x0 + 5345518462 29 ??? 0x000000013e9e237e 0x0 + 5345518462 30 ??? 0x000000013e9e237e 0x0 + 5345518462 31 ??? 0x000000013e873006 0x0 + 5344014342 32 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 33 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 34 monotouchtest 0x000000010fd6e320 mono_runtime_invoke + 208 35 monotouchtest 0x000000010fe71af1 xamarin_invoke_trampoline + 5617 36 monotouchtest 0x000000010fe79ddd xamarin_arch_trampoline + 189 37 monotouchtest 0x000000010fe7b1a1 xamarin_x86_64_common_trampoline + 110 38 UIKit 0x0000000111b9876b -[UITableView _selectRowAtIndexPath:animated:scrollPosition:notifyDelegate:] + 1810 39 UIKit 0x0000000111b98986 -[UITableView _userSelectRowAtPendingSelectionIndexPath:] + 344 40 UIKit 0x0000000111a6b5c9 _runAfterCACommitDeferredBlocks + 318 41 UIKit 0x0000000111a59dad _cleanUpAfterCAFlushAndRunDeferredBlocks + 280 42 UIKit 0x0000000111a89f68 _afterCACommitHandler + 137 43 CoreFoundation 0x000000011de3ddb7 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23 44 CoreFoundation 0x000000011de3dd0e __CFRunLoopDoObservers + 430 45 CoreFoundation 0x000000011de22324 __CFRunLoopRun + 1572 46 CoreFoundation 0x000000011de21a89 CFRunLoopRunSpecific + 409 47 GraphicsServices 0x0000000121b7e9c6 GSEventRunModal + 62 48 UIKit 0x0000000111a5f7d0 UIApplicationMain + 159 49 ??? 0x000000013c9c4474 0x0 + 5311841396 50 ??? 0x000000013c9c40ad 0x0 + 5311840429 ================================================================= Got a SIGSEGV while executing native code. This usually indicates a fatal error in the mono runtime or one of the native libraries used by your application. ================================================================= * [monotouch-test] Don't subclass MKMapView. (#2556) MKMapView doesn't like being subclassed (Apple says "you should not subclass the MKMapView class itself"). Bad things like this starts happening: Thread 0 name: tid_303 Dispatch queue: com.apple.main-thread Thread 0 Crashed: 0 libsystem_kernel.dylib 0x0000000186b25348 __pthread_kill + 8 1 libsystem_pthread.dylib 0x0000000186c39354 pthread_kill$VARIANT$mp + 396 2 libsystem_c.dylib 0x0000000186a94fd8 abort + 140 3 monotouchtest 0x0000000101c02c14 mono_handle_native_crash + 22047764 (mini-exceptions.c:2548) 4 monotouchtest 0x0000000101c0d02c mono_sigsegv_signal_handler + 22089772 (mini-runtime.c:2886) 5 libsystem_platform.dylib 0x0000000186c33b60 _sigtramp + 52 6 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 7 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 8 CoreFoundation 0x0000000186eda51c -[__NSArrayM dealloc] + 68 9 CoreFoundation 0x000000018703f5c8 __CFBasicHashDrain + 312 10 CoreFoundation 0x0000000186fb5b44 _CFRelease + 224 11 CoreText 0x000000018a808404 TDescriptorSource::PurgeFontFallbacksCache+ 488452 () + 92 12 CoreText 0x000000018a808374 TDescriptorSource::PurgeFromCaches+ 488308 (__CFURL const*) const + 176 13 CoreText 0x000000018a7eec74 CTFontRemoveFromCaches + 168 14 VectorKit 0x0000000196a539b0 +[VKSharedResourcesManager removeResourceUser:] + 324 15 VectorKit 0x0000000196ca27a4 md::MapEngine::~MapEngine+ 2643876 () + 360 16 VectorKit 0x0000000196ca2634 md::MapEngine::~MapEngine+ 2643508 () + 12 17 libobjc.A.dylib 0x000000018651eef4 object_cxxDestructFromClass+ 28404 (objc_object*, objc_class*) + 148 18 libobjc.A.dylib 0x000000018652c638 objc_destructInstance + 88 19 libobjc.A.dylib 0x000000018652c690 object_dispose + 16 20 QuartzCore 0x000000018afca3ac -[CALayer dealloc] + 116 21 VectorKit 0x0000000196a43294 -[VKMapView dealloc] + 940 22 QuartzCore 0x000000018af6aafc CA::release_objects+ 744188 (X::List<void const*>*) + 32 23 QuartzCore 0x000000018afd97d8 CA::Layer::~Layer+ 1198040 () + 276 24 QuartzCore 0x000000018afca37c -[CALayer dealloc] + 68 25 QuartzCore 0x000000018af6b16c CA::Transaction::commit+ 745836 () + 1052 26 UIKit 0x0000000190393290 _afterCACommitHandler + 256 27 CoreFoundation 0x0000000186fb38b8 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 32 28 CoreFoundation 0x0000000186fb1270 __CFRunLoopDoObservers + 412 29 CoreFoundation 0x0000000186fb182c __CFRunLoopRun + 1292 30 CoreFoundation 0x0000000186ed22d8 CFRunLoopRunSpecific + 436 31 GraphicsServices 0x0000000188d58f84 GSEventRunModal + 100 32 UIKit 0x000000019040427c UIApplicationMain + 208 33 monotouchtest 0x000000010106eb90 wrapper_managed_to_native_UIKit_UIApplication_UIApplicationMain_int_string___intptr_intptr + 9907088 (/<unknown>:1) 34 monotouchtest 0x0000000100f0d6ac UIKit_UIApplication_Main_string___intptr_intptr + 8459948 (UIApplication.cs:79) 35 monotouchtest 0x0000000100f0d66c UIKit_UIApplication_Main_string___string_string + 8459884 (UIApplication.cs:63) 36 monotouchtest 0x0000000100b10450 monotouchtest_Application_Main_string__ + 4277328 (Main.cs:27) 37 monotouchtest 0x0000000100e0c244 wrapper_runtime_invoke_object_runtime_invoke_dynamic_intptr_intptr_intptr_intptr + 244 38 monotouchtest 0x0000000101c10048 mono_jit_runtime_invoke + 22102088 (mini-runtime.c:2526) 39 monotouchtest 0x0000000101c75eec do_runtime_invoke + 22519532 (object.c:2829) 40 monotouchtest 0x0000000101c78a3c do_exec_main_checked + 22530620 (object.c:4623) 41 monotouchtest 0x0000000101bf9a1c mono_jit_exec + 22010396 (driver.g.c:1040) 42 monotouchtest 0x0000000101d13d60 xamarin_main + 23166304 (monotouch-main.m:482) 43 monotouchtest 0x00000001007de710 main + 927504 (main.m:67) 44 libdyld.dylib 0x00000001869f656c start + 4 * [introspection] Let SkipDueToAttributeInProperty skip setters too (#2557) `SkipDueToAttributeInProperty` which is used to check the availability attribute of properties when the Availability info only exist on the property and not on the property Getter or Setter was wrong. This lead to `setSpringLoaded` (which was introduced in iOS 11) to not be ignored by the test (making it fail). - Fix bug #59085: [introspection-ios] selector not found for UIKit.UIBarButtonItem : setSpringLoaded: - Broken test (https://bugzilla.xamarin.com/show_bug.cgi?id=59085) * [corevideo][watchos] Enable CoreVideo on watchOS (#2553) * [storekit] Fix CampaignToken typo (#2559) (#2560) - Fixes bug #59078: StoreProductParameters and invalid property for CampaignToken (https://bugzilla.xamarin.com/show_bug.cgi?id=59078) * [coreml][watchos] Enable API using CoreVideo on watchOS. Fix #58097 (#2561) https://bugzilla.xamarin.com/show_bug.cgi?id=58097 * Add missing [MarshalDirective] attributes. (#2558) * [bindings-generator] Improve build & project file. * Add missing [MarshalDirective] attributes. Add missing [MarshalDirective] attributes, which also requires implementing support for out parameters in the binding generator, since one of the signatures missing the [MarshalDirective] contains such an out parameter. Also add tests for all the API I've added [MarshalDirective] to. * [bindings-generator] Remove redundant if check. * [monotouch-test] Rename file to end with 'Test.cs'. * [tests] Fix a few build errors for Xamarin.Mac. * [uikit] Fix UIColor and UIInputViewController tvOS availability (#2569) - Fixes introspection tests on tvOS 10. * [storekit] Fix SKCloudServiceSetupMessageIdentifier and SKProductStorePromotionController tvOS availability (#2568) - Fixes introspection tests on tvOS 10. * [mapkit] Fix MKMapItemTypeIdentifier tvOS availability (#2566) - Also remove double [Mac] availability attribute. - Fixes introspection tests on tvOS 10. * [ARKit] Fix marshalling for ARPointCloud.RawFeaturePoints. (#2565) ARPointCloud.RawFeaturePoints is an array of Vector3, but each vector is 16-byte aligned (as if it were an array of Vector4). This means we need to account for this when creating a managed array from pointer to the native C-style array. * [ModelIO] Fix MDLVoxelIndexExtent struct. (#2564) The MDLVoxelIndexExtent is a struct containing two 4-dimensional vectors of integers (not floats, as originally and incorrectly implemented). Fix this my creating a new MDLVoxelIndexExtent2 struct with the right fields, re-implement all the API that exposes this struct and obsolete the old API. Also add missing [MarshalDirective] attributes. And write a test to make sure it works fine now and forever. * [coredata] Enable new fields since rdar #33878590 is fixed w/beta 6 (#2570) reference: https://trello.com/c/dlSRYPFx * [xtro-sharpie] Add a Simd check class to verify signatures with Simd types. * [Simd] Add simd matrix types. The OpenTK matrices (Matrix2/3/4) has a different memory layout than Apple's matrix_float2x2/matrix_float3x3/matrix_float4x4 matrices: the OpenTK versions are row-major, while Apple's versions are column-major. This means that when blitting memory from one to the other, the matrix will appear to have been transposed. See bug #[58599][2] for an example. Unfortunately we've already bound several API with Apple's matrix_floatXxX matrices using OpenTK's matrices, and although they're bound wrong, and the matrices appear transposed on input/output, we can't change the behavior because we have to maintain compatibility. This means we have to introduce new API, and then also just define new matrix types with the right memory layout (column-major). Additionally, in the future we might be able to mark these matrices as Simd-matrixes, so that the JIT/AOT compiler can generate the correct alignment for them, avoiding having to define a native conversion method (using the [MarshalDirective] hack). The matrices have been designed to match API-wise the matrices in the System.Numerics.Vectors namespace [1], but for the moment with only a few basic operations implemented (Determinant/Transpose/Multiply) defined (we can always add more later if we want to). In addition explicit conversion operators to and from the corresponding OpenTK.MatrixX are implemented, which means any operation defined in the OpenTK matrices can be used by converting back and forth. [1]: https://msdn.microsoft.com/en-us/library/system.numerics.matrix4x4(v=vs.111).aspx [2]: https://bugzilla.xamarin.com/show_bug.cgi?id=58599 * [ARKit] Use the new Simd matrix types. * [Vision] Use the new Simd matrix types. * [ModelIO] Use the new Simd-compatible matrix types, and deprecate the old API. * [GameplayKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [SpriteKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [xtro] Don't report missing [MarshalDirective] for obsolete methods. * [xtro] Remove unnecessary ignores. The implementation changed, and these stayed accidentally. * [wkwebkit] Fix (native) protocol names (#2572) Also ignore xtro's WKSnapshotConfiguration since it's an Apple bug 34185961 reference (xtro) !missing-protocol! WKURLSchemeHandler not bound !missing-protocol! WKURLSchemeTask not bound !unknown-protocol! WKUrlSchemeHandler bound !unknown-protocol! WKUrlSchemeTask bound !unknown-type! WKSnapshotConfiguration bound * [uikit] Fix enums availability attributes (#2575) - Fixes bug #59132: [uikit] Extra types in watchOS (https://bugzilla.xamarin.com/show_bug.cgi?id=59132) * [watchkit] Add missing designated initializers (#2574) references (xtro) !missing-designated-initializer! WKInterfaceController::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! WKUserNotificationInterfaceController::init is missing an [DesignatedInitializer] attribute * [xtro] Reword some of the Simd diagnostic messages according to review. * [tests] Make sure test symbols don't clash between different test libraries. Fixes this build problem for framework-test: clang: error: linker command failed with exit code 1 (use -v to see invocation) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_get_rotation_matrix'. MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticObjectTest.framework/XStaticObjectTest (Location related to previous error) MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticArTest.framework/XStaticArTest(libtest-ar.x86_64.o) (Location related to previous error) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransformcomponent_get_local_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_create_global_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float4x4'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float3x3'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float2x2'. MTOUCH: error MT5209: Native linking error: 6 duplicate symbols for architecture x86_64 MTOUCH: error MT5202: Native linking failed. Please review the build log. * [tests] Since libtest.a need ModelIO now, the corresponding LinkWith attributes need to state that too. * [introspection] Don't check native signatures on obsolete members, and ignore the right simd matrix types. Fixes this introspection/Mac problem: ***** ApiSignatureTest.NativeSignatures Selector: uniformWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: uniformWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: uniformWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: setMatrixFloat2x2Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: setMatrixFloat3x3Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: setMatrixFloat4x4Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: initWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: initWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: initWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded * [monotouch-tests] Include more custom asserts for watchOS to make the build work. Fixes this: Simd/MatrixFloat4x4Test.cs(28,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(29,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(37,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(48,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' [...] * [monotouch-test] Exclude code that requires the binding project from xammac tests. Exclude code that requires the test binding project from xammac tests because there's currently no XM version of the test binding project. Fixes this: tests/monotouch-test/SpriteKit/UniformTest.cs(20,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLMaterialProperty.cs(37,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLTransform.cs(34,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) * Bump version for preview #8 (#2576) * [spritekit] Audit fixes (xtro) (#2577) 1. SKVideoNode is now, partially, available on watchOS and does not require the extra, manual code to swicth selectors depending on the OS version being run. !missing-type! SKVideoNode not bound !missing-selector! SKVideoNode::anchorPoint not bound !missing-selector! SKVideoNode::initWithCoder: not bound !missing-selector! SKVideoNode::initWithFileNamed: not bound !missing-selector! SKVideoNode::initWithURL: not bound !missing-selector! SKVideoNode::setAnchorPoint: not bound !missing-selector! SKVideoNode::setSize: not bound !missing-selector! SKVideoNode::size not bound !missing-selector! +SKVideoNode::videoNodeWithFileNamed: not bound !missing-selector! +SKVideoNode::videoNodeWithURL: not bound 2. SKNodeFocusBehavior is exposed needlessly on watchOS because SpriteKit/Enums.cs was not processed by the generator, so [NoWatch] did not matter. !unknown-native-enum! SKNodeFocusBehavior bound It's also visible on macOS but nothing uses it (so we do not expose it needlessly) !missing-enum! SKNodeFocusBehavior not bound 3. Add missing designated initializer on default `init` !missing-designated-initializer! SKAttributeValue::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! SKNode::init is missing an [DesignatedInitializer] attribute 4. Remove inconsistency for SKNode subclasses wrt XAMCORE_4_0 The trio attributeValues, setAttributeValues and setValue:forAttributeNamed: that was moved from SKNode (deprecated) into its subclasses. This was done using XAMCORE_4_0 but not on every subclasses. This adds them everywhere to be consistent (only SKNode versions are not defined in XAMCORE_4_0) !missing-selector! SKEffectNode::attributeValues not bound !missing-selector! SKEffectNode::setAttributeValues: not bound !missing-selector! SKEffectNode::setValue:forAttributeNamed: not bound !missing-selector! SKEffectNode::valueForAttributeNamed: not bound !missing-selector! SKEmitterNode::attributeValues not bound !missing-selector! SKEmitterNode::setAttributeValues: not bound !missing-selector! SKEmitterNode::setValue:forAttributeNamed: not bound !missing-selector! SKEmitterNode::valueForAttributeNamed: not bound !missing-selector! SKSpriteNode::attributeValues not bound !missing-selector! SKSpriteNode::setAttributeValues: not bound !missing-selector! SKSpriteNode::setValue:forAttributeNamed: not bound !missing-selector! SKSpriteNode::valueForAttributeNamed: not bound * [introspection] Make sure '[FAIL]' is printed before every failure. (#2578) This makes xharness able to list the failures in the inline summary. * [xtro] Reword some of the Simd diagnostic messages according to review. * [xharness] Add a missing IsServerMode check to generate correct html. (#2581) * [SpriteKit] SKTransformNode is new in Xcode 9 so no need to keep the broken (and obsolete) non-simd version of RotationMatrix. * [intents] Fix some (partial) xtro issues and #59156 (#2585) reference https://bugzilla.xamarin.com/show_bug.cgi?id=59156 Remaining issues are filled in https://bugzilla.xamarin.com/show_bug.cgi?id=59183 !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound * [Intents] Confirm* interface methods should be bound as Confirm, Fixes Bug 59164 (#2591) * [Intents] Confirm* interface methods should probably be bound as Confirm, Fixes Bug 59164 https://bugzilla.xamarin.com/show_bug.cgi?id=59164 All Confirm* methods from *IntentHandling interfaces should be named just `Confirm` to avoid confusion because most of them do not directly confirm as an acion, but instead they **ask** for confirmation also we would follow swift's naming by doing this. * [Intents] XAMCORE_4_0 all Confirm* methods from *IntentHandling Turns any Confirm* into just Confirm inside a XAMCORE_4_0 block, * [Intents] Fix breaking changes in Intents added in Xcode 9 Bindings (#2590) Apple added more protocol conformances to INRidesharingDomainHandling and INPaymentsDomainHandling protocols in Xcode 9, I introduced these breaking changes back when I did intents binding so fixing them :) * [Metal] New bindings from Xcode 9 betas (#2457) * [AVFoundation] Updated bindings for xcode9. (#2272) * [Xcode9] Add IOSurface bindings (#2363) * This framework was a private framework before iOS 11. This framework was a private framework before iOS 11, yet the headers claim many API were introduced in iOS 10. So take account of this difference by using the private framework location in iOS 10.3 or earlier. Testing these API from Xcode works fine when run on an iOS 10.3 device, and I've confirmed the IOSurface framework is loaded from the private frameworks path on older devices (and when built using Xcode 9 and linked with the public framework path). * Disable code to make IOSurface work on iOS 10. Disable the code to make IOSurface work on iOS 10, since it may be rejected by the App Store. This also means adjusting the availability attributes, so that the introspection tests pass (and to document that technically these API won't work when used with Xamarin.iOS in iOS 10). I've filed bug #[59201][1] to keep track of this, maybe we can re-enable this later. [1]: https://bugzilla.xamarin.com/show_bug.cgi?id=59201 * [CoreMedia] Fix leak in CMAttachmentBearer.GetAttachments. (#2593) The caller owns the return value from CMCopyDictionaryOfAttachments, so tell Runtime.GetNSObject that. * [Intents] Adds missing API found by xtro, fixes Bug 59183 (#2596) https://bugzilla.xamarin.com/show_bug.cgi?id=59183 Fixes !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !incorrect-protocol-member! INUIHostedViewControlling::configureWithInteraction:context:completion: is OPTIONAL and should NOT be abstract * [xtro] Fix StartWorkingDirectory to enable debugging (#2598) * [iosurface] Enable for tvOS and XM classic (to avoid multiple defines around consumer API) (#2597) * [xtro] Fix EnumCheck (#2600) * [ARKit] Rename a few method to make them nicer. (#2604) * DisplayTransform -> GetDisplayTransform since methods should have verbs. * SessionWasInterrupted -> WasInterrupted and SessionInterruptionEnded -> InterruptionEnded since these names match better with the other names (CameraDidChangeTrackingState / DidFail / DidOutputAudioSampleBuffer: none are prefixed with 'Session'). Additionally, the type is a Model (for the delegate pattern), which means all methods are more-or-less event-like, and the first argument is always the same (the protocol itself), which is another indicator the methods should be named similarly. * [Foundation] Remove 'Key' suffix from some fields. (#2606) Of the 168 fields in NSMetadataItem, only these 5 hadn't removed the 'Key' suffix. So make them all equivalent by removing the 'Key' suffix from these 5 fields. * [ImageIO] Fix API to not duplicate the instance in instance methods. (#2609) An instance method does not need to take the instance as a parameter, so remove the first (instance) parameter for CGImageDestination.AddAuxiliaryDataInfo and CGImageSource.CopyAuxiliaryDataInfo. An alternative solution would be to make the methods static, but I like the instance API better. * [UIKit] De-model UIDataSourceTranslating. (#2603) It's not clear from neither the documentation nor the headers how this protocol is supposed to be used, and since it doesn't correspond to the delegate pattern, remove the [Model] attribute for now. We can always add it back later. * [CoreML] Improve API. (#2592) * [CoreML] Improve API. * The indices, shape and stride properties for MLMultiArray and MLMultiArrayConstraint can logically only be arrays of integers, so type them as such. This means adding overloads for MLMultiArray's constructors, GetObject and SetObject methods, and the indexers that takes nint[] arrays instead of NSNumber[] arrays. * Change MLFeatureValue's static factory methods to be a method ('Create') instead of a preposition, and call all the different factory methods the same, since they can be overloaded nicely. * [tests][monotouch-test] Add version check to MLMultiArrayTest and make sure the arrays we create are big enough for the data we put in them. * [tests][monotouch-test] MLMultiArray's elements aren't zero-initialized, so don't assume that in the tests. * Support overloading Objective-C methods based on static/instance. (#2607) Two Objective-C methods can be named identically as long as one is static and the other instance. We must support this since Apple did just this (in the NSItemProviderReading / NSItemProviderWriting protocols). We solve it by prepending a '+' or '-' to the selector when hashing it (to determine selector uniqueness, and to look the method up again at runtime). * [uikit] Update for Xcode 9 - Part 6 (#2602) NSAttributedString.h NSFileProviderExtension.h NSLayoutAnchor.h UIAccessibility.h UIAccessibilityAdditions.h UIAccessibilityContainer.h UIAccessibilityContentSizeCategoryImageAdjusting.h UIAccessibilityCustomRotor.h UIAccessibilityLocationDescriptor.h UITabBar.h UINavigationBar.h UIScreen.h * Xcode9 scenekit (#2512) * [SceneKit] basic work * Added key * [xcode9] SCNCameraController * [xcode9] SCNCamera updates * [xcode9] SCNMaterial * [xcode9] SCNGeometryTessellator, SCNCameraControlConfiguration, SCNView, small bits * Add trailing commas to last enum value * Remove whitespace noise * [scenekit] Update deprecated attributes messages * Addresses some of Rolf's feedback * Drop the WeakDelegate in SCNCameraController * Rename method to Render, remove ctor from class that can not be constructed in Palygrounds, add typo exception * [AppKit] Rename NSBezierPath.AppendBezierPathWithCGGlyph to match its sibling methods. (#2605) NSBezierPath contains a lot of 'AppendPathWithXXX' methods, that all map to 'appendBezierPathXXX' selectors. So rename AppendBezierPathWithCGGlyph accordingly, to make it more similar to the other methods in the same type. * [uikit] Add all UISpringLoadedInteractionSupporting (#2616) Types do not conform to the protocol but protocol methods work on those types (see monotouch-test). Fixed introspection tests accordingly and tested the selectors in monotouch-test. * [Intents] Add convenience ctor overload and call correct base ctor in manual ctor. (#2613) Add a convenience constructor overload in INGetUserCurrentRestaurantReservationBookingsIntent that uses nint instead of NSNumber, since logically "number of results" will always be some sort of integer. Also call the correct base constructor in INSpeakableString's custom constructor (same as any other generated constructor). Otherwise we end up doing something like this: [[[INSpeakableString alloc] init] initWith ...], i.e. calling two different init methods. * [coreimage] Add new headers API up to beta 6 (#2601) Filters are not complete (ref: #57350) https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * Some new constants are not yet documented (type is known), so they are commented / ignored https://bugzilla.xamarin.com/show_bug.cgi?id=59296 * Filled bug for [Wrap] inside [Category] so strong dictionary helpers can be re-enabled later https://bugzilla.xamarin.com/show_bug.cgi?id=59294 * [foundation] xtro fixes for watchOS (#2586) !missing-enum! NSProcessInfoThermalState not bound !missing-field! NSProcessInfoThermalStateDidChangeNotification not bound !missing-selector! NSProcessInfo::thermalState not bound Headers are wrong and preferredPresentationStyle is not in tvOS and watchOS !missing-selector! NSItemProvider::preferredPresentationStyle not bound !missing-selector! NSItemProvider::setPreferredPresentationStyle: not bound * [uikit] Also remove UIPreferredPresentationStyle enum from platform where it's not used * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. (#2614) * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. * NSItemProviderWriting: * NSItemProviderReading: Implement correctly and completely by uncommenting commented out code. * NSMutableString: * NSAttributedString: remove inlined members, since these classes don't implement NSItemProviderReading / NSItemProviderWriting (according to the headers at least). * NSUrl: all platforms now seem to implement NSItemProviderReading / NSItemProviderWriting. * NSString: all platforms now seem to implement both NSItemProviderReading and NSItemProviderWriting * UIColor: * UIImage: Update inlined protocol members according to the latest beta. Additionally, due to the following conditions: * The protocols all have the correct members now. * In the API definition we tell the generator to inline members from a protocol by inheriting from the corresponding interface. * The generator doesn't inline static members from protocols. several 'new' keywords had to be added to silence a compiler warning that occurrs when we manually inline a static member, since the member would be included in the type both from the inherited interface and the manual implementation. * [Foundation] Comment out NSItemProviderWriting.GetItemProviderVisibility to avoid inlining/generating unusable methods. NSItemProviderWriting.GetItemProviderVisibility is an optional method, and none of the native classes that implements NSItemProviderWriting actually imlements the method. This means inlining the method in those classes ends up creating unusable API; so just comment out the method to avoid generating the unusable API. The introspection tests found this: [FAIL] Foundation.NSString : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Foundation.NSUrl : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Contacts.CNContact : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] MapKit.MKMapItem : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIColor : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIImage : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] iOSApiSelectorTest.ApiSelectorTest.StaticMethods : 6 errors found in 2348 static selector validated: See also https://bugzilla.xamarin.com/show_bug.cgi?id=59308 * [iosurface] Add missing [TV] attributes (#2619) * [opengles] Enable the new API using IOSurface (#2618) The symbol only exists inside device libraries, not on simulator, and the introspection tests were updated to ignore it. Part of https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [avfoundation][watchos] Enable AudioBufferList (fix #59145) + audit (xtro) (#2617) 1. AudioBufferList is part of CoreAudio (wrong namespace, which needs a few changes in the generator) and now available in watchOS 4 https://bugzilla.xamarin.com/show_bug.cgi?id=59145 2. Also fixes xtro found issues: !missing-type! AVAudioRecorder not bound !missing-selector! AVAudioRecorder::averagePowerForChannel: not bound !missing-selector! AVAudioRecorder::channelAssignments not bound !missing-selector! AVAudioRecorder::currentTime not bound !missing-selector! AVAudioRecorder::delegate not bound !missing-selector! AVAudioRecorder::deviceCurrentTime not bound !missing-selector! AVAudioRecorder::format not bound !missing-selector! AVAudioRecorder::initWithURL:format:error: not bound !missing-selector! AVAudioRecorder::initWithURL:settings:error: not bound !missing-selector! AVAudioRecorder::isMeteringEnabled not bound !missing-selector! AVAudioRecorder::isRecording not bound !missing-selector! AVAudioRecorder::peakPowerForChannel: not bound !missing-selector! AVAudioRecorder::recordAtTime: not bound !missing-selector! AVAudioRecorder::recordAtTime:forDuration: not bound !missing-selector! AVAudioRecorder::recordForDuration: not bound !missing-selector! AVAudioRecorder::setChannelAssignments: not bound !missing-selector! AVAudioRecorder::setDelegate: not bound !missing-selector! AVAudioRecorder::setMeteringEnabled: not bound !missing-selector! AVAudioRecorder::settings not bound !missing-selector! AVAudioRecorder::url not bound !missing-protocol! AVAudioRecorderDelegate not bound !missing-selector! AVAudioEngine::inputNode not bound !missing-selector! AVAudioEngine::manualRenderingBlock not bound !missing-selector! AVAudioInputNode::setManualRenderingInputPCMFormat:inputBlock: not bound !missing-selector! AVAudioPlayer::format not bound !missing-selector! AVAudioSession::requestRecordPermission: not bound !unknown-field! AVFileType3GPP bound !unknown-field! AVFileType3GPP2 bound !unknown-field! AVFileTypeAC3 bound !unknown-field! AVFileTypeAIFC bound !unknown-field! AVFileTypeAIFF bound !unknown-field! AVFileTypeAMR bound !unknown-field! AVFileTypeAVCI bound !unknown-field! AVFileTypeAppleM4A bound !unknown-field! AVFileTypeAppleM4V bound !unknown-field! AVFileTypeCoreAudioFormat bound !unknown-field! AVFileTypeDNG bound !unknown-field! AVFileTypeEnhancedAC3 bound !unknown-field! AVFileTypeHEIC bound !unknown-field! AVFileTypeHEIF bound !unknown-field! AVFileTypeJPEG bound !unknown-field! AVFileTypeMPEG4 bound !unknown-field! AVFileTypeMPEGLayer3 bound !unknown-field! AVFileTypeQuickTimeMovie bound !unknown-field! AVFileTypeSunAU bound !unknown-field! AVFileTypeTIFF bound !unknown-field! AVFileTypeWAVE bound * [Metal] Implement API using IOSurface now that IOSurface is implemented. Partially fixes #58054. (#2621) https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [PdfKit] Improve PdfAnnotation.QuadrilateralPoints binding by making it strongly typed. (#2620) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). (#2622) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). * [ARKit/Vision] Use the new simd vector types instead of the OpenTK versions. * [ModelIO] Use the new simd vectors in new API (MDLVoxelIndexExtent2). This way we won't have to create a MDLVoxelIndexExtent3 in the future. * [SpriteKit] Use the new simd vectors in new API. * [metal] Audit (xtro) based fixes (#2623) !extra-protocol-member! unexpected selector MTLArgumentEncoder::newArgumentEncoderForBufferAtIndex: found !extra-protocol-member! unexpected selector MTLComputeCommandEncoder::dispatchThreads:threadsPerThreadgroup: found macos-only !missing-field! MTLDeviceRemovalRequestedNotification not bound !missing-field! MTLDeviceWasAddedNotification not bound !missing-field! MTLDeviceWasRemovedNotification not bound !missing-pinvoke! MTLCopyAllDevices is not bound * [CloudKit] Update bindings to beta 6. (#2615) * [FileProvider] Turn NSFileProviderItemIdentifier enum into a static class, fixes bug 59329 (#2634) https://bugzilla.xamarin.com/show_bug.cgi?id=59329 At the time of binding NSFileProviderItemIdentifier it wasn't clear how it was supposed to be used, I mean apple provides two keys which I thought were the only possible values hence binding it as an smart enum. Unfortunately this wasn't the case and the user can use those two values provided from the SDK or their own NSString Identifier. Swift provides a wrapper unfortunately we can't do the same due to NSFileProviderItemIdentifier is used in the NSFileProviderItem protocol and we currently do not support changing signatures on them. * [mtouch] Teach mtouch about the 'IOSurface' framework for tvOS. Fixes #59333. (#2630) https://bugzilla.xamarin.com/show_bug.cgi?id=59333 * Bump Touch.Unit to get fix for API breakage. (#2631) spouliot/Touch.Unit@8f1e19d [NUnitOutputTextWriter] Reintroduce previous constructor to make sure we don't break binary ABI. spouliot/Touch.Unit@00b0c0b [NUnitOutputTextWriter] Don't write invalid xml comments. spouliot/Touch.Unit@de9fe20 [TouchRunner] Restore the original code path when not wrapping NUnit xml output. * [IOSurface] Add missing availability attributes for tvOS. (#2629) * Bump versions for preview 9 (#2624) * [AVFoundation] Add missing interface AVRouteDetector. (#2637) * [tests] Update xtro to reduce list sizes (#2636) * Skip OpenTK duplicate declaration (we can't change them); * Fix rule name change for ARKit / simd; * Add missing default initializer on `init` to pending actions; * Add note for AVPersistableContentKeyRequest changes wrt tvOS; * [ReplayKit] Make RPBroadcastActivityViewController.LoadBroadcastActivityViewController async-capable. (#2639) * [xcode9] More SceneKit bindings (#2633) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 (#2644) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 https://bugzilla.xamarin.com/show_bug.cgi?id=59380 vector_float3 is 16 bytes, which means the binding is incorrect, because Vector3 is 12 bytes, and our code does not that difference into account. * Add tests * [DeviceCheck] Disable default ctor for DCDevice. (#2642) It doesn't seem to be useful according to the documentation, since it appears that the only way to get an instance is to use the static CurrentDevice property. * [audiounit] Audit (xtro) fixes for tvOS (#2635) Availability attributes in non-generated files don't hide symbols/code. reference: !unknown-pinvoke! AudioUnitExtensionCopyComponentList bound !unknown-pinvoke! AudioUnitExtensionSetComponentList bound * [tests] Make sure tvOS tests don't use the (unexisting) API * [tests] Add all test project variations to tests-mac.sln (#2579) * [xharness] Make sure generated mac projects have different project guids. * [introspection] Change the project guid so that it doesn't match the dontlink-mac project guid. * [tests] Add all test project variations to tests-mac.sln. * [xharness] Fix else condition. * [FileProvider] Adds missing NSFileProviderPage constants, fixes bug 59297. (#2646) https://bugzilla.xamarin.com/show_bug.cgi?id=59297 Adds NSFileProviderInitialPageSortedByName and NSFileProviderInitialPageSortedByDate NSData constants * [Xcode9] Remove NSFileProviderMessage and NSFileProviderMessageInterface (#2647) APIs were removed in beta 2 * [Foundation/UIKit] Provide LoadObject[s] methods that return the expected type in the callback. Fixes #59049. (#2638) The callback for these LoadObject[s] methods take an INSItemProviderReading parameter. This tells our runtime that we must provide an instance of a managed object that implements this interface (but nothing else), so we create a `NSItemProviderReadingWrapper` instance, which complies with the API (since the wrapper type implements the corresponding interface). Unfortunately these methods are supposed to return an instance of the passed- in type, so in order to comply with this soft (documentation-only) requirement, provide a wrapper method that creates instances of the right types. https://bugzilla.xamarin.com/show_bug.cgi?id=59049 * [arkit] Ignore deprecated selectors (#2645) * [FileProvider] Adds missing protocol and keys from audit (#2652) ``` !missing-protocol! NSFileProviderServiceSource not bound !missing-field! NSFileProviderErrorCollidingItemKey not bound !missing-field! NSFileProviderErrorNonExistentItemIdentifierKey not bound !missing-field! NSFileProviderFavoriteRankUnranked not bound ``` Also adds `NSXpcListenerEndpoint` to foundation, needed by `NSFileProviderServiceSource` protocol. * [tests][xtro] Workaround xtro runner dupe entry exception and update data files (#2654) * [AVFoundation] Rename field to match others. (#2657) * [homekit] Audit (xtro) fixes (#2653) - HMCharacteristicEvent conforms to NSMutableCopying on iOS11 which makes it 64 bits only (so adjust intro tests) - Ignore extra setters on HMMutablePresenceEvent, rdar 33883958 !missing-selector! HMMutablePresenceEvent::setPresenceEventType: not bound !missing-selector! HMMutablePresenceEvent::setPresenceUserType: not bound * [xtro] Add missing pinvoke to pending (#2662) - Bug 59422: [uikit] Missing UIContentSizeCategoryCompareToCategory & UIContentSizeCategoryIsAccessibilityCategory (https://bugzilla.xamarin.com/show_bug.cgi?id=59422) * Merge latest d15-3 fixes into xcode9 (#2660) * [msbuild] Re-added wildcard (*) expandsion for application-identifier in Entitlements.plist (#2186) Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=57119 * Bump mono (#2213) * Framework tests were still binding non-linked Simple class which errors now (#2216) (#2218) - Improve Makefile to rebuild when projects build with errors * Bump mono to get cecil fix for bug #56808. (#2222) https://bugzilla.xamarin.com/show_bug.cgi?id=56808 * [msbuild] Use @(ReferencePath) instead of @(ResolvedFiles) (#2188) (#2214) This allows things to work on both xbuild and msbuild. In xbuild, both lists are exactly the same and on msbuild, only @(ReferencePath) exists. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=55147 * NSActivityOptions.IdleDisplaySleepDisabled had wrong value (#2232) (#2239) This was due to an integer overflow. The original value was based on Int32 1 << 40 == 256 The correct value should be based on a UInt64. 1UL << 40 == 1099511627776 * [tests] Fix bug 57699 - [iOS]InternalsTest failure (Linkall) tests on device (#2243) Strip native debugging symbols should not be checked for debug builds * Bump mono to get fix for bug #57780. https://bugzilla.xamarin.com/show_bug.cgi?id=57780 * Update .gitmodules Change branch to d15-3 branch of mono * Bump maccore to get fix for bug #55064. https://bugzilla.xamarin.com/show_bug.cgi?id=55064 * [mono] Bump mono to get the head of cecil/mono-2017-04 and fix IsComObject #57919 Also fix #58789 [1], the typo in tools/mtouch/Tuning.cs showing in MT0000 errors instead MT2102. That's already in master and d15-4 mono bump includes: [2] commit 2a6502cee0df9de5198eafe7c8b5f6ac25106f34 (HEAD -> d15-3, origin/d15-3) Merge: 02457c20fcf 5e05cafc6f1 Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 10:04:06 2017 -0400 Merge pull request #5401 from marek-safar/com [Marshal.IsComObject] Make this predicate return false instead of thr… [3] commit 02457c20fcf57c0610e844d638eb1da82b5d1eb0 Merge: da80840ea55 73fd9a1b82e Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 09:59:06 2017 -0400 Merge pull request #5400 from spouliot/bump-cecil-58834-d15-3 [cecil] Bump to the head of the mono-2017-04 branch and pick the fix for bug #58834 References [1] https://bugzilla.xamarin.com/show_bug.cgi?id=58789 [2] https://bugzilla.xamarin.com/show_bug.cgi?id=57919 [3] https://bugzilla.xamarin.com/show_bug.cgi?id=58834 * [mtouch] Put 'mono_profiler_startup_log' in the symbol list. Fixes #58778. (#2501) We need the 'mono_profiler_startup_log' symbol when profiling is enabled, so make sure to add the symbol to the correct list of symbols we need. Previously we were passing `-u _mono_profiler_startup_log` to clang directly, which is fine, but not complete, since it does not write the symbol to the symbollist file (--symbollist=file), which means it wouldn't be preserved when the MSBuild tasks strip the executable. https://bugzilla.xamarin.com/show_bug.cgi?id=58778 * Bump versions for SR3 https://trello.com/c/EVze08ei * Bump mono to include HttpClientHandler fix #44027 https://trello.com/c/jYFXadH8/8-systemnethttp-close-request-stream-when-httpclienthandler https://bugzilla.xamarin.com/show_bug.cgi?id=44027 * [FileProvider] Add missing API and turn NSString to string (#2663) Turned NSString to string in order to match exisiting API. * [uikit] Add UIPasteConfigurationSupporting and UITextPasteConfigurationSupporting (#2649) - Fixes bug #59363: Missing UIPasteConfigurationSupporting, UITextPasteConfigurationSupporting, UITextDraggable and UITextDroppable on a couple of types (https://bugzilla.xamarin.com/show_bug.cgi?id=59363) * [uikit] Remove 129 types in UIPasteConfigurationSupporting case * [scenekit] Audit (xtro) fixes (#2648) This looks like an Apple breaking change (since `SCNAnimation` is new) but we now have: > typedef void (^SCNAnimationEventBlock)(id<SCNAnimation> animation, id animatedObject, BOOL playingBackward); bound as > delegate void SCNAnimationEventHandler (CAAnimation animation, NSObject animatedObject, bool playingBackward); and `CAAnimation` conforms to `SCNAnimation` but *only* the later is available on watchOS. The delegate is only updated (since it's new) on our watchOS profile. xtro references: (watchos) !unknown-protocol! SCNCameraControlConfiguration bound (tvos/watchos) !missing-selector! SCNAnimation::animationEvents not bound !missing-selector! SCNAnimation::setAnimationEvents: not bound !missing-selector! SCNConstraint::isEnabled not bound !missing-selector! SCNConstraint::setEnabled: not bound !missing-field! SCNSceneSourceConvertToYUpKey not bound !missing-field! SCNSceneSourceConvertUnitsToMetersKey not bound (ios/tvos) !missing-protocol-conformance! SCNNode should conform to UIFocusItem * Bump maccore post 15.3 merge (#2665) * Bump Xcode 9 to GM (#2667) * Force build (on wrench) * [avfoundation] Fix breaking changes (apidiff) (#2664) * [TVServices] Update to Xcode 9 GM (#2675) * [GameController] Update to Xcode 9 GM (#2673) * [LocalAuthentication] Update to Xcode 9 GM (#2671) * [LocalAuthentication] Update to Xcode 9 GM * Remove availability from BiometryNotAvailable, BiometryNotEnrolled and BiometryLockout * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer (#2659) * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer Some of the new added types were already present BUT under a #if MONOMAC, they had to be moved. * [AVFoundation] Set the wrongly added API to be obsolete and ensure it returns logical values. (#2650) * [xtro] The right platform for macOS is 'macos', not 'osx'. (#2677) The platform name is used to filter availability attributes, and if we use the wrong platform, we'll incorrectly skip all availability attributes. The net result in unclassified entries: https://gist.github.com/rolfbjarne/a4474bc2a40c49a85cad495b51bb514f * Various Xcode 9 API improvements and also fixes bug 59433 (#2676) https://bugzilla.xamarin.com/show_bug.cgi?id=59433 While fixing bug 59433 I noticed some additional issues outlined below: AVDepthData: * Renamed **non** static `Create` methods because `Create` only makes sense with the **Static** method in this context. Also by renaming the methods we are now closer to the names that swift uses. * Kept descriptive method names in favor of self-documenting code. `Convert`, `Apply` and `Replace` do not fully give us the intent of the method. * Added a convenience `Create` static method that takes a `CGImageAuxiliaryDataInfo`. * AvailableDepthDataTypes is now an array of `CVPixelFormatType` instead of a `NSNumber` array (The aactual fix for bug 59433). ImageIO: * Refactored `CGImageAuxiliaryDataInfo` to be a `StrongDictionary` in order to avoid most of the manual code and also to avoid reimplementing the `ToDictionary` method (which contained a subtle bug). * Adjusted code to reflect the above change. * Added missing `.ctor (IntPtr, bool)` to `CGImageMetadata` so the class is able to be created by our `Runtime.Get*`. * Simplified `CopyAuxiliaryDataInfo` method by using `CGImageAuxiliaryDataInfo` as a `DictionaryContainer`. Tests: * Added `xamarinmonkey.heic` which is an image that contains depth data needed to test above changes. * Adds `AVDepthDataTests` that touches most of the changes listed here. * Tweak the Simd-compatible matrices and vectors (#2668) * Rename them to be OpenTK.NMatrix# (instead of Simd.MatrixFloat#x#). * Remove the Vector2 and Vector4 variants, we'll use the OpenTK types instead (but we'll keep the NVector3 variant, since it's not identical to the OpenTK version). * Update the API to match their OpenTK counterparts better: * NMatrix2 and NMatrix3 have a 0-based R#C# scheme for their fields. * NMatrix4 has a 1-based M## scheme for its fields (i.e. no change). * [AVFoundation] Use Simd-matrix for API that needs it. (#2679) This also requires implementing the corresponding matrix (NMatrix4x3). Fixes this xtro issue: > !unknown-simd-type-in-signature! OpenTK.Matrix3 AVFoundation.AVCameraCalibrationData::get_GetIntrinsicMatrix(): the native signature has a simd type (matrix_float3x3), while the corresponding managed method is using an incorrect (non-simd) type. * [xtro] Fix checking availability on categories. (#2682) When checking for category availability, check if both the current declaration is a category, and if the current's declaration container is a category. Otherwise this scenario fails: * Category method is available. * Category does not have availability attributes. * Main class is unavailable. with this typical code sequence: ```csharp // don't process methods (or types) that are unavailable for the current platform if (!decl.IsAvailable () || !(decl.DeclContext as Decl).IsAvailable ()) return; ``` In which case we'd: * First check the method (`decl`): * It's available, so no further checks is done on the method. * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container's container is a category (it isn't, it's the namespace). and as such determine that the method is available. With this change, the second step will become: * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container is a category (it is), and if its main class is available (it isn't). and as such determine that the method is unavailable. * Check for attributes on the method's container (no attributes, so we continue). * Check if the method's Unclassified diff: https://gist.github.com/rolfbjarne/8fa80962596978a426eadf9b7ba39dc1 * [uikit] Update for Xcode 9 GM (#2670) * [AVFoundation] Implement AVCapturePhoto. Partially fixes #59388. (#2678) Fixes: > common.unclassified:!missing-type! AVCapturePhoto not bound https://bugzilla.xamarin.com/show_bug.cgi?id=59388 * Use strong dictionaries for AVCapturePhoto.Metadata and AVCapturePhoto.EmbeddedThumbnailPhotoFormat. * [SIMD] Implement Simd double types (VectorDouble3/MatrixDouble4x4). (#2632) The following types will be used by ModelIO bindings * Fix delta to be double * Rename Simd-compatible matrices and vectors to match our final naming. This also means removing the new Vector2 and Vector4 variants (but not Vector3). * [avfoundation] Remove AVAssetDownloadDelegate.DidLoadTimeRange since it was removed in one of the betas (#2687) * [foundation] Move NSUrlSessionMultipathServiceType to a file processed by the generator (for the availability attributes) (#2688) * [arkit] Update for Xcode 9 GM (#2681) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes (#2690) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes Type Changed: Intents.INCarSeatResolutionResult Removed methods: public static INCarSeatResolutionResult GetConfirmationRequired (INCarSeat valueToConfirm); public static INCarSeatResolutionResult GetSuccess (INCarSeat resolvedValue); * [avfoundation] Add missing protocol members and deprecations (#2691) !missing-protocol-member! AVCapturePhotoCaptureDelegate::captureOutput:didFinishProcessingPhoto:error: not found and the selector removed from PR#2687 was actually replaced with this one !missing-protocol-member! AVAssetDownloadDelegate::URLSession:aggregateAssetDownloadTask:didLoadTimeRange:totalTimeRangesLoaded:timeRangeExpectedToLoad:forMediaSelection: not found * [tests][xtro] Map some enums, more fix with protocols and update entries (#2692) * [Tests] Reenable dns tests on the watch. (#2674) * [arkit] Add ARBlendShapeLocationOptions strong dictionary (#2696) * [coreimage] Skip not yet bound filters added in Xcode9 (#2698) Tracked in https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * [Metal] Renamed MTLArgumentDescriptor.ArgumentDescriptor to Create, fixes bug 59498 (#2702) https://bugzilla.xamarin.com/show_bug.cgi?id=59498 From [argumentDescriptor docs](https://developer.apple.com/documentation/metal/mtlargumentdescriptor/2915746-argumentdescriptor?language=objc) > Creates an empty argument descriptor. * [msbuild] Always codesign app bundles if the codesign key is non-null (#2697) ...even if it is a simulator build. Turns out that starting with Xcode9, sim builds need to be codesigned for App Groups entitlements to work properly. Interestingly, the DetectSigningIdentity logic had a comment about needing to codesign simulator builds for some entitlements to work already starting with Xcode 8 but apparently the iOS targets did not respect this. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=59379 * [Foundation] Add NSProxy stub in order to workaround bug 59247 (#2693) https://bugzilla.xamarin.com/show_bug.cgi?id=59247 We need to have a better solution that removes all what NSProxy does not responds to. Right now this works because NSObject implements NSObject protocol just like NSProxy, but NSProxy responds to far less selectors hence doing it internal so it is not a breaking change when we provide the correct fix. * Keep NSProxy around and avoid XML linker description We need to keep NSProxy (avoid linking it) if WKNavigationDelegate or IWKNavigationDelegate is used. We know WKWebView will be there and can hold a reference to it. * [Xcode 9] Update Metal for GM (#2689) * [iosurface] IOSurface is not usable before iOS/tvOS 11. Fixes #59201 (#2706) Apple rejects apps that links with the previously private IOSurface.framework. We were not sure about this [1] and had it disabled (this is removed). However another bug stopped our adjustment logic [2] from being executed. This is needed since `clang` picks up the private framework if it does not find the public one (even when asking for a weak framework), [1] https://bugzilla.xamarin.com/show_bug.cgi?id=59201 [2] Added a while ago for JavascriptCore * Bump maccore to point to commit with the docs fix. (#2703) * Bump XI to 11.0.x (and XM to 3.99.9.x) (#2684) * fix typo
2017-09-16 00:53:16 +03:00
[Watch (4,0), TV (11,0), Mac (10, 13, onlyOn64: true), iOS (11,0)]
Merge xcode9 into d15-4[-xi] (#2710) * [FileProvider] Add Xcode 9 Beta 1, 2 & 3 Bindings (#2279) * [FileProvider] Add Xcode 9 Beta 1 Bindings * Better naming * Feedback not related to BindAs * [FileProvider] Removes BindAs, add manual code for it and updated to Beta 3 * [FileProvider] Implement feedback * [CoreSpotlight] Updated spotlight bindings for xcode 9 beta 3. (#2193) Updated spotlight bindings for xcode 9 beta 3. * Fix warning caused by duplicate (#2354) * [FileProviderUI] Add Xcode 9 Beta 1 to 3 bindings (#2356) * Bump to Xcode 9 beta 4 * [arkit] ARLightEstimate does not conform to NSCopying anymore (fix unit test) * [uikit] NSFileProviderExtension.ReparentItem got a new parameter in beta4 (fix unit test) * [coreimage] CIImageAccumulator init returns nil in beta 4 There's no header change to mention `init` is not allowed but it's not clear how this default initializer could be used. Also make public some other API to construct this type (outside of XM). It's not clear why there were `internal` as they are (at least now) part of the header files. * [photos] Add helpers when PHLivePhotoEditingOption/NSDictionary is null (to avoid ambiguous API) (#2360) Adding a strongly typed `PHLivePhotoEditingOption` (a strongly typed version of an `NSDictionary`) can cause a `CS0121` (call is ambiguous) since using a `null` argument is common (only one option exist so far). This PR adds overloads that makes the code nicer in such case, e.g. before Xcode9: > // null is used when no options are given > _foo.SaveLivePhoto (output, null, completion); current (Xcode 9) > // casting required to remove ambiguity with PHLivePhotoEditingOption > _foo.SaveLivePhoto (output, (NSDictionary)null, completion); with this PR > // no option, no argument > _foo.SaveLivePhoto (output, completion); The same applies to `PrepareLivePhotoForPlayback`. * [tests] Disable/tweak two tests that breaks on (almost) all Xcode updates Those tests were not added to validate xOS so just keep the parts that helps us (without constantly checking back the new break flavor) * Disable watchOS to check if this hides others issues * [mapkit] Update for beta 4 * [coredata] Update for beta 4 * [wkwebkit] Update for beta 4 Note: WKWindowFeatures.h is not compiled (part of the framework umbrella) and the `@interface WKWindowFeatures (WKPrivate)` sounds like it should not have been exposed (it's all fields starting with `_`) * [corelocation] Update for beta 4 * Revert "Disable watchOS to check if this hides others issues" This reverts commit fed2249fa43290a1956ab2fe0d48f83ab6db9711. * [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]: https://github.com/xamarin/xamarin-macios/blob/f5956d6cc1eb5dfa7bab16628cf282d40237f64e/src/generator.cs#L5985 * [FinderSync] Update to beta 4 (#2377) * [ImageIO] Update to Xcode 9 (#2353) * [PhotosUI] Move macOS photosui bindings out of photos.cs into photosui.cs (#2358) * [quicklook] Update up to beta 4 (#2374) * [uikit] UIDragInteraction & UIDragInteractionDelegate (Xcode 9 b1,2,3) (#2357) * [safariservices] Update up to beta 4 (#2380) * [coreanimation] Update to beta 4 (#2382) Apple removed (mistake?) some API in beta 1. Filed as rdar 33590997 Internal tracking in https://trello.com/c/J8BDDUV9/86-33590997-coreanimation-quartzcore-api-removals * [storekit] Update up to beta 4 (#2379) * [CoreML] Update to Xcode 9 Beta 4 (#2387) * [uikit] UICollectionView/UITableView Drag & Drop (Xcode 9 b1,2,3 & 4) (#2355) * Update code after radar 32929318 and 32897776 are fixed in b4 (#2394) * [xcode9 CoreAudio] New definitions from Beta1 to Beta3 (#2359) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 (#2397) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 https://bugzilla.xamarin.com/show_bug.cgi?id=58512 Created strong API (VNBarcodeSymbology) on the following properties * VNDetectBarcodesRequest.SupportedSymbologies * VNDetectBarcodesRequest.Symbologies * VNBarcodeObservation.Symbology * Remove modern C# because classic can't do it 😡 * [mediaplayer] Update up to beta 4 (#2388) * [watchkit] Update to beta 4 (#2398) * Bump Visual Studio for Mac max version (#2408) * [coreimage] Add CIBarcodeDescriptor and enabled missing API for VNBarcodeObservation. Fix #58197 (#2411) https://bugzilla.xamarin.com/show_bug.cgi?id=58197 * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 (#2407) * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 * [uikit] Fixes based on comments * [coreimage] CIImageAccumulator API fixes. Fix #58349 (#2412) * Obsolete the default `init`; * XM exposed some older APIs using `int` instead of `CIFormat`. This is fixed and old APIs are obsoleted; * Both new & old APIs are now using `CIFormat` for both XI and XM. https://bugzilla.xamarin.com/show_bug.cgi?id=58349 * [uikit] UIText drag & drop - up to Xcode 9 beta 4 (#2410) * [uikit] UISplitView & UIStackView up to Xcode 9 beta 4 (#2425) * Bump XI/XM versions before preview 4 (#2422) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 (#2378) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 * [PDFKit] Implement feedback * [PDFKit] the forgotten enum * [PDFKit] More feedback * [PDFKit] Add Mac changes * Missing change * Fix test RectangleF VS CGRect * Pass -Wunguarded-availability-new to quiet a new clang warning (#2424) - https://bugzilla.xamarin.com/show_bug.cgi?id=58574 * [mtouch/mmp] Ignore warnings about unguarded code section with regards to availability. (#2441) * [monotouch-test] Remove workaround for fixed Apple bug. (#2445) * Bump to Xcode 9 beta 5. (#2447) * Bump to Xcode 9 beta 5. * [mmp] Disable the partial static registrar, because Apple's macOS SDK is broken. > In file included from Xamarin.Mac.registrar.mobile.i386.m:1: > In file included from ./Xamarin.Mac.registrar.mobile.i386.h:11: > /Applications/Xcode9-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVFoundation.h:88:9: fatal error: 'AVFoundation/AVRouteDetector.h' file not found https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [mmp] Fix partial static registrar removal. * [CallKit] Update to Xcode 9 beta 5. * [ARKit] ARPointCloud doesn't conform to NSCopying anymore in Xcode 9 beta 5. * [ARKit] Update to Xcode 9 beta 5 enough to make tests happy. * [CoreImage] Stub out new filters in Xcode 9 beta 5. * [tests][monotouch] Simplify some MDLMesh asserts since values change a lot between OS versions. * [mmp] Default to the dynamic registrar for release builds again, due to bug #58629. https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [tests][introspection] CXCall started implementing NSCopying without saying so in the headers. * Disable mmp static registrar tests due to 58629 for now * [quicklook] Update to beta 5 (#2450) * [photos] Update for beta 5 (#2452) Also update some existing enum members were added in beta 1 on macOS * [safariservices] Update for beta 5 (#2455) * [mediaplayer] Update to beta 5 (#2456) * [CoreLocation] Update Xcode 9 Beta 5 (#2453) * [CoreML] Update to Xcode 9 Beta 5 (#2454) * [Contacts] Update to Xcode 9 Beta 5 (#2451) * [Vision] Update to Xcode 9 Beta 5 (#2458) * [builds] Tell LLVM to stay away from newer macOS functions. (#2459) Fixes this build problem on Sierra: > ld: weak import of symbol '_futimens' not supported because of option: -no_weak_imports for architecture x86_64 This is a symbol that was (will be?) introduced in High Sierra. Interestingly this only occurs if the Xcode 8.X Command Line Tools haven't been manually installed. Because if the Xcode 8.X Command Line Tools are installed, this happens: 1. llvm's configure script detects that 'futimens' is not usable. 2. llvm's configure script detects that 'futimens' is not usable, because xcrun sets SDKROOT=/ when calling clang. a. When the SDKROOT variable is set, clang passes '-syslibroot /usr/lib' to ld. b. When ld gets '-syslibroot /usr/lib', ld looks in '/usr/lib' for a library that contains 'futimens' in the OS itself, and since we're on Sierra, that fails to link. c. So when llvm's configure script creates a test program that checks if 'futimens' is present, the program fails. This is correct, and makes llvm *not* use futimens. 3. xcrun sets SDKROOT=/ because /usr/share/current-os.sdk/Info.plist exists. If that file does not exist, then xcrun sets SDKROOT to Xcode9's macOS SDK (because that's what xcode-select reports). a. When SDKROOT is set to Xcode9's macOS SDK, the configure check for 'futimens' succeeds, because the macOS 10.13 SDK contains that function. b. llvm happily uses 'futimens', and then the final link fails because we're using a symbol not available on all target platforms. * [arkit] Update for Xcode 9 beta 5 - Part 1 (#2460) * [tests] The container app for watchOS tests should be 64-bit. (#2463) * [xharness] watchOS tests need to run in a clean environment. Works around #58348. (#2462) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [xharness] It watchOS tests don't need to be clean anymore. Fixes #58348. (#2473) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [uikit] UIView/UIScrollView/UIViewController up to Xcode 9 beta 5 (#2431) - Add NSDirectionalEdgeInsets type. - Includes DirectionalEdgeInsetsTest. * [AudioToolbox] Update bindings to Xcode 9 beta3 (not later changes). (#2294) * [xharness] Add a file existence check. (#2478) Fixes this exception: ``` Harness exception for 'introspection': System.IO.FileNotFoundException: Could not find file '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log'. File name: '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log' at System.IO.__Error.WinIOError (System.Int32 errorCode, System.String maybeFullPath) [0x00207] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/__error.cs:188 at System.IO.FileInfo.get_Length () [0x00038] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/fileinfo.cs:171 at xharness.CaptureLog.StopCapture () [0x00021] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Log.cs:252 at (wrapper remoting-invoke-with-check) xharness.CaptureLog:StopCapture () at xharness.AppRunner+<RunAsync>d__68.MoveNext () [0x0127f] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/AppRunner.cs:642 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter`1[TResult].GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:357 at xharness.RunSimulatorTask+<RunTestAsync>d__7.MoveNext () [0x0029d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2894 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.RunTestTask+<ExecuteAsync>d__8.MoveNext () [0x0010b] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2538 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.TestTask+<RunInternalAsync>d__87.MoveNext () [0x0010d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:1870 ``` I'm not sure how this can happen, but it has on the bots [1]. [1] https://jenkins.mono-project.com/job/xamarin-macios-pr-builder/4548/Test_Report/ * Bump versions for preview 5 (#2479) * [passkit] Update to beta 5 (#2481) * [tests] Remove workaround for radar #32688391. (#2486) * [replaykit] Update up to beta 5 (#2484) * Bump maccore to get fix for bug #55064. (#2487) * [apidiff] Update definition to new 10.12 (d15-3) stable release (#2490) * [SceneKit] basic work (#2483) * [coredata] Update to beta 5 (#2488) * [homekit] Update for Xcode 9 beta 5 (#2492) * [Foundation] Update for xcode9 (#2468) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 (#2493) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 * [Intents] Implement feedback * [Intents] Add a generic version for INInteraction.GetParameterValue * [Intents] Missing check * [Contacts] Add missing foundation NSItemProviderWriting protocol to CNContact (#2496) https://bugzilla.xamarin.com/show_bug.cgi?id=58203 This is available on all Contacts supported platforms ``` ./iPhoneOS.platform/Developer/SDKs/iPhoneOS11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchOS.platform/Developer/SDKs/WatchOS4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchSimulator.platform/Developer/SDKs/WatchSimulator4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ``` * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) (#2497) * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) * [IntentsUI] Better use a delegate instead so we have named params * Bump versions before 6th preview (#2514) * [arkit] Add missing MarshalDirective to ARPlaneAnchor (#2517) - Fixes bug #58648: ARPlaneAnchor.Extent property seems incorrect but changes to correct value after Debug access (https://bugzilla.xamarin.com/show_bug.cgi?id=58648) * [xtro-sharpie] Fix a compiler warning. (#2516) Fixes these warnings: Runner.cs(197,5): warning CS0642: Possible mistaken empty statement Runner.cs(199,5): warning CS0642: Possible mistaken empty statement Runner.cs(201,5): warning CS0642: Possible mistaken empty statement Runner.cs(203,5): warning CS0642: Possible mistaken empty statement Runner.cs(205,5): warning CS0642: Possible mistaken empty statement * [uikit] Update for Xcode 9 beta 5 - Part 3 (#2511) - UIKeyCommand - UINavigationBar - UINavigationItem - UIPasteboard - UITableViewHeaderFooterView * [xtro-sharpie] Remove xtro-plugin and misc other fixes. (#2522) * [xtro-sharpie] Build with msbuild and be as quiet as requested when building. * [xtro-sharpie] Must run as a 64-bit process, since the required native libraries are 64-bit. * [xtro-sharpie] Add run configurations to the project file to ease debugging in the IDE. * [xtro-sharpie] Remove xtro-plugin and the related commands. This was needed when there wasn't a 64-bit mono, in order to run xtro-sharpie in a 64-bit process. Now there is a 64-bit mono, so it's not needed anymore. Also improve makefile targets a bit, to auto-build stuff when needed, by setting the right dependencies. * Bump Xcode 9 to beta 6 (#2519) Disable watchOS tests again It seems like the Carousel crash from beta 4 is back to haunt us. This was working fine with beta 5. * Backport d15-3 SR2 fixes (#2515) * [coredata] Update to beta 6 (#2528) This seems to only revert some nullability changes from beta 5. * [coreml] Update to beta 6 (#2531) Fix our rdar 33643011 where additional setters were added in the headers but did not exists. * [videosubscriberaccount] Update to beta 6 (#2533) Only b1 and b2 introduced some additions/changes * [uikit] Update for Xcode 9 beta 6 - Part 4 (#2527) The following headers are now up to date: - UICollectionViewFlowLayout.h - UIDocumentPickerViewController.h - UIFontDescriptor.h - UIImage.h - UIImageView.h - UIImagePickerController.h * [xharness] Re-enable the watchOS tests. (#2534) It works fine for me locally, so let's see what Jenkins says. * [macos] Add new APIs in CoreWlan from Xcode9b3 (#2525) * Update AppKit bindings based on radar 33271241 results (#2518) * Update AppKit bindings based on radar 33271241 results - The header comment was updated to note it was NSSliderTouchBarItem view that has the protocol * Remove NSUserInterfaceCompression where not listed in header * [vision] Update to beta 6 (#2532) Removal of some deprecated (during beta) `init*` selectors. Also sync the versions that were inlined in subclasses - the old ones were not removed and the new ones were not added. * [xtro-sharpie] Many methods don't have selectors in Clang's API, so default to the name if no selector. (#2523) This makes a few more unclassified entries show up (mostly missing designated initializers): https://gist.github.com/rolfbjarne/07aa20f9b50b75bf3e69ac6a825e873a * [macos] Add ExternalAccessory APIs from xcode9 (#2526) * [58851] Disable NSMenuView in AllItemsWithNSMenuShouldAllowNull (#2504) * [arkit] Update for Xcode 9 beta 5 - Part 2 (#2505) - Add last missing selector. - Add tests for manual code. * [monotouch-test] Disable FontDescriptorTest.WithFeature (#2537) Disabled because it looks like the tvOS font we use: "Gujarati Sangam MN" does not have rare ligatures anymore (and the entire test is based on it). Before getting an actual fix for that, let's disable the test so it doesn't break all current builds. See: https://bugzilla.xamarin.com/show_bug.cgi?id=58929 * [xtro-sharpie] Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute. (#2524) Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute to calculate the native name for a TypeDefinition. Unclassified changes: https://gist.github.com/rolfbjarne/828f8ee41eebb0a3b60a38d71822fe59 * [foundation/uikit] Inline NSItemProvider_UIKitAdditions in NSItemProvider (#2538) As suggested here: https://github.com/xamarin/xamarin-macios/pull/2527#discussion_r134670981 * [intents] Fix breaking changes (api-diff) (#2543) Additions of @required members inside `INSpeakable` cannot be `[Abstract]` * [contacts] Fix breaking change (api-diff) (#2542) Type Changed: Contacts.CNPostalAddress Removed method: public static string LocalizeProperty (CNPostalAddressKeyOption option); * [macos] Reenable static registrar since Xcode9b6 un-broke SDK headers (#2544) - Fix a subtle spacing issues in PartialStaticLibrary property * [corebluetooth] Update up to beta 6 and enable it on watchOS (#2540) macOS 10.13 has finally catch up with iOS and this simplifies the bindings a bit. * [foundation] API fixes (apidiff) (#2545) 1. Let's not add new, already [Obsolete] API Type Changed: Foundation.NSDimension Added constructors: [Obsolete ("Not intended to be directly instantiated, this is an abstract class.")] public NSDimension (); 2. Fix inconsistently named API, e.g. Type Changed: Foundation.NSAttributedString Added properties: public static string[] ReadableTypeIdentifiersForItemProvider { get; } public static string[] WritableTypeIdentifiers { get; } * [pdfkit] Do not add already [Obsolete] API in new profiles (#2547) and ensure using the newer, correct API works cross-platforms iOS (before) [Obsolete ("Use 'Find (string, NSStringCompareOptions)' instead.")] public virtual PdfSelection[] Find (string text, nint options); public PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'Find (string, PdfSelection, NSStringCompareOptions)' instead.")] public virtual PdfSelection Find (string text, PdfSelection selection, nint options); public void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string, NSStringCompareOptions)' instead.")] public virtual void FindAsync (string text, nint options); public void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string [], NSStringCompareOptions)' instead.")] public virtual void FindAsync (string[] text, nint options); iOS (after) public virtual PdfSelection[] Find (string text, Foundation.NSStringCompareOptions compareOptions); public virtual PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); * Bump versions for the 7th preview (#2541) * Remove additions of AVKit removed in beta5 (#2536) * NSUrlSessionTask should implement NSProgressReporting for iOS (#2548) NSUrlSessionTask implements NSProgressReporting on iOS as well as Mac, so the #if MONOMAC isn't needed. * Add missing availability attributes causing failures on older iOS versions (#2550) * [vision] Minor fix wrt xtro (#2551) including some things we need to ignore manually !missing-field! VNVisionVersionNumber not bound !missing-pinvoke! VNImagePointForFaceLandmarkPoint is not bound !missing-pinvoke! VNNormalizedFaceBoundingBoxPointForLandmarkPoint is not bound * [uikit] NSFileProviderMessaging was removed in beta 2. Fixes #58222 (#2552) reference: https://bugzilla.xamarin.com/show_bug.cgi?id=58222 * [uikit] Update for Xcode 9 - Part 5 (#2546) Bindings for the following headers: - UIActivity.h - UIActivityItemProvider.h - UIAlertController.h - UIApplication.h - UIBarButtonItem.h - UIButton.h - UICollectionViewLayout.h - UIColor.h - UIControl.h - UIDocumentMenuViewController.h - UIFontMetrics.h - UIGestureRecognizer.h - UIGraphicsImageRenderer.h - UIInputViewController.h * [CoreText] Fix an extraneous free in CTFont.GetDefaultCascadeList. (#2555) We do not own the return value from CFArrayGetValueAtIndex, so don't say we do when creating CTFontDescriptor instances, since that leads to angry dragons: 2017-08-28 20:15:20.293 monotouchtest[33186:2311738] A_FontTest 2017-08-28 20:15:20.294 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithFontDescriptorAndOptions 2017-08-28 20:15:20.295 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithNameAndOptions 2017-08-28 20:15:20.296 monotouchtest[33186:2311738] critical: Stacktrace: at <unknown> <0xffffffff> at (wrapper managed-to-native) CoreText.CTFont.CTFontCopyDefaultCascadeListForLanguages (intptr,intptr) [0x0000a] in <ae65a2b1eea242d2b68fe784749543bf>:0 at CoreText.CTFont.GetDefaultCascadeList (string[]) [0x00013] in /work/maccore/xcode9/xamarin-macios/src/CoreText/CTFont.cs:2185 at MonoTouchFixtures.CoreText.A_FontTest.GetCascadeList () [0x0001e] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/CoreText/FontTest.cs:78 at (wrapper runtime-invoke) object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) [0x0004f] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) System.Reflection.MonoMethod.InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&) [0x00016] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at System.Reflection.MonoMethod.Invoke (object,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo) [0x00032] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/corlib/System.Reflection/MonoMethod.cs:305 at System.Reflection.MethodBase.Invoke (object,object[]) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/referencesource/mscorlib/system/reflection/methodbase.cs:229 at NUnit.Framework.Internal.Reflect.InvokeMethod (System.Reflection.MethodInfo,object,object[]) [0x00009] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Reflect.cs:215 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunNonAsyncTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x00025] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:116 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x0001a] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:90 at NUnit.Framework.Internal.Commands.TestMethodCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:66 at NUnit.Framework.Internal.Commands.SetUpTearDownCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00007] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/SetUpTearDownCommand.cs:84 at NUnit.Framework.Internal.WorkItems.SimpleWorkItem.PerformWork () [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/SimpleWorkItem.cs:64 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at MonoTouch.NUnit.UI.BaseTouchRunner.Run (NUnit.Framework.Internal.Test) [0x0004d] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:442 at MonoTouch.NUnit.UI.BaseTouchRunner.Run () [0x00030] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:171 at MonoTouch.Dialog.StringElement.Selected (MonoTouch.Dialog.DialogViewController,UIKit.UITableView,Foundation.NSIndexPath) [0x00008] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/Elements.cs:765 at MonoTouch.Dialog.DialogViewController.Selected (Foundation.NSIndexPath) [0x00026] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:577 at MonoTouch.Dialog.DialogViewController/Source.RowSelected (UIKit.UITableView,Foundation.NSIndexPath) [0x00016] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:402 at (wrapper runtime-invoke) <Module>.runtime_invoke_void__this___object_object (object,intptr,intptr,intptr) [0x0005d] in <32f0c196c5bc4aa18daea2ee64a7814e>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) UIKit.UIApplication.UIApplicationMain (int,string[],intptr,intptr) [0x0005c] in <ae65a2b1eea242d2b68fe784749543bf>:0 at UIKit.UIApplication.Main (string[],intptr,intptr) [0x00005] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:79 at UIKit.UIApplication.Main (string[],string,string) [0x00038] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:63 at monotouchtest.Application.Main (string[]) [0x00011] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/Main.cs:27 at (wrapper runtime-invoke) <Module>.runtime_invoke_void_object (object,intptr,intptr,intptr) [0x00051] in <30a7f7e09de9467b8b454221034a0e38>:0 Native stacktrace: 0 monotouchtest 0x000000010fca03c4 mono_handle_native_crash + 244 1 monotouchtest 0x000000010fcadd30 mono_sigsegv_signal_handler + 288 2 libsystem_platform.dylib 0x000000011feb3b3a _sigtramp + 26 3 CoreFoundation 0x000000011de035a2 computeSanitizedString + 146 4 CoreText 0x00000001168df314 _ZN15TPurgeableCache19RetainedValueForKeyEPKv + 54 5 CoreText 0x00000001168def85 _ZNK17TDescriptorSource22CopyDescriptorUncachedEPK7__CFURLbPK10__CFString + 55 6 CoreText 0x00000001168df34f _ZNK17TDescriptorSource14CopyDescriptorEPK7__CFURLbPK10__CFString + 27 7 CoreText 0x00000001168e20ad _ZNK17TDescriptorSource35CopyFontDescriptorPerPostScriptNameEPK10__CFStringmm + 297 8 CoreText 0x00000001168dfd9e _ZNK17TDescriptorSource30CopySystemFontDescriptorByNameEPK10__CFString10UIFontFlag + 54 9 CoreText 0x00000001168e54c4 _ZNK14TFontFallbacks17CopyFontFallbacksEPK10__CFStringS2_PK9__CFArray + 652 10 CoreText 0x00000001168e4a00 _ZNK14TFontFallbacks29CopyFontFallbacksForLanguagesEPK10__CFStringPK9__CFArray + 122 11 CoreText 0x00000001168e4971 _ZN17TDescriptorSource39CopyDefaultSubstitutionListForLanguagesEPK10__CFStringPK9__CFArray + 61 12 CoreText 0x00000001169397a7 _ZNK9TBaseFont28CreateSystemDefaultFallbacksEPK10__CFStringPK9__CFArray + 51 13 CoreText 0x000000011693999c _ZNK9TBaseFont15CreateFallbacksE10UIFontFlagPPK16__CFCharacterSetPK9__CFArray + 346 14 CoreText 0x00000001168c1036 _ZNK5TFont24CreateDefaultCascadeListEPK9__CFArray + 242 15 CoreText 0x00000001168b8ff9 CTFontCopyDefaultCascadeListForLanguages + 97 16 ??? 0x0000000140eaefd3 0x0 + 5384105939 17 ??? 0x0000000140eae761 0x0 + 5384103777 18 ??? 0x000000013c9c8e74 0x0 + 5311860340 19 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 20 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 21 monotouchtest 0x000000010fd71bac mono_runtime_try_invoke_array + 1292 22 monotouchtest 0x000000010fd15587 ves_icall_InternalInvoke + 647 23 ??? 0x000000013e9fcd13 0x0 + 5345627411 24 ??? 0x000000013e9fc738 0x0 + 5345625912 25 ??? 0x000000013e9fded5 0x0 + 5345631957 26 ??? 0x000000013e9fbb76 0x0 + 5345622902 27 ??? 0x000000013e9e237e 0x0 + 5345518462 28 ??? 0x000000013e9e237e 0x0 + 5345518462 29 ??? 0x000000013e9e237e 0x0 + 5345518462 30 ??? 0x000000013e9e237e 0x0 + 5345518462 31 ??? 0x000000013e873006 0x0 + 5344014342 32 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 33 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 34 monotouchtest 0x000000010fd6e320 mono_runtime_invoke + 208 35 monotouchtest 0x000000010fe71af1 xamarin_invoke_trampoline + 5617 36 monotouchtest 0x000000010fe79ddd xamarin_arch_trampoline + 189 37 monotouchtest 0x000000010fe7b1a1 xamarin_x86_64_common_trampoline + 110 38 UIKit 0x0000000111b9876b -[UITableView _selectRowAtIndexPath:animated:scrollPosition:notifyDelegate:] + 1810 39 UIKit 0x0000000111b98986 -[UITableView _userSelectRowAtPendingSelectionIndexPath:] + 344 40 UIKit 0x0000000111a6b5c9 _runAfterCACommitDeferredBlocks + 318 41 UIKit 0x0000000111a59dad _cleanUpAfterCAFlushAndRunDeferredBlocks + 280 42 UIKit 0x0000000111a89f68 _afterCACommitHandler + 137 43 CoreFoundation 0x000000011de3ddb7 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23 44 CoreFoundation 0x000000011de3dd0e __CFRunLoopDoObservers + 430 45 CoreFoundation 0x000000011de22324 __CFRunLoopRun + 1572 46 CoreFoundation 0x000000011de21a89 CFRunLoopRunSpecific + 409 47 GraphicsServices 0x0000000121b7e9c6 GSEventRunModal + 62 48 UIKit 0x0000000111a5f7d0 UIApplicationMain + 159 49 ??? 0x000000013c9c4474 0x0 + 5311841396 50 ??? 0x000000013c9c40ad 0x0 + 5311840429 ================================================================= Got a SIGSEGV while executing native code. This usually indicates a fatal error in the mono runtime or one of the native libraries used by your application. ================================================================= * [monotouch-test] Don't subclass MKMapView. (#2556) MKMapView doesn't like being subclassed (Apple says "you should not subclass the MKMapView class itself"). Bad things like this starts happening: Thread 0 name: tid_303 Dispatch queue: com.apple.main-thread Thread 0 Crashed: 0 libsystem_kernel.dylib 0x0000000186b25348 __pthread_kill + 8 1 libsystem_pthread.dylib 0x0000000186c39354 pthread_kill$VARIANT$mp + 396 2 libsystem_c.dylib 0x0000000186a94fd8 abort + 140 3 monotouchtest 0x0000000101c02c14 mono_handle_native_crash + 22047764 (mini-exceptions.c:2548) 4 monotouchtest 0x0000000101c0d02c mono_sigsegv_signal_handler + 22089772 (mini-runtime.c:2886) 5 libsystem_platform.dylib 0x0000000186c33b60 _sigtramp + 52 6 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 7 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 8 CoreFoundation 0x0000000186eda51c -[__NSArrayM dealloc] + 68 9 CoreFoundation 0x000000018703f5c8 __CFBasicHashDrain + 312 10 CoreFoundation 0x0000000186fb5b44 _CFRelease + 224 11 CoreText 0x000000018a808404 TDescriptorSource::PurgeFontFallbacksCache+ 488452 () + 92 12 CoreText 0x000000018a808374 TDescriptorSource::PurgeFromCaches+ 488308 (__CFURL const*) const + 176 13 CoreText 0x000000018a7eec74 CTFontRemoveFromCaches + 168 14 VectorKit 0x0000000196a539b0 +[VKSharedResourcesManager removeResourceUser:] + 324 15 VectorKit 0x0000000196ca27a4 md::MapEngine::~MapEngine+ 2643876 () + 360 16 VectorKit 0x0000000196ca2634 md::MapEngine::~MapEngine+ 2643508 () + 12 17 libobjc.A.dylib 0x000000018651eef4 object_cxxDestructFromClass+ 28404 (objc_object*, objc_class*) + 148 18 libobjc.A.dylib 0x000000018652c638 objc_destructInstance + 88 19 libobjc.A.dylib 0x000000018652c690 object_dispose + 16 20 QuartzCore 0x000000018afca3ac -[CALayer dealloc] + 116 21 VectorKit 0x0000000196a43294 -[VKMapView dealloc] + 940 22 QuartzCore 0x000000018af6aafc CA::release_objects+ 744188 (X::List<void const*>*) + 32 23 QuartzCore 0x000000018afd97d8 CA::Layer::~Layer+ 1198040 () + 276 24 QuartzCore 0x000000018afca37c -[CALayer dealloc] + 68 25 QuartzCore 0x000000018af6b16c CA::Transaction::commit+ 745836 () + 1052 26 UIKit 0x0000000190393290 _afterCACommitHandler + 256 27 CoreFoundation 0x0000000186fb38b8 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 32 28 CoreFoundation 0x0000000186fb1270 __CFRunLoopDoObservers + 412 29 CoreFoundation 0x0000000186fb182c __CFRunLoopRun + 1292 30 CoreFoundation 0x0000000186ed22d8 CFRunLoopRunSpecific + 436 31 GraphicsServices 0x0000000188d58f84 GSEventRunModal + 100 32 UIKit 0x000000019040427c UIApplicationMain + 208 33 monotouchtest 0x000000010106eb90 wrapper_managed_to_native_UIKit_UIApplication_UIApplicationMain_int_string___intptr_intptr + 9907088 (/<unknown>:1) 34 monotouchtest 0x0000000100f0d6ac UIKit_UIApplication_Main_string___intptr_intptr + 8459948 (UIApplication.cs:79) 35 monotouchtest 0x0000000100f0d66c UIKit_UIApplication_Main_string___string_string + 8459884 (UIApplication.cs:63) 36 monotouchtest 0x0000000100b10450 monotouchtest_Application_Main_string__ + 4277328 (Main.cs:27) 37 monotouchtest 0x0000000100e0c244 wrapper_runtime_invoke_object_runtime_invoke_dynamic_intptr_intptr_intptr_intptr + 244 38 monotouchtest 0x0000000101c10048 mono_jit_runtime_invoke + 22102088 (mini-runtime.c:2526) 39 monotouchtest 0x0000000101c75eec do_runtime_invoke + 22519532 (object.c:2829) 40 monotouchtest 0x0000000101c78a3c do_exec_main_checked + 22530620 (object.c:4623) 41 monotouchtest 0x0000000101bf9a1c mono_jit_exec + 22010396 (driver.g.c:1040) 42 monotouchtest 0x0000000101d13d60 xamarin_main + 23166304 (monotouch-main.m:482) 43 monotouchtest 0x00000001007de710 main + 927504 (main.m:67) 44 libdyld.dylib 0x00000001869f656c start + 4 * [introspection] Let SkipDueToAttributeInProperty skip setters too (#2557) `SkipDueToAttributeInProperty` which is used to check the availability attribute of properties when the Availability info only exist on the property and not on the property Getter or Setter was wrong. This lead to `setSpringLoaded` (which was introduced in iOS 11) to not be ignored by the test (making it fail). - Fix bug #59085: [introspection-ios] selector not found for UIKit.UIBarButtonItem : setSpringLoaded: - Broken test (https://bugzilla.xamarin.com/show_bug.cgi?id=59085) * [corevideo][watchos] Enable CoreVideo on watchOS (#2553) * [storekit] Fix CampaignToken typo (#2559) (#2560) - Fixes bug #59078: StoreProductParameters and invalid property for CampaignToken (https://bugzilla.xamarin.com/show_bug.cgi?id=59078) * [coreml][watchos] Enable API using CoreVideo on watchOS. Fix #58097 (#2561) https://bugzilla.xamarin.com/show_bug.cgi?id=58097 * Add missing [MarshalDirective] attributes. (#2558) * [bindings-generator] Improve build & project file. * Add missing [MarshalDirective] attributes. Add missing [MarshalDirective] attributes, which also requires implementing support for out parameters in the binding generator, since one of the signatures missing the [MarshalDirective] contains such an out parameter. Also add tests for all the API I've added [MarshalDirective] to. * [bindings-generator] Remove redundant if check. * [monotouch-test] Rename file to end with 'Test.cs'. * [tests] Fix a few build errors for Xamarin.Mac. * [uikit] Fix UIColor and UIInputViewController tvOS availability (#2569) - Fixes introspection tests on tvOS 10. * [storekit] Fix SKCloudServiceSetupMessageIdentifier and SKProductStorePromotionController tvOS availability (#2568) - Fixes introspection tests on tvOS 10. * [mapkit] Fix MKMapItemTypeIdentifier tvOS availability (#2566) - Also remove double [Mac] availability attribute. - Fixes introspection tests on tvOS 10. * [ARKit] Fix marshalling for ARPointCloud.RawFeaturePoints. (#2565) ARPointCloud.RawFeaturePoints is an array of Vector3, but each vector is 16-byte aligned (as if it were an array of Vector4). This means we need to account for this when creating a managed array from pointer to the native C-style array. * [ModelIO] Fix MDLVoxelIndexExtent struct. (#2564) The MDLVoxelIndexExtent is a struct containing two 4-dimensional vectors of integers (not floats, as originally and incorrectly implemented). Fix this my creating a new MDLVoxelIndexExtent2 struct with the right fields, re-implement all the API that exposes this struct and obsolete the old API. Also add missing [MarshalDirective] attributes. And write a test to make sure it works fine now and forever. * [coredata] Enable new fields since rdar #33878590 is fixed w/beta 6 (#2570) reference: https://trello.com/c/dlSRYPFx * [xtro-sharpie] Add a Simd check class to verify signatures with Simd types. * [Simd] Add simd matrix types. The OpenTK matrices (Matrix2/3/4) has a different memory layout than Apple's matrix_float2x2/matrix_float3x3/matrix_float4x4 matrices: the OpenTK versions are row-major, while Apple's versions are column-major. This means that when blitting memory from one to the other, the matrix will appear to have been transposed. See bug #[58599][2] for an example. Unfortunately we've already bound several API with Apple's matrix_floatXxX matrices using OpenTK's matrices, and although they're bound wrong, and the matrices appear transposed on input/output, we can't change the behavior because we have to maintain compatibility. This means we have to introduce new API, and then also just define new matrix types with the right memory layout (column-major). Additionally, in the future we might be able to mark these matrices as Simd-matrixes, so that the JIT/AOT compiler can generate the correct alignment for them, avoiding having to define a native conversion method (using the [MarshalDirective] hack). The matrices have been designed to match API-wise the matrices in the System.Numerics.Vectors namespace [1], but for the moment with only a few basic operations implemented (Determinant/Transpose/Multiply) defined (we can always add more later if we want to). In addition explicit conversion operators to and from the corresponding OpenTK.MatrixX are implemented, which means any operation defined in the OpenTK matrices can be used by converting back and forth. [1]: https://msdn.microsoft.com/en-us/library/system.numerics.matrix4x4(v=vs.111).aspx [2]: https://bugzilla.xamarin.com/show_bug.cgi?id=58599 * [ARKit] Use the new Simd matrix types. * [Vision] Use the new Simd matrix types. * [ModelIO] Use the new Simd-compatible matrix types, and deprecate the old API. * [GameplayKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [SpriteKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [xtro] Don't report missing [MarshalDirective] for obsolete methods. * [xtro] Remove unnecessary ignores. The implementation changed, and these stayed accidentally. * [wkwebkit] Fix (native) protocol names (#2572) Also ignore xtro's WKSnapshotConfiguration since it's an Apple bug 34185961 reference (xtro) !missing-protocol! WKURLSchemeHandler not bound !missing-protocol! WKURLSchemeTask not bound !unknown-protocol! WKUrlSchemeHandler bound !unknown-protocol! WKUrlSchemeTask bound !unknown-type! WKSnapshotConfiguration bound * [uikit] Fix enums availability attributes (#2575) - Fixes bug #59132: [uikit] Extra types in watchOS (https://bugzilla.xamarin.com/show_bug.cgi?id=59132) * [watchkit] Add missing designated initializers (#2574) references (xtro) !missing-designated-initializer! WKInterfaceController::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! WKUserNotificationInterfaceController::init is missing an [DesignatedInitializer] attribute * [xtro] Reword some of the Simd diagnostic messages according to review. * [tests] Make sure test symbols don't clash between different test libraries. Fixes this build problem for framework-test: clang: error: linker command failed with exit code 1 (use -v to see invocation) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_get_rotation_matrix'. MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticObjectTest.framework/XStaticObjectTest (Location related to previous error) MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticArTest.framework/XStaticArTest(libtest-ar.x86_64.o) (Location related to previous error) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransformcomponent_get_local_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_create_global_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float4x4'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float3x3'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float2x2'. MTOUCH: error MT5209: Native linking error: 6 duplicate symbols for architecture x86_64 MTOUCH: error MT5202: Native linking failed. Please review the build log. * [tests] Since libtest.a need ModelIO now, the corresponding LinkWith attributes need to state that too. * [introspection] Don't check native signatures on obsolete members, and ignore the right simd matrix types. Fixes this introspection/Mac problem: ***** ApiSignatureTest.NativeSignatures Selector: uniformWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: uniformWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: uniformWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: setMatrixFloat2x2Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: setMatrixFloat3x3Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: setMatrixFloat4x4Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: initWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: initWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: initWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded * [monotouch-tests] Include more custom asserts for watchOS to make the build work. Fixes this: Simd/MatrixFloat4x4Test.cs(28,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(29,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(37,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(48,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' [...] * [monotouch-test] Exclude code that requires the binding project from xammac tests. Exclude code that requires the test binding project from xammac tests because there's currently no XM version of the test binding project. Fixes this: tests/monotouch-test/SpriteKit/UniformTest.cs(20,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLMaterialProperty.cs(37,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLTransform.cs(34,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) * Bump version for preview #8 (#2576) * [spritekit] Audit fixes (xtro) (#2577) 1. SKVideoNode is now, partially, available on watchOS and does not require the extra, manual code to swicth selectors depending on the OS version being run. !missing-type! SKVideoNode not bound !missing-selector! SKVideoNode::anchorPoint not bound !missing-selector! SKVideoNode::initWithCoder: not bound !missing-selector! SKVideoNode::initWithFileNamed: not bound !missing-selector! SKVideoNode::initWithURL: not bound !missing-selector! SKVideoNode::setAnchorPoint: not bound !missing-selector! SKVideoNode::setSize: not bound !missing-selector! SKVideoNode::size not bound !missing-selector! +SKVideoNode::videoNodeWithFileNamed: not bound !missing-selector! +SKVideoNode::videoNodeWithURL: not bound 2. SKNodeFocusBehavior is exposed needlessly on watchOS because SpriteKit/Enums.cs was not processed by the generator, so [NoWatch] did not matter. !unknown-native-enum! SKNodeFocusBehavior bound It's also visible on macOS but nothing uses it (so we do not expose it needlessly) !missing-enum! SKNodeFocusBehavior not bound 3. Add missing designated initializer on default `init` !missing-designated-initializer! SKAttributeValue::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! SKNode::init is missing an [DesignatedInitializer] attribute 4. Remove inconsistency for SKNode subclasses wrt XAMCORE_4_0 The trio attributeValues, setAttributeValues and setValue:forAttributeNamed: that was moved from SKNode (deprecated) into its subclasses. This was done using XAMCORE_4_0 but not on every subclasses. This adds them everywhere to be consistent (only SKNode versions are not defined in XAMCORE_4_0) !missing-selector! SKEffectNode::attributeValues not bound !missing-selector! SKEffectNode::setAttributeValues: not bound !missing-selector! SKEffectNode::setValue:forAttributeNamed: not bound !missing-selector! SKEffectNode::valueForAttributeNamed: not bound !missing-selector! SKEmitterNode::attributeValues not bound !missing-selector! SKEmitterNode::setAttributeValues: not bound !missing-selector! SKEmitterNode::setValue:forAttributeNamed: not bound !missing-selector! SKEmitterNode::valueForAttributeNamed: not bound !missing-selector! SKSpriteNode::attributeValues not bound !missing-selector! SKSpriteNode::setAttributeValues: not bound !missing-selector! SKSpriteNode::setValue:forAttributeNamed: not bound !missing-selector! SKSpriteNode::valueForAttributeNamed: not bound * [introspection] Make sure '[FAIL]' is printed before every failure. (#2578) This makes xharness able to list the failures in the inline summary. * [xtro] Reword some of the Simd diagnostic messages according to review. * [xharness] Add a missing IsServerMode check to generate correct html. (#2581) * [SpriteKit] SKTransformNode is new in Xcode 9 so no need to keep the broken (and obsolete) non-simd version of RotationMatrix. * [intents] Fix some (partial) xtro issues and #59156 (#2585) reference https://bugzilla.xamarin.com/show_bug.cgi?id=59156 Remaining issues are filled in https://bugzilla.xamarin.com/show_bug.cgi?id=59183 !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound * [Intents] Confirm* interface methods should be bound as Confirm, Fixes Bug 59164 (#2591) * [Intents] Confirm* interface methods should probably be bound as Confirm, Fixes Bug 59164 https://bugzilla.xamarin.com/show_bug.cgi?id=59164 All Confirm* methods from *IntentHandling interfaces should be named just `Confirm` to avoid confusion because most of them do not directly confirm as an acion, but instead they **ask** for confirmation also we would follow swift's naming by doing this. * [Intents] XAMCORE_4_0 all Confirm* methods from *IntentHandling Turns any Confirm* into just Confirm inside a XAMCORE_4_0 block, * [Intents] Fix breaking changes in Intents added in Xcode 9 Bindings (#2590) Apple added more protocol conformances to INRidesharingDomainHandling and INPaymentsDomainHandling protocols in Xcode 9, I introduced these breaking changes back when I did intents binding so fixing them :) * [Metal] New bindings from Xcode 9 betas (#2457) * [AVFoundation] Updated bindings for xcode9. (#2272) * [Xcode9] Add IOSurface bindings (#2363) * This framework was a private framework before iOS 11. This framework was a private framework before iOS 11, yet the headers claim many API were introduced in iOS 10. So take account of this difference by using the private framework location in iOS 10.3 or earlier. Testing these API from Xcode works fine when run on an iOS 10.3 device, and I've confirmed the IOSurface framework is loaded from the private frameworks path on older devices (and when built using Xcode 9 and linked with the public framework path). * Disable code to make IOSurface work on iOS 10. Disable the code to make IOSurface work on iOS 10, since it may be rejected by the App Store. This also means adjusting the availability attributes, so that the introspection tests pass (and to document that technically these API won't work when used with Xamarin.iOS in iOS 10). I've filed bug #[59201][1] to keep track of this, maybe we can re-enable this later. [1]: https://bugzilla.xamarin.com/show_bug.cgi?id=59201 * [CoreMedia] Fix leak in CMAttachmentBearer.GetAttachments. (#2593) The caller owns the return value from CMCopyDictionaryOfAttachments, so tell Runtime.GetNSObject that. * [Intents] Adds missing API found by xtro, fixes Bug 59183 (#2596) https://bugzilla.xamarin.com/show_bug.cgi?id=59183 Fixes !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !incorrect-protocol-member! INUIHostedViewControlling::configureWithInteraction:context:completion: is OPTIONAL and should NOT be abstract * [xtro] Fix StartWorkingDirectory to enable debugging (#2598) * [iosurface] Enable for tvOS and XM classic (to avoid multiple defines around consumer API) (#2597) * [xtro] Fix EnumCheck (#2600) * [ARKit] Rename a few method to make them nicer. (#2604) * DisplayTransform -> GetDisplayTransform since methods should have verbs. * SessionWasInterrupted -> WasInterrupted and SessionInterruptionEnded -> InterruptionEnded since these names match better with the other names (CameraDidChangeTrackingState / DidFail / DidOutputAudioSampleBuffer: none are prefixed with 'Session'). Additionally, the type is a Model (for the delegate pattern), which means all methods are more-or-less event-like, and the first argument is always the same (the protocol itself), which is another indicator the methods should be named similarly. * [Foundation] Remove 'Key' suffix from some fields. (#2606) Of the 168 fields in NSMetadataItem, only these 5 hadn't removed the 'Key' suffix. So make them all equivalent by removing the 'Key' suffix from these 5 fields. * [ImageIO] Fix API to not duplicate the instance in instance methods. (#2609) An instance method does not need to take the instance as a parameter, so remove the first (instance) parameter for CGImageDestination.AddAuxiliaryDataInfo and CGImageSource.CopyAuxiliaryDataInfo. An alternative solution would be to make the methods static, but I like the instance API better. * [UIKit] De-model UIDataSourceTranslating. (#2603) It's not clear from neither the documentation nor the headers how this protocol is supposed to be used, and since it doesn't correspond to the delegate pattern, remove the [Model] attribute for now. We can always add it back later. * [CoreML] Improve API. (#2592) * [CoreML] Improve API. * The indices, shape and stride properties for MLMultiArray and MLMultiArrayConstraint can logically only be arrays of integers, so type them as such. This means adding overloads for MLMultiArray's constructors, GetObject and SetObject methods, and the indexers that takes nint[] arrays instead of NSNumber[] arrays. * Change MLFeatureValue's static factory methods to be a method ('Create') instead of a preposition, and call all the different factory methods the same, since they can be overloaded nicely. * [tests][monotouch-test] Add version check to MLMultiArrayTest and make sure the arrays we create are big enough for the data we put in them. * [tests][monotouch-test] MLMultiArray's elements aren't zero-initialized, so don't assume that in the tests. * Support overloading Objective-C methods based on static/instance. (#2607) Two Objective-C methods can be named identically as long as one is static and the other instance. We must support this since Apple did just this (in the NSItemProviderReading / NSItemProviderWriting protocols). We solve it by prepending a '+' or '-' to the selector when hashing it (to determine selector uniqueness, and to look the method up again at runtime). * [uikit] Update for Xcode 9 - Part 6 (#2602) NSAttributedString.h NSFileProviderExtension.h NSLayoutAnchor.h UIAccessibility.h UIAccessibilityAdditions.h UIAccessibilityContainer.h UIAccessibilityContentSizeCategoryImageAdjusting.h UIAccessibilityCustomRotor.h UIAccessibilityLocationDescriptor.h UITabBar.h UINavigationBar.h UIScreen.h * Xcode9 scenekit (#2512) * [SceneKit] basic work * Added key * [xcode9] SCNCameraController * [xcode9] SCNCamera updates * [xcode9] SCNMaterial * [xcode9] SCNGeometryTessellator, SCNCameraControlConfiguration, SCNView, small bits * Add trailing commas to last enum value * Remove whitespace noise * [scenekit] Update deprecated attributes messages * Addresses some of Rolf's feedback * Drop the WeakDelegate in SCNCameraController * Rename method to Render, remove ctor from class that can not be constructed in Palygrounds, add typo exception * [AppKit] Rename NSBezierPath.AppendBezierPathWithCGGlyph to match its sibling methods. (#2605) NSBezierPath contains a lot of 'AppendPathWithXXX' methods, that all map to 'appendBezierPathXXX' selectors. So rename AppendBezierPathWithCGGlyph accordingly, to make it more similar to the other methods in the same type. * [uikit] Add all UISpringLoadedInteractionSupporting (#2616) Types do not conform to the protocol but protocol methods work on those types (see monotouch-test). Fixed introspection tests accordingly and tested the selectors in monotouch-test. * [Intents] Add convenience ctor overload and call correct base ctor in manual ctor. (#2613) Add a convenience constructor overload in INGetUserCurrentRestaurantReservationBookingsIntent that uses nint instead of NSNumber, since logically "number of results" will always be some sort of integer. Also call the correct base constructor in INSpeakableString's custom constructor (same as any other generated constructor). Otherwise we end up doing something like this: [[[INSpeakableString alloc] init] initWith ...], i.e. calling two different init methods. * [coreimage] Add new headers API up to beta 6 (#2601) Filters are not complete (ref: #57350) https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * Some new constants are not yet documented (type is known), so they are commented / ignored https://bugzilla.xamarin.com/show_bug.cgi?id=59296 * Filled bug for [Wrap] inside [Category] so strong dictionary helpers can be re-enabled later https://bugzilla.xamarin.com/show_bug.cgi?id=59294 * [foundation] xtro fixes for watchOS (#2586) !missing-enum! NSProcessInfoThermalState not bound !missing-field! NSProcessInfoThermalStateDidChangeNotification not bound !missing-selector! NSProcessInfo::thermalState not bound Headers are wrong and preferredPresentationStyle is not in tvOS and watchOS !missing-selector! NSItemProvider::preferredPresentationStyle not bound !missing-selector! NSItemProvider::setPreferredPresentationStyle: not bound * [uikit] Also remove UIPreferredPresentationStyle enum from platform where it's not used * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. (#2614) * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. * NSItemProviderWriting: * NSItemProviderReading: Implement correctly and completely by uncommenting commented out code. * NSMutableString: * NSAttributedString: remove inlined members, since these classes don't implement NSItemProviderReading / NSItemProviderWriting (according to the headers at least). * NSUrl: all platforms now seem to implement NSItemProviderReading / NSItemProviderWriting. * NSString: all platforms now seem to implement both NSItemProviderReading and NSItemProviderWriting * UIColor: * UIImage: Update inlined protocol members according to the latest beta. Additionally, due to the following conditions: * The protocols all have the correct members now. * In the API definition we tell the generator to inline members from a protocol by inheriting from the corresponding interface. * The generator doesn't inline static members from protocols. several 'new' keywords had to be added to silence a compiler warning that occurrs when we manually inline a static member, since the member would be included in the type both from the inherited interface and the manual implementation. * [Foundation] Comment out NSItemProviderWriting.GetItemProviderVisibility to avoid inlining/generating unusable methods. NSItemProviderWriting.GetItemProviderVisibility is an optional method, and none of the native classes that implements NSItemProviderWriting actually imlements the method. This means inlining the method in those classes ends up creating unusable API; so just comment out the method to avoid generating the unusable API. The introspection tests found this: [FAIL] Foundation.NSString : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Foundation.NSUrl : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Contacts.CNContact : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] MapKit.MKMapItem : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIColor : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIImage : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] iOSApiSelectorTest.ApiSelectorTest.StaticMethods : 6 errors found in 2348 static selector validated: See also https://bugzilla.xamarin.com/show_bug.cgi?id=59308 * [iosurface] Add missing [TV] attributes (#2619) * [opengles] Enable the new API using IOSurface (#2618) The symbol only exists inside device libraries, not on simulator, and the introspection tests were updated to ignore it. Part of https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [avfoundation][watchos] Enable AudioBufferList (fix #59145) + audit (xtro) (#2617) 1. AudioBufferList is part of CoreAudio (wrong namespace, which needs a few changes in the generator) and now available in watchOS 4 https://bugzilla.xamarin.com/show_bug.cgi?id=59145 2. Also fixes xtro found issues: !missing-type! AVAudioRecorder not bound !missing-selector! AVAudioRecorder::averagePowerForChannel: not bound !missing-selector! AVAudioRecorder::channelAssignments not bound !missing-selector! AVAudioRecorder::currentTime not bound !missing-selector! AVAudioRecorder::delegate not bound !missing-selector! AVAudioRecorder::deviceCurrentTime not bound !missing-selector! AVAudioRecorder::format not bound !missing-selector! AVAudioRecorder::initWithURL:format:error: not bound !missing-selector! AVAudioRecorder::initWithURL:settings:error: not bound !missing-selector! AVAudioRecorder::isMeteringEnabled not bound !missing-selector! AVAudioRecorder::isRecording not bound !missing-selector! AVAudioRecorder::peakPowerForChannel: not bound !missing-selector! AVAudioRecorder::recordAtTime: not bound !missing-selector! AVAudioRecorder::recordAtTime:forDuration: not bound !missing-selector! AVAudioRecorder::recordForDuration: not bound !missing-selector! AVAudioRecorder::setChannelAssignments: not bound !missing-selector! AVAudioRecorder::setDelegate: not bound !missing-selector! AVAudioRecorder::setMeteringEnabled: not bound !missing-selector! AVAudioRecorder::settings not bound !missing-selector! AVAudioRecorder::url not bound !missing-protocol! AVAudioRecorderDelegate not bound !missing-selector! AVAudioEngine::inputNode not bound !missing-selector! AVAudioEngine::manualRenderingBlock not bound !missing-selector! AVAudioInputNode::setManualRenderingInputPCMFormat:inputBlock: not bound !missing-selector! AVAudioPlayer::format not bound !missing-selector! AVAudioSession::requestRecordPermission: not bound !unknown-field! AVFileType3GPP bound !unknown-field! AVFileType3GPP2 bound !unknown-field! AVFileTypeAC3 bound !unknown-field! AVFileTypeAIFC bound !unknown-field! AVFileTypeAIFF bound !unknown-field! AVFileTypeAMR bound !unknown-field! AVFileTypeAVCI bound !unknown-field! AVFileTypeAppleM4A bound !unknown-field! AVFileTypeAppleM4V bound !unknown-field! AVFileTypeCoreAudioFormat bound !unknown-field! AVFileTypeDNG bound !unknown-field! AVFileTypeEnhancedAC3 bound !unknown-field! AVFileTypeHEIC bound !unknown-field! AVFileTypeHEIF bound !unknown-field! AVFileTypeJPEG bound !unknown-field! AVFileTypeMPEG4 bound !unknown-field! AVFileTypeMPEGLayer3 bound !unknown-field! AVFileTypeQuickTimeMovie bound !unknown-field! AVFileTypeSunAU bound !unknown-field! AVFileTypeTIFF bound !unknown-field! AVFileTypeWAVE bound * [Metal] Implement API using IOSurface now that IOSurface is implemented. Partially fixes #58054. (#2621) https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [PdfKit] Improve PdfAnnotation.QuadrilateralPoints binding by making it strongly typed. (#2620) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). (#2622) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). * [ARKit/Vision] Use the new simd vector types instead of the OpenTK versions. * [ModelIO] Use the new simd vectors in new API (MDLVoxelIndexExtent2). This way we won't have to create a MDLVoxelIndexExtent3 in the future. * [SpriteKit] Use the new simd vectors in new API. * [metal] Audit (xtro) based fixes (#2623) !extra-protocol-member! unexpected selector MTLArgumentEncoder::newArgumentEncoderForBufferAtIndex: found !extra-protocol-member! unexpected selector MTLComputeCommandEncoder::dispatchThreads:threadsPerThreadgroup: found macos-only !missing-field! MTLDeviceRemovalRequestedNotification not bound !missing-field! MTLDeviceWasAddedNotification not bound !missing-field! MTLDeviceWasRemovedNotification not bound !missing-pinvoke! MTLCopyAllDevices is not bound * [CloudKit] Update bindings to beta 6. (#2615) * [FileProvider] Turn NSFileProviderItemIdentifier enum into a static class, fixes bug 59329 (#2634) https://bugzilla.xamarin.com/show_bug.cgi?id=59329 At the time of binding NSFileProviderItemIdentifier it wasn't clear how it was supposed to be used, I mean apple provides two keys which I thought were the only possible values hence binding it as an smart enum. Unfortunately this wasn't the case and the user can use those two values provided from the SDK or their own NSString Identifier. Swift provides a wrapper unfortunately we can't do the same due to NSFileProviderItemIdentifier is used in the NSFileProviderItem protocol and we currently do not support changing signatures on them. * [mtouch] Teach mtouch about the 'IOSurface' framework for tvOS. Fixes #59333. (#2630) https://bugzilla.xamarin.com/show_bug.cgi?id=59333 * Bump Touch.Unit to get fix for API breakage. (#2631) spouliot/Touch.Unit@8f1e19d [NUnitOutputTextWriter] Reintroduce previous constructor to make sure we don't break binary ABI. spouliot/Touch.Unit@00b0c0b [NUnitOutputTextWriter] Don't write invalid xml comments. spouliot/Touch.Unit@de9fe20 [TouchRunner] Restore the original code path when not wrapping NUnit xml output. * [IOSurface] Add missing availability attributes for tvOS. (#2629) * Bump versions for preview 9 (#2624) * [AVFoundation] Add missing interface AVRouteDetector. (#2637) * [tests] Update xtro to reduce list sizes (#2636) * Skip OpenTK duplicate declaration (we can't change them); * Fix rule name change for ARKit / simd; * Add missing default initializer on `init` to pending actions; * Add note for AVPersistableContentKeyRequest changes wrt tvOS; * [ReplayKit] Make RPBroadcastActivityViewController.LoadBroadcastActivityViewController async-capable. (#2639) * [xcode9] More SceneKit bindings (#2633) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 (#2644) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 https://bugzilla.xamarin.com/show_bug.cgi?id=59380 vector_float3 is 16 bytes, which means the binding is incorrect, because Vector3 is 12 bytes, and our code does not that difference into account. * Add tests * [DeviceCheck] Disable default ctor for DCDevice. (#2642) It doesn't seem to be useful according to the documentation, since it appears that the only way to get an instance is to use the static CurrentDevice property. * [audiounit] Audit (xtro) fixes for tvOS (#2635) Availability attributes in non-generated files don't hide symbols/code. reference: !unknown-pinvoke! AudioUnitExtensionCopyComponentList bound !unknown-pinvoke! AudioUnitExtensionSetComponentList bound * [tests] Make sure tvOS tests don't use the (unexisting) API * [tests] Add all test project variations to tests-mac.sln (#2579) * [xharness] Make sure generated mac projects have different project guids. * [introspection] Change the project guid so that it doesn't match the dontlink-mac project guid. * [tests] Add all test project variations to tests-mac.sln. * [xharness] Fix else condition. * [FileProvider] Adds missing NSFileProviderPage constants, fixes bug 59297. (#2646) https://bugzilla.xamarin.com/show_bug.cgi?id=59297 Adds NSFileProviderInitialPageSortedByName and NSFileProviderInitialPageSortedByDate NSData constants * [Xcode9] Remove NSFileProviderMessage and NSFileProviderMessageInterface (#2647) APIs were removed in beta 2 * [Foundation/UIKit] Provide LoadObject[s] methods that return the expected type in the callback. Fixes #59049. (#2638) The callback for these LoadObject[s] methods take an INSItemProviderReading parameter. This tells our runtime that we must provide an instance of a managed object that implements this interface (but nothing else), so we create a `NSItemProviderReadingWrapper` instance, which complies with the API (since the wrapper type implements the corresponding interface). Unfortunately these methods are supposed to return an instance of the passed- in type, so in order to comply with this soft (documentation-only) requirement, provide a wrapper method that creates instances of the right types. https://bugzilla.xamarin.com/show_bug.cgi?id=59049 * [arkit] Ignore deprecated selectors (#2645) * [FileProvider] Adds missing protocol and keys from audit (#2652) ``` !missing-protocol! NSFileProviderServiceSource not bound !missing-field! NSFileProviderErrorCollidingItemKey not bound !missing-field! NSFileProviderErrorNonExistentItemIdentifierKey not bound !missing-field! NSFileProviderFavoriteRankUnranked not bound ``` Also adds `NSXpcListenerEndpoint` to foundation, needed by `NSFileProviderServiceSource` protocol. * [tests][xtro] Workaround xtro runner dupe entry exception and update data files (#2654) * [AVFoundation] Rename field to match others. (#2657) * [homekit] Audit (xtro) fixes (#2653) - HMCharacteristicEvent conforms to NSMutableCopying on iOS11 which makes it 64 bits only (so adjust intro tests) - Ignore extra setters on HMMutablePresenceEvent, rdar 33883958 !missing-selector! HMMutablePresenceEvent::setPresenceEventType: not bound !missing-selector! HMMutablePresenceEvent::setPresenceUserType: not bound * [xtro] Add missing pinvoke to pending (#2662) - Bug 59422: [uikit] Missing UIContentSizeCategoryCompareToCategory & UIContentSizeCategoryIsAccessibilityCategory (https://bugzilla.xamarin.com/show_bug.cgi?id=59422) * Merge latest d15-3 fixes into xcode9 (#2660) * [msbuild] Re-added wildcard (*) expandsion for application-identifier in Entitlements.plist (#2186) Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=57119 * Bump mono (#2213) * Framework tests were still binding non-linked Simple class which errors now (#2216) (#2218) - Improve Makefile to rebuild when projects build with errors * Bump mono to get cecil fix for bug #56808. (#2222) https://bugzilla.xamarin.com/show_bug.cgi?id=56808 * [msbuild] Use @(ReferencePath) instead of @(ResolvedFiles) (#2188) (#2214) This allows things to work on both xbuild and msbuild. In xbuild, both lists are exactly the same and on msbuild, only @(ReferencePath) exists. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=55147 * NSActivityOptions.IdleDisplaySleepDisabled had wrong value (#2232) (#2239) This was due to an integer overflow. The original value was based on Int32 1 << 40 == 256 The correct value should be based on a UInt64. 1UL << 40 == 1099511627776 * [tests] Fix bug 57699 - [iOS]InternalsTest failure (Linkall) tests on device (#2243) Strip native debugging symbols should not be checked for debug builds * Bump mono to get fix for bug #57780. https://bugzilla.xamarin.com/show_bug.cgi?id=57780 * Update .gitmodules Change branch to d15-3 branch of mono * Bump maccore to get fix for bug #55064. https://bugzilla.xamarin.com/show_bug.cgi?id=55064 * [mono] Bump mono to get the head of cecil/mono-2017-04 and fix IsComObject #57919 Also fix #58789 [1], the typo in tools/mtouch/Tuning.cs showing in MT0000 errors instead MT2102. That's already in master and d15-4 mono bump includes: [2] commit 2a6502cee0df9de5198eafe7c8b5f6ac25106f34 (HEAD -> d15-3, origin/d15-3) Merge: 02457c20fcf 5e05cafc6f1 Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 10:04:06 2017 -0400 Merge pull request #5401 from marek-safar/com [Marshal.IsComObject] Make this predicate return false instead of thr… [3] commit 02457c20fcf57c0610e844d638eb1da82b5d1eb0 Merge: da80840ea55 73fd9a1b82e Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 09:59:06 2017 -0400 Merge pull request #5400 from spouliot/bump-cecil-58834-d15-3 [cecil] Bump to the head of the mono-2017-04 branch and pick the fix for bug #58834 References [1] https://bugzilla.xamarin.com/show_bug.cgi?id=58789 [2] https://bugzilla.xamarin.com/show_bug.cgi?id=57919 [3] https://bugzilla.xamarin.com/show_bug.cgi?id=58834 * [mtouch] Put 'mono_profiler_startup_log' in the symbol list. Fixes #58778. (#2501) We need the 'mono_profiler_startup_log' symbol when profiling is enabled, so make sure to add the symbol to the correct list of symbols we need. Previously we were passing `-u _mono_profiler_startup_log` to clang directly, which is fine, but not complete, since it does not write the symbol to the symbollist file (--symbollist=file), which means it wouldn't be preserved when the MSBuild tasks strip the executable. https://bugzilla.xamarin.com/show_bug.cgi?id=58778 * Bump versions for SR3 https://trello.com/c/EVze08ei * Bump mono to include HttpClientHandler fix #44027 https://trello.com/c/jYFXadH8/8-systemnethttp-close-request-stream-when-httpclienthandler https://bugzilla.xamarin.com/show_bug.cgi?id=44027 * [FileProvider] Add missing API and turn NSString to string (#2663) Turned NSString to string in order to match exisiting API. * [uikit] Add UIPasteConfigurationSupporting and UITextPasteConfigurationSupporting (#2649) - Fixes bug #59363: Missing UIPasteConfigurationSupporting, UITextPasteConfigurationSupporting, UITextDraggable and UITextDroppable on a couple of types (https://bugzilla.xamarin.com/show_bug.cgi?id=59363) * [uikit] Remove 129 types in UIPasteConfigurationSupporting case * [scenekit] Audit (xtro) fixes (#2648) This looks like an Apple breaking change (since `SCNAnimation` is new) but we now have: > typedef void (^SCNAnimationEventBlock)(id<SCNAnimation> animation, id animatedObject, BOOL playingBackward); bound as > delegate void SCNAnimationEventHandler (CAAnimation animation, NSObject animatedObject, bool playingBackward); and `CAAnimation` conforms to `SCNAnimation` but *only* the later is available on watchOS. The delegate is only updated (since it's new) on our watchOS profile. xtro references: (watchos) !unknown-protocol! SCNCameraControlConfiguration bound (tvos/watchos) !missing-selector! SCNAnimation::animationEvents not bound !missing-selector! SCNAnimation::setAnimationEvents: not bound !missing-selector! SCNConstraint::isEnabled not bound !missing-selector! SCNConstraint::setEnabled: not bound !missing-field! SCNSceneSourceConvertToYUpKey not bound !missing-field! SCNSceneSourceConvertUnitsToMetersKey not bound (ios/tvos) !missing-protocol-conformance! SCNNode should conform to UIFocusItem * Bump maccore post 15.3 merge (#2665) * Bump Xcode 9 to GM (#2667) * Force build (on wrench) * [avfoundation] Fix breaking changes (apidiff) (#2664) * [TVServices] Update to Xcode 9 GM (#2675) * [GameController] Update to Xcode 9 GM (#2673) * [LocalAuthentication] Update to Xcode 9 GM (#2671) * [LocalAuthentication] Update to Xcode 9 GM * Remove availability from BiometryNotAvailable, BiometryNotEnrolled and BiometryLockout * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer (#2659) * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer Some of the new added types were already present BUT under a #if MONOMAC, they had to be moved. * [AVFoundation] Set the wrongly added API to be obsolete and ensure it returns logical values. (#2650) * [xtro] The right platform for macOS is 'macos', not 'osx'. (#2677) The platform name is used to filter availability attributes, and if we use the wrong platform, we'll incorrectly skip all availability attributes. The net result in unclassified entries: https://gist.github.com/rolfbjarne/a4474bc2a40c49a85cad495b51bb514f * Various Xcode 9 API improvements and also fixes bug 59433 (#2676) https://bugzilla.xamarin.com/show_bug.cgi?id=59433 While fixing bug 59433 I noticed some additional issues outlined below: AVDepthData: * Renamed **non** static `Create` methods because `Create` only makes sense with the **Static** method in this context. Also by renaming the methods we are now closer to the names that swift uses. * Kept descriptive method names in favor of self-documenting code. `Convert`, `Apply` and `Replace` do not fully give us the intent of the method. * Added a convenience `Create` static method that takes a `CGImageAuxiliaryDataInfo`. * AvailableDepthDataTypes is now an array of `CVPixelFormatType` instead of a `NSNumber` array (The aactual fix for bug 59433). ImageIO: * Refactored `CGImageAuxiliaryDataInfo` to be a `StrongDictionary` in order to avoid most of the manual code and also to avoid reimplementing the `ToDictionary` method (which contained a subtle bug). * Adjusted code to reflect the above change. * Added missing `.ctor (IntPtr, bool)` to `CGImageMetadata` so the class is able to be created by our `Runtime.Get*`. * Simplified `CopyAuxiliaryDataInfo` method by using `CGImageAuxiliaryDataInfo` as a `DictionaryContainer`. Tests: * Added `xamarinmonkey.heic` which is an image that contains depth data needed to test above changes. * Adds `AVDepthDataTests` that touches most of the changes listed here. * Tweak the Simd-compatible matrices and vectors (#2668) * Rename them to be OpenTK.NMatrix# (instead of Simd.MatrixFloat#x#). * Remove the Vector2 and Vector4 variants, we'll use the OpenTK types instead (but we'll keep the NVector3 variant, since it's not identical to the OpenTK version). * Update the API to match their OpenTK counterparts better: * NMatrix2 and NMatrix3 have a 0-based R#C# scheme for their fields. * NMatrix4 has a 1-based M## scheme for its fields (i.e. no change). * [AVFoundation] Use Simd-matrix for API that needs it. (#2679) This also requires implementing the corresponding matrix (NMatrix4x3). Fixes this xtro issue: > !unknown-simd-type-in-signature! OpenTK.Matrix3 AVFoundation.AVCameraCalibrationData::get_GetIntrinsicMatrix(): the native signature has a simd type (matrix_float3x3), while the corresponding managed method is using an incorrect (non-simd) type. * [xtro] Fix checking availability on categories. (#2682) When checking for category availability, check if both the current declaration is a category, and if the current's declaration container is a category. Otherwise this scenario fails: * Category method is available. * Category does not have availability attributes. * Main class is unavailable. with this typical code sequence: ```csharp // don't process methods (or types) that are unavailable for the current platform if (!decl.IsAvailable () || !(decl.DeclContext as Decl).IsAvailable ()) return; ``` In which case we'd: * First check the method (`decl`): * It's available, so no further checks is done on the method. * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container's container is a category (it isn't, it's the namespace). and as such determine that the method is available. With this change, the second step will become: * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container is a category (it is), and if its main class is available (it isn't). and as such determine that the method is unavailable. * Check for attributes on the method's container (no attributes, so we continue). * Check if the method's Unclassified diff: https://gist.github.com/rolfbjarne/8fa80962596978a426eadf9b7ba39dc1 * [uikit] Update for Xcode 9 GM (#2670) * [AVFoundation] Implement AVCapturePhoto. Partially fixes #59388. (#2678) Fixes: > common.unclassified:!missing-type! AVCapturePhoto not bound https://bugzilla.xamarin.com/show_bug.cgi?id=59388 * Use strong dictionaries for AVCapturePhoto.Metadata and AVCapturePhoto.EmbeddedThumbnailPhotoFormat. * [SIMD] Implement Simd double types (VectorDouble3/MatrixDouble4x4). (#2632) The following types will be used by ModelIO bindings * Fix delta to be double * Rename Simd-compatible matrices and vectors to match our final naming. This also means removing the new Vector2 and Vector4 variants (but not Vector3). * [avfoundation] Remove AVAssetDownloadDelegate.DidLoadTimeRange since it was removed in one of the betas (#2687) * [foundation] Move NSUrlSessionMultipathServiceType to a file processed by the generator (for the availability attributes) (#2688) * [arkit] Update for Xcode 9 GM (#2681) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes (#2690) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes Type Changed: Intents.INCarSeatResolutionResult Removed methods: public static INCarSeatResolutionResult GetConfirmationRequired (INCarSeat valueToConfirm); public static INCarSeatResolutionResult GetSuccess (INCarSeat resolvedValue); * [avfoundation] Add missing protocol members and deprecations (#2691) !missing-protocol-member! AVCapturePhotoCaptureDelegate::captureOutput:didFinishProcessingPhoto:error: not found and the selector removed from PR#2687 was actually replaced with this one !missing-protocol-member! AVAssetDownloadDelegate::URLSession:aggregateAssetDownloadTask:didLoadTimeRange:totalTimeRangesLoaded:timeRangeExpectedToLoad:forMediaSelection: not found * [tests][xtro] Map some enums, more fix with protocols and update entries (#2692) * [Tests] Reenable dns tests on the watch. (#2674) * [arkit] Add ARBlendShapeLocationOptions strong dictionary (#2696) * [coreimage] Skip not yet bound filters added in Xcode9 (#2698) Tracked in https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * [Metal] Renamed MTLArgumentDescriptor.ArgumentDescriptor to Create, fixes bug 59498 (#2702) https://bugzilla.xamarin.com/show_bug.cgi?id=59498 From [argumentDescriptor docs](https://developer.apple.com/documentation/metal/mtlargumentdescriptor/2915746-argumentdescriptor?language=objc) > Creates an empty argument descriptor. * [msbuild] Always codesign app bundles if the codesign key is non-null (#2697) ...even if it is a simulator build. Turns out that starting with Xcode9, sim builds need to be codesigned for App Groups entitlements to work properly. Interestingly, the DetectSigningIdentity logic had a comment about needing to codesign simulator builds for some entitlements to work already starting with Xcode 8 but apparently the iOS targets did not respect this. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=59379 * [Foundation] Add NSProxy stub in order to workaround bug 59247 (#2693) https://bugzilla.xamarin.com/show_bug.cgi?id=59247 We need to have a better solution that removes all what NSProxy does not responds to. Right now this works because NSObject implements NSObject protocol just like NSProxy, but NSProxy responds to far less selectors hence doing it internal so it is not a breaking change when we provide the correct fix. * Keep NSProxy around and avoid XML linker description We need to keep NSProxy (avoid linking it) if WKNavigationDelegate or IWKNavigationDelegate is used. We know WKWebView will be there and can hold a reference to it. * [Xcode 9] Update Metal for GM (#2689) * [iosurface] IOSurface is not usable before iOS/tvOS 11. Fixes #59201 (#2706) Apple rejects apps that links with the previously private IOSurface.framework. We were not sure about this [1] and had it disabled (this is removed). However another bug stopped our adjustment logic [2] from being executed. This is needed since `clang` picks up the private framework if it does not find the public one (even when asking for a weak framework), [1] https://bugzilla.xamarin.com/show_bug.cgi?id=59201 [2] Added a while ago for JavascriptCore * Bump maccore to point to commit with the docs fix. (#2703) * Bump XI to 11.0.x (and XM to 3.99.9.x) (#2684) * fix typo
2017-09-16 00:53:16 +03:00
[Export ("updateAtTime:")]
void Update (double time);
2016-04-21 15:30:02 +03:00
}
[Watch (3,0)]
2016-04-21 15:30:02 +03:00
[Mac (10,8), iOS (8,0)]
[Static]
interface SCNRenderingArguments {
[Field ("SCNModelTransform")]
NSString ModelTransform { get; }
[Field ("SCNViewTransform")]
NSString ViewTransform { get; }
[Field ("SCNProjectionTransform")]
NSString ProjectionTransform { get; }
[Field ("SCNNormalTransform")]
NSString NormalTransform { get; }
[Field ("SCNModelViewTransform")]
NSString ModelViewTransform { get; }
[Field ("SCNModelViewProjectionTransform")]
NSString ModelViewProjectionTransform { get; }
}
[Mac (10,9), iOS (8,0)]
delegate void SCNSceneExportProgressHandler (float /* float, not CGFloat */ totalProgress, NSError error, out bool stop);
[Watch (3,0)]
2016-04-21 15:30:02 +03:00
[Mac (10,8), iOS (8,0)]
[BaseType (typeof (NSObject))]
interface SCNScene :
#if (XAMCORE_2_0 || !MONOMAC) && !WATCH
GKSceneRootNodeType ,
#endif
NSSecureCoding {
2016-04-21 15:30:02 +03:00
[Static]
[Export ("scene")]
SCNScene Create ();
[Export ("rootNode")]
SCNNode RootNode { get; }
[Export ("attributeForKey:")]
NSObject GetAttribute (NSString key);
[Export ("setAttribute:forKey:")]
void SetAttribute (NSObject attribute, NSString key);
[Static]
[Export ("sceneWithURL:options:error:")]
[EditorBrowsable (EditorBrowsableState.Advanced)]
SCNScene FromUrl (NSUrl url, [NullAllowed] NSDictionary options, out NSError error);
[Static]
[Wrap ("FromUrl (url, options == null ? null : options.Dictionary, out error)")]
SCNScene FromUrl (NSUrl url, [NullAllowed] SCNSceneLoadingOptions options, out NSError error);
[Mac (10,9), iOS (8,0)]
[Field ("SCNSceneExportDestinationURL")]
NSString ExportDestinationUrl { get; }
[Mac (10,10, onlyOn64 : true), iOS (8,0)] // More 32-bit brokenness - 17710842
[Export ("physicsWorld")]
SCNPhysicsWorld PhysicsWorld { get; }
[Mac (10,9), iOS (8,0)]
[Export ("background")]
SCNMaterialProperty Background { get; }
[TV (10, 0), Mac (10, 12), iOS (10, 0)]
[Export ("lightingEnvironment")]
SCNMaterialProperty LightingEnvironment { get; }
2016-04-21 15:30:02 +03:00
[Mac (10,10), iOS (8,0)]
[Export ("fogStartDistance")]
nfloat FogStartDistance { get; set; }
[Mac (10,10), iOS (8,0)]
[Export ("fogEndDistance")]
nfloat FogEndDistance { get; set; }
[Mac (10,10), iOS (8,0)]
[Export ("fogDensityExponent")]
nfloat FogDensityExponent { get; set; }
[Mac (10,10), iOS (8,0)]
[Export ("fogColor", ArgumentSemantic.Retain)]
NSObject FogColor { get; set; }
[Mac (10,10), iOS (8,0)]
[Export ("paused")]
bool Paused { [Bind ("isPaused")] get; set; }
[Mac (10,9), iOS (8,0)]
[Static, Export ("sceneNamed:")]
SCNScene FromFile (string name);
[Mac (10,10), iOS (8,0)]
[Static, Export ("sceneNamed:inDirectory:options:")]
[EditorBrowsable (EditorBrowsableState.Advanced)]
SCNScene FromFile (string name, [NullAllowed] string directory, [NullAllowed] NSDictionary options);
[Mac (10,10), iOS (8,0)]
[Static, Wrap ("FromFile (name, directory, options == null ? null : options.Dictionary)")]
SCNScene FromFile (string name, string directory, SCNSceneLoadingOptions options);
// Keeping here the same name WriteToUrl for iOS and friends because it is how it was bound
// initialy for macOS and having it named diferently would hurt shared code
[TV (10, 0), NoWatch, Mac (10, 9), iOS (10, 0)]
2016-04-21 15:30:02 +03:00
[Export ("writeToURL:options:delegate:progressHandler:")]
[EditorBrowsable (EditorBrowsableState.Advanced)]
bool WriteToUrl (NSUrl url,
[NullAllowed] NSDictionary options,
[NullAllowed] ISCNSceneExportDelegate aDelegate,
2016-04-21 15:30:02 +03:00
[NullAllowed] SCNSceneExportProgressHandler exportProgressHandler);
[TV (10, 0), NoWatch, Mac (10, 9), iOS (10, 0)]
2016-04-21 15:30:02 +03:00
[Wrap ("WriteToUrl (url, options == null ? null : options.Dictionary, handler, exportProgressHandler)")]
bool WriteToUrl (NSUrl url, SCNSceneLoadingOptions options, ISCNSceneExportDelegate handler, SCNSceneExportProgressHandler exportProgressHandler);
2016-04-21 15:30:02 +03:00
#region SCNParticleSystemSupport (SCNNode) category
[Mac (10,10)]
[Export ("particleSystems")]
SCNParticleSystem [] ParticleSystems { get; }
[Mac (10,10)]
[Export ("addParticleSystem:withTransform:")]
void AddParticleSystem (SCNParticleSystem system, SCNMatrix4 transform);
[Mac (10,10)]
[Export ("removeAllParticleSystems")]
void RemoveAllParticleSystems ();
[Mac (10,10)]
[Export ("removeParticleSystem:")]
void RemoveParticleSystem (SCNParticleSystem system);
#endregion
[Field ("SCNSceneStartTimeAttributeKey")]
NSString StartTimeAttributeKey { get; }
[Field ("SCNSceneEndTimeAttributeKey")]
NSString EndTimeAttributeKey { get; }
[Field ("SCNSceneFrameRateAttributeKey")]
NSString FrameRateAttributeKey { get; }
[iOS (8,0)][Mac (10,10)]
[Field ("SCNSceneUpAxisAttributeKey")]
NSString UpAxisAttributeKey { get; }
#if XAMCORE_2_0
[NoWatch]
2016-04-21 15:30:02 +03:00
[iOS (9,0), Mac(10,11)]
[Static]
[Export ("sceneWithMDLAsset:")]
SCNScene FromAsset (MDLAsset asset);
#endif
}
interface ISCNSceneExportDelegate { }
[TV (10, 0), NoWatch, Mac (10, 9), iOS (10, 0)]
2016-04-21 15:30:02 +03:00
[Protocol, Model]
[BaseType (typeof (NSObject))]
interface SCNSceneExportDelegate {
[Export ("writeImage:withSceneDocumentURL:originalImageURL:")]
[return: NullAllowed]
NSUrl WriteImage (NSImage image, NSUrl documentUrl, [NullAllowed] NSUrl originalImageUrl);
2016-04-21 15:30:02 +03:00
}
[Watch (3,0)]
2016-04-21 15:30:02 +03:00
[Mac (10,8), iOS (8,0)]
[BaseType (typeof (NSObject))]
[DisableDefaultCtor]
interface SCNSceneSource {
[Export ("url")]
NSUrl Url { get; }
[Export ("data")]
NSData Data { get; }
[Static, Export ("sceneSourceWithURL:options:")]
[EditorBrowsable (EditorBrowsableState.Advanced)]
SCNSceneSource FromUrl (NSUrl url, [NullAllowed] NSDictionary options);
[Wrap ("FromUrl (url, options == null ? null : options.Dictionary)")]
SCNSceneSource FromUrl (NSUrl url, SCNSceneLoadingOptions options);
[Static]
[Export ("sceneSourceWithData:options:")]
[EditorBrowsable (EditorBrowsableState.Advanced)]
SCNSceneSource FromData (NSData data, [NullAllowed] NSDictionary options);
[Static]
[Wrap ("FromData (data, options == null ? null : options.Dictionary)")]
SCNSceneSource FromData (NSData data, SCNSceneLoadingOptions options);
[Export ("initWithURL:options:")]
[EditorBrowsable (EditorBrowsableState.Advanced)]
IntPtr Constructor (NSUrl url, [NullAllowed] NSDictionary options);
[Wrap ("this (url, options == null ? null : options.Dictionary)")]
IntPtr Constructor (NSUrl url, SCNSceneLoadingOptions options);
[Export ("initWithData:options:")]
[EditorBrowsable (EditorBrowsableState.Advanced)]
IntPtr Constructor (NSData data, [NullAllowed] NSDictionary options);
[Wrap ("this (data, options == null ? null : options.Dictionary)")]
IntPtr Constructor (NSData data, SCNSceneLoadingOptions options);
[Export ("sceneWithOptions:statusHandler:")]
[EditorBrowsable (EditorBrowsableState.Advanced)]
SCNScene SceneFromOptions ([NullAllowed] NSDictionary options, SCNSceneSourceStatusHandler statusHandler);
[Wrap ("SceneFromOptions (options == null ? null : options.Dictionary, statusHandler)")]
SCNScene SceneFromOptions (SCNSceneLoadingOptions options, SCNSceneSourceStatusHandler statusHandler);
[Export ("sceneWithOptions:error:")]
[EditorBrowsable (EditorBrowsableState.Advanced)]
SCNScene SceneWithOption ([NullAllowed] NSDictionary options, out NSError error);
[Wrap ("SceneWithOption (options == null ? null : options.Dictionary, out error)")]
SCNScene SceneWithOption (SCNSceneLoadingOptions options, out NSError error);
[Export ("propertyForKey:")]
NSObject GetProperty (NSString key);
[Export ("entryWithIdentifier:withClass:")]
NSObject GetEntryWithIdentifier (string uid, Class entryClass);
[Export ("identifiersOfEntriesWithClass:")]
#if XAMCORE_2_0
string [] GetIdentifiersOfEntries (Class entryClass);
#else
NSObject [] IdentifiersOfEntriesWithClass (Class entryClass);
#endif
[Mac (10,9)]
[Export ("entriesPassingTest:")]
NSObject [] EntriesPassingTest (SCNSceneSourceFilter predicate);
}
delegate bool SCNSceneSourceFilter (NSObject entry, NSString identifier, ref bool stop);
2016-04-21 15:30:02 +03:00
[Watch (3,0)]
2016-04-21 15:30:02 +03:00
[Mac (10,8), iOS (8,0)]
[Static]
interface SCNSceneSourceLoading {
[Field ("SCNSceneSourceAssetDirectoryURLsKey")]
NSString AssetDirectoryUrlsKey { get; }
[Field ("SCNSceneSourceCreateNormalsIfAbsentKey")]
NSString CreateNormalsIfAbsentKey { get; }
[Field ("SCNSceneSourceFlattenSceneKey")]
NSString FlattenSceneKey { get; }
[Field ("SCNSceneSourceCheckConsistencyKey")]
NSString CheckConsistencyKey { get; }
[Field ("SCNSceneSourceOverrideAssetURLsKey")]
NSString OverrideAssetUrlsKey { get; }
// Less preferred spelling, don't break stable API
// note: was never released for XI
#if !XAMCORE_2_0 && MONOMAC
[Obsolete ("Use AssetDirectoryUrlsKey")]
[Field ("SCNSceneSourceAssetDirectoryURLsKey")]
NSString AssetDirectoryURLsKey { get; }
[Obsolete ("Use OverrideAssetUrlsKey")]
[Field ("SCNSceneSourceOverrideAssetURLsKey")]
NSString OverrideAssetURLsKey { get; }
#endif
[Field ("SCNSceneSourceStrictConformanceKey")]
NSString StrictConformanceKey { get; }
[Field ("SCNSceneSourceUseSafeModeKey")]
NSString UseSafeModeKey { get; }
[Mac(10,10)]
Merge xcode9 into d15-4[-xi] (#2710) * [FileProvider] Add Xcode 9 Beta 1, 2 & 3 Bindings (#2279) * [FileProvider] Add Xcode 9 Beta 1 Bindings * Better naming * Feedback not related to BindAs * [FileProvider] Removes BindAs, add manual code for it and updated to Beta 3 * [FileProvider] Implement feedback * [CoreSpotlight] Updated spotlight bindings for xcode 9 beta 3. (#2193) Updated spotlight bindings for xcode 9 beta 3. * Fix warning caused by duplicate (#2354) * [FileProviderUI] Add Xcode 9 Beta 1 to 3 bindings (#2356) * Bump to Xcode 9 beta 4 * [arkit] ARLightEstimate does not conform to NSCopying anymore (fix unit test) * [uikit] NSFileProviderExtension.ReparentItem got a new parameter in beta4 (fix unit test) * [coreimage] CIImageAccumulator init returns nil in beta 4 There's no header change to mention `init` is not allowed but it's not clear how this default initializer could be used. Also make public some other API to construct this type (outside of XM). It's not clear why there were `internal` as they are (at least now) part of the header files. * [photos] Add helpers when PHLivePhotoEditingOption/NSDictionary is null (to avoid ambiguous API) (#2360) Adding a strongly typed `PHLivePhotoEditingOption` (a strongly typed version of an `NSDictionary`) can cause a `CS0121` (call is ambiguous) since using a `null` argument is common (only one option exist so far). This PR adds overloads that makes the code nicer in such case, e.g. before Xcode9: > // null is used when no options are given > _foo.SaveLivePhoto (output, null, completion); current (Xcode 9) > // casting required to remove ambiguity with PHLivePhotoEditingOption > _foo.SaveLivePhoto (output, (NSDictionary)null, completion); with this PR > // no option, no argument > _foo.SaveLivePhoto (output, completion); The same applies to `PrepareLivePhotoForPlayback`. * [tests] Disable/tweak two tests that breaks on (almost) all Xcode updates Those tests were not added to validate xOS so just keep the parts that helps us (without constantly checking back the new break flavor) * Disable watchOS to check if this hides others issues * [mapkit] Update for beta 4 * [coredata] Update for beta 4 * [wkwebkit] Update for beta 4 Note: WKWindowFeatures.h is not compiled (part of the framework umbrella) and the `@interface WKWindowFeatures (WKPrivate)` sounds like it should not have been exposed (it's all fields starting with `_`) * [corelocation] Update for beta 4 * Revert "Disable watchOS to check if this hides others issues" This reverts commit fed2249fa43290a1956ab2fe0d48f83ab6db9711. * [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]: https://github.com/xamarin/xamarin-macios/blob/f5956d6cc1eb5dfa7bab16628cf282d40237f64e/src/generator.cs#L5985 * [FinderSync] Update to beta 4 (#2377) * [ImageIO] Update to Xcode 9 (#2353) * [PhotosUI] Move macOS photosui bindings out of photos.cs into photosui.cs (#2358) * [quicklook] Update up to beta 4 (#2374) * [uikit] UIDragInteraction & UIDragInteractionDelegate (Xcode 9 b1,2,3) (#2357) * [safariservices] Update up to beta 4 (#2380) * [coreanimation] Update to beta 4 (#2382) Apple removed (mistake?) some API in beta 1. Filed as rdar 33590997 Internal tracking in https://trello.com/c/J8BDDUV9/86-33590997-coreanimation-quartzcore-api-removals * [storekit] Update up to beta 4 (#2379) * [CoreML] Update to Xcode 9 Beta 4 (#2387) * [uikit] UICollectionView/UITableView Drag & Drop (Xcode 9 b1,2,3 & 4) (#2355) * Update code after radar 32929318 and 32897776 are fixed in b4 (#2394) * [xcode9 CoreAudio] New definitions from Beta1 to Beta3 (#2359) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 (#2397) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 https://bugzilla.xamarin.com/show_bug.cgi?id=58512 Created strong API (VNBarcodeSymbology) on the following properties * VNDetectBarcodesRequest.SupportedSymbologies * VNDetectBarcodesRequest.Symbologies * VNBarcodeObservation.Symbology * Remove modern C# because classic can't do it 😡 * [mediaplayer] Update up to beta 4 (#2388) * [watchkit] Update to beta 4 (#2398) * Bump Visual Studio for Mac max version (#2408) * [coreimage] Add CIBarcodeDescriptor and enabled missing API for VNBarcodeObservation. Fix #58197 (#2411) https://bugzilla.xamarin.com/show_bug.cgi?id=58197 * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 (#2407) * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 * [uikit] Fixes based on comments * [coreimage] CIImageAccumulator API fixes. Fix #58349 (#2412) * Obsolete the default `init`; * XM exposed some older APIs using `int` instead of `CIFormat`. This is fixed and old APIs are obsoleted; * Both new & old APIs are now using `CIFormat` for both XI and XM. https://bugzilla.xamarin.com/show_bug.cgi?id=58349 * [uikit] UIText drag & drop - up to Xcode 9 beta 4 (#2410) * [uikit] UISplitView & UIStackView up to Xcode 9 beta 4 (#2425) * Bump XI/XM versions before preview 4 (#2422) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 (#2378) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 * [PDFKit] Implement feedback * [PDFKit] the forgotten enum * [PDFKit] More feedback * [PDFKit] Add Mac changes * Missing change * Fix test RectangleF VS CGRect * Pass -Wunguarded-availability-new to quiet a new clang warning (#2424) - https://bugzilla.xamarin.com/show_bug.cgi?id=58574 * [mtouch/mmp] Ignore warnings about unguarded code section with regards to availability. (#2441) * [monotouch-test] Remove workaround for fixed Apple bug. (#2445) * Bump to Xcode 9 beta 5. (#2447) * Bump to Xcode 9 beta 5. * [mmp] Disable the partial static registrar, because Apple's macOS SDK is broken. > In file included from Xamarin.Mac.registrar.mobile.i386.m:1: > In file included from ./Xamarin.Mac.registrar.mobile.i386.h:11: > /Applications/Xcode9-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVFoundation.h:88:9: fatal error: 'AVFoundation/AVRouteDetector.h' file not found https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [mmp] Fix partial static registrar removal. * [CallKit] Update to Xcode 9 beta 5. * [ARKit] ARPointCloud doesn't conform to NSCopying anymore in Xcode 9 beta 5. * [ARKit] Update to Xcode 9 beta 5 enough to make tests happy. * [CoreImage] Stub out new filters in Xcode 9 beta 5. * [tests][monotouch] Simplify some MDLMesh asserts since values change a lot between OS versions. * [mmp] Default to the dynamic registrar for release builds again, due to bug #58629. https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [tests][introspection] CXCall started implementing NSCopying without saying so in the headers. * Disable mmp static registrar tests due to 58629 for now * [quicklook] Update to beta 5 (#2450) * [photos] Update for beta 5 (#2452) Also update some existing enum members were added in beta 1 on macOS * [safariservices] Update for beta 5 (#2455) * [mediaplayer] Update to beta 5 (#2456) * [CoreLocation] Update Xcode 9 Beta 5 (#2453) * [CoreML] Update to Xcode 9 Beta 5 (#2454) * [Contacts] Update to Xcode 9 Beta 5 (#2451) * [Vision] Update to Xcode 9 Beta 5 (#2458) * [builds] Tell LLVM to stay away from newer macOS functions. (#2459) Fixes this build problem on Sierra: > ld: weak import of symbol '_futimens' not supported because of option: -no_weak_imports for architecture x86_64 This is a symbol that was (will be?) introduced in High Sierra. Interestingly this only occurs if the Xcode 8.X Command Line Tools haven't been manually installed. Because if the Xcode 8.X Command Line Tools are installed, this happens: 1. llvm's configure script detects that 'futimens' is not usable. 2. llvm's configure script detects that 'futimens' is not usable, because xcrun sets SDKROOT=/ when calling clang. a. When the SDKROOT variable is set, clang passes '-syslibroot /usr/lib' to ld. b. When ld gets '-syslibroot /usr/lib', ld looks in '/usr/lib' for a library that contains 'futimens' in the OS itself, and since we're on Sierra, that fails to link. c. So when llvm's configure script creates a test program that checks if 'futimens' is present, the program fails. This is correct, and makes llvm *not* use futimens. 3. xcrun sets SDKROOT=/ because /usr/share/current-os.sdk/Info.plist exists. If that file does not exist, then xcrun sets SDKROOT to Xcode9's macOS SDK (because that's what xcode-select reports). a. When SDKROOT is set to Xcode9's macOS SDK, the configure check for 'futimens' succeeds, because the macOS 10.13 SDK contains that function. b. llvm happily uses 'futimens', and then the final link fails because we're using a symbol not available on all target platforms. * [arkit] Update for Xcode 9 beta 5 - Part 1 (#2460) * [tests] The container app for watchOS tests should be 64-bit. (#2463) * [xharness] watchOS tests need to run in a clean environment. Works around #58348. (#2462) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [xharness] It watchOS tests don't need to be clean anymore. Fixes #58348. (#2473) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [uikit] UIView/UIScrollView/UIViewController up to Xcode 9 beta 5 (#2431) - Add NSDirectionalEdgeInsets type. - Includes DirectionalEdgeInsetsTest. * [AudioToolbox] Update bindings to Xcode 9 beta3 (not later changes). (#2294) * [xharness] Add a file existence check. (#2478) Fixes this exception: ``` Harness exception for 'introspection': System.IO.FileNotFoundException: Could not find file '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log'. File name: '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log' at System.IO.__Error.WinIOError (System.Int32 errorCode, System.String maybeFullPath) [0x00207] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/__error.cs:188 at System.IO.FileInfo.get_Length () [0x00038] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/fileinfo.cs:171 at xharness.CaptureLog.StopCapture () [0x00021] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Log.cs:252 at (wrapper remoting-invoke-with-check) xharness.CaptureLog:StopCapture () at xharness.AppRunner+<RunAsync>d__68.MoveNext () [0x0127f] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/AppRunner.cs:642 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter`1[TResult].GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:357 at xharness.RunSimulatorTask+<RunTestAsync>d__7.MoveNext () [0x0029d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2894 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.RunTestTask+<ExecuteAsync>d__8.MoveNext () [0x0010b] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2538 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.TestTask+<RunInternalAsync>d__87.MoveNext () [0x0010d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:1870 ``` I'm not sure how this can happen, but it has on the bots [1]. [1] https://jenkins.mono-project.com/job/xamarin-macios-pr-builder/4548/Test_Report/ * Bump versions for preview 5 (#2479) * [passkit] Update to beta 5 (#2481) * [tests] Remove workaround for radar #32688391. (#2486) * [replaykit] Update up to beta 5 (#2484) * Bump maccore to get fix for bug #55064. (#2487) * [apidiff] Update definition to new 10.12 (d15-3) stable release (#2490) * [SceneKit] basic work (#2483) * [coredata] Update to beta 5 (#2488) * [homekit] Update for Xcode 9 beta 5 (#2492) * [Foundation] Update for xcode9 (#2468) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 (#2493) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 * [Intents] Implement feedback * [Intents] Add a generic version for INInteraction.GetParameterValue * [Intents] Missing check * [Contacts] Add missing foundation NSItemProviderWriting protocol to CNContact (#2496) https://bugzilla.xamarin.com/show_bug.cgi?id=58203 This is available on all Contacts supported platforms ``` ./iPhoneOS.platform/Developer/SDKs/iPhoneOS11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchOS.platform/Developer/SDKs/WatchOS4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchSimulator.platform/Developer/SDKs/WatchSimulator4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ``` * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) (#2497) * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) * [IntentsUI] Better use a delegate instead so we have named params * Bump versions before 6th preview (#2514) * [arkit] Add missing MarshalDirective to ARPlaneAnchor (#2517) - Fixes bug #58648: ARPlaneAnchor.Extent property seems incorrect but changes to correct value after Debug access (https://bugzilla.xamarin.com/show_bug.cgi?id=58648) * [xtro-sharpie] Fix a compiler warning. (#2516) Fixes these warnings: Runner.cs(197,5): warning CS0642: Possible mistaken empty statement Runner.cs(199,5): warning CS0642: Possible mistaken empty statement Runner.cs(201,5): warning CS0642: Possible mistaken empty statement Runner.cs(203,5): warning CS0642: Possible mistaken empty statement Runner.cs(205,5): warning CS0642: Possible mistaken empty statement * [uikit] Update for Xcode 9 beta 5 - Part 3 (#2511) - UIKeyCommand - UINavigationBar - UINavigationItem - UIPasteboard - UITableViewHeaderFooterView * [xtro-sharpie] Remove xtro-plugin and misc other fixes. (#2522) * [xtro-sharpie] Build with msbuild and be as quiet as requested when building. * [xtro-sharpie] Must run as a 64-bit process, since the required native libraries are 64-bit. * [xtro-sharpie] Add run configurations to the project file to ease debugging in the IDE. * [xtro-sharpie] Remove xtro-plugin and the related commands. This was needed when there wasn't a 64-bit mono, in order to run xtro-sharpie in a 64-bit process. Now there is a 64-bit mono, so it's not needed anymore. Also improve makefile targets a bit, to auto-build stuff when needed, by setting the right dependencies. * Bump Xcode 9 to beta 6 (#2519) Disable watchOS tests again It seems like the Carousel crash from beta 4 is back to haunt us. This was working fine with beta 5. * Backport d15-3 SR2 fixes (#2515) * [coredata] Update to beta 6 (#2528) This seems to only revert some nullability changes from beta 5. * [coreml] Update to beta 6 (#2531) Fix our rdar 33643011 where additional setters were added in the headers but did not exists. * [videosubscriberaccount] Update to beta 6 (#2533) Only b1 and b2 introduced some additions/changes * [uikit] Update for Xcode 9 beta 6 - Part 4 (#2527) The following headers are now up to date: - UICollectionViewFlowLayout.h - UIDocumentPickerViewController.h - UIFontDescriptor.h - UIImage.h - UIImageView.h - UIImagePickerController.h * [xharness] Re-enable the watchOS tests. (#2534) It works fine for me locally, so let's see what Jenkins says. * [macos] Add new APIs in CoreWlan from Xcode9b3 (#2525) * Update AppKit bindings based on radar 33271241 results (#2518) * Update AppKit bindings based on radar 33271241 results - The header comment was updated to note it was NSSliderTouchBarItem view that has the protocol * Remove NSUserInterfaceCompression where not listed in header * [vision] Update to beta 6 (#2532) Removal of some deprecated (during beta) `init*` selectors. Also sync the versions that were inlined in subclasses - the old ones were not removed and the new ones were not added. * [xtro-sharpie] Many methods don't have selectors in Clang's API, so default to the name if no selector. (#2523) This makes a few more unclassified entries show up (mostly missing designated initializers): https://gist.github.com/rolfbjarne/07aa20f9b50b75bf3e69ac6a825e873a * [macos] Add ExternalAccessory APIs from xcode9 (#2526) * [58851] Disable NSMenuView in AllItemsWithNSMenuShouldAllowNull (#2504) * [arkit] Update for Xcode 9 beta 5 - Part 2 (#2505) - Add last missing selector. - Add tests for manual code. * [monotouch-test] Disable FontDescriptorTest.WithFeature (#2537) Disabled because it looks like the tvOS font we use: "Gujarati Sangam MN" does not have rare ligatures anymore (and the entire test is based on it). Before getting an actual fix for that, let's disable the test so it doesn't break all current builds. See: https://bugzilla.xamarin.com/show_bug.cgi?id=58929 * [xtro-sharpie] Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute. (#2524) Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute to calculate the native name for a TypeDefinition. Unclassified changes: https://gist.github.com/rolfbjarne/828f8ee41eebb0a3b60a38d71822fe59 * [foundation/uikit] Inline NSItemProvider_UIKitAdditions in NSItemProvider (#2538) As suggested here: https://github.com/xamarin/xamarin-macios/pull/2527#discussion_r134670981 * [intents] Fix breaking changes (api-diff) (#2543) Additions of @required members inside `INSpeakable` cannot be `[Abstract]` * [contacts] Fix breaking change (api-diff) (#2542) Type Changed: Contacts.CNPostalAddress Removed method: public static string LocalizeProperty (CNPostalAddressKeyOption option); * [macos] Reenable static registrar since Xcode9b6 un-broke SDK headers (#2544) - Fix a subtle spacing issues in PartialStaticLibrary property * [corebluetooth] Update up to beta 6 and enable it on watchOS (#2540) macOS 10.13 has finally catch up with iOS and this simplifies the bindings a bit. * [foundation] API fixes (apidiff) (#2545) 1. Let's not add new, already [Obsolete] API Type Changed: Foundation.NSDimension Added constructors: [Obsolete ("Not intended to be directly instantiated, this is an abstract class.")] public NSDimension (); 2. Fix inconsistently named API, e.g. Type Changed: Foundation.NSAttributedString Added properties: public static string[] ReadableTypeIdentifiersForItemProvider { get; } public static string[] WritableTypeIdentifiers { get; } * [pdfkit] Do not add already [Obsolete] API in new profiles (#2547) and ensure using the newer, correct API works cross-platforms iOS (before) [Obsolete ("Use 'Find (string, NSStringCompareOptions)' instead.")] public virtual PdfSelection[] Find (string text, nint options); public PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'Find (string, PdfSelection, NSStringCompareOptions)' instead.")] public virtual PdfSelection Find (string text, PdfSelection selection, nint options); public void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string, NSStringCompareOptions)' instead.")] public virtual void FindAsync (string text, nint options); public void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string [], NSStringCompareOptions)' instead.")] public virtual void FindAsync (string[] text, nint options); iOS (after) public virtual PdfSelection[] Find (string text, Foundation.NSStringCompareOptions compareOptions); public virtual PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); * Bump versions for the 7th preview (#2541) * Remove additions of AVKit removed in beta5 (#2536) * NSUrlSessionTask should implement NSProgressReporting for iOS (#2548) NSUrlSessionTask implements NSProgressReporting on iOS as well as Mac, so the #if MONOMAC isn't needed. * Add missing availability attributes causing failures on older iOS versions (#2550) * [vision] Minor fix wrt xtro (#2551) including some things we need to ignore manually !missing-field! VNVisionVersionNumber not bound !missing-pinvoke! VNImagePointForFaceLandmarkPoint is not bound !missing-pinvoke! VNNormalizedFaceBoundingBoxPointForLandmarkPoint is not bound * [uikit] NSFileProviderMessaging was removed in beta 2. Fixes #58222 (#2552) reference: https://bugzilla.xamarin.com/show_bug.cgi?id=58222 * [uikit] Update for Xcode 9 - Part 5 (#2546) Bindings for the following headers: - UIActivity.h - UIActivityItemProvider.h - UIAlertController.h - UIApplication.h - UIBarButtonItem.h - UIButton.h - UICollectionViewLayout.h - UIColor.h - UIControl.h - UIDocumentMenuViewController.h - UIFontMetrics.h - UIGestureRecognizer.h - UIGraphicsImageRenderer.h - UIInputViewController.h * [CoreText] Fix an extraneous free in CTFont.GetDefaultCascadeList. (#2555) We do not own the return value from CFArrayGetValueAtIndex, so don't say we do when creating CTFontDescriptor instances, since that leads to angry dragons: 2017-08-28 20:15:20.293 monotouchtest[33186:2311738] A_FontTest 2017-08-28 20:15:20.294 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithFontDescriptorAndOptions 2017-08-28 20:15:20.295 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithNameAndOptions 2017-08-28 20:15:20.296 monotouchtest[33186:2311738] critical: Stacktrace: at <unknown> <0xffffffff> at (wrapper managed-to-native) CoreText.CTFont.CTFontCopyDefaultCascadeListForLanguages (intptr,intptr) [0x0000a] in <ae65a2b1eea242d2b68fe784749543bf>:0 at CoreText.CTFont.GetDefaultCascadeList (string[]) [0x00013] in /work/maccore/xcode9/xamarin-macios/src/CoreText/CTFont.cs:2185 at MonoTouchFixtures.CoreText.A_FontTest.GetCascadeList () [0x0001e] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/CoreText/FontTest.cs:78 at (wrapper runtime-invoke) object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) [0x0004f] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) System.Reflection.MonoMethod.InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&) [0x00016] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at System.Reflection.MonoMethod.Invoke (object,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo) [0x00032] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/corlib/System.Reflection/MonoMethod.cs:305 at System.Reflection.MethodBase.Invoke (object,object[]) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/referencesource/mscorlib/system/reflection/methodbase.cs:229 at NUnit.Framework.Internal.Reflect.InvokeMethod (System.Reflection.MethodInfo,object,object[]) [0x00009] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Reflect.cs:215 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunNonAsyncTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x00025] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:116 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x0001a] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:90 at NUnit.Framework.Internal.Commands.TestMethodCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:66 at NUnit.Framework.Internal.Commands.SetUpTearDownCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00007] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/SetUpTearDownCommand.cs:84 at NUnit.Framework.Internal.WorkItems.SimpleWorkItem.PerformWork () [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/SimpleWorkItem.cs:64 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at MonoTouch.NUnit.UI.BaseTouchRunner.Run (NUnit.Framework.Internal.Test) [0x0004d] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:442 at MonoTouch.NUnit.UI.BaseTouchRunner.Run () [0x00030] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:171 at MonoTouch.Dialog.StringElement.Selected (MonoTouch.Dialog.DialogViewController,UIKit.UITableView,Foundation.NSIndexPath) [0x00008] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/Elements.cs:765 at MonoTouch.Dialog.DialogViewController.Selected (Foundation.NSIndexPath) [0x00026] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:577 at MonoTouch.Dialog.DialogViewController/Source.RowSelected (UIKit.UITableView,Foundation.NSIndexPath) [0x00016] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:402 at (wrapper runtime-invoke) <Module>.runtime_invoke_void__this___object_object (object,intptr,intptr,intptr) [0x0005d] in <32f0c196c5bc4aa18daea2ee64a7814e>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) UIKit.UIApplication.UIApplicationMain (int,string[],intptr,intptr) [0x0005c] in <ae65a2b1eea242d2b68fe784749543bf>:0 at UIKit.UIApplication.Main (string[],intptr,intptr) [0x00005] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:79 at UIKit.UIApplication.Main (string[],string,string) [0x00038] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:63 at monotouchtest.Application.Main (string[]) [0x00011] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/Main.cs:27 at (wrapper runtime-invoke) <Module>.runtime_invoke_void_object (object,intptr,intptr,intptr) [0x00051] in <30a7f7e09de9467b8b454221034a0e38>:0 Native stacktrace: 0 monotouchtest 0x000000010fca03c4 mono_handle_native_crash + 244 1 monotouchtest 0x000000010fcadd30 mono_sigsegv_signal_handler + 288 2 libsystem_platform.dylib 0x000000011feb3b3a _sigtramp + 26 3 CoreFoundation 0x000000011de035a2 computeSanitizedString + 146 4 CoreText 0x00000001168df314 _ZN15TPurgeableCache19RetainedValueForKeyEPKv + 54 5 CoreText 0x00000001168def85 _ZNK17TDescriptorSource22CopyDescriptorUncachedEPK7__CFURLbPK10__CFString + 55 6 CoreText 0x00000001168df34f _ZNK17TDescriptorSource14CopyDescriptorEPK7__CFURLbPK10__CFString + 27 7 CoreText 0x00000001168e20ad _ZNK17TDescriptorSource35CopyFontDescriptorPerPostScriptNameEPK10__CFStringmm + 297 8 CoreText 0x00000001168dfd9e _ZNK17TDescriptorSource30CopySystemFontDescriptorByNameEPK10__CFString10UIFontFlag + 54 9 CoreText 0x00000001168e54c4 _ZNK14TFontFallbacks17CopyFontFallbacksEPK10__CFStringS2_PK9__CFArray + 652 10 CoreText 0x00000001168e4a00 _ZNK14TFontFallbacks29CopyFontFallbacksForLanguagesEPK10__CFStringPK9__CFArray + 122 11 CoreText 0x00000001168e4971 _ZN17TDescriptorSource39CopyDefaultSubstitutionListForLanguagesEPK10__CFStringPK9__CFArray + 61 12 CoreText 0x00000001169397a7 _ZNK9TBaseFont28CreateSystemDefaultFallbacksEPK10__CFStringPK9__CFArray + 51 13 CoreText 0x000000011693999c _ZNK9TBaseFont15CreateFallbacksE10UIFontFlagPPK16__CFCharacterSetPK9__CFArray + 346 14 CoreText 0x00000001168c1036 _ZNK5TFont24CreateDefaultCascadeListEPK9__CFArray + 242 15 CoreText 0x00000001168b8ff9 CTFontCopyDefaultCascadeListForLanguages + 97 16 ??? 0x0000000140eaefd3 0x0 + 5384105939 17 ??? 0x0000000140eae761 0x0 + 5384103777 18 ??? 0x000000013c9c8e74 0x0 + 5311860340 19 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 20 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 21 monotouchtest 0x000000010fd71bac mono_runtime_try_invoke_array + 1292 22 monotouchtest 0x000000010fd15587 ves_icall_InternalInvoke + 647 23 ??? 0x000000013e9fcd13 0x0 + 5345627411 24 ??? 0x000000013e9fc738 0x0 + 5345625912 25 ??? 0x000000013e9fded5 0x0 + 5345631957 26 ??? 0x000000013e9fbb76 0x0 + 5345622902 27 ??? 0x000000013e9e237e 0x0 + 5345518462 28 ??? 0x000000013e9e237e 0x0 + 5345518462 29 ??? 0x000000013e9e237e 0x0 + 5345518462 30 ??? 0x000000013e9e237e 0x0 + 5345518462 31 ??? 0x000000013e873006 0x0 + 5344014342 32 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 33 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 34 monotouchtest 0x000000010fd6e320 mono_runtime_invoke + 208 35 monotouchtest 0x000000010fe71af1 xamarin_invoke_trampoline + 5617 36 monotouchtest 0x000000010fe79ddd xamarin_arch_trampoline + 189 37 monotouchtest 0x000000010fe7b1a1 xamarin_x86_64_common_trampoline + 110 38 UIKit 0x0000000111b9876b -[UITableView _selectRowAtIndexPath:animated:scrollPosition:notifyDelegate:] + 1810 39 UIKit 0x0000000111b98986 -[UITableView _userSelectRowAtPendingSelectionIndexPath:] + 344 40 UIKit 0x0000000111a6b5c9 _runAfterCACommitDeferredBlocks + 318 41 UIKit 0x0000000111a59dad _cleanUpAfterCAFlushAndRunDeferredBlocks + 280 42 UIKit 0x0000000111a89f68 _afterCACommitHandler + 137 43 CoreFoundation 0x000000011de3ddb7 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23 44 CoreFoundation 0x000000011de3dd0e __CFRunLoopDoObservers + 430 45 CoreFoundation 0x000000011de22324 __CFRunLoopRun + 1572 46 CoreFoundation 0x000000011de21a89 CFRunLoopRunSpecific + 409 47 GraphicsServices 0x0000000121b7e9c6 GSEventRunModal + 62 48 UIKit 0x0000000111a5f7d0 UIApplicationMain + 159 49 ??? 0x000000013c9c4474 0x0 + 5311841396 50 ??? 0x000000013c9c40ad 0x0 + 5311840429 ================================================================= Got a SIGSEGV while executing native code. This usually indicates a fatal error in the mono runtime or one of the native libraries used by your application. ================================================================= * [monotouch-test] Don't subclass MKMapView. (#2556) MKMapView doesn't like being subclassed (Apple says "you should not subclass the MKMapView class itself"). Bad things like this starts happening: Thread 0 name: tid_303 Dispatch queue: com.apple.main-thread Thread 0 Crashed: 0 libsystem_kernel.dylib 0x0000000186b25348 __pthread_kill + 8 1 libsystem_pthread.dylib 0x0000000186c39354 pthread_kill$VARIANT$mp + 396 2 libsystem_c.dylib 0x0000000186a94fd8 abort + 140 3 monotouchtest 0x0000000101c02c14 mono_handle_native_crash + 22047764 (mini-exceptions.c:2548) 4 monotouchtest 0x0000000101c0d02c mono_sigsegv_signal_handler + 22089772 (mini-runtime.c:2886) 5 libsystem_platform.dylib 0x0000000186c33b60 _sigtramp + 52 6 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 7 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 8 CoreFoundation 0x0000000186eda51c -[__NSArrayM dealloc] + 68 9 CoreFoundation 0x000000018703f5c8 __CFBasicHashDrain + 312 10 CoreFoundation 0x0000000186fb5b44 _CFRelease + 224 11 CoreText 0x000000018a808404 TDescriptorSource::PurgeFontFallbacksCache+ 488452 () + 92 12 CoreText 0x000000018a808374 TDescriptorSource::PurgeFromCaches+ 488308 (__CFURL const*) const + 176 13 CoreText 0x000000018a7eec74 CTFontRemoveFromCaches + 168 14 VectorKit 0x0000000196a539b0 +[VKSharedResourcesManager removeResourceUser:] + 324 15 VectorKit 0x0000000196ca27a4 md::MapEngine::~MapEngine+ 2643876 () + 360 16 VectorKit 0x0000000196ca2634 md::MapEngine::~MapEngine+ 2643508 () + 12 17 libobjc.A.dylib 0x000000018651eef4 object_cxxDestructFromClass+ 28404 (objc_object*, objc_class*) + 148 18 libobjc.A.dylib 0x000000018652c638 objc_destructInstance + 88 19 libobjc.A.dylib 0x000000018652c690 object_dispose + 16 20 QuartzCore 0x000000018afca3ac -[CALayer dealloc] + 116 21 VectorKit 0x0000000196a43294 -[VKMapView dealloc] + 940 22 QuartzCore 0x000000018af6aafc CA::release_objects+ 744188 (X::List<void const*>*) + 32 23 QuartzCore 0x000000018afd97d8 CA::Layer::~Layer+ 1198040 () + 276 24 QuartzCore 0x000000018afca37c -[CALayer dealloc] + 68 25 QuartzCore 0x000000018af6b16c CA::Transaction::commit+ 745836 () + 1052 26 UIKit 0x0000000190393290 _afterCACommitHandler + 256 27 CoreFoundation 0x0000000186fb38b8 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 32 28 CoreFoundation 0x0000000186fb1270 __CFRunLoopDoObservers + 412 29 CoreFoundation 0x0000000186fb182c __CFRunLoopRun + 1292 30 CoreFoundation 0x0000000186ed22d8 CFRunLoopRunSpecific + 436 31 GraphicsServices 0x0000000188d58f84 GSEventRunModal + 100 32 UIKit 0x000000019040427c UIApplicationMain + 208 33 monotouchtest 0x000000010106eb90 wrapper_managed_to_native_UIKit_UIApplication_UIApplicationMain_int_string___intptr_intptr + 9907088 (/<unknown>:1) 34 monotouchtest 0x0000000100f0d6ac UIKit_UIApplication_Main_string___intptr_intptr + 8459948 (UIApplication.cs:79) 35 monotouchtest 0x0000000100f0d66c UIKit_UIApplication_Main_string___string_string + 8459884 (UIApplication.cs:63) 36 monotouchtest 0x0000000100b10450 monotouchtest_Application_Main_string__ + 4277328 (Main.cs:27) 37 monotouchtest 0x0000000100e0c244 wrapper_runtime_invoke_object_runtime_invoke_dynamic_intptr_intptr_intptr_intptr + 244 38 monotouchtest 0x0000000101c10048 mono_jit_runtime_invoke + 22102088 (mini-runtime.c:2526) 39 monotouchtest 0x0000000101c75eec do_runtime_invoke + 22519532 (object.c:2829) 40 monotouchtest 0x0000000101c78a3c do_exec_main_checked + 22530620 (object.c:4623) 41 monotouchtest 0x0000000101bf9a1c mono_jit_exec + 22010396 (driver.g.c:1040) 42 monotouchtest 0x0000000101d13d60 xamarin_main + 23166304 (monotouch-main.m:482) 43 monotouchtest 0x00000001007de710 main + 927504 (main.m:67) 44 libdyld.dylib 0x00000001869f656c start + 4 * [introspection] Let SkipDueToAttributeInProperty skip setters too (#2557) `SkipDueToAttributeInProperty` which is used to check the availability attribute of properties when the Availability info only exist on the property and not on the property Getter or Setter was wrong. This lead to `setSpringLoaded` (which was introduced in iOS 11) to not be ignored by the test (making it fail). - Fix bug #59085: [introspection-ios] selector not found for UIKit.UIBarButtonItem : setSpringLoaded: - Broken test (https://bugzilla.xamarin.com/show_bug.cgi?id=59085) * [corevideo][watchos] Enable CoreVideo on watchOS (#2553) * [storekit] Fix CampaignToken typo (#2559) (#2560) - Fixes bug #59078: StoreProductParameters and invalid property for CampaignToken (https://bugzilla.xamarin.com/show_bug.cgi?id=59078) * [coreml][watchos] Enable API using CoreVideo on watchOS. Fix #58097 (#2561) https://bugzilla.xamarin.com/show_bug.cgi?id=58097 * Add missing [MarshalDirective] attributes. (#2558) * [bindings-generator] Improve build & project file. * Add missing [MarshalDirective] attributes. Add missing [MarshalDirective] attributes, which also requires implementing support for out parameters in the binding generator, since one of the signatures missing the [MarshalDirective] contains such an out parameter. Also add tests for all the API I've added [MarshalDirective] to. * [bindings-generator] Remove redundant if check. * [monotouch-test] Rename file to end with 'Test.cs'. * [tests] Fix a few build errors for Xamarin.Mac. * [uikit] Fix UIColor and UIInputViewController tvOS availability (#2569) - Fixes introspection tests on tvOS 10. * [storekit] Fix SKCloudServiceSetupMessageIdentifier and SKProductStorePromotionController tvOS availability (#2568) - Fixes introspection tests on tvOS 10. * [mapkit] Fix MKMapItemTypeIdentifier tvOS availability (#2566) - Also remove double [Mac] availability attribute. - Fixes introspection tests on tvOS 10. * [ARKit] Fix marshalling for ARPointCloud.RawFeaturePoints. (#2565) ARPointCloud.RawFeaturePoints is an array of Vector3, but each vector is 16-byte aligned (as if it were an array of Vector4). This means we need to account for this when creating a managed array from pointer to the native C-style array. * [ModelIO] Fix MDLVoxelIndexExtent struct. (#2564) The MDLVoxelIndexExtent is a struct containing two 4-dimensional vectors of integers (not floats, as originally and incorrectly implemented). Fix this my creating a new MDLVoxelIndexExtent2 struct with the right fields, re-implement all the API that exposes this struct and obsolete the old API. Also add missing [MarshalDirective] attributes. And write a test to make sure it works fine now and forever. * [coredata] Enable new fields since rdar #33878590 is fixed w/beta 6 (#2570) reference: https://trello.com/c/dlSRYPFx * [xtro-sharpie] Add a Simd check class to verify signatures with Simd types. * [Simd] Add simd matrix types. The OpenTK matrices (Matrix2/3/4) has a different memory layout than Apple's matrix_float2x2/matrix_float3x3/matrix_float4x4 matrices: the OpenTK versions are row-major, while Apple's versions are column-major. This means that when blitting memory from one to the other, the matrix will appear to have been transposed. See bug #[58599][2] for an example. Unfortunately we've already bound several API with Apple's matrix_floatXxX matrices using OpenTK's matrices, and although they're bound wrong, and the matrices appear transposed on input/output, we can't change the behavior because we have to maintain compatibility. This means we have to introduce new API, and then also just define new matrix types with the right memory layout (column-major). Additionally, in the future we might be able to mark these matrices as Simd-matrixes, so that the JIT/AOT compiler can generate the correct alignment for them, avoiding having to define a native conversion method (using the [MarshalDirective] hack). The matrices have been designed to match API-wise the matrices in the System.Numerics.Vectors namespace [1], but for the moment with only a few basic operations implemented (Determinant/Transpose/Multiply) defined (we can always add more later if we want to). In addition explicit conversion operators to and from the corresponding OpenTK.MatrixX are implemented, which means any operation defined in the OpenTK matrices can be used by converting back and forth. [1]: https://msdn.microsoft.com/en-us/library/system.numerics.matrix4x4(v=vs.111).aspx [2]: https://bugzilla.xamarin.com/show_bug.cgi?id=58599 * [ARKit] Use the new Simd matrix types. * [Vision] Use the new Simd matrix types. * [ModelIO] Use the new Simd-compatible matrix types, and deprecate the old API. * [GameplayKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [SpriteKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [xtro] Don't report missing [MarshalDirective] for obsolete methods. * [xtro] Remove unnecessary ignores. The implementation changed, and these stayed accidentally. * [wkwebkit] Fix (native) protocol names (#2572) Also ignore xtro's WKSnapshotConfiguration since it's an Apple bug 34185961 reference (xtro) !missing-protocol! WKURLSchemeHandler not bound !missing-protocol! WKURLSchemeTask not bound !unknown-protocol! WKUrlSchemeHandler bound !unknown-protocol! WKUrlSchemeTask bound !unknown-type! WKSnapshotConfiguration bound * [uikit] Fix enums availability attributes (#2575) - Fixes bug #59132: [uikit] Extra types in watchOS (https://bugzilla.xamarin.com/show_bug.cgi?id=59132) * [watchkit] Add missing designated initializers (#2574) references (xtro) !missing-designated-initializer! WKInterfaceController::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! WKUserNotificationInterfaceController::init is missing an [DesignatedInitializer] attribute * [xtro] Reword some of the Simd diagnostic messages according to review. * [tests] Make sure test symbols don't clash between different test libraries. Fixes this build problem for framework-test: clang: error: linker command failed with exit code 1 (use -v to see invocation) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_get_rotation_matrix'. MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticObjectTest.framework/XStaticObjectTest (Location related to previous error) MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticArTest.framework/XStaticArTest(libtest-ar.x86_64.o) (Location related to previous error) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransformcomponent_get_local_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_create_global_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float4x4'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float3x3'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float2x2'. MTOUCH: error MT5209: Native linking error: 6 duplicate symbols for architecture x86_64 MTOUCH: error MT5202: Native linking failed. Please review the build log. * [tests] Since libtest.a need ModelIO now, the corresponding LinkWith attributes need to state that too. * [introspection] Don't check native signatures on obsolete members, and ignore the right simd matrix types. Fixes this introspection/Mac problem: ***** ApiSignatureTest.NativeSignatures Selector: uniformWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: uniformWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: uniformWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: setMatrixFloat2x2Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: setMatrixFloat3x3Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: setMatrixFloat4x4Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: initWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: initWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: initWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded * [monotouch-tests] Include more custom asserts for watchOS to make the build work. Fixes this: Simd/MatrixFloat4x4Test.cs(28,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(29,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(37,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(48,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' [...] * [monotouch-test] Exclude code that requires the binding project from xammac tests. Exclude code that requires the test binding project from xammac tests because there's currently no XM version of the test binding project. Fixes this: tests/monotouch-test/SpriteKit/UniformTest.cs(20,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLMaterialProperty.cs(37,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLTransform.cs(34,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) * Bump version for preview #8 (#2576) * [spritekit] Audit fixes (xtro) (#2577) 1. SKVideoNode is now, partially, available on watchOS and does not require the extra, manual code to swicth selectors depending on the OS version being run. !missing-type! SKVideoNode not bound !missing-selector! SKVideoNode::anchorPoint not bound !missing-selector! SKVideoNode::initWithCoder: not bound !missing-selector! SKVideoNode::initWithFileNamed: not bound !missing-selector! SKVideoNode::initWithURL: not bound !missing-selector! SKVideoNode::setAnchorPoint: not bound !missing-selector! SKVideoNode::setSize: not bound !missing-selector! SKVideoNode::size not bound !missing-selector! +SKVideoNode::videoNodeWithFileNamed: not bound !missing-selector! +SKVideoNode::videoNodeWithURL: not bound 2. SKNodeFocusBehavior is exposed needlessly on watchOS because SpriteKit/Enums.cs was not processed by the generator, so [NoWatch] did not matter. !unknown-native-enum! SKNodeFocusBehavior bound It's also visible on macOS but nothing uses it (so we do not expose it needlessly) !missing-enum! SKNodeFocusBehavior not bound 3. Add missing designated initializer on default `init` !missing-designated-initializer! SKAttributeValue::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! SKNode::init is missing an [DesignatedInitializer] attribute 4. Remove inconsistency for SKNode subclasses wrt XAMCORE_4_0 The trio attributeValues, setAttributeValues and setValue:forAttributeNamed: that was moved from SKNode (deprecated) into its subclasses. This was done using XAMCORE_4_0 but not on every subclasses. This adds them everywhere to be consistent (only SKNode versions are not defined in XAMCORE_4_0) !missing-selector! SKEffectNode::attributeValues not bound !missing-selector! SKEffectNode::setAttributeValues: not bound !missing-selector! SKEffectNode::setValue:forAttributeNamed: not bound !missing-selector! SKEffectNode::valueForAttributeNamed: not bound !missing-selector! SKEmitterNode::attributeValues not bound !missing-selector! SKEmitterNode::setAttributeValues: not bound !missing-selector! SKEmitterNode::setValue:forAttributeNamed: not bound !missing-selector! SKEmitterNode::valueForAttributeNamed: not bound !missing-selector! SKSpriteNode::attributeValues not bound !missing-selector! SKSpriteNode::setAttributeValues: not bound !missing-selector! SKSpriteNode::setValue:forAttributeNamed: not bound !missing-selector! SKSpriteNode::valueForAttributeNamed: not bound * [introspection] Make sure '[FAIL]' is printed before every failure. (#2578) This makes xharness able to list the failures in the inline summary. * [xtro] Reword some of the Simd diagnostic messages according to review. * [xharness] Add a missing IsServerMode check to generate correct html. (#2581) * [SpriteKit] SKTransformNode is new in Xcode 9 so no need to keep the broken (and obsolete) non-simd version of RotationMatrix. * [intents] Fix some (partial) xtro issues and #59156 (#2585) reference https://bugzilla.xamarin.com/show_bug.cgi?id=59156 Remaining issues are filled in https://bugzilla.xamarin.com/show_bug.cgi?id=59183 !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound * [Intents] Confirm* interface methods should be bound as Confirm, Fixes Bug 59164 (#2591) * [Intents] Confirm* interface methods should probably be bound as Confirm, Fixes Bug 59164 https://bugzilla.xamarin.com/show_bug.cgi?id=59164 All Confirm* methods from *IntentHandling interfaces should be named just `Confirm` to avoid confusion because most of them do not directly confirm as an acion, but instead they **ask** for confirmation also we would follow swift's naming by doing this. * [Intents] XAMCORE_4_0 all Confirm* methods from *IntentHandling Turns any Confirm* into just Confirm inside a XAMCORE_4_0 block, * [Intents] Fix breaking changes in Intents added in Xcode 9 Bindings (#2590) Apple added more protocol conformances to INRidesharingDomainHandling and INPaymentsDomainHandling protocols in Xcode 9, I introduced these breaking changes back when I did intents binding so fixing them :) * [Metal] New bindings from Xcode 9 betas (#2457) * [AVFoundation] Updated bindings for xcode9. (#2272) * [Xcode9] Add IOSurface bindings (#2363) * This framework was a private framework before iOS 11. This framework was a private framework before iOS 11, yet the headers claim many API were introduced in iOS 10. So take account of this difference by using the private framework location in iOS 10.3 or earlier. Testing these API from Xcode works fine when run on an iOS 10.3 device, and I've confirmed the IOSurface framework is loaded from the private frameworks path on older devices (and when built using Xcode 9 and linked with the public framework path). * Disable code to make IOSurface work on iOS 10. Disable the code to make IOSurface work on iOS 10, since it may be rejected by the App Store. This also means adjusting the availability attributes, so that the introspection tests pass (and to document that technically these API won't work when used with Xamarin.iOS in iOS 10). I've filed bug #[59201][1] to keep track of this, maybe we can re-enable this later. [1]: https://bugzilla.xamarin.com/show_bug.cgi?id=59201 * [CoreMedia] Fix leak in CMAttachmentBearer.GetAttachments. (#2593) The caller owns the return value from CMCopyDictionaryOfAttachments, so tell Runtime.GetNSObject that. * [Intents] Adds missing API found by xtro, fixes Bug 59183 (#2596) https://bugzilla.xamarin.com/show_bug.cgi?id=59183 Fixes !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !incorrect-protocol-member! INUIHostedViewControlling::configureWithInteraction:context:completion: is OPTIONAL and should NOT be abstract * [xtro] Fix StartWorkingDirectory to enable debugging (#2598) * [iosurface] Enable for tvOS and XM classic (to avoid multiple defines around consumer API) (#2597) * [xtro] Fix EnumCheck (#2600) * [ARKit] Rename a few method to make them nicer. (#2604) * DisplayTransform -> GetDisplayTransform since methods should have verbs. * SessionWasInterrupted -> WasInterrupted and SessionInterruptionEnded -> InterruptionEnded since these names match better with the other names (CameraDidChangeTrackingState / DidFail / DidOutputAudioSampleBuffer: none are prefixed with 'Session'). Additionally, the type is a Model (for the delegate pattern), which means all methods are more-or-less event-like, and the first argument is always the same (the protocol itself), which is another indicator the methods should be named similarly. * [Foundation] Remove 'Key' suffix from some fields. (#2606) Of the 168 fields in NSMetadataItem, only these 5 hadn't removed the 'Key' suffix. So make them all equivalent by removing the 'Key' suffix from these 5 fields. * [ImageIO] Fix API to not duplicate the instance in instance methods. (#2609) An instance method does not need to take the instance as a parameter, so remove the first (instance) parameter for CGImageDestination.AddAuxiliaryDataInfo and CGImageSource.CopyAuxiliaryDataInfo. An alternative solution would be to make the methods static, but I like the instance API better. * [UIKit] De-model UIDataSourceTranslating. (#2603) It's not clear from neither the documentation nor the headers how this protocol is supposed to be used, and since it doesn't correspond to the delegate pattern, remove the [Model] attribute for now. We can always add it back later. * [CoreML] Improve API. (#2592) * [CoreML] Improve API. * The indices, shape and stride properties for MLMultiArray and MLMultiArrayConstraint can logically only be arrays of integers, so type them as such. This means adding overloads for MLMultiArray's constructors, GetObject and SetObject methods, and the indexers that takes nint[] arrays instead of NSNumber[] arrays. * Change MLFeatureValue's static factory methods to be a method ('Create') instead of a preposition, and call all the different factory methods the same, since they can be overloaded nicely. * [tests][monotouch-test] Add version check to MLMultiArrayTest and make sure the arrays we create are big enough for the data we put in them. * [tests][monotouch-test] MLMultiArray's elements aren't zero-initialized, so don't assume that in the tests. * Support overloading Objective-C methods based on static/instance. (#2607) Two Objective-C methods can be named identically as long as one is static and the other instance. We must support this since Apple did just this (in the NSItemProviderReading / NSItemProviderWriting protocols). We solve it by prepending a '+' or '-' to the selector when hashing it (to determine selector uniqueness, and to look the method up again at runtime). * [uikit] Update for Xcode 9 - Part 6 (#2602) NSAttributedString.h NSFileProviderExtension.h NSLayoutAnchor.h UIAccessibility.h UIAccessibilityAdditions.h UIAccessibilityContainer.h UIAccessibilityContentSizeCategoryImageAdjusting.h UIAccessibilityCustomRotor.h UIAccessibilityLocationDescriptor.h UITabBar.h UINavigationBar.h UIScreen.h * Xcode9 scenekit (#2512) * [SceneKit] basic work * Added key * [xcode9] SCNCameraController * [xcode9] SCNCamera updates * [xcode9] SCNMaterial * [xcode9] SCNGeometryTessellator, SCNCameraControlConfiguration, SCNView, small bits * Add trailing commas to last enum value * Remove whitespace noise * [scenekit] Update deprecated attributes messages * Addresses some of Rolf's feedback * Drop the WeakDelegate in SCNCameraController * Rename method to Render, remove ctor from class that can not be constructed in Palygrounds, add typo exception * [AppKit] Rename NSBezierPath.AppendBezierPathWithCGGlyph to match its sibling methods. (#2605) NSBezierPath contains a lot of 'AppendPathWithXXX' methods, that all map to 'appendBezierPathXXX' selectors. So rename AppendBezierPathWithCGGlyph accordingly, to make it more similar to the other methods in the same type. * [uikit] Add all UISpringLoadedInteractionSupporting (#2616) Types do not conform to the protocol but protocol methods work on those types (see monotouch-test). Fixed introspection tests accordingly and tested the selectors in monotouch-test. * [Intents] Add convenience ctor overload and call correct base ctor in manual ctor. (#2613) Add a convenience constructor overload in INGetUserCurrentRestaurantReservationBookingsIntent that uses nint instead of NSNumber, since logically "number of results" will always be some sort of integer. Also call the correct base constructor in INSpeakableString's custom constructor (same as any other generated constructor). Otherwise we end up doing something like this: [[[INSpeakableString alloc] init] initWith ...], i.e. calling two different init methods. * [coreimage] Add new headers API up to beta 6 (#2601) Filters are not complete (ref: #57350) https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * Some new constants are not yet documented (type is known), so they are commented / ignored https://bugzilla.xamarin.com/show_bug.cgi?id=59296 * Filled bug for [Wrap] inside [Category] so strong dictionary helpers can be re-enabled later https://bugzilla.xamarin.com/show_bug.cgi?id=59294 * [foundation] xtro fixes for watchOS (#2586) !missing-enum! NSProcessInfoThermalState not bound !missing-field! NSProcessInfoThermalStateDidChangeNotification not bound !missing-selector! NSProcessInfo::thermalState not bound Headers are wrong and preferredPresentationStyle is not in tvOS and watchOS !missing-selector! NSItemProvider::preferredPresentationStyle not bound !missing-selector! NSItemProvider::setPreferredPresentationStyle: not bound * [uikit] Also remove UIPreferredPresentationStyle enum from platform where it's not used * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. (#2614) * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. * NSItemProviderWriting: * NSItemProviderReading: Implement correctly and completely by uncommenting commented out code. * NSMutableString: * NSAttributedString: remove inlined members, since these classes don't implement NSItemProviderReading / NSItemProviderWriting (according to the headers at least). * NSUrl: all platforms now seem to implement NSItemProviderReading / NSItemProviderWriting. * NSString: all platforms now seem to implement both NSItemProviderReading and NSItemProviderWriting * UIColor: * UIImage: Update inlined protocol members according to the latest beta. Additionally, due to the following conditions: * The protocols all have the correct members now. * In the API definition we tell the generator to inline members from a protocol by inheriting from the corresponding interface. * The generator doesn't inline static members from protocols. several 'new' keywords had to be added to silence a compiler warning that occurrs when we manually inline a static member, since the member would be included in the type both from the inherited interface and the manual implementation. * [Foundation] Comment out NSItemProviderWriting.GetItemProviderVisibility to avoid inlining/generating unusable methods. NSItemProviderWriting.GetItemProviderVisibility is an optional method, and none of the native classes that implements NSItemProviderWriting actually imlements the method. This means inlining the method in those classes ends up creating unusable API; so just comment out the method to avoid generating the unusable API. The introspection tests found this: [FAIL] Foundation.NSString : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Foundation.NSUrl : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Contacts.CNContact : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] MapKit.MKMapItem : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIColor : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIImage : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] iOSApiSelectorTest.ApiSelectorTest.StaticMethods : 6 errors found in 2348 static selector validated: See also https://bugzilla.xamarin.com/show_bug.cgi?id=59308 * [iosurface] Add missing [TV] attributes (#2619) * [opengles] Enable the new API using IOSurface (#2618) The symbol only exists inside device libraries, not on simulator, and the introspection tests were updated to ignore it. Part of https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [avfoundation][watchos] Enable AudioBufferList (fix #59145) + audit (xtro) (#2617) 1. AudioBufferList is part of CoreAudio (wrong namespace, which needs a few changes in the generator) and now available in watchOS 4 https://bugzilla.xamarin.com/show_bug.cgi?id=59145 2. Also fixes xtro found issues: !missing-type! AVAudioRecorder not bound !missing-selector! AVAudioRecorder::averagePowerForChannel: not bound !missing-selector! AVAudioRecorder::channelAssignments not bound !missing-selector! AVAudioRecorder::currentTime not bound !missing-selector! AVAudioRecorder::delegate not bound !missing-selector! AVAudioRecorder::deviceCurrentTime not bound !missing-selector! AVAudioRecorder::format not bound !missing-selector! AVAudioRecorder::initWithURL:format:error: not bound !missing-selector! AVAudioRecorder::initWithURL:settings:error: not bound !missing-selector! AVAudioRecorder::isMeteringEnabled not bound !missing-selector! AVAudioRecorder::isRecording not bound !missing-selector! AVAudioRecorder::peakPowerForChannel: not bound !missing-selector! AVAudioRecorder::recordAtTime: not bound !missing-selector! AVAudioRecorder::recordAtTime:forDuration: not bound !missing-selector! AVAudioRecorder::recordForDuration: not bound !missing-selector! AVAudioRecorder::setChannelAssignments: not bound !missing-selector! AVAudioRecorder::setDelegate: not bound !missing-selector! AVAudioRecorder::setMeteringEnabled: not bound !missing-selector! AVAudioRecorder::settings not bound !missing-selector! AVAudioRecorder::url not bound !missing-protocol! AVAudioRecorderDelegate not bound !missing-selector! AVAudioEngine::inputNode not bound !missing-selector! AVAudioEngine::manualRenderingBlock not bound !missing-selector! AVAudioInputNode::setManualRenderingInputPCMFormat:inputBlock: not bound !missing-selector! AVAudioPlayer::format not bound !missing-selector! AVAudioSession::requestRecordPermission: not bound !unknown-field! AVFileType3GPP bound !unknown-field! AVFileType3GPP2 bound !unknown-field! AVFileTypeAC3 bound !unknown-field! AVFileTypeAIFC bound !unknown-field! AVFileTypeAIFF bound !unknown-field! AVFileTypeAMR bound !unknown-field! AVFileTypeAVCI bound !unknown-field! AVFileTypeAppleM4A bound !unknown-field! AVFileTypeAppleM4V bound !unknown-field! AVFileTypeCoreAudioFormat bound !unknown-field! AVFileTypeDNG bound !unknown-field! AVFileTypeEnhancedAC3 bound !unknown-field! AVFileTypeHEIC bound !unknown-field! AVFileTypeHEIF bound !unknown-field! AVFileTypeJPEG bound !unknown-field! AVFileTypeMPEG4 bound !unknown-field! AVFileTypeMPEGLayer3 bound !unknown-field! AVFileTypeQuickTimeMovie bound !unknown-field! AVFileTypeSunAU bound !unknown-field! AVFileTypeTIFF bound !unknown-field! AVFileTypeWAVE bound * [Metal] Implement API using IOSurface now that IOSurface is implemented. Partially fixes #58054. (#2621) https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [PdfKit] Improve PdfAnnotation.QuadrilateralPoints binding by making it strongly typed. (#2620) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). (#2622) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). * [ARKit/Vision] Use the new simd vector types instead of the OpenTK versions. * [ModelIO] Use the new simd vectors in new API (MDLVoxelIndexExtent2). This way we won't have to create a MDLVoxelIndexExtent3 in the future. * [SpriteKit] Use the new simd vectors in new API. * [metal] Audit (xtro) based fixes (#2623) !extra-protocol-member! unexpected selector MTLArgumentEncoder::newArgumentEncoderForBufferAtIndex: found !extra-protocol-member! unexpected selector MTLComputeCommandEncoder::dispatchThreads:threadsPerThreadgroup: found macos-only !missing-field! MTLDeviceRemovalRequestedNotification not bound !missing-field! MTLDeviceWasAddedNotification not bound !missing-field! MTLDeviceWasRemovedNotification not bound !missing-pinvoke! MTLCopyAllDevices is not bound * [CloudKit] Update bindings to beta 6. (#2615) * [FileProvider] Turn NSFileProviderItemIdentifier enum into a static class, fixes bug 59329 (#2634) https://bugzilla.xamarin.com/show_bug.cgi?id=59329 At the time of binding NSFileProviderItemIdentifier it wasn't clear how it was supposed to be used, I mean apple provides two keys which I thought were the only possible values hence binding it as an smart enum. Unfortunately this wasn't the case and the user can use those two values provided from the SDK or their own NSString Identifier. Swift provides a wrapper unfortunately we can't do the same due to NSFileProviderItemIdentifier is used in the NSFileProviderItem protocol and we currently do not support changing signatures on them. * [mtouch] Teach mtouch about the 'IOSurface' framework for tvOS. Fixes #59333. (#2630) https://bugzilla.xamarin.com/show_bug.cgi?id=59333 * Bump Touch.Unit to get fix for API breakage. (#2631) spouliot/Touch.Unit@8f1e19d [NUnitOutputTextWriter] Reintroduce previous constructor to make sure we don't break binary ABI. spouliot/Touch.Unit@00b0c0b [NUnitOutputTextWriter] Don't write invalid xml comments. spouliot/Touch.Unit@de9fe20 [TouchRunner] Restore the original code path when not wrapping NUnit xml output. * [IOSurface] Add missing availability attributes for tvOS. (#2629) * Bump versions for preview 9 (#2624) * [AVFoundation] Add missing interface AVRouteDetector. (#2637) * [tests] Update xtro to reduce list sizes (#2636) * Skip OpenTK duplicate declaration (we can't change them); * Fix rule name change for ARKit / simd; * Add missing default initializer on `init` to pending actions; * Add note for AVPersistableContentKeyRequest changes wrt tvOS; * [ReplayKit] Make RPBroadcastActivityViewController.LoadBroadcastActivityViewController async-capable. (#2639) * [xcode9] More SceneKit bindings (#2633) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 (#2644) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 https://bugzilla.xamarin.com/show_bug.cgi?id=59380 vector_float3 is 16 bytes, which means the binding is incorrect, because Vector3 is 12 bytes, and our code does not that difference into account. * Add tests * [DeviceCheck] Disable default ctor for DCDevice. (#2642) It doesn't seem to be useful according to the documentation, since it appears that the only way to get an instance is to use the static CurrentDevice property. * [audiounit] Audit (xtro) fixes for tvOS (#2635) Availability attributes in non-generated files don't hide symbols/code. reference: !unknown-pinvoke! AudioUnitExtensionCopyComponentList bound !unknown-pinvoke! AudioUnitExtensionSetComponentList bound * [tests] Make sure tvOS tests don't use the (unexisting) API * [tests] Add all test project variations to tests-mac.sln (#2579) * [xharness] Make sure generated mac projects have different project guids. * [introspection] Change the project guid so that it doesn't match the dontlink-mac project guid. * [tests] Add all test project variations to tests-mac.sln. * [xharness] Fix else condition. * [FileProvider] Adds missing NSFileProviderPage constants, fixes bug 59297. (#2646) https://bugzilla.xamarin.com/show_bug.cgi?id=59297 Adds NSFileProviderInitialPageSortedByName and NSFileProviderInitialPageSortedByDate NSData constants * [Xcode9] Remove NSFileProviderMessage and NSFileProviderMessageInterface (#2647) APIs were removed in beta 2 * [Foundation/UIKit] Provide LoadObject[s] methods that return the expected type in the callback. Fixes #59049. (#2638) The callback for these LoadObject[s] methods take an INSItemProviderReading parameter. This tells our runtime that we must provide an instance of a managed object that implements this interface (but nothing else), so we create a `NSItemProviderReadingWrapper` instance, which complies with the API (since the wrapper type implements the corresponding interface). Unfortunately these methods are supposed to return an instance of the passed- in type, so in order to comply with this soft (documentation-only) requirement, provide a wrapper method that creates instances of the right types. https://bugzilla.xamarin.com/show_bug.cgi?id=59049 * [arkit] Ignore deprecated selectors (#2645) * [FileProvider] Adds missing protocol and keys from audit (#2652) ``` !missing-protocol! NSFileProviderServiceSource not bound !missing-field! NSFileProviderErrorCollidingItemKey not bound !missing-field! NSFileProviderErrorNonExistentItemIdentifierKey not bound !missing-field! NSFileProviderFavoriteRankUnranked not bound ``` Also adds `NSXpcListenerEndpoint` to foundation, needed by `NSFileProviderServiceSource` protocol. * [tests][xtro] Workaround xtro runner dupe entry exception and update data files (#2654) * [AVFoundation] Rename field to match others. (#2657) * [homekit] Audit (xtro) fixes (#2653) - HMCharacteristicEvent conforms to NSMutableCopying on iOS11 which makes it 64 bits only (so adjust intro tests) - Ignore extra setters on HMMutablePresenceEvent, rdar 33883958 !missing-selector! HMMutablePresenceEvent::setPresenceEventType: not bound !missing-selector! HMMutablePresenceEvent::setPresenceUserType: not bound * [xtro] Add missing pinvoke to pending (#2662) - Bug 59422: [uikit] Missing UIContentSizeCategoryCompareToCategory & UIContentSizeCategoryIsAccessibilityCategory (https://bugzilla.xamarin.com/show_bug.cgi?id=59422) * Merge latest d15-3 fixes into xcode9 (#2660) * [msbuild] Re-added wildcard (*) expandsion for application-identifier in Entitlements.plist (#2186) Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=57119 * Bump mono (#2213) * Framework tests were still binding non-linked Simple class which errors now (#2216) (#2218) - Improve Makefile to rebuild when projects build with errors * Bump mono to get cecil fix for bug #56808. (#2222) https://bugzilla.xamarin.com/show_bug.cgi?id=56808 * [msbuild] Use @(ReferencePath) instead of @(ResolvedFiles) (#2188) (#2214) This allows things to work on both xbuild and msbuild. In xbuild, both lists are exactly the same and on msbuild, only @(ReferencePath) exists. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=55147 * NSActivityOptions.IdleDisplaySleepDisabled had wrong value (#2232) (#2239) This was due to an integer overflow. The original value was based on Int32 1 << 40 == 256 The correct value should be based on a UInt64. 1UL << 40 == 1099511627776 * [tests] Fix bug 57699 - [iOS]InternalsTest failure (Linkall) tests on device (#2243) Strip native debugging symbols should not be checked for debug builds * Bump mono to get fix for bug #57780. https://bugzilla.xamarin.com/show_bug.cgi?id=57780 * Update .gitmodules Change branch to d15-3 branch of mono * Bump maccore to get fix for bug #55064. https://bugzilla.xamarin.com/show_bug.cgi?id=55064 * [mono] Bump mono to get the head of cecil/mono-2017-04 and fix IsComObject #57919 Also fix #58789 [1], the typo in tools/mtouch/Tuning.cs showing in MT0000 errors instead MT2102. That's already in master and d15-4 mono bump includes: [2] commit 2a6502cee0df9de5198eafe7c8b5f6ac25106f34 (HEAD -> d15-3, origin/d15-3) Merge: 02457c20fcf 5e05cafc6f1 Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 10:04:06 2017 -0400 Merge pull request #5401 from marek-safar/com [Marshal.IsComObject] Make this predicate return false instead of thr… [3] commit 02457c20fcf57c0610e844d638eb1da82b5d1eb0 Merge: da80840ea55 73fd9a1b82e Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 09:59:06 2017 -0400 Merge pull request #5400 from spouliot/bump-cecil-58834-d15-3 [cecil] Bump to the head of the mono-2017-04 branch and pick the fix for bug #58834 References [1] https://bugzilla.xamarin.com/show_bug.cgi?id=58789 [2] https://bugzilla.xamarin.com/show_bug.cgi?id=57919 [3] https://bugzilla.xamarin.com/show_bug.cgi?id=58834 * [mtouch] Put 'mono_profiler_startup_log' in the symbol list. Fixes #58778. (#2501) We need the 'mono_profiler_startup_log' symbol when profiling is enabled, so make sure to add the symbol to the correct list of symbols we need. Previously we were passing `-u _mono_profiler_startup_log` to clang directly, which is fine, but not complete, since it does not write the symbol to the symbollist file (--symbollist=file), which means it wouldn't be preserved when the MSBuild tasks strip the executable. https://bugzilla.xamarin.com/show_bug.cgi?id=58778 * Bump versions for SR3 https://trello.com/c/EVze08ei * Bump mono to include HttpClientHandler fix #44027 https://trello.com/c/jYFXadH8/8-systemnethttp-close-request-stream-when-httpclienthandler https://bugzilla.xamarin.com/show_bug.cgi?id=44027 * [FileProvider] Add missing API and turn NSString to string (#2663) Turned NSString to string in order to match exisiting API. * [uikit] Add UIPasteConfigurationSupporting and UITextPasteConfigurationSupporting (#2649) - Fixes bug #59363: Missing UIPasteConfigurationSupporting, UITextPasteConfigurationSupporting, UITextDraggable and UITextDroppable on a couple of types (https://bugzilla.xamarin.com/show_bug.cgi?id=59363) * [uikit] Remove 129 types in UIPasteConfigurationSupporting case * [scenekit] Audit (xtro) fixes (#2648) This looks like an Apple breaking change (since `SCNAnimation` is new) but we now have: > typedef void (^SCNAnimationEventBlock)(id<SCNAnimation> animation, id animatedObject, BOOL playingBackward); bound as > delegate void SCNAnimationEventHandler (CAAnimation animation, NSObject animatedObject, bool playingBackward); and `CAAnimation` conforms to `SCNAnimation` but *only* the later is available on watchOS. The delegate is only updated (since it's new) on our watchOS profile. xtro references: (watchos) !unknown-protocol! SCNCameraControlConfiguration bound (tvos/watchos) !missing-selector! SCNAnimation::animationEvents not bound !missing-selector! SCNAnimation::setAnimationEvents: not bound !missing-selector! SCNConstraint::isEnabled not bound !missing-selector! SCNConstraint::setEnabled: not bound !missing-field! SCNSceneSourceConvertToYUpKey not bound !missing-field! SCNSceneSourceConvertUnitsToMetersKey not bound (ios/tvos) !missing-protocol-conformance! SCNNode should conform to UIFocusItem * Bump maccore post 15.3 merge (#2665) * Bump Xcode 9 to GM (#2667) * Force build (on wrench) * [avfoundation] Fix breaking changes (apidiff) (#2664) * [TVServices] Update to Xcode 9 GM (#2675) * [GameController] Update to Xcode 9 GM (#2673) * [LocalAuthentication] Update to Xcode 9 GM (#2671) * [LocalAuthentication] Update to Xcode 9 GM * Remove availability from BiometryNotAvailable, BiometryNotEnrolled and BiometryLockout * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer (#2659) * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer Some of the new added types were already present BUT under a #if MONOMAC, they had to be moved. * [AVFoundation] Set the wrongly added API to be obsolete and ensure it returns logical values. (#2650) * [xtro] The right platform for macOS is 'macos', not 'osx'. (#2677) The platform name is used to filter availability attributes, and if we use the wrong platform, we'll incorrectly skip all availability attributes. The net result in unclassified entries: https://gist.github.com/rolfbjarne/a4474bc2a40c49a85cad495b51bb514f * Various Xcode 9 API improvements and also fixes bug 59433 (#2676) https://bugzilla.xamarin.com/show_bug.cgi?id=59433 While fixing bug 59433 I noticed some additional issues outlined below: AVDepthData: * Renamed **non** static `Create` methods because `Create` only makes sense with the **Static** method in this context. Also by renaming the methods we are now closer to the names that swift uses. * Kept descriptive method names in favor of self-documenting code. `Convert`, `Apply` and `Replace` do not fully give us the intent of the method. * Added a convenience `Create` static method that takes a `CGImageAuxiliaryDataInfo`. * AvailableDepthDataTypes is now an array of `CVPixelFormatType` instead of a `NSNumber` array (The aactual fix for bug 59433). ImageIO: * Refactored `CGImageAuxiliaryDataInfo` to be a `StrongDictionary` in order to avoid most of the manual code and also to avoid reimplementing the `ToDictionary` method (which contained a subtle bug). * Adjusted code to reflect the above change. * Added missing `.ctor (IntPtr, bool)` to `CGImageMetadata` so the class is able to be created by our `Runtime.Get*`. * Simplified `CopyAuxiliaryDataInfo` method by using `CGImageAuxiliaryDataInfo` as a `DictionaryContainer`. Tests: * Added `xamarinmonkey.heic` which is an image that contains depth data needed to test above changes. * Adds `AVDepthDataTests` that touches most of the changes listed here. * Tweak the Simd-compatible matrices and vectors (#2668) * Rename them to be OpenTK.NMatrix# (instead of Simd.MatrixFloat#x#). * Remove the Vector2 and Vector4 variants, we'll use the OpenTK types instead (but we'll keep the NVector3 variant, since it's not identical to the OpenTK version). * Update the API to match their OpenTK counterparts better: * NMatrix2 and NMatrix3 have a 0-based R#C# scheme for their fields. * NMatrix4 has a 1-based M## scheme for its fields (i.e. no change). * [AVFoundation] Use Simd-matrix for API that needs it. (#2679) This also requires implementing the corresponding matrix (NMatrix4x3). Fixes this xtro issue: > !unknown-simd-type-in-signature! OpenTK.Matrix3 AVFoundation.AVCameraCalibrationData::get_GetIntrinsicMatrix(): the native signature has a simd type (matrix_float3x3), while the corresponding managed method is using an incorrect (non-simd) type. * [xtro] Fix checking availability on categories. (#2682) When checking for category availability, check if both the current declaration is a category, and if the current's declaration container is a category. Otherwise this scenario fails: * Category method is available. * Category does not have availability attributes. * Main class is unavailable. with this typical code sequence: ```csharp // don't process methods (or types) that are unavailable for the current platform if (!decl.IsAvailable () || !(decl.DeclContext as Decl).IsAvailable ()) return; ``` In which case we'd: * First check the method (`decl`): * It's available, so no further checks is done on the method. * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container's container is a category (it isn't, it's the namespace). and as such determine that the method is available. With this change, the second step will become: * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container is a category (it is), and if its main class is available (it isn't). and as such determine that the method is unavailable. * Check for attributes on the method's container (no attributes, so we continue). * Check if the method's Unclassified diff: https://gist.github.com/rolfbjarne/8fa80962596978a426eadf9b7ba39dc1 * [uikit] Update for Xcode 9 GM (#2670) * [AVFoundation] Implement AVCapturePhoto. Partially fixes #59388. (#2678) Fixes: > common.unclassified:!missing-type! AVCapturePhoto not bound https://bugzilla.xamarin.com/show_bug.cgi?id=59388 * Use strong dictionaries for AVCapturePhoto.Metadata and AVCapturePhoto.EmbeddedThumbnailPhotoFormat. * [SIMD] Implement Simd double types (VectorDouble3/MatrixDouble4x4). (#2632) The following types will be used by ModelIO bindings * Fix delta to be double * Rename Simd-compatible matrices and vectors to match our final naming. This also means removing the new Vector2 and Vector4 variants (but not Vector3). * [avfoundation] Remove AVAssetDownloadDelegate.DidLoadTimeRange since it was removed in one of the betas (#2687) * [foundation] Move NSUrlSessionMultipathServiceType to a file processed by the generator (for the availability attributes) (#2688) * [arkit] Update for Xcode 9 GM (#2681) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes (#2690) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes Type Changed: Intents.INCarSeatResolutionResult Removed methods: public static INCarSeatResolutionResult GetConfirmationRequired (INCarSeat valueToConfirm); public static INCarSeatResolutionResult GetSuccess (INCarSeat resolvedValue); * [avfoundation] Add missing protocol members and deprecations (#2691) !missing-protocol-member! AVCapturePhotoCaptureDelegate::captureOutput:didFinishProcessingPhoto:error: not found and the selector removed from PR#2687 was actually replaced with this one !missing-protocol-member! AVAssetDownloadDelegate::URLSession:aggregateAssetDownloadTask:didLoadTimeRange:totalTimeRangesLoaded:timeRangeExpectedToLoad:forMediaSelection: not found * [tests][xtro] Map some enums, more fix with protocols and update entries (#2692) * [Tests] Reenable dns tests on the watch. (#2674) * [arkit] Add ARBlendShapeLocationOptions strong dictionary (#2696) * [coreimage] Skip not yet bound filters added in Xcode9 (#2698) Tracked in https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * [Metal] Renamed MTLArgumentDescriptor.ArgumentDescriptor to Create, fixes bug 59498 (#2702) https://bugzilla.xamarin.com/show_bug.cgi?id=59498 From [argumentDescriptor docs](https://developer.apple.com/documentation/metal/mtlargumentdescriptor/2915746-argumentdescriptor?language=objc) > Creates an empty argument descriptor. * [msbuild] Always codesign app bundles if the codesign key is non-null (#2697) ...even if it is a simulator build. Turns out that starting with Xcode9, sim builds need to be codesigned for App Groups entitlements to work properly. Interestingly, the DetectSigningIdentity logic had a comment about needing to codesign simulator builds for some entitlements to work already starting with Xcode 8 but apparently the iOS targets did not respect this. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=59379 * [Foundation] Add NSProxy stub in order to workaround bug 59247 (#2693) https://bugzilla.xamarin.com/show_bug.cgi?id=59247 We need to have a better solution that removes all what NSProxy does not responds to. Right now this works because NSObject implements NSObject protocol just like NSProxy, but NSProxy responds to far less selectors hence doing it internal so it is not a breaking change when we provide the correct fix. * Keep NSProxy around and avoid XML linker description We need to keep NSProxy (avoid linking it) if WKNavigationDelegate or IWKNavigationDelegate is used. We know WKWebView will be there and can hold a reference to it. * [Xcode 9] Update Metal for GM (#2689) * [iosurface] IOSurface is not usable before iOS/tvOS 11. Fixes #59201 (#2706) Apple rejects apps that links with the previously private IOSurface.framework. We were not sure about this [1] and had it disabled (this is removed). However another bug stopped our adjustment logic [2] from being executed. This is needed since `clang` picks up the private framework if it does not find the public one (even when asking for a weak framework), [1] https://bugzilla.xamarin.com/show_bug.cgi?id=59201 [2] Added a while ago for JavascriptCore * Bump maccore to point to commit with the docs fix. (#2703) * Bump XI to 11.0.x (and XM to 3.99.9.x) (#2684) * fix typo
2017-09-16 00:53:16 +03:00
[iOS (8,0)] // header said NA and docs says "Available in iOS 8.0 through iOS 8.2." but it's back on iOS11
[TV (11,0), Watch (4,0)]
2016-04-21 15:30:02 +03:00
[Field ("SCNSceneSourceConvertUnitsToMetersKey")]
NSString ConvertUnitsToMetersKey { get; }
[Mac(10,10)]
Merge xcode9 into d15-4[-xi] (#2710) * [FileProvider] Add Xcode 9 Beta 1, 2 & 3 Bindings (#2279) * [FileProvider] Add Xcode 9 Beta 1 Bindings * Better naming * Feedback not related to BindAs * [FileProvider] Removes BindAs, add manual code for it and updated to Beta 3 * [FileProvider] Implement feedback * [CoreSpotlight] Updated spotlight bindings for xcode 9 beta 3. (#2193) Updated spotlight bindings for xcode 9 beta 3. * Fix warning caused by duplicate (#2354) * [FileProviderUI] Add Xcode 9 Beta 1 to 3 bindings (#2356) * Bump to Xcode 9 beta 4 * [arkit] ARLightEstimate does not conform to NSCopying anymore (fix unit test) * [uikit] NSFileProviderExtension.ReparentItem got a new parameter in beta4 (fix unit test) * [coreimage] CIImageAccumulator init returns nil in beta 4 There's no header change to mention `init` is not allowed but it's not clear how this default initializer could be used. Also make public some other API to construct this type (outside of XM). It's not clear why there were `internal` as they are (at least now) part of the header files. * [photos] Add helpers when PHLivePhotoEditingOption/NSDictionary is null (to avoid ambiguous API) (#2360) Adding a strongly typed `PHLivePhotoEditingOption` (a strongly typed version of an `NSDictionary`) can cause a `CS0121` (call is ambiguous) since using a `null` argument is common (only one option exist so far). This PR adds overloads that makes the code nicer in such case, e.g. before Xcode9: > // null is used when no options are given > _foo.SaveLivePhoto (output, null, completion); current (Xcode 9) > // casting required to remove ambiguity with PHLivePhotoEditingOption > _foo.SaveLivePhoto (output, (NSDictionary)null, completion); with this PR > // no option, no argument > _foo.SaveLivePhoto (output, completion); The same applies to `PrepareLivePhotoForPlayback`. * [tests] Disable/tweak two tests that breaks on (almost) all Xcode updates Those tests were not added to validate xOS so just keep the parts that helps us (without constantly checking back the new break flavor) * Disable watchOS to check if this hides others issues * [mapkit] Update for beta 4 * [coredata] Update for beta 4 * [wkwebkit] Update for beta 4 Note: WKWindowFeatures.h is not compiled (part of the framework umbrella) and the `@interface WKWindowFeatures (WKPrivate)` sounds like it should not have been exposed (it's all fields starting with `_`) * [corelocation] Update for beta 4 * Revert "Disable watchOS to check if this hides others issues" This reverts commit fed2249fa43290a1956ab2fe0d48f83ab6db9711. * [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]: https://github.com/xamarin/xamarin-macios/blob/f5956d6cc1eb5dfa7bab16628cf282d40237f64e/src/generator.cs#L5985 * [FinderSync] Update to beta 4 (#2377) * [ImageIO] Update to Xcode 9 (#2353) * [PhotosUI] Move macOS photosui bindings out of photos.cs into photosui.cs (#2358) * [quicklook] Update up to beta 4 (#2374) * [uikit] UIDragInteraction & UIDragInteractionDelegate (Xcode 9 b1,2,3) (#2357) * [safariservices] Update up to beta 4 (#2380) * [coreanimation] Update to beta 4 (#2382) Apple removed (mistake?) some API in beta 1. Filed as rdar 33590997 Internal tracking in https://trello.com/c/J8BDDUV9/86-33590997-coreanimation-quartzcore-api-removals * [storekit] Update up to beta 4 (#2379) * [CoreML] Update to Xcode 9 Beta 4 (#2387) * [uikit] UICollectionView/UITableView Drag & Drop (Xcode 9 b1,2,3 & 4) (#2355) * Update code after radar 32929318 and 32897776 are fixed in b4 (#2394) * [xcode9 CoreAudio] New definitions from Beta1 to Beta3 (#2359) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 (#2397) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 https://bugzilla.xamarin.com/show_bug.cgi?id=58512 Created strong API (VNBarcodeSymbology) on the following properties * VNDetectBarcodesRequest.SupportedSymbologies * VNDetectBarcodesRequest.Symbologies * VNBarcodeObservation.Symbology * Remove modern C# because classic can't do it 😡 * [mediaplayer] Update up to beta 4 (#2388) * [watchkit] Update to beta 4 (#2398) * Bump Visual Studio for Mac max version (#2408) * [coreimage] Add CIBarcodeDescriptor and enabled missing API for VNBarcodeObservation. Fix #58197 (#2411) https://bugzilla.xamarin.com/show_bug.cgi?id=58197 * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 (#2407) * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 * [uikit] Fixes based on comments * [coreimage] CIImageAccumulator API fixes. Fix #58349 (#2412) * Obsolete the default `init`; * XM exposed some older APIs using `int` instead of `CIFormat`. This is fixed and old APIs are obsoleted; * Both new & old APIs are now using `CIFormat` for both XI and XM. https://bugzilla.xamarin.com/show_bug.cgi?id=58349 * [uikit] UIText drag & drop - up to Xcode 9 beta 4 (#2410) * [uikit] UISplitView & UIStackView up to Xcode 9 beta 4 (#2425) * Bump XI/XM versions before preview 4 (#2422) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 (#2378) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 * [PDFKit] Implement feedback * [PDFKit] the forgotten enum * [PDFKit] More feedback * [PDFKit] Add Mac changes * Missing change * Fix test RectangleF VS CGRect * Pass -Wunguarded-availability-new to quiet a new clang warning (#2424) - https://bugzilla.xamarin.com/show_bug.cgi?id=58574 * [mtouch/mmp] Ignore warnings about unguarded code section with regards to availability. (#2441) * [monotouch-test] Remove workaround for fixed Apple bug. (#2445) * Bump to Xcode 9 beta 5. (#2447) * Bump to Xcode 9 beta 5. * [mmp] Disable the partial static registrar, because Apple's macOS SDK is broken. > In file included from Xamarin.Mac.registrar.mobile.i386.m:1: > In file included from ./Xamarin.Mac.registrar.mobile.i386.h:11: > /Applications/Xcode9-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVFoundation.h:88:9: fatal error: 'AVFoundation/AVRouteDetector.h' file not found https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [mmp] Fix partial static registrar removal. * [CallKit] Update to Xcode 9 beta 5. * [ARKit] ARPointCloud doesn't conform to NSCopying anymore in Xcode 9 beta 5. * [ARKit] Update to Xcode 9 beta 5 enough to make tests happy. * [CoreImage] Stub out new filters in Xcode 9 beta 5. * [tests][monotouch] Simplify some MDLMesh asserts since values change a lot between OS versions. * [mmp] Default to the dynamic registrar for release builds again, due to bug #58629. https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [tests][introspection] CXCall started implementing NSCopying without saying so in the headers. * Disable mmp static registrar tests due to 58629 for now * [quicklook] Update to beta 5 (#2450) * [photos] Update for beta 5 (#2452) Also update some existing enum members were added in beta 1 on macOS * [safariservices] Update for beta 5 (#2455) * [mediaplayer] Update to beta 5 (#2456) * [CoreLocation] Update Xcode 9 Beta 5 (#2453) * [CoreML] Update to Xcode 9 Beta 5 (#2454) * [Contacts] Update to Xcode 9 Beta 5 (#2451) * [Vision] Update to Xcode 9 Beta 5 (#2458) * [builds] Tell LLVM to stay away from newer macOS functions. (#2459) Fixes this build problem on Sierra: > ld: weak import of symbol '_futimens' not supported because of option: -no_weak_imports for architecture x86_64 This is a symbol that was (will be?) introduced in High Sierra. Interestingly this only occurs if the Xcode 8.X Command Line Tools haven't been manually installed. Because if the Xcode 8.X Command Line Tools are installed, this happens: 1. llvm's configure script detects that 'futimens' is not usable. 2. llvm's configure script detects that 'futimens' is not usable, because xcrun sets SDKROOT=/ when calling clang. a. When the SDKROOT variable is set, clang passes '-syslibroot /usr/lib' to ld. b. When ld gets '-syslibroot /usr/lib', ld looks in '/usr/lib' for a library that contains 'futimens' in the OS itself, and since we're on Sierra, that fails to link. c. So when llvm's configure script creates a test program that checks if 'futimens' is present, the program fails. This is correct, and makes llvm *not* use futimens. 3. xcrun sets SDKROOT=/ because /usr/share/current-os.sdk/Info.plist exists. If that file does not exist, then xcrun sets SDKROOT to Xcode9's macOS SDK (because that's what xcode-select reports). a. When SDKROOT is set to Xcode9's macOS SDK, the configure check for 'futimens' succeeds, because the macOS 10.13 SDK contains that function. b. llvm happily uses 'futimens', and then the final link fails because we're using a symbol not available on all target platforms. * [arkit] Update for Xcode 9 beta 5 - Part 1 (#2460) * [tests] The container app for watchOS tests should be 64-bit. (#2463) * [xharness] watchOS tests need to run in a clean environment. Works around #58348. (#2462) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [xharness] It watchOS tests don't need to be clean anymore. Fixes #58348. (#2473) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [uikit] UIView/UIScrollView/UIViewController up to Xcode 9 beta 5 (#2431) - Add NSDirectionalEdgeInsets type. - Includes DirectionalEdgeInsetsTest. * [AudioToolbox] Update bindings to Xcode 9 beta3 (not later changes). (#2294) * [xharness] Add a file existence check. (#2478) Fixes this exception: ``` Harness exception for 'introspection': System.IO.FileNotFoundException: Could not find file '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log'. File name: '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log' at System.IO.__Error.WinIOError (System.Int32 errorCode, System.String maybeFullPath) [0x00207] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/__error.cs:188 at System.IO.FileInfo.get_Length () [0x00038] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/fileinfo.cs:171 at xharness.CaptureLog.StopCapture () [0x00021] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Log.cs:252 at (wrapper remoting-invoke-with-check) xharness.CaptureLog:StopCapture () at xharness.AppRunner+<RunAsync>d__68.MoveNext () [0x0127f] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/AppRunner.cs:642 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter`1[TResult].GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:357 at xharness.RunSimulatorTask+<RunTestAsync>d__7.MoveNext () [0x0029d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2894 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.RunTestTask+<ExecuteAsync>d__8.MoveNext () [0x0010b] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2538 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.TestTask+<RunInternalAsync>d__87.MoveNext () [0x0010d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:1870 ``` I'm not sure how this can happen, but it has on the bots [1]. [1] https://jenkins.mono-project.com/job/xamarin-macios-pr-builder/4548/Test_Report/ * Bump versions for preview 5 (#2479) * [passkit] Update to beta 5 (#2481) * [tests] Remove workaround for radar #32688391. (#2486) * [replaykit] Update up to beta 5 (#2484) * Bump maccore to get fix for bug #55064. (#2487) * [apidiff] Update definition to new 10.12 (d15-3) stable release (#2490) * [SceneKit] basic work (#2483) * [coredata] Update to beta 5 (#2488) * [homekit] Update for Xcode 9 beta 5 (#2492) * [Foundation] Update for xcode9 (#2468) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 (#2493) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 * [Intents] Implement feedback * [Intents] Add a generic version for INInteraction.GetParameterValue * [Intents] Missing check * [Contacts] Add missing foundation NSItemProviderWriting protocol to CNContact (#2496) https://bugzilla.xamarin.com/show_bug.cgi?id=58203 This is available on all Contacts supported platforms ``` ./iPhoneOS.platform/Developer/SDKs/iPhoneOS11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchOS.platform/Developer/SDKs/WatchOS4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchSimulator.platform/Developer/SDKs/WatchSimulator4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ``` * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) (#2497) * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) * [IntentsUI] Better use a delegate instead so we have named params * Bump versions before 6th preview (#2514) * [arkit] Add missing MarshalDirective to ARPlaneAnchor (#2517) - Fixes bug #58648: ARPlaneAnchor.Extent property seems incorrect but changes to correct value after Debug access (https://bugzilla.xamarin.com/show_bug.cgi?id=58648) * [xtro-sharpie] Fix a compiler warning. (#2516) Fixes these warnings: Runner.cs(197,5): warning CS0642: Possible mistaken empty statement Runner.cs(199,5): warning CS0642: Possible mistaken empty statement Runner.cs(201,5): warning CS0642: Possible mistaken empty statement Runner.cs(203,5): warning CS0642: Possible mistaken empty statement Runner.cs(205,5): warning CS0642: Possible mistaken empty statement * [uikit] Update for Xcode 9 beta 5 - Part 3 (#2511) - UIKeyCommand - UINavigationBar - UINavigationItem - UIPasteboard - UITableViewHeaderFooterView * [xtro-sharpie] Remove xtro-plugin and misc other fixes. (#2522) * [xtro-sharpie] Build with msbuild and be as quiet as requested when building. * [xtro-sharpie] Must run as a 64-bit process, since the required native libraries are 64-bit. * [xtro-sharpie] Add run configurations to the project file to ease debugging in the IDE. * [xtro-sharpie] Remove xtro-plugin and the related commands. This was needed when there wasn't a 64-bit mono, in order to run xtro-sharpie in a 64-bit process. Now there is a 64-bit mono, so it's not needed anymore. Also improve makefile targets a bit, to auto-build stuff when needed, by setting the right dependencies. * Bump Xcode 9 to beta 6 (#2519) Disable watchOS tests again It seems like the Carousel crash from beta 4 is back to haunt us. This was working fine with beta 5. * Backport d15-3 SR2 fixes (#2515) * [coredata] Update to beta 6 (#2528) This seems to only revert some nullability changes from beta 5. * [coreml] Update to beta 6 (#2531) Fix our rdar 33643011 where additional setters were added in the headers but did not exists. * [videosubscriberaccount] Update to beta 6 (#2533) Only b1 and b2 introduced some additions/changes * [uikit] Update for Xcode 9 beta 6 - Part 4 (#2527) The following headers are now up to date: - UICollectionViewFlowLayout.h - UIDocumentPickerViewController.h - UIFontDescriptor.h - UIImage.h - UIImageView.h - UIImagePickerController.h * [xharness] Re-enable the watchOS tests. (#2534) It works fine for me locally, so let's see what Jenkins says. * [macos] Add new APIs in CoreWlan from Xcode9b3 (#2525) * Update AppKit bindings based on radar 33271241 results (#2518) * Update AppKit bindings based on radar 33271241 results - The header comment was updated to note it was NSSliderTouchBarItem view that has the protocol * Remove NSUserInterfaceCompression where not listed in header * [vision] Update to beta 6 (#2532) Removal of some deprecated (during beta) `init*` selectors. Also sync the versions that were inlined in subclasses - the old ones were not removed and the new ones were not added. * [xtro-sharpie] Many methods don't have selectors in Clang's API, so default to the name if no selector. (#2523) This makes a few more unclassified entries show up (mostly missing designated initializers): https://gist.github.com/rolfbjarne/07aa20f9b50b75bf3e69ac6a825e873a * [macos] Add ExternalAccessory APIs from xcode9 (#2526) * [58851] Disable NSMenuView in AllItemsWithNSMenuShouldAllowNull (#2504) * [arkit] Update for Xcode 9 beta 5 - Part 2 (#2505) - Add last missing selector. - Add tests for manual code. * [monotouch-test] Disable FontDescriptorTest.WithFeature (#2537) Disabled because it looks like the tvOS font we use: "Gujarati Sangam MN" does not have rare ligatures anymore (and the entire test is based on it). Before getting an actual fix for that, let's disable the test so it doesn't break all current builds. See: https://bugzilla.xamarin.com/show_bug.cgi?id=58929 * [xtro-sharpie] Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute. (#2524) Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute to calculate the native name for a TypeDefinition. Unclassified changes: https://gist.github.com/rolfbjarne/828f8ee41eebb0a3b60a38d71822fe59 * [foundation/uikit] Inline NSItemProvider_UIKitAdditions in NSItemProvider (#2538) As suggested here: https://github.com/xamarin/xamarin-macios/pull/2527#discussion_r134670981 * [intents] Fix breaking changes (api-diff) (#2543) Additions of @required members inside `INSpeakable` cannot be `[Abstract]` * [contacts] Fix breaking change (api-diff) (#2542) Type Changed: Contacts.CNPostalAddress Removed method: public static string LocalizeProperty (CNPostalAddressKeyOption option); * [macos] Reenable static registrar since Xcode9b6 un-broke SDK headers (#2544) - Fix a subtle spacing issues in PartialStaticLibrary property * [corebluetooth] Update up to beta 6 and enable it on watchOS (#2540) macOS 10.13 has finally catch up with iOS and this simplifies the bindings a bit. * [foundation] API fixes (apidiff) (#2545) 1. Let's not add new, already [Obsolete] API Type Changed: Foundation.NSDimension Added constructors: [Obsolete ("Not intended to be directly instantiated, this is an abstract class.")] public NSDimension (); 2. Fix inconsistently named API, e.g. Type Changed: Foundation.NSAttributedString Added properties: public static string[] ReadableTypeIdentifiersForItemProvider { get; } public static string[] WritableTypeIdentifiers { get; } * [pdfkit] Do not add already [Obsolete] API in new profiles (#2547) and ensure using the newer, correct API works cross-platforms iOS (before) [Obsolete ("Use 'Find (string, NSStringCompareOptions)' instead.")] public virtual PdfSelection[] Find (string text, nint options); public PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'Find (string, PdfSelection, NSStringCompareOptions)' instead.")] public virtual PdfSelection Find (string text, PdfSelection selection, nint options); public void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string, NSStringCompareOptions)' instead.")] public virtual void FindAsync (string text, nint options); public void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string [], NSStringCompareOptions)' instead.")] public virtual void FindAsync (string[] text, nint options); iOS (after) public virtual PdfSelection[] Find (string text, Foundation.NSStringCompareOptions compareOptions); public virtual PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); * Bump versions for the 7th preview (#2541) * Remove additions of AVKit removed in beta5 (#2536) * NSUrlSessionTask should implement NSProgressReporting for iOS (#2548) NSUrlSessionTask implements NSProgressReporting on iOS as well as Mac, so the #if MONOMAC isn't needed. * Add missing availability attributes causing failures on older iOS versions (#2550) * [vision] Minor fix wrt xtro (#2551) including some things we need to ignore manually !missing-field! VNVisionVersionNumber not bound !missing-pinvoke! VNImagePointForFaceLandmarkPoint is not bound !missing-pinvoke! VNNormalizedFaceBoundingBoxPointForLandmarkPoint is not bound * [uikit] NSFileProviderMessaging was removed in beta 2. Fixes #58222 (#2552) reference: https://bugzilla.xamarin.com/show_bug.cgi?id=58222 * [uikit] Update for Xcode 9 - Part 5 (#2546) Bindings for the following headers: - UIActivity.h - UIActivityItemProvider.h - UIAlertController.h - UIApplication.h - UIBarButtonItem.h - UIButton.h - UICollectionViewLayout.h - UIColor.h - UIControl.h - UIDocumentMenuViewController.h - UIFontMetrics.h - UIGestureRecognizer.h - UIGraphicsImageRenderer.h - UIInputViewController.h * [CoreText] Fix an extraneous free in CTFont.GetDefaultCascadeList. (#2555) We do not own the return value from CFArrayGetValueAtIndex, so don't say we do when creating CTFontDescriptor instances, since that leads to angry dragons: 2017-08-28 20:15:20.293 monotouchtest[33186:2311738] A_FontTest 2017-08-28 20:15:20.294 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithFontDescriptorAndOptions 2017-08-28 20:15:20.295 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithNameAndOptions 2017-08-28 20:15:20.296 monotouchtest[33186:2311738] critical: Stacktrace: at <unknown> <0xffffffff> at (wrapper managed-to-native) CoreText.CTFont.CTFontCopyDefaultCascadeListForLanguages (intptr,intptr) [0x0000a] in <ae65a2b1eea242d2b68fe784749543bf>:0 at CoreText.CTFont.GetDefaultCascadeList (string[]) [0x00013] in /work/maccore/xcode9/xamarin-macios/src/CoreText/CTFont.cs:2185 at MonoTouchFixtures.CoreText.A_FontTest.GetCascadeList () [0x0001e] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/CoreText/FontTest.cs:78 at (wrapper runtime-invoke) object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) [0x0004f] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) System.Reflection.MonoMethod.InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&) [0x00016] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at System.Reflection.MonoMethod.Invoke (object,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo) [0x00032] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/corlib/System.Reflection/MonoMethod.cs:305 at System.Reflection.MethodBase.Invoke (object,object[]) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/referencesource/mscorlib/system/reflection/methodbase.cs:229 at NUnit.Framework.Internal.Reflect.InvokeMethod (System.Reflection.MethodInfo,object,object[]) [0x00009] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Reflect.cs:215 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunNonAsyncTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x00025] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:116 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x0001a] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:90 at NUnit.Framework.Internal.Commands.TestMethodCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:66 at NUnit.Framework.Internal.Commands.SetUpTearDownCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00007] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/SetUpTearDownCommand.cs:84 at NUnit.Framework.Internal.WorkItems.SimpleWorkItem.PerformWork () [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/SimpleWorkItem.cs:64 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at MonoTouch.NUnit.UI.BaseTouchRunner.Run (NUnit.Framework.Internal.Test) [0x0004d] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:442 at MonoTouch.NUnit.UI.BaseTouchRunner.Run () [0x00030] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:171 at MonoTouch.Dialog.StringElement.Selected (MonoTouch.Dialog.DialogViewController,UIKit.UITableView,Foundation.NSIndexPath) [0x00008] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/Elements.cs:765 at MonoTouch.Dialog.DialogViewController.Selected (Foundation.NSIndexPath) [0x00026] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:577 at MonoTouch.Dialog.DialogViewController/Source.RowSelected (UIKit.UITableView,Foundation.NSIndexPath) [0x00016] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:402 at (wrapper runtime-invoke) <Module>.runtime_invoke_void__this___object_object (object,intptr,intptr,intptr) [0x0005d] in <32f0c196c5bc4aa18daea2ee64a7814e>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) UIKit.UIApplication.UIApplicationMain (int,string[],intptr,intptr) [0x0005c] in <ae65a2b1eea242d2b68fe784749543bf>:0 at UIKit.UIApplication.Main (string[],intptr,intptr) [0x00005] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:79 at UIKit.UIApplication.Main (string[],string,string) [0x00038] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:63 at monotouchtest.Application.Main (string[]) [0x00011] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/Main.cs:27 at (wrapper runtime-invoke) <Module>.runtime_invoke_void_object (object,intptr,intptr,intptr) [0x00051] in <30a7f7e09de9467b8b454221034a0e38>:0 Native stacktrace: 0 monotouchtest 0x000000010fca03c4 mono_handle_native_crash + 244 1 monotouchtest 0x000000010fcadd30 mono_sigsegv_signal_handler + 288 2 libsystem_platform.dylib 0x000000011feb3b3a _sigtramp + 26 3 CoreFoundation 0x000000011de035a2 computeSanitizedString + 146 4 CoreText 0x00000001168df314 _ZN15TPurgeableCache19RetainedValueForKeyEPKv + 54 5 CoreText 0x00000001168def85 _ZNK17TDescriptorSource22CopyDescriptorUncachedEPK7__CFURLbPK10__CFString + 55 6 CoreText 0x00000001168df34f _ZNK17TDescriptorSource14CopyDescriptorEPK7__CFURLbPK10__CFString + 27 7 CoreText 0x00000001168e20ad _ZNK17TDescriptorSource35CopyFontDescriptorPerPostScriptNameEPK10__CFStringmm + 297 8 CoreText 0x00000001168dfd9e _ZNK17TDescriptorSource30CopySystemFontDescriptorByNameEPK10__CFString10UIFontFlag + 54 9 CoreText 0x00000001168e54c4 _ZNK14TFontFallbacks17CopyFontFallbacksEPK10__CFStringS2_PK9__CFArray + 652 10 CoreText 0x00000001168e4a00 _ZNK14TFontFallbacks29CopyFontFallbacksForLanguagesEPK10__CFStringPK9__CFArray + 122 11 CoreText 0x00000001168e4971 _ZN17TDescriptorSource39CopyDefaultSubstitutionListForLanguagesEPK10__CFStringPK9__CFArray + 61 12 CoreText 0x00000001169397a7 _ZNK9TBaseFont28CreateSystemDefaultFallbacksEPK10__CFStringPK9__CFArray + 51 13 CoreText 0x000000011693999c _ZNK9TBaseFont15CreateFallbacksE10UIFontFlagPPK16__CFCharacterSetPK9__CFArray + 346 14 CoreText 0x00000001168c1036 _ZNK5TFont24CreateDefaultCascadeListEPK9__CFArray + 242 15 CoreText 0x00000001168b8ff9 CTFontCopyDefaultCascadeListForLanguages + 97 16 ??? 0x0000000140eaefd3 0x0 + 5384105939 17 ??? 0x0000000140eae761 0x0 + 5384103777 18 ??? 0x000000013c9c8e74 0x0 + 5311860340 19 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 20 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 21 monotouchtest 0x000000010fd71bac mono_runtime_try_invoke_array + 1292 22 monotouchtest 0x000000010fd15587 ves_icall_InternalInvoke + 647 23 ??? 0x000000013e9fcd13 0x0 + 5345627411 24 ??? 0x000000013e9fc738 0x0 + 5345625912 25 ??? 0x000000013e9fded5 0x0 + 5345631957 26 ??? 0x000000013e9fbb76 0x0 + 5345622902 27 ??? 0x000000013e9e237e 0x0 + 5345518462 28 ??? 0x000000013e9e237e 0x0 + 5345518462 29 ??? 0x000000013e9e237e 0x0 + 5345518462 30 ??? 0x000000013e9e237e 0x0 + 5345518462 31 ??? 0x000000013e873006 0x0 + 5344014342 32 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 33 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 34 monotouchtest 0x000000010fd6e320 mono_runtime_invoke + 208 35 monotouchtest 0x000000010fe71af1 xamarin_invoke_trampoline + 5617 36 monotouchtest 0x000000010fe79ddd xamarin_arch_trampoline + 189 37 monotouchtest 0x000000010fe7b1a1 xamarin_x86_64_common_trampoline + 110 38 UIKit 0x0000000111b9876b -[UITableView _selectRowAtIndexPath:animated:scrollPosition:notifyDelegate:] + 1810 39 UIKit 0x0000000111b98986 -[UITableView _userSelectRowAtPendingSelectionIndexPath:] + 344 40 UIKit 0x0000000111a6b5c9 _runAfterCACommitDeferredBlocks + 318 41 UIKit 0x0000000111a59dad _cleanUpAfterCAFlushAndRunDeferredBlocks + 280 42 UIKit 0x0000000111a89f68 _afterCACommitHandler + 137 43 CoreFoundation 0x000000011de3ddb7 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23 44 CoreFoundation 0x000000011de3dd0e __CFRunLoopDoObservers + 430 45 CoreFoundation 0x000000011de22324 __CFRunLoopRun + 1572 46 CoreFoundation 0x000000011de21a89 CFRunLoopRunSpecific + 409 47 GraphicsServices 0x0000000121b7e9c6 GSEventRunModal + 62 48 UIKit 0x0000000111a5f7d0 UIApplicationMain + 159 49 ??? 0x000000013c9c4474 0x0 + 5311841396 50 ??? 0x000000013c9c40ad 0x0 + 5311840429 ================================================================= Got a SIGSEGV while executing native code. This usually indicates a fatal error in the mono runtime or one of the native libraries used by your application. ================================================================= * [monotouch-test] Don't subclass MKMapView. (#2556) MKMapView doesn't like being subclassed (Apple says "you should not subclass the MKMapView class itself"). Bad things like this starts happening: Thread 0 name: tid_303 Dispatch queue: com.apple.main-thread Thread 0 Crashed: 0 libsystem_kernel.dylib 0x0000000186b25348 __pthread_kill + 8 1 libsystem_pthread.dylib 0x0000000186c39354 pthread_kill$VARIANT$mp + 396 2 libsystem_c.dylib 0x0000000186a94fd8 abort + 140 3 monotouchtest 0x0000000101c02c14 mono_handle_native_crash + 22047764 (mini-exceptions.c:2548) 4 monotouchtest 0x0000000101c0d02c mono_sigsegv_signal_handler + 22089772 (mini-runtime.c:2886) 5 libsystem_platform.dylib 0x0000000186c33b60 _sigtramp + 52 6 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 7 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 8 CoreFoundation 0x0000000186eda51c -[__NSArrayM dealloc] + 68 9 CoreFoundation 0x000000018703f5c8 __CFBasicHashDrain + 312 10 CoreFoundation 0x0000000186fb5b44 _CFRelease + 224 11 CoreText 0x000000018a808404 TDescriptorSource::PurgeFontFallbacksCache+ 488452 () + 92 12 CoreText 0x000000018a808374 TDescriptorSource::PurgeFromCaches+ 488308 (__CFURL const*) const + 176 13 CoreText 0x000000018a7eec74 CTFontRemoveFromCaches + 168 14 VectorKit 0x0000000196a539b0 +[VKSharedResourcesManager removeResourceUser:] + 324 15 VectorKit 0x0000000196ca27a4 md::MapEngine::~MapEngine+ 2643876 () + 360 16 VectorKit 0x0000000196ca2634 md::MapEngine::~MapEngine+ 2643508 () + 12 17 libobjc.A.dylib 0x000000018651eef4 object_cxxDestructFromClass+ 28404 (objc_object*, objc_class*) + 148 18 libobjc.A.dylib 0x000000018652c638 objc_destructInstance + 88 19 libobjc.A.dylib 0x000000018652c690 object_dispose + 16 20 QuartzCore 0x000000018afca3ac -[CALayer dealloc] + 116 21 VectorKit 0x0000000196a43294 -[VKMapView dealloc] + 940 22 QuartzCore 0x000000018af6aafc CA::release_objects+ 744188 (X::List<void const*>*) + 32 23 QuartzCore 0x000000018afd97d8 CA::Layer::~Layer+ 1198040 () + 276 24 QuartzCore 0x000000018afca37c -[CALayer dealloc] + 68 25 QuartzCore 0x000000018af6b16c CA::Transaction::commit+ 745836 () + 1052 26 UIKit 0x0000000190393290 _afterCACommitHandler + 256 27 CoreFoundation 0x0000000186fb38b8 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 32 28 CoreFoundation 0x0000000186fb1270 __CFRunLoopDoObservers + 412 29 CoreFoundation 0x0000000186fb182c __CFRunLoopRun + 1292 30 CoreFoundation 0x0000000186ed22d8 CFRunLoopRunSpecific + 436 31 GraphicsServices 0x0000000188d58f84 GSEventRunModal + 100 32 UIKit 0x000000019040427c UIApplicationMain + 208 33 monotouchtest 0x000000010106eb90 wrapper_managed_to_native_UIKit_UIApplication_UIApplicationMain_int_string___intptr_intptr + 9907088 (/<unknown>:1) 34 monotouchtest 0x0000000100f0d6ac UIKit_UIApplication_Main_string___intptr_intptr + 8459948 (UIApplication.cs:79) 35 monotouchtest 0x0000000100f0d66c UIKit_UIApplication_Main_string___string_string + 8459884 (UIApplication.cs:63) 36 monotouchtest 0x0000000100b10450 monotouchtest_Application_Main_string__ + 4277328 (Main.cs:27) 37 monotouchtest 0x0000000100e0c244 wrapper_runtime_invoke_object_runtime_invoke_dynamic_intptr_intptr_intptr_intptr + 244 38 monotouchtest 0x0000000101c10048 mono_jit_runtime_invoke + 22102088 (mini-runtime.c:2526) 39 monotouchtest 0x0000000101c75eec do_runtime_invoke + 22519532 (object.c:2829) 40 monotouchtest 0x0000000101c78a3c do_exec_main_checked + 22530620 (object.c:4623) 41 monotouchtest 0x0000000101bf9a1c mono_jit_exec + 22010396 (driver.g.c:1040) 42 monotouchtest 0x0000000101d13d60 xamarin_main + 23166304 (monotouch-main.m:482) 43 monotouchtest 0x00000001007de710 main + 927504 (main.m:67) 44 libdyld.dylib 0x00000001869f656c start + 4 * [introspection] Let SkipDueToAttributeInProperty skip setters too (#2557) `SkipDueToAttributeInProperty` which is used to check the availability attribute of properties when the Availability info only exist on the property and not on the property Getter or Setter was wrong. This lead to `setSpringLoaded` (which was introduced in iOS 11) to not be ignored by the test (making it fail). - Fix bug #59085: [introspection-ios] selector not found for UIKit.UIBarButtonItem : setSpringLoaded: - Broken test (https://bugzilla.xamarin.com/show_bug.cgi?id=59085) * [corevideo][watchos] Enable CoreVideo on watchOS (#2553) * [storekit] Fix CampaignToken typo (#2559) (#2560) - Fixes bug #59078: StoreProductParameters and invalid property for CampaignToken (https://bugzilla.xamarin.com/show_bug.cgi?id=59078) * [coreml][watchos] Enable API using CoreVideo on watchOS. Fix #58097 (#2561) https://bugzilla.xamarin.com/show_bug.cgi?id=58097 * Add missing [MarshalDirective] attributes. (#2558) * [bindings-generator] Improve build & project file. * Add missing [MarshalDirective] attributes. Add missing [MarshalDirective] attributes, which also requires implementing support for out parameters in the binding generator, since one of the signatures missing the [MarshalDirective] contains such an out parameter. Also add tests for all the API I've added [MarshalDirective] to. * [bindings-generator] Remove redundant if check. * [monotouch-test] Rename file to end with 'Test.cs'. * [tests] Fix a few build errors for Xamarin.Mac. * [uikit] Fix UIColor and UIInputViewController tvOS availability (#2569) - Fixes introspection tests on tvOS 10. * [storekit] Fix SKCloudServiceSetupMessageIdentifier and SKProductStorePromotionController tvOS availability (#2568) - Fixes introspection tests on tvOS 10. * [mapkit] Fix MKMapItemTypeIdentifier tvOS availability (#2566) - Also remove double [Mac] availability attribute. - Fixes introspection tests on tvOS 10. * [ARKit] Fix marshalling for ARPointCloud.RawFeaturePoints. (#2565) ARPointCloud.RawFeaturePoints is an array of Vector3, but each vector is 16-byte aligned (as if it were an array of Vector4). This means we need to account for this when creating a managed array from pointer to the native C-style array. * [ModelIO] Fix MDLVoxelIndexExtent struct. (#2564) The MDLVoxelIndexExtent is a struct containing two 4-dimensional vectors of integers (not floats, as originally and incorrectly implemented). Fix this my creating a new MDLVoxelIndexExtent2 struct with the right fields, re-implement all the API that exposes this struct and obsolete the old API. Also add missing [MarshalDirective] attributes. And write a test to make sure it works fine now and forever. * [coredata] Enable new fields since rdar #33878590 is fixed w/beta 6 (#2570) reference: https://trello.com/c/dlSRYPFx * [xtro-sharpie] Add a Simd check class to verify signatures with Simd types. * [Simd] Add simd matrix types. The OpenTK matrices (Matrix2/3/4) has a different memory layout than Apple's matrix_float2x2/matrix_float3x3/matrix_float4x4 matrices: the OpenTK versions are row-major, while Apple's versions are column-major. This means that when blitting memory from one to the other, the matrix will appear to have been transposed. See bug #[58599][2] for an example. Unfortunately we've already bound several API with Apple's matrix_floatXxX matrices using OpenTK's matrices, and although they're bound wrong, and the matrices appear transposed on input/output, we can't change the behavior because we have to maintain compatibility. This means we have to introduce new API, and then also just define new matrix types with the right memory layout (column-major). Additionally, in the future we might be able to mark these matrices as Simd-matrixes, so that the JIT/AOT compiler can generate the correct alignment for them, avoiding having to define a native conversion method (using the [MarshalDirective] hack). The matrices have been designed to match API-wise the matrices in the System.Numerics.Vectors namespace [1], but for the moment with only a few basic operations implemented (Determinant/Transpose/Multiply) defined (we can always add more later if we want to). In addition explicit conversion operators to and from the corresponding OpenTK.MatrixX are implemented, which means any operation defined in the OpenTK matrices can be used by converting back and forth. [1]: https://msdn.microsoft.com/en-us/library/system.numerics.matrix4x4(v=vs.111).aspx [2]: https://bugzilla.xamarin.com/show_bug.cgi?id=58599 * [ARKit] Use the new Simd matrix types. * [Vision] Use the new Simd matrix types. * [ModelIO] Use the new Simd-compatible matrix types, and deprecate the old API. * [GameplayKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [SpriteKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [xtro] Don't report missing [MarshalDirective] for obsolete methods. * [xtro] Remove unnecessary ignores. The implementation changed, and these stayed accidentally. * [wkwebkit] Fix (native) protocol names (#2572) Also ignore xtro's WKSnapshotConfiguration since it's an Apple bug 34185961 reference (xtro) !missing-protocol! WKURLSchemeHandler not bound !missing-protocol! WKURLSchemeTask not bound !unknown-protocol! WKUrlSchemeHandler bound !unknown-protocol! WKUrlSchemeTask bound !unknown-type! WKSnapshotConfiguration bound * [uikit] Fix enums availability attributes (#2575) - Fixes bug #59132: [uikit] Extra types in watchOS (https://bugzilla.xamarin.com/show_bug.cgi?id=59132) * [watchkit] Add missing designated initializers (#2574) references (xtro) !missing-designated-initializer! WKInterfaceController::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! WKUserNotificationInterfaceController::init is missing an [DesignatedInitializer] attribute * [xtro] Reword some of the Simd diagnostic messages according to review. * [tests] Make sure test symbols don't clash between different test libraries. Fixes this build problem for framework-test: clang: error: linker command failed with exit code 1 (use -v to see invocation) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_get_rotation_matrix'. MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticObjectTest.framework/XStaticObjectTest (Location related to previous error) MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticArTest.framework/XStaticArTest(libtest-ar.x86_64.o) (Location related to previous error) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransformcomponent_get_local_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_create_global_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float4x4'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float3x3'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float2x2'. MTOUCH: error MT5209: Native linking error: 6 duplicate symbols for architecture x86_64 MTOUCH: error MT5202: Native linking failed. Please review the build log. * [tests] Since libtest.a need ModelIO now, the corresponding LinkWith attributes need to state that too. * [introspection] Don't check native signatures on obsolete members, and ignore the right simd matrix types. Fixes this introspection/Mac problem: ***** ApiSignatureTest.NativeSignatures Selector: uniformWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: uniformWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: uniformWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: setMatrixFloat2x2Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: setMatrixFloat3x3Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: setMatrixFloat4x4Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: initWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: initWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: initWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded * [monotouch-tests] Include more custom asserts for watchOS to make the build work. Fixes this: Simd/MatrixFloat4x4Test.cs(28,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(29,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(37,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(48,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' [...] * [monotouch-test] Exclude code that requires the binding project from xammac tests. Exclude code that requires the test binding project from xammac tests because there's currently no XM version of the test binding project. Fixes this: tests/monotouch-test/SpriteKit/UniformTest.cs(20,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLMaterialProperty.cs(37,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLTransform.cs(34,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) * Bump version for preview #8 (#2576) * [spritekit] Audit fixes (xtro) (#2577) 1. SKVideoNode is now, partially, available on watchOS and does not require the extra, manual code to swicth selectors depending on the OS version being run. !missing-type! SKVideoNode not bound !missing-selector! SKVideoNode::anchorPoint not bound !missing-selector! SKVideoNode::initWithCoder: not bound !missing-selector! SKVideoNode::initWithFileNamed: not bound !missing-selector! SKVideoNode::initWithURL: not bound !missing-selector! SKVideoNode::setAnchorPoint: not bound !missing-selector! SKVideoNode::setSize: not bound !missing-selector! SKVideoNode::size not bound !missing-selector! +SKVideoNode::videoNodeWithFileNamed: not bound !missing-selector! +SKVideoNode::videoNodeWithURL: not bound 2. SKNodeFocusBehavior is exposed needlessly on watchOS because SpriteKit/Enums.cs was not processed by the generator, so [NoWatch] did not matter. !unknown-native-enum! SKNodeFocusBehavior bound It's also visible on macOS but nothing uses it (so we do not expose it needlessly) !missing-enum! SKNodeFocusBehavior not bound 3. Add missing designated initializer on default `init` !missing-designated-initializer! SKAttributeValue::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! SKNode::init is missing an [DesignatedInitializer] attribute 4. Remove inconsistency for SKNode subclasses wrt XAMCORE_4_0 The trio attributeValues, setAttributeValues and setValue:forAttributeNamed: that was moved from SKNode (deprecated) into its subclasses. This was done using XAMCORE_4_0 but not on every subclasses. This adds them everywhere to be consistent (only SKNode versions are not defined in XAMCORE_4_0) !missing-selector! SKEffectNode::attributeValues not bound !missing-selector! SKEffectNode::setAttributeValues: not bound !missing-selector! SKEffectNode::setValue:forAttributeNamed: not bound !missing-selector! SKEffectNode::valueForAttributeNamed: not bound !missing-selector! SKEmitterNode::attributeValues not bound !missing-selector! SKEmitterNode::setAttributeValues: not bound !missing-selector! SKEmitterNode::setValue:forAttributeNamed: not bound !missing-selector! SKEmitterNode::valueForAttributeNamed: not bound !missing-selector! SKSpriteNode::attributeValues not bound !missing-selector! SKSpriteNode::setAttributeValues: not bound !missing-selector! SKSpriteNode::setValue:forAttributeNamed: not bound !missing-selector! SKSpriteNode::valueForAttributeNamed: not bound * [introspection] Make sure '[FAIL]' is printed before every failure. (#2578) This makes xharness able to list the failures in the inline summary. * [xtro] Reword some of the Simd diagnostic messages according to review. * [xharness] Add a missing IsServerMode check to generate correct html. (#2581) * [SpriteKit] SKTransformNode is new in Xcode 9 so no need to keep the broken (and obsolete) non-simd version of RotationMatrix. * [intents] Fix some (partial) xtro issues and #59156 (#2585) reference https://bugzilla.xamarin.com/show_bug.cgi?id=59156 Remaining issues are filled in https://bugzilla.xamarin.com/show_bug.cgi?id=59183 !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound * [Intents] Confirm* interface methods should be bound as Confirm, Fixes Bug 59164 (#2591) * [Intents] Confirm* interface methods should probably be bound as Confirm, Fixes Bug 59164 https://bugzilla.xamarin.com/show_bug.cgi?id=59164 All Confirm* methods from *IntentHandling interfaces should be named just `Confirm` to avoid confusion because most of them do not directly confirm as an acion, but instead they **ask** for confirmation also we would follow swift's naming by doing this. * [Intents] XAMCORE_4_0 all Confirm* methods from *IntentHandling Turns any Confirm* into just Confirm inside a XAMCORE_4_0 block, * [Intents] Fix breaking changes in Intents added in Xcode 9 Bindings (#2590) Apple added more protocol conformances to INRidesharingDomainHandling and INPaymentsDomainHandling protocols in Xcode 9, I introduced these breaking changes back when I did intents binding so fixing them :) * [Metal] New bindings from Xcode 9 betas (#2457) * [AVFoundation] Updated bindings for xcode9. (#2272) * [Xcode9] Add IOSurface bindings (#2363) * This framework was a private framework before iOS 11. This framework was a private framework before iOS 11, yet the headers claim many API were introduced in iOS 10. So take account of this difference by using the private framework location in iOS 10.3 or earlier. Testing these API from Xcode works fine when run on an iOS 10.3 device, and I've confirmed the IOSurface framework is loaded from the private frameworks path on older devices (and when built using Xcode 9 and linked with the public framework path). * Disable code to make IOSurface work on iOS 10. Disable the code to make IOSurface work on iOS 10, since it may be rejected by the App Store. This also means adjusting the availability attributes, so that the introspection tests pass (and to document that technically these API won't work when used with Xamarin.iOS in iOS 10). I've filed bug #[59201][1] to keep track of this, maybe we can re-enable this later. [1]: https://bugzilla.xamarin.com/show_bug.cgi?id=59201 * [CoreMedia] Fix leak in CMAttachmentBearer.GetAttachments. (#2593) The caller owns the return value from CMCopyDictionaryOfAttachments, so tell Runtime.GetNSObject that. * [Intents] Adds missing API found by xtro, fixes Bug 59183 (#2596) https://bugzilla.xamarin.com/show_bug.cgi?id=59183 Fixes !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !incorrect-protocol-member! INUIHostedViewControlling::configureWithInteraction:context:completion: is OPTIONAL and should NOT be abstract * [xtro] Fix StartWorkingDirectory to enable debugging (#2598) * [iosurface] Enable for tvOS and XM classic (to avoid multiple defines around consumer API) (#2597) * [xtro] Fix EnumCheck (#2600) * [ARKit] Rename a few method to make them nicer. (#2604) * DisplayTransform -> GetDisplayTransform since methods should have verbs. * SessionWasInterrupted -> WasInterrupted and SessionInterruptionEnded -> InterruptionEnded since these names match better with the other names (CameraDidChangeTrackingState / DidFail / DidOutputAudioSampleBuffer: none are prefixed with 'Session'). Additionally, the type is a Model (for the delegate pattern), which means all methods are more-or-less event-like, and the first argument is always the same (the protocol itself), which is another indicator the methods should be named similarly. * [Foundation] Remove 'Key' suffix from some fields. (#2606) Of the 168 fields in NSMetadataItem, only these 5 hadn't removed the 'Key' suffix. So make them all equivalent by removing the 'Key' suffix from these 5 fields. * [ImageIO] Fix API to not duplicate the instance in instance methods. (#2609) An instance method does not need to take the instance as a parameter, so remove the first (instance) parameter for CGImageDestination.AddAuxiliaryDataInfo and CGImageSource.CopyAuxiliaryDataInfo. An alternative solution would be to make the methods static, but I like the instance API better. * [UIKit] De-model UIDataSourceTranslating. (#2603) It's not clear from neither the documentation nor the headers how this protocol is supposed to be used, and since it doesn't correspond to the delegate pattern, remove the [Model] attribute for now. We can always add it back later. * [CoreML] Improve API. (#2592) * [CoreML] Improve API. * The indices, shape and stride properties for MLMultiArray and MLMultiArrayConstraint can logically only be arrays of integers, so type them as such. This means adding overloads for MLMultiArray's constructors, GetObject and SetObject methods, and the indexers that takes nint[] arrays instead of NSNumber[] arrays. * Change MLFeatureValue's static factory methods to be a method ('Create') instead of a preposition, and call all the different factory methods the same, since they can be overloaded nicely. * [tests][monotouch-test] Add version check to MLMultiArrayTest and make sure the arrays we create are big enough for the data we put in them. * [tests][monotouch-test] MLMultiArray's elements aren't zero-initialized, so don't assume that in the tests. * Support overloading Objective-C methods based on static/instance. (#2607) Two Objective-C methods can be named identically as long as one is static and the other instance. We must support this since Apple did just this (in the NSItemProviderReading / NSItemProviderWriting protocols). We solve it by prepending a '+' or '-' to the selector when hashing it (to determine selector uniqueness, and to look the method up again at runtime). * [uikit] Update for Xcode 9 - Part 6 (#2602) NSAttributedString.h NSFileProviderExtension.h NSLayoutAnchor.h UIAccessibility.h UIAccessibilityAdditions.h UIAccessibilityContainer.h UIAccessibilityContentSizeCategoryImageAdjusting.h UIAccessibilityCustomRotor.h UIAccessibilityLocationDescriptor.h UITabBar.h UINavigationBar.h UIScreen.h * Xcode9 scenekit (#2512) * [SceneKit] basic work * Added key * [xcode9] SCNCameraController * [xcode9] SCNCamera updates * [xcode9] SCNMaterial * [xcode9] SCNGeometryTessellator, SCNCameraControlConfiguration, SCNView, small bits * Add trailing commas to last enum value * Remove whitespace noise * [scenekit] Update deprecated attributes messages * Addresses some of Rolf's feedback * Drop the WeakDelegate in SCNCameraController * Rename method to Render, remove ctor from class that can not be constructed in Palygrounds, add typo exception * [AppKit] Rename NSBezierPath.AppendBezierPathWithCGGlyph to match its sibling methods. (#2605) NSBezierPath contains a lot of 'AppendPathWithXXX' methods, that all map to 'appendBezierPathXXX' selectors. So rename AppendBezierPathWithCGGlyph accordingly, to make it more similar to the other methods in the same type. * [uikit] Add all UISpringLoadedInteractionSupporting (#2616) Types do not conform to the protocol but protocol methods work on those types (see monotouch-test). Fixed introspection tests accordingly and tested the selectors in monotouch-test. * [Intents] Add convenience ctor overload and call correct base ctor in manual ctor. (#2613) Add a convenience constructor overload in INGetUserCurrentRestaurantReservationBookingsIntent that uses nint instead of NSNumber, since logically "number of results" will always be some sort of integer. Also call the correct base constructor in INSpeakableString's custom constructor (same as any other generated constructor). Otherwise we end up doing something like this: [[[INSpeakableString alloc] init] initWith ...], i.e. calling two different init methods. * [coreimage] Add new headers API up to beta 6 (#2601) Filters are not complete (ref: #57350) https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * Some new constants are not yet documented (type is known), so they are commented / ignored https://bugzilla.xamarin.com/show_bug.cgi?id=59296 * Filled bug for [Wrap] inside [Category] so strong dictionary helpers can be re-enabled later https://bugzilla.xamarin.com/show_bug.cgi?id=59294 * [foundation] xtro fixes for watchOS (#2586) !missing-enum! NSProcessInfoThermalState not bound !missing-field! NSProcessInfoThermalStateDidChangeNotification not bound !missing-selector! NSProcessInfo::thermalState not bound Headers are wrong and preferredPresentationStyle is not in tvOS and watchOS !missing-selector! NSItemProvider::preferredPresentationStyle not bound !missing-selector! NSItemProvider::setPreferredPresentationStyle: not bound * [uikit] Also remove UIPreferredPresentationStyle enum from platform where it's not used * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. (#2614) * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. * NSItemProviderWriting: * NSItemProviderReading: Implement correctly and completely by uncommenting commented out code. * NSMutableString: * NSAttributedString: remove inlined members, since these classes don't implement NSItemProviderReading / NSItemProviderWriting (according to the headers at least). * NSUrl: all platforms now seem to implement NSItemProviderReading / NSItemProviderWriting. * NSString: all platforms now seem to implement both NSItemProviderReading and NSItemProviderWriting * UIColor: * UIImage: Update inlined protocol members according to the latest beta. Additionally, due to the following conditions: * The protocols all have the correct members now. * In the API definition we tell the generator to inline members from a protocol by inheriting from the corresponding interface. * The generator doesn't inline static members from protocols. several 'new' keywords had to be added to silence a compiler warning that occurrs when we manually inline a static member, since the member would be included in the type both from the inherited interface and the manual implementation. * [Foundation] Comment out NSItemProviderWriting.GetItemProviderVisibility to avoid inlining/generating unusable methods. NSItemProviderWriting.GetItemProviderVisibility is an optional method, and none of the native classes that implements NSItemProviderWriting actually imlements the method. This means inlining the method in those classes ends up creating unusable API; so just comment out the method to avoid generating the unusable API. The introspection tests found this: [FAIL] Foundation.NSString : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Foundation.NSUrl : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Contacts.CNContact : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] MapKit.MKMapItem : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIColor : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIImage : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] iOSApiSelectorTest.ApiSelectorTest.StaticMethods : 6 errors found in 2348 static selector validated: See also https://bugzilla.xamarin.com/show_bug.cgi?id=59308 * [iosurface] Add missing [TV] attributes (#2619) * [opengles] Enable the new API using IOSurface (#2618) The symbol only exists inside device libraries, not on simulator, and the introspection tests were updated to ignore it. Part of https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [avfoundation][watchos] Enable AudioBufferList (fix #59145) + audit (xtro) (#2617) 1. AudioBufferList is part of CoreAudio (wrong namespace, which needs a few changes in the generator) and now available in watchOS 4 https://bugzilla.xamarin.com/show_bug.cgi?id=59145 2. Also fixes xtro found issues: !missing-type! AVAudioRecorder not bound !missing-selector! AVAudioRecorder::averagePowerForChannel: not bound !missing-selector! AVAudioRecorder::channelAssignments not bound !missing-selector! AVAudioRecorder::currentTime not bound !missing-selector! AVAudioRecorder::delegate not bound !missing-selector! AVAudioRecorder::deviceCurrentTime not bound !missing-selector! AVAudioRecorder::format not bound !missing-selector! AVAudioRecorder::initWithURL:format:error: not bound !missing-selector! AVAudioRecorder::initWithURL:settings:error: not bound !missing-selector! AVAudioRecorder::isMeteringEnabled not bound !missing-selector! AVAudioRecorder::isRecording not bound !missing-selector! AVAudioRecorder::peakPowerForChannel: not bound !missing-selector! AVAudioRecorder::recordAtTime: not bound !missing-selector! AVAudioRecorder::recordAtTime:forDuration: not bound !missing-selector! AVAudioRecorder::recordForDuration: not bound !missing-selector! AVAudioRecorder::setChannelAssignments: not bound !missing-selector! AVAudioRecorder::setDelegate: not bound !missing-selector! AVAudioRecorder::setMeteringEnabled: not bound !missing-selector! AVAudioRecorder::settings not bound !missing-selector! AVAudioRecorder::url not bound !missing-protocol! AVAudioRecorderDelegate not bound !missing-selector! AVAudioEngine::inputNode not bound !missing-selector! AVAudioEngine::manualRenderingBlock not bound !missing-selector! AVAudioInputNode::setManualRenderingInputPCMFormat:inputBlock: not bound !missing-selector! AVAudioPlayer::format not bound !missing-selector! AVAudioSession::requestRecordPermission: not bound !unknown-field! AVFileType3GPP bound !unknown-field! AVFileType3GPP2 bound !unknown-field! AVFileTypeAC3 bound !unknown-field! AVFileTypeAIFC bound !unknown-field! AVFileTypeAIFF bound !unknown-field! AVFileTypeAMR bound !unknown-field! AVFileTypeAVCI bound !unknown-field! AVFileTypeAppleM4A bound !unknown-field! AVFileTypeAppleM4V bound !unknown-field! AVFileTypeCoreAudioFormat bound !unknown-field! AVFileTypeDNG bound !unknown-field! AVFileTypeEnhancedAC3 bound !unknown-field! AVFileTypeHEIC bound !unknown-field! AVFileTypeHEIF bound !unknown-field! AVFileTypeJPEG bound !unknown-field! AVFileTypeMPEG4 bound !unknown-field! AVFileTypeMPEGLayer3 bound !unknown-field! AVFileTypeQuickTimeMovie bound !unknown-field! AVFileTypeSunAU bound !unknown-field! AVFileTypeTIFF bound !unknown-field! AVFileTypeWAVE bound * [Metal] Implement API using IOSurface now that IOSurface is implemented. Partially fixes #58054. (#2621) https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [PdfKit] Improve PdfAnnotation.QuadrilateralPoints binding by making it strongly typed. (#2620) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). (#2622) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). * [ARKit/Vision] Use the new simd vector types instead of the OpenTK versions. * [ModelIO] Use the new simd vectors in new API (MDLVoxelIndexExtent2). This way we won't have to create a MDLVoxelIndexExtent3 in the future. * [SpriteKit] Use the new simd vectors in new API. * [metal] Audit (xtro) based fixes (#2623) !extra-protocol-member! unexpected selector MTLArgumentEncoder::newArgumentEncoderForBufferAtIndex: found !extra-protocol-member! unexpected selector MTLComputeCommandEncoder::dispatchThreads:threadsPerThreadgroup: found macos-only !missing-field! MTLDeviceRemovalRequestedNotification not bound !missing-field! MTLDeviceWasAddedNotification not bound !missing-field! MTLDeviceWasRemovedNotification not bound !missing-pinvoke! MTLCopyAllDevices is not bound * [CloudKit] Update bindings to beta 6. (#2615) * [FileProvider] Turn NSFileProviderItemIdentifier enum into a static class, fixes bug 59329 (#2634) https://bugzilla.xamarin.com/show_bug.cgi?id=59329 At the time of binding NSFileProviderItemIdentifier it wasn't clear how it was supposed to be used, I mean apple provides two keys which I thought were the only possible values hence binding it as an smart enum. Unfortunately this wasn't the case and the user can use those two values provided from the SDK or their own NSString Identifier. Swift provides a wrapper unfortunately we can't do the same due to NSFileProviderItemIdentifier is used in the NSFileProviderItem protocol and we currently do not support changing signatures on them. * [mtouch] Teach mtouch about the 'IOSurface' framework for tvOS. Fixes #59333. (#2630) https://bugzilla.xamarin.com/show_bug.cgi?id=59333 * Bump Touch.Unit to get fix for API breakage. (#2631) spouliot/Touch.Unit@8f1e19d [NUnitOutputTextWriter] Reintroduce previous constructor to make sure we don't break binary ABI. spouliot/Touch.Unit@00b0c0b [NUnitOutputTextWriter] Don't write invalid xml comments. spouliot/Touch.Unit@de9fe20 [TouchRunner] Restore the original code path when not wrapping NUnit xml output. * [IOSurface] Add missing availability attributes for tvOS. (#2629) * Bump versions for preview 9 (#2624) * [AVFoundation] Add missing interface AVRouteDetector. (#2637) * [tests] Update xtro to reduce list sizes (#2636) * Skip OpenTK duplicate declaration (we can't change them); * Fix rule name change for ARKit / simd; * Add missing default initializer on `init` to pending actions; * Add note for AVPersistableContentKeyRequest changes wrt tvOS; * [ReplayKit] Make RPBroadcastActivityViewController.LoadBroadcastActivityViewController async-capable. (#2639) * [xcode9] More SceneKit bindings (#2633) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 (#2644) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 https://bugzilla.xamarin.com/show_bug.cgi?id=59380 vector_float3 is 16 bytes, which means the binding is incorrect, because Vector3 is 12 bytes, and our code does not that difference into account. * Add tests * [DeviceCheck] Disable default ctor for DCDevice. (#2642) It doesn't seem to be useful according to the documentation, since it appears that the only way to get an instance is to use the static CurrentDevice property. * [audiounit] Audit (xtro) fixes for tvOS (#2635) Availability attributes in non-generated files don't hide symbols/code. reference: !unknown-pinvoke! AudioUnitExtensionCopyComponentList bound !unknown-pinvoke! AudioUnitExtensionSetComponentList bound * [tests] Make sure tvOS tests don't use the (unexisting) API * [tests] Add all test project variations to tests-mac.sln (#2579) * [xharness] Make sure generated mac projects have different project guids. * [introspection] Change the project guid so that it doesn't match the dontlink-mac project guid. * [tests] Add all test project variations to tests-mac.sln. * [xharness] Fix else condition. * [FileProvider] Adds missing NSFileProviderPage constants, fixes bug 59297. (#2646) https://bugzilla.xamarin.com/show_bug.cgi?id=59297 Adds NSFileProviderInitialPageSortedByName and NSFileProviderInitialPageSortedByDate NSData constants * [Xcode9] Remove NSFileProviderMessage and NSFileProviderMessageInterface (#2647) APIs were removed in beta 2 * [Foundation/UIKit] Provide LoadObject[s] methods that return the expected type in the callback. Fixes #59049. (#2638) The callback for these LoadObject[s] methods take an INSItemProviderReading parameter. This tells our runtime that we must provide an instance of a managed object that implements this interface (but nothing else), so we create a `NSItemProviderReadingWrapper` instance, which complies with the API (since the wrapper type implements the corresponding interface). Unfortunately these methods are supposed to return an instance of the passed- in type, so in order to comply with this soft (documentation-only) requirement, provide a wrapper method that creates instances of the right types. https://bugzilla.xamarin.com/show_bug.cgi?id=59049 * [arkit] Ignore deprecated selectors (#2645) * [FileProvider] Adds missing protocol and keys from audit (#2652) ``` !missing-protocol! NSFileProviderServiceSource not bound !missing-field! NSFileProviderErrorCollidingItemKey not bound !missing-field! NSFileProviderErrorNonExistentItemIdentifierKey not bound !missing-field! NSFileProviderFavoriteRankUnranked not bound ``` Also adds `NSXpcListenerEndpoint` to foundation, needed by `NSFileProviderServiceSource` protocol. * [tests][xtro] Workaround xtro runner dupe entry exception and update data files (#2654) * [AVFoundation] Rename field to match others. (#2657) * [homekit] Audit (xtro) fixes (#2653) - HMCharacteristicEvent conforms to NSMutableCopying on iOS11 which makes it 64 bits only (so adjust intro tests) - Ignore extra setters on HMMutablePresenceEvent, rdar 33883958 !missing-selector! HMMutablePresenceEvent::setPresenceEventType: not bound !missing-selector! HMMutablePresenceEvent::setPresenceUserType: not bound * [xtro] Add missing pinvoke to pending (#2662) - Bug 59422: [uikit] Missing UIContentSizeCategoryCompareToCategory & UIContentSizeCategoryIsAccessibilityCategory (https://bugzilla.xamarin.com/show_bug.cgi?id=59422) * Merge latest d15-3 fixes into xcode9 (#2660) * [msbuild] Re-added wildcard (*) expandsion for application-identifier in Entitlements.plist (#2186) Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=57119 * Bump mono (#2213) * Framework tests were still binding non-linked Simple class which errors now (#2216) (#2218) - Improve Makefile to rebuild when projects build with errors * Bump mono to get cecil fix for bug #56808. (#2222) https://bugzilla.xamarin.com/show_bug.cgi?id=56808 * [msbuild] Use @(ReferencePath) instead of @(ResolvedFiles) (#2188) (#2214) This allows things to work on both xbuild and msbuild. In xbuild, both lists are exactly the same and on msbuild, only @(ReferencePath) exists. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=55147 * NSActivityOptions.IdleDisplaySleepDisabled had wrong value (#2232) (#2239) This was due to an integer overflow. The original value was based on Int32 1 << 40 == 256 The correct value should be based on a UInt64. 1UL << 40 == 1099511627776 * [tests] Fix bug 57699 - [iOS]InternalsTest failure (Linkall) tests on device (#2243) Strip native debugging symbols should not be checked for debug builds * Bump mono to get fix for bug #57780. https://bugzilla.xamarin.com/show_bug.cgi?id=57780 * Update .gitmodules Change branch to d15-3 branch of mono * Bump maccore to get fix for bug #55064. https://bugzilla.xamarin.com/show_bug.cgi?id=55064 * [mono] Bump mono to get the head of cecil/mono-2017-04 and fix IsComObject #57919 Also fix #58789 [1], the typo in tools/mtouch/Tuning.cs showing in MT0000 errors instead MT2102. That's already in master and d15-4 mono bump includes: [2] commit 2a6502cee0df9de5198eafe7c8b5f6ac25106f34 (HEAD -> d15-3, origin/d15-3) Merge: 02457c20fcf 5e05cafc6f1 Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 10:04:06 2017 -0400 Merge pull request #5401 from marek-safar/com [Marshal.IsComObject] Make this predicate return false instead of thr… [3] commit 02457c20fcf57c0610e844d638eb1da82b5d1eb0 Merge: da80840ea55 73fd9a1b82e Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 09:59:06 2017 -0400 Merge pull request #5400 from spouliot/bump-cecil-58834-d15-3 [cecil] Bump to the head of the mono-2017-04 branch and pick the fix for bug #58834 References [1] https://bugzilla.xamarin.com/show_bug.cgi?id=58789 [2] https://bugzilla.xamarin.com/show_bug.cgi?id=57919 [3] https://bugzilla.xamarin.com/show_bug.cgi?id=58834 * [mtouch] Put 'mono_profiler_startup_log' in the symbol list. Fixes #58778. (#2501) We need the 'mono_profiler_startup_log' symbol when profiling is enabled, so make sure to add the symbol to the correct list of symbols we need. Previously we were passing `-u _mono_profiler_startup_log` to clang directly, which is fine, but not complete, since it does not write the symbol to the symbollist file (--symbollist=file), which means it wouldn't be preserved when the MSBuild tasks strip the executable. https://bugzilla.xamarin.com/show_bug.cgi?id=58778 * Bump versions for SR3 https://trello.com/c/EVze08ei * Bump mono to include HttpClientHandler fix #44027 https://trello.com/c/jYFXadH8/8-systemnethttp-close-request-stream-when-httpclienthandler https://bugzilla.xamarin.com/show_bug.cgi?id=44027 * [FileProvider] Add missing API and turn NSString to string (#2663) Turned NSString to string in order to match exisiting API. * [uikit] Add UIPasteConfigurationSupporting and UITextPasteConfigurationSupporting (#2649) - Fixes bug #59363: Missing UIPasteConfigurationSupporting, UITextPasteConfigurationSupporting, UITextDraggable and UITextDroppable on a couple of types (https://bugzilla.xamarin.com/show_bug.cgi?id=59363) * [uikit] Remove 129 types in UIPasteConfigurationSupporting case * [scenekit] Audit (xtro) fixes (#2648) This looks like an Apple breaking change (since `SCNAnimation` is new) but we now have: > typedef void (^SCNAnimationEventBlock)(id<SCNAnimation> animation, id animatedObject, BOOL playingBackward); bound as > delegate void SCNAnimationEventHandler (CAAnimation animation, NSObject animatedObject, bool playingBackward); and `CAAnimation` conforms to `SCNAnimation` but *only* the later is available on watchOS. The delegate is only updated (since it's new) on our watchOS profile. xtro references: (watchos) !unknown-protocol! SCNCameraControlConfiguration bound (tvos/watchos) !missing-selector! SCNAnimation::animationEvents not bound !missing-selector! SCNAnimation::setAnimationEvents: not bound !missing-selector! SCNConstraint::isEnabled not bound !missing-selector! SCNConstraint::setEnabled: not bound !missing-field! SCNSceneSourceConvertToYUpKey not bound !missing-field! SCNSceneSourceConvertUnitsToMetersKey not bound (ios/tvos) !missing-protocol-conformance! SCNNode should conform to UIFocusItem * Bump maccore post 15.3 merge (#2665) * Bump Xcode 9 to GM (#2667) * Force build (on wrench) * [avfoundation] Fix breaking changes (apidiff) (#2664) * [TVServices] Update to Xcode 9 GM (#2675) * [GameController] Update to Xcode 9 GM (#2673) * [LocalAuthentication] Update to Xcode 9 GM (#2671) * [LocalAuthentication] Update to Xcode 9 GM * Remove availability from BiometryNotAvailable, BiometryNotEnrolled and BiometryLockout * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer (#2659) * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer Some of the new added types were already present BUT under a #if MONOMAC, they had to be moved. * [AVFoundation] Set the wrongly added API to be obsolete and ensure it returns logical values. (#2650) * [xtro] The right platform for macOS is 'macos', not 'osx'. (#2677) The platform name is used to filter availability attributes, and if we use the wrong platform, we'll incorrectly skip all availability attributes. The net result in unclassified entries: https://gist.github.com/rolfbjarne/a4474bc2a40c49a85cad495b51bb514f * Various Xcode 9 API improvements and also fixes bug 59433 (#2676) https://bugzilla.xamarin.com/show_bug.cgi?id=59433 While fixing bug 59433 I noticed some additional issues outlined below: AVDepthData: * Renamed **non** static `Create` methods because `Create` only makes sense with the **Static** method in this context. Also by renaming the methods we are now closer to the names that swift uses. * Kept descriptive method names in favor of self-documenting code. `Convert`, `Apply` and `Replace` do not fully give us the intent of the method. * Added a convenience `Create` static method that takes a `CGImageAuxiliaryDataInfo`. * AvailableDepthDataTypes is now an array of `CVPixelFormatType` instead of a `NSNumber` array (The aactual fix for bug 59433). ImageIO: * Refactored `CGImageAuxiliaryDataInfo` to be a `StrongDictionary` in order to avoid most of the manual code and also to avoid reimplementing the `ToDictionary` method (which contained a subtle bug). * Adjusted code to reflect the above change. * Added missing `.ctor (IntPtr, bool)` to `CGImageMetadata` so the class is able to be created by our `Runtime.Get*`. * Simplified `CopyAuxiliaryDataInfo` method by using `CGImageAuxiliaryDataInfo` as a `DictionaryContainer`. Tests: * Added `xamarinmonkey.heic` which is an image that contains depth data needed to test above changes. * Adds `AVDepthDataTests` that touches most of the changes listed here. * Tweak the Simd-compatible matrices and vectors (#2668) * Rename them to be OpenTK.NMatrix# (instead of Simd.MatrixFloat#x#). * Remove the Vector2 and Vector4 variants, we'll use the OpenTK types instead (but we'll keep the NVector3 variant, since it's not identical to the OpenTK version). * Update the API to match their OpenTK counterparts better: * NMatrix2 and NMatrix3 have a 0-based R#C# scheme for their fields. * NMatrix4 has a 1-based M## scheme for its fields (i.e. no change). * [AVFoundation] Use Simd-matrix for API that needs it. (#2679) This also requires implementing the corresponding matrix (NMatrix4x3). Fixes this xtro issue: > !unknown-simd-type-in-signature! OpenTK.Matrix3 AVFoundation.AVCameraCalibrationData::get_GetIntrinsicMatrix(): the native signature has a simd type (matrix_float3x3), while the corresponding managed method is using an incorrect (non-simd) type. * [xtro] Fix checking availability on categories. (#2682) When checking for category availability, check if both the current declaration is a category, and if the current's declaration container is a category. Otherwise this scenario fails: * Category method is available. * Category does not have availability attributes. * Main class is unavailable. with this typical code sequence: ```csharp // don't process methods (or types) that are unavailable for the current platform if (!decl.IsAvailable () || !(decl.DeclContext as Decl).IsAvailable ()) return; ``` In which case we'd: * First check the method (`decl`): * It's available, so no further checks is done on the method. * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container's container is a category (it isn't, it's the namespace). and as such determine that the method is available. With this change, the second step will become: * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container is a category (it is), and if its main class is available (it isn't). and as such determine that the method is unavailable. * Check for attributes on the method's container (no attributes, so we continue). * Check if the method's Unclassified diff: https://gist.github.com/rolfbjarne/8fa80962596978a426eadf9b7ba39dc1 * [uikit] Update for Xcode 9 GM (#2670) * [AVFoundation] Implement AVCapturePhoto. Partially fixes #59388. (#2678) Fixes: > common.unclassified:!missing-type! AVCapturePhoto not bound https://bugzilla.xamarin.com/show_bug.cgi?id=59388 * Use strong dictionaries for AVCapturePhoto.Metadata and AVCapturePhoto.EmbeddedThumbnailPhotoFormat. * [SIMD] Implement Simd double types (VectorDouble3/MatrixDouble4x4). (#2632) The following types will be used by ModelIO bindings * Fix delta to be double * Rename Simd-compatible matrices and vectors to match our final naming. This also means removing the new Vector2 and Vector4 variants (but not Vector3). * [avfoundation] Remove AVAssetDownloadDelegate.DidLoadTimeRange since it was removed in one of the betas (#2687) * [foundation] Move NSUrlSessionMultipathServiceType to a file processed by the generator (for the availability attributes) (#2688) * [arkit] Update for Xcode 9 GM (#2681) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes (#2690) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes Type Changed: Intents.INCarSeatResolutionResult Removed methods: public static INCarSeatResolutionResult GetConfirmationRequired (INCarSeat valueToConfirm); public static INCarSeatResolutionResult GetSuccess (INCarSeat resolvedValue); * [avfoundation] Add missing protocol members and deprecations (#2691) !missing-protocol-member! AVCapturePhotoCaptureDelegate::captureOutput:didFinishProcessingPhoto:error: not found and the selector removed from PR#2687 was actually replaced with this one !missing-protocol-member! AVAssetDownloadDelegate::URLSession:aggregateAssetDownloadTask:didLoadTimeRange:totalTimeRangesLoaded:timeRangeExpectedToLoad:forMediaSelection: not found * [tests][xtro] Map some enums, more fix with protocols and update entries (#2692) * [Tests] Reenable dns tests on the watch. (#2674) * [arkit] Add ARBlendShapeLocationOptions strong dictionary (#2696) * [coreimage] Skip not yet bound filters added in Xcode9 (#2698) Tracked in https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * [Metal] Renamed MTLArgumentDescriptor.ArgumentDescriptor to Create, fixes bug 59498 (#2702) https://bugzilla.xamarin.com/show_bug.cgi?id=59498 From [argumentDescriptor docs](https://developer.apple.com/documentation/metal/mtlargumentdescriptor/2915746-argumentdescriptor?language=objc) > Creates an empty argument descriptor. * [msbuild] Always codesign app bundles if the codesign key is non-null (#2697) ...even if it is a simulator build. Turns out that starting with Xcode9, sim builds need to be codesigned for App Groups entitlements to work properly. Interestingly, the DetectSigningIdentity logic had a comment about needing to codesign simulator builds for some entitlements to work already starting with Xcode 8 but apparently the iOS targets did not respect this. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=59379 * [Foundation] Add NSProxy stub in order to workaround bug 59247 (#2693) https://bugzilla.xamarin.com/show_bug.cgi?id=59247 We need to have a better solution that removes all what NSProxy does not responds to. Right now this works because NSObject implements NSObject protocol just like NSProxy, but NSProxy responds to far less selectors hence doing it internal so it is not a breaking change when we provide the correct fix. * Keep NSProxy around and avoid XML linker description We need to keep NSProxy (avoid linking it) if WKNavigationDelegate or IWKNavigationDelegate is used. We know WKWebView will be there and can hold a reference to it. * [Xcode 9] Update Metal for GM (#2689) * [iosurface] IOSurface is not usable before iOS/tvOS 11. Fixes #59201 (#2706) Apple rejects apps that links with the previously private IOSurface.framework. We were not sure about this [1] and had it disabled (this is removed). However another bug stopped our adjustment logic [2] from being executed. This is needed since `clang` picks up the private framework if it does not find the public one (even when asking for a weak framework), [1] https://bugzilla.xamarin.com/show_bug.cgi?id=59201 [2] Added a while ago for JavascriptCore * Bump maccore to point to commit with the docs fix. (#2703) * Bump XI to 11.0.x (and XM to 3.99.9.x) (#2684) * fix typo
2017-09-16 00:53:16 +03:00
[iOS (8,0)] // header said NA and docs says "Available in iOS 8.0 through iOS 8.2." but it's back on iOS11
[TV (11,0), Watch (4,0)]
2016-04-21 15:30:02 +03:00
[Field ("SCNSceneSourceConvertToYUpKey")]
NSString ConvertToYUpKey { get; }
[Mac(10,10), iOS(8,0)]
[Field ("SCNSceneSourceAnimationImportPolicyKey")]
NSString AnimationImportPolicyKey { get; }
[Mac(10,10), iOS(8,0)]
[Field ("SCNSceneSourceAnimationImportPolicyPlay")]
NSString AnimationImportPolicyPlay { get; }
[Mac(10,10), iOS(8,0)]
[Field ("SCNSceneSourceAnimationImportPolicyPlayRepeatedly")]
NSString AnimationImportPolicyPlayRepeatedly { get; }
[Mac(10,10), iOS(8,0)]
[Field ("SCNSceneSourceAnimationImportPolicyDoNotPlay")]
NSString AnimationImportPolicyDoNotPlay { get; }
[Mac(10,10), iOS(8,0)]
[Field ("SCNSceneSourceAnimationImportPolicyPlayUsingSceneTimeBase")]
NSString AnimationImportPolicyPlayUsingSceneTimeBase { get; }
[TV (10, 0), Mac (10, 12), iOS (10, 0)]
[Field ("SCNSceneSourceLoadingOptionPreserveOriginalTopology")]
NSString OptionPreserveOriginalTopology { get; }
2016-04-21 15:30:02 +03:00
}
[Watch (3,0)]
2016-04-21 15:30:02 +03:00
[Mac (10,8), iOS (8,0)]
[Static]
interface SCNSceneSourceLoadErrors {
[Field ("SCNConsistencyElementIDErrorKey")]
NSString ConsistencyElementIDErrorKey { get; }
[Field ("SCNConsistencyElementTypeErrorKey")]
NSString ConsistencyElementTypeErrorKey { get; }
[Field ("SCNConsistencyLineNumberErrorKey")]
NSString ConsistencyLineNumberErrorKey { get; }
[Field ("SCNDetailedErrorsKey")]
NSString DetailedErrorsKey { get; }
}
[Watch (3,0)]
2016-04-21 15:30:02 +03:00
[Mac (10,8), iOS (8,0)]
[Static]
interface SCNSceneSourceProperties {
[Field ("SCNSceneSourceAssetContributorsKey")]
NSString AssetContributorsKey { get; }
[Field ("SCNSceneSourceAssetCreatedDateKey")]
NSString AssetCreatedDateKey { get; }
[Field ("SCNSceneSourceAssetModifiedDateKey")]
NSString AssetModifiedDateKey { get; }
[Field ("SCNSceneSourceAssetUpAxisKey")]
NSString AssetUpAxisKey { get; }
[Field ("SCNSceneSourceAssetUnitKey")]
NSString AssetUnitKey { get; }
[Field ("SCNSceneSourceAssetAuthoringToolKey")]
NSString AssetAuthoringToolKey { get; }
[Field ("SCNSceneSourceAssetAuthorKey")]
NSString AssetAuthorKey { get; }
[Field ("SCNSceneSourceAssetUnitNameKey")]
NSString AssetUnitNameKey { get; }
[Field ("SCNSceneSourceAssetUnitMeterKey")]
NSString AssetUnitMeterKey { get; }
2016-04-21 15:30:02 +03:00
}
Merge xcode9 into d15-4[-xi] (#2710) * [FileProvider] Add Xcode 9 Beta 1, 2 & 3 Bindings (#2279) * [FileProvider] Add Xcode 9 Beta 1 Bindings * Better naming * Feedback not related to BindAs * [FileProvider] Removes BindAs, add manual code for it and updated to Beta 3 * [FileProvider] Implement feedback * [CoreSpotlight] Updated spotlight bindings for xcode 9 beta 3. (#2193) Updated spotlight bindings for xcode 9 beta 3. * Fix warning caused by duplicate (#2354) * [FileProviderUI] Add Xcode 9 Beta 1 to 3 bindings (#2356) * Bump to Xcode 9 beta 4 * [arkit] ARLightEstimate does not conform to NSCopying anymore (fix unit test) * [uikit] NSFileProviderExtension.ReparentItem got a new parameter in beta4 (fix unit test) * [coreimage] CIImageAccumulator init returns nil in beta 4 There's no header change to mention `init` is not allowed but it's not clear how this default initializer could be used. Also make public some other API to construct this type (outside of XM). It's not clear why there were `internal` as they are (at least now) part of the header files. * [photos] Add helpers when PHLivePhotoEditingOption/NSDictionary is null (to avoid ambiguous API) (#2360) Adding a strongly typed `PHLivePhotoEditingOption` (a strongly typed version of an `NSDictionary`) can cause a `CS0121` (call is ambiguous) since using a `null` argument is common (only one option exist so far). This PR adds overloads that makes the code nicer in such case, e.g. before Xcode9: > // null is used when no options are given > _foo.SaveLivePhoto (output, null, completion); current (Xcode 9) > // casting required to remove ambiguity with PHLivePhotoEditingOption > _foo.SaveLivePhoto (output, (NSDictionary)null, completion); with this PR > // no option, no argument > _foo.SaveLivePhoto (output, completion); The same applies to `PrepareLivePhotoForPlayback`. * [tests] Disable/tweak two tests that breaks on (almost) all Xcode updates Those tests were not added to validate xOS so just keep the parts that helps us (without constantly checking back the new break flavor) * Disable watchOS to check if this hides others issues * [mapkit] Update for beta 4 * [coredata] Update for beta 4 * [wkwebkit] Update for beta 4 Note: WKWindowFeatures.h is not compiled (part of the framework umbrella) and the `@interface WKWindowFeatures (WKPrivate)` sounds like it should not have been exposed (it's all fields starting with `_`) * [corelocation] Update for beta 4 * Revert "Disable watchOS to check if this hides others issues" This reverts commit fed2249fa43290a1956ab2fe0d48f83ab6db9711. * [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]: https://github.com/xamarin/xamarin-macios/blob/f5956d6cc1eb5dfa7bab16628cf282d40237f64e/src/generator.cs#L5985 * [FinderSync] Update to beta 4 (#2377) * [ImageIO] Update to Xcode 9 (#2353) * [PhotosUI] Move macOS photosui bindings out of photos.cs into photosui.cs (#2358) * [quicklook] Update up to beta 4 (#2374) * [uikit] UIDragInteraction & UIDragInteractionDelegate (Xcode 9 b1,2,3) (#2357) * [safariservices] Update up to beta 4 (#2380) * [coreanimation] Update to beta 4 (#2382) Apple removed (mistake?) some API in beta 1. Filed as rdar 33590997 Internal tracking in https://trello.com/c/J8BDDUV9/86-33590997-coreanimation-quartzcore-api-removals * [storekit] Update up to beta 4 (#2379) * [CoreML] Update to Xcode 9 Beta 4 (#2387) * [uikit] UICollectionView/UITableView Drag & Drop (Xcode 9 b1,2,3 & 4) (#2355) * Update code after radar 32929318 and 32897776 are fixed in b4 (#2394) * [xcode9 CoreAudio] New definitions from Beta1 to Beta3 (#2359) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 (#2397) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 https://bugzilla.xamarin.com/show_bug.cgi?id=58512 Created strong API (VNBarcodeSymbology) on the following properties * VNDetectBarcodesRequest.SupportedSymbologies * VNDetectBarcodesRequest.Symbologies * VNBarcodeObservation.Symbology * Remove modern C# because classic can't do it 😡 * [mediaplayer] Update up to beta 4 (#2388) * [watchkit] Update to beta 4 (#2398) * Bump Visual Studio for Mac max version (#2408) * [coreimage] Add CIBarcodeDescriptor and enabled missing API for VNBarcodeObservation. Fix #58197 (#2411) https://bugzilla.xamarin.com/show_bug.cgi?id=58197 * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 (#2407) * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 * [uikit] Fixes based on comments * [coreimage] CIImageAccumulator API fixes. Fix #58349 (#2412) * Obsolete the default `init`; * XM exposed some older APIs using `int` instead of `CIFormat`. This is fixed and old APIs are obsoleted; * Both new & old APIs are now using `CIFormat` for both XI and XM. https://bugzilla.xamarin.com/show_bug.cgi?id=58349 * [uikit] UIText drag & drop - up to Xcode 9 beta 4 (#2410) * [uikit] UISplitView & UIStackView up to Xcode 9 beta 4 (#2425) * Bump XI/XM versions before preview 4 (#2422) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 (#2378) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 * [PDFKit] Implement feedback * [PDFKit] the forgotten enum * [PDFKit] More feedback * [PDFKit] Add Mac changes * Missing change * Fix test RectangleF VS CGRect * Pass -Wunguarded-availability-new to quiet a new clang warning (#2424) - https://bugzilla.xamarin.com/show_bug.cgi?id=58574 * [mtouch/mmp] Ignore warnings about unguarded code section with regards to availability. (#2441) * [monotouch-test] Remove workaround for fixed Apple bug. (#2445) * Bump to Xcode 9 beta 5. (#2447) * Bump to Xcode 9 beta 5. * [mmp] Disable the partial static registrar, because Apple's macOS SDK is broken. > In file included from Xamarin.Mac.registrar.mobile.i386.m:1: > In file included from ./Xamarin.Mac.registrar.mobile.i386.h:11: > /Applications/Xcode9-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVFoundation.h:88:9: fatal error: 'AVFoundation/AVRouteDetector.h' file not found https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [mmp] Fix partial static registrar removal. * [CallKit] Update to Xcode 9 beta 5. * [ARKit] ARPointCloud doesn't conform to NSCopying anymore in Xcode 9 beta 5. * [ARKit] Update to Xcode 9 beta 5 enough to make tests happy. * [CoreImage] Stub out new filters in Xcode 9 beta 5. * [tests][monotouch] Simplify some MDLMesh asserts since values change a lot between OS versions. * [mmp] Default to the dynamic registrar for release builds again, due to bug #58629. https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [tests][introspection] CXCall started implementing NSCopying without saying so in the headers. * Disable mmp static registrar tests due to 58629 for now * [quicklook] Update to beta 5 (#2450) * [photos] Update for beta 5 (#2452) Also update some existing enum members were added in beta 1 on macOS * [safariservices] Update for beta 5 (#2455) * [mediaplayer] Update to beta 5 (#2456) * [CoreLocation] Update Xcode 9 Beta 5 (#2453) * [CoreML] Update to Xcode 9 Beta 5 (#2454) * [Contacts] Update to Xcode 9 Beta 5 (#2451) * [Vision] Update to Xcode 9 Beta 5 (#2458) * [builds] Tell LLVM to stay away from newer macOS functions. (#2459) Fixes this build problem on Sierra: > ld: weak import of symbol '_futimens' not supported because of option: -no_weak_imports for architecture x86_64 This is a symbol that was (will be?) introduced in High Sierra. Interestingly this only occurs if the Xcode 8.X Command Line Tools haven't been manually installed. Because if the Xcode 8.X Command Line Tools are installed, this happens: 1. llvm's configure script detects that 'futimens' is not usable. 2. llvm's configure script detects that 'futimens' is not usable, because xcrun sets SDKROOT=/ when calling clang. a. When the SDKROOT variable is set, clang passes '-syslibroot /usr/lib' to ld. b. When ld gets '-syslibroot /usr/lib', ld looks in '/usr/lib' for a library that contains 'futimens' in the OS itself, and since we're on Sierra, that fails to link. c. So when llvm's configure script creates a test program that checks if 'futimens' is present, the program fails. This is correct, and makes llvm *not* use futimens. 3. xcrun sets SDKROOT=/ because /usr/share/current-os.sdk/Info.plist exists. If that file does not exist, then xcrun sets SDKROOT to Xcode9's macOS SDK (because that's what xcode-select reports). a. When SDKROOT is set to Xcode9's macOS SDK, the configure check for 'futimens' succeeds, because the macOS 10.13 SDK contains that function. b. llvm happily uses 'futimens', and then the final link fails because we're using a symbol not available on all target platforms. * [arkit] Update for Xcode 9 beta 5 - Part 1 (#2460) * [tests] The container app for watchOS tests should be 64-bit. (#2463) * [xharness] watchOS tests need to run in a clean environment. Works around #58348. (#2462) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [xharness] It watchOS tests don't need to be clean anymore. Fixes #58348. (#2473) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [uikit] UIView/UIScrollView/UIViewController up to Xcode 9 beta 5 (#2431) - Add NSDirectionalEdgeInsets type. - Includes DirectionalEdgeInsetsTest. * [AudioToolbox] Update bindings to Xcode 9 beta3 (not later changes). (#2294) * [xharness] Add a file existence check. (#2478) Fixes this exception: ``` Harness exception for 'introspection': System.IO.FileNotFoundException: Could not find file '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log'. File name: '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log' at System.IO.__Error.WinIOError (System.Int32 errorCode, System.String maybeFullPath) [0x00207] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/__error.cs:188 at System.IO.FileInfo.get_Length () [0x00038] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/fileinfo.cs:171 at xharness.CaptureLog.StopCapture () [0x00021] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Log.cs:252 at (wrapper remoting-invoke-with-check) xharness.CaptureLog:StopCapture () at xharness.AppRunner+<RunAsync>d__68.MoveNext () [0x0127f] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/AppRunner.cs:642 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter`1[TResult].GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:357 at xharness.RunSimulatorTask+<RunTestAsync>d__7.MoveNext () [0x0029d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2894 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.RunTestTask+<ExecuteAsync>d__8.MoveNext () [0x0010b] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2538 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.TestTask+<RunInternalAsync>d__87.MoveNext () [0x0010d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:1870 ``` I'm not sure how this can happen, but it has on the bots [1]. [1] https://jenkins.mono-project.com/job/xamarin-macios-pr-builder/4548/Test_Report/ * Bump versions for preview 5 (#2479) * [passkit] Update to beta 5 (#2481) * [tests] Remove workaround for radar #32688391. (#2486) * [replaykit] Update up to beta 5 (#2484) * Bump maccore to get fix for bug #55064. (#2487) * [apidiff] Update definition to new 10.12 (d15-3) stable release (#2490) * [SceneKit] basic work (#2483) * [coredata] Update to beta 5 (#2488) * [homekit] Update for Xcode 9 beta 5 (#2492) * [Foundation] Update for xcode9 (#2468) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 (#2493) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 * [Intents] Implement feedback * [Intents] Add a generic version for INInteraction.GetParameterValue * [Intents] Missing check * [Contacts] Add missing foundation NSItemProviderWriting protocol to CNContact (#2496) https://bugzilla.xamarin.com/show_bug.cgi?id=58203 This is available on all Contacts supported platforms ``` ./iPhoneOS.platform/Developer/SDKs/iPhoneOS11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchOS.platform/Developer/SDKs/WatchOS4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchSimulator.platform/Developer/SDKs/WatchSimulator4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ``` * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) (#2497) * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) * [IntentsUI] Better use a delegate instead so we have named params * Bump versions before 6th preview (#2514) * [arkit] Add missing MarshalDirective to ARPlaneAnchor (#2517) - Fixes bug #58648: ARPlaneAnchor.Extent property seems incorrect but changes to correct value after Debug access (https://bugzilla.xamarin.com/show_bug.cgi?id=58648) * [xtro-sharpie] Fix a compiler warning. (#2516) Fixes these warnings: Runner.cs(197,5): warning CS0642: Possible mistaken empty statement Runner.cs(199,5): warning CS0642: Possible mistaken empty statement Runner.cs(201,5): warning CS0642: Possible mistaken empty statement Runner.cs(203,5): warning CS0642: Possible mistaken empty statement Runner.cs(205,5): warning CS0642: Possible mistaken empty statement * [uikit] Update for Xcode 9 beta 5 - Part 3 (#2511) - UIKeyCommand - UINavigationBar - UINavigationItem - UIPasteboard - UITableViewHeaderFooterView * [xtro-sharpie] Remove xtro-plugin and misc other fixes. (#2522) * [xtro-sharpie] Build with msbuild and be as quiet as requested when building. * [xtro-sharpie] Must run as a 64-bit process, since the required native libraries are 64-bit. * [xtro-sharpie] Add run configurations to the project file to ease debugging in the IDE. * [xtro-sharpie] Remove xtro-plugin and the related commands. This was needed when there wasn't a 64-bit mono, in order to run xtro-sharpie in a 64-bit process. Now there is a 64-bit mono, so it's not needed anymore. Also improve makefile targets a bit, to auto-build stuff when needed, by setting the right dependencies. * Bump Xcode 9 to beta 6 (#2519) Disable watchOS tests again It seems like the Carousel crash from beta 4 is back to haunt us. This was working fine with beta 5. * Backport d15-3 SR2 fixes (#2515) * [coredata] Update to beta 6 (#2528) This seems to only revert some nullability changes from beta 5. * [coreml] Update to beta 6 (#2531) Fix our rdar 33643011 where additional setters were added in the headers but did not exists. * [videosubscriberaccount] Update to beta 6 (#2533) Only b1 and b2 introduced some additions/changes * [uikit] Update for Xcode 9 beta 6 - Part 4 (#2527) The following headers are now up to date: - UICollectionViewFlowLayout.h - UIDocumentPickerViewController.h - UIFontDescriptor.h - UIImage.h - UIImageView.h - UIImagePickerController.h * [xharness] Re-enable the watchOS tests. (#2534) It works fine for me locally, so let's see what Jenkins says. * [macos] Add new APIs in CoreWlan from Xcode9b3 (#2525) * Update AppKit bindings based on radar 33271241 results (#2518) * Update AppKit bindings based on radar 33271241 results - The header comment was updated to note it was NSSliderTouchBarItem view that has the protocol * Remove NSUserInterfaceCompression where not listed in header * [vision] Update to beta 6 (#2532) Removal of some deprecated (during beta) `init*` selectors. Also sync the versions that were inlined in subclasses - the old ones were not removed and the new ones were not added. * [xtro-sharpie] Many methods don't have selectors in Clang's API, so default to the name if no selector. (#2523) This makes a few more unclassified entries show up (mostly missing designated initializers): https://gist.github.com/rolfbjarne/07aa20f9b50b75bf3e69ac6a825e873a * [macos] Add ExternalAccessory APIs from xcode9 (#2526) * [58851] Disable NSMenuView in AllItemsWithNSMenuShouldAllowNull (#2504) * [arkit] Update for Xcode 9 beta 5 - Part 2 (#2505) - Add last missing selector. - Add tests for manual code. * [monotouch-test] Disable FontDescriptorTest.WithFeature (#2537) Disabled because it looks like the tvOS font we use: "Gujarati Sangam MN" does not have rare ligatures anymore (and the entire test is based on it). Before getting an actual fix for that, let's disable the test so it doesn't break all current builds. See: https://bugzilla.xamarin.com/show_bug.cgi?id=58929 * [xtro-sharpie] Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute. (#2524) Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute to calculate the native name for a TypeDefinition. Unclassified changes: https://gist.github.com/rolfbjarne/828f8ee41eebb0a3b60a38d71822fe59 * [foundation/uikit] Inline NSItemProvider_UIKitAdditions in NSItemProvider (#2538) As suggested here: https://github.com/xamarin/xamarin-macios/pull/2527#discussion_r134670981 * [intents] Fix breaking changes (api-diff) (#2543) Additions of @required members inside `INSpeakable` cannot be `[Abstract]` * [contacts] Fix breaking change (api-diff) (#2542) Type Changed: Contacts.CNPostalAddress Removed method: public static string LocalizeProperty (CNPostalAddressKeyOption option); * [macos] Reenable static registrar since Xcode9b6 un-broke SDK headers (#2544) - Fix a subtle spacing issues in PartialStaticLibrary property * [corebluetooth] Update up to beta 6 and enable it on watchOS (#2540) macOS 10.13 has finally catch up with iOS and this simplifies the bindings a bit. * [foundation] API fixes (apidiff) (#2545) 1. Let's not add new, already [Obsolete] API Type Changed: Foundation.NSDimension Added constructors: [Obsolete ("Not intended to be directly instantiated, this is an abstract class.")] public NSDimension (); 2. Fix inconsistently named API, e.g. Type Changed: Foundation.NSAttributedString Added properties: public static string[] ReadableTypeIdentifiersForItemProvider { get; } public static string[] WritableTypeIdentifiers { get; } * [pdfkit] Do not add already [Obsolete] API in new profiles (#2547) and ensure using the newer, correct API works cross-platforms iOS (before) [Obsolete ("Use 'Find (string, NSStringCompareOptions)' instead.")] public virtual PdfSelection[] Find (string text, nint options); public PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'Find (string, PdfSelection, NSStringCompareOptions)' instead.")] public virtual PdfSelection Find (string text, PdfSelection selection, nint options); public void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string, NSStringCompareOptions)' instead.")] public virtual void FindAsync (string text, nint options); public void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string [], NSStringCompareOptions)' instead.")] public virtual void FindAsync (string[] text, nint options); iOS (after) public virtual PdfSelection[] Find (string text, Foundation.NSStringCompareOptions compareOptions); public virtual PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); * Bump versions for the 7th preview (#2541) * Remove additions of AVKit removed in beta5 (#2536) * NSUrlSessionTask should implement NSProgressReporting for iOS (#2548) NSUrlSessionTask implements NSProgressReporting on iOS as well as Mac, so the #if MONOMAC isn't needed. * Add missing availability attributes causing failures on older iOS versions (#2550) * [vision] Minor fix wrt xtro (#2551) including some things we need to ignore manually !missing-field! VNVisionVersionNumber not bound !missing-pinvoke! VNImagePointForFaceLandmarkPoint is not bound !missing-pinvoke! VNNormalizedFaceBoundingBoxPointForLandmarkPoint is not bound * [uikit] NSFileProviderMessaging was removed in beta 2. Fixes #58222 (#2552) reference: https://bugzilla.xamarin.com/show_bug.cgi?id=58222 * [uikit] Update for Xcode 9 - Part 5 (#2546) Bindings for the following headers: - UIActivity.h - UIActivityItemProvider.h - UIAlertController.h - UIApplication.h - UIBarButtonItem.h - UIButton.h - UICollectionViewLayout.h - UIColor.h - UIControl.h - UIDocumentMenuViewController.h - UIFontMetrics.h - UIGestureRecognizer.h - UIGraphicsImageRenderer.h - UIInputViewController.h * [CoreText] Fix an extraneous free in CTFont.GetDefaultCascadeList. (#2555) We do not own the return value from CFArrayGetValueAtIndex, so don't say we do when creating CTFontDescriptor instances, since that leads to angry dragons: 2017-08-28 20:15:20.293 monotouchtest[33186:2311738] A_FontTest 2017-08-28 20:15:20.294 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithFontDescriptorAndOptions 2017-08-28 20:15:20.295 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithNameAndOptions 2017-08-28 20:15:20.296 monotouchtest[33186:2311738] critical: Stacktrace: at <unknown> <0xffffffff> at (wrapper managed-to-native) CoreText.CTFont.CTFontCopyDefaultCascadeListForLanguages (intptr,intptr) [0x0000a] in <ae65a2b1eea242d2b68fe784749543bf>:0 at CoreText.CTFont.GetDefaultCascadeList (string[]) [0x00013] in /work/maccore/xcode9/xamarin-macios/src/CoreText/CTFont.cs:2185 at MonoTouchFixtures.CoreText.A_FontTest.GetCascadeList () [0x0001e] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/CoreText/FontTest.cs:78 at (wrapper runtime-invoke) object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) [0x0004f] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) System.Reflection.MonoMethod.InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&) [0x00016] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at System.Reflection.MonoMethod.Invoke (object,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo) [0x00032] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/corlib/System.Reflection/MonoMethod.cs:305 at System.Reflection.MethodBase.Invoke (object,object[]) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/referencesource/mscorlib/system/reflection/methodbase.cs:229 at NUnit.Framework.Internal.Reflect.InvokeMethod (System.Reflection.MethodInfo,object,object[]) [0x00009] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Reflect.cs:215 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunNonAsyncTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x00025] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:116 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x0001a] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:90 at NUnit.Framework.Internal.Commands.TestMethodCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:66 at NUnit.Framework.Internal.Commands.SetUpTearDownCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00007] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/SetUpTearDownCommand.cs:84 at NUnit.Framework.Internal.WorkItems.SimpleWorkItem.PerformWork () [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/SimpleWorkItem.cs:64 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at MonoTouch.NUnit.UI.BaseTouchRunner.Run (NUnit.Framework.Internal.Test) [0x0004d] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:442 at MonoTouch.NUnit.UI.BaseTouchRunner.Run () [0x00030] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:171 at MonoTouch.Dialog.StringElement.Selected (MonoTouch.Dialog.DialogViewController,UIKit.UITableView,Foundation.NSIndexPath) [0x00008] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/Elements.cs:765 at MonoTouch.Dialog.DialogViewController.Selected (Foundation.NSIndexPath) [0x00026] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:577 at MonoTouch.Dialog.DialogViewController/Source.RowSelected (UIKit.UITableView,Foundation.NSIndexPath) [0x00016] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:402 at (wrapper runtime-invoke) <Module>.runtime_invoke_void__this___object_object (object,intptr,intptr,intptr) [0x0005d] in <32f0c196c5bc4aa18daea2ee64a7814e>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) UIKit.UIApplication.UIApplicationMain (int,string[],intptr,intptr) [0x0005c] in <ae65a2b1eea242d2b68fe784749543bf>:0 at UIKit.UIApplication.Main (string[],intptr,intptr) [0x00005] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:79 at UIKit.UIApplication.Main (string[],string,string) [0x00038] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:63 at monotouchtest.Application.Main (string[]) [0x00011] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/Main.cs:27 at (wrapper runtime-invoke) <Module>.runtime_invoke_void_object (object,intptr,intptr,intptr) [0x00051] in <30a7f7e09de9467b8b454221034a0e38>:0 Native stacktrace: 0 monotouchtest 0x000000010fca03c4 mono_handle_native_crash + 244 1 monotouchtest 0x000000010fcadd30 mono_sigsegv_signal_handler + 288 2 libsystem_platform.dylib 0x000000011feb3b3a _sigtramp + 26 3 CoreFoundation 0x000000011de035a2 computeSanitizedString + 146 4 CoreText 0x00000001168df314 _ZN15TPurgeableCache19RetainedValueForKeyEPKv + 54 5 CoreText 0x00000001168def85 _ZNK17TDescriptorSource22CopyDescriptorUncachedEPK7__CFURLbPK10__CFString + 55 6 CoreText 0x00000001168df34f _ZNK17TDescriptorSource14CopyDescriptorEPK7__CFURLbPK10__CFString + 27 7 CoreText 0x00000001168e20ad _ZNK17TDescriptorSource35CopyFontDescriptorPerPostScriptNameEPK10__CFStringmm + 297 8 CoreText 0x00000001168dfd9e _ZNK17TDescriptorSource30CopySystemFontDescriptorByNameEPK10__CFString10UIFontFlag + 54 9 CoreText 0x00000001168e54c4 _ZNK14TFontFallbacks17CopyFontFallbacksEPK10__CFStringS2_PK9__CFArray + 652 10 CoreText 0x00000001168e4a00 _ZNK14TFontFallbacks29CopyFontFallbacksForLanguagesEPK10__CFStringPK9__CFArray + 122 11 CoreText 0x00000001168e4971 _ZN17TDescriptorSource39CopyDefaultSubstitutionListForLanguagesEPK10__CFStringPK9__CFArray + 61 12 CoreText 0x00000001169397a7 _ZNK9TBaseFont28CreateSystemDefaultFallbacksEPK10__CFStringPK9__CFArray + 51 13 CoreText 0x000000011693999c _ZNK9TBaseFont15CreateFallbacksE10UIFontFlagPPK16__CFCharacterSetPK9__CFArray + 346 14 CoreText 0x00000001168c1036 _ZNK5TFont24CreateDefaultCascadeListEPK9__CFArray + 242 15 CoreText 0x00000001168b8ff9 CTFontCopyDefaultCascadeListForLanguages + 97 16 ??? 0x0000000140eaefd3 0x0 + 5384105939 17 ??? 0x0000000140eae761 0x0 + 5384103777 18 ??? 0x000000013c9c8e74 0x0 + 5311860340 19 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 20 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 21 monotouchtest 0x000000010fd71bac mono_runtime_try_invoke_array + 1292 22 monotouchtest 0x000000010fd15587 ves_icall_InternalInvoke + 647 23 ??? 0x000000013e9fcd13 0x0 + 5345627411 24 ??? 0x000000013e9fc738 0x0 + 5345625912 25 ??? 0x000000013e9fded5 0x0 + 5345631957 26 ??? 0x000000013e9fbb76 0x0 + 5345622902 27 ??? 0x000000013e9e237e 0x0 + 5345518462 28 ??? 0x000000013e9e237e 0x0 + 5345518462 29 ??? 0x000000013e9e237e 0x0 + 5345518462 30 ??? 0x000000013e9e237e 0x0 + 5345518462 31 ??? 0x000000013e873006 0x0 + 5344014342 32 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 33 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 34 monotouchtest 0x000000010fd6e320 mono_runtime_invoke + 208 35 monotouchtest 0x000000010fe71af1 xamarin_invoke_trampoline + 5617 36 monotouchtest 0x000000010fe79ddd xamarin_arch_trampoline + 189 37 monotouchtest 0x000000010fe7b1a1 xamarin_x86_64_common_trampoline + 110 38 UIKit 0x0000000111b9876b -[UITableView _selectRowAtIndexPath:animated:scrollPosition:notifyDelegate:] + 1810 39 UIKit 0x0000000111b98986 -[UITableView _userSelectRowAtPendingSelectionIndexPath:] + 344 40 UIKit 0x0000000111a6b5c9 _runAfterCACommitDeferredBlocks + 318 41 UIKit 0x0000000111a59dad _cleanUpAfterCAFlushAndRunDeferredBlocks + 280 42 UIKit 0x0000000111a89f68 _afterCACommitHandler + 137 43 CoreFoundation 0x000000011de3ddb7 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23 44 CoreFoundation 0x000000011de3dd0e __CFRunLoopDoObservers + 430 45 CoreFoundation 0x000000011de22324 __CFRunLoopRun + 1572 46 CoreFoundation 0x000000011de21a89 CFRunLoopRunSpecific + 409 47 GraphicsServices 0x0000000121b7e9c6 GSEventRunModal + 62 48 UIKit 0x0000000111a5f7d0 UIApplicationMain + 159 49 ??? 0x000000013c9c4474 0x0 + 5311841396 50 ??? 0x000000013c9c40ad 0x0 + 5311840429 ================================================================= Got a SIGSEGV while executing native code. This usually indicates a fatal error in the mono runtime or one of the native libraries used by your application. ================================================================= * [monotouch-test] Don't subclass MKMapView. (#2556) MKMapView doesn't like being subclassed (Apple says "you should not subclass the MKMapView class itself"). Bad things like this starts happening: Thread 0 name: tid_303 Dispatch queue: com.apple.main-thread Thread 0 Crashed: 0 libsystem_kernel.dylib 0x0000000186b25348 __pthread_kill + 8 1 libsystem_pthread.dylib 0x0000000186c39354 pthread_kill$VARIANT$mp + 396 2 libsystem_c.dylib 0x0000000186a94fd8 abort + 140 3 monotouchtest 0x0000000101c02c14 mono_handle_native_crash + 22047764 (mini-exceptions.c:2548) 4 monotouchtest 0x0000000101c0d02c mono_sigsegv_signal_handler + 22089772 (mini-runtime.c:2886) 5 libsystem_platform.dylib 0x0000000186c33b60 _sigtramp + 52 6 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 7 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 8 CoreFoundation 0x0000000186eda51c -[__NSArrayM dealloc] + 68 9 CoreFoundation 0x000000018703f5c8 __CFBasicHashDrain + 312 10 CoreFoundation 0x0000000186fb5b44 _CFRelease + 224 11 CoreText 0x000000018a808404 TDescriptorSource::PurgeFontFallbacksCache+ 488452 () + 92 12 CoreText 0x000000018a808374 TDescriptorSource::PurgeFromCaches+ 488308 (__CFURL const*) const + 176 13 CoreText 0x000000018a7eec74 CTFontRemoveFromCaches + 168 14 VectorKit 0x0000000196a539b0 +[VKSharedResourcesManager removeResourceUser:] + 324 15 VectorKit 0x0000000196ca27a4 md::MapEngine::~MapEngine+ 2643876 () + 360 16 VectorKit 0x0000000196ca2634 md::MapEngine::~MapEngine+ 2643508 () + 12 17 libobjc.A.dylib 0x000000018651eef4 object_cxxDestructFromClass+ 28404 (objc_object*, objc_class*) + 148 18 libobjc.A.dylib 0x000000018652c638 objc_destructInstance + 88 19 libobjc.A.dylib 0x000000018652c690 object_dispose + 16 20 QuartzCore 0x000000018afca3ac -[CALayer dealloc] + 116 21 VectorKit 0x0000000196a43294 -[VKMapView dealloc] + 940 22 QuartzCore 0x000000018af6aafc CA::release_objects+ 744188 (X::List<void const*>*) + 32 23 QuartzCore 0x000000018afd97d8 CA::Layer::~Layer+ 1198040 () + 276 24 QuartzCore 0x000000018afca37c -[CALayer dealloc] + 68 25 QuartzCore 0x000000018af6b16c CA::Transaction::commit+ 745836 () + 1052 26 UIKit 0x0000000190393290 _afterCACommitHandler + 256 27 CoreFoundation 0x0000000186fb38b8 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 32 28 CoreFoundation 0x0000000186fb1270 __CFRunLoopDoObservers + 412 29 CoreFoundation 0x0000000186fb182c __CFRunLoopRun + 1292 30 CoreFoundation 0x0000000186ed22d8 CFRunLoopRunSpecific + 436 31 GraphicsServices 0x0000000188d58f84 GSEventRunModal + 100 32 UIKit 0x000000019040427c UIApplicationMain + 208 33 monotouchtest 0x000000010106eb90 wrapper_managed_to_native_UIKit_UIApplication_UIApplicationMain_int_string___intptr_intptr + 9907088 (/<unknown>:1) 34 monotouchtest 0x0000000100f0d6ac UIKit_UIApplication_Main_string___intptr_intptr + 8459948 (UIApplication.cs:79) 35 monotouchtest 0x0000000100f0d66c UIKit_UIApplication_Main_string___string_string + 8459884 (UIApplication.cs:63) 36 monotouchtest 0x0000000100b10450 monotouchtest_Application_Main_string__ + 4277328 (Main.cs:27) 37 monotouchtest 0x0000000100e0c244 wrapper_runtime_invoke_object_runtime_invoke_dynamic_intptr_intptr_intptr_intptr + 244 38 monotouchtest 0x0000000101c10048 mono_jit_runtime_invoke + 22102088 (mini-runtime.c:2526) 39 monotouchtest 0x0000000101c75eec do_runtime_invoke + 22519532 (object.c:2829) 40 monotouchtest 0x0000000101c78a3c do_exec_main_checked + 22530620 (object.c:4623) 41 monotouchtest 0x0000000101bf9a1c mono_jit_exec + 22010396 (driver.g.c:1040) 42 monotouchtest 0x0000000101d13d60 xamarin_main + 23166304 (monotouch-main.m:482) 43 monotouchtest 0x00000001007de710 main + 927504 (main.m:67) 44 libdyld.dylib 0x00000001869f656c start + 4 * [introspection] Let SkipDueToAttributeInProperty skip setters too (#2557) `SkipDueToAttributeInProperty` which is used to check the availability attribute of properties when the Availability info only exist on the property and not on the property Getter or Setter was wrong. This lead to `setSpringLoaded` (which was introduced in iOS 11) to not be ignored by the test (making it fail). - Fix bug #59085: [introspection-ios] selector not found for UIKit.UIBarButtonItem : setSpringLoaded: - Broken test (https://bugzilla.xamarin.com/show_bug.cgi?id=59085) * [corevideo][watchos] Enable CoreVideo on watchOS (#2553) * [storekit] Fix CampaignToken typo (#2559) (#2560) - Fixes bug #59078: StoreProductParameters and invalid property for CampaignToken (https://bugzilla.xamarin.com/show_bug.cgi?id=59078) * [coreml][watchos] Enable API using CoreVideo on watchOS. Fix #58097 (#2561) https://bugzilla.xamarin.com/show_bug.cgi?id=58097 * Add missing [MarshalDirective] attributes. (#2558) * [bindings-generator] Improve build & project file. * Add missing [MarshalDirective] attributes. Add missing [MarshalDirective] attributes, which also requires implementing support for out parameters in the binding generator, since one of the signatures missing the [MarshalDirective] contains such an out parameter. Also add tests for all the API I've added [MarshalDirective] to. * [bindings-generator] Remove redundant if check. * [monotouch-test] Rename file to end with 'Test.cs'. * [tests] Fix a few build errors for Xamarin.Mac. * [uikit] Fix UIColor and UIInputViewController tvOS availability (#2569) - Fixes introspection tests on tvOS 10. * [storekit] Fix SKCloudServiceSetupMessageIdentifier and SKProductStorePromotionController tvOS availability (#2568) - Fixes introspection tests on tvOS 10. * [mapkit] Fix MKMapItemTypeIdentifier tvOS availability (#2566) - Also remove double [Mac] availability attribute. - Fixes introspection tests on tvOS 10. * [ARKit] Fix marshalling for ARPointCloud.RawFeaturePoints. (#2565) ARPointCloud.RawFeaturePoints is an array of Vector3, but each vector is 16-byte aligned (as if it were an array of Vector4). This means we need to account for this when creating a managed array from pointer to the native C-style array. * [ModelIO] Fix MDLVoxelIndexExtent struct. (#2564) The MDLVoxelIndexExtent is a struct containing two 4-dimensional vectors of integers (not floats, as originally and incorrectly implemented). Fix this my creating a new MDLVoxelIndexExtent2 struct with the right fields, re-implement all the API that exposes this struct and obsolete the old API. Also add missing [MarshalDirective] attributes. And write a test to make sure it works fine now and forever. * [coredata] Enable new fields since rdar #33878590 is fixed w/beta 6 (#2570) reference: https://trello.com/c/dlSRYPFx * [xtro-sharpie] Add a Simd check class to verify signatures with Simd types. * [Simd] Add simd matrix types. The OpenTK matrices (Matrix2/3/4) has a different memory layout than Apple's matrix_float2x2/matrix_float3x3/matrix_float4x4 matrices: the OpenTK versions are row-major, while Apple's versions are column-major. This means that when blitting memory from one to the other, the matrix will appear to have been transposed. See bug #[58599][2] for an example. Unfortunately we've already bound several API with Apple's matrix_floatXxX matrices using OpenTK's matrices, and although they're bound wrong, and the matrices appear transposed on input/output, we can't change the behavior because we have to maintain compatibility. This means we have to introduce new API, and then also just define new matrix types with the right memory layout (column-major). Additionally, in the future we might be able to mark these matrices as Simd-matrixes, so that the JIT/AOT compiler can generate the correct alignment for them, avoiding having to define a native conversion method (using the [MarshalDirective] hack). The matrices have been designed to match API-wise the matrices in the System.Numerics.Vectors namespace [1], but for the moment with only a few basic operations implemented (Determinant/Transpose/Multiply) defined (we can always add more later if we want to). In addition explicit conversion operators to and from the corresponding OpenTK.MatrixX are implemented, which means any operation defined in the OpenTK matrices can be used by converting back and forth. [1]: https://msdn.microsoft.com/en-us/library/system.numerics.matrix4x4(v=vs.111).aspx [2]: https://bugzilla.xamarin.com/show_bug.cgi?id=58599 * [ARKit] Use the new Simd matrix types. * [Vision] Use the new Simd matrix types. * [ModelIO] Use the new Simd-compatible matrix types, and deprecate the old API. * [GameplayKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [SpriteKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [xtro] Don't report missing [MarshalDirective] for obsolete methods. * [xtro] Remove unnecessary ignores. The implementation changed, and these stayed accidentally. * [wkwebkit] Fix (native) protocol names (#2572) Also ignore xtro's WKSnapshotConfiguration since it's an Apple bug 34185961 reference (xtro) !missing-protocol! WKURLSchemeHandler not bound !missing-protocol! WKURLSchemeTask not bound !unknown-protocol! WKUrlSchemeHandler bound !unknown-protocol! WKUrlSchemeTask bound !unknown-type! WKSnapshotConfiguration bound * [uikit] Fix enums availability attributes (#2575) - Fixes bug #59132: [uikit] Extra types in watchOS (https://bugzilla.xamarin.com/show_bug.cgi?id=59132) * [watchkit] Add missing designated initializers (#2574) references (xtro) !missing-designated-initializer! WKInterfaceController::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! WKUserNotificationInterfaceController::init is missing an [DesignatedInitializer] attribute * [xtro] Reword some of the Simd diagnostic messages according to review. * [tests] Make sure test symbols don't clash between different test libraries. Fixes this build problem for framework-test: clang: error: linker command failed with exit code 1 (use -v to see invocation) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_get_rotation_matrix'. MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticObjectTest.framework/XStaticObjectTest (Location related to previous error) MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticArTest.framework/XStaticArTest(libtest-ar.x86_64.o) (Location related to previous error) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransformcomponent_get_local_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_create_global_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float4x4'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float3x3'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float2x2'. MTOUCH: error MT5209: Native linking error: 6 duplicate symbols for architecture x86_64 MTOUCH: error MT5202: Native linking failed. Please review the build log. * [tests] Since libtest.a need ModelIO now, the corresponding LinkWith attributes need to state that too. * [introspection] Don't check native signatures on obsolete members, and ignore the right simd matrix types. Fixes this introspection/Mac problem: ***** ApiSignatureTest.NativeSignatures Selector: uniformWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: uniformWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: uniformWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: setMatrixFloat2x2Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: setMatrixFloat3x3Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: setMatrixFloat4x4Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: initWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: initWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: initWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded * [monotouch-tests] Include more custom asserts for watchOS to make the build work. Fixes this: Simd/MatrixFloat4x4Test.cs(28,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(29,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(37,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(48,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' [...] * [monotouch-test] Exclude code that requires the binding project from xammac tests. Exclude code that requires the test binding project from xammac tests because there's currently no XM version of the test binding project. Fixes this: tests/monotouch-test/SpriteKit/UniformTest.cs(20,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLMaterialProperty.cs(37,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLTransform.cs(34,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) * Bump version for preview #8 (#2576) * [spritekit] Audit fixes (xtro) (#2577) 1. SKVideoNode is now, partially, available on watchOS and does not require the extra, manual code to swicth selectors depending on the OS version being run. !missing-type! SKVideoNode not bound !missing-selector! SKVideoNode::anchorPoint not bound !missing-selector! SKVideoNode::initWithCoder: not bound !missing-selector! SKVideoNode::initWithFileNamed: not bound !missing-selector! SKVideoNode::initWithURL: not bound !missing-selector! SKVideoNode::setAnchorPoint: not bound !missing-selector! SKVideoNode::setSize: not bound !missing-selector! SKVideoNode::size not bound !missing-selector! +SKVideoNode::videoNodeWithFileNamed: not bound !missing-selector! +SKVideoNode::videoNodeWithURL: not bound 2. SKNodeFocusBehavior is exposed needlessly on watchOS because SpriteKit/Enums.cs was not processed by the generator, so [NoWatch] did not matter. !unknown-native-enum! SKNodeFocusBehavior bound It's also visible on macOS but nothing uses it (so we do not expose it needlessly) !missing-enum! SKNodeFocusBehavior not bound 3. Add missing designated initializer on default `init` !missing-designated-initializer! SKAttributeValue::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! SKNode::init is missing an [DesignatedInitializer] attribute 4. Remove inconsistency for SKNode subclasses wrt XAMCORE_4_0 The trio attributeValues, setAttributeValues and setValue:forAttributeNamed: that was moved from SKNode (deprecated) into its subclasses. This was done using XAMCORE_4_0 but not on every subclasses. This adds them everywhere to be consistent (only SKNode versions are not defined in XAMCORE_4_0) !missing-selector! SKEffectNode::attributeValues not bound !missing-selector! SKEffectNode::setAttributeValues: not bound !missing-selector! SKEffectNode::setValue:forAttributeNamed: not bound !missing-selector! SKEffectNode::valueForAttributeNamed: not bound !missing-selector! SKEmitterNode::attributeValues not bound !missing-selector! SKEmitterNode::setAttributeValues: not bound !missing-selector! SKEmitterNode::setValue:forAttributeNamed: not bound !missing-selector! SKEmitterNode::valueForAttributeNamed: not bound !missing-selector! SKSpriteNode::attributeValues not bound !missing-selector! SKSpriteNode::setAttributeValues: not bound !missing-selector! SKSpriteNode::setValue:forAttributeNamed: not bound !missing-selector! SKSpriteNode::valueForAttributeNamed: not bound * [introspection] Make sure '[FAIL]' is printed before every failure. (#2578) This makes xharness able to list the failures in the inline summary. * [xtro] Reword some of the Simd diagnostic messages according to review. * [xharness] Add a missing IsServerMode check to generate correct html. (#2581) * [SpriteKit] SKTransformNode is new in Xcode 9 so no need to keep the broken (and obsolete) non-simd version of RotationMatrix. * [intents] Fix some (partial) xtro issues and #59156 (#2585) reference https://bugzilla.xamarin.com/show_bug.cgi?id=59156 Remaining issues are filled in https://bugzilla.xamarin.com/show_bug.cgi?id=59183 !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound * [Intents] Confirm* interface methods should be bound as Confirm, Fixes Bug 59164 (#2591) * [Intents] Confirm* interface methods should probably be bound as Confirm, Fixes Bug 59164 https://bugzilla.xamarin.com/show_bug.cgi?id=59164 All Confirm* methods from *IntentHandling interfaces should be named just `Confirm` to avoid confusion because most of them do not directly confirm as an acion, but instead they **ask** for confirmation also we would follow swift's naming by doing this. * [Intents] XAMCORE_4_0 all Confirm* methods from *IntentHandling Turns any Confirm* into just Confirm inside a XAMCORE_4_0 block, * [Intents] Fix breaking changes in Intents added in Xcode 9 Bindings (#2590) Apple added more protocol conformances to INRidesharingDomainHandling and INPaymentsDomainHandling protocols in Xcode 9, I introduced these breaking changes back when I did intents binding so fixing them :) * [Metal] New bindings from Xcode 9 betas (#2457) * [AVFoundation] Updated bindings for xcode9. (#2272) * [Xcode9] Add IOSurface bindings (#2363) * This framework was a private framework before iOS 11. This framework was a private framework before iOS 11, yet the headers claim many API were introduced in iOS 10. So take account of this difference by using the private framework location in iOS 10.3 or earlier. Testing these API from Xcode works fine when run on an iOS 10.3 device, and I've confirmed the IOSurface framework is loaded from the private frameworks path on older devices (and when built using Xcode 9 and linked with the public framework path). * Disable code to make IOSurface work on iOS 10. Disable the code to make IOSurface work on iOS 10, since it may be rejected by the App Store. This also means adjusting the availability attributes, so that the introspection tests pass (and to document that technically these API won't work when used with Xamarin.iOS in iOS 10). I've filed bug #[59201][1] to keep track of this, maybe we can re-enable this later. [1]: https://bugzilla.xamarin.com/show_bug.cgi?id=59201 * [CoreMedia] Fix leak in CMAttachmentBearer.GetAttachments. (#2593) The caller owns the return value from CMCopyDictionaryOfAttachments, so tell Runtime.GetNSObject that. * [Intents] Adds missing API found by xtro, fixes Bug 59183 (#2596) https://bugzilla.xamarin.com/show_bug.cgi?id=59183 Fixes !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !incorrect-protocol-member! INUIHostedViewControlling::configureWithInteraction:context:completion: is OPTIONAL and should NOT be abstract * [xtro] Fix StartWorkingDirectory to enable debugging (#2598) * [iosurface] Enable for tvOS and XM classic (to avoid multiple defines around consumer API) (#2597) * [xtro] Fix EnumCheck (#2600) * [ARKit] Rename a few method to make them nicer. (#2604) * DisplayTransform -> GetDisplayTransform since methods should have verbs. * SessionWasInterrupted -> WasInterrupted and SessionInterruptionEnded -> InterruptionEnded since these names match better with the other names (CameraDidChangeTrackingState / DidFail / DidOutputAudioSampleBuffer: none are prefixed with 'Session'). Additionally, the type is a Model (for the delegate pattern), which means all methods are more-or-less event-like, and the first argument is always the same (the protocol itself), which is another indicator the methods should be named similarly. * [Foundation] Remove 'Key' suffix from some fields. (#2606) Of the 168 fields in NSMetadataItem, only these 5 hadn't removed the 'Key' suffix. So make them all equivalent by removing the 'Key' suffix from these 5 fields. * [ImageIO] Fix API to not duplicate the instance in instance methods. (#2609) An instance method does not need to take the instance as a parameter, so remove the first (instance) parameter for CGImageDestination.AddAuxiliaryDataInfo and CGImageSource.CopyAuxiliaryDataInfo. An alternative solution would be to make the methods static, but I like the instance API better. * [UIKit] De-model UIDataSourceTranslating. (#2603) It's not clear from neither the documentation nor the headers how this protocol is supposed to be used, and since it doesn't correspond to the delegate pattern, remove the [Model] attribute for now. We can always add it back later. * [CoreML] Improve API. (#2592) * [CoreML] Improve API. * The indices, shape and stride properties for MLMultiArray and MLMultiArrayConstraint can logically only be arrays of integers, so type them as such. This means adding overloads for MLMultiArray's constructors, GetObject and SetObject methods, and the indexers that takes nint[] arrays instead of NSNumber[] arrays. * Change MLFeatureValue's static factory methods to be a method ('Create') instead of a preposition, and call all the different factory methods the same, since they can be overloaded nicely. * [tests][monotouch-test] Add version check to MLMultiArrayTest and make sure the arrays we create are big enough for the data we put in them. * [tests][monotouch-test] MLMultiArray's elements aren't zero-initialized, so don't assume that in the tests. * Support overloading Objective-C methods based on static/instance. (#2607) Two Objective-C methods can be named identically as long as one is static and the other instance. We must support this since Apple did just this (in the NSItemProviderReading / NSItemProviderWriting protocols). We solve it by prepending a '+' or '-' to the selector when hashing it (to determine selector uniqueness, and to look the method up again at runtime). * [uikit] Update for Xcode 9 - Part 6 (#2602) NSAttributedString.h NSFileProviderExtension.h NSLayoutAnchor.h UIAccessibility.h UIAccessibilityAdditions.h UIAccessibilityContainer.h UIAccessibilityContentSizeCategoryImageAdjusting.h UIAccessibilityCustomRotor.h UIAccessibilityLocationDescriptor.h UITabBar.h UINavigationBar.h UIScreen.h * Xcode9 scenekit (#2512) * [SceneKit] basic work * Added key * [xcode9] SCNCameraController * [xcode9] SCNCamera updates * [xcode9] SCNMaterial * [xcode9] SCNGeometryTessellator, SCNCameraControlConfiguration, SCNView, small bits * Add trailing commas to last enum value * Remove whitespace noise * [scenekit] Update deprecated attributes messages * Addresses some of Rolf's feedback * Drop the WeakDelegate in SCNCameraController * Rename method to Render, remove ctor from class that can not be constructed in Palygrounds, add typo exception * [AppKit] Rename NSBezierPath.AppendBezierPathWithCGGlyph to match its sibling methods. (#2605) NSBezierPath contains a lot of 'AppendPathWithXXX' methods, that all map to 'appendBezierPathXXX' selectors. So rename AppendBezierPathWithCGGlyph accordingly, to make it more similar to the other methods in the same type. * [uikit] Add all UISpringLoadedInteractionSupporting (#2616) Types do not conform to the protocol but protocol methods work on those types (see monotouch-test). Fixed introspection tests accordingly and tested the selectors in monotouch-test. * [Intents] Add convenience ctor overload and call correct base ctor in manual ctor. (#2613) Add a convenience constructor overload in INGetUserCurrentRestaurantReservationBookingsIntent that uses nint instead of NSNumber, since logically "number of results" will always be some sort of integer. Also call the correct base constructor in INSpeakableString's custom constructor (same as any other generated constructor). Otherwise we end up doing something like this: [[[INSpeakableString alloc] init] initWith ...], i.e. calling two different init methods. * [coreimage] Add new headers API up to beta 6 (#2601) Filters are not complete (ref: #57350) https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * Some new constants are not yet documented (type is known), so they are commented / ignored https://bugzilla.xamarin.com/show_bug.cgi?id=59296 * Filled bug for [Wrap] inside [Category] so strong dictionary helpers can be re-enabled later https://bugzilla.xamarin.com/show_bug.cgi?id=59294 * [foundation] xtro fixes for watchOS (#2586) !missing-enum! NSProcessInfoThermalState not bound !missing-field! NSProcessInfoThermalStateDidChangeNotification not bound !missing-selector! NSProcessInfo::thermalState not bound Headers are wrong and preferredPresentationStyle is not in tvOS and watchOS !missing-selector! NSItemProvider::preferredPresentationStyle not bound !missing-selector! NSItemProvider::setPreferredPresentationStyle: not bound * [uikit] Also remove UIPreferredPresentationStyle enum from platform where it's not used * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. (#2614) * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. * NSItemProviderWriting: * NSItemProviderReading: Implement correctly and completely by uncommenting commented out code. * NSMutableString: * NSAttributedString: remove inlined members, since these classes don't implement NSItemProviderReading / NSItemProviderWriting (according to the headers at least). * NSUrl: all platforms now seem to implement NSItemProviderReading / NSItemProviderWriting. * NSString: all platforms now seem to implement both NSItemProviderReading and NSItemProviderWriting * UIColor: * UIImage: Update inlined protocol members according to the latest beta. Additionally, due to the following conditions: * The protocols all have the correct members now. * In the API definition we tell the generator to inline members from a protocol by inheriting from the corresponding interface. * The generator doesn't inline static members from protocols. several 'new' keywords had to be added to silence a compiler warning that occurrs when we manually inline a static member, since the member would be included in the type both from the inherited interface and the manual implementation. * [Foundation] Comment out NSItemProviderWriting.GetItemProviderVisibility to avoid inlining/generating unusable methods. NSItemProviderWriting.GetItemProviderVisibility is an optional method, and none of the native classes that implements NSItemProviderWriting actually imlements the method. This means inlining the method in those classes ends up creating unusable API; so just comment out the method to avoid generating the unusable API. The introspection tests found this: [FAIL] Foundation.NSString : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Foundation.NSUrl : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Contacts.CNContact : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] MapKit.MKMapItem : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIColor : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIImage : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] iOSApiSelectorTest.ApiSelectorTest.StaticMethods : 6 errors found in 2348 static selector validated: See also https://bugzilla.xamarin.com/show_bug.cgi?id=59308 * [iosurface] Add missing [TV] attributes (#2619) * [opengles] Enable the new API using IOSurface (#2618) The symbol only exists inside device libraries, not on simulator, and the introspection tests were updated to ignore it. Part of https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [avfoundation][watchos] Enable AudioBufferList (fix #59145) + audit (xtro) (#2617) 1. AudioBufferList is part of CoreAudio (wrong namespace, which needs a few changes in the generator) and now available in watchOS 4 https://bugzilla.xamarin.com/show_bug.cgi?id=59145 2. Also fixes xtro found issues: !missing-type! AVAudioRecorder not bound !missing-selector! AVAudioRecorder::averagePowerForChannel: not bound !missing-selector! AVAudioRecorder::channelAssignments not bound !missing-selector! AVAudioRecorder::currentTime not bound !missing-selector! AVAudioRecorder::delegate not bound !missing-selector! AVAudioRecorder::deviceCurrentTime not bound !missing-selector! AVAudioRecorder::format not bound !missing-selector! AVAudioRecorder::initWithURL:format:error: not bound !missing-selector! AVAudioRecorder::initWithURL:settings:error: not bound !missing-selector! AVAudioRecorder::isMeteringEnabled not bound !missing-selector! AVAudioRecorder::isRecording not bound !missing-selector! AVAudioRecorder::peakPowerForChannel: not bound !missing-selector! AVAudioRecorder::recordAtTime: not bound !missing-selector! AVAudioRecorder::recordAtTime:forDuration: not bound !missing-selector! AVAudioRecorder::recordForDuration: not bound !missing-selector! AVAudioRecorder::setChannelAssignments: not bound !missing-selector! AVAudioRecorder::setDelegate: not bound !missing-selector! AVAudioRecorder::setMeteringEnabled: not bound !missing-selector! AVAudioRecorder::settings not bound !missing-selector! AVAudioRecorder::url not bound !missing-protocol! AVAudioRecorderDelegate not bound !missing-selector! AVAudioEngine::inputNode not bound !missing-selector! AVAudioEngine::manualRenderingBlock not bound !missing-selector! AVAudioInputNode::setManualRenderingInputPCMFormat:inputBlock: not bound !missing-selector! AVAudioPlayer::format not bound !missing-selector! AVAudioSession::requestRecordPermission: not bound !unknown-field! AVFileType3GPP bound !unknown-field! AVFileType3GPP2 bound !unknown-field! AVFileTypeAC3 bound !unknown-field! AVFileTypeAIFC bound !unknown-field! AVFileTypeAIFF bound !unknown-field! AVFileTypeAMR bound !unknown-field! AVFileTypeAVCI bound !unknown-field! AVFileTypeAppleM4A bound !unknown-field! AVFileTypeAppleM4V bound !unknown-field! AVFileTypeCoreAudioFormat bound !unknown-field! AVFileTypeDNG bound !unknown-field! AVFileTypeEnhancedAC3 bound !unknown-field! AVFileTypeHEIC bound !unknown-field! AVFileTypeHEIF bound !unknown-field! AVFileTypeJPEG bound !unknown-field! AVFileTypeMPEG4 bound !unknown-field! AVFileTypeMPEGLayer3 bound !unknown-field! AVFileTypeQuickTimeMovie bound !unknown-field! AVFileTypeSunAU bound !unknown-field! AVFileTypeTIFF bound !unknown-field! AVFileTypeWAVE bound * [Metal] Implement API using IOSurface now that IOSurface is implemented. Partially fixes #58054. (#2621) https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [PdfKit] Improve PdfAnnotation.QuadrilateralPoints binding by making it strongly typed. (#2620) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). (#2622) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). * [ARKit/Vision] Use the new simd vector types instead of the OpenTK versions. * [ModelIO] Use the new simd vectors in new API (MDLVoxelIndexExtent2). This way we won't have to create a MDLVoxelIndexExtent3 in the future. * [SpriteKit] Use the new simd vectors in new API. * [metal] Audit (xtro) based fixes (#2623) !extra-protocol-member! unexpected selector MTLArgumentEncoder::newArgumentEncoderForBufferAtIndex: found !extra-protocol-member! unexpected selector MTLComputeCommandEncoder::dispatchThreads:threadsPerThreadgroup: found macos-only !missing-field! MTLDeviceRemovalRequestedNotification not bound !missing-field! MTLDeviceWasAddedNotification not bound !missing-field! MTLDeviceWasRemovedNotification not bound !missing-pinvoke! MTLCopyAllDevices is not bound * [CloudKit] Update bindings to beta 6. (#2615) * [FileProvider] Turn NSFileProviderItemIdentifier enum into a static class, fixes bug 59329 (#2634) https://bugzilla.xamarin.com/show_bug.cgi?id=59329 At the time of binding NSFileProviderItemIdentifier it wasn't clear how it was supposed to be used, I mean apple provides two keys which I thought were the only possible values hence binding it as an smart enum. Unfortunately this wasn't the case and the user can use those two values provided from the SDK or their own NSString Identifier. Swift provides a wrapper unfortunately we can't do the same due to NSFileProviderItemIdentifier is used in the NSFileProviderItem protocol and we currently do not support changing signatures on them. * [mtouch] Teach mtouch about the 'IOSurface' framework for tvOS. Fixes #59333. (#2630) https://bugzilla.xamarin.com/show_bug.cgi?id=59333 * Bump Touch.Unit to get fix for API breakage. (#2631) spouliot/Touch.Unit@8f1e19d [NUnitOutputTextWriter] Reintroduce previous constructor to make sure we don't break binary ABI. spouliot/Touch.Unit@00b0c0b [NUnitOutputTextWriter] Don't write invalid xml comments. spouliot/Touch.Unit@de9fe20 [TouchRunner] Restore the original code path when not wrapping NUnit xml output. * [IOSurface] Add missing availability attributes for tvOS. (#2629) * Bump versions for preview 9 (#2624) * [AVFoundation] Add missing interface AVRouteDetector. (#2637) * [tests] Update xtro to reduce list sizes (#2636) * Skip OpenTK duplicate declaration (we can't change them); * Fix rule name change for ARKit / simd; * Add missing default initializer on `init` to pending actions; * Add note for AVPersistableContentKeyRequest changes wrt tvOS; * [ReplayKit] Make RPBroadcastActivityViewController.LoadBroadcastActivityViewController async-capable. (#2639) * [xcode9] More SceneKit bindings (#2633) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 (#2644) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 https://bugzilla.xamarin.com/show_bug.cgi?id=59380 vector_float3 is 16 bytes, which means the binding is incorrect, because Vector3 is 12 bytes, and our code does not that difference into account. * Add tests * [DeviceCheck] Disable default ctor for DCDevice. (#2642) It doesn't seem to be useful according to the documentation, since it appears that the only way to get an instance is to use the static CurrentDevice property. * [audiounit] Audit (xtro) fixes for tvOS (#2635) Availability attributes in non-generated files don't hide symbols/code. reference: !unknown-pinvoke! AudioUnitExtensionCopyComponentList bound !unknown-pinvoke! AudioUnitExtensionSetComponentList bound * [tests] Make sure tvOS tests don't use the (unexisting) API * [tests] Add all test project variations to tests-mac.sln (#2579) * [xharness] Make sure generated mac projects have different project guids. * [introspection] Change the project guid so that it doesn't match the dontlink-mac project guid. * [tests] Add all test project variations to tests-mac.sln. * [xharness] Fix else condition. * [FileProvider] Adds missing NSFileProviderPage constants, fixes bug 59297. (#2646) https://bugzilla.xamarin.com/show_bug.cgi?id=59297 Adds NSFileProviderInitialPageSortedByName and NSFileProviderInitialPageSortedByDate NSData constants * [Xcode9] Remove NSFileProviderMessage and NSFileProviderMessageInterface (#2647) APIs were removed in beta 2 * [Foundation/UIKit] Provide LoadObject[s] methods that return the expected type in the callback. Fixes #59049. (#2638) The callback for these LoadObject[s] methods take an INSItemProviderReading parameter. This tells our runtime that we must provide an instance of a managed object that implements this interface (but nothing else), so we create a `NSItemProviderReadingWrapper` instance, which complies with the API (since the wrapper type implements the corresponding interface). Unfortunately these methods are supposed to return an instance of the passed- in type, so in order to comply with this soft (documentation-only) requirement, provide a wrapper method that creates instances of the right types. https://bugzilla.xamarin.com/show_bug.cgi?id=59049 * [arkit] Ignore deprecated selectors (#2645) * [FileProvider] Adds missing protocol and keys from audit (#2652) ``` !missing-protocol! NSFileProviderServiceSource not bound !missing-field! NSFileProviderErrorCollidingItemKey not bound !missing-field! NSFileProviderErrorNonExistentItemIdentifierKey not bound !missing-field! NSFileProviderFavoriteRankUnranked not bound ``` Also adds `NSXpcListenerEndpoint` to foundation, needed by `NSFileProviderServiceSource` protocol. * [tests][xtro] Workaround xtro runner dupe entry exception and update data files (#2654) * [AVFoundation] Rename field to match others. (#2657) * [homekit] Audit (xtro) fixes (#2653) - HMCharacteristicEvent conforms to NSMutableCopying on iOS11 which makes it 64 bits only (so adjust intro tests) - Ignore extra setters on HMMutablePresenceEvent, rdar 33883958 !missing-selector! HMMutablePresenceEvent::setPresenceEventType: not bound !missing-selector! HMMutablePresenceEvent::setPresenceUserType: not bound * [xtro] Add missing pinvoke to pending (#2662) - Bug 59422: [uikit] Missing UIContentSizeCategoryCompareToCategory & UIContentSizeCategoryIsAccessibilityCategory (https://bugzilla.xamarin.com/show_bug.cgi?id=59422) * Merge latest d15-3 fixes into xcode9 (#2660) * [msbuild] Re-added wildcard (*) expandsion for application-identifier in Entitlements.plist (#2186) Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=57119 * Bump mono (#2213) * Framework tests were still binding non-linked Simple class which errors now (#2216) (#2218) - Improve Makefile to rebuild when projects build with errors * Bump mono to get cecil fix for bug #56808. (#2222) https://bugzilla.xamarin.com/show_bug.cgi?id=56808 * [msbuild] Use @(ReferencePath) instead of @(ResolvedFiles) (#2188) (#2214) This allows things to work on both xbuild and msbuild. In xbuild, both lists are exactly the same and on msbuild, only @(ReferencePath) exists. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=55147 * NSActivityOptions.IdleDisplaySleepDisabled had wrong value (#2232) (#2239) This was due to an integer overflow. The original value was based on Int32 1 << 40 == 256 The correct value should be based on a UInt64. 1UL << 40 == 1099511627776 * [tests] Fix bug 57699 - [iOS]InternalsTest failure (Linkall) tests on device (#2243) Strip native debugging symbols should not be checked for debug builds * Bump mono to get fix for bug #57780. https://bugzilla.xamarin.com/show_bug.cgi?id=57780 * Update .gitmodules Change branch to d15-3 branch of mono * Bump maccore to get fix for bug #55064. https://bugzilla.xamarin.com/show_bug.cgi?id=55064 * [mono] Bump mono to get the head of cecil/mono-2017-04 and fix IsComObject #57919 Also fix #58789 [1], the typo in tools/mtouch/Tuning.cs showing in MT0000 errors instead MT2102. That's already in master and d15-4 mono bump includes: [2] commit 2a6502cee0df9de5198eafe7c8b5f6ac25106f34 (HEAD -> d15-3, origin/d15-3) Merge: 02457c20fcf 5e05cafc6f1 Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 10:04:06 2017 -0400 Merge pull request #5401 from marek-safar/com [Marshal.IsComObject] Make this predicate return false instead of thr… [3] commit 02457c20fcf57c0610e844d638eb1da82b5d1eb0 Merge: da80840ea55 73fd9a1b82e Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 09:59:06 2017 -0400 Merge pull request #5400 from spouliot/bump-cecil-58834-d15-3 [cecil] Bump to the head of the mono-2017-04 branch and pick the fix for bug #58834 References [1] https://bugzilla.xamarin.com/show_bug.cgi?id=58789 [2] https://bugzilla.xamarin.com/show_bug.cgi?id=57919 [3] https://bugzilla.xamarin.com/show_bug.cgi?id=58834 * [mtouch] Put 'mono_profiler_startup_log' in the symbol list. Fixes #58778. (#2501) We need the 'mono_profiler_startup_log' symbol when profiling is enabled, so make sure to add the symbol to the correct list of symbols we need. Previously we were passing `-u _mono_profiler_startup_log` to clang directly, which is fine, but not complete, since it does not write the symbol to the symbollist file (--symbollist=file), which means it wouldn't be preserved when the MSBuild tasks strip the executable. https://bugzilla.xamarin.com/show_bug.cgi?id=58778 * Bump versions for SR3 https://trello.com/c/EVze08ei * Bump mono to include HttpClientHandler fix #44027 https://trello.com/c/jYFXadH8/8-systemnethttp-close-request-stream-when-httpclienthandler https://bugzilla.xamarin.com/show_bug.cgi?id=44027 * [FileProvider] Add missing API and turn NSString to string (#2663) Turned NSString to string in order to match exisiting API. * [uikit] Add UIPasteConfigurationSupporting and UITextPasteConfigurationSupporting (#2649) - Fixes bug #59363: Missing UIPasteConfigurationSupporting, UITextPasteConfigurationSupporting, UITextDraggable and UITextDroppable on a couple of types (https://bugzilla.xamarin.com/show_bug.cgi?id=59363) * [uikit] Remove 129 types in UIPasteConfigurationSupporting case * [scenekit] Audit (xtro) fixes (#2648) This looks like an Apple breaking change (since `SCNAnimation` is new) but we now have: > typedef void (^SCNAnimationEventBlock)(id<SCNAnimation> animation, id animatedObject, BOOL playingBackward); bound as > delegate void SCNAnimationEventHandler (CAAnimation animation, NSObject animatedObject, bool playingBackward); and `CAAnimation` conforms to `SCNAnimation` but *only* the later is available on watchOS. The delegate is only updated (since it's new) on our watchOS profile. xtro references: (watchos) !unknown-protocol! SCNCameraControlConfiguration bound (tvos/watchos) !missing-selector! SCNAnimation::animationEvents not bound !missing-selector! SCNAnimation::setAnimationEvents: not bound !missing-selector! SCNConstraint::isEnabled not bound !missing-selector! SCNConstraint::setEnabled: not bound !missing-field! SCNSceneSourceConvertToYUpKey not bound !missing-field! SCNSceneSourceConvertUnitsToMetersKey not bound (ios/tvos) !missing-protocol-conformance! SCNNode should conform to UIFocusItem * Bump maccore post 15.3 merge (#2665) * Bump Xcode 9 to GM (#2667) * Force build (on wrench) * [avfoundation] Fix breaking changes (apidiff) (#2664) * [TVServices] Update to Xcode 9 GM (#2675) * [GameController] Update to Xcode 9 GM (#2673) * [LocalAuthentication] Update to Xcode 9 GM (#2671) * [LocalAuthentication] Update to Xcode 9 GM * Remove availability from BiometryNotAvailable, BiometryNotEnrolled and BiometryLockout * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer (#2659) * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer Some of the new added types were already present BUT under a #if MONOMAC, they had to be moved. * [AVFoundation] Set the wrongly added API to be obsolete and ensure it returns logical values. (#2650) * [xtro] The right platform for macOS is 'macos', not 'osx'. (#2677) The platform name is used to filter availability attributes, and if we use the wrong platform, we'll incorrectly skip all availability attributes. The net result in unclassified entries: https://gist.github.com/rolfbjarne/a4474bc2a40c49a85cad495b51bb514f * Various Xcode 9 API improvements and also fixes bug 59433 (#2676) https://bugzilla.xamarin.com/show_bug.cgi?id=59433 While fixing bug 59433 I noticed some additional issues outlined below: AVDepthData: * Renamed **non** static `Create` methods because `Create` only makes sense with the **Static** method in this context. Also by renaming the methods we are now closer to the names that swift uses. * Kept descriptive method names in favor of self-documenting code. `Convert`, `Apply` and `Replace` do not fully give us the intent of the method. * Added a convenience `Create` static method that takes a `CGImageAuxiliaryDataInfo`. * AvailableDepthDataTypes is now an array of `CVPixelFormatType` instead of a `NSNumber` array (The aactual fix for bug 59433). ImageIO: * Refactored `CGImageAuxiliaryDataInfo` to be a `StrongDictionary` in order to avoid most of the manual code and also to avoid reimplementing the `ToDictionary` method (which contained a subtle bug). * Adjusted code to reflect the above change. * Added missing `.ctor (IntPtr, bool)` to `CGImageMetadata` so the class is able to be created by our `Runtime.Get*`. * Simplified `CopyAuxiliaryDataInfo` method by using `CGImageAuxiliaryDataInfo` as a `DictionaryContainer`. Tests: * Added `xamarinmonkey.heic` which is an image that contains depth data needed to test above changes. * Adds `AVDepthDataTests` that touches most of the changes listed here. * Tweak the Simd-compatible matrices and vectors (#2668) * Rename them to be OpenTK.NMatrix# (instead of Simd.MatrixFloat#x#). * Remove the Vector2 and Vector4 variants, we'll use the OpenTK types instead (but we'll keep the NVector3 variant, since it's not identical to the OpenTK version). * Update the API to match their OpenTK counterparts better: * NMatrix2 and NMatrix3 have a 0-based R#C# scheme for their fields. * NMatrix4 has a 1-based M## scheme for its fields (i.e. no change). * [AVFoundation] Use Simd-matrix for API that needs it. (#2679) This also requires implementing the corresponding matrix (NMatrix4x3). Fixes this xtro issue: > !unknown-simd-type-in-signature! OpenTK.Matrix3 AVFoundation.AVCameraCalibrationData::get_GetIntrinsicMatrix(): the native signature has a simd type (matrix_float3x3), while the corresponding managed method is using an incorrect (non-simd) type. * [xtro] Fix checking availability on categories. (#2682) When checking for category availability, check if both the current declaration is a category, and if the current's declaration container is a category. Otherwise this scenario fails: * Category method is available. * Category does not have availability attributes. * Main class is unavailable. with this typical code sequence: ```csharp // don't process methods (or types) that are unavailable for the current platform if (!decl.IsAvailable () || !(decl.DeclContext as Decl).IsAvailable ()) return; ``` In which case we'd: * First check the method (`decl`): * It's available, so no further checks is done on the method. * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container's container is a category (it isn't, it's the namespace). and as such determine that the method is available. With this change, the second step will become: * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container is a category (it is), and if its main class is available (it isn't). and as such determine that the method is unavailable. * Check for attributes on the method's container (no attributes, so we continue). * Check if the method's Unclassified diff: https://gist.github.com/rolfbjarne/8fa80962596978a426eadf9b7ba39dc1 * [uikit] Update for Xcode 9 GM (#2670) * [AVFoundation] Implement AVCapturePhoto. Partially fixes #59388. (#2678) Fixes: > common.unclassified:!missing-type! AVCapturePhoto not bound https://bugzilla.xamarin.com/show_bug.cgi?id=59388 * Use strong dictionaries for AVCapturePhoto.Metadata and AVCapturePhoto.EmbeddedThumbnailPhotoFormat. * [SIMD] Implement Simd double types (VectorDouble3/MatrixDouble4x4). (#2632) The following types will be used by ModelIO bindings * Fix delta to be double * Rename Simd-compatible matrices and vectors to match our final naming. This also means removing the new Vector2 and Vector4 variants (but not Vector3). * [avfoundation] Remove AVAssetDownloadDelegate.DidLoadTimeRange since it was removed in one of the betas (#2687) * [foundation] Move NSUrlSessionMultipathServiceType to a file processed by the generator (for the availability attributes) (#2688) * [arkit] Update for Xcode 9 GM (#2681) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes (#2690) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes Type Changed: Intents.INCarSeatResolutionResult Removed methods: public static INCarSeatResolutionResult GetConfirmationRequired (INCarSeat valueToConfirm); public static INCarSeatResolutionResult GetSuccess (INCarSeat resolvedValue); * [avfoundation] Add missing protocol members and deprecations (#2691) !missing-protocol-member! AVCapturePhotoCaptureDelegate::captureOutput:didFinishProcessingPhoto:error: not found and the selector removed from PR#2687 was actually replaced with this one !missing-protocol-member! AVAssetDownloadDelegate::URLSession:aggregateAssetDownloadTask:didLoadTimeRange:totalTimeRangesLoaded:timeRangeExpectedToLoad:forMediaSelection: not found * [tests][xtro] Map some enums, more fix with protocols and update entries (#2692) * [Tests] Reenable dns tests on the watch. (#2674) * [arkit] Add ARBlendShapeLocationOptions strong dictionary (#2696) * [coreimage] Skip not yet bound filters added in Xcode9 (#2698) Tracked in https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * [Metal] Renamed MTLArgumentDescriptor.ArgumentDescriptor to Create, fixes bug 59498 (#2702) https://bugzilla.xamarin.com/show_bug.cgi?id=59498 From [argumentDescriptor docs](https://developer.apple.com/documentation/metal/mtlargumentdescriptor/2915746-argumentdescriptor?language=objc) > Creates an empty argument descriptor. * [msbuild] Always codesign app bundles if the codesign key is non-null (#2697) ...even if it is a simulator build. Turns out that starting with Xcode9, sim builds need to be codesigned for App Groups entitlements to work properly. Interestingly, the DetectSigningIdentity logic had a comment about needing to codesign simulator builds for some entitlements to work already starting with Xcode 8 but apparently the iOS targets did not respect this. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=59379 * [Foundation] Add NSProxy stub in order to workaround bug 59247 (#2693) https://bugzilla.xamarin.com/show_bug.cgi?id=59247 We need to have a better solution that removes all what NSProxy does not responds to. Right now this works because NSObject implements NSObject protocol just like NSProxy, but NSProxy responds to far less selectors hence doing it internal so it is not a breaking change when we provide the correct fix. * Keep NSProxy around and avoid XML linker description We need to keep NSProxy (avoid linking it) if WKNavigationDelegate or IWKNavigationDelegate is used. We know WKWebView will be there and can hold a reference to it. * [Xcode 9] Update Metal for GM (#2689) * [iosurface] IOSurface is not usable before iOS/tvOS 11. Fixes #59201 (#2706) Apple rejects apps that links with the previously private IOSurface.framework. We were not sure about this [1] and had it disabled (this is removed). However another bug stopped our adjustment logic [2] from being executed. This is needed since `clang` picks up the private framework if it does not find the public one (even when asking for a weak framework), [1] https://bugzilla.xamarin.com/show_bug.cgi?id=59201 [2] Added a while ago for JavascriptCore * Bump maccore to point to commit with the docs fix. (#2703) * Bump XI to 11.0.x (and XM to 3.99.9.x) (#2684) * fix typo
2017-09-16 00:53:16 +03:00
interface ISCNSceneRenderer {}
[Watch (3,0)]
2016-04-21 15:30:02 +03:00
[Mac (10,8), iOS (8,0)]
[Protocol, Model]
[BaseType (typeof (NSObject))]
interface SCNSceneRenderer {
#if XAMCORE_2_0
[Abstract]
#endif
[Export ("delegate", ArgumentSemantic.Assign), NullAllowed]
NSObject WeakSceneRendererDelegate { get; set; }
[Wrap ("WeakSceneRendererDelegate")]
[Protocolize]
SCNSceneRendererDelegate SceneRendererDelegate { get; set; }
#if XAMCORE_2_0
[Abstract]
#endif
[Export ("playing")]
bool Playing { [Bind ("isPlaying")] get; set; }
#if XAMCORE_2_0
[Abstract]
#endif
[Export ("loops")]
bool Loops { get; set; }
#if XAMCORE_2_0
[Abstract]
#endif
[Export ("pointOfView", ArgumentSemantic.Retain)]
SCNNode PointOfView { get; set; }
#if XAMCORE_2_0
[Abstract]
#endif
[Export ("autoenablesDefaultLighting")]
bool AutoenablesDefaultLighting { get; set; }
#if XAMCORE_2_0
[Abstract]
#endif
[Export ("jitteringEnabled")]
bool JitteringEnabled { [Bind ("isJitteringEnabled")] get; set; }
#if XAMCORE_2_0
[Abstract]
#endif
[Export ("context")]
IntPtr Context { get; }
#if MONOMAC
[Availability (Deprecated = Platform.Mac_10_10, Unavailable = Platform.iOS_Version)]
[Export ("currentTime")]
double CurrentTime { get; set; }
#endif
[Abstract]
[Export ("hitTest:options:")]
[EditorBrowsable (EditorBrowsableState.Advanced)]
SCNHitTestResult [] HitTest (CGPoint thePoint, [NullAllowed] NSDictionary options);
[Wrap ("HitTest (thePoint, options == null ? null : options.Dictionary)")]
SCNHitTestResult [] HitTest (CGPoint thePoint, SCNHitTestOptions options);
#if XAMCORE_2_0
[Abstract]
#endif
[Mac (10,9)]
[Export ("showsStatistics")]
bool ShowsStatistics { get; set; }
#if XAMCORE_2_0
[Abstract]
#endif
[Mac (10,10)]
[Export ("sceneTime")]
double SceneTimeInSeconds { get; set; }
#if XAMCORE_2_0
[Abstract]
#endif
[Mac (10,10)]
[Export ("scene", ArgumentSemantic.Retain)]
SCNScene Scene { get; set; }
#if XAMCORE_2_0
[Abstract]
#endif
#if XAMCORE_2_0 || !MONOMAC
[Mac (10,10)]
[Export ("overlaySKScene", ArgumentSemantic.Retain)]
SKScene OverlayScene { get; set; }
#endif
#if XAMCORE_2_0
[Abstract]
#endif
[Mac (10,9)]
[Export ("isNodeInsideFrustum:withPointOfView:")]
bool IsNodeInsideFrustum (SCNNode node, SCNNode pointOfView);
#if XAMCORE_2_0
[Abstract]
#endif
[Mac (10,9)]
[Export ("projectPoint:")]
SCNVector3 ProjectPoint (SCNVector3 point);
#if XAMCORE_2_0
[Abstract]
#endif
[Mac (10,9)]
[Export ("unprojectPoint:")]
SCNVector3 UnprojectPoint (SCNVector3 point);
#if XAMCORE_2_0
[Abstract]
#endif
[Mac (10,9)]
[Export ("prepareObject:shouldAbortBlock:")]
bool Prepare (NSObject obj, [NullAllowed] Func<bool> abortHandler);
#if XAMCORE_2_0
[Abstract]
#endif
[Mac (10,10)]
[Async]
2016-04-21 15:30:02 +03:00
[Export ("prepareObjects:withCompletionHandler:")]
void Prepare (NSObject [] objects, [NullAllowed] Action<bool> completionHandler);
#if XAMCORE_2_0 || !MONOMAC
#if XAMCORE_4_0
[Abstract] // this protocol existed before iOS 9 (or OSX 10.11) and we cannot add abstract members to it (breaking changes)
#endif
[iOS (9,0)][Mac (10,11, onlyOn64 : true)] // SKTransition -> SpriteKit -> only on 64 bits
[Async]
2016-04-21 15:30:02 +03:00
[Export ("presentScene:withTransition:incomingPointOfView:completionHandler:")]
void PresentScene (SCNScene scene, SKTransition transition, [NullAllowed] SCNNode pointOfView, [NullAllowed] Action completionHandler);
#endif
#if XAMCORE_4_0
[Abstract] // this protocol existed before iOS 9 (or OSX 10.11) and we cannot add abstract members to it (breaking changes)
#endif
[iOS (9,0)][Mac (10,11)]
[Export ("nodesInsideFrustumWithPointOfView:")]
SCNNode[] GetNodesInsideFrustum (SCNNode pointOfView);
#if XAMCORE_4_0
[Abstract] // this protocol existed before iOS 9 (or OSX 10.11) and we cannot add abstract members to it (breaking changes)
#endif
[iOS (9,0)][Mac (10,11)]
[Export ("debugOptions", ArgumentSemantic.Assign)]
SCNDebugOptions DebugOptions { get; set; }
#if XAMCORE_4_0
[Abstract] // this protocol existed before iOS 9 (or OSX 10.11) and we cannot add abstract members to it (breaking changes)
#endif
[iOS (9,0)][Mac (10,11)]
[Export ("renderingAPI")]
SCNRenderingApi RenderingApi { get; }
// MonoMac / XM Classic does not have 64bits frameworks, e.g. Metal, and can't have those API
#if XAMCORE_2_0 || !MONOMAC
#if XAMCORE_4_0
[Abstract] // this protocol existed before iOS 9 (or OSX 10.11) and we cannot add abstract members to it (breaking changes)
#endif
[NoWatch]
2016-04-21 15:30:02 +03:00
[iOS (9,0)][Mac (10,11, onlyOn64 : true)] // IMTLRenderCommandEncoder -> Metal -> only on 64 bits
[NullAllowed, Export ("currentRenderCommandEncoder")]
IMTLRenderCommandEncoder CurrentRenderCommandEncoder { get; }
#if XAMCORE_4_0
[Abstract] // this protocol existed before iOS 9 (or OSX 10.11) and we cannot add abstract members to it (breaking changes)
#endif
[NoWatch]
2016-04-21 15:30:02 +03:00
[iOS (9,0)][Mac (10,11, onlyOn64 : true)]
[NullAllowed, Export ("device")]
IMTLDevice Device { get; }
#if XAMCORE_4_0
[Abstract] // this protocol existed before iOS 9 (or OSX 10.11) and we cannot add abstract members to it (breaking changes)
#endif
[NoWatch]
2016-04-21 15:30:02 +03:00
[iOS (9,0)][Mac (10,11, onlyOn64 : true)]
[Export ("colorPixelFormat")]
MTLPixelFormat ColorPixelFormat { get; }
#if XAMCORE_4_0
[Abstract] // this protocol existed before iOS 9 (or OSX 10.11) and we cannot add abstract members to it (breaking changes)
#endif
[NoWatch]
2016-04-21 15:30:02 +03:00
[iOS (9,0)][Mac (10,11, onlyOn64 : true)]
[Export ("depthPixelFormat")]
MTLPixelFormat DepthPixelFormat { get; }
#if XAMCORE_4_0
[Abstract] // this protocol existed before iOS 9 (or OSX 10.11) and we cannot add abstract members to it (breaking changes)
#endif
[NoWatch]
2016-04-21 15:30:02 +03:00
[iOS (9,0)][Mac (10,11, onlyOn64 : true)]
[Export ("stencilPixelFormat")]
MTLPixelFormat StencilPixelFormat { get; }
#if XAMCORE_4_0
[Abstract] // this protocol existed before iOS 9 (or OSX 10.11) and we cannot add abstract members to it (breaking changes)
#endif
[NoWatch]
2016-04-21 15:30:02 +03:00
[iOS (9,0)][Mac (10,11, onlyOn64 : true)]
[NullAllowed, Export ("commandQueue")]
IMTLCommandQueue CommandQueue { get; }
#endif
#if XAMCORE_4_0
[Abstract] // this protocol existed before iOS 9 (or OSX 10.11) and we cannot add abstract members to it (breaking changes)
#endif
[iOS (9,0)][Mac (10,11, onlyOn64 : true)]
[Export ("audioEngine")]
AVAudioEngine AudioEngine { get; }
#if XAMCORE_4_0
[Abstract] // this protocol existed before iOS 9 (or OSX 10.11) and we cannot add abstract members to it (breaking changes)
#endif
[NoWatch]
2016-04-21 15:30:02 +03:00
[iOS (9,0)][Mac (10,11, onlyOn64 : true)]
[Export ("audioEnvironmentNode")]
[DebuggerBrowsable (DebuggerBrowsableState.Never)]
2016-04-21 15:30:02 +03:00
AVAudioEnvironmentNode AudioEnvironmentNode { get; }
#if XAMCORE_4_0
[Abstract] // this protocol existed before iOS 9 (or OSX 10.11) and we cannot add abstract members to it (breaking changes)
#endif
[iOS (9,0)][Mac (10,11, onlyOn64 : true)]
[NullAllowed, Export ("audioListener", ArgumentSemantic.Retain)]
[DebuggerBrowsable (DebuggerBrowsableState.Never)]
2016-04-21 15:30:02 +03:00
SCNNode AudioListener { get; set; }
}
[Watch (3,0)]
2016-04-21 15:30:02 +03:00
[Mac (10,8), iOS (8,0)]
[Protocol, Model]
[BaseType (typeof (NSObject))]
interface SCNSceneRendererDelegate {
[Export ("renderer:willRenderScene:atTime:")]
void WillRenderScene ([Protocolize]SCNSceneRenderer renderer, SCNScene scene, double timeInSeconds);
[Export ("renderer:didRenderScene:atTime:")]
void DidRenderScene ([Protocolize]SCNSceneRenderer renderer, SCNScene scene, double timeInSeconds);
[Mac (10,10)]
[Export ("renderer:updateAtTime:")]
void Update ([Protocolize]SCNSceneRenderer renderer, double timeInSeconds);
[Mac (10,10)]
[Export ("renderer:didApplyAnimationsAtTime:")]
void DidApplyAnimations ([Protocolize]SCNSceneRenderer renderer, double timeInSeconds);
[Mac (10,10)]
[Export ("renderer:didSimulatePhysicsAtTime:")]
void DidSimulatePhysics ([Protocolize]SCNSceneRenderer renderer, double timeInSeconds);
Merge xcode9 into d15-4[-xi] (#2710) * [FileProvider] Add Xcode 9 Beta 1, 2 & 3 Bindings (#2279) * [FileProvider] Add Xcode 9 Beta 1 Bindings * Better naming * Feedback not related to BindAs * [FileProvider] Removes BindAs, add manual code for it and updated to Beta 3 * [FileProvider] Implement feedback * [CoreSpotlight] Updated spotlight bindings for xcode 9 beta 3. (#2193) Updated spotlight bindings for xcode 9 beta 3. * Fix warning caused by duplicate (#2354) * [FileProviderUI] Add Xcode 9 Beta 1 to 3 bindings (#2356) * Bump to Xcode 9 beta 4 * [arkit] ARLightEstimate does not conform to NSCopying anymore (fix unit test) * [uikit] NSFileProviderExtension.ReparentItem got a new parameter in beta4 (fix unit test) * [coreimage] CIImageAccumulator init returns nil in beta 4 There's no header change to mention `init` is not allowed but it's not clear how this default initializer could be used. Also make public some other API to construct this type (outside of XM). It's not clear why there were `internal` as they are (at least now) part of the header files. * [photos] Add helpers when PHLivePhotoEditingOption/NSDictionary is null (to avoid ambiguous API) (#2360) Adding a strongly typed `PHLivePhotoEditingOption` (a strongly typed version of an `NSDictionary`) can cause a `CS0121` (call is ambiguous) since using a `null` argument is common (only one option exist so far). This PR adds overloads that makes the code nicer in such case, e.g. before Xcode9: > // null is used when no options are given > _foo.SaveLivePhoto (output, null, completion); current (Xcode 9) > // casting required to remove ambiguity with PHLivePhotoEditingOption > _foo.SaveLivePhoto (output, (NSDictionary)null, completion); with this PR > // no option, no argument > _foo.SaveLivePhoto (output, completion); The same applies to `PrepareLivePhotoForPlayback`. * [tests] Disable/tweak two tests that breaks on (almost) all Xcode updates Those tests were not added to validate xOS so just keep the parts that helps us (without constantly checking back the new break flavor) * Disable watchOS to check if this hides others issues * [mapkit] Update for beta 4 * [coredata] Update for beta 4 * [wkwebkit] Update for beta 4 Note: WKWindowFeatures.h is not compiled (part of the framework umbrella) and the `@interface WKWindowFeatures (WKPrivate)` sounds like it should not have been exposed (it's all fields starting with `_`) * [corelocation] Update for beta 4 * Revert "Disable watchOS to check if this hides others issues" This reverts commit fed2249fa43290a1956ab2fe0d48f83ab6db9711. * [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]: https://github.com/xamarin/xamarin-macios/blob/f5956d6cc1eb5dfa7bab16628cf282d40237f64e/src/generator.cs#L5985 * [FinderSync] Update to beta 4 (#2377) * [ImageIO] Update to Xcode 9 (#2353) * [PhotosUI] Move macOS photosui bindings out of photos.cs into photosui.cs (#2358) * [quicklook] Update up to beta 4 (#2374) * [uikit] UIDragInteraction & UIDragInteractionDelegate (Xcode 9 b1,2,3) (#2357) * [safariservices] Update up to beta 4 (#2380) * [coreanimation] Update to beta 4 (#2382) Apple removed (mistake?) some API in beta 1. Filed as rdar 33590997 Internal tracking in https://trello.com/c/J8BDDUV9/86-33590997-coreanimation-quartzcore-api-removals * [storekit] Update up to beta 4 (#2379) * [CoreML] Update to Xcode 9 Beta 4 (#2387) * [uikit] UICollectionView/UITableView Drag & Drop (Xcode 9 b1,2,3 & 4) (#2355) * Update code after radar 32929318 and 32897776 are fixed in b4 (#2394) * [xcode9 CoreAudio] New definitions from Beta1 to Beta3 (#2359) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 (#2397) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 https://bugzilla.xamarin.com/show_bug.cgi?id=58512 Created strong API (VNBarcodeSymbology) on the following properties * VNDetectBarcodesRequest.SupportedSymbologies * VNDetectBarcodesRequest.Symbologies * VNBarcodeObservation.Symbology * Remove modern C# because classic can't do it 😡 * [mediaplayer] Update up to beta 4 (#2388) * [watchkit] Update to beta 4 (#2398) * Bump Visual Studio for Mac max version (#2408) * [coreimage] Add CIBarcodeDescriptor and enabled missing API for VNBarcodeObservation. Fix #58197 (#2411) https://bugzilla.xamarin.com/show_bug.cgi?id=58197 * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 (#2407) * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 * [uikit] Fixes based on comments * [coreimage] CIImageAccumulator API fixes. Fix #58349 (#2412) * Obsolete the default `init`; * XM exposed some older APIs using `int` instead of `CIFormat`. This is fixed and old APIs are obsoleted; * Both new & old APIs are now using `CIFormat` for both XI and XM. https://bugzilla.xamarin.com/show_bug.cgi?id=58349 * [uikit] UIText drag & drop - up to Xcode 9 beta 4 (#2410) * [uikit] UISplitView & UIStackView up to Xcode 9 beta 4 (#2425) * Bump XI/XM versions before preview 4 (#2422) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 (#2378) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 * [PDFKit] Implement feedback * [PDFKit] the forgotten enum * [PDFKit] More feedback * [PDFKit] Add Mac changes * Missing change * Fix test RectangleF VS CGRect * Pass -Wunguarded-availability-new to quiet a new clang warning (#2424) - https://bugzilla.xamarin.com/show_bug.cgi?id=58574 * [mtouch/mmp] Ignore warnings about unguarded code section with regards to availability. (#2441) * [monotouch-test] Remove workaround for fixed Apple bug. (#2445) * Bump to Xcode 9 beta 5. (#2447) * Bump to Xcode 9 beta 5. * [mmp] Disable the partial static registrar, because Apple's macOS SDK is broken. > In file included from Xamarin.Mac.registrar.mobile.i386.m:1: > In file included from ./Xamarin.Mac.registrar.mobile.i386.h:11: > /Applications/Xcode9-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVFoundation.h:88:9: fatal error: 'AVFoundation/AVRouteDetector.h' file not found https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [mmp] Fix partial static registrar removal. * [CallKit] Update to Xcode 9 beta 5. * [ARKit] ARPointCloud doesn't conform to NSCopying anymore in Xcode 9 beta 5. * [ARKit] Update to Xcode 9 beta 5 enough to make tests happy. * [CoreImage] Stub out new filters in Xcode 9 beta 5. * [tests][monotouch] Simplify some MDLMesh asserts since values change a lot between OS versions. * [mmp] Default to the dynamic registrar for release builds again, due to bug #58629. https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [tests][introspection] CXCall started implementing NSCopying without saying so in the headers. * Disable mmp static registrar tests due to 58629 for now * [quicklook] Update to beta 5 (#2450) * [photos] Update for beta 5 (#2452) Also update some existing enum members were added in beta 1 on macOS * [safariservices] Update for beta 5 (#2455) * [mediaplayer] Update to beta 5 (#2456) * [CoreLocation] Update Xcode 9 Beta 5 (#2453) * [CoreML] Update to Xcode 9 Beta 5 (#2454) * [Contacts] Update to Xcode 9 Beta 5 (#2451) * [Vision] Update to Xcode 9 Beta 5 (#2458) * [builds] Tell LLVM to stay away from newer macOS functions. (#2459) Fixes this build problem on Sierra: > ld: weak import of symbol '_futimens' not supported because of option: -no_weak_imports for architecture x86_64 This is a symbol that was (will be?) introduced in High Sierra. Interestingly this only occurs if the Xcode 8.X Command Line Tools haven't been manually installed. Because if the Xcode 8.X Command Line Tools are installed, this happens: 1. llvm's configure script detects that 'futimens' is not usable. 2. llvm's configure script detects that 'futimens' is not usable, because xcrun sets SDKROOT=/ when calling clang. a. When the SDKROOT variable is set, clang passes '-syslibroot /usr/lib' to ld. b. When ld gets '-syslibroot /usr/lib', ld looks in '/usr/lib' for a library that contains 'futimens' in the OS itself, and since we're on Sierra, that fails to link. c. So when llvm's configure script creates a test program that checks if 'futimens' is present, the program fails. This is correct, and makes llvm *not* use futimens. 3. xcrun sets SDKROOT=/ because /usr/share/current-os.sdk/Info.plist exists. If that file does not exist, then xcrun sets SDKROOT to Xcode9's macOS SDK (because that's what xcode-select reports). a. When SDKROOT is set to Xcode9's macOS SDK, the configure check for 'futimens' succeeds, because the macOS 10.13 SDK contains that function. b. llvm happily uses 'futimens', and then the final link fails because we're using a symbol not available on all target platforms. * [arkit] Update for Xcode 9 beta 5 - Part 1 (#2460) * [tests] The container app for watchOS tests should be 64-bit. (#2463) * [xharness] watchOS tests need to run in a clean environment. Works around #58348. (#2462) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [xharness] It watchOS tests don't need to be clean anymore. Fixes #58348. (#2473) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [uikit] UIView/UIScrollView/UIViewController up to Xcode 9 beta 5 (#2431) - Add NSDirectionalEdgeInsets type. - Includes DirectionalEdgeInsetsTest. * [AudioToolbox] Update bindings to Xcode 9 beta3 (not later changes). (#2294) * [xharness] Add a file existence check. (#2478) Fixes this exception: ``` Harness exception for 'introspection': System.IO.FileNotFoundException: Could not find file '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log'. File name: '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log' at System.IO.__Error.WinIOError (System.Int32 errorCode, System.String maybeFullPath) [0x00207] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/__error.cs:188 at System.IO.FileInfo.get_Length () [0x00038] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/fileinfo.cs:171 at xharness.CaptureLog.StopCapture () [0x00021] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Log.cs:252 at (wrapper remoting-invoke-with-check) xharness.CaptureLog:StopCapture () at xharness.AppRunner+<RunAsync>d__68.MoveNext () [0x0127f] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/AppRunner.cs:642 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter`1[TResult].GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:357 at xharness.RunSimulatorTask+<RunTestAsync>d__7.MoveNext () [0x0029d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2894 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.RunTestTask+<ExecuteAsync>d__8.MoveNext () [0x0010b] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2538 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.TestTask+<RunInternalAsync>d__87.MoveNext () [0x0010d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:1870 ``` I'm not sure how this can happen, but it has on the bots [1]. [1] https://jenkins.mono-project.com/job/xamarin-macios-pr-builder/4548/Test_Report/ * Bump versions for preview 5 (#2479) * [passkit] Update to beta 5 (#2481) * [tests] Remove workaround for radar #32688391. (#2486) * [replaykit] Update up to beta 5 (#2484) * Bump maccore to get fix for bug #55064. (#2487) * [apidiff] Update definition to new 10.12 (d15-3) stable release (#2490) * [SceneKit] basic work (#2483) * [coredata] Update to beta 5 (#2488) * [homekit] Update for Xcode 9 beta 5 (#2492) * [Foundation] Update for xcode9 (#2468) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 (#2493) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 * [Intents] Implement feedback * [Intents] Add a generic version for INInteraction.GetParameterValue * [Intents] Missing check * [Contacts] Add missing foundation NSItemProviderWriting protocol to CNContact (#2496) https://bugzilla.xamarin.com/show_bug.cgi?id=58203 This is available on all Contacts supported platforms ``` ./iPhoneOS.platform/Developer/SDKs/iPhoneOS11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchOS.platform/Developer/SDKs/WatchOS4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchSimulator.platform/Developer/SDKs/WatchSimulator4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ``` * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) (#2497) * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) * [IntentsUI] Better use a delegate instead so we have named params * Bump versions before 6th preview (#2514) * [arkit] Add missing MarshalDirective to ARPlaneAnchor (#2517) - Fixes bug #58648: ARPlaneAnchor.Extent property seems incorrect but changes to correct value after Debug access (https://bugzilla.xamarin.com/show_bug.cgi?id=58648) * [xtro-sharpie] Fix a compiler warning. (#2516) Fixes these warnings: Runner.cs(197,5): warning CS0642: Possible mistaken empty statement Runner.cs(199,5): warning CS0642: Possible mistaken empty statement Runner.cs(201,5): warning CS0642: Possible mistaken empty statement Runner.cs(203,5): warning CS0642: Possible mistaken empty statement Runner.cs(205,5): warning CS0642: Possible mistaken empty statement * [uikit] Update for Xcode 9 beta 5 - Part 3 (#2511) - UIKeyCommand - UINavigationBar - UINavigationItem - UIPasteboard - UITableViewHeaderFooterView * [xtro-sharpie] Remove xtro-plugin and misc other fixes. (#2522) * [xtro-sharpie] Build with msbuild and be as quiet as requested when building. * [xtro-sharpie] Must run as a 64-bit process, since the required native libraries are 64-bit. * [xtro-sharpie] Add run configurations to the project file to ease debugging in the IDE. * [xtro-sharpie] Remove xtro-plugin and the related commands. This was needed when there wasn't a 64-bit mono, in order to run xtro-sharpie in a 64-bit process. Now there is a 64-bit mono, so it's not needed anymore. Also improve makefile targets a bit, to auto-build stuff when needed, by setting the right dependencies. * Bump Xcode 9 to beta 6 (#2519) Disable watchOS tests again It seems like the Carousel crash from beta 4 is back to haunt us. This was working fine with beta 5. * Backport d15-3 SR2 fixes (#2515) * [coredata] Update to beta 6 (#2528) This seems to only revert some nullability changes from beta 5. * [coreml] Update to beta 6 (#2531) Fix our rdar 33643011 where additional setters were added in the headers but did not exists. * [videosubscriberaccount] Update to beta 6 (#2533) Only b1 and b2 introduced some additions/changes * [uikit] Update for Xcode 9 beta 6 - Part 4 (#2527) The following headers are now up to date: - UICollectionViewFlowLayout.h - UIDocumentPickerViewController.h - UIFontDescriptor.h - UIImage.h - UIImageView.h - UIImagePickerController.h * [xharness] Re-enable the watchOS tests. (#2534) It works fine for me locally, so let's see what Jenkins says. * [macos] Add new APIs in CoreWlan from Xcode9b3 (#2525) * Update AppKit bindings based on radar 33271241 results (#2518) * Update AppKit bindings based on radar 33271241 results - The header comment was updated to note it was NSSliderTouchBarItem view that has the protocol * Remove NSUserInterfaceCompression where not listed in header * [vision] Update to beta 6 (#2532) Removal of some deprecated (during beta) `init*` selectors. Also sync the versions that were inlined in subclasses - the old ones were not removed and the new ones were not added. * [xtro-sharpie] Many methods don't have selectors in Clang's API, so default to the name if no selector. (#2523) This makes a few more unclassified entries show up (mostly missing designated initializers): https://gist.github.com/rolfbjarne/07aa20f9b50b75bf3e69ac6a825e873a * [macos] Add ExternalAccessory APIs from xcode9 (#2526) * [58851] Disable NSMenuView in AllItemsWithNSMenuShouldAllowNull (#2504) * [arkit] Update for Xcode 9 beta 5 - Part 2 (#2505) - Add last missing selector. - Add tests for manual code. * [monotouch-test] Disable FontDescriptorTest.WithFeature (#2537) Disabled because it looks like the tvOS font we use: "Gujarati Sangam MN" does not have rare ligatures anymore (and the entire test is based on it). Before getting an actual fix for that, let's disable the test so it doesn't break all current builds. See: https://bugzilla.xamarin.com/show_bug.cgi?id=58929 * [xtro-sharpie] Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute. (#2524) Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute to calculate the native name for a TypeDefinition. Unclassified changes: https://gist.github.com/rolfbjarne/828f8ee41eebb0a3b60a38d71822fe59 * [foundation/uikit] Inline NSItemProvider_UIKitAdditions in NSItemProvider (#2538) As suggested here: https://github.com/xamarin/xamarin-macios/pull/2527#discussion_r134670981 * [intents] Fix breaking changes (api-diff) (#2543) Additions of @required members inside `INSpeakable` cannot be `[Abstract]` * [contacts] Fix breaking change (api-diff) (#2542) Type Changed: Contacts.CNPostalAddress Removed method: public static string LocalizeProperty (CNPostalAddressKeyOption option); * [macos] Reenable static registrar since Xcode9b6 un-broke SDK headers (#2544) - Fix a subtle spacing issues in PartialStaticLibrary property * [corebluetooth] Update up to beta 6 and enable it on watchOS (#2540) macOS 10.13 has finally catch up with iOS and this simplifies the bindings a bit. * [foundation] API fixes (apidiff) (#2545) 1. Let's not add new, already [Obsolete] API Type Changed: Foundation.NSDimension Added constructors: [Obsolete ("Not intended to be directly instantiated, this is an abstract class.")] public NSDimension (); 2. Fix inconsistently named API, e.g. Type Changed: Foundation.NSAttributedString Added properties: public static string[] ReadableTypeIdentifiersForItemProvider { get; } public static string[] WritableTypeIdentifiers { get; } * [pdfkit] Do not add already [Obsolete] API in new profiles (#2547) and ensure using the newer, correct API works cross-platforms iOS (before) [Obsolete ("Use 'Find (string, NSStringCompareOptions)' instead.")] public virtual PdfSelection[] Find (string text, nint options); public PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'Find (string, PdfSelection, NSStringCompareOptions)' instead.")] public virtual PdfSelection Find (string text, PdfSelection selection, nint options); public void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string, NSStringCompareOptions)' instead.")] public virtual void FindAsync (string text, nint options); public void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string [], NSStringCompareOptions)' instead.")] public virtual void FindAsync (string[] text, nint options); iOS (after) public virtual PdfSelection[] Find (string text, Foundation.NSStringCompareOptions compareOptions); public virtual PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); * Bump versions for the 7th preview (#2541) * Remove additions of AVKit removed in beta5 (#2536) * NSUrlSessionTask should implement NSProgressReporting for iOS (#2548) NSUrlSessionTask implements NSProgressReporting on iOS as well as Mac, so the #if MONOMAC isn't needed. * Add missing availability attributes causing failures on older iOS versions (#2550) * [vision] Minor fix wrt xtro (#2551) including some things we need to ignore manually !missing-field! VNVisionVersionNumber not bound !missing-pinvoke! VNImagePointForFaceLandmarkPoint is not bound !missing-pinvoke! VNNormalizedFaceBoundingBoxPointForLandmarkPoint is not bound * [uikit] NSFileProviderMessaging was removed in beta 2. Fixes #58222 (#2552) reference: https://bugzilla.xamarin.com/show_bug.cgi?id=58222 * [uikit] Update for Xcode 9 - Part 5 (#2546) Bindings for the following headers: - UIActivity.h - UIActivityItemProvider.h - UIAlertController.h - UIApplication.h - UIBarButtonItem.h - UIButton.h - UICollectionViewLayout.h - UIColor.h - UIControl.h - UIDocumentMenuViewController.h - UIFontMetrics.h - UIGestureRecognizer.h - UIGraphicsImageRenderer.h - UIInputViewController.h * [CoreText] Fix an extraneous free in CTFont.GetDefaultCascadeList. (#2555) We do not own the return value from CFArrayGetValueAtIndex, so don't say we do when creating CTFontDescriptor instances, since that leads to angry dragons: 2017-08-28 20:15:20.293 monotouchtest[33186:2311738] A_FontTest 2017-08-28 20:15:20.294 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithFontDescriptorAndOptions 2017-08-28 20:15:20.295 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithNameAndOptions 2017-08-28 20:15:20.296 monotouchtest[33186:2311738] critical: Stacktrace: at <unknown> <0xffffffff> at (wrapper managed-to-native) CoreText.CTFont.CTFontCopyDefaultCascadeListForLanguages (intptr,intptr) [0x0000a] in <ae65a2b1eea242d2b68fe784749543bf>:0 at CoreText.CTFont.GetDefaultCascadeList (string[]) [0x00013] in /work/maccore/xcode9/xamarin-macios/src/CoreText/CTFont.cs:2185 at MonoTouchFixtures.CoreText.A_FontTest.GetCascadeList () [0x0001e] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/CoreText/FontTest.cs:78 at (wrapper runtime-invoke) object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) [0x0004f] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) System.Reflection.MonoMethod.InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&) [0x00016] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at System.Reflection.MonoMethod.Invoke (object,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo) [0x00032] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/corlib/System.Reflection/MonoMethod.cs:305 at System.Reflection.MethodBase.Invoke (object,object[]) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/referencesource/mscorlib/system/reflection/methodbase.cs:229 at NUnit.Framework.Internal.Reflect.InvokeMethod (System.Reflection.MethodInfo,object,object[]) [0x00009] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Reflect.cs:215 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunNonAsyncTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x00025] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:116 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x0001a] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:90 at NUnit.Framework.Internal.Commands.TestMethodCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:66 at NUnit.Framework.Internal.Commands.SetUpTearDownCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00007] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/SetUpTearDownCommand.cs:84 at NUnit.Framework.Internal.WorkItems.SimpleWorkItem.PerformWork () [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/SimpleWorkItem.cs:64 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at MonoTouch.NUnit.UI.BaseTouchRunner.Run (NUnit.Framework.Internal.Test) [0x0004d] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:442 at MonoTouch.NUnit.UI.BaseTouchRunner.Run () [0x00030] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:171 at MonoTouch.Dialog.StringElement.Selected (MonoTouch.Dialog.DialogViewController,UIKit.UITableView,Foundation.NSIndexPath) [0x00008] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/Elements.cs:765 at MonoTouch.Dialog.DialogViewController.Selected (Foundation.NSIndexPath) [0x00026] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:577 at MonoTouch.Dialog.DialogViewController/Source.RowSelected (UIKit.UITableView,Foundation.NSIndexPath) [0x00016] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:402 at (wrapper runtime-invoke) <Module>.runtime_invoke_void__this___object_object (object,intptr,intptr,intptr) [0x0005d] in <32f0c196c5bc4aa18daea2ee64a7814e>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) UIKit.UIApplication.UIApplicationMain (int,string[],intptr,intptr) [0x0005c] in <ae65a2b1eea242d2b68fe784749543bf>:0 at UIKit.UIApplication.Main (string[],intptr,intptr) [0x00005] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:79 at UIKit.UIApplication.Main (string[],string,string) [0x00038] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:63 at monotouchtest.Application.Main (string[]) [0x00011] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/Main.cs:27 at (wrapper runtime-invoke) <Module>.runtime_invoke_void_object (object,intptr,intptr,intptr) [0x00051] in <30a7f7e09de9467b8b454221034a0e38>:0 Native stacktrace: 0 monotouchtest 0x000000010fca03c4 mono_handle_native_crash + 244 1 monotouchtest 0x000000010fcadd30 mono_sigsegv_signal_handler + 288 2 libsystem_platform.dylib 0x000000011feb3b3a _sigtramp + 26 3 CoreFoundation 0x000000011de035a2 computeSanitizedString + 146 4 CoreText 0x00000001168df314 _ZN15TPurgeableCache19RetainedValueForKeyEPKv + 54 5 CoreText 0x00000001168def85 _ZNK17TDescriptorSource22CopyDescriptorUncachedEPK7__CFURLbPK10__CFString + 55 6 CoreText 0x00000001168df34f _ZNK17TDescriptorSource14CopyDescriptorEPK7__CFURLbPK10__CFString + 27 7 CoreText 0x00000001168e20ad _ZNK17TDescriptorSource35CopyFontDescriptorPerPostScriptNameEPK10__CFStringmm + 297 8 CoreText 0x00000001168dfd9e _ZNK17TDescriptorSource30CopySystemFontDescriptorByNameEPK10__CFString10UIFontFlag + 54 9 CoreText 0x00000001168e54c4 _ZNK14TFontFallbacks17CopyFontFallbacksEPK10__CFStringS2_PK9__CFArray + 652 10 CoreText 0x00000001168e4a00 _ZNK14TFontFallbacks29CopyFontFallbacksForLanguagesEPK10__CFStringPK9__CFArray + 122 11 CoreText 0x00000001168e4971 _ZN17TDescriptorSource39CopyDefaultSubstitutionListForLanguagesEPK10__CFStringPK9__CFArray + 61 12 CoreText 0x00000001169397a7 _ZNK9TBaseFont28CreateSystemDefaultFallbacksEPK10__CFStringPK9__CFArray + 51 13 CoreText 0x000000011693999c _ZNK9TBaseFont15CreateFallbacksE10UIFontFlagPPK16__CFCharacterSetPK9__CFArray + 346 14 CoreText 0x00000001168c1036 _ZNK5TFont24CreateDefaultCascadeListEPK9__CFArray + 242 15 CoreText 0x00000001168b8ff9 CTFontCopyDefaultCascadeListForLanguages + 97 16 ??? 0x0000000140eaefd3 0x0 + 5384105939 17 ??? 0x0000000140eae761 0x0 + 5384103777 18 ??? 0x000000013c9c8e74 0x0 + 5311860340 19 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 20 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 21 monotouchtest 0x000000010fd71bac mono_runtime_try_invoke_array + 1292 22 monotouchtest 0x000000010fd15587 ves_icall_InternalInvoke + 647 23 ??? 0x000000013e9fcd13 0x0 + 5345627411 24 ??? 0x000000013e9fc738 0x0 + 5345625912 25 ??? 0x000000013e9fded5 0x0 + 5345631957 26 ??? 0x000000013e9fbb76 0x0 + 5345622902 27 ??? 0x000000013e9e237e 0x0 + 5345518462 28 ??? 0x000000013e9e237e 0x0 + 5345518462 29 ??? 0x000000013e9e237e 0x0 + 5345518462 30 ??? 0x000000013e9e237e 0x0 + 5345518462 31 ??? 0x000000013e873006 0x0 + 5344014342 32 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 33 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 34 monotouchtest 0x000000010fd6e320 mono_runtime_invoke + 208 35 monotouchtest 0x000000010fe71af1 xamarin_invoke_trampoline + 5617 36 monotouchtest 0x000000010fe79ddd xamarin_arch_trampoline + 189 37 monotouchtest 0x000000010fe7b1a1 xamarin_x86_64_common_trampoline + 110 38 UIKit 0x0000000111b9876b -[UITableView _selectRowAtIndexPath:animated:scrollPosition:notifyDelegate:] + 1810 39 UIKit 0x0000000111b98986 -[UITableView _userSelectRowAtPendingSelectionIndexPath:] + 344 40 UIKit 0x0000000111a6b5c9 _runAfterCACommitDeferredBlocks + 318 41 UIKit 0x0000000111a59dad _cleanUpAfterCAFlushAndRunDeferredBlocks + 280 42 UIKit 0x0000000111a89f68 _afterCACommitHandler + 137 43 CoreFoundation 0x000000011de3ddb7 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23 44 CoreFoundation 0x000000011de3dd0e __CFRunLoopDoObservers + 430 45 CoreFoundation 0x000000011de22324 __CFRunLoopRun + 1572 46 CoreFoundation 0x000000011de21a89 CFRunLoopRunSpecific + 409 47 GraphicsServices 0x0000000121b7e9c6 GSEventRunModal + 62 48 UIKit 0x0000000111a5f7d0 UIApplicationMain + 159 49 ??? 0x000000013c9c4474 0x0 + 5311841396 50 ??? 0x000000013c9c40ad 0x0 + 5311840429 ================================================================= Got a SIGSEGV while executing native code. This usually indicates a fatal error in the mono runtime or one of the native libraries used by your application. ================================================================= * [monotouch-test] Don't subclass MKMapView. (#2556) MKMapView doesn't like being subclassed (Apple says "you should not subclass the MKMapView class itself"). Bad things like this starts happening: Thread 0 name: tid_303 Dispatch queue: com.apple.main-thread Thread 0 Crashed: 0 libsystem_kernel.dylib 0x0000000186b25348 __pthread_kill + 8 1 libsystem_pthread.dylib 0x0000000186c39354 pthread_kill$VARIANT$mp + 396 2 libsystem_c.dylib 0x0000000186a94fd8 abort + 140 3 monotouchtest 0x0000000101c02c14 mono_handle_native_crash + 22047764 (mini-exceptions.c:2548) 4 monotouchtest 0x0000000101c0d02c mono_sigsegv_signal_handler + 22089772 (mini-runtime.c:2886) 5 libsystem_platform.dylib 0x0000000186c33b60 _sigtramp + 52 6 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 7 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 8 CoreFoundation 0x0000000186eda51c -[__NSArrayM dealloc] + 68 9 CoreFoundation 0x000000018703f5c8 __CFBasicHashDrain + 312 10 CoreFoundation 0x0000000186fb5b44 _CFRelease + 224 11 CoreText 0x000000018a808404 TDescriptorSource::PurgeFontFallbacksCache+ 488452 () + 92 12 CoreText 0x000000018a808374 TDescriptorSource::PurgeFromCaches+ 488308 (__CFURL const*) const + 176 13 CoreText 0x000000018a7eec74 CTFontRemoveFromCaches + 168 14 VectorKit 0x0000000196a539b0 +[VKSharedResourcesManager removeResourceUser:] + 324 15 VectorKit 0x0000000196ca27a4 md::MapEngine::~MapEngine+ 2643876 () + 360 16 VectorKit 0x0000000196ca2634 md::MapEngine::~MapEngine+ 2643508 () + 12 17 libobjc.A.dylib 0x000000018651eef4 object_cxxDestructFromClass+ 28404 (objc_object*, objc_class*) + 148 18 libobjc.A.dylib 0x000000018652c638 objc_destructInstance + 88 19 libobjc.A.dylib 0x000000018652c690 object_dispose + 16 20 QuartzCore 0x000000018afca3ac -[CALayer dealloc] + 116 21 VectorKit 0x0000000196a43294 -[VKMapView dealloc] + 940 22 QuartzCore 0x000000018af6aafc CA::release_objects+ 744188 (X::List<void const*>*) + 32 23 QuartzCore 0x000000018afd97d8 CA::Layer::~Layer+ 1198040 () + 276 24 QuartzCore 0x000000018afca37c -[CALayer dealloc] + 68 25 QuartzCore 0x000000018af6b16c CA::Transaction::commit+ 745836 () + 1052 26 UIKit 0x0000000190393290 _afterCACommitHandler + 256 27 CoreFoundation 0x0000000186fb38b8 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 32 28 CoreFoundation 0x0000000186fb1270 __CFRunLoopDoObservers + 412 29 CoreFoundation 0x0000000186fb182c __CFRunLoopRun + 1292 30 CoreFoundation 0x0000000186ed22d8 CFRunLoopRunSpecific + 436 31 GraphicsServices 0x0000000188d58f84 GSEventRunModal + 100 32 UIKit 0x000000019040427c UIApplicationMain + 208 33 monotouchtest 0x000000010106eb90 wrapper_managed_to_native_UIKit_UIApplication_UIApplicationMain_int_string___intptr_intptr + 9907088 (/<unknown>:1) 34 monotouchtest 0x0000000100f0d6ac UIKit_UIApplication_Main_string___intptr_intptr + 8459948 (UIApplication.cs:79) 35 monotouchtest 0x0000000100f0d66c UIKit_UIApplication_Main_string___string_string + 8459884 (UIApplication.cs:63) 36 monotouchtest 0x0000000100b10450 monotouchtest_Application_Main_string__ + 4277328 (Main.cs:27) 37 monotouchtest 0x0000000100e0c244 wrapper_runtime_invoke_object_runtime_invoke_dynamic_intptr_intptr_intptr_intptr + 244 38 monotouchtest 0x0000000101c10048 mono_jit_runtime_invoke + 22102088 (mini-runtime.c:2526) 39 monotouchtest 0x0000000101c75eec do_runtime_invoke + 22519532 (object.c:2829) 40 monotouchtest 0x0000000101c78a3c do_exec_main_checked + 22530620 (object.c:4623) 41 monotouchtest 0x0000000101bf9a1c mono_jit_exec + 22010396 (driver.g.c:1040) 42 monotouchtest 0x0000000101d13d60 xamarin_main + 23166304 (monotouch-main.m:482) 43 monotouchtest 0x00000001007de710 main + 927504 (main.m:67) 44 libdyld.dylib 0x00000001869f656c start + 4 * [introspection] Let SkipDueToAttributeInProperty skip setters too (#2557) `SkipDueToAttributeInProperty` which is used to check the availability attribute of properties when the Availability info only exist on the property and not on the property Getter or Setter was wrong. This lead to `setSpringLoaded` (which was introduced in iOS 11) to not be ignored by the test (making it fail). - Fix bug #59085: [introspection-ios] selector not found for UIKit.UIBarButtonItem : setSpringLoaded: - Broken test (https://bugzilla.xamarin.com/show_bug.cgi?id=59085) * [corevideo][watchos] Enable CoreVideo on watchOS (#2553) * [storekit] Fix CampaignToken typo (#2559) (#2560) - Fixes bug #59078: StoreProductParameters and invalid property for CampaignToken (https://bugzilla.xamarin.com/show_bug.cgi?id=59078) * [coreml][watchos] Enable API using CoreVideo on watchOS. Fix #58097 (#2561) https://bugzilla.xamarin.com/show_bug.cgi?id=58097 * Add missing [MarshalDirective] attributes. (#2558) * [bindings-generator] Improve build & project file. * Add missing [MarshalDirective] attributes. Add missing [MarshalDirective] attributes, which also requires implementing support for out parameters in the binding generator, since one of the signatures missing the [MarshalDirective] contains such an out parameter. Also add tests for all the API I've added [MarshalDirective] to. * [bindings-generator] Remove redundant if check. * [monotouch-test] Rename file to end with 'Test.cs'. * [tests] Fix a few build errors for Xamarin.Mac. * [uikit] Fix UIColor and UIInputViewController tvOS availability (#2569) - Fixes introspection tests on tvOS 10. * [storekit] Fix SKCloudServiceSetupMessageIdentifier and SKProductStorePromotionController tvOS availability (#2568) - Fixes introspection tests on tvOS 10. * [mapkit] Fix MKMapItemTypeIdentifier tvOS availability (#2566) - Also remove double [Mac] availability attribute. - Fixes introspection tests on tvOS 10. * [ARKit] Fix marshalling for ARPointCloud.RawFeaturePoints. (#2565) ARPointCloud.RawFeaturePoints is an array of Vector3, but each vector is 16-byte aligned (as if it were an array of Vector4). This means we need to account for this when creating a managed array from pointer to the native C-style array. * [ModelIO] Fix MDLVoxelIndexExtent struct. (#2564) The MDLVoxelIndexExtent is a struct containing two 4-dimensional vectors of integers (not floats, as originally and incorrectly implemented). Fix this my creating a new MDLVoxelIndexExtent2 struct with the right fields, re-implement all the API that exposes this struct and obsolete the old API. Also add missing [MarshalDirective] attributes. And write a test to make sure it works fine now and forever. * [coredata] Enable new fields since rdar #33878590 is fixed w/beta 6 (#2570) reference: https://trello.com/c/dlSRYPFx * [xtro-sharpie] Add a Simd check class to verify signatures with Simd types. * [Simd] Add simd matrix types. The OpenTK matrices (Matrix2/3/4) has a different memory layout than Apple's matrix_float2x2/matrix_float3x3/matrix_float4x4 matrices: the OpenTK versions are row-major, while Apple's versions are column-major. This means that when blitting memory from one to the other, the matrix will appear to have been transposed. See bug #[58599][2] for an example. Unfortunately we've already bound several API with Apple's matrix_floatXxX matrices using OpenTK's matrices, and although they're bound wrong, and the matrices appear transposed on input/output, we can't change the behavior because we have to maintain compatibility. This means we have to introduce new API, and then also just define new matrix types with the right memory layout (column-major). Additionally, in the future we might be able to mark these matrices as Simd-matrixes, so that the JIT/AOT compiler can generate the correct alignment for them, avoiding having to define a native conversion method (using the [MarshalDirective] hack). The matrices have been designed to match API-wise the matrices in the System.Numerics.Vectors namespace [1], but for the moment with only a few basic operations implemented (Determinant/Transpose/Multiply) defined (we can always add more later if we want to). In addition explicit conversion operators to and from the corresponding OpenTK.MatrixX are implemented, which means any operation defined in the OpenTK matrices can be used by converting back and forth. [1]: https://msdn.microsoft.com/en-us/library/system.numerics.matrix4x4(v=vs.111).aspx [2]: https://bugzilla.xamarin.com/show_bug.cgi?id=58599 * [ARKit] Use the new Simd matrix types. * [Vision] Use the new Simd matrix types. * [ModelIO] Use the new Simd-compatible matrix types, and deprecate the old API. * [GameplayKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [SpriteKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [xtro] Don't report missing [MarshalDirective] for obsolete methods. * [xtro] Remove unnecessary ignores. The implementation changed, and these stayed accidentally. * [wkwebkit] Fix (native) protocol names (#2572) Also ignore xtro's WKSnapshotConfiguration since it's an Apple bug 34185961 reference (xtro) !missing-protocol! WKURLSchemeHandler not bound !missing-protocol! WKURLSchemeTask not bound !unknown-protocol! WKUrlSchemeHandler bound !unknown-protocol! WKUrlSchemeTask bound !unknown-type! WKSnapshotConfiguration bound * [uikit] Fix enums availability attributes (#2575) - Fixes bug #59132: [uikit] Extra types in watchOS (https://bugzilla.xamarin.com/show_bug.cgi?id=59132) * [watchkit] Add missing designated initializers (#2574) references (xtro) !missing-designated-initializer! WKInterfaceController::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! WKUserNotificationInterfaceController::init is missing an [DesignatedInitializer] attribute * [xtro] Reword some of the Simd diagnostic messages according to review. * [tests] Make sure test symbols don't clash between different test libraries. Fixes this build problem for framework-test: clang: error: linker command failed with exit code 1 (use -v to see invocation) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_get_rotation_matrix'. MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticObjectTest.framework/XStaticObjectTest (Location related to previous error) MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticArTest.framework/XStaticArTest(libtest-ar.x86_64.o) (Location related to previous error) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransformcomponent_get_local_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_create_global_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float4x4'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float3x3'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float2x2'. MTOUCH: error MT5209: Native linking error: 6 duplicate symbols for architecture x86_64 MTOUCH: error MT5202: Native linking failed. Please review the build log. * [tests] Since libtest.a need ModelIO now, the corresponding LinkWith attributes need to state that too. * [introspection] Don't check native signatures on obsolete members, and ignore the right simd matrix types. Fixes this introspection/Mac problem: ***** ApiSignatureTest.NativeSignatures Selector: uniformWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: uniformWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: uniformWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: setMatrixFloat2x2Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: setMatrixFloat3x3Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: setMatrixFloat4x4Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: initWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: initWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: initWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded * [monotouch-tests] Include more custom asserts for watchOS to make the build work. Fixes this: Simd/MatrixFloat4x4Test.cs(28,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(29,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(37,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(48,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' [...] * [monotouch-test] Exclude code that requires the binding project from xammac tests. Exclude code that requires the test binding project from xammac tests because there's currently no XM version of the test binding project. Fixes this: tests/monotouch-test/SpriteKit/UniformTest.cs(20,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLMaterialProperty.cs(37,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLTransform.cs(34,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) * Bump version for preview #8 (#2576) * [spritekit] Audit fixes (xtro) (#2577) 1. SKVideoNode is now, partially, available on watchOS and does not require the extra, manual code to swicth selectors depending on the OS version being run. !missing-type! SKVideoNode not bound !missing-selector! SKVideoNode::anchorPoint not bound !missing-selector! SKVideoNode::initWithCoder: not bound !missing-selector! SKVideoNode::initWithFileNamed: not bound !missing-selector! SKVideoNode::initWithURL: not bound !missing-selector! SKVideoNode::setAnchorPoint: not bound !missing-selector! SKVideoNode::setSize: not bound !missing-selector! SKVideoNode::size not bound !missing-selector! +SKVideoNode::videoNodeWithFileNamed: not bound !missing-selector! +SKVideoNode::videoNodeWithURL: not bound 2. SKNodeFocusBehavior is exposed needlessly on watchOS because SpriteKit/Enums.cs was not processed by the generator, so [NoWatch] did not matter. !unknown-native-enum! SKNodeFocusBehavior bound It's also visible on macOS but nothing uses it (so we do not expose it needlessly) !missing-enum! SKNodeFocusBehavior not bound 3. Add missing designated initializer on default `init` !missing-designated-initializer! SKAttributeValue::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! SKNode::init is missing an [DesignatedInitializer] attribute 4. Remove inconsistency for SKNode subclasses wrt XAMCORE_4_0 The trio attributeValues, setAttributeValues and setValue:forAttributeNamed: that was moved from SKNode (deprecated) into its subclasses. This was done using XAMCORE_4_0 but not on every subclasses. This adds them everywhere to be consistent (only SKNode versions are not defined in XAMCORE_4_0) !missing-selector! SKEffectNode::attributeValues not bound !missing-selector! SKEffectNode::setAttributeValues: not bound !missing-selector! SKEffectNode::setValue:forAttributeNamed: not bound !missing-selector! SKEffectNode::valueForAttributeNamed: not bound !missing-selector! SKEmitterNode::attributeValues not bound !missing-selector! SKEmitterNode::setAttributeValues: not bound !missing-selector! SKEmitterNode::setValue:forAttributeNamed: not bound !missing-selector! SKEmitterNode::valueForAttributeNamed: not bound !missing-selector! SKSpriteNode::attributeValues not bound !missing-selector! SKSpriteNode::setAttributeValues: not bound !missing-selector! SKSpriteNode::setValue:forAttributeNamed: not bound !missing-selector! SKSpriteNode::valueForAttributeNamed: not bound * [introspection] Make sure '[FAIL]' is printed before every failure. (#2578) This makes xharness able to list the failures in the inline summary. * [xtro] Reword some of the Simd diagnostic messages according to review. * [xharness] Add a missing IsServerMode check to generate correct html. (#2581) * [SpriteKit] SKTransformNode is new in Xcode 9 so no need to keep the broken (and obsolete) non-simd version of RotationMatrix. * [intents] Fix some (partial) xtro issues and #59156 (#2585) reference https://bugzilla.xamarin.com/show_bug.cgi?id=59156 Remaining issues are filled in https://bugzilla.xamarin.com/show_bug.cgi?id=59183 !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound * [Intents] Confirm* interface methods should be bound as Confirm, Fixes Bug 59164 (#2591) * [Intents] Confirm* interface methods should probably be bound as Confirm, Fixes Bug 59164 https://bugzilla.xamarin.com/show_bug.cgi?id=59164 All Confirm* methods from *IntentHandling interfaces should be named just `Confirm` to avoid confusion because most of them do not directly confirm as an acion, but instead they **ask** for confirmation also we would follow swift's naming by doing this. * [Intents] XAMCORE_4_0 all Confirm* methods from *IntentHandling Turns any Confirm* into just Confirm inside a XAMCORE_4_0 block, * [Intents] Fix breaking changes in Intents added in Xcode 9 Bindings (#2590) Apple added more protocol conformances to INRidesharingDomainHandling and INPaymentsDomainHandling protocols in Xcode 9, I introduced these breaking changes back when I did intents binding so fixing them :) * [Metal] New bindings from Xcode 9 betas (#2457) * [AVFoundation] Updated bindings for xcode9. (#2272) * [Xcode9] Add IOSurface bindings (#2363) * This framework was a private framework before iOS 11. This framework was a private framework before iOS 11, yet the headers claim many API were introduced in iOS 10. So take account of this difference by using the private framework location in iOS 10.3 or earlier. Testing these API from Xcode works fine when run on an iOS 10.3 device, and I've confirmed the IOSurface framework is loaded from the private frameworks path on older devices (and when built using Xcode 9 and linked with the public framework path). * Disable code to make IOSurface work on iOS 10. Disable the code to make IOSurface work on iOS 10, since it may be rejected by the App Store. This also means adjusting the availability attributes, so that the introspection tests pass (and to document that technically these API won't work when used with Xamarin.iOS in iOS 10). I've filed bug #[59201][1] to keep track of this, maybe we can re-enable this later. [1]: https://bugzilla.xamarin.com/show_bug.cgi?id=59201 * [CoreMedia] Fix leak in CMAttachmentBearer.GetAttachments. (#2593) The caller owns the return value from CMCopyDictionaryOfAttachments, so tell Runtime.GetNSObject that. * [Intents] Adds missing API found by xtro, fixes Bug 59183 (#2596) https://bugzilla.xamarin.com/show_bug.cgi?id=59183 Fixes !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !incorrect-protocol-member! INUIHostedViewControlling::configureWithInteraction:context:completion: is OPTIONAL and should NOT be abstract * [xtro] Fix StartWorkingDirectory to enable debugging (#2598) * [iosurface] Enable for tvOS and XM classic (to avoid multiple defines around consumer API) (#2597) * [xtro] Fix EnumCheck (#2600) * [ARKit] Rename a few method to make them nicer. (#2604) * DisplayTransform -> GetDisplayTransform since methods should have verbs. * SessionWasInterrupted -> WasInterrupted and SessionInterruptionEnded -> InterruptionEnded since these names match better with the other names (CameraDidChangeTrackingState / DidFail / DidOutputAudioSampleBuffer: none are prefixed with 'Session'). Additionally, the type is a Model (for the delegate pattern), which means all methods are more-or-less event-like, and the first argument is always the same (the protocol itself), which is another indicator the methods should be named similarly. * [Foundation] Remove 'Key' suffix from some fields. (#2606) Of the 168 fields in NSMetadataItem, only these 5 hadn't removed the 'Key' suffix. So make them all equivalent by removing the 'Key' suffix from these 5 fields. * [ImageIO] Fix API to not duplicate the instance in instance methods. (#2609) An instance method does not need to take the instance as a parameter, so remove the first (instance) parameter for CGImageDestination.AddAuxiliaryDataInfo and CGImageSource.CopyAuxiliaryDataInfo. An alternative solution would be to make the methods static, but I like the instance API better. * [UIKit] De-model UIDataSourceTranslating. (#2603) It's not clear from neither the documentation nor the headers how this protocol is supposed to be used, and since it doesn't correspond to the delegate pattern, remove the [Model] attribute for now. We can always add it back later. * [CoreML] Improve API. (#2592) * [CoreML] Improve API. * The indices, shape and stride properties for MLMultiArray and MLMultiArrayConstraint can logically only be arrays of integers, so type them as such. This means adding overloads for MLMultiArray's constructors, GetObject and SetObject methods, and the indexers that takes nint[] arrays instead of NSNumber[] arrays. * Change MLFeatureValue's static factory methods to be a method ('Create') instead of a preposition, and call all the different factory methods the same, since they can be overloaded nicely. * [tests][monotouch-test] Add version check to MLMultiArrayTest and make sure the arrays we create are big enough for the data we put in them. * [tests][monotouch-test] MLMultiArray's elements aren't zero-initialized, so don't assume that in the tests. * Support overloading Objective-C methods based on static/instance. (#2607) Two Objective-C methods can be named identically as long as one is static and the other instance. We must support this since Apple did just this (in the NSItemProviderReading / NSItemProviderWriting protocols). We solve it by prepending a '+' or '-' to the selector when hashing it (to determine selector uniqueness, and to look the method up again at runtime). * [uikit] Update for Xcode 9 - Part 6 (#2602) NSAttributedString.h NSFileProviderExtension.h NSLayoutAnchor.h UIAccessibility.h UIAccessibilityAdditions.h UIAccessibilityContainer.h UIAccessibilityContentSizeCategoryImageAdjusting.h UIAccessibilityCustomRotor.h UIAccessibilityLocationDescriptor.h UITabBar.h UINavigationBar.h UIScreen.h * Xcode9 scenekit (#2512) * [SceneKit] basic work * Added key * [xcode9] SCNCameraController * [xcode9] SCNCamera updates * [xcode9] SCNMaterial * [xcode9] SCNGeometryTessellator, SCNCameraControlConfiguration, SCNView, small bits * Add trailing commas to last enum value * Remove whitespace noise * [scenekit] Update deprecated attributes messages * Addresses some of Rolf's feedback * Drop the WeakDelegate in SCNCameraController * Rename method to Render, remove ctor from class that can not be constructed in Palygrounds, add typo exception * [AppKit] Rename NSBezierPath.AppendBezierPathWithCGGlyph to match its sibling methods. (#2605) NSBezierPath contains a lot of 'AppendPathWithXXX' methods, that all map to 'appendBezierPathXXX' selectors. So rename AppendBezierPathWithCGGlyph accordingly, to make it more similar to the other methods in the same type. * [uikit] Add all UISpringLoadedInteractionSupporting (#2616) Types do not conform to the protocol but protocol methods work on those types (see monotouch-test). Fixed introspection tests accordingly and tested the selectors in monotouch-test. * [Intents] Add convenience ctor overload and call correct base ctor in manual ctor. (#2613) Add a convenience constructor overload in INGetUserCurrentRestaurantReservationBookingsIntent that uses nint instead of NSNumber, since logically "number of results" will always be some sort of integer. Also call the correct base constructor in INSpeakableString's custom constructor (same as any other generated constructor). Otherwise we end up doing something like this: [[[INSpeakableString alloc] init] initWith ...], i.e. calling two different init methods. * [coreimage] Add new headers API up to beta 6 (#2601) Filters are not complete (ref: #57350) https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * Some new constants are not yet documented (type is known), so they are commented / ignored https://bugzilla.xamarin.com/show_bug.cgi?id=59296 * Filled bug for [Wrap] inside [Category] so strong dictionary helpers can be re-enabled later https://bugzilla.xamarin.com/show_bug.cgi?id=59294 * [foundation] xtro fixes for watchOS (#2586) !missing-enum! NSProcessInfoThermalState not bound !missing-field! NSProcessInfoThermalStateDidChangeNotification not bound !missing-selector! NSProcessInfo::thermalState not bound Headers are wrong and preferredPresentationStyle is not in tvOS and watchOS !missing-selector! NSItemProvider::preferredPresentationStyle not bound !missing-selector! NSItemProvider::setPreferredPresentationStyle: not bound * [uikit] Also remove UIPreferredPresentationStyle enum from platform where it's not used * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. (#2614) * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. * NSItemProviderWriting: * NSItemProviderReading: Implement correctly and completely by uncommenting commented out code. * NSMutableString: * NSAttributedString: remove inlined members, since these classes don't implement NSItemProviderReading / NSItemProviderWriting (according to the headers at least). * NSUrl: all platforms now seem to implement NSItemProviderReading / NSItemProviderWriting. * NSString: all platforms now seem to implement both NSItemProviderReading and NSItemProviderWriting * UIColor: * UIImage: Update inlined protocol members according to the latest beta. Additionally, due to the following conditions: * The protocols all have the correct members now. * In the API definition we tell the generator to inline members from a protocol by inheriting from the corresponding interface. * The generator doesn't inline static members from protocols. several 'new' keywords had to be added to silence a compiler warning that occurrs when we manually inline a static member, since the member would be included in the type both from the inherited interface and the manual implementation. * [Foundation] Comment out NSItemProviderWriting.GetItemProviderVisibility to avoid inlining/generating unusable methods. NSItemProviderWriting.GetItemProviderVisibility is an optional method, and none of the native classes that implements NSItemProviderWriting actually imlements the method. This means inlining the method in those classes ends up creating unusable API; so just comment out the method to avoid generating the unusable API. The introspection tests found this: [FAIL] Foundation.NSString : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Foundation.NSUrl : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Contacts.CNContact : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] MapKit.MKMapItem : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIColor : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIImage : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] iOSApiSelectorTest.ApiSelectorTest.StaticMethods : 6 errors found in 2348 static selector validated: See also https://bugzilla.xamarin.com/show_bug.cgi?id=59308 * [iosurface] Add missing [TV] attributes (#2619) * [opengles] Enable the new API using IOSurface (#2618) The symbol only exists inside device libraries, not on simulator, and the introspection tests were updated to ignore it. Part of https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [avfoundation][watchos] Enable AudioBufferList (fix #59145) + audit (xtro) (#2617) 1. AudioBufferList is part of CoreAudio (wrong namespace, which needs a few changes in the generator) and now available in watchOS 4 https://bugzilla.xamarin.com/show_bug.cgi?id=59145 2. Also fixes xtro found issues: !missing-type! AVAudioRecorder not bound !missing-selector! AVAudioRecorder::averagePowerForChannel: not bound !missing-selector! AVAudioRecorder::channelAssignments not bound !missing-selector! AVAudioRecorder::currentTime not bound !missing-selector! AVAudioRecorder::delegate not bound !missing-selector! AVAudioRecorder::deviceCurrentTime not bound !missing-selector! AVAudioRecorder::format not bound !missing-selector! AVAudioRecorder::initWithURL:format:error: not bound !missing-selector! AVAudioRecorder::initWithURL:settings:error: not bound !missing-selector! AVAudioRecorder::isMeteringEnabled not bound !missing-selector! AVAudioRecorder::isRecording not bound !missing-selector! AVAudioRecorder::peakPowerForChannel: not bound !missing-selector! AVAudioRecorder::recordAtTime: not bound !missing-selector! AVAudioRecorder::recordAtTime:forDuration: not bound !missing-selector! AVAudioRecorder::recordForDuration: not bound !missing-selector! AVAudioRecorder::setChannelAssignments: not bound !missing-selector! AVAudioRecorder::setDelegate: not bound !missing-selector! AVAudioRecorder::setMeteringEnabled: not bound !missing-selector! AVAudioRecorder::settings not bound !missing-selector! AVAudioRecorder::url not bound !missing-protocol! AVAudioRecorderDelegate not bound !missing-selector! AVAudioEngine::inputNode not bound !missing-selector! AVAudioEngine::manualRenderingBlock not bound !missing-selector! AVAudioInputNode::setManualRenderingInputPCMFormat:inputBlock: not bound !missing-selector! AVAudioPlayer::format not bound !missing-selector! AVAudioSession::requestRecordPermission: not bound !unknown-field! AVFileType3GPP bound !unknown-field! AVFileType3GPP2 bound !unknown-field! AVFileTypeAC3 bound !unknown-field! AVFileTypeAIFC bound !unknown-field! AVFileTypeAIFF bound !unknown-field! AVFileTypeAMR bound !unknown-field! AVFileTypeAVCI bound !unknown-field! AVFileTypeAppleM4A bound !unknown-field! AVFileTypeAppleM4V bound !unknown-field! AVFileTypeCoreAudioFormat bound !unknown-field! AVFileTypeDNG bound !unknown-field! AVFileTypeEnhancedAC3 bound !unknown-field! AVFileTypeHEIC bound !unknown-field! AVFileTypeHEIF bound !unknown-field! AVFileTypeJPEG bound !unknown-field! AVFileTypeMPEG4 bound !unknown-field! AVFileTypeMPEGLayer3 bound !unknown-field! AVFileTypeQuickTimeMovie bound !unknown-field! AVFileTypeSunAU bound !unknown-field! AVFileTypeTIFF bound !unknown-field! AVFileTypeWAVE bound * [Metal] Implement API using IOSurface now that IOSurface is implemented. Partially fixes #58054. (#2621) https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [PdfKit] Improve PdfAnnotation.QuadrilateralPoints binding by making it strongly typed. (#2620) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). (#2622) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). * [ARKit/Vision] Use the new simd vector types instead of the OpenTK versions. * [ModelIO] Use the new simd vectors in new API (MDLVoxelIndexExtent2). This way we won't have to create a MDLVoxelIndexExtent3 in the future. * [SpriteKit] Use the new simd vectors in new API. * [metal] Audit (xtro) based fixes (#2623) !extra-protocol-member! unexpected selector MTLArgumentEncoder::newArgumentEncoderForBufferAtIndex: found !extra-protocol-member! unexpected selector MTLComputeCommandEncoder::dispatchThreads:threadsPerThreadgroup: found macos-only !missing-field! MTLDeviceRemovalRequestedNotification not bound !missing-field! MTLDeviceWasAddedNotification not bound !missing-field! MTLDeviceWasRemovedNotification not bound !missing-pinvoke! MTLCopyAllDevices is not bound * [CloudKit] Update bindings to beta 6. (#2615) * [FileProvider] Turn NSFileProviderItemIdentifier enum into a static class, fixes bug 59329 (#2634) https://bugzilla.xamarin.com/show_bug.cgi?id=59329 At the time of binding NSFileProviderItemIdentifier it wasn't clear how it was supposed to be used, I mean apple provides two keys which I thought were the only possible values hence binding it as an smart enum. Unfortunately this wasn't the case and the user can use those two values provided from the SDK or their own NSString Identifier. Swift provides a wrapper unfortunately we can't do the same due to NSFileProviderItemIdentifier is used in the NSFileProviderItem protocol and we currently do not support changing signatures on them. * [mtouch] Teach mtouch about the 'IOSurface' framework for tvOS. Fixes #59333. (#2630) https://bugzilla.xamarin.com/show_bug.cgi?id=59333 * Bump Touch.Unit to get fix for API breakage. (#2631) spouliot/Touch.Unit@8f1e19d [NUnitOutputTextWriter] Reintroduce previous constructor to make sure we don't break binary ABI. spouliot/Touch.Unit@00b0c0b [NUnitOutputTextWriter] Don't write invalid xml comments. spouliot/Touch.Unit@de9fe20 [TouchRunner] Restore the original code path when not wrapping NUnit xml output. * [IOSurface] Add missing availability attributes for tvOS. (#2629) * Bump versions for preview 9 (#2624) * [AVFoundation] Add missing interface AVRouteDetector. (#2637) * [tests] Update xtro to reduce list sizes (#2636) * Skip OpenTK duplicate declaration (we can't change them); * Fix rule name change for ARKit / simd; * Add missing default initializer on `init` to pending actions; * Add note for AVPersistableContentKeyRequest changes wrt tvOS; * [ReplayKit] Make RPBroadcastActivityViewController.LoadBroadcastActivityViewController async-capable. (#2639) * [xcode9] More SceneKit bindings (#2633) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 (#2644) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 https://bugzilla.xamarin.com/show_bug.cgi?id=59380 vector_float3 is 16 bytes, which means the binding is incorrect, because Vector3 is 12 bytes, and our code does not that difference into account. * Add tests * [DeviceCheck] Disable default ctor for DCDevice. (#2642) It doesn't seem to be useful according to the documentation, since it appears that the only way to get an instance is to use the static CurrentDevice property. * [audiounit] Audit (xtro) fixes for tvOS (#2635) Availability attributes in non-generated files don't hide symbols/code. reference: !unknown-pinvoke! AudioUnitExtensionCopyComponentList bound !unknown-pinvoke! AudioUnitExtensionSetComponentList bound * [tests] Make sure tvOS tests don't use the (unexisting) API * [tests] Add all test project variations to tests-mac.sln (#2579) * [xharness] Make sure generated mac projects have different project guids. * [introspection] Change the project guid so that it doesn't match the dontlink-mac project guid. * [tests] Add all test project variations to tests-mac.sln. * [xharness] Fix else condition. * [FileProvider] Adds missing NSFileProviderPage constants, fixes bug 59297. (#2646) https://bugzilla.xamarin.com/show_bug.cgi?id=59297 Adds NSFileProviderInitialPageSortedByName and NSFileProviderInitialPageSortedByDate NSData constants * [Xcode9] Remove NSFileProviderMessage and NSFileProviderMessageInterface (#2647) APIs were removed in beta 2 * [Foundation/UIKit] Provide LoadObject[s] methods that return the expected type in the callback. Fixes #59049. (#2638) The callback for these LoadObject[s] methods take an INSItemProviderReading parameter. This tells our runtime that we must provide an instance of a managed object that implements this interface (but nothing else), so we create a `NSItemProviderReadingWrapper` instance, which complies with the API (since the wrapper type implements the corresponding interface). Unfortunately these methods are supposed to return an instance of the passed- in type, so in order to comply with this soft (documentation-only) requirement, provide a wrapper method that creates instances of the right types. https://bugzilla.xamarin.com/show_bug.cgi?id=59049 * [arkit] Ignore deprecated selectors (#2645) * [FileProvider] Adds missing protocol and keys from audit (#2652) ``` !missing-protocol! NSFileProviderServiceSource not bound !missing-field! NSFileProviderErrorCollidingItemKey not bound !missing-field! NSFileProviderErrorNonExistentItemIdentifierKey not bound !missing-field! NSFileProviderFavoriteRankUnranked not bound ``` Also adds `NSXpcListenerEndpoint` to foundation, needed by `NSFileProviderServiceSource` protocol. * [tests][xtro] Workaround xtro runner dupe entry exception and update data files (#2654) * [AVFoundation] Rename field to match others. (#2657) * [homekit] Audit (xtro) fixes (#2653) - HMCharacteristicEvent conforms to NSMutableCopying on iOS11 which makes it 64 bits only (so adjust intro tests) - Ignore extra setters on HMMutablePresenceEvent, rdar 33883958 !missing-selector! HMMutablePresenceEvent::setPresenceEventType: not bound !missing-selector! HMMutablePresenceEvent::setPresenceUserType: not bound * [xtro] Add missing pinvoke to pending (#2662) - Bug 59422: [uikit] Missing UIContentSizeCategoryCompareToCategory & UIContentSizeCategoryIsAccessibilityCategory (https://bugzilla.xamarin.com/show_bug.cgi?id=59422) * Merge latest d15-3 fixes into xcode9 (#2660) * [msbuild] Re-added wildcard (*) expandsion for application-identifier in Entitlements.plist (#2186) Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=57119 * Bump mono (#2213) * Framework tests were still binding non-linked Simple class which errors now (#2216) (#2218) - Improve Makefile to rebuild when projects build with errors * Bump mono to get cecil fix for bug #56808. (#2222) https://bugzilla.xamarin.com/show_bug.cgi?id=56808 * [msbuild] Use @(ReferencePath) instead of @(ResolvedFiles) (#2188) (#2214) This allows things to work on both xbuild and msbuild. In xbuild, both lists are exactly the same and on msbuild, only @(ReferencePath) exists. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=55147 * NSActivityOptions.IdleDisplaySleepDisabled had wrong value (#2232) (#2239) This was due to an integer overflow. The original value was based on Int32 1 << 40 == 256 The correct value should be based on a UInt64. 1UL << 40 == 1099511627776 * [tests] Fix bug 57699 - [iOS]InternalsTest failure (Linkall) tests on device (#2243) Strip native debugging symbols should not be checked for debug builds * Bump mono to get fix for bug #57780. https://bugzilla.xamarin.com/show_bug.cgi?id=57780 * Update .gitmodules Change branch to d15-3 branch of mono * Bump maccore to get fix for bug #55064. https://bugzilla.xamarin.com/show_bug.cgi?id=55064 * [mono] Bump mono to get the head of cecil/mono-2017-04 and fix IsComObject #57919 Also fix #58789 [1], the typo in tools/mtouch/Tuning.cs showing in MT0000 errors instead MT2102. That's already in master and d15-4 mono bump includes: [2] commit 2a6502cee0df9de5198eafe7c8b5f6ac25106f34 (HEAD -> d15-3, origin/d15-3) Merge: 02457c20fcf 5e05cafc6f1 Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 10:04:06 2017 -0400 Merge pull request #5401 from marek-safar/com [Marshal.IsComObject] Make this predicate return false instead of thr… [3] commit 02457c20fcf57c0610e844d638eb1da82b5d1eb0 Merge: da80840ea55 73fd9a1b82e Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 09:59:06 2017 -0400 Merge pull request #5400 from spouliot/bump-cecil-58834-d15-3 [cecil] Bump to the head of the mono-2017-04 branch and pick the fix for bug #58834 References [1] https://bugzilla.xamarin.com/show_bug.cgi?id=58789 [2] https://bugzilla.xamarin.com/show_bug.cgi?id=57919 [3] https://bugzilla.xamarin.com/show_bug.cgi?id=58834 * [mtouch] Put 'mono_profiler_startup_log' in the symbol list. Fixes #58778. (#2501) We need the 'mono_profiler_startup_log' symbol when profiling is enabled, so make sure to add the symbol to the correct list of symbols we need. Previously we were passing `-u _mono_profiler_startup_log` to clang directly, which is fine, but not complete, since it does not write the symbol to the symbollist file (--symbollist=file), which means it wouldn't be preserved when the MSBuild tasks strip the executable. https://bugzilla.xamarin.com/show_bug.cgi?id=58778 * Bump versions for SR3 https://trello.com/c/EVze08ei * Bump mono to include HttpClientHandler fix #44027 https://trello.com/c/jYFXadH8/8-systemnethttp-close-request-stream-when-httpclienthandler https://bugzilla.xamarin.com/show_bug.cgi?id=44027 * [FileProvider] Add missing API and turn NSString to string (#2663) Turned NSString to string in order to match exisiting API. * [uikit] Add UIPasteConfigurationSupporting and UITextPasteConfigurationSupporting (#2649) - Fixes bug #59363: Missing UIPasteConfigurationSupporting, UITextPasteConfigurationSupporting, UITextDraggable and UITextDroppable on a couple of types (https://bugzilla.xamarin.com/show_bug.cgi?id=59363) * [uikit] Remove 129 types in UIPasteConfigurationSupporting case * [scenekit] Audit (xtro) fixes (#2648) This looks like an Apple breaking change (since `SCNAnimation` is new) but we now have: > typedef void (^SCNAnimationEventBlock)(id<SCNAnimation> animation, id animatedObject, BOOL playingBackward); bound as > delegate void SCNAnimationEventHandler (CAAnimation animation, NSObject animatedObject, bool playingBackward); and `CAAnimation` conforms to `SCNAnimation` but *only* the later is available on watchOS. The delegate is only updated (since it's new) on our watchOS profile. xtro references: (watchos) !unknown-protocol! SCNCameraControlConfiguration bound (tvos/watchos) !missing-selector! SCNAnimation::animationEvents not bound !missing-selector! SCNAnimation::setAnimationEvents: not bound !missing-selector! SCNConstraint::isEnabled not bound !missing-selector! SCNConstraint::setEnabled: not bound !missing-field! SCNSceneSourceConvertToYUpKey not bound !missing-field! SCNSceneSourceConvertUnitsToMetersKey not bound (ios/tvos) !missing-protocol-conformance! SCNNode should conform to UIFocusItem * Bump maccore post 15.3 merge (#2665) * Bump Xcode 9 to GM (#2667) * Force build (on wrench) * [avfoundation] Fix breaking changes (apidiff) (#2664) * [TVServices] Update to Xcode 9 GM (#2675) * [GameController] Update to Xcode 9 GM (#2673) * [LocalAuthentication] Update to Xcode 9 GM (#2671) * [LocalAuthentication] Update to Xcode 9 GM * Remove availability from BiometryNotAvailable, BiometryNotEnrolled and BiometryLockout * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer (#2659) * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer Some of the new added types were already present BUT under a #if MONOMAC, they had to be moved. * [AVFoundation] Set the wrongly added API to be obsolete and ensure it returns logical values. (#2650) * [xtro] The right platform for macOS is 'macos', not 'osx'. (#2677) The platform name is used to filter availability attributes, and if we use the wrong platform, we'll incorrectly skip all availability attributes. The net result in unclassified entries: https://gist.github.com/rolfbjarne/a4474bc2a40c49a85cad495b51bb514f * Various Xcode 9 API improvements and also fixes bug 59433 (#2676) https://bugzilla.xamarin.com/show_bug.cgi?id=59433 While fixing bug 59433 I noticed some additional issues outlined below: AVDepthData: * Renamed **non** static `Create` methods because `Create` only makes sense with the **Static** method in this context. Also by renaming the methods we are now closer to the names that swift uses. * Kept descriptive method names in favor of self-documenting code. `Convert`, `Apply` and `Replace` do not fully give us the intent of the method. * Added a convenience `Create` static method that takes a `CGImageAuxiliaryDataInfo`. * AvailableDepthDataTypes is now an array of `CVPixelFormatType` instead of a `NSNumber` array (The aactual fix for bug 59433). ImageIO: * Refactored `CGImageAuxiliaryDataInfo` to be a `StrongDictionary` in order to avoid most of the manual code and also to avoid reimplementing the `ToDictionary` method (which contained a subtle bug). * Adjusted code to reflect the above change. * Added missing `.ctor (IntPtr, bool)` to `CGImageMetadata` so the class is able to be created by our `Runtime.Get*`. * Simplified `CopyAuxiliaryDataInfo` method by using `CGImageAuxiliaryDataInfo` as a `DictionaryContainer`. Tests: * Added `xamarinmonkey.heic` which is an image that contains depth data needed to test above changes. * Adds `AVDepthDataTests` that touches most of the changes listed here. * Tweak the Simd-compatible matrices and vectors (#2668) * Rename them to be OpenTK.NMatrix# (instead of Simd.MatrixFloat#x#). * Remove the Vector2 and Vector4 variants, we'll use the OpenTK types instead (but we'll keep the NVector3 variant, since it's not identical to the OpenTK version). * Update the API to match their OpenTK counterparts better: * NMatrix2 and NMatrix3 have a 0-based R#C# scheme for their fields. * NMatrix4 has a 1-based M## scheme for its fields (i.e. no change). * [AVFoundation] Use Simd-matrix for API that needs it. (#2679) This also requires implementing the corresponding matrix (NMatrix4x3). Fixes this xtro issue: > !unknown-simd-type-in-signature! OpenTK.Matrix3 AVFoundation.AVCameraCalibrationData::get_GetIntrinsicMatrix(): the native signature has a simd type (matrix_float3x3), while the corresponding managed method is using an incorrect (non-simd) type. * [xtro] Fix checking availability on categories. (#2682) When checking for category availability, check if both the current declaration is a category, and if the current's declaration container is a category. Otherwise this scenario fails: * Category method is available. * Category does not have availability attributes. * Main class is unavailable. with this typical code sequence: ```csharp // don't process methods (or types) that are unavailable for the current platform if (!decl.IsAvailable () || !(decl.DeclContext as Decl).IsAvailable ()) return; ``` In which case we'd: * First check the method (`decl`): * It's available, so no further checks is done on the method. * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container's container is a category (it isn't, it's the namespace). and as such determine that the method is available. With this change, the second step will become: * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container is a category (it is), and if its main class is available (it isn't). and as such determine that the method is unavailable. * Check for attributes on the method's container (no attributes, so we continue). * Check if the method's Unclassified diff: https://gist.github.com/rolfbjarne/8fa80962596978a426eadf9b7ba39dc1 * [uikit] Update for Xcode 9 GM (#2670) * [AVFoundation] Implement AVCapturePhoto. Partially fixes #59388. (#2678) Fixes: > common.unclassified:!missing-type! AVCapturePhoto not bound https://bugzilla.xamarin.com/show_bug.cgi?id=59388 * Use strong dictionaries for AVCapturePhoto.Metadata and AVCapturePhoto.EmbeddedThumbnailPhotoFormat. * [SIMD] Implement Simd double types (VectorDouble3/MatrixDouble4x4). (#2632) The following types will be used by ModelIO bindings * Fix delta to be double * Rename Simd-compatible matrices and vectors to match our final naming. This also means removing the new Vector2 and Vector4 variants (but not Vector3). * [avfoundation] Remove AVAssetDownloadDelegate.DidLoadTimeRange since it was removed in one of the betas (#2687) * [foundation] Move NSUrlSessionMultipathServiceType to a file processed by the generator (for the availability attributes) (#2688) * [arkit] Update for Xcode 9 GM (#2681) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes (#2690) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes Type Changed: Intents.INCarSeatResolutionResult Removed methods: public static INCarSeatResolutionResult GetConfirmationRequired (INCarSeat valueToConfirm); public static INCarSeatResolutionResult GetSuccess (INCarSeat resolvedValue); * [avfoundation] Add missing protocol members and deprecations (#2691) !missing-protocol-member! AVCapturePhotoCaptureDelegate::captureOutput:didFinishProcessingPhoto:error: not found and the selector removed from PR#2687 was actually replaced with this one !missing-protocol-member! AVAssetDownloadDelegate::URLSession:aggregateAssetDownloadTask:didLoadTimeRange:totalTimeRangesLoaded:timeRangeExpectedToLoad:forMediaSelection: not found * [tests][xtro] Map some enums, more fix with protocols and update entries (#2692) * [Tests] Reenable dns tests on the watch. (#2674) * [arkit] Add ARBlendShapeLocationOptions strong dictionary (#2696) * [coreimage] Skip not yet bound filters added in Xcode9 (#2698) Tracked in https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * [Metal] Renamed MTLArgumentDescriptor.ArgumentDescriptor to Create, fixes bug 59498 (#2702) https://bugzilla.xamarin.com/show_bug.cgi?id=59498 From [argumentDescriptor docs](https://developer.apple.com/documentation/metal/mtlargumentdescriptor/2915746-argumentdescriptor?language=objc) > Creates an empty argument descriptor. * [msbuild] Always codesign app bundles if the codesign key is non-null (#2697) ...even if it is a simulator build. Turns out that starting with Xcode9, sim builds need to be codesigned for App Groups entitlements to work properly. Interestingly, the DetectSigningIdentity logic had a comment about needing to codesign simulator builds for some entitlements to work already starting with Xcode 8 but apparently the iOS targets did not respect this. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=59379 * [Foundation] Add NSProxy stub in order to workaround bug 59247 (#2693) https://bugzilla.xamarin.com/show_bug.cgi?id=59247 We need to have a better solution that removes all what NSProxy does not responds to. Right now this works because NSObject implements NSObject protocol just like NSProxy, but NSProxy responds to far less selectors hence doing it internal so it is not a breaking change when we provide the correct fix. * Keep NSProxy around and avoid XML linker description We need to keep NSProxy (avoid linking it) if WKNavigationDelegate or IWKNavigationDelegate is used. We know WKWebView will be there and can hold a reference to it. * [Xcode 9] Update Metal for GM (#2689) * [iosurface] IOSurface is not usable before iOS/tvOS 11. Fixes #59201 (#2706) Apple rejects apps that links with the previously private IOSurface.framework. We were not sure about this [1] and had it disabled (this is removed). However another bug stopped our adjustment logic [2] from being executed. This is needed since `clang` picks up the private framework if it does not find the public one (even when asking for a weak framework), [1] https://bugzilla.xamarin.com/show_bug.cgi?id=59201 [2] Added a while ago for JavascriptCore * Bump maccore to point to commit with the docs fix. (#2703) * Bump XI to 11.0.x (and XM to 3.99.9.x) (#2684) * fix typo
2017-09-16 00:53:16 +03:00
[Watch (4,0), TV (11,0), Mac (10, 13, onlyOn64: true), iOS (11,0)]
Merge xcode9 into d15-4[-xi] (#2710) * [FileProvider] Add Xcode 9 Beta 1, 2 & 3 Bindings (#2279) * [FileProvider] Add Xcode 9 Beta 1 Bindings * Better naming * Feedback not related to BindAs * [FileProvider] Removes BindAs, add manual code for it and updated to Beta 3 * [FileProvider] Implement feedback * [CoreSpotlight] Updated spotlight bindings for xcode 9 beta 3. (#2193) Updated spotlight bindings for xcode 9 beta 3. * Fix warning caused by duplicate (#2354) * [FileProviderUI] Add Xcode 9 Beta 1 to 3 bindings (#2356) * Bump to Xcode 9 beta 4 * [arkit] ARLightEstimate does not conform to NSCopying anymore (fix unit test) * [uikit] NSFileProviderExtension.ReparentItem got a new parameter in beta4 (fix unit test) * [coreimage] CIImageAccumulator init returns nil in beta 4 There's no header change to mention `init` is not allowed but it's not clear how this default initializer could be used. Also make public some other API to construct this type (outside of XM). It's not clear why there were `internal` as they are (at least now) part of the header files. * [photos] Add helpers when PHLivePhotoEditingOption/NSDictionary is null (to avoid ambiguous API) (#2360) Adding a strongly typed `PHLivePhotoEditingOption` (a strongly typed version of an `NSDictionary`) can cause a `CS0121` (call is ambiguous) since using a `null` argument is common (only one option exist so far). This PR adds overloads that makes the code nicer in such case, e.g. before Xcode9: > // null is used when no options are given > _foo.SaveLivePhoto (output, null, completion); current (Xcode 9) > // casting required to remove ambiguity with PHLivePhotoEditingOption > _foo.SaveLivePhoto (output, (NSDictionary)null, completion); with this PR > // no option, no argument > _foo.SaveLivePhoto (output, completion); The same applies to `PrepareLivePhotoForPlayback`. * [tests] Disable/tweak two tests that breaks on (almost) all Xcode updates Those tests were not added to validate xOS so just keep the parts that helps us (without constantly checking back the new break flavor) * Disable watchOS to check if this hides others issues * [mapkit] Update for beta 4 * [coredata] Update for beta 4 * [wkwebkit] Update for beta 4 Note: WKWindowFeatures.h is not compiled (part of the framework umbrella) and the `@interface WKWindowFeatures (WKPrivate)` sounds like it should not have been exposed (it's all fields starting with `_`) * [corelocation] Update for beta 4 * Revert "Disable watchOS to check if this hides others issues" This reverts commit fed2249fa43290a1956ab2fe0d48f83ab6db9711. * [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]: https://github.com/xamarin/xamarin-macios/blob/f5956d6cc1eb5dfa7bab16628cf282d40237f64e/src/generator.cs#L5985 * [FinderSync] Update to beta 4 (#2377) * [ImageIO] Update to Xcode 9 (#2353) * [PhotosUI] Move macOS photosui bindings out of photos.cs into photosui.cs (#2358) * [quicklook] Update up to beta 4 (#2374) * [uikit] UIDragInteraction & UIDragInteractionDelegate (Xcode 9 b1,2,3) (#2357) * [safariservices] Update up to beta 4 (#2380) * [coreanimation] Update to beta 4 (#2382) Apple removed (mistake?) some API in beta 1. Filed as rdar 33590997 Internal tracking in https://trello.com/c/J8BDDUV9/86-33590997-coreanimation-quartzcore-api-removals * [storekit] Update up to beta 4 (#2379) * [CoreML] Update to Xcode 9 Beta 4 (#2387) * [uikit] UICollectionView/UITableView Drag & Drop (Xcode 9 b1,2,3 & 4) (#2355) * Update code after radar 32929318 and 32897776 are fixed in b4 (#2394) * [xcode9 CoreAudio] New definitions from Beta1 to Beta3 (#2359) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 (#2397) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 https://bugzilla.xamarin.com/show_bug.cgi?id=58512 Created strong API (VNBarcodeSymbology) on the following properties * VNDetectBarcodesRequest.SupportedSymbologies * VNDetectBarcodesRequest.Symbologies * VNBarcodeObservation.Symbology * Remove modern C# because classic can't do it 😡 * [mediaplayer] Update up to beta 4 (#2388) * [watchkit] Update to beta 4 (#2398) * Bump Visual Studio for Mac max version (#2408) * [coreimage] Add CIBarcodeDescriptor and enabled missing API for VNBarcodeObservation. Fix #58197 (#2411) https://bugzilla.xamarin.com/show_bug.cgi?id=58197 * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 (#2407) * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 * [uikit] Fixes based on comments * [coreimage] CIImageAccumulator API fixes. Fix #58349 (#2412) * Obsolete the default `init`; * XM exposed some older APIs using `int` instead of `CIFormat`. This is fixed and old APIs are obsoleted; * Both new & old APIs are now using `CIFormat` for both XI and XM. https://bugzilla.xamarin.com/show_bug.cgi?id=58349 * [uikit] UIText drag & drop - up to Xcode 9 beta 4 (#2410) * [uikit] UISplitView & UIStackView up to Xcode 9 beta 4 (#2425) * Bump XI/XM versions before preview 4 (#2422) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 (#2378) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 * [PDFKit] Implement feedback * [PDFKit] the forgotten enum * [PDFKit] More feedback * [PDFKit] Add Mac changes * Missing change * Fix test RectangleF VS CGRect * Pass -Wunguarded-availability-new to quiet a new clang warning (#2424) - https://bugzilla.xamarin.com/show_bug.cgi?id=58574 * [mtouch/mmp] Ignore warnings about unguarded code section with regards to availability. (#2441) * [monotouch-test] Remove workaround for fixed Apple bug. (#2445) * Bump to Xcode 9 beta 5. (#2447) * Bump to Xcode 9 beta 5. * [mmp] Disable the partial static registrar, because Apple's macOS SDK is broken. > In file included from Xamarin.Mac.registrar.mobile.i386.m:1: > In file included from ./Xamarin.Mac.registrar.mobile.i386.h:11: > /Applications/Xcode9-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVFoundation.h:88:9: fatal error: 'AVFoundation/AVRouteDetector.h' file not found https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [mmp] Fix partial static registrar removal. * [CallKit] Update to Xcode 9 beta 5. * [ARKit] ARPointCloud doesn't conform to NSCopying anymore in Xcode 9 beta 5. * [ARKit] Update to Xcode 9 beta 5 enough to make tests happy. * [CoreImage] Stub out new filters in Xcode 9 beta 5. * [tests][monotouch] Simplify some MDLMesh asserts since values change a lot between OS versions. * [mmp] Default to the dynamic registrar for release builds again, due to bug #58629. https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [tests][introspection] CXCall started implementing NSCopying without saying so in the headers. * Disable mmp static registrar tests due to 58629 for now * [quicklook] Update to beta 5 (#2450) * [photos] Update for beta 5 (#2452) Also update some existing enum members were added in beta 1 on macOS * [safariservices] Update for beta 5 (#2455) * [mediaplayer] Update to beta 5 (#2456) * [CoreLocation] Update Xcode 9 Beta 5 (#2453) * [CoreML] Update to Xcode 9 Beta 5 (#2454) * [Contacts] Update to Xcode 9 Beta 5 (#2451) * [Vision] Update to Xcode 9 Beta 5 (#2458) * [builds] Tell LLVM to stay away from newer macOS functions. (#2459) Fixes this build problem on Sierra: > ld: weak import of symbol '_futimens' not supported because of option: -no_weak_imports for architecture x86_64 This is a symbol that was (will be?) introduced in High Sierra. Interestingly this only occurs if the Xcode 8.X Command Line Tools haven't been manually installed. Because if the Xcode 8.X Command Line Tools are installed, this happens: 1. llvm's configure script detects that 'futimens' is not usable. 2. llvm's configure script detects that 'futimens' is not usable, because xcrun sets SDKROOT=/ when calling clang. a. When the SDKROOT variable is set, clang passes '-syslibroot /usr/lib' to ld. b. When ld gets '-syslibroot /usr/lib', ld looks in '/usr/lib' for a library that contains 'futimens' in the OS itself, and since we're on Sierra, that fails to link. c. So when llvm's configure script creates a test program that checks if 'futimens' is present, the program fails. This is correct, and makes llvm *not* use futimens. 3. xcrun sets SDKROOT=/ because /usr/share/current-os.sdk/Info.plist exists. If that file does not exist, then xcrun sets SDKROOT to Xcode9's macOS SDK (because that's what xcode-select reports). a. When SDKROOT is set to Xcode9's macOS SDK, the configure check for 'futimens' succeeds, because the macOS 10.13 SDK contains that function. b. llvm happily uses 'futimens', and then the final link fails because we're using a symbol not available on all target platforms. * [arkit] Update for Xcode 9 beta 5 - Part 1 (#2460) * [tests] The container app for watchOS tests should be 64-bit. (#2463) * [xharness] watchOS tests need to run in a clean environment. Works around #58348. (#2462) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [xharness] It watchOS tests don't need to be clean anymore. Fixes #58348. (#2473) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [uikit] UIView/UIScrollView/UIViewController up to Xcode 9 beta 5 (#2431) - Add NSDirectionalEdgeInsets type. - Includes DirectionalEdgeInsetsTest. * [AudioToolbox] Update bindings to Xcode 9 beta3 (not later changes). (#2294) * [xharness] Add a file existence check. (#2478) Fixes this exception: ``` Harness exception for 'introspection': System.IO.FileNotFoundException: Could not find file '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log'. File name: '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log' at System.IO.__Error.WinIOError (System.Int32 errorCode, System.String maybeFullPath) [0x00207] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/__error.cs:188 at System.IO.FileInfo.get_Length () [0x00038] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/fileinfo.cs:171 at xharness.CaptureLog.StopCapture () [0x00021] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Log.cs:252 at (wrapper remoting-invoke-with-check) xharness.CaptureLog:StopCapture () at xharness.AppRunner+<RunAsync>d__68.MoveNext () [0x0127f] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/AppRunner.cs:642 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter`1[TResult].GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:357 at xharness.RunSimulatorTask+<RunTestAsync>d__7.MoveNext () [0x0029d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2894 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.RunTestTask+<ExecuteAsync>d__8.MoveNext () [0x0010b] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2538 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.TestTask+<RunInternalAsync>d__87.MoveNext () [0x0010d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:1870 ``` I'm not sure how this can happen, but it has on the bots [1]. [1] https://jenkins.mono-project.com/job/xamarin-macios-pr-builder/4548/Test_Report/ * Bump versions for preview 5 (#2479) * [passkit] Update to beta 5 (#2481) * [tests] Remove workaround for radar #32688391. (#2486) * [replaykit] Update up to beta 5 (#2484) * Bump maccore to get fix for bug #55064. (#2487) * [apidiff] Update definition to new 10.12 (d15-3) stable release (#2490) * [SceneKit] basic work (#2483) * [coredata] Update to beta 5 (#2488) * [homekit] Update for Xcode 9 beta 5 (#2492) * [Foundation] Update for xcode9 (#2468) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 (#2493) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 * [Intents] Implement feedback * [Intents] Add a generic version for INInteraction.GetParameterValue * [Intents] Missing check * [Contacts] Add missing foundation NSItemProviderWriting protocol to CNContact (#2496) https://bugzilla.xamarin.com/show_bug.cgi?id=58203 This is available on all Contacts supported platforms ``` ./iPhoneOS.platform/Developer/SDKs/iPhoneOS11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchOS.platform/Developer/SDKs/WatchOS4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchSimulator.platform/Developer/SDKs/WatchSimulator4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ``` * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) (#2497) * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) * [IntentsUI] Better use a delegate instead so we have named params * Bump versions before 6th preview (#2514) * [arkit] Add missing MarshalDirective to ARPlaneAnchor (#2517) - Fixes bug #58648: ARPlaneAnchor.Extent property seems incorrect but changes to correct value after Debug access (https://bugzilla.xamarin.com/show_bug.cgi?id=58648) * [xtro-sharpie] Fix a compiler warning. (#2516) Fixes these warnings: Runner.cs(197,5): warning CS0642: Possible mistaken empty statement Runner.cs(199,5): warning CS0642: Possible mistaken empty statement Runner.cs(201,5): warning CS0642: Possible mistaken empty statement Runner.cs(203,5): warning CS0642: Possible mistaken empty statement Runner.cs(205,5): warning CS0642: Possible mistaken empty statement * [uikit] Update for Xcode 9 beta 5 - Part 3 (#2511) - UIKeyCommand - UINavigationBar - UINavigationItem - UIPasteboard - UITableViewHeaderFooterView * [xtro-sharpie] Remove xtro-plugin and misc other fixes. (#2522) * [xtro-sharpie] Build with msbuild and be as quiet as requested when building. * [xtro-sharpie] Must run as a 64-bit process, since the required native libraries are 64-bit. * [xtro-sharpie] Add run configurations to the project file to ease debugging in the IDE. * [xtro-sharpie] Remove xtro-plugin and the related commands. This was needed when there wasn't a 64-bit mono, in order to run xtro-sharpie in a 64-bit process. Now there is a 64-bit mono, so it's not needed anymore. Also improve makefile targets a bit, to auto-build stuff when needed, by setting the right dependencies. * Bump Xcode 9 to beta 6 (#2519) Disable watchOS tests again It seems like the Carousel crash from beta 4 is back to haunt us. This was working fine with beta 5. * Backport d15-3 SR2 fixes (#2515) * [coredata] Update to beta 6 (#2528) This seems to only revert some nullability changes from beta 5. * [coreml] Update to beta 6 (#2531) Fix our rdar 33643011 where additional setters were added in the headers but did not exists. * [videosubscriberaccount] Update to beta 6 (#2533) Only b1 and b2 introduced some additions/changes * [uikit] Update for Xcode 9 beta 6 - Part 4 (#2527) The following headers are now up to date: - UICollectionViewFlowLayout.h - UIDocumentPickerViewController.h - UIFontDescriptor.h - UIImage.h - UIImageView.h - UIImagePickerController.h * [xharness] Re-enable the watchOS tests. (#2534) It works fine for me locally, so let's see what Jenkins says. * [macos] Add new APIs in CoreWlan from Xcode9b3 (#2525) * Update AppKit bindings based on radar 33271241 results (#2518) * Update AppKit bindings based on radar 33271241 results - The header comment was updated to note it was NSSliderTouchBarItem view that has the protocol * Remove NSUserInterfaceCompression where not listed in header * [vision] Update to beta 6 (#2532) Removal of some deprecated (during beta) `init*` selectors. Also sync the versions that were inlined in subclasses - the old ones were not removed and the new ones were not added. * [xtro-sharpie] Many methods don't have selectors in Clang's API, so default to the name if no selector. (#2523) This makes a few more unclassified entries show up (mostly missing designated initializers): https://gist.github.com/rolfbjarne/07aa20f9b50b75bf3e69ac6a825e873a * [macos] Add ExternalAccessory APIs from xcode9 (#2526) * [58851] Disable NSMenuView in AllItemsWithNSMenuShouldAllowNull (#2504) * [arkit] Update for Xcode 9 beta 5 - Part 2 (#2505) - Add last missing selector. - Add tests for manual code. * [monotouch-test] Disable FontDescriptorTest.WithFeature (#2537) Disabled because it looks like the tvOS font we use: "Gujarati Sangam MN" does not have rare ligatures anymore (and the entire test is based on it). Before getting an actual fix for that, let's disable the test so it doesn't break all current builds. See: https://bugzilla.xamarin.com/show_bug.cgi?id=58929 * [xtro-sharpie] Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute. (#2524) Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute to calculate the native name for a TypeDefinition. Unclassified changes: https://gist.github.com/rolfbjarne/828f8ee41eebb0a3b60a38d71822fe59 * [foundation/uikit] Inline NSItemProvider_UIKitAdditions in NSItemProvider (#2538) As suggested here: https://github.com/xamarin/xamarin-macios/pull/2527#discussion_r134670981 * [intents] Fix breaking changes (api-diff) (#2543) Additions of @required members inside `INSpeakable` cannot be `[Abstract]` * [contacts] Fix breaking change (api-diff) (#2542) Type Changed: Contacts.CNPostalAddress Removed method: public static string LocalizeProperty (CNPostalAddressKeyOption option); * [macos] Reenable static registrar since Xcode9b6 un-broke SDK headers (#2544) - Fix a subtle spacing issues in PartialStaticLibrary property * [corebluetooth] Update up to beta 6 and enable it on watchOS (#2540) macOS 10.13 has finally catch up with iOS and this simplifies the bindings a bit. * [foundation] API fixes (apidiff) (#2545) 1. Let's not add new, already [Obsolete] API Type Changed: Foundation.NSDimension Added constructors: [Obsolete ("Not intended to be directly instantiated, this is an abstract class.")] public NSDimension (); 2. Fix inconsistently named API, e.g. Type Changed: Foundation.NSAttributedString Added properties: public static string[] ReadableTypeIdentifiersForItemProvider { get; } public static string[] WritableTypeIdentifiers { get; } * [pdfkit] Do not add already [Obsolete] API in new profiles (#2547) and ensure using the newer, correct API works cross-platforms iOS (before) [Obsolete ("Use 'Find (string, NSStringCompareOptions)' instead.")] public virtual PdfSelection[] Find (string text, nint options); public PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'Find (string, PdfSelection, NSStringCompareOptions)' instead.")] public virtual PdfSelection Find (string text, PdfSelection selection, nint options); public void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string, NSStringCompareOptions)' instead.")] public virtual void FindAsync (string text, nint options); public void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string [], NSStringCompareOptions)' instead.")] public virtual void FindAsync (string[] text, nint options); iOS (after) public virtual PdfSelection[] Find (string text, Foundation.NSStringCompareOptions compareOptions); public virtual PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); * Bump versions for the 7th preview (#2541) * Remove additions of AVKit removed in beta5 (#2536) * NSUrlSessionTask should implement NSProgressReporting for iOS (#2548) NSUrlSessionTask implements NSProgressReporting on iOS as well as Mac, so the #if MONOMAC isn't needed. * Add missing availability attributes causing failures on older iOS versions (#2550) * [vision] Minor fix wrt xtro (#2551) including some things we need to ignore manually !missing-field! VNVisionVersionNumber not bound !missing-pinvoke! VNImagePointForFaceLandmarkPoint is not bound !missing-pinvoke! VNNormalizedFaceBoundingBoxPointForLandmarkPoint is not bound * [uikit] NSFileProviderMessaging was removed in beta 2. Fixes #58222 (#2552) reference: https://bugzilla.xamarin.com/show_bug.cgi?id=58222 * [uikit] Update for Xcode 9 - Part 5 (#2546) Bindings for the following headers: - UIActivity.h - UIActivityItemProvider.h - UIAlertController.h - UIApplication.h - UIBarButtonItem.h - UIButton.h - UICollectionViewLayout.h - UIColor.h - UIControl.h - UIDocumentMenuViewController.h - UIFontMetrics.h - UIGestureRecognizer.h - UIGraphicsImageRenderer.h - UIInputViewController.h * [CoreText] Fix an extraneous free in CTFont.GetDefaultCascadeList. (#2555) We do not own the return value from CFArrayGetValueAtIndex, so don't say we do when creating CTFontDescriptor instances, since that leads to angry dragons: 2017-08-28 20:15:20.293 monotouchtest[33186:2311738] A_FontTest 2017-08-28 20:15:20.294 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithFontDescriptorAndOptions 2017-08-28 20:15:20.295 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithNameAndOptions 2017-08-28 20:15:20.296 monotouchtest[33186:2311738] critical: Stacktrace: at <unknown> <0xffffffff> at (wrapper managed-to-native) CoreText.CTFont.CTFontCopyDefaultCascadeListForLanguages (intptr,intptr) [0x0000a] in <ae65a2b1eea242d2b68fe784749543bf>:0 at CoreText.CTFont.GetDefaultCascadeList (string[]) [0x00013] in /work/maccore/xcode9/xamarin-macios/src/CoreText/CTFont.cs:2185 at MonoTouchFixtures.CoreText.A_FontTest.GetCascadeList () [0x0001e] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/CoreText/FontTest.cs:78 at (wrapper runtime-invoke) object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) [0x0004f] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) System.Reflection.MonoMethod.InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&) [0x00016] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at System.Reflection.MonoMethod.Invoke (object,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo) [0x00032] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/corlib/System.Reflection/MonoMethod.cs:305 at System.Reflection.MethodBase.Invoke (object,object[]) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/referencesource/mscorlib/system/reflection/methodbase.cs:229 at NUnit.Framework.Internal.Reflect.InvokeMethod (System.Reflection.MethodInfo,object,object[]) [0x00009] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Reflect.cs:215 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunNonAsyncTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x00025] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:116 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x0001a] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:90 at NUnit.Framework.Internal.Commands.TestMethodCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:66 at NUnit.Framework.Internal.Commands.SetUpTearDownCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00007] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/SetUpTearDownCommand.cs:84 at NUnit.Framework.Internal.WorkItems.SimpleWorkItem.PerformWork () [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/SimpleWorkItem.cs:64 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at MonoTouch.NUnit.UI.BaseTouchRunner.Run (NUnit.Framework.Internal.Test) [0x0004d] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:442 at MonoTouch.NUnit.UI.BaseTouchRunner.Run () [0x00030] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:171 at MonoTouch.Dialog.StringElement.Selected (MonoTouch.Dialog.DialogViewController,UIKit.UITableView,Foundation.NSIndexPath) [0x00008] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/Elements.cs:765 at MonoTouch.Dialog.DialogViewController.Selected (Foundation.NSIndexPath) [0x00026] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:577 at MonoTouch.Dialog.DialogViewController/Source.RowSelected (UIKit.UITableView,Foundation.NSIndexPath) [0x00016] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:402 at (wrapper runtime-invoke) <Module>.runtime_invoke_void__this___object_object (object,intptr,intptr,intptr) [0x0005d] in <32f0c196c5bc4aa18daea2ee64a7814e>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) UIKit.UIApplication.UIApplicationMain (int,string[],intptr,intptr) [0x0005c] in <ae65a2b1eea242d2b68fe784749543bf>:0 at UIKit.UIApplication.Main (string[],intptr,intptr) [0x00005] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:79 at UIKit.UIApplication.Main (string[],string,string) [0x00038] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:63 at monotouchtest.Application.Main (string[]) [0x00011] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/Main.cs:27 at (wrapper runtime-invoke) <Module>.runtime_invoke_void_object (object,intptr,intptr,intptr) [0x00051] in <30a7f7e09de9467b8b454221034a0e38>:0 Native stacktrace: 0 monotouchtest 0x000000010fca03c4 mono_handle_native_crash + 244 1 monotouchtest 0x000000010fcadd30 mono_sigsegv_signal_handler + 288 2 libsystem_platform.dylib 0x000000011feb3b3a _sigtramp + 26 3 CoreFoundation 0x000000011de035a2 computeSanitizedString + 146 4 CoreText 0x00000001168df314 _ZN15TPurgeableCache19RetainedValueForKeyEPKv + 54 5 CoreText 0x00000001168def85 _ZNK17TDescriptorSource22CopyDescriptorUncachedEPK7__CFURLbPK10__CFString + 55 6 CoreText 0x00000001168df34f _ZNK17TDescriptorSource14CopyDescriptorEPK7__CFURLbPK10__CFString + 27 7 CoreText 0x00000001168e20ad _ZNK17TDescriptorSource35CopyFontDescriptorPerPostScriptNameEPK10__CFStringmm + 297 8 CoreText 0x00000001168dfd9e _ZNK17TDescriptorSource30CopySystemFontDescriptorByNameEPK10__CFString10UIFontFlag + 54 9 CoreText 0x00000001168e54c4 _ZNK14TFontFallbacks17CopyFontFallbacksEPK10__CFStringS2_PK9__CFArray + 652 10 CoreText 0x00000001168e4a00 _ZNK14TFontFallbacks29CopyFontFallbacksForLanguagesEPK10__CFStringPK9__CFArray + 122 11 CoreText 0x00000001168e4971 _ZN17TDescriptorSource39CopyDefaultSubstitutionListForLanguagesEPK10__CFStringPK9__CFArray + 61 12 CoreText 0x00000001169397a7 _ZNK9TBaseFont28CreateSystemDefaultFallbacksEPK10__CFStringPK9__CFArray + 51 13 CoreText 0x000000011693999c _ZNK9TBaseFont15CreateFallbacksE10UIFontFlagPPK16__CFCharacterSetPK9__CFArray + 346 14 CoreText 0x00000001168c1036 _ZNK5TFont24CreateDefaultCascadeListEPK9__CFArray + 242 15 CoreText 0x00000001168b8ff9 CTFontCopyDefaultCascadeListForLanguages + 97 16 ??? 0x0000000140eaefd3 0x0 + 5384105939 17 ??? 0x0000000140eae761 0x0 + 5384103777 18 ??? 0x000000013c9c8e74 0x0 + 5311860340 19 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 20 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 21 monotouchtest 0x000000010fd71bac mono_runtime_try_invoke_array + 1292 22 monotouchtest 0x000000010fd15587 ves_icall_InternalInvoke + 647 23 ??? 0x000000013e9fcd13 0x0 + 5345627411 24 ??? 0x000000013e9fc738 0x0 + 5345625912 25 ??? 0x000000013e9fded5 0x0 + 5345631957 26 ??? 0x000000013e9fbb76 0x0 + 5345622902 27 ??? 0x000000013e9e237e 0x0 + 5345518462 28 ??? 0x000000013e9e237e 0x0 + 5345518462 29 ??? 0x000000013e9e237e 0x0 + 5345518462 30 ??? 0x000000013e9e237e 0x0 + 5345518462 31 ??? 0x000000013e873006 0x0 + 5344014342 32 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 33 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 34 monotouchtest 0x000000010fd6e320 mono_runtime_invoke + 208 35 monotouchtest 0x000000010fe71af1 xamarin_invoke_trampoline + 5617 36 monotouchtest 0x000000010fe79ddd xamarin_arch_trampoline + 189 37 monotouchtest 0x000000010fe7b1a1 xamarin_x86_64_common_trampoline + 110 38 UIKit 0x0000000111b9876b -[UITableView _selectRowAtIndexPath:animated:scrollPosition:notifyDelegate:] + 1810 39 UIKit 0x0000000111b98986 -[UITableView _userSelectRowAtPendingSelectionIndexPath:] + 344 40 UIKit 0x0000000111a6b5c9 _runAfterCACommitDeferredBlocks + 318 41 UIKit 0x0000000111a59dad _cleanUpAfterCAFlushAndRunDeferredBlocks + 280 42 UIKit 0x0000000111a89f68 _afterCACommitHandler + 137 43 CoreFoundation 0x000000011de3ddb7 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23 44 CoreFoundation 0x000000011de3dd0e __CFRunLoopDoObservers + 430 45 CoreFoundation 0x000000011de22324 __CFRunLoopRun + 1572 46 CoreFoundation 0x000000011de21a89 CFRunLoopRunSpecific + 409 47 GraphicsServices 0x0000000121b7e9c6 GSEventRunModal + 62 48 UIKit 0x0000000111a5f7d0 UIApplicationMain + 159 49 ??? 0x000000013c9c4474 0x0 + 5311841396 50 ??? 0x000000013c9c40ad 0x0 + 5311840429 ================================================================= Got a SIGSEGV while executing native code. This usually indicates a fatal error in the mono runtime or one of the native libraries used by your application. ================================================================= * [monotouch-test] Don't subclass MKMapView. (#2556) MKMapView doesn't like being subclassed (Apple says "you should not subclass the MKMapView class itself"). Bad things like this starts happening: Thread 0 name: tid_303 Dispatch queue: com.apple.main-thread Thread 0 Crashed: 0 libsystem_kernel.dylib 0x0000000186b25348 __pthread_kill + 8 1 libsystem_pthread.dylib 0x0000000186c39354 pthread_kill$VARIANT$mp + 396 2 libsystem_c.dylib 0x0000000186a94fd8 abort + 140 3 monotouchtest 0x0000000101c02c14 mono_handle_native_crash + 22047764 (mini-exceptions.c:2548) 4 monotouchtest 0x0000000101c0d02c mono_sigsegv_signal_handler + 22089772 (mini-runtime.c:2886) 5 libsystem_platform.dylib 0x0000000186c33b60 _sigtramp + 52 6 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 7 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 8 CoreFoundation 0x0000000186eda51c -[__NSArrayM dealloc] + 68 9 CoreFoundation 0x000000018703f5c8 __CFBasicHashDrain + 312 10 CoreFoundation 0x0000000186fb5b44 _CFRelease + 224 11 CoreText 0x000000018a808404 TDescriptorSource::PurgeFontFallbacksCache+ 488452 () + 92 12 CoreText 0x000000018a808374 TDescriptorSource::PurgeFromCaches+ 488308 (__CFURL const*) const + 176 13 CoreText 0x000000018a7eec74 CTFontRemoveFromCaches + 168 14 VectorKit 0x0000000196a539b0 +[VKSharedResourcesManager removeResourceUser:] + 324 15 VectorKit 0x0000000196ca27a4 md::MapEngine::~MapEngine+ 2643876 () + 360 16 VectorKit 0x0000000196ca2634 md::MapEngine::~MapEngine+ 2643508 () + 12 17 libobjc.A.dylib 0x000000018651eef4 object_cxxDestructFromClass+ 28404 (objc_object*, objc_class*) + 148 18 libobjc.A.dylib 0x000000018652c638 objc_destructInstance + 88 19 libobjc.A.dylib 0x000000018652c690 object_dispose + 16 20 QuartzCore 0x000000018afca3ac -[CALayer dealloc] + 116 21 VectorKit 0x0000000196a43294 -[VKMapView dealloc] + 940 22 QuartzCore 0x000000018af6aafc CA::release_objects+ 744188 (X::List<void const*>*) + 32 23 QuartzCore 0x000000018afd97d8 CA::Layer::~Layer+ 1198040 () + 276 24 QuartzCore 0x000000018afca37c -[CALayer dealloc] + 68 25 QuartzCore 0x000000018af6b16c CA::Transaction::commit+ 745836 () + 1052 26 UIKit 0x0000000190393290 _afterCACommitHandler + 256 27 CoreFoundation 0x0000000186fb38b8 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 32 28 CoreFoundation 0x0000000186fb1270 __CFRunLoopDoObservers + 412 29 CoreFoundation 0x0000000186fb182c __CFRunLoopRun + 1292 30 CoreFoundation 0x0000000186ed22d8 CFRunLoopRunSpecific + 436 31 GraphicsServices 0x0000000188d58f84 GSEventRunModal + 100 32 UIKit 0x000000019040427c UIApplicationMain + 208 33 monotouchtest 0x000000010106eb90 wrapper_managed_to_native_UIKit_UIApplication_UIApplicationMain_int_string___intptr_intptr + 9907088 (/<unknown>:1) 34 monotouchtest 0x0000000100f0d6ac UIKit_UIApplication_Main_string___intptr_intptr + 8459948 (UIApplication.cs:79) 35 monotouchtest 0x0000000100f0d66c UIKit_UIApplication_Main_string___string_string + 8459884 (UIApplication.cs:63) 36 monotouchtest 0x0000000100b10450 monotouchtest_Application_Main_string__ + 4277328 (Main.cs:27) 37 monotouchtest 0x0000000100e0c244 wrapper_runtime_invoke_object_runtime_invoke_dynamic_intptr_intptr_intptr_intptr + 244 38 monotouchtest 0x0000000101c10048 mono_jit_runtime_invoke + 22102088 (mini-runtime.c:2526) 39 monotouchtest 0x0000000101c75eec do_runtime_invoke + 22519532 (object.c:2829) 40 monotouchtest 0x0000000101c78a3c do_exec_main_checked + 22530620 (object.c:4623) 41 monotouchtest 0x0000000101bf9a1c mono_jit_exec + 22010396 (driver.g.c:1040) 42 monotouchtest 0x0000000101d13d60 xamarin_main + 23166304 (monotouch-main.m:482) 43 monotouchtest 0x00000001007de710 main + 927504 (main.m:67) 44 libdyld.dylib 0x00000001869f656c start + 4 * [introspection] Let SkipDueToAttributeInProperty skip setters too (#2557) `SkipDueToAttributeInProperty` which is used to check the availability attribute of properties when the Availability info only exist on the property and not on the property Getter or Setter was wrong. This lead to `setSpringLoaded` (which was introduced in iOS 11) to not be ignored by the test (making it fail). - Fix bug #59085: [introspection-ios] selector not found for UIKit.UIBarButtonItem : setSpringLoaded: - Broken test (https://bugzilla.xamarin.com/show_bug.cgi?id=59085) * [corevideo][watchos] Enable CoreVideo on watchOS (#2553) * [storekit] Fix CampaignToken typo (#2559) (#2560) - Fixes bug #59078: StoreProductParameters and invalid property for CampaignToken (https://bugzilla.xamarin.com/show_bug.cgi?id=59078) * [coreml][watchos] Enable API using CoreVideo on watchOS. Fix #58097 (#2561) https://bugzilla.xamarin.com/show_bug.cgi?id=58097 * Add missing [MarshalDirective] attributes. (#2558) * [bindings-generator] Improve build & project file. * Add missing [MarshalDirective] attributes. Add missing [MarshalDirective] attributes, which also requires implementing support for out parameters in the binding generator, since one of the signatures missing the [MarshalDirective] contains such an out parameter. Also add tests for all the API I've added [MarshalDirective] to. * [bindings-generator] Remove redundant if check. * [monotouch-test] Rename file to end with 'Test.cs'. * [tests] Fix a few build errors for Xamarin.Mac. * [uikit] Fix UIColor and UIInputViewController tvOS availability (#2569) - Fixes introspection tests on tvOS 10. * [storekit] Fix SKCloudServiceSetupMessageIdentifier and SKProductStorePromotionController tvOS availability (#2568) - Fixes introspection tests on tvOS 10. * [mapkit] Fix MKMapItemTypeIdentifier tvOS availability (#2566) - Also remove double [Mac] availability attribute. - Fixes introspection tests on tvOS 10. * [ARKit] Fix marshalling for ARPointCloud.RawFeaturePoints. (#2565) ARPointCloud.RawFeaturePoints is an array of Vector3, but each vector is 16-byte aligned (as if it were an array of Vector4). This means we need to account for this when creating a managed array from pointer to the native C-style array. * [ModelIO] Fix MDLVoxelIndexExtent struct. (#2564) The MDLVoxelIndexExtent is a struct containing two 4-dimensional vectors of integers (not floats, as originally and incorrectly implemented). Fix this my creating a new MDLVoxelIndexExtent2 struct with the right fields, re-implement all the API that exposes this struct and obsolete the old API. Also add missing [MarshalDirective] attributes. And write a test to make sure it works fine now and forever. * [coredata] Enable new fields since rdar #33878590 is fixed w/beta 6 (#2570) reference: https://trello.com/c/dlSRYPFx * [xtro-sharpie] Add a Simd check class to verify signatures with Simd types. * [Simd] Add simd matrix types. The OpenTK matrices (Matrix2/3/4) has a different memory layout than Apple's matrix_float2x2/matrix_float3x3/matrix_float4x4 matrices: the OpenTK versions are row-major, while Apple's versions are column-major. This means that when blitting memory from one to the other, the matrix will appear to have been transposed. See bug #[58599][2] for an example. Unfortunately we've already bound several API with Apple's matrix_floatXxX matrices using OpenTK's matrices, and although they're bound wrong, and the matrices appear transposed on input/output, we can't change the behavior because we have to maintain compatibility. This means we have to introduce new API, and then also just define new matrix types with the right memory layout (column-major). Additionally, in the future we might be able to mark these matrices as Simd-matrixes, so that the JIT/AOT compiler can generate the correct alignment for them, avoiding having to define a native conversion method (using the [MarshalDirective] hack). The matrices have been designed to match API-wise the matrices in the System.Numerics.Vectors namespace [1], but for the moment with only a few basic operations implemented (Determinant/Transpose/Multiply) defined (we can always add more later if we want to). In addition explicit conversion operators to and from the corresponding OpenTK.MatrixX are implemented, which means any operation defined in the OpenTK matrices can be used by converting back and forth. [1]: https://msdn.microsoft.com/en-us/library/system.numerics.matrix4x4(v=vs.111).aspx [2]: https://bugzilla.xamarin.com/show_bug.cgi?id=58599 * [ARKit] Use the new Simd matrix types. * [Vision] Use the new Simd matrix types. * [ModelIO] Use the new Simd-compatible matrix types, and deprecate the old API. * [GameplayKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [SpriteKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [xtro] Don't report missing [MarshalDirective] for obsolete methods. * [xtro] Remove unnecessary ignores. The implementation changed, and these stayed accidentally. * [wkwebkit] Fix (native) protocol names (#2572) Also ignore xtro's WKSnapshotConfiguration since it's an Apple bug 34185961 reference (xtro) !missing-protocol! WKURLSchemeHandler not bound !missing-protocol! WKURLSchemeTask not bound !unknown-protocol! WKUrlSchemeHandler bound !unknown-protocol! WKUrlSchemeTask bound !unknown-type! WKSnapshotConfiguration bound * [uikit] Fix enums availability attributes (#2575) - Fixes bug #59132: [uikit] Extra types in watchOS (https://bugzilla.xamarin.com/show_bug.cgi?id=59132) * [watchkit] Add missing designated initializers (#2574) references (xtro) !missing-designated-initializer! WKInterfaceController::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! WKUserNotificationInterfaceController::init is missing an [DesignatedInitializer] attribute * [xtro] Reword some of the Simd diagnostic messages according to review. * [tests] Make sure test symbols don't clash between different test libraries. Fixes this build problem for framework-test: clang: error: linker command failed with exit code 1 (use -v to see invocation) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_get_rotation_matrix'. MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticObjectTest.framework/XStaticObjectTest (Location related to previous error) MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticArTest.framework/XStaticArTest(libtest-ar.x86_64.o) (Location related to previous error) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransformcomponent_get_local_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_create_global_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float4x4'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float3x3'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float2x2'. MTOUCH: error MT5209: Native linking error: 6 duplicate symbols for architecture x86_64 MTOUCH: error MT5202: Native linking failed. Please review the build log. * [tests] Since libtest.a need ModelIO now, the corresponding LinkWith attributes need to state that too. * [introspection] Don't check native signatures on obsolete members, and ignore the right simd matrix types. Fixes this introspection/Mac problem: ***** ApiSignatureTest.NativeSignatures Selector: uniformWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: uniformWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: uniformWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: setMatrixFloat2x2Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: setMatrixFloat3x3Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: setMatrixFloat4x4Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: initWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: initWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: initWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded * [monotouch-tests] Include more custom asserts for watchOS to make the build work. Fixes this: Simd/MatrixFloat4x4Test.cs(28,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(29,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(37,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(48,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' [...] * [monotouch-test] Exclude code that requires the binding project from xammac tests. Exclude code that requires the test binding project from xammac tests because there's currently no XM version of the test binding project. Fixes this: tests/monotouch-test/SpriteKit/UniformTest.cs(20,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLMaterialProperty.cs(37,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLTransform.cs(34,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) * Bump version for preview #8 (#2576) * [spritekit] Audit fixes (xtro) (#2577) 1. SKVideoNode is now, partially, available on watchOS and does not require the extra, manual code to swicth selectors depending on the OS version being run. !missing-type! SKVideoNode not bound !missing-selector! SKVideoNode::anchorPoint not bound !missing-selector! SKVideoNode::initWithCoder: not bound !missing-selector! SKVideoNode::initWithFileNamed: not bound !missing-selector! SKVideoNode::initWithURL: not bound !missing-selector! SKVideoNode::setAnchorPoint: not bound !missing-selector! SKVideoNode::setSize: not bound !missing-selector! SKVideoNode::size not bound !missing-selector! +SKVideoNode::videoNodeWithFileNamed: not bound !missing-selector! +SKVideoNode::videoNodeWithURL: not bound 2. SKNodeFocusBehavior is exposed needlessly on watchOS because SpriteKit/Enums.cs was not processed by the generator, so [NoWatch] did not matter. !unknown-native-enum! SKNodeFocusBehavior bound It's also visible on macOS but nothing uses it (so we do not expose it needlessly) !missing-enum! SKNodeFocusBehavior not bound 3. Add missing designated initializer on default `init` !missing-designated-initializer! SKAttributeValue::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! SKNode::init is missing an [DesignatedInitializer] attribute 4. Remove inconsistency for SKNode subclasses wrt XAMCORE_4_0 The trio attributeValues, setAttributeValues and setValue:forAttributeNamed: that was moved from SKNode (deprecated) into its subclasses. This was done using XAMCORE_4_0 but not on every subclasses. This adds them everywhere to be consistent (only SKNode versions are not defined in XAMCORE_4_0) !missing-selector! SKEffectNode::attributeValues not bound !missing-selector! SKEffectNode::setAttributeValues: not bound !missing-selector! SKEffectNode::setValue:forAttributeNamed: not bound !missing-selector! SKEffectNode::valueForAttributeNamed: not bound !missing-selector! SKEmitterNode::attributeValues not bound !missing-selector! SKEmitterNode::setAttributeValues: not bound !missing-selector! SKEmitterNode::setValue:forAttributeNamed: not bound !missing-selector! SKEmitterNode::valueForAttributeNamed: not bound !missing-selector! SKSpriteNode::attributeValues not bound !missing-selector! SKSpriteNode::setAttributeValues: not bound !missing-selector! SKSpriteNode::setValue:forAttributeNamed: not bound !missing-selector! SKSpriteNode::valueForAttributeNamed: not bound * [introspection] Make sure '[FAIL]' is printed before every failure. (#2578) This makes xharness able to list the failures in the inline summary. * [xtro] Reword some of the Simd diagnostic messages according to review. * [xharness] Add a missing IsServerMode check to generate correct html. (#2581) * [SpriteKit] SKTransformNode is new in Xcode 9 so no need to keep the broken (and obsolete) non-simd version of RotationMatrix. * [intents] Fix some (partial) xtro issues and #59156 (#2585) reference https://bugzilla.xamarin.com/show_bug.cgi?id=59156 Remaining issues are filled in https://bugzilla.xamarin.com/show_bug.cgi?id=59183 !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound * [Intents] Confirm* interface methods should be bound as Confirm, Fixes Bug 59164 (#2591) * [Intents] Confirm* interface methods should probably be bound as Confirm, Fixes Bug 59164 https://bugzilla.xamarin.com/show_bug.cgi?id=59164 All Confirm* methods from *IntentHandling interfaces should be named just `Confirm` to avoid confusion because most of them do not directly confirm as an acion, but instead they **ask** for confirmation also we would follow swift's naming by doing this. * [Intents] XAMCORE_4_0 all Confirm* methods from *IntentHandling Turns any Confirm* into just Confirm inside a XAMCORE_4_0 block, * [Intents] Fix breaking changes in Intents added in Xcode 9 Bindings (#2590) Apple added more protocol conformances to INRidesharingDomainHandling and INPaymentsDomainHandling protocols in Xcode 9, I introduced these breaking changes back when I did intents binding so fixing them :) * [Metal] New bindings from Xcode 9 betas (#2457) * [AVFoundation] Updated bindings for xcode9. (#2272) * [Xcode9] Add IOSurface bindings (#2363) * This framework was a private framework before iOS 11. This framework was a private framework before iOS 11, yet the headers claim many API were introduced in iOS 10. So take account of this difference by using the private framework location in iOS 10.3 or earlier. Testing these API from Xcode works fine when run on an iOS 10.3 device, and I've confirmed the IOSurface framework is loaded from the private frameworks path on older devices (and when built using Xcode 9 and linked with the public framework path). * Disable code to make IOSurface work on iOS 10. Disable the code to make IOSurface work on iOS 10, since it may be rejected by the App Store. This also means adjusting the availability attributes, so that the introspection tests pass (and to document that technically these API won't work when used with Xamarin.iOS in iOS 10). I've filed bug #[59201][1] to keep track of this, maybe we can re-enable this later. [1]: https://bugzilla.xamarin.com/show_bug.cgi?id=59201 * [CoreMedia] Fix leak in CMAttachmentBearer.GetAttachments. (#2593) The caller owns the return value from CMCopyDictionaryOfAttachments, so tell Runtime.GetNSObject that. * [Intents] Adds missing API found by xtro, fixes Bug 59183 (#2596) https://bugzilla.xamarin.com/show_bug.cgi?id=59183 Fixes !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !incorrect-protocol-member! INUIHostedViewControlling::configureWithInteraction:context:completion: is OPTIONAL and should NOT be abstract * [xtro] Fix StartWorkingDirectory to enable debugging (#2598) * [iosurface] Enable for tvOS and XM classic (to avoid multiple defines around consumer API) (#2597) * [xtro] Fix EnumCheck (#2600) * [ARKit] Rename a few method to make them nicer. (#2604) * DisplayTransform -> GetDisplayTransform since methods should have verbs. * SessionWasInterrupted -> WasInterrupted and SessionInterruptionEnded -> InterruptionEnded since these names match better with the other names (CameraDidChangeTrackingState / DidFail / DidOutputAudioSampleBuffer: none are prefixed with 'Session'). Additionally, the type is a Model (for the delegate pattern), which means all methods are more-or-less event-like, and the first argument is always the same (the protocol itself), which is another indicator the methods should be named similarly. * [Foundation] Remove 'Key' suffix from some fields. (#2606) Of the 168 fields in NSMetadataItem, only these 5 hadn't removed the 'Key' suffix. So make them all equivalent by removing the 'Key' suffix from these 5 fields. * [ImageIO] Fix API to not duplicate the instance in instance methods. (#2609) An instance method does not need to take the instance as a parameter, so remove the first (instance) parameter for CGImageDestination.AddAuxiliaryDataInfo and CGImageSource.CopyAuxiliaryDataInfo. An alternative solution would be to make the methods static, but I like the instance API better. * [UIKit] De-model UIDataSourceTranslating. (#2603) It's not clear from neither the documentation nor the headers how this protocol is supposed to be used, and since it doesn't correspond to the delegate pattern, remove the [Model] attribute for now. We can always add it back later. * [CoreML] Improve API. (#2592) * [CoreML] Improve API. * The indices, shape and stride properties for MLMultiArray and MLMultiArrayConstraint can logically only be arrays of integers, so type them as such. This means adding overloads for MLMultiArray's constructors, GetObject and SetObject methods, and the indexers that takes nint[] arrays instead of NSNumber[] arrays. * Change MLFeatureValue's static factory methods to be a method ('Create') instead of a preposition, and call all the different factory methods the same, since they can be overloaded nicely. * [tests][monotouch-test] Add version check to MLMultiArrayTest and make sure the arrays we create are big enough for the data we put in them. * [tests][monotouch-test] MLMultiArray's elements aren't zero-initialized, so don't assume that in the tests. * Support overloading Objective-C methods based on static/instance. (#2607) Two Objective-C methods can be named identically as long as one is static and the other instance. We must support this since Apple did just this (in the NSItemProviderReading / NSItemProviderWriting protocols). We solve it by prepending a '+' or '-' to the selector when hashing it (to determine selector uniqueness, and to look the method up again at runtime). * [uikit] Update for Xcode 9 - Part 6 (#2602) NSAttributedString.h NSFileProviderExtension.h NSLayoutAnchor.h UIAccessibility.h UIAccessibilityAdditions.h UIAccessibilityContainer.h UIAccessibilityContentSizeCategoryImageAdjusting.h UIAccessibilityCustomRotor.h UIAccessibilityLocationDescriptor.h UITabBar.h UINavigationBar.h UIScreen.h * Xcode9 scenekit (#2512) * [SceneKit] basic work * Added key * [xcode9] SCNCameraController * [xcode9] SCNCamera updates * [xcode9] SCNMaterial * [xcode9] SCNGeometryTessellator, SCNCameraControlConfiguration, SCNView, small bits * Add trailing commas to last enum value * Remove whitespace noise * [scenekit] Update deprecated attributes messages * Addresses some of Rolf's feedback * Drop the WeakDelegate in SCNCameraController * Rename method to Render, remove ctor from class that can not be constructed in Palygrounds, add typo exception * [AppKit] Rename NSBezierPath.AppendBezierPathWithCGGlyph to match its sibling methods. (#2605) NSBezierPath contains a lot of 'AppendPathWithXXX' methods, that all map to 'appendBezierPathXXX' selectors. So rename AppendBezierPathWithCGGlyph accordingly, to make it more similar to the other methods in the same type. * [uikit] Add all UISpringLoadedInteractionSupporting (#2616) Types do not conform to the protocol but protocol methods work on those types (see monotouch-test). Fixed introspection tests accordingly and tested the selectors in monotouch-test. * [Intents] Add convenience ctor overload and call correct base ctor in manual ctor. (#2613) Add a convenience constructor overload in INGetUserCurrentRestaurantReservationBookingsIntent that uses nint instead of NSNumber, since logically "number of results" will always be some sort of integer. Also call the correct base constructor in INSpeakableString's custom constructor (same as any other generated constructor). Otherwise we end up doing something like this: [[[INSpeakableString alloc] init] initWith ...], i.e. calling two different init methods. * [coreimage] Add new headers API up to beta 6 (#2601) Filters are not complete (ref: #57350) https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * Some new constants are not yet documented (type is known), so they are commented / ignored https://bugzilla.xamarin.com/show_bug.cgi?id=59296 * Filled bug for [Wrap] inside [Category] so strong dictionary helpers can be re-enabled later https://bugzilla.xamarin.com/show_bug.cgi?id=59294 * [foundation] xtro fixes for watchOS (#2586) !missing-enum! NSProcessInfoThermalState not bound !missing-field! NSProcessInfoThermalStateDidChangeNotification not bound !missing-selector! NSProcessInfo::thermalState not bound Headers are wrong and preferredPresentationStyle is not in tvOS and watchOS !missing-selector! NSItemProvider::preferredPresentationStyle not bound !missing-selector! NSItemProvider::setPreferredPresentationStyle: not bound * [uikit] Also remove UIPreferredPresentationStyle enum from platform where it's not used * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. (#2614) * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. * NSItemProviderWriting: * NSItemProviderReading: Implement correctly and completely by uncommenting commented out code. * NSMutableString: * NSAttributedString: remove inlined members, since these classes don't implement NSItemProviderReading / NSItemProviderWriting (according to the headers at least). * NSUrl: all platforms now seem to implement NSItemProviderReading / NSItemProviderWriting. * NSString: all platforms now seem to implement both NSItemProviderReading and NSItemProviderWriting * UIColor: * UIImage: Update inlined protocol members according to the latest beta. Additionally, due to the following conditions: * The protocols all have the correct members now. * In the API definition we tell the generator to inline members from a protocol by inheriting from the corresponding interface. * The generator doesn't inline static members from protocols. several 'new' keywords had to be added to silence a compiler warning that occurrs when we manually inline a static member, since the member would be included in the type both from the inherited interface and the manual implementation. * [Foundation] Comment out NSItemProviderWriting.GetItemProviderVisibility to avoid inlining/generating unusable methods. NSItemProviderWriting.GetItemProviderVisibility is an optional method, and none of the native classes that implements NSItemProviderWriting actually imlements the method. This means inlining the method in those classes ends up creating unusable API; so just comment out the method to avoid generating the unusable API. The introspection tests found this: [FAIL] Foundation.NSString : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Foundation.NSUrl : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Contacts.CNContact : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] MapKit.MKMapItem : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIColor : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIImage : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] iOSApiSelectorTest.ApiSelectorTest.StaticMethods : 6 errors found in 2348 static selector validated: See also https://bugzilla.xamarin.com/show_bug.cgi?id=59308 * [iosurface] Add missing [TV] attributes (#2619) * [opengles] Enable the new API using IOSurface (#2618) The symbol only exists inside device libraries, not on simulator, and the introspection tests were updated to ignore it. Part of https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [avfoundation][watchos] Enable AudioBufferList (fix #59145) + audit (xtro) (#2617) 1. AudioBufferList is part of CoreAudio (wrong namespace, which needs a few changes in the generator) and now available in watchOS 4 https://bugzilla.xamarin.com/show_bug.cgi?id=59145 2. Also fixes xtro found issues: !missing-type! AVAudioRecorder not bound !missing-selector! AVAudioRecorder::averagePowerForChannel: not bound !missing-selector! AVAudioRecorder::channelAssignments not bound !missing-selector! AVAudioRecorder::currentTime not bound !missing-selector! AVAudioRecorder::delegate not bound !missing-selector! AVAudioRecorder::deviceCurrentTime not bound !missing-selector! AVAudioRecorder::format not bound !missing-selector! AVAudioRecorder::initWithURL:format:error: not bound !missing-selector! AVAudioRecorder::initWithURL:settings:error: not bound !missing-selector! AVAudioRecorder::isMeteringEnabled not bound !missing-selector! AVAudioRecorder::isRecording not bound !missing-selector! AVAudioRecorder::peakPowerForChannel: not bound !missing-selector! AVAudioRecorder::recordAtTime: not bound !missing-selector! AVAudioRecorder::recordAtTime:forDuration: not bound !missing-selector! AVAudioRecorder::recordForDuration: not bound !missing-selector! AVAudioRecorder::setChannelAssignments: not bound !missing-selector! AVAudioRecorder::setDelegate: not bound !missing-selector! AVAudioRecorder::setMeteringEnabled: not bound !missing-selector! AVAudioRecorder::settings not bound !missing-selector! AVAudioRecorder::url not bound !missing-protocol! AVAudioRecorderDelegate not bound !missing-selector! AVAudioEngine::inputNode not bound !missing-selector! AVAudioEngine::manualRenderingBlock not bound !missing-selector! AVAudioInputNode::setManualRenderingInputPCMFormat:inputBlock: not bound !missing-selector! AVAudioPlayer::format not bound !missing-selector! AVAudioSession::requestRecordPermission: not bound !unknown-field! AVFileType3GPP bound !unknown-field! AVFileType3GPP2 bound !unknown-field! AVFileTypeAC3 bound !unknown-field! AVFileTypeAIFC bound !unknown-field! AVFileTypeAIFF bound !unknown-field! AVFileTypeAMR bound !unknown-field! AVFileTypeAVCI bound !unknown-field! AVFileTypeAppleM4A bound !unknown-field! AVFileTypeAppleM4V bound !unknown-field! AVFileTypeCoreAudioFormat bound !unknown-field! AVFileTypeDNG bound !unknown-field! AVFileTypeEnhancedAC3 bound !unknown-field! AVFileTypeHEIC bound !unknown-field! AVFileTypeHEIF bound !unknown-field! AVFileTypeJPEG bound !unknown-field! AVFileTypeMPEG4 bound !unknown-field! AVFileTypeMPEGLayer3 bound !unknown-field! AVFileTypeQuickTimeMovie bound !unknown-field! AVFileTypeSunAU bound !unknown-field! AVFileTypeTIFF bound !unknown-field! AVFileTypeWAVE bound * [Metal] Implement API using IOSurface now that IOSurface is implemented. Partially fixes #58054. (#2621) https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [PdfKit] Improve PdfAnnotation.QuadrilateralPoints binding by making it strongly typed. (#2620) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). (#2622) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). * [ARKit/Vision] Use the new simd vector types instead of the OpenTK versions. * [ModelIO] Use the new simd vectors in new API (MDLVoxelIndexExtent2). This way we won't have to create a MDLVoxelIndexExtent3 in the future. * [SpriteKit] Use the new simd vectors in new API. * [metal] Audit (xtro) based fixes (#2623) !extra-protocol-member! unexpected selector MTLArgumentEncoder::newArgumentEncoderForBufferAtIndex: found !extra-protocol-member! unexpected selector MTLComputeCommandEncoder::dispatchThreads:threadsPerThreadgroup: found macos-only !missing-field! MTLDeviceRemovalRequestedNotification not bound !missing-field! MTLDeviceWasAddedNotification not bound !missing-field! MTLDeviceWasRemovedNotification not bound !missing-pinvoke! MTLCopyAllDevices is not bound * [CloudKit] Update bindings to beta 6. (#2615) * [FileProvider] Turn NSFileProviderItemIdentifier enum into a static class, fixes bug 59329 (#2634) https://bugzilla.xamarin.com/show_bug.cgi?id=59329 At the time of binding NSFileProviderItemIdentifier it wasn't clear how it was supposed to be used, I mean apple provides two keys which I thought were the only possible values hence binding it as an smart enum. Unfortunately this wasn't the case and the user can use those two values provided from the SDK or their own NSString Identifier. Swift provides a wrapper unfortunately we can't do the same due to NSFileProviderItemIdentifier is used in the NSFileProviderItem protocol and we currently do not support changing signatures on them. * [mtouch] Teach mtouch about the 'IOSurface' framework for tvOS. Fixes #59333. (#2630) https://bugzilla.xamarin.com/show_bug.cgi?id=59333 * Bump Touch.Unit to get fix for API breakage. (#2631) spouliot/Touch.Unit@8f1e19d [NUnitOutputTextWriter] Reintroduce previous constructor to make sure we don't break binary ABI. spouliot/Touch.Unit@00b0c0b [NUnitOutputTextWriter] Don't write invalid xml comments. spouliot/Touch.Unit@de9fe20 [TouchRunner] Restore the original code path when not wrapping NUnit xml output. * [IOSurface] Add missing availability attributes for tvOS. (#2629) * Bump versions for preview 9 (#2624) * [AVFoundation] Add missing interface AVRouteDetector. (#2637) * [tests] Update xtro to reduce list sizes (#2636) * Skip OpenTK duplicate declaration (we can't change them); * Fix rule name change for ARKit / simd; * Add missing default initializer on `init` to pending actions; * Add note for AVPersistableContentKeyRequest changes wrt tvOS; * [ReplayKit] Make RPBroadcastActivityViewController.LoadBroadcastActivityViewController async-capable. (#2639) * [xcode9] More SceneKit bindings (#2633) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 (#2644) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 https://bugzilla.xamarin.com/show_bug.cgi?id=59380 vector_float3 is 16 bytes, which means the binding is incorrect, because Vector3 is 12 bytes, and our code does not that difference into account. * Add tests * [DeviceCheck] Disable default ctor for DCDevice. (#2642) It doesn't seem to be useful according to the documentation, since it appears that the only way to get an instance is to use the static CurrentDevice property. * [audiounit] Audit (xtro) fixes for tvOS (#2635) Availability attributes in non-generated files don't hide symbols/code. reference: !unknown-pinvoke! AudioUnitExtensionCopyComponentList bound !unknown-pinvoke! AudioUnitExtensionSetComponentList bound * [tests] Make sure tvOS tests don't use the (unexisting) API * [tests] Add all test project variations to tests-mac.sln (#2579) * [xharness] Make sure generated mac projects have different project guids. * [introspection] Change the project guid so that it doesn't match the dontlink-mac project guid. * [tests] Add all test project variations to tests-mac.sln. * [xharness] Fix else condition. * [FileProvider] Adds missing NSFileProviderPage constants, fixes bug 59297. (#2646) https://bugzilla.xamarin.com/show_bug.cgi?id=59297 Adds NSFileProviderInitialPageSortedByName and NSFileProviderInitialPageSortedByDate NSData constants * [Xcode9] Remove NSFileProviderMessage and NSFileProviderMessageInterface (#2647) APIs were removed in beta 2 * [Foundation/UIKit] Provide LoadObject[s] methods that return the expected type in the callback. Fixes #59049. (#2638) The callback for these LoadObject[s] methods take an INSItemProviderReading parameter. This tells our runtime that we must provide an instance of a managed object that implements this interface (but nothing else), so we create a `NSItemProviderReadingWrapper` instance, which complies with the API (since the wrapper type implements the corresponding interface). Unfortunately these methods are supposed to return an instance of the passed- in type, so in order to comply with this soft (documentation-only) requirement, provide a wrapper method that creates instances of the right types. https://bugzilla.xamarin.com/show_bug.cgi?id=59049 * [arkit] Ignore deprecated selectors (#2645) * [FileProvider] Adds missing protocol and keys from audit (#2652) ``` !missing-protocol! NSFileProviderServiceSource not bound !missing-field! NSFileProviderErrorCollidingItemKey not bound !missing-field! NSFileProviderErrorNonExistentItemIdentifierKey not bound !missing-field! NSFileProviderFavoriteRankUnranked not bound ``` Also adds `NSXpcListenerEndpoint` to foundation, needed by `NSFileProviderServiceSource` protocol. * [tests][xtro] Workaround xtro runner dupe entry exception and update data files (#2654) * [AVFoundation] Rename field to match others. (#2657) * [homekit] Audit (xtro) fixes (#2653) - HMCharacteristicEvent conforms to NSMutableCopying on iOS11 which makes it 64 bits only (so adjust intro tests) - Ignore extra setters on HMMutablePresenceEvent, rdar 33883958 !missing-selector! HMMutablePresenceEvent::setPresenceEventType: not bound !missing-selector! HMMutablePresenceEvent::setPresenceUserType: not bound * [xtro] Add missing pinvoke to pending (#2662) - Bug 59422: [uikit] Missing UIContentSizeCategoryCompareToCategory & UIContentSizeCategoryIsAccessibilityCategory (https://bugzilla.xamarin.com/show_bug.cgi?id=59422) * Merge latest d15-3 fixes into xcode9 (#2660) * [msbuild] Re-added wildcard (*) expandsion for application-identifier in Entitlements.plist (#2186) Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=57119 * Bump mono (#2213) * Framework tests were still binding non-linked Simple class which errors now (#2216) (#2218) - Improve Makefile to rebuild when projects build with errors * Bump mono to get cecil fix for bug #56808. (#2222) https://bugzilla.xamarin.com/show_bug.cgi?id=56808 * [msbuild] Use @(ReferencePath) instead of @(ResolvedFiles) (#2188) (#2214) This allows things to work on both xbuild and msbuild. In xbuild, both lists are exactly the same and on msbuild, only @(ReferencePath) exists. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=55147 * NSActivityOptions.IdleDisplaySleepDisabled had wrong value (#2232) (#2239) This was due to an integer overflow. The original value was based on Int32 1 << 40 == 256 The correct value should be based on a UInt64. 1UL << 40 == 1099511627776 * [tests] Fix bug 57699 - [iOS]InternalsTest failure (Linkall) tests on device (#2243) Strip native debugging symbols should not be checked for debug builds * Bump mono to get fix for bug #57780. https://bugzilla.xamarin.com/show_bug.cgi?id=57780 * Update .gitmodules Change branch to d15-3 branch of mono * Bump maccore to get fix for bug #55064. https://bugzilla.xamarin.com/show_bug.cgi?id=55064 * [mono] Bump mono to get the head of cecil/mono-2017-04 and fix IsComObject #57919 Also fix #58789 [1], the typo in tools/mtouch/Tuning.cs showing in MT0000 errors instead MT2102. That's already in master and d15-4 mono bump includes: [2] commit 2a6502cee0df9de5198eafe7c8b5f6ac25106f34 (HEAD -> d15-3, origin/d15-3) Merge: 02457c20fcf 5e05cafc6f1 Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 10:04:06 2017 -0400 Merge pull request #5401 from marek-safar/com [Marshal.IsComObject] Make this predicate return false instead of thr… [3] commit 02457c20fcf57c0610e844d638eb1da82b5d1eb0 Merge: da80840ea55 73fd9a1b82e Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 09:59:06 2017 -0400 Merge pull request #5400 from spouliot/bump-cecil-58834-d15-3 [cecil] Bump to the head of the mono-2017-04 branch and pick the fix for bug #58834 References [1] https://bugzilla.xamarin.com/show_bug.cgi?id=58789 [2] https://bugzilla.xamarin.com/show_bug.cgi?id=57919 [3] https://bugzilla.xamarin.com/show_bug.cgi?id=58834 * [mtouch] Put 'mono_profiler_startup_log' in the symbol list. Fixes #58778. (#2501) We need the 'mono_profiler_startup_log' symbol when profiling is enabled, so make sure to add the symbol to the correct list of symbols we need. Previously we were passing `-u _mono_profiler_startup_log` to clang directly, which is fine, but not complete, since it does not write the symbol to the symbollist file (--symbollist=file), which means it wouldn't be preserved when the MSBuild tasks strip the executable. https://bugzilla.xamarin.com/show_bug.cgi?id=58778 * Bump versions for SR3 https://trello.com/c/EVze08ei * Bump mono to include HttpClientHandler fix #44027 https://trello.com/c/jYFXadH8/8-systemnethttp-close-request-stream-when-httpclienthandler https://bugzilla.xamarin.com/show_bug.cgi?id=44027 * [FileProvider] Add missing API and turn NSString to string (#2663) Turned NSString to string in order to match exisiting API. * [uikit] Add UIPasteConfigurationSupporting and UITextPasteConfigurationSupporting (#2649) - Fixes bug #59363: Missing UIPasteConfigurationSupporting, UITextPasteConfigurationSupporting, UITextDraggable and UITextDroppable on a couple of types (https://bugzilla.xamarin.com/show_bug.cgi?id=59363) * [uikit] Remove 129 types in UIPasteConfigurationSupporting case * [scenekit] Audit (xtro) fixes (#2648) This looks like an Apple breaking change (since `SCNAnimation` is new) but we now have: > typedef void (^SCNAnimationEventBlock)(id<SCNAnimation> animation, id animatedObject, BOOL playingBackward); bound as > delegate void SCNAnimationEventHandler (CAAnimation animation, NSObject animatedObject, bool playingBackward); and `CAAnimation` conforms to `SCNAnimation` but *only* the later is available on watchOS. The delegate is only updated (since it's new) on our watchOS profile. xtro references: (watchos) !unknown-protocol! SCNCameraControlConfiguration bound (tvos/watchos) !missing-selector! SCNAnimation::animationEvents not bound !missing-selector! SCNAnimation::setAnimationEvents: not bound !missing-selector! SCNConstraint::isEnabled not bound !missing-selector! SCNConstraint::setEnabled: not bound !missing-field! SCNSceneSourceConvertToYUpKey not bound !missing-field! SCNSceneSourceConvertUnitsToMetersKey not bound (ios/tvos) !missing-protocol-conformance! SCNNode should conform to UIFocusItem * Bump maccore post 15.3 merge (#2665) * Bump Xcode 9 to GM (#2667) * Force build (on wrench) * [avfoundation] Fix breaking changes (apidiff) (#2664) * [TVServices] Update to Xcode 9 GM (#2675) * [GameController] Update to Xcode 9 GM (#2673) * [LocalAuthentication] Update to Xcode 9 GM (#2671) * [LocalAuthentication] Update to Xcode 9 GM * Remove availability from BiometryNotAvailable, BiometryNotEnrolled and BiometryLockout * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer (#2659) * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer Some of the new added types were already present BUT under a #if MONOMAC, they had to be moved. * [AVFoundation] Set the wrongly added API to be obsolete and ensure it returns logical values. (#2650) * [xtro] The right platform for macOS is 'macos', not 'osx'. (#2677) The platform name is used to filter availability attributes, and if we use the wrong platform, we'll incorrectly skip all availability attributes. The net result in unclassified entries: https://gist.github.com/rolfbjarne/a4474bc2a40c49a85cad495b51bb514f * Various Xcode 9 API improvements and also fixes bug 59433 (#2676) https://bugzilla.xamarin.com/show_bug.cgi?id=59433 While fixing bug 59433 I noticed some additional issues outlined below: AVDepthData: * Renamed **non** static `Create` methods because `Create` only makes sense with the **Static** method in this context. Also by renaming the methods we are now closer to the names that swift uses. * Kept descriptive method names in favor of self-documenting code. `Convert`, `Apply` and `Replace` do not fully give us the intent of the method. * Added a convenience `Create` static method that takes a `CGImageAuxiliaryDataInfo`. * AvailableDepthDataTypes is now an array of `CVPixelFormatType` instead of a `NSNumber` array (The aactual fix for bug 59433). ImageIO: * Refactored `CGImageAuxiliaryDataInfo` to be a `StrongDictionary` in order to avoid most of the manual code and also to avoid reimplementing the `ToDictionary` method (which contained a subtle bug). * Adjusted code to reflect the above change. * Added missing `.ctor (IntPtr, bool)` to `CGImageMetadata` so the class is able to be created by our `Runtime.Get*`. * Simplified `CopyAuxiliaryDataInfo` method by using `CGImageAuxiliaryDataInfo` as a `DictionaryContainer`. Tests: * Added `xamarinmonkey.heic` which is an image that contains depth data needed to test above changes. * Adds `AVDepthDataTests` that touches most of the changes listed here. * Tweak the Simd-compatible matrices and vectors (#2668) * Rename them to be OpenTK.NMatrix# (instead of Simd.MatrixFloat#x#). * Remove the Vector2 and Vector4 variants, we'll use the OpenTK types instead (but we'll keep the NVector3 variant, since it's not identical to the OpenTK version). * Update the API to match their OpenTK counterparts better: * NMatrix2 and NMatrix3 have a 0-based R#C# scheme for their fields. * NMatrix4 has a 1-based M## scheme for its fields (i.e. no change). * [AVFoundation] Use Simd-matrix for API that needs it. (#2679) This also requires implementing the corresponding matrix (NMatrix4x3). Fixes this xtro issue: > !unknown-simd-type-in-signature! OpenTK.Matrix3 AVFoundation.AVCameraCalibrationData::get_GetIntrinsicMatrix(): the native signature has a simd type (matrix_float3x3), while the corresponding managed method is using an incorrect (non-simd) type. * [xtro] Fix checking availability on categories. (#2682) When checking for category availability, check if both the current declaration is a category, and if the current's declaration container is a category. Otherwise this scenario fails: * Category method is available. * Category does not have availability attributes. * Main class is unavailable. with this typical code sequence: ```csharp // don't process methods (or types) that are unavailable for the current platform if (!decl.IsAvailable () || !(decl.DeclContext as Decl).IsAvailable ()) return; ``` In which case we'd: * First check the method (`decl`): * It's available, so no further checks is done on the method. * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container's container is a category (it isn't, it's the namespace). and as such determine that the method is available. With this change, the second step will become: * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container is a category (it is), and if its main class is available (it isn't). and as such determine that the method is unavailable. * Check for attributes on the method's container (no attributes, so we continue). * Check if the method's Unclassified diff: https://gist.github.com/rolfbjarne/8fa80962596978a426eadf9b7ba39dc1 * [uikit] Update for Xcode 9 GM (#2670) * [AVFoundation] Implement AVCapturePhoto. Partially fixes #59388. (#2678) Fixes: > common.unclassified:!missing-type! AVCapturePhoto not bound https://bugzilla.xamarin.com/show_bug.cgi?id=59388 * Use strong dictionaries for AVCapturePhoto.Metadata and AVCapturePhoto.EmbeddedThumbnailPhotoFormat. * [SIMD] Implement Simd double types (VectorDouble3/MatrixDouble4x4). (#2632) The following types will be used by ModelIO bindings * Fix delta to be double * Rename Simd-compatible matrices and vectors to match our final naming. This also means removing the new Vector2 and Vector4 variants (but not Vector3). * [avfoundation] Remove AVAssetDownloadDelegate.DidLoadTimeRange since it was removed in one of the betas (#2687) * [foundation] Move NSUrlSessionMultipathServiceType to a file processed by the generator (for the availability attributes) (#2688) * [arkit] Update for Xcode 9 GM (#2681) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes (#2690) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes Type Changed: Intents.INCarSeatResolutionResult Removed methods: public static INCarSeatResolutionResult GetConfirmationRequired (INCarSeat valueToConfirm); public static INCarSeatResolutionResult GetSuccess (INCarSeat resolvedValue); * [avfoundation] Add missing protocol members and deprecations (#2691) !missing-protocol-member! AVCapturePhotoCaptureDelegate::captureOutput:didFinishProcessingPhoto:error: not found and the selector removed from PR#2687 was actually replaced with this one !missing-protocol-member! AVAssetDownloadDelegate::URLSession:aggregateAssetDownloadTask:didLoadTimeRange:totalTimeRangesLoaded:timeRangeExpectedToLoad:forMediaSelection: not found * [tests][xtro] Map some enums, more fix with protocols and update entries (#2692) * [Tests] Reenable dns tests on the watch. (#2674) * [arkit] Add ARBlendShapeLocationOptions strong dictionary (#2696) * [coreimage] Skip not yet bound filters added in Xcode9 (#2698) Tracked in https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * [Metal] Renamed MTLArgumentDescriptor.ArgumentDescriptor to Create, fixes bug 59498 (#2702) https://bugzilla.xamarin.com/show_bug.cgi?id=59498 From [argumentDescriptor docs](https://developer.apple.com/documentation/metal/mtlargumentdescriptor/2915746-argumentdescriptor?language=objc) > Creates an empty argument descriptor. * [msbuild] Always codesign app bundles if the codesign key is non-null (#2697) ...even if it is a simulator build. Turns out that starting with Xcode9, sim builds need to be codesigned for App Groups entitlements to work properly. Interestingly, the DetectSigningIdentity logic had a comment about needing to codesign simulator builds for some entitlements to work already starting with Xcode 8 but apparently the iOS targets did not respect this. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=59379 * [Foundation] Add NSProxy stub in order to workaround bug 59247 (#2693) https://bugzilla.xamarin.com/show_bug.cgi?id=59247 We need to have a better solution that removes all what NSProxy does not responds to. Right now this works because NSObject implements NSObject protocol just like NSProxy, but NSProxy responds to far less selectors hence doing it internal so it is not a breaking change when we provide the correct fix. * Keep NSProxy around and avoid XML linker description We need to keep NSProxy (avoid linking it) if WKNavigationDelegate or IWKNavigationDelegate is used. We know WKWebView will be there and can hold a reference to it. * [Xcode 9] Update Metal for GM (#2689) * [iosurface] IOSurface is not usable before iOS/tvOS 11. Fixes #59201 (#2706) Apple rejects apps that links with the previously private IOSurface.framework. We were not sure about this [1] and had it disabled (this is removed). However another bug stopped our adjustment logic [2] from being executed. This is needed since `clang` picks up the private framework if it does not find the public one (even when asking for a weak framework), [1] https://bugzilla.xamarin.com/show_bug.cgi?id=59201 [2] Added a while ago for JavascriptCore * Bump maccore to point to commit with the docs fix. (#2703) * Bump XI to 11.0.x (and XM to 3.99.9.x) (#2684) * fix typo
2017-09-16 00:53:16 +03:00
[Export ("renderer:didApplyConstraintsAtTime:")]
void DidApplyConstraints ([Protocolize] SCNSceneRenderer renderer, double atTime);
2016-04-21 15:30:02 +03:00
}
[Watch (3,0)]
2016-04-21 15:30:02 +03:00
[Mac (10,8), iOS (8,0)]
[BaseType (typeof (SCNGeometry))]
[DisableDefaultCtor]
interface SCNSphere {
[Export ("radius")]
nfloat Radius { get; set; }
[Export ("geodesic")]
bool Geodesic { [Bind ("isGeodesic")] get; set; }
[Export ("segmentCount")]
nint SegmentCount { get; set; }
[Static, Export ("sphereWithRadius:")]
SCNSphere Create (nfloat radius);
}
[Watch (3,0)]
2016-04-21 15:30:02 +03:00
[Mac (10,8), iOS (8,0)]
[BaseType (typeof (SCNGeometry))]
[DisableDefaultCtor]
interface SCNText {
[Export ("extrusionDepth")]
nfloat ExtrusionDepth { get; set; }
[Export ("string", ArgumentSemantic.Copy)]
NSObject String { get; set; }
[Export ("containerFrame")]
CGRect ContainerFrame { get; set; }
#if MONOMAC
// removed in iOS8 beta 5 - but it was already existing in 10.8 ?
[Export ("textSize")]
CGSize TextSize { get; }
#endif
[Export ("truncationMode", ArgumentSemantic.Copy)]
string TruncationMode { get; set; }
[Export ("alignmentMode", ArgumentSemantic.Copy)]
string AlignmentMode { get; set; }
[Export ("chamferRadius")]
nfloat ChamferRadius { get; set; }
#if MONOMAC && !XAMCORE_2_0
[Availability (Deprecated = Platform.Mac_10_9)]
[Export ("chamferSegmentCount")]
nint ChamferSegmentCount { get; set; }
#endif
[Static, Export ("textWithString:extrusionDepth:")]
SCNText Create (NSObject str, nfloat extrusionDepth);
[Export ("font", ArgumentSemantic.Retain)]
NSFont Font { get; set; }
[Export ("wrapped")]
bool Wrapped { [Bind ("isWrapped")] get; set; }
[Mac (10,9)]
[Export ("chamferProfile", ArgumentSemantic.Copy)]
NSBezierPath ChamferProfile { get; set; }
[Mac (10,9)]
[Export ("flatness")]
nfloat Flatness { get; set; }
}
[Watch (3,0)]
2016-04-21 15:30:02 +03:00
[Mac (10,8), iOS (8,0)]
[BaseType (typeof (SCNGeometry))]
[DisableDefaultCtor]
interface SCNTorus {
[Export ("ringRadius")]
nfloat RingRadius { get; set; }
[Export ("pipeRadius")]
nfloat PipeRadius { get; set; }
[Export ("ringSegmentCount")]
nint RingSegmentCount { get; set; }
[Export ("pipeSegmentCount")]
nint PipeSegmentCount { get; set; }
[Static, Export ("torusWithRingRadius:pipeRadius:")]
SCNTorus Create (nfloat ringRadius, nfloat pipeRadius);
}
[Watch (3,0)]
2016-04-21 15:30:02 +03:00
[Mac (10,8), iOS (8,0)]
[BaseType (typeof (NSObject))]
interface SCNTransaction {
[Static]
[Export ("begin")]
void Begin ();
[Static]
[Export ("commit")]
void Commit ();
[Static]
[Export ("flush")]
void Flush ();
[Static]
[Export ("lock")]
void Lock ();
[Static]
[Export ("unlock")]
void Unlock ();
[Static]
[Export ("setCompletionBlock:")]
void SetCompletionBlock ([NullAllowed] NSAction completion);
[Export ("valueForKey:")]
NSObject ValueForKey (NSString key);
[Static]
[Export ("setValue:forKey:")]
void SetValueForKey (NSObject value, NSString key);
//Detected properties
[Static]
[Export ("animationDuration")]
double AnimationDuration { get; set; }
[Static]
[NoWatch]
2016-04-21 15:30:02 +03:00
[NullAllowed] // by default this property is null
[Export ("animationTimingFunction")]
CAMediaTimingFunction AnimationTimingFunction { get; set; }
[Static]
[Export ("disableActions")]
bool DisableActions { get; set; }
}
[Watch (3,0)]
2016-04-21 15:30:02 +03:00
[Mac (10,8), iOS (8,0)]
[BaseType (typeof (SCNGeometry))]
interface SCNTube {
[Export ("innerRadius")]
nfloat InnerRadius { get; set; }
[Export ("outerRadius")]
nfloat OuterRadius { get; set; }
[Export ("height")]
nfloat Height { get; set; }
[Export ("radialSegmentCount")]
nint RadialSegmentCount { get; set; }
[Export ("heightSegmentCount")]
nint HeightSegmentCount { get; set; }
[Static, Export ("tubeWithInnerRadius:outerRadius:height:")]
SCNTube Create (nfloat innerRadius, nfloat outerRadius, nfloat height);
}
[NoWatch]
2016-04-21 15:30:02 +03:00
[iOS (9,0)][Mac (10,11)]
[Static]
[Internal] // we'll make it public if there's a need for them (beside the strong dictionary we provide)
interface SCNRenderingOptionsKeys {
2016-04-21 15:30:02 +03:00
[Field ("SCNPreferredRenderingAPIKey")]
NSString RenderingApiKey { get; }
[Field ("SCNPreferredDeviceKey")]
NSString DeviceKey { get; }
[Field ("SCNPreferLowPowerDeviceKey")]
NSString LowPowerDeviceKey { get; }
}
#if !WATCH
[NoWatch]
2016-04-21 15:30:02 +03:00
[iOS (9,0)][Mac (10,11)]
[StrongDictionary ("SCNRenderingOptionsKeys")]
interface SCNRenderingOptions
{
[Internal, Export ("SCNRenderingOptionsKeys.RenderingApiKey")]
NSString _RenderingApiKey { get; set; }
#if XAMCORE_2_0 || !MONOMAC
IMTLDevice Device { get; set; }
#endif
bool LowPowerDevice { get; set; }
}
#endif
2016-04-21 15:30:02 +03:00
[Mac (10,8), iOS (8,0), NoWatch]
2016-04-21 15:30:02 +03:00
[BaseType (typeof (NSView))]
[DisableDefaultCtor]
interface SCNView : SCNSceneRenderer, SCNTechniqueSupport {
// We already pull in the Scene property from the SCNSceneRenderer protocol, no need to redefine it here.
// [Export ("scene", ArgumentSemantic.Retain)]
// SCNScene Scene { get; set; }
#if MONOMAC
[Export ("backgroundColor", ArgumentSemantic.Copy)]
NSColor BackgroundColor { get; set; }
#endif
[Export ("allowsCameraControl")]
bool AllowsCameraControl { get; set; }
#if MONOMAC
[Export ("openGLContext", ArgumentSemantic.Retain)]
NSOpenGLContext OpenGLContext { get; set; }
[Export ("pixelFormat", ArgumentSemantic.Retain)]
NSOpenGLPixelFormat PixelFormat { get; set; }
#elif !WATCH
2016-04-21 15:30:02 +03:00
[Export ("eaglContext", ArgumentSemantic.Retain)]
#if XAMCORE_2_0
EAGLContext EAGLContext { get; set; }
#else
new EAGLContext Context { get; set; }
#endif
[XM] Fix APIBreaks (#1638) (#1643) AVCaptureAutoFocusSystem was removed in: commit 65ffc88 Author: Manuel de la Pena v-mandel@microsoft.com Date: Thu Aug 11 14:22:59 2016 +0200 [AVFoundation] Update bindings for XCode8. Focus on enums and structs. (#591) public virtual bool WriteToUrl (Foundation.NSUrl url, Foundation.NSDictionary options, SCNSceneExportDelegate handler, SCNSceneExportProgressHandler exportProgressHandler) was in: commit 58a0e61 Author: Alex Soto dalexsoto@gmail.com Date: Fri Aug 5 07:23:02 2016 -0500 [Scenekit] Update SceneKit to Xcode8 Beta 4 (#552) public SCNView (CoreGraphics.CGRect frame, SCNRenderingOptions options); was in: commit 921b254 Author: Sebastien Pouliot sebastien.pouliot@gmail.com Date: Sat Aug 6 10:59:16 2016 -0400 [watchos][scenekit] Enable SceneKit on watchOS (#563) Also fixing Type Changed: AppKit.INSAccessibility Added property: public virtual bool AccessibilityRequired { get; set; } Type Changed: GameKit.IGKTurnBasedEventHandlerDelegate Added method: public virtual void HandleTurnEvent (GKTurnBasedMatch match, bool activated); Type Changed: Metal.IMTLRenderCommandEncoder Added methods: public virtual void DrawIndexedPatches (uint numberOfPatchControlPoints, IMTLBuffer patchIndexBuffer, uint patchIndexBufferOffset, IMTLBuffer controlPointIndexBuffer, uint controlPointIndexBufferOffset, IMTLBuffer indirectBuffer, uint indirectBufferOffset); public virtual void DrawPatches (uint numberOfPatchControlPoints, IMTLBuffer patchIndexBuffer, uint patchIndexBufferOffset, IMTLBuffer indirectBuffer, uint indirectBufferOffset); public virtual void TextureBarrier ();
2017-02-08 19:11:59 +03:00
#endif
2016-04-21 15:30:02 +03:00
[XM] Fix APIBreaks (#1638) (#1643) AVCaptureAutoFocusSystem was removed in: commit 65ffc88 Author: Manuel de la Pena v-mandel@microsoft.com Date: Thu Aug 11 14:22:59 2016 +0200 [AVFoundation] Update bindings for XCode8. Focus on enums and structs. (#591) public virtual bool WriteToUrl (Foundation.NSUrl url, Foundation.NSDictionary options, SCNSceneExportDelegate handler, SCNSceneExportProgressHandler exportProgressHandler) was in: commit 58a0e61 Author: Alex Soto dalexsoto@gmail.com Date: Fri Aug 5 07:23:02 2016 -0500 [Scenekit] Update SceneKit to Xcode8 Beta 4 (#552) public SCNView (CoreGraphics.CGRect frame, SCNRenderingOptions options); was in: commit 921b254 Author: Sebastien Pouliot sebastien.pouliot@gmail.com Date: Sat Aug 6 10:59:16 2016 -0400 [watchos][scenekit] Enable SceneKit on watchOS (#563) Also fixing Type Changed: AppKit.INSAccessibility Added property: public virtual bool AccessibilityRequired { get; set; } Type Changed: GameKit.IGKTurnBasedEventHandlerDelegate Added method: public virtual void HandleTurnEvent (GKTurnBasedMatch match, bool activated); Type Changed: Metal.IMTLRenderCommandEncoder Added methods: public virtual void DrawIndexedPatches (uint numberOfPatchControlPoints, IMTLBuffer patchIndexBuffer, uint patchIndexBufferOffset, IMTLBuffer controlPointIndexBuffer, uint controlPointIndexBufferOffset, IMTLBuffer indirectBuffer, uint indirectBufferOffset); public virtual void DrawPatches (uint numberOfPatchControlPoints, IMTLBuffer patchIndexBuffer, uint patchIndexBufferOffset, IMTLBuffer indirectBuffer, uint indirectBufferOffset); public virtual void TextureBarrier ();
2017-02-08 19:11:59 +03:00
#if !WATCH
2016-04-21 15:30:02 +03:00
[iOS (9,0)][Mac (10,11)]
[Wrap ("this (frame, options != null ? options.Dictionary : null)")]
IntPtr Constructor (CGRect frame, [NullAllowed] SCNRenderingOptions options);
#endif
2016-04-21 15:30:02 +03:00
[Export ("initWithFrame:options:")]
IntPtr Constructor (CGRect frame, [NullAllowed] NSDictionary options);
[Export ("initWithFrame:")]
IntPtr Constructor (CGRect frame);
[Export ("play:")]
void Play ([NullAllowed] NSObject sender);
[Export ("pause:")]
void Pause ([NullAllowed] NSObject sender);
[Export ("stop:")]
void Stop ([NullAllowed] NSObject sender);
[iOS (8,0)][Mac (10,10)]
[Export ("snapshot")]
NSImage Snapshot ();
[Mac (10,12)]
2016-04-21 15:30:02 +03:00
[Export ("preferredFramesPerSecond")]
nint PreferredFramesPerSecond { get; set; }
[iOS (8,0)][Mac (10,10)]
[Export ("antialiasingMode")]
SCNAntialiasingMode AntialiasingMode { get; set; }
Merge xcode9 into d15-4[-xi] (#2710) * [FileProvider] Add Xcode 9 Beta 1, 2 & 3 Bindings (#2279) * [FileProvider] Add Xcode 9 Beta 1 Bindings * Better naming * Feedback not related to BindAs * [FileProvider] Removes BindAs, add manual code for it and updated to Beta 3 * [FileProvider] Implement feedback * [CoreSpotlight] Updated spotlight bindings for xcode 9 beta 3. (#2193) Updated spotlight bindings for xcode 9 beta 3. * Fix warning caused by duplicate (#2354) * [FileProviderUI] Add Xcode 9 Beta 1 to 3 bindings (#2356) * Bump to Xcode 9 beta 4 * [arkit] ARLightEstimate does not conform to NSCopying anymore (fix unit test) * [uikit] NSFileProviderExtension.ReparentItem got a new parameter in beta4 (fix unit test) * [coreimage] CIImageAccumulator init returns nil in beta 4 There's no header change to mention `init` is not allowed but it's not clear how this default initializer could be used. Also make public some other API to construct this type (outside of XM). It's not clear why there were `internal` as they are (at least now) part of the header files. * [photos] Add helpers when PHLivePhotoEditingOption/NSDictionary is null (to avoid ambiguous API) (#2360) Adding a strongly typed `PHLivePhotoEditingOption` (a strongly typed version of an `NSDictionary`) can cause a `CS0121` (call is ambiguous) since using a `null` argument is common (only one option exist so far). This PR adds overloads that makes the code nicer in such case, e.g. before Xcode9: > // null is used when no options are given > _foo.SaveLivePhoto (output, null, completion); current (Xcode 9) > // casting required to remove ambiguity with PHLivePhotoEditingOption > _foo.SaveLivePhoto (output, (NSDictionary)null, completion); with this PR > // no option, no argument > _foo.SaveLivePhoto (output, completion); The same applies to `PrepareLivePhotoForPlayback`. * [tests] Disable/tweak two tests that breaks on (almost) all Xcode updates Those tests were not added to validate xOS so just keep the parts that helps us (without constantly checking back the new break flavor) * Disable watchOS to check if this hides others issues * [mapkit] Update for beta 4 * [coredata] Update for beta 4 * [wkwebkit] Update for beta 4 Note: WKWindowFeatures.h is not compiled (part of the framework umbrella) and the `@interface WKWindowFeatures (WKPrivate)` sounds like it should not have been exposed (it's all fields starting with `_`) * [corelocation] Update for beta 4 * Revert "Disable watchOS to check if this hides others issues" This reverts commit fed2249fa43290a1956ab2fe0d48f83ab6db9711. * [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]: https://github.com/xamarin/xamarin-macios/blob/f5956d6cc1eb5dfa7bab16628cf282d40237f64e/src/generator.cs#L5985 * [FinderSync] Update to beta 4 (#2377) * [ImageIO] Update to Xcode 9 (#2353) * [PhotosUI] Move macOS photosui bindings out of photos.cs into photosui.cs (#2358) * [quicklook] Update up to beta 4 (#2374) * [uikit] UIDragInteraction & UIDragInteractionDelegate (Xcode 9 b1,2,3) (#2357) * [safariservices] Update up to beta 4 (#2380) * [coreanimation] Update to beta 4 (#2382) Apple removed (mistake?) some API in beta 1. Filed as rdar 33590997 Internal tracking in https://trello.com/c/J8BDDUV9/86-33590997-coreanimation-quartzcore-api-removals * [storekit] Update up to beta 4 (#2379) * [CoreML] Update to Xcode 9 Beta 4 (#2387) * [uikit] UICollectionView/UITableView Drag & Drop (Xcode 9 b1,2,3 & 4) (#2355) * Update code after radar 32929318 and 32897776 are fixed in b4 (#2394) * [xcode9 CoreAudio] New definitions from Beta1 to Beta3 (#2359) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 (#2397) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 https://bugzilla.xamarin.com/show_bug.cgi?id=58512 Created strong API (VNBarcodeSymbology) on the following properties * VNDetectBarcodesRequest.SupportedSymbologies * VNDetectBarcodesRequest.Symbologies * VNBarcodeObservation.Symbology * Remove modern C# because classic can't do it 😡 * [mediaplayer] Update up to beta 4 (#2388) * [watchkit] Update to beta 4 (#2398) * Bump Visual Studio for Mac max version (#2408) * [coreimage] Add CIBarcodeDescriptor and enabled missing API for VNBarcodeObservation. Fix #58197 (#2411) https://bugzilla.xamarin.com/show_bug.cgi?id=58197 * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 (#2407) * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 * [uikit] Fixes based on comments * [coreimage] CIImageAccumulator API fixes. Fix #58349 (#2412) * Obsolete the default `init`; * XM exposed some older APIs using `int` instead of `CIFormat`. This is fixed and old APIs are obsoleted; * Both new & old APIs are now using `CIFormat` for both XI and XM. https://bugzilla.xamarin.com/show_bug.cgi?id=58349 * [uikit] UIText drag & drop - up to Xcode 9 beta 4 (#2410) * [uikit] UISplitView & UIStackView up to Xcode 9 beta 4 (#2425) * Bump XI/XM versions before preview 4 (#2422) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 (#2378) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 * [PDFKit] Implement feedback * [PDFKit] the forgotten enum * [PDFKit] More feedback * [PDFKit] Add Mac changes * Missing change * Fix test RectangleF VS CGRect * Pass -Wunguarded-availability-new to quiet a new clang warning (#2424) - https://bugzilla.xamarin.com/show_bug.cgi?id=58574 * [mtouch/mmp] Ignore warnings about unguarded code section with regards to availability. (#2441) * [monotouch-test] Remove workaround for fixed Apple bug. (#2445) * Bump to Xcode 9 beta 5. (#2447) * Bump to Xcode 9 beta 5. * [mmp] Disable the partial static registrar, because Apple's macOS SDK is broken. > In file included from Xamarin.Mac.registrar.mobile.i386.m:1: > In file included from ./Xamarin.Mac.registrar.mobile.i386.h:11: > /Applications/Xcode9-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVFoundation.h:88:9: fatal error: 'AVFoundation/AVRouteDetector.h' file not found https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [mmp] Fix partial static registrar removal. * [CallKit] Update to Xcode 9 beta 5. * [ARKit] ARPointCloud doesn't conform to NSCopying anymore in Xcode 9 beta 5. * [ARKit] Update to Xcode 9 beta 5 enough to make tests happy. * [CoreImage] Stub out new filters in Xcode 9 beta 5. * [tests][monotouch] Simplify some MDLMesh asserts since values change a lot between OS versions. * [mmp] Default to the dynamic registrar for release builds again, due to bug #58629. https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [tests][introspection] CXCall started implementing NSCopying without saying so in the headers. * Disable mmp static registrar tests due to 58629 for now * [quicklook] Update to beta 5 (#2450) * [photos] Update for beta 5 (#2452) Also update some existing enum members were added in beta 1 on macOS * [safariservices] Update for beta 5 (#2455) * [mediaplayer] Update to beta 5 (#2456) * [CoreLocation] Update Xcode 9 Beta 5 (#2453) * [CoreML] Update to Xcode 9 Beta 5 (#2454) * [Contacts] Update to Xcode 9 Beta 5 (#2451) * [Vision] Update to Xcode 9 Beta 5 (#2458) * [builds] Tell LLVM to stay away from newer macOS functions. (#2459) Fixes this build problem on Sierra: > ld: weak import of symbol '_futimens' not supported because of option: -no_weak_imports for architecture x86_64 This is a symbol that was (will be?) introduced in High Sierra. Interestingly this only occurs if the Xcode 8.X Command Line Tools haven't been manually installed. Because if the Xcode 8.X Command Line Tools are installed, this happens: 1. llvm's configure script detects that 'futimens' is not usable. 2. llvm's configure script detects that 'futimens' is not usable, because xcrun sets SDKROOT=/ when calling clang. a. When the SDKROOT variable is set, clang passes '-syslibroot /usr/lib' to ld. b. When ld gets '-syslibroot /usr/lib', ld looks in '/usr/lib' for a library that contains 'futimens' in the OS itself, and since we're on Sierra, that fails to link. c. So when llvm's configure script creates a test program that checks if 'futimens' is present, the program fails. This is correct, and makes llvm *not* use futimens. 3. xcrun sets SDKROOT=/ because /usr/share/current-os.sdk/Info.plist exists. If that file does not exist, then xcrun sets SDKROOT to Xcode9's macOS SDK (because that's what xcode-select reports). a. When SDKROOT is set to Xcode9's macOS SDK, the configure check for 'futimens' succeeds, because the macOS 10.13 SDK contains that function. b. llvm happily uses 'futimens', and then the final link fails because we're using a symbol not available on all target platforms. * [arkit] Update for Xcode 9 beta 5 - Part 1 (#2460) * [tests] The container app for watchOS tests should be 64-bit. (#2463) * [xharness] watchOS tests need to run in a clean environment. Works around #58348. (#2462) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [xharness] It watchOS tests don't need to be clean anymore. Fixes #58348. (#2473) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [uikit] UIView/UIScrollView/UIViewController up to Xcode 9 beta 5 (#2431) - Add NSDirectionalEdgeInsets type. - Includes DirectionalEdgeInsetsTest. * [AudioToolbox] Update bindings to Xcode 9 beta3 (not later changes). (#2294) * [xharness] Add a file existence check. (#2478) Fixes this exception: ``` Harness exception for 'introspection': System.IO.FileNotFoundException: Could not find file '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log'. File name: '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log' at System.IO.__Error.WinIOError (System.Int32 errorCode, System.String maybeFullPath) [0x00207] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/__error.cs:188 at System.IO.FileInfo.get_Length () [0x00038] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/fileinfo.cs:171 at xharness.CaptureLog.StopCapture () [0x00021] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Log.cs:252 at (wrapper remoting-invoke-with-check) xharness.CaptureLog:StopCapture () at xharness.AppRunner+<RunAsync>d__68.MoveNext () [0x0127f] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/AppRunner.cs:642 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter`1[TResult].GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:357 at xharness.RunSimulatorTask+<RunTestAsync>d__7.MoveNext () [0x0029d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2894 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.RunTestTask+<ExecuteAsync>d__8.MoveNext () [0x0010b] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2538 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.TestTask+<RunInternalAsync>d__87.MoveNext () [0x0010d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:1870 ``` I'm not sure how this can happen, but it has on the bots [1]. [1] https://jenkins.mono-project.com/job/xamarin-macios-pr-builder/4548/Test_Report/ * Bump versions for preview 5 (#2479) * [passkit] Update to beta 5 (#2481) * [tests] Remove workaround for radar #32688391. (#2486) * [replaykit] Update up to beta 5 (#2484) * Bump maccore to get fix for bug #55064. (#2487) * [apidiff] Update definition to new 10.12 (d15-3) stable release (#2490) * [SceneKit] basic work (#2483) * [coredata] Update to beta 5 (#2488) * [homekit] Update for Xcode 9 beta 5 (#2492) * [Foundation] Update for xcode9 (#2468) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 (#2493) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 * [Intents] Implement feedback * [Intents] Add a generic version for INInteraction.GetParameterValue * [Intents] Missing check * [Contacts] Add missing foundation NSItemProviderWriting protocol to CNContact (#2496) https://bugzilla.xamarin.com/show_bug.cgi?id=58203 This is available on all Contacts supported platforms ``` ./iPhoneOS.platform/Developer/SDKs/iPhoneOS11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchOS.platform/Developer/SDKs/WatchOS4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchSimulator.platform/Developer/SDKs/WatchSimulator4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ``` * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) (#2497) * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) * [IntentsUI] Better use a delegate instead so we have named params * Bump versions before 6th preview (#2514) * [arkit] Add missing MarshalDirective to ARPlaneAnchor (#2517) - Fixes bug #58648: ARPlaneAnchor.Extent property seems incorrect but changes to correct value after Debug access (https://bugzilla.xamarin.com/show_bug.cgi?id=58648) * [xtro-sharpie] Fix a compiler warning. (#2516) Fixes these warnings: Runner.cs(197,5): warning CS0642: Possible mistaken empty statement Runner.cs(199,5): warning CS0642: Possible mistaken empty statement Runner.cs(201,5): warning CS0642: Possible mistaken empty statement Runner.cs(203,5): warning CS0642: Possible mistaken empty statement Runner.cs(205,5): warning CS0642: Possible mistaken empty statement * [uikit] Update for Xcode 9 beta 5 - Part 3 (#2511) - UIKeyCommand - UINavigationBar - UINavigationItem - UIPasteboard - UITableViewHeaderFooterView * [xtro-sharpie] Remove xtro-plugin and misc other fixes. (#2522) * [xtro-sharpie] Build with msbuild and be as quiet as requested when building. * [xtro-sharpie] Must run as a 64-bit process, since the required native libraries are 64-bit. * [xtro-sharpie] Add run configurations to the project file to ease debugging in the IDE. * [xtro-sharpie] Remove xtro-plugin and the related commands. This was needed when there wasn't a 64-bit mono, in order to run xtro-sharpie in a 64-bit process. Now there is a 64-bit mono, so it's not needed anymore. Also improve makefile targets a bit, to auto-build stuff when needed, by setting the right dependencies. * Bump Xcode 9 to beta 6 (#2519) Disable watchOS tests again It seems like the Carousel crash from beta 4 is back to haunt us. This was working fine with beta 5. * Backport d15-3 SR2 fixes (#2515) * [coredata] Update to beta 6 (#2528) This seems to only revert some nullability changes from beta 5. * [coreml] Update to beta 6 (#2531) Fix our rdar 33643011 where additional setters were added in the headers but did not exists. * [videosubscriberaccount] Update to beta 6 (#2533) Only b1 and b2 introduced some additions/changes * [uikit] Update for Xcode 9 beta 6 - Part 4 (#2527) The following headers are now up to date: - UICollectionViewFlowLayout.h - UIDocumentPickerViewController.h - UIFontDescriptor.h - UIImage.h - UIImageView.h - UIImagePickerController.h * [xharness] Re-enable the watchOS tests. (#2534) It works fine for me locally, so let's see what Jenkins says. * [macos] Add new APIs in CoreWlan from Xcode9b3 (#2525) * Update AppKit bindings based on radar 33271241 results (#2518) * Update AppKit bindings based on radar 33271241 results - The header comment was updated to note it was NSSliderTouchBarItem view that has the protocol * Remove NSUserInterfaceCompression where not listed in header * [vision] Update to beta 6 (#2532) Removal of some deprecated (during beta) `init*` selectors. Also sync the versions that were inlined in subclasses - the old ones were not removed and the new ones were not added. * [xtro-sharpie] Many methods don't have selectors in Clang's API, so default to the name if no selector. (#2523) This makes a few more unclassified entries show up (mostly missing designated initializers): https://gist.github.com/rolfbjarne/07aa20f9b50b75bf3e69ac6a825e873a * [macos] Add ExternalAccessory APIs from xcode9 (#2526) * [58851] Disable NSMenuView in AllItemsWithNSMenuShouldAllowNull (#2504) * [arkit] Update for Xcode 9 beta 5 - Part 2 (#2505) - Add last missing selector. - Add tests for manual code. * [monotouch-test] Disable FontDescriptorTest.WithFeature (#2537) Disabled because it looks like the tvOS font we use: "Gujarati Sangam MN" does not have rare ligatures anymore (and the entire test is based on it). Before getting an actual fix for that, let's disable the test so it doesn't break all current builds. See: https://bugzilla.xamarin.com/show_bug.cgi?id=58929 * [xtro-sharpie] Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute. (#2524) Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute to calculate the native name for a TypeDefinition. Unclassified changes: https://gist.github.com/rolfbjarne/828f8ee41eebb0a3b60a38d71822fe59 * [foundation/uikit] Inline NSItemProvider_UIKitAdditions in NSItemProvider (#2538) As suggested here: https://github.com/xamarin/xamarin-macios/pull/2527#discussion_r134670981 * [intents] Fix breaking changes (api-diff) (#2543) Additions of @required members inside `INSpeakable` cannot be `[Abstract]` * [contacts] Fix breaking change (api-diff) (#2542) Type Changed: Contacts.CNPostalAddress Removed method: public static string LocalizeProperty (CNPostalAddressKeyOption option); * [macos] Reenable static registrar since Xcode9b6 un-broke SDK headers (#2544) - Fix a subtle spacing issues in PartialStaticLibrary property * [corebluetooth] Update up to beta 6 and enable it on watchOS (#2540) macOS 10.13 has finally catch up with iOS and this simplifies the bindings a bit. * [foundation] API fixes (apidiff) (#2545) 1. Let's not add new, already [Obsolete] API Type Changed: Foundation.NSDimension Added constructors: [Obsolete ("Not intended to be directly instantiated, this is an abstract class.")] public NSDimension (); 2. Fix inconsistently named API, e.g. Type Changed: Foundation.NSAttributedString Added properties: public static string[] ReadableTypeIdentifiersForItemProvider { get; } public static string[] WritableTypeIdentifiers { get; } * [pdfkit] Do not add already [Obsolete] API in new profiles (#2547) and ensure using the newer, correct API works cross-platforms iOS (before) [Obsolete ("Use 'Find (string, NSStringCompareOptions)' instead.")] public virtual PdfSelection[] Find (string text, nint options); public PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'Find (string, PdfSelection, NSStringCompareOptions)' instead.")] public virtual PdfSelection Find (string text, PdfSelection selection, nint options); public void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string, NSStringCompareOptions)' instead.")] public virtual void FindAsync (string text, nint options); public void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string [], NSStringCompareOptions)' instead.")] public virtual void FindAsync (string[] text, nint options); iOS (after) public virtual PdfSelection[] Find (string text, Foundation.NSStringCompareOptions compareOptions); public virtual PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); * Bump versions for the 7th preview (#2541) * Remove additions of AVKit removed in beta5 (#2536) * NSUrlSessionTask should implement NSProgressReporting for iOS (#2548) NSUrlSessionTask implements NSProgressReporting on iOS as well as Mac, so the #if MONOMAC isn't needed. * Add missing availability attributes causing failures on older iOS versions (#2550) * [vision] Minor fix wrt xtro (#2551) including some things we need to ignore manually !missing-field! VNVisionVersionNumber not bound !missing-pinvoke! VNImagePointForFaceLandmarkPoint is not bound !missing-pinvoke! VNNormalizedFaceBoundingBoxPointForLandmarkPoint is not bound * [uikit] NSFileProviderMessaging was removed in beta 2. Fixes #58222 (#2552) reference: https://bugzilla.xamarin.com/show_bug.cgi?id=58222 * [uikit] Update for Xcode 9 - Part 5 (#2546) Bindings for the following headers: - UIActivity.h - UIActivityItemProvider.h - UIAlertController.h - UIApplication.h - UIBarButtonItem.h - UIButton.h - UICollectionViewLayout.h - UIColor.h - UIControl.h - UIDocumentMenuViewController.h - UIFontMetrics.h - UIGestureRecognizer.h - UIGraphicsImageRenderer.h - UIInputViewController.h * [CoreText] Fix an extraneous free in CTFont.GetDefaultCascadeList. (#2555) We do not own the return value from CFArrayGetValueAtIndex, so don't say we do when creating CTFontDescriptor instances, since that leads to angry dragons: 2017-08-28 20:15:20.293 monotouchtest[33186:2311738] A_FontTest 2017-08-28 20:15:20.294 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithFontDescriptorAndOptions 2017-08-28 20:15:20.295 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithNameAndOptions 2017-08-28 20:15:20.296 monotouchtest[33186:2311738] critical: Stacktrace: at <unknown> <0xffffffff> at (wrapper managed-to-native) CoreText.CTFont.CTFontCopyDefaultCascadeListForLanguages (intptr,intptr) [0x0000a] in <ae65a2b1eea242d2b68fe784749543bf>:0 at CoreText.CTFont.GetDefaultCascadeList (string[]) [0x00013] in /work/maccore/xcode9/xamarin-macios/src/CoreText/CTFont.cs:2185 at MonoTouchFixtures.CoreText.A_FontTest.GetCascadeList () [0x0001e] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/CoreText/FontTest.cs:78 at (wrapper runtime-invoke) object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) [0x0004f] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) System.Reflection.MonoMethod.InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&) [0x00016] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at System.Reflection.MonoMethod.Invoke (object,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo) [0x00032] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/corlib/System.Reflection/MonoMethod.cs:305 at System.Reflection.MethodBase.Invoke (object,object[]) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/referencesource/mscorlib/system/reflection/methodbase.cs:229 at NUnit.Framework.Internal.Reflect.InvokeMethod (System.Reflection.MethodInfo,object,object[]) [0x00009] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Reflect.cs:215 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunNonAsyncTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x00025] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:116 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x0001a] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:90 at NUnit.Framework.Internal.Commands.TestMethodCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:66 at NUnit.Framework.Internal.Commands.SetUpTearDownCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00007] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/SetUpTearDownCommand.cs:84 at NUnit.Framework.Internal.WorkItems.SimpleWorkItem.PerformWork () [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/SimpleWorkItem.cs:64 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at MonoTouch.NUnit.UI.BaseTouchRunner.Run (NUnit.Framework.Internal.Test) [0x0004d] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:442 at MonoTouch.NUnit.UI.BaseTouchRunner.Run () [0x00030] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:171 at MonoTouch.Dialog.StringElement.Selected (MonoTouch.Dialog.DialogViewController,UIKit.UITableView,Foundation.NSIndexPath) [0x00008] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/Elements.cs:765 at MonoTouch.Dialog.DialogViewController.Selected (Foundation.NSIndexPath) [0x00026] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:577 at MonoTouch.Dialog.DialogViewController/Source.RowSelected (UIKit.UITableView,Foundation.NSIndexPath) [0x00016] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:402 at (wrapper runtime-invoke) <Module>.runtime_invoke_void__this___object_object (object,intptr,intptr,intptr) [0x0005d] in <32f0c196c5bc4aa18daea2ee64a7814e>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) UIKit.UIApplication.UIApplicationMain (int,string[],intptr,intptr) [0x0005c] in <ae65a2b1eea242d2b68fe784749543bf>:0 at UIKit.UIApplication.Main (string[],intptr,intptr) [0x00005] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:79 at UIKit.UIApplication.Main (string[],string,string) [0x00038] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:63 at monotouchtest.Application.Main (string[]) [0x00011] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/Main.cs:27 at (wrapper runtime-invoke) <Module>.runtime_invoke_void_object (object,intptr,intptr,intptr) [0x00051] in <30a7f7e09de9467b8b454221034a0e38>:0 Native stacktrace: 0 monotouchtest 0x000000010fca03c4 mono_handle_native_crash + 244 1 monotouchtest 0x000000010fcadd30 mono_sigsegv_signal_handler + 288 2 libsystem_platform.dylib 0x000000011feb3b3a _sigtramp + 26 3 CoreFoundation 0x000000011de035a2 computeSanitizedString + 146 4 CoreText 0x00000001168df314 _ZN15TPurgeableCache19RetainedValueForKeyEPKv + 54 5 CoreText 0x00000001168def85 _ZNK17TDescriptorSource22CopyDescriptorUncachedEPK7__CFURLbPK10__CFString + 55 6 CoreText 0x00000001168df34f _ZNK17TDescriptorSource14CopyDescriptorEPK7__CFURLbPK10__CFString + 27 7 CoreText 0x00000001168e20ad _ZNK17TDescriptorSource35CopyFontDescriptorPerPostScriptNameEPK10__CFStringmm + 297 8 CoreText 0x00000001168dfd9e _ZNK17TDescriptorSource30CopySystemFontDescriptorByNameEPK10__CFString10UIFontFlag + 54 9 CoreText 0x00000001168e54c4 _ZNK14TFontFallbacks17CopyFontFallbacksEPK10__CFStringS2_PK9__CFArray + 652 10 CoreText 0x00000001168e4a00 _ZNK14TFontFallbacks29CopyFontFallbacksForLanguagesEPK10__CFStringPK9__CFArray + 122 11 CoreText 0x00000001168e4971 _ZN17TDescriptorSource39CopyDefaultSubstitutionListForLanguagesEPK10__CFStringPK9__CFArray + 61 12 CoreText 0x00000001169397a7 _ZNK9TBaseFont28CreateSystemDefaultFallbacksEPK10__CFStringPK9__CFArray + 51 13 CoreText 0x000000011693999c _ZNK9TBaseFont15CreateFallbacksE10UIFontFlagPPK16__CFCharacterSetPK9__CFArray + 346 14 CoreText 0x00000001168c1036 _ZNK5TFont24CreateDefaultCascadeListEPK9__CFArray + 242 15 CoreText 0x00000001168b8ff9 CTFontCopyDefaultCascadeListForLanguages + 97 16 ??? 0x0000000140eaefd3 0x0 + 5384105939 17 ??? 0x0000000140eae761 0x0 + 5384103777 18 ??? 0x000000013c9c8e74 0x0 + 5311860340 19 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 20 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 21 monotouchtest 0x000000010fd71bac mono_runtime_try_invoke_array + 1292 22 monotouchtest 0x000000010fd15587 ves_icall_InternalInvoke + 647 23 ??? 0x000000013e9fcd13 0x0 + 5345627411 24 ??? 0x000000013e9fc738 0x0 + 5345625912 25 ??? 0x000000013e9fded5 0x0 + 5345631957 26 ??? 0x000000013e9fbb76 0x0 + 5345622902 27 ??? 0x000000013e9e237e 0x0 + 5345518462 28 ??? 0x000000013e9e237e 0x0 + 5345518462 29 ??? 0x000000013e9e237e 0x0 + 5345518462 30 ??? 0x000000013e9e237e 0x0 + 5345518462 31 ??? 0x000000013e873006 0x0 + 5344014342 32 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 33 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 34 monotouchtest 0x000000010fd6e320 mono_runtime_invoke + 208 35 monotouchtest 0x000000010fe71af1 xamarin_invoke_trampoline + 5617 36 monotouchtest 0x000000010fe79ddd xamarin_arch_trampoline + 189 37 monotouchtest 0x000000010fe7b1a1 xamarin_x86_64_common_trampoline + 110 38 UIKit 0x0000000111b9876b -[UITableView _selectRowAtIndexPath:animated:scrollPosition:notifyDelegate:] + 1810 39 UIKit 0x0000000111b98986 -[UITableView _userSelectRowAtPendingSelectionIndexPath:] + 344 40 UIKit 0x0000000111a6b5c9 _runAfterCACommitDeferredBlocks + 318 41 UIKit 0x0000000111a59dad _cleanUpAfterCAFlushAndRunDeferredBlocks + 280 42 UIKit 0x0000000111a89f68 _afterCACommitHandler + 137 43 CoreFoundation 0x000000011de3ddb7 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23 44 CoreFoundation 0x000000011de3dd0e __CFRunLoopDoObservers + 430 45 CoreFoundation 0x000000011de22324 __CFRunLoopRun + 1572 46 CoreFoundation 0x000000011de21a89 CFRunLoopRunSpecific + 409 47 GraphicsServices 0x0000000121b7e9c6 GSEventRunModal + 62 48 UIKit 0x0000000111a5f7d0 UIApplicationMain + 159 49 ??? 0x000000013c9c4474 0x0 + 5311841396 50 ??? 0x000000013c9c40ad 0x0 + 5311840429 ================================================================= Got a SIGSEGV while executing native code. This usually indicates a fatal error in the mono runtime or one of the native libraries used by your application. ================================================================= * [monotouch-test] Don't subclass MKMapView. (#2556) MKMapView doesn't like being subclassed (Apple says "you should not subclass the MKMapView class itself"). Bad things like this starts happening: Thread 0 name: tid_303 Dispatch queue: com.apple.main-thread Thread 0 Crashed: 0 libsystem_kernel.dylib 0x0000000186b25348 __pthread_kill + 8 1 libsystem_pthread.dylib 0x0000000186c39354 pthread_kill$VARIANT$mp + 396 2 libsystem_c.dylib 0x0000000186a94fd8 abort + 140 3 monotouchtest 0x0000000101c02c14 mono_handle_native_crash + 22047764 (mini-exceptions.c:2548) 4 monotouchtest 0x0000000101c0d02c mono_sigsegv_signal_handler + 22089772 (mini-runtime.c:2886) 5 libsystem_platform.dylib 0x0000000186c33b60 _sigtramp + 52 6 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 7 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 8 CoreFoundation 0x0000000186eda51c -[__NSArrayM dealloc] + 68 9 CoreFoundation 0x000000018703f5c8 __CFBasicHashDrain + 312 10 CoreFoundation 0x0000000186fb5b44 _CFRelease + 224 11 CoreText 0x000000018a808404 TDescriptorSource::PurgeFontFallbacksCache+ 488452 () + 92 12 CoreText 0x000000018a808374 TDescriptorSource::PurgeFromCaches+ 488308 (__CFURL const*) const + 176 13 CoreText 0x000000018a7eec74 CTFontRemoveFromCaches + 168 14 VectorKit 0x0000000196a539b0 +[VKSharedResourcesManager removeResourceUser:] + 324 15 VectorKit 0x0000000196ca27a4 md::MapEngine::~MapEngine+ 2643876 () + 360 16 VectorKit 0x0000000196ca2634 md::MapEngine::~MapEngine+ 2643508 () + 12 17 libobjc.A.dylib 0x000000018651eef4 object_cxxDestructFromClass+ 28404 (objc_object*, objc_class*) + 148 18 libobjc.A.dylib 0x000000018652c638 objc_destructInstance + 88 19 libobjc.A.dylib 0x000000018652c690 object_dispose + 16 20 QuartzCore 0x000000018afca3ac -[CALayer dealloc] + 116 21 VectorKit 0x0000000196a43294 -[VKMapView dealloc] + 940 22 QuartzCore 0x000000018af6aafc CA::release_objects+ 744188 (X::List<void const*>*) + 32 23 QuartzCore 0x000000018afd97d8 CA::Layer::~Layer+ 1198040 () + 276 24 QuartzCore 0x000000018afca37c -[CALayer dealloc] + 68 25 QuartzCore 0x000000018af6b16c CA::Transaction::commit+ 745836 () + 1052 26 UIKit 0x0000000190393290 _afterCACommitHandler + 256 27 CoreFoundation 0x0000000186fb38b8 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 32 28 CoreFoundation 0x0000000186fb1270 __CFRunLoopDoObservers + 412 29 CoreFoundation 0x0000000186fb182c __CFRunLoopRun + 1292 30 CoreFoundation 0x0000000186ed22d8 CFRunLoopRunSpecific + 436 31 GraphicsServices 0x0000000188d58f84 GSEventRunModal + 100 32 UIKit 0x000000019040427c UIApplicationMain + 208 33 monotouchtest 0x000000010106eb90 wrapper_managed_to_native_UIKit_UIApplication_UIApplicationMain_int_string___intptr_intptr + 9907088 (/<unknown>:1) 34 monotouchtest 0x0000000100f0d6ac UIKit_UIApplication_Main_string___intptr_intptr + 8459948 (UIApplication.cs:79) 35 monotouchtest 0x0000000100f0d66c UIKit_UIApplication_Main_string___string_string + 8459884 (UIApplication.cs:63) 36 monotouchtest 0x0000000100b10450 monotouchtest_Application_Main_string__ + 4277328 (Main.cs:27) 37 monotouchtest 0x0000000100e0c244 wrapper_runtime_invoke_object_runtime_invoke_dynamic_intptr_intptr_intptr_intptr + 244 38 monotouchtest 0x0000000101c10048 mono_jit_runtime_invoke + 22102088 (mini-runtime.c:2526) 39 monotouchtest 0x0000000101c75eec do_runtime_invoke + 22519532 (object.c:2829) 40 monotouchtest 0x0000000101c78a3c do_exec_main_checked + 22530620 (object.c:4623) 41 monotouchtest 0x0000000101bf9a1c mono_jit_exec + 22010396 (driver.g.c:1040) 42 monotouchtest 0x0000000101d13d60 xamarin_main + 23166304 (monotouch-main.m:482) 43 monotouchtest 0x00000001007de710 main + 927504 (main.m:67) 44 libdyld.dylib 0x00000001869f656c start + 4 * [introspection] Let SkipDueToAttributeInProperty skip setters too (#2557) `SkipDueToAttributeInProperty` which is used to check the availability attribute of properties when the Availability info only exist on the property and not on the property Getter or Setter was wrong. This lead to `setSpringLoaded` (which was introduced in iOS 11) to not be ignored by the test (making it fail). - Fix bug #59085: [introspection-ios] selector not found for UIKit.UIBarButtonItem : setSpringLoaded: - Broken test (https://bugzilla.xamarin.com/show_bug.cgi?id=59085) * [corevideo][watchos] Enable CoreVideo on watchOS (#2553) * [storekit] Fix CampaignToken typo (#2559) (#2560) - Fixes bug #59078: StoreProductParameters and invalid property for CampaignToken (https://bugzilla.xamarin.com/show_bug.cgi?id=59078) * [coreml][watchos] Enable API using CoreVideo on watchOS. Fix #58097 (#2561) https://bugzilla.xamarin.com/show_bug.cgi?id=58097 * Add missing [MarshalDirective] attributes. (#2558) * [bindings-generator] Improve build & project file. * Add missing [MarshalDirective] attributes. Add missing [MarshalDirective] attributes, which also requires implementing support for out parameters in the binding generator, since one of the signatures missing the [MarshalDirective] contains such an out parameter. Also add tests for all the API I've added [MarshalDirective] to. * [bindings-generator] Remove redundant if check. * [monotouch-test] Rename file to end with 'Test.cs'. * [tests] Fix a few build errors for Xamarin.Mac. * [uikit] Fix UIColor and UIInputViewController tvOS availability (#2569) - Fixes introspection tests on tvOS 10. * [storekit] Fix SKCloudServiceSetupMessageIdentifier and SKProductStorePromotionController tvOS availability (#2568) - Fixes introspection tests on tvOS 10. * [mapkit] Fix MKMapItemTypeIdentifier tvOS availability (#2566) - Also remove double [Mac] availability attribute. - Fixes introspection tests on tvOS 10. * [ARKit] Fix marshalling for ARPointCloud.RawFeaturePoints. (#2565) ARPointCloud.RawFeaturePoints is an array of Vector3, but each vector is 16-byte aligned (as if it were an array of Vector4). This means we need to account for this when creating a managed array from pointer to the native C-style array. * [ModelIO] Fix MDLVoxelIndexExtent struct. (#2564) The MDLVoxelIndexExtent is a struct containing two 4-dimensional vectors of integers (not floats, as originally and incorrectly implemented). Fix this my creating a new MDLVoxelIndexExtent2 struct with the right fields, re-implement all the API that exposes this struct and obsolete the old API. Also add missing [MarshalDirective] attributes. And write a test to make sure it works fine now and forever. * [coredata] Enable new fields since rdar #33878590 is fixed w/beta 6 (#2570) reference: https://trello.com/c/dlSRYPFx * [xtro-sharpie] Add a Simd check class to verify signatures with Simd types. * [Simd] Add simd matrix types. The OpenTK matrices (Matrix2/3/4) has a different memory layout than Apple's matrix_float2x2/matrix_float3x3/matrix_float4x4 matrices: the OpenTK versions are row-major, while Apple's versions are column-major. This means that when blitting memory from one to the other, the matrix will appear to have been transposed. See bug #[58599][2] for an example. Unfortunately we've already bound several API with Apple's matrix_floatXxX matrices using OpenTK's matrices, and although they're bound wrong, and the matrices appear transposed on input/output, we can't change the behavior because we have to maintain compatibility. This means we have to introduce new API, and then also just define new matrix types with the right memory layout (column-major). Additionally, in the future we might be able to mark these matrices as Simd-matrixes, so that the JIT/AOT compiler can generate the correct alignment for them, avoiding having to define a native conversion method (using the [MarshalDirective] hack). The matrices have been designed to match API-wise the matrices in the System.Numerics.Vectors namespace [1], but for the moment with only a few basic operations implemented (Determinant/Transpose/Multiply) defined (we can always add more later if we want to). In addition explicit conversion operators to and from the corresponding OpenTK.MatrixX are implemented, which means any operation defined in the OpenTK matrices can be used by converting back and forth. [1]: https://msdn.microsoft.com/en-us/library/system.numerics.matrix4x4(v=vs.111).aspx [2]: https://bugzilla.xamarin.com/show_bug.cgi?id=58599 * [ARKit] Use the new Simd matrix types. * [Vision] Use the new Simd matrix types. * [ModelIO] Use the new Simd-compatible matrix types, and deprecate the old API. * [GameplayKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [SpriteKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [xtro] Don't report missing [MarshalDirective] for obsolete methods. * [xtro] Remove unnecessary ignores. The implementation changed, and these stayed accidentally. * [wkwebkit] Fix (native) protocol names (#2572) Also ignore xtro's WKSnapshotConfiguration since it's an Apple bug 34185961 reference (xtro) !missing-protocol! WKURLSchemeHandler not bound !missing-protocol! WKURLSchemeTask not bound !unknown-protocol! WKUrlSchemeHandler bound !unknown-protocol! WKUrlSchemeTask bound !unknown-type! WKSnapshotConfiguration bound * [uikit] Fix enums availability attributes (#2575) - Fixes bug #59132: [uikit] Extra types in watchOS (https://bugzilla.xamarin.com/show_bug.cgi?id=59132) * [watchkit] Add missing designated initializers (#2574) references (xtro) !missing-designated-initializer! WKInterfaceController::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! WKUserNotificationInterfaceController::init is missing an [DesignatedInitializer] attribute * [xtro] Reword some of the Simd diagnostic messages according to review. * [tests] Make sure test symbols don't clash between different test libraries. Fixes this build problem for framework-test: clang: error: linker command failed with exit code 1 (use -v to see invocation) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_get_rotation_matrix'. MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticObjectTest.framework/XStaticObjectTest (Location related to previous error) MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticArTest.framework/XStaticArTest(libtest-ar.x86_64.o) (Location related to previous error) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransformcomponent_get_local_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_create_global_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float4x4'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float3x3'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float2x2'. MTOUCH: error MT5209: Native linking error: 6 duplicate symbols for architecture x86_64 MTOUCH: error MT5202: Native linking failed. Please review the build log. * [tests] Since libtest.a need ModelIO now, the corresponding LinkWith attributes need to state that too. * [introspection] Don't check native signatures on obsolete members, and ignore the right simd matrix types. Fixes this introspection/Mac problem: ***** ApiSignatureTest.NativeSignatures Selector: uniformWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: uniformWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: uniformWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: setMatrixFloat2x2Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: setMatrixFloat3x3Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: setMatrixFloat4x4Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: initWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: initWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: initWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded * [monotouch-tests] Include more custom asserts for watchOS to make the build work. Fixes this: Simd/MatrixFloat4x4Test.cs(28,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(29,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(37,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(48,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' [...] * [monotouch-test] Exclude code that requires the binding project from xammac tests. Exclude code that requires the test binding project from xammac tests because there's currently no XM version of the test binding project. Fixes this: tests/monotouch-test/SpriteKit/UniformTest.cs(20,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLMaterialProperty.cs(37,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLTransform.cs(34,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) * Bump version for preview #8 (#2576) * [spritekit] Audit fixes (xtro) (#2577) 1. SKVideoNode is now, partially, available on watchOS and does not require the extra, manual code to swicth selectors depending on the OS version being run. !missing-type! SKVideoNode not bound !missing-selector! SKVideoNode::anchorPoint not bound !missing-selector! SKVideoNode::initWithCoder: not bound !missing-selector! SKVideoNode::initWithFileNamed: not bound !missing-selector! SKVideoNode::initWithURL: not bound !missing-selector! SKVideoNode::setAnchorPoint: not bound !missing-selector! SKVideoNode::setSize: not bound !missing-selector! SKVideoNode::size not bound !missing-selector! +SKVideoNode::videoNodeWithFileNamed: not bound !missing-selector! +SKVideoNode::videoNodeWithURL: not bound 2. SKNodeFocusBehavior is exposed needlessly on watchOS because SpriteKit/Enums.cs was not processed by the generator, so [NoWatch] did not matter. !unknown-native-enum! SKNodeFocusBehavior bound It's also visible on macOS but nothing uses it (so we do not expose it needlessly) !missing-enum! SKNodeFocusBehavior not bound 3. Add missing designated initializer on default `init` !missing-designated-initializer! SKAttributeValue::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! SKNode::init is missing an [DesignatedInitializer] attribute 4. Remove inconsistency for SKNode subclasses wrt XAMCORE_4_0 The trio attributeValues, setAttributeValues and setValue:forAttributeNamed: that was moved from SKNode (deprecated) into its subclasses. This was done using XAMCORE_4_0 but not on every subclasses. This adds them everywhere to be consistent (only SKNode versions are not defined in XAMCORE_4_0) !missing-selector! SKEffectNode::attributeValues not bound !missing-selector! SKEffectNode::setAttributeValues: not bound !missing-selector! SKEffectNode::setValue:forAttributeNamed: not bound !missing-selector! SKEffectNode::valueForAttributeNamed: not bound !missing-selector! SKEmitterNode::attributeValues not bound !missing-selector! SKEmitterNode::setAttributeValues: not bound !missing-selector! SKEmitterNode::setValue:forAttributeNamed: not bound !missing-selector! SKEmitterNode::valueForAttributeNamed: not bound !missing-selector! SKSpriteNode::attributeValues not bound !missing-selector! SKSpriteNode::setAttributeValues: not bound !missing-selector! SKSpriteNode::setValue:forAttributeNamed: not bound !missing-selector! SKSpriteNode::valueForAttributeNamed: not bound * [introspection] Make sure '[FAIL]' is printed before every failure. (#2578) This makes xharness able to list the failures in the inline summary. * [xtro] Reword some of the Simd diagnostic messages according to review. * [xharness] Add a missing IsServerMode check to generate correct html. (#2581) * [SpriteKit] SKTransformNode is new in Xcode 9 so no need to keep the broken (and obsolete) non-simd version of RotationMatrix. * [intents] Fix some (partial) xtro issues and #59156 (#2585) reference https://bugzilla.xamarin.com/show_bug.cgi?id=59156 Remaining issues are filled in https://bugzilla.xamarin.com/show_bug.cgi?id=59183 !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound * [Intents] Confirm* interface methods should be bound as Confirm, Fixes Bug 59164 (#2591) * [Intents] Confirm* interface methods should probably be bound as Confirm, Fixes Bug 59164 https://bugzilla.xamarin.com/show_bug.cgi?id=59164 All Confirm* methods from *IntentHandling interfaces should be named just `Confirm` to avoid confusion because most of them do not directly confirm as an acion, but instead they **ask** for confirmation also we would follow swift's naming by doing this. * [Intents] XAMCORE_4_0 all Confirm* methods from *IntentHandling Turns any Confirm* into just Confirm inside a XAMCORE_4_0 block, * [Intents] Fix breaking changes in Intents added in Xcode 9 Bindings (#2590) Apple added more protocol conformances to INRidesharingDomainHandling and INPaymentsDomainHandling protocols in Xcode 9, I introduced these breaking changes back when I did intents binding so fixing them :) * [Metal] New bindings from Xcode 9 betas (#2457) * [AVFoundation] Updated bindings for xcode9. (#2272) * [Xcode9] Add IOSurface bindings (#2363) * This framework was a private framework before iOS 11. This framework was a private framework before iOS 11, yet the headers claim many API were introduced in iOS 10. So take account of this difference by using the private framework location in iOS 10.3 or earlier. Testing these API from Xcode works fine when run on an iOS 10.3 device, and I've confirmed the IOSurface framework is loaded from the private frameworks path on older devices (and when built using Xcode 9 and linked with the public framework path). * Disable code to make IOSurface work on iOS 10. Disable the code to make IOSurface work on iOS 10, since it may be rejected by the App Store. This also means adjusting the availability attributes, so that the introspection tests pass (and to document that technically these API won't work when used with Xamarin.iOS in iOS 10). I've filed bug #[59201][1] to keep track of this, maybe we can re-enable this later. [1]: https://bugzilla.xamarin.com/show_bug.cgi?id=59201 * [CoreMedia] Fix leak in CMAttachmentBearer.GetAttachments. (#2593) The caller owns the return value from CMCopyDictionaryOfAttachments, so tell Runtime.GetNSObject that. * [Intents] Adds missing API found by xtro, fixes Bug 59183 (#2596) https://bugzilla.xamarin.com/show_bug.cgi?id=59183 Fixes !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !incorrect-protocol-member! INUIHostedViewControlling::configureWithInteraction:context:completion: is OPTIONAL and should NOT be abstract * [xtro] Fix StartWorkingDirectory to enable debugging (#2598) * [iosurface] Enable for tvOS and XM classic (to avoid multiple defines around consumer API) (#2597) * [xtro] Fix EnumCheck (#2600) * [ARKit] Rename a few method to make them nicer. (#2604) * DisplayTransform -> GetDisplayTransform since methods should have verbs. * SessionWasInterrupted -> WasInterrupted and SessionInterruptionEnded -> InterruptionEnded since these names match better with the other names (CameraDidChangeTrackingState / DidFail / DidOutputAudioSampleBuffer: none are prefixed with 'Session'). Additionally, the type is a Model (for the delegate pattern), which means all methods are more-or-less event-like, and the first argument is always the same (the protocol itself), which is another indicator the methods should be named similarly. * [Foundation] Remove 'Key' suffix from some fields. (#2606) Of the 168 fields in NSMetadataItem, only these 5 hadn't removed the 'Key' suffix. So make them all equivalent by removing the 'Key' suffix from these 5 fields. * [ImageIO] Fix API to not duplicate the instance in instance methods. (#2609) An instance method does not need to take the instance as a parameter, so remove the first (instance) parameter for CGImageDestination.AddAuxiliaryDataInfo and CGImageSource.CopyAuxiliaryDataInfo. An alternative solution would be to make the methods static, but I like the instance API better. * [UIKit] De-model UIDataSourceTranslating. (#2603) It's not clear from neither the documentation nor the headers how this protocol is supposed to be used, and since it doesn't correspond to the delegate pattern, remove the [Model] attribute for now. We can always add it back later. * [CoreML] Improve API. (#2592) * [CoreML] Improve API. * The indices, shape and stride properties for MLMultiArray and MLMultiArrayConstraint can logically only be arrays of integers, so type them as such. This means adding overloads for MLMultiArray's constructors, GetObject and SetObject methods, and the indexers that takes nint[] arrays instead of NSNumber[] arrays. * Change MLFeatureValue's static factory methods to be a method ('Create') instead of a preposition, and call all the different factory methods the same, since they can be overloaded nicely. * [tests][monotouch-test] Add version check to MLMultiArrayTest and make sure the arrays we create are big enough for the data we put in them. * [tests][monotouch-test] MLMultiArray's elements aren't zero-initialized, so don't assume that in the tests. * Support overloading Objective-C methods based on static/instance. (#2607) Two Objective-C methods can be named identically as long as one is static and the other instance. We must support this since Apple did just this (in the NSItemProviderReading / NSItemProviderWriting protocols). We solve it by prepending a '+' or '-' to the selector when hashing it (to determine selector uniqueness, and to look the method up again at runtime). * [uikit] Update for Xcode 9 - Part 6 (#2602) NSAttributedString.h NSFileProviderExtension.h NSLayoutAnchor.h UIAccessibility.h UIAccessibilityAdditions.h UIAccessibilityContainer.h UIAccessibilityContentSizeCategoryImageAdjusting.h UIAccessibilityCustomRotor.h UIAccessibilityLocationDescriptor.h UITabBar.h UINavigationBar.h UIScreen.h * Xcode9 scenekit (#2512) * [SceneKit] basic work * Added key * [xcode9] SCNCameraController * [xcode9] SCNCamera updates * [xcode9] SCNMaterial * [xcode9] SCNGeometryTessellator, SCNCameraControlConfiguration, SCNView, small bits * Add trailing commas to last enum value * Remove whitespace noise * [scenekit] Update deprecated attributes messages * Addresses some of Rolf's feedback * Drop the WeakDelegate in SCNCameraController * Rename method to Render, remove ctor from class that can not be constructed in Palygrounds, add typo exception * [AppKit] Rename NSBezierPath.AppendBezierPathWithCGGlyph to match its sibling methods. (#2605) NSBezierPath contains a lot of 'AppendPathWithXXX' methods, that all map to 'appendBezierPathXXX' selectors. So rename AppendBezierPathWithCGGlyph accordingly, to make it more similar to the other methods in the same type. * [uikit] Add all UISpringLoadedInteractionSupporting (#2616) Types do not conform to the protocol but protocol methods work on those types (see monotouch-test). Fixed introspection tests accordingly and tested the selectors in monotouch-test. * [Intents] Add convenience ctor overload and call correct base ctor in manual ctor. (#2613) Add a convenience constructor overload in INGetUserCurrentRestaurantReservationBookingsIntent that uses nint instead of NSNumber, since logically "number of results" will always be some sort of integer. Also call the correct base constructor in INSpeakableString's custom constructor (same as any other generated constructor). Otherwise we end up doing something like this: [[[INSpeakableString alloc] init] initWith ...], i.e. calling two different init methods. * [coreimage] Add new headers API up to beta 6 (#2601) Filters are not complete (ref: #57350) https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * Some new constants are not yet documented (type is known), so they are commented / ignored https://bugzilla.xamarin.com/show_bug.cgi?id=59296 * Filled bug for [Wrap] inside [Category] so strong dictionary helpers can be re-enabled later https://bugzilla.xamarin.com/show_bug.cgi?id=59294 * [foundation] xtro fixes for watchOS (#2586) !missing-enum! NSProcessInfoThermalState not bound !missing-field! NSProcessInfoThermalStateDidChangeNotification not bound !missing-selector! NSProcessInfo::thermalState not bound Headers are wrong and preferredPresentationStyle is not in tvOS and watchOS !missing-selector! NSItemProvider::preferredPresentationStyle not bound !missing-selector! NSItemProvider::setPreferredPresentationStyle: not bound * [uikit] Also remove UIPreferredPresentationStyle enum from platform where it's not used * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. (#2614) * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. * NSItemProviderWriting: * NSItemProviderReading: Implement correctly and completely by uncommenting commented out code. * NSMutableString: * NSAttributedString: remove inlined members, since these classes don't implement NSItemProviderReading / NSItemProviderWriting (according to the headers at least). * NSUrl: all platforms now seem to implement NSItemProviderReading / NSItemProviderWriting. * NSString: all platforms now seem to implement both NSItemProviderReading and NSItemProviderWriting * UIColor: * UIImage: Update inlined protocol members according to the latest beta. Additionally, due to the following conditions: * The protocols all have the correct members now. * In the API definition we tell the generator to inline members from a protocol by inheriting from the corresponding interface. * The generator doesn't inline static members from protocols. several 'new' keywords had to be added to silence a compiler warning that occurrs when we manually inline a static member, since the member would be included in the type both from the inherited interface and the manual implementation. * [Foundation] Comment out NSItemProviderWriting.GetItemProviderVisibility to avoid inlining/generating unusable methods. NSItemProviderWriting.GetItemProviderVisibility is an optional method, and none of the native classes that implements NSItemProviderWriting actually imlements the method. This means inlining the method in those classes ends up creating unusable API; so just comment out the method to avoid generating the unusable API. The introspection tests found this: [FAIL] Foundation.NSString : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Foundation.NSUrl : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Contacts.CNContact : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] MapKit.MKMapItem : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIColor : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIImage : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] iOSApiSelectorTest.ApiSelectorTest.StaticMethods : 6 errors found in 2348 static selector validated: See also https://bugzilla.xamarin.com/show_bug.cgi?id=59308 * [iosurface] Add missing [TV] attributes (#2619) * [opengles] Enable the new API using IOSurface (#2618) The symbol only exists inside device libraries, not on simulator, and the introspection tests were updated to ignore it. Part of https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [avfoundation][watchos] Enable AudioBufferList (fix #59145) + audit (xtro) (#2617) 1. AudioBufferList is part of CoreAudio (wrong namespace, which needs a few changes in the generator) and now available in watchOS 4 https://bugzilla.xamarin.com/show_bug.cgi?id=59145 2. Also fixes xtro found issues: !missing-type! AVAudioRecorder not bound !missing-selector! AVAudioRecorder::averagePowerForChannel: not bound !missing-selector! AVAudioRecorder::channelAssignments not bound !missing-selector! AVAudioRecorder::currentTime not bound !missing-selector! AVAudioRecorder::delegate not bound !missing-selector! AVAudioRecorder::deviceCurrentTime not bound !missing-selector! AVAudioRecorder::format not bound !missing-selector! AVAudioRecorder::initWithURL:format:error: not bound !missing-selector! AVAudioRecorder::initWithURL:settings:error: not bound !missing-selector! AVAudioRecorder::isMeteringEnabled not bound !missing-selector! AVAudioRecorder::isRecording not bound !missing-selector! AVAudioRecorder::peakPowerForChannel: not bound !missing-selector! AVAudioRecorder::recordAtTime: not bound !missing-selector! AVAudioRecorder::recordAtTime:forDuration: not bound !missing-selector! AVAudioRecorder::recordForDuration: not bound !missing-selector! AVAudioRecorder::setChannelAssignments: not bound !missing-selector! AVAudioRecorder::setDelegate: not bound !missing-selector! AVAudioRecorder::setMeteringEnabled: not bound !missing-selector! AVAudioRecorder::settings not bound !missing-selector! AVAudioRecorder::url not bound !missing-protocol! AVAudioRecorderDelegate not bound !missing-selector! AVAudioEngine::inputNode not bound !missing-selector! AVAudioEngine::manualRenderingBlock not bound !missing-selector! AVAudioInputNode::setManualRenderingInputPCMFormat:inputBlock: not bound !missing-selector! AVAudioPlayer::format not bound !missing-selector! AVAudioSession::requestRecordPermission: not bound !unknown-field! AVFileType3GPP bound !unknown-field! AVFileType3GPP2 bound !unknown-field! AVFileTypeAC3 bound !unknown-field! AVFileTypeAIFC bound !unknown-field! AVFileTypeAIFF bound !unknown-field! AVFileTypeAMR bound !unknown-field! AVFileTypeAVCI bound !unknown-field! AVFileTypeAppleM4A bound !unknown-field! AVFileTypeAppleM4V bound !unknown-field! AVFileTypeCoreAudioFormat bound !unknown-field! AVFileTypeDNG bound !unknown-field! AVFileTypeEnhancedAC3 bound !unknown-field! AVFileTypeHEIC bound !unknown-field! AVFileTypeHEIF bound !unknown-field! AVFileTypeJPEG bound !unknown-field! AVFileTypeMPEG4 bound !unknown-field! AVFileTypeMPEGLayer3 bound !unknown-field! AVFileTypeQuickTimeMovie bound !unknown-field! AVFileTypeSunAU bound !unknown-field! AVFileTypeTIFF bound !unknown-field! AVFileTypeWAVE bound * [Metal] Implement API using IOSurface now that IOSurface is implemented. Partially fixes #58054. (#2621) https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [PdfKit] Improve PdfAnnotation.QuadrilateralPoints binding by making it strongly typed. (#2620) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). (#2622) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). * [ARKit/Vision] Use the new simd vector types instead of the OpenTK versions. * [ModelIO] Use the new simd vectors in new API (MDLVoxelIndexExtent2). This way we won't have to create a MDLVoxelIndexExtent3 in the future. * [SpriteKit] Use the new simd vectors in new API. * [metal] Audit (xtro) based fixes (#2623) !extra-protocol-member! unexpected selector MTLArgumentEncoder::newArgumentEncoderForBufferAtIndex: found !extra-protocol-member! unexpected selector MTLComputeCommandEncoder::dispatchThreads:threadsPerThreadgroup: found macos-only !missing-field! MTLDeviceRemovalRequestedNotification not bound !missing-field! MTLDeviceWasAddedNotification not bound !missing-field! MTLDeviceWasRemovedNotification not bound !missing-pinvoke! MTLCopyAllDevices is not bound * [CloudKit] Update bindings to beta 6. (#2615) * [FileProvider] Turn NSFileProviderItemIdentifier enum into a static class, fixes bug 59329 (#2634) https://bugzilla.xamarin.com/show_bug.cgi?id=59329 At the time of binding NSFileProviderItemIdentifier it wasn't clear how it was supposed to be used, I mean apple provides two keys which I thought were the only possible values hence binding it as an smart enum. Unfortunately this wasn't the case and the user can use those two values provided from the SDK or their own NSString Identifier. Swift provides a wrapper unfortunately we can't do the same due to NSFileProviderItemIdentifier is used in the NSFileProviderItem protocol and we currently do not support changing signatures on them. * [mtouch] Teach mtouch about the 'IOSurface' framework for tvOS. Fixes #59333. (#2630) https://bugzilla.xamarin.com/show_bug.cgi?id=59333 * Bump Touch.Unit to get fix for API breakage. (#2631) spouliot/Touch.Unit@8f1e19d [NUnitOutputTextWriter] Reintroduce previous constructor to make sure we don't break binary ABI. spouliot/Touch.Unit@00b0c0b [NUnitOutputTextWriter] Don't write invalid xml comments. spouliot/Touch.Unit@de9fe20 [TouchRunner] Restore the original code path when not wrapping NUnit xml output. * [IOSurface] Add missing availability attributes for tvOS. (#2629) * Bump versions for preview 9 (#2624) * [AVFoundation] Add missing interface AVRouteDetector. (#2637) * [tests] Update xtro to reduce list sizes (#2636) * Skip OpenTK duplicate declaration (we can't change them); * Fix rule name change for ARKit / simd; * Add missing default initializer on `init` to pending actions; * Add note for AVPersistableContentKeyRequest changes wrt tvOS; * [ReplayKit] Make RPBroadcastActivityViewController.LoadBroadcastActivityViewController async-capable. (#2639) * [xcode9] More SceneKit bindings (#2633) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 (#2644) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 https://bugzilla.xamarin.com/show_bug.cgi?id=59380 vector_float3 is 16 bytes, which means the binding is incorrect, because Vector3 is 12 bytes, and our code does not that difference into account. * Add tests * [DeviceCheck] Disable default ctor for DCDevice. (#2642) It doesn't seem to be useful according to the documentation, since it appears that the only way to get an instance is to use the static CurrentDevice property. * [audiounit] Audit (xtro) fixes for tvOS (#2635) Availability attributes in non-generated files don't hide symbols/code. reference: !unknown-pinvoke! AudioUnitExtensionCopyComponentList bound !unknown-pinvoke! AudioUnitExtensionSetComponentList bound * [tests] Make sure tvOS tests don't use the (unexisting) API * [tests] Add all test project variations to tests-mac.sln (#2579) * [xharness] Make sure generated mac projects have different project guids. * [introspection] Change the project guid so that it doesn't match the dontlink-mac project guid. * [tests] Add all test project variations to tests-mac.sln. * [xharness] Fix else condition. * [FileProvider] Adds missing NSFileProviderPage constants, fixes bug 59297. (#2646) https://bugzilla.xamarin.com/show_bug.cgi?id=59297 Adds NSFileProviderInitialPageSortedByName and NSFileProviderInitialPageSortedByDate NSData constants * [Xcode9] Remove NSFileProviderMessage and NSFileProviderMessageInterface (#2647) APIs were removed in beta 2 * [Foundation/UIKit] Provide LoadObject[s] methods that return the expected type in the callback. Fixes #59049. (#2638) The callback for these LoadObject[s] methods take an INSItemProviderReading parameter. This tells our runtime that we must provide an instance of a managed object that implements this interface (but nothing else), so we create a `NSItemProviderReadingWrapper` instance, which complies with the API (since the wrapper type implements the corresponding interface). Unfortunately these methods are supposed to return an instance of the passed- in type, so in order to comply with this soft (documentation-only) requirement, provide a wrapper method that creates instances of the right types. https://bugzilla.xamarin.com/show_bug.cgi?id=59049 * [arkit] Ignore deprecated selectors (#2645) * [FileProvider] Adds missing protocol and keys from audit (#2652) ``` !missing-protocol! NSFileProviderServiceSource not bound !missing-field! NSFileProviderErrorCollidingItemKey not bound !missing-field! NSFileProviderErrorNonExistentItemIdentifierKey not bound !missing-field! NSFileProviderFavoriteRankUnranked not bound ``` Also adds `NSXpcListenerEndpoint` to foundation, needed by `NSFileProviderServiceSource` protocol. * [tests][xtro] Workaround xtro runner dupe entry exception and update data files (#2654) * [AVFoundation] Rename field to match others. (#2657) * [homekit] Audit (xtro) fixes (#2653) - HMCharacteristicEvent conforms to NSMutableCopying on iOS11 which makes it 64 bits only (so adjust intro tests) - Ignore extra setters on HMMutablePresenceEvent, rdar 33883958 !missing-selector! HMMutablePresenceEvent::setPresenceEventType: not bound !missing-selector! HMMutablePresenceEvent::setPresenceUserType: not bound * [xtro] Add missing pinvoke to pending (#2662) - Bug 59422: [uikit] Missing UIContentSizeCategoryCompareToCategory & UIContentSizeCategoryIsAccessibilityCategory (https://bugzilla.xamarin.com/show_bug.cgi?id=59422) * Merge latest d15-3 fixes into xcode9 (#2660) * [msbuild] Re-added wildcard (*) expandsion for application-identifier in Entitlements.plist (#2186) Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=57119 * Bump mono (#2213) * Framework tests were still binding non-linked Simple class which errors now (#2216) (#2218) - Improve Makefile to rebuild when projects build with errors * Bump mono to get cecil fix for bug #56808. (#2222) https://bugzilla.xamarin.com/show_bug.cgi?id=56808 * [msbuild] Use @(ReferencePath) instead of @(ResolvedFiles) (#2188) (#2214) This allows things to work on both xbuild and msbuild. In xbuild, both lists are exactly the same and on msbuild, only @(ReferencePath) exists. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=55147 * NSActivityOptions.IdleDisplaySleepDisabled had wrong value (#2232) (#2239) This was due to an integer overflow. The original value was based on Int32 1 << 40 == 256 The correct value should be based on a UInt64. 1UL << 40 == 1099511627776 * [tests] Fix bug 57699 - [iOS]InternalsTest failure (Linkall) tests on device (#2243) Strip native debugging symbols should not be checked for debug builds * Bump mono to get fix for bug #57780. https://bugzilla.xamarin.com/show_bug.cgi?id=57780 * Update .gitmodules Change branch to d15-3 branch of mono * Bump maccore to get fix for bug #55064. https://bugzilla.xamarin.com/show_bug.cgi?id=55064 * [mono] Bump mono to get the head of cecil/mono-2017-04 and fix IsComObject #57919 Also fix #58789 [1], the typo in tools/mtouch/Tuning.cs showing in MT0000 errors instead MT2102. That's already in master and d15-4 mono bump includes: [2] commit 2a6502cee0df9de5198eafe7c8b5f6ac25106f34 (HEAD -> d15-3, origin/d15-3) Merge: 02457c20fcf 5e05cafc6f1 Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 10:04:06 2017 -0400 Merge pull request #5401 from marek-safar/com [Marshal.IsComObject] Make this predicate return false instead of thr… [3] commit 02457c20fcf57c0610e844d638eb1da82b5d1eb0 Merge: da80840ea55 73fd9a1b82e Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 09:59:06 2017 -0400 Merge pull request #5400 from spouliot/bump-cecil-58834-d15-3 [cecil] Bump to the head of the mono-2017-04 branch and pick the fix for bug #58834 References [1] https://bugzilla.xamarin.com/show_bug.cgi?id=58789 [2] https://bugzilla.xamarin.com/show_bug.cgi?id=57919 [3] https://bugzilla.xamarin.com/show_bug.cgi?id=58834 * [mtouch] Put 'mono_profiler_startup_log' in the symbol list. Fixes #58778. (#2501) We need the 'mono_profiler_startup_log' symbol when profiling is enabled, so make sure to add the symbol to the correct list of symbols we need. Previously we were passing `-u _mono_profiler_startup_log` to clang directly, which is fine, but not complete, since it does not write the symbol to the symbollist file (--symbollist=file), which means it wouldn't be preserved when the MSBuild tasks strip the executable. https://bugzilla.xamarin.com/show_bug.cgi?id=58778 * Bump versions for SR3 https://trello.com/c/EVze08ei * Bump mono to include HttpClientHandler fix #44027 https://trello.com/c/jYFXadH8/8-systemnethttp-close-request-stream-when-httpclienthandler https://bugzilla.xamarin.com/show_bug.cgi?id=44027 * [FileProvider] Add missing API and turn NSString to string (#2663) Turned NSString to string in order to match exisiting API. * [uikit] Add UIPasteConfigurationSupporting and UITextPasteConfigurationSupporting (#2649) - Fixes bug #59363: Missing UIPasteConfigurationSupporting, UITextPasteConfigurationSupporting, UITextDraggable and UITextDroppable on a couple of types (https://bugzilla.xamarin.com/show_bug.cgi?id=59363) * [uikit] Remove 129 types in UIPasteConfigurationSupporting case * [scenekit] Audit (xtro) fixes (#2648) This looks like an Apple breaking change (since `SCNAnimation` is new) but we now have: > typedef void (^SCNAnimationEventBlock)(id<SCNAnimation> animation, id animatedObject, BOOL playingBackward); bound as > delegate void SCNAnimationEventHandler (CAAnimation animation, NSObject animatedObject, bool playingBackward); and `CAAnimation` conforms to `SCNAnimation` but *only* the later is available on watchOS. The delegate is only updated (since it's new) on our watchOS profile. xtro references: (watchos) !unknown-protocol! SCNCameraControlConfiguration bound (tvos/watchos) !missing-selector! SCNAnimation::animationEvents not bound !missing-selector! SCNAnimation::setAnimationEvents: not bound !missing-selector! SCNConstraint::isEnabled not bound !missing-selector! SCNConstraint::setEnabled: not bound !missing-field! SCNSceneSourceConvertToYUpKey not bound !missing-field! SCNSceneSourceConvertUnitsToMetersKey not bound (ios/tvos) !missing-protocol-conformance! SCNNode should conform to UIFocusItem * Bump maccore post 15.3 merge (#2665) * Bump Xcode 9 to GM (#2667) * Force build (on wrench) * [avfoundation] Fix breaking changes (apidiff) (#2664) * [TVServices] Update to Xcode 9 GM (#2675) * [GameController] Update to Xcode 9 GM (#2673) * [LocalAuthentication] Update to Xcode 9 GM (#2671) * [LocalAuthentication] Update to Xcode 9 GM * Remove availability from BiometryNotAvailable, BiometryNotEnrolled and BiometryLockout * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer (#2659) * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer Some of the new added types were already present BUT under a #if MONOMAC, they had to be moved. * [AVFoundation] Set the wrongly added API to be obsolete and ensure it returns logical values. (#2650) * [xtro] The right platform for macOS is 'macos', not 'osx'. (#2677) The platform name is used to filter availability attributes, and if we use the wrong platform, we'll incorrectly skip all availability attributes. The net result in unclassified entries: https://gist.github.com/rolfbjarne/a4474bc2a40c49a85cad495b51bb514f * Various Xcode 9 API improvements and also fixes bug 59433 (#2676) https://bugzilla.xamarin.com/show_bug.cgi?id=59433 While fixing bug 59433 I noticed some additional issues outlined below: AVDepthData: * Renamed **non** static `Create` methods because `Create` only makes sense with the **Static** method in this context. Also by renaming the methods we are now closer to the names that swift uses. * Kept descriptive method names in favor of self-documenting code. `Convert`, `Apply` and `Replace` do not fully give us the intent of the method. * Added a convenience `Create` static method that takes a `CGImageAuxiliaryDataInfo`. * AvailableDepthDataTypes is now an array of `CVPixelFormatType` instead of a `NSNumber` array (The aactual fix for bug 59433). ImageIO: * Refactored `CGImageAuxiliaryDataInfo` to be a `StrongDictionary` in order to avoid most of the manual code and also to avoid reimplementing the `ToDictionary` method (which contained a subtle bug). * Adjusted code to reflect the above change. * Added missing `.ctor (IntPtr, bool)` to `CGImageMetadata` so the class is able to be created by our `Runtime.Get*`. * Simplified `CopyAuxiliaryDataInfo` method by using `CGImageAuxiliaryDataInfo` as a `DictionaryContainer`. Tests: * Added `xamarinmonkey.heic` which is an image that contains depth data needed to test above changes. * Adds `AVDepthDataTests` that touches most of the changes listed here. * Tweak the Simd-compatible matrices and vectors (#2668) * Rename them to be OpenTK.NMatrix# (instead of Simd.MatrixFloat#x#). * Remove the Vector2 and Vector4 variants, we'll use the OpenTK types instead (but we'll keep the NVector3 variant, since it's not identical to the OpenTK version). * Update the API to match their OpenTK counterparts better: * NMatrix2 and NMatrix3 have a 0-based R#C# scheme for their fields. * NMatrix4 has a 1-based M## scheme for its fields (i.e. no change). * [AVFoundation] Use Simd-matrix for API that needs it. (#2679) This also requires implementing the corresponding matrix (NMatrix4x3). Fixes this xtro issue: > !unknown-simd-type-in-signature! OpenTK.Matrix3 AVFoundation.AVCameraCalibrationData::get_GetIntrinsicMatrix(): the native signature has a simd type (matrix_float3x3), while the corresponding managed method is using an incorrect (non-simd) type. * [xtro] Fix checking availability on categories. (#2682) When checking for category availability, check if both the current declaration is a category, and if the current's declaration container is a category. Otherwise this scenario fails: * Category method is available. * Category does not have availability attributes. * Main class is unavailable. with this typical code sequence: ```csharp // don't process methods (or types) that are unavailable for the current platform if (!decl.IsAvailable () || !(decl.DeclContext as Decl).IsAvailable ()) return; ``` In which case we'd: * First check the method (`decl`): * It's available, so no further checks is done on the method. * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container's container is a category (it isn't, it's the namespace). and as such determine that the method is available. With this change, the second step will become: * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container is a category (it is), and if its main class is available (it isn't). and as such determine that the method is unavailable. * Check for attributes on the method's container (no attributes, so we continue). * Check if the method's Unclassified diff: https://gist.github.com/rolfbjarne/8fa80962596978a426eadf9b7ba39dc1 * [uikit] Update for Xcode 9 GM (#2670) * [AVFoundation] Implement AVCapturePhoto. Partially fixes #59388. (#2678) Fixes: > common.unclassified:!missing-type! AVCapturePhoto not bound https://bugzilla.xamarin.com/show_bug.cgi?id=59388 * Use strong dictionaries for AVCapturePhoto.Metadata and AVCapturePhoto.EmbeddedThumbnailPhotoFormat. * [SIMD] Implement Simd double types (VectorDouble3/MatrixDouble4x4). (#2632) The following types will be used by ModelIO bindings * Fix delta to be double * Rename Simd-compatible matrices and vectors to match our final naming. This also means removing the new Vector2 and Vector4 variants (but not Vector3). * [avfoundation] Remove AVAssetDownloadDelegate.DidLoadTimeRange since it was removed in one of the betas (#2687) * [foundation] Move NSUrlSessionMultipathServiceType to a file processed by the generator (for the availability attributes) (#2688) * [arkit] Update for Xcode 9 GM (#2681) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes (#2690) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes Type Changed: Intents.INCarSeatResolutionResult Removed methods: public static INCarSeatResolutionResult GetConfirmationRequired (INCarSeat valueToConfirm); public static INCarSeatResolutionResult GetSuccess (INCarSeat resolvedValue); * [avfoundation] Add missing protocol members and deprecations (#2691) !missing-protocol-member! AVCapturePhotoCaptureDelegate::captureOutput:didFinishProcessingPhoto:error: not found and the selector removed from PR#2687 was actually replaced with this one !missing-protocol-member! AVAssetDownloadDelegate::URLSession:aggregateAssetDownloadTask:didLoadTimeRange:totalTimeRangesLoaded:timeRangeExpectedToLoad:forMediaSelection: not found * [tests][xtro] Map some enums, more fix with protocols and update entries (#2692) * [Tests] Reenable dns tests on the watch. (#2674) * [arkit] Add ARBlendShapeLocationOptions strong dictionary (#2696) * [coreimage] Skip not yet bound filters added in Xcode9 (#2698) Tracked in https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * [Metal] Renamed MTLArgumentDescriptor.ArgumentDescriptor to Create, fixes bug 59498 (#2702) https://bugzilla.xamarin.com/show_bug.cgi?id=59498 From [argumentDescriptor docs](https://developer.apple.com/documentation/metal/mtlargumentdescriptor/2915746-argumentdescriptor?language=objc) > Creates an empty argument descriptor. * [msbuild] Always codesign app bundles if the codesign key is non-null (#2697) ...even if it is a simulator build. Turns out that starting with Xcode9, sim builds need to be codesigned for App Groups entitlements to work properly. Interestingly, the DetectSigningIdentity logic had a comment about needing to codesign simulator builds for some entitlements to work already starting with Xcode 8 but apparently the iOS targets did not respect this. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=59379 * [Foundation] Add NSProxy stub in order to workaround bug 59247 (#2693) https://bugzilla.xamarin.com/show_bug.cgi?id=59247 We need to have a better solution that removes all what NSProxy does not responds to. Right now this works because NSObject implements NSObject protocol just like NSProxy, but NSProxy responds to far less selectors hence doing it internal so it is not a breaking change when we provide the correct fix. * Keep NSProxy around and avoid XML linker description We need to keep NSProxy (avoid linking it) if WKNavigationDelegate or IWKNavigationDelegate is used. We know WKWebView will be there and can hold a reference to it. * [Xcode 9] Update Metal for GM (#2689) * [iosurface] IOSurface is not usable before iOS/tvOS 11. Fixes #59201 (#2706) Apple rejects apps that links with the previously private IOSurface.framework. We were not sure about this [1] and had it disabled (this is removed). However another bug stopped our adjustment logic [2] from being executed. This is needed since `clang` picks up the private framework if it does not find the public one (even when asking for a weak framework), [1] https://bugzilla.xamarin.com/show_bug.cgi?id=59201 [2] Added a while ago for JavascriptCore * Bump maccore to point to commit with the docs fix. (#2703) * Bump XI to 11.0.x (and XM to 3.99.9.x) (#2684) * fix typo
2017-09-16 00:53:16 +03:00
#if XAMCORE_2_0
[Watch (4, 0), TV (11, 0), Mac (10, 13, onlyOn64: true), iOS (11, 0)]
Merge xcode9 into d15-4[-xi] (#2710) * [FileProvider] Add Xcode 9 Beta 1, 2 & 3 Bindings (#2279) * [FileProvider] Add Xcode 9 Beta 1 Bindings * Better naming * Feedback not related to BindAs * [FileProvider] Removes BindAs, add manual code for it and updated to Beta 3 * [FileProvider] Implement feedback * [CoreSpotlight] Updated spotlight bindings for xcode 9 beta 3. (#2193) Updated spotlight bindings for xcode 9 beta 3. * Fix warning caused by duplicate (#2354) * [FileProviderUI] Add Xcode 9 Beta 1 to 3 bindings (#2356) * Bump to Xcode 9 beta 4 * [arkit] ARLightEstimate does not conform to NSCopying anymore (fix unit test) * [uikit] NSFileProviderExtension.ReparentItem got a new parameter in beta4 (fix unit test) * [coreimage] CIImageAccumulator init returns nil in beta 4 There's no header change to mention `init` is not allowed but it's not clear how this default initializer could be used. Also make public some other API to construct this type (outside of XM). It's not clear why there were `internal` as they are (at least now) part of the header files. * [photos] Add helpers when PHLivePhotoEditingOption/NSDictionary is null (to avoid ambiguous API) (#2360) Adding a strongly typed `PHLivePhotoEditingOption` (a strongly typed version of an `NSDictionary`) can cause a `CS0121` (call is ambiguous) since using a `null` argument is common (only one option exist so far). This PR adds overloads that makes the code nicer in such case, e.g. before Xcode9: > // null is used when no options are given > _foo.SaveLivePhoto (output, null, completion); current (Xcode 9) > // casting required to remove ambiguity with PHLivePhotoEditingOption > _foo.SaveLivePhoto (output, (NSDictionary)null, completion); with this PR > // no option, no argument > _foo.SaveLivePhoto (output, completion); The same applies to `PrepareLivePhotoForPlayback`. * [tests] Disable/tweak two tests that breaks on (almost) all Xcode updates Those tests were not added to validate xOS so just keep the parts that helps us (without constantly checking back the new break flavor) * Disable watchOS to check if this hides others issues * [mapkit] Update for beta 4 * [coredata] Update for beta 4 * [wkwebkit] Update for beta 4 Note: WKWindowFeatures.h is not compiled (part of the framework umbrella) and the `@interface WKWindowFeatures (WKPrivate)` sounds like it should not have been exposed (it's all fields starting with `_`) * [corelocation] Update for beta 4 * Revert "Disable watchOS to check if this hides others issues" This reverts commit fed2249fa43290a1956ab2fe0d48f83ab6db9711. * [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]: https://github.com/xamarin/xamarin-macios/blob/f5956d6cc1eb5dfa7bab16628cf282d40237f64e/src/generator.cs#L5985 * [FinderSync] Update to beta 4 (#2377) * [ImageIO] Update to Xcode 9 (#2353) * [PhotosUI] Move macOS photosui bindings out of photos.cs into photosui.cs (#2358) * [quicklook] Update up to beta 4 (#2374) * [uikit] UIDragInteraction & UIDragInteractionDelegate (Xcode 9 b1,2,3) (#2357) * [safariservices] Update up to beta 4 (#2380) * [coreanimation] Update to beta 4 (#2382) Apple removed (mistake?) some API in beta 1. Filed as rdar 33590997 Internal tracking in https://trello.com/c/J8BDDUV9/86-33590997-coreanimation-quartzcore-api-removals * [storekit] Update up to beta 4 (#2379) * [CoreML] Update to Xcode 9 Beta 4 (#2387) * [uikit] UICollectionView/UITableView Drag & Drop (Xcode 9 b1,2,3 & 4) (#2355) * Update code after radar 32929318 and 32897776 are fixed in b4 (#2394) * [xcode9 CoreAudio] New definitions from Beta1 to Beta3 (#2359) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 (#2397) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 https://bugzilla.xamarin.com/show_bug.cgi?id=58512 Created strong API (VNBarcodeSymbology) on the following properties * VNDetectBarcodesRequest.SupportedSymbologies * VNDetectBarcodesRequest.Symbologies * VNBarcodeObservation.Symbology * Remove modern C# because classic can't do it 😡 * [mediaplayer] Update up to beta 4 (#2388) * [watchkit] Update to beta 4 (#2398) * Bump Visual Studio for Mac max version (#2408) * [coreimage] Add CIBarcodeDescriptor and enabled missing API for VNBarcodeObservation. Fix #58197 (#2411) https://bugzilla.xamarin.com/show_bug.cgi?id=58197 * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 (#2407) * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 * [uikit] Fixes based on comments * [coreimage] CIImageAccumulator API fixes. Fix #58349 (#2412) * Obsolete the default `init`; * XM exposed some older APIs using `int` instead of `CIFormat`. This is fixed and old APIs are obsoleted; * Both new & old APIs are now using `CIFormat` for both XI and XM. https://bugzilla.xamarin.com/show_bug.cgi?id=58349 * [uikit] UIText drag & drop - up to Xcode 9 beta 4 (#2410) * [uikit] UISplitView & UIStackView up to Xcode 9 beta 4 (#2425) * Bump XI/XM versions before preview 4 (#2422) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 (#2378) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 * [PDFKit] Implement feedback * [PDFKit] the forgotten enum * [PDFKit] More feedback * [PDFKit] Add Mac changes * Missing change * Fix test RectangleF VS CGRect * Pass -Wunguarded-availability-new to quiet a new clang warning (#2424) - https://bugzilla.xamarin.com/show_bug.cgi?id=58574 * [mtouch/mmp] Ignore warnings about unguarded code section with regards to availability. (#2441) * [monotouch-test] Remove workaround for fixed Apple bug. (#2445) * Bump to Xcode 9 beta 5. (#2447) * Bump to Xcode 9 beta 5. * [mmp] Disable the partial static registrar, because Apple's macOS SDK is broken. > In file included from Xamarin.Mac.registrar.mobile.i386.m:1: > In file included from ./Xamarin.Mac.registrar.mobile.i386.h:11: > /Applications/Xcode9-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVFoundation.h:88:9: fatal error: 'AVFoundation/AVRouteDetector.h' file not found https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [mmp] Fix partial static registrar removal. * [CallKit] Update to Xcode 9 beta 5. * [ARKit] ARPointCloud doesn't conform to NSCopying anymore in Xcode 9 beta 5. * [ARKit] Update to Xcode 9 beta 5 enough to make tests happy. * [CoreImage] Stub out new filters in Xcode 9 beta 5. * [tests][monotouch] Simplify some MDLMesh asserts since values change a lot between OS versions. * [mmp] Default to the dynamic registrar for release builds again, due to bug #58629. https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [tests][introspection] CXCall started implementing NSCopying without saying so in the headers. * Disable mmp static registrar tests due to 58629 for now * [quicklook] Update to beta 5 (#2450) * [photos] Update for beta 5 (#2452) Also update some existing enum members were added in beta 1 on macOS * [safariservices] Update for beta 5 (#2455) * [mediaplayer] Update to beta 5 (#2456) * [CoreLocation] Update Xcode 9 Beta 5 (#2453) * [CoreML] Update to Xcode 9 Beta 5 (#2454) * [Contacts] Update to Xcode 9 Beta 5 (#2451) * [Vision] Update to Xcode 9 Beta 5 (#2458) * [builds] Tell LLVM to stay away from newer macOS functions. (#2459) Fixes this build problem on Sierra: > ld: weak import of symbol '_futimens' not supported because of option: -no_weak_imports for architecture x86_64 This is a symbol that was (will be?) introduced in High Sierra. Interestingly this only occurs if the Xcode 8.X Command Line Tools haven't been manually installed. Because if the Xcode 8.X Command Line Tools are installed, this happens: 1. llvm's configure script detects that 'futimens' is not usable. 2. llvm's configure script detects that 'futimens' is not usable, because xcrun sets SDKROOT=/ when calling clang. a. When the SDKROOT variable is set, clang passes '-syslibroot /usr/lib' to ld. b. When ld gets '-syslibroot /usr/lib', ld looks in '/usr/lib' for a library that contains 'futimens' in the OS itself, and since we're on Sierra, that fails to link. c. So when llvm's configure script creates a test program that checks if 'futimens' is present, the program fails. This is correct, and makes llvm *not* use futimens. 3. xcrun sets SDKROOT=/ because /usr/share/current-os.sdk/Info.plist exists. If that file does not exist, then xcrun sets SDKROOT to Xcode9's macOS SDK (because that's what xcode-select reports). a. When SDKROOT is set to Xcode9's macOS SDK, the configure check for 'futimens' succeeds, because the macOS 10.13 SDK contains that function. b. llvm happily uses 'futimens', and then the final link fails because we're using a symbol not available on all target platforms. * [arkit] Update for Xcode 9 beta 5 - Part 1 (#2460) * [tests] The container app for watchOS tests should be 64-bit. (#2463) * [xharness] watchOS tests need to run in a clean environment. Works around #58348. (#2462) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [xharness] It watchOS tests don't need to be clean anymore. Fixes #58348. (#2473) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [uikit] UIView/UIScrollView/UIViewController up to Xcode 9 beta 5 (#2431) - Add NSDirectionalEdgeInsets type. - Includes DirectionalEdgeInsetsTest. * [AudioToolbox] Update bindings to Xcode 9 beta3 (not later changes). (#2294) * [xharness] Add a file existence check. (#2478) Fixes this exception: ``` Harness exception for 'introspection': System.IO.FileNotFoundException: Could not find file '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log'. File name: '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log' at System.IO.__Error.WinIOError (System.Int32 errorCode, System.String maybeFullPath) [0x00207] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/__error.cs:188 at System.IO.FileInfo.get_Length () [0x00038] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/fileinfo.cs:171 at xharness.CaptureLog.StopCapture () [0x00021] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Log.cs:252 at (wrapper remoting-invoke-with-check) xharness.CaptureLog:StopCapture () at xharness.AppRunner+<RunAsync>d__68.MoveNext () [0x0127f] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/AppRunner.cs:642 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter`1[TResult].GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:357 at xharness.RunSimulatorTask+<RunTestAsync>d__7.MoveNext () [0x0029d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2894 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.RunTestTask+<ExecuteAsync>d__8.MoveNext () [0x0010b] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2538 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.TestTask+<RunInternalAsync>d__87.MoveNext () [0x0010d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:1870 ``` I'm not sure how this can happen, but it has on the bots [1]. [1] https://jenkins.mono-project.com/job/xamarin-macios-pr-builder/4548/Test_Report/ * Bump versions for preview 5 (#2479) * [passkit] Update to beta 5 (#2481) * [tests] Remove workaround for radar #32688391. (#2486) * [replaykit] Update up to beta 5 (#2484) * Bump maccore to get fix for bug #55064. (#2487) * [apidiff] Update definition to new 10.12 (d15-3) stable release (#2490) * [SceneKit] basic work (#2483) * [coredata] Update to beta 5 (#2488) * [homekit] Update for Xcode 9 beta 5 (#2492) * [Foundation] Update for xcode9 (#2468) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 (#2493) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 * [Intents] Implement feedback * [Intents] Add a generic version for INInteraction.GetParameterValue * [Intents] Missing check * [Contacts] Add missing foundation NSItemProviderWriting protocol to CNContact (#2496) https://bugzilla.xamarin.com/show_bug.cgi?id=58203 This is available on all Contacts supported platforms ``` ./iPhoneOS.platform/Developer/SDKs/iPhoneOS11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchOS.platform/Developer/SDKs/WatchOS4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchSimulator.platform/Developer/SDKs/WatchSimulator4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ``` * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) (#2497) * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) * [IntentsUI] Better use a delegate instead so we have named params * Bump versions before 6th preview (#2514) * [arkit] Add missing MarshalDirective to ARPlaneAnchor (#2517) - Fixes bug #58648: ARPlaneAnchor.Extent property seems incorrect but changes to correct value after Debug access (https://bugzilla.xamarin.com/show_bug.cgi?id=58648) * [xtro-sharpie] Fix a compiler warning. (#2516) Fixes these warnings: Runner.cs(197,5): warning CS0642: Possible mistaken empty statement Runner.cs(199,5): warning CS0642: Possible mistaken empty statement Runner.cs(201,5): warning CS0642: Possible mistaken empty statement Runner.cs(203,5): warning CS0642: Possible mistaken empty statement Runner.cs(205,5): warning CS0642: Possible mistaken empty statement * [uikit] Update for Xcode 9 beta 5 - Part 3 (#2511) - UIKeyCommand - UINavigationBar - UINavigationItem - UIPasteboard - UITableViewHeaderFooterView * [xtro-sharpie] Remove xtro-plugin and misc other fixes. (#2522) * [xtro-sharpie] Build with msbuild and be as quiet as requested when building. * [xtro-sharpie] Must run as a 64-bit process, since the required native libraries are 64-bit. * [xtro-sharpie] Add run configurations to the project file to ease debugging in the IDE. * [xtro-sharpie] Remove xtro-plugin and the related commands. This was needed when there wasn't a 64-bit mono, in order to run xtro-sharpie in a 64-bit process. Now there is a 64-bit mono, so it's not needed anymore. Also improve makefile targets a bit, to auto-build stuff when needed, by setting the right dependencies. * Bump Xcode 9 to beta 6 (#2519) Disable watchOS tests again It seems like the Carousel crash from beta 4 is back to haunt us. This was working fine with beta 5. * Backport d15-3 SR2 fixes (#2515) * [coredata] Update to beta 6 (#2528) This seems to only revert some nullability changes from beta 5. * [coreml] Update to beta 6 (#2531) Fix our rdar 33643011 where additional setters were added in the headers but did not exists. * [videosubscriberaccount] Update to beta 6 (#2533) Only b1 and b2 introduced some additions/changes * [uikit] Update for Xcode 9 beta 6 - Part 4 (#2527) The following headers are now up to date: - UICollectionViewFlowLayout.h - UIDocumentPickerViewController.h - UIFontDescriptor.h - UIImage.h - UIImageView.h - UIImagePickerController.h * [xharness] Re-enable the watchOS tests. (#2534) It works fine for me locally, so let's see what Jenkins says. * [macos] Add new APIs in CoreWlan from Xcode9b3 (#2525) * Update AppKit bindings based on radar 33271241 results (#2518) * Update AppKit bindings based on radar 33271241 results - The header comment was updated to note it was NSSliderTouchBarItem view that has the protocol * Remove NSUserInterfaceCompression where not listed in header * [vision] Update to beta 6 (#2532) Removal of some deprecated (during beta) `init*` selectors. Also sync the versions that were inlined in subclasses - the old ones were not removed and the new ones were not added. * [xtro-sharpie] Many methods don't have selectors in Clang's API, so default to the name if no selector. (#2523) This makes a few more unclassified entries show up (mostly missing designated initializers): https://gist.github.com/rolfbjarne/07aa20f9b50b75bf3e69ac6a825e873a * [macos] Add ExternalAccessory APIs from xcode9 (#2526) * [58851] Disable NSMenuView in AllItemsWithNSMenuShouldAllowNull (#2504) * [arkit] Update for Xcode 9 beta 5 - Part 2 (#2505) - Add last missing selector. - Add tests for manual code. * [monotouch-test] Disable FontDescriptorTest.WithFeature (#2537) Disabled because it looks like the tvOS font we use: "Gujarati Sangam MN" does not have rare ligatures anymore (and the entire test is based on it). Before getting an actual fix for that, let's disable the test so it doesn't break all current builds. See: https://bugzilla.xamarin.com/show_bug.cgi?id=58929 * [xtro-sharpie] Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute. (#2524) Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute to calculate the native name for a TypeDefinition. Unclassified changes: https://gist.github.com/rolfbjarne/828f8ee41eebb0a3b60a38d71822fe59 * [foundation/uikit] Inline NSItemProvider_UIKitAdditions in NSItemProvider (#2538) As suggested here: https://github.com/xamarin/xamarin-macios/pull/2527#discussion_r134670981 * [intents] Fix breaking changes (api-diff) (#2543) Additions of @required members inside `INSpeakable` cannot be `[Abstract]` * [contacts] Fix breaking change (api-diff) (#2542) Type Changed: Contacts.CNPostalAddress Removed method: public static string LocalizeProperty (CNPostalAddressKeyOption option); * [macos] Reenable static registrar since Xcode9b6 un-broke SDK headers (#2544) - Fix a subtle spacing issues in PartialStaticLibrary property * [corebluetooth] Update up to beta 6 and enable it on watchOS (#2540) macOS 10.13 has finally catch up with iOS and this simplifies the bindings a bit. * [foundation] API fixes (apidiff) (#2545) 1. Let's not add new, already [Obsolete] API Type Changed: Foundation.NSDimension Added constructors: [Obsolete ("Not intended to be directly instantiated, this is an abstract class.")] public NSDimension (); 2. Fix inconsistently named API, e.g. Type Changed: Foundation.NSAttributedString Added properties: public static string[] ReadableTypeIdentifiersForItemProvider { get; } public static string[] WritableTypeIdentifiers { get; } * [pdfkit] Do not add already [Obsolete] API in new profiles (#2547) and ensure using the newer, correct API works cross-platforms iOS (before) [Obsolete ("Use 'Find (string, NSStringCompareOptions)' instead.")] public virtual PdfSelection[] Find (string text, nint options); public PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'Find (string, PdfSelection, NSStringCompareOptions)' instead.")] public virtual PdfSelection Find (string text, PdfSelection selection, nint options); public void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string, NSStringCompareOptions)' instead.")] public virtual void FindAsync (string text, nint options); public void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string [], NSStringCompareOptions)' instead.")] public virtual void FindAsync (string[] text, nint options); iOS (after) public virtual PdfSelection[] Find (string text, Foundation.NSStringCompareOptions compareOptions); public virtual PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); * Bump versions for the 7th preview (#2541) * Remove additions of AVKit removed in beta5 (#2536) * NSUrlSessionTask should implement NSProgressReporting for iOS (#2548) NSUrlSessionTask implements NSProgressReporting on iOS as well as Mac, so the #if MONOMAC isn't needed. * Add missing availability attributes causing failures on older iOS versions (#2550) * [vision] Minor fix wrt xtro (#2551) including some things we need to ignore manually !missing-field! VNVisionVersionNumber not bound !missing-pinvoke! VNImagePointForFaceLandmarkPoint is not bound !missing-pinvoke! VNNormalizedFaceBoundingBoxPointForLandmarkPoint is not bound * [uikit] NSFileProviderMessaging was removed in beta 2. Fixes #58222 (#2552) reference: https://bugzilla.xamarin.com/show_bug.cgi?id=58222 * [uikit] Update for Xcode 9 - Part 5 (#2546) Bindings for the following headers: - UIActivity.h - UIActivityItemProvider.h - UIAlertController.h - UIApplication.h - UIBarButtonItem.h - UIButton.h - UICollectionViewLayout.h - UIColor.h - UIControl.h - UIDocumentMenuViewController.h - UIFontMetrics.h - UIGestureRecognizer.h - UIGraphicsImageRenderer.h - UIInputViewController.h * [CoreText] Fix an extraneous free in CTFont.GetDefaultCascadeList. (#2555) We do not own the return value from CFArrayGetValueAtIndex, so don't say we do when creating CTFontDescriptor instances, since that leads to angry dragons: 2017-08-28 20:15:20.293 monotouchtest[33186:2311738] A_FontTest 2017-08-28 20:15:20.294 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithFontDescriptorAndOptions 2017-08-28 20:15:20.295 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithNameAndOptions 2017-08-28 20:15:20.296 monotouchtest[33186:2311738] critical: Stacktrace: at <unknown> <0xffffffff> at (wrapper managed-to-native) CoreText.CTFont.CTFontCopyDefaultCascadeListForLanguages (intptr,intptr) [0x0000a] in <ae65a2b1eea242d2b68fe784749543bf>:0 at CoreText.CTFont.GetDefaultCascadeList (string[]) [0x00013] in /work/maccore/xcode9/xamarin-macios/src/CoreText/CTFont.cs:2185 at MonoTouchFixtures.CoreText.A_FontTest.GetCascadeList () [0x0001e] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/CoreText/FontTest.cs:78 at (wrapper runtime-invoke) object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) [0x0004f] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) System.Reflection.MonoMethod.InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&) [0x00016] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at System.Reflection.MonoMethod.Invoke (object,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo) [0x00032] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/corlib/System.Reflection/MonoMethod.cs:305 at System.Reflection.MethodBase.Invoke (object,object[]) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/referencesource/mscorlib/system/reflection/methodbase.cs:229 at NUnit.Framework.Internal.Reflect.InvokeMethod (System.Reflection.MethodInfo,object,object[]) [0x00009] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Reflect.cs:215 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunNonAsyncTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x00025] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:116 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x0001a] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:90 at NUnit.Framework.Internal.Commands.TestMethodCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:66 at NUnit.Framework.Internal.Commands.SetUpTearDownCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00007] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/SetUpTearDownCommand.cs:84 at NUnit.Framework.Internal.WorkItems.SimpleWorkItem.PerformWork () [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/SimpleWorkItem.cs:64 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at MonoTouch.NUnit.UI.BaseTouchRunner.Run (NUnit.Framework.Internal.Test) [0x0004d] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:442 at MonoTouch.NUnit.UI.BaseTouchRunner.Run () [0x00030] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:171 at MonoTouch.Dialog.StringElement.Selected (MonoTouch.Dialog.DialogViewController,UIKit.UITableView,Foundation.NSIndexPath) [0x00008] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/Elements.cs:765 at MonoTouch.Dialog.DialogViewController.Selected (Foundation.NSIndexPath) [0x00026] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:577 at MonoTouch.Dialog.DialogViewController/Source.RowSelected (UIKit.UITableView,Foundation.NSIndexPath) [0x00016] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:402 at (wrapper runtime-invoke) <Module>.runtime_invoke_void__this___object_object (object,intptr,intptr,intptr) [0x0005d] in <32f0c196c5bc4aa18daea2ee64a7814e>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) UIKit.UIApplication.UIApplicationMain (int,string[],intptr,intptr) [0x0005c] in <ae65a2b1eea242d2b68fe784749543bf>:0 at UIKit.UIApplication.Main (string[],intptr,intptr) [0x00005] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:79 at UIKit.UIApplication.Main (string[],string,string) [0x00038] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:63 at monotouchtest.Application.Main (string[]) [0x00011] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/Main.cs:27 at (wrapper runtime-invoke) <Module>.runtime_invoke_void_object (object,intptr,intptr,intptr) [0x00051] in <30a7f7e09de9467b8b454221034a0e38>:0 Native stacktrace: 0 monotouchtest 0x000000010fca03c4 mono_handle_native_crash + 244 1 monotouchtest 0x000000010fcadd30 mono_sigsegv_signal_handler + 288 2 libsystem_platform.dylib 0x000000011feb3b3a _sigtramp + 26 3 CoreFoundation 0x000000011de035a2 computeSanitizedString + 146 4 CoreText 0x00000001168df314 _ZN15TPurgeableCache19RetainedValueForKeyEPKv + 54 5 CoreText 0x00000001168def85 _ZNK17TDescriptorSource22CopyDescriptorUncachedEPK7__CFURLbPK10__CFString + 55 6 CoreText 0x00000001168df34f _ZNK17TDescriptorSource14CopyDescriptorEPK7__CFURLbPK10__CFString + 27 7 CoreText 0x00000001168e20ad _ZNK17TDescriptorSource35CopyFontDescriptorPerPostScriptNameEPK10__CFStringmm + 297 8 CoreText 0x00000001168dfd9e _ZNK17TDescriptorSource30CopySystemFontDescriptorByNameEPK10__CFString10UIFontFlag + 54 9 CoreText 0x00000001168e54c4 _ZNK14TFontFallbacks17CopyFontFallbacksEPK10__CFStringS2_PK9__CFArray + 652 10 CoreText 0x00000001168e4a00 _ZNK14TFontFallbacks29CopyFontFallbacksForLanguagesEPK10__CFStringPK9__CFArray + 122 11 CoreText 0x00000001168e4971 _ZN17TDescriptorSource39CopyDefaultSubstitutionListForLanguagesEPK10__CFStringPK9__CFArray + 61 12 CoreText 0x00000001169397a7 _ZNK9TBaseFont28CreateSystemDefaultFallbacksEPK10__CFStringPK9__CFArray + 51 13 CoreText 0x000000011693999c _ZNK9TBaseFont15CreateFallbacksE10UIFontFlagPPK16__CFCharacterSetPK9__CFArray + 346 14 CoreText 0x00000001168c1036 _ZNK5TFont24CreateDefaultCascadeListEPK9__CFArray + 242 15 CoreText 0x00000001168b8ff9 CTFontCopyDefaultCascadeListForLanguages + 97 16 ??? 0x0000000140eaefd3 0x0 + 5384105939 17 ??? 0x0000000140eae761 0x0 + 5384103777 18 ??? 0x000000013c9c8e74 0x0 + 5311860340 19 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 20 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 21 monotouchtest 0x000000010fd71bac mono_runtime_try_invoke_array + 1292 22 monotouchtest 0x000000010fd15587 ves_icall_InternalInvoke + 647 23 ??? 0x000000013e9fcd13 0x0 + 5345627411 24 ??? 0x000000013e9fc738 0x0 + 5345625912 25 ??? 0x000000013e9fded5 0x0 + 5345631957 26 ??? 0x000000013e9fbb76 0x0 + 5345622902 27 ??? 0x000000013e9e237e 0x0 + 5345518462 28 ??? 0x000000013e9e237e 0x0 + 5345518462 29 ??? 0x000000013e9e237e 0x0 + 5345518462 30 ??? 0x000000013e9e237e 0x0 + 5345518462 31 ??? 0x000000013e873006 0x0 + 5344014342 32 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 33 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 34 monotouchtest 0x000000010fd6e320 mono_runtime_invoke + 208 35 monotouchtest 0x000000010fe71af1 xamarin_invoke_trampoline + 5617 36 monotouchtest 0x000000010fe79ddd xamarin_arch_trampoline + 189 37 monotouchtest 0x000000010fe7b1a1 xamarin_x86_64_common_trampoline + 110 38 UIKit 0x0000000111b9876b -[UITableView _selectRowAtIndexPath:animated:scrollPosition:notifyDelegate:] + 1810 39 UIKit 0x0000000111b98986 -[UITableView _userSelectRowAtPendingSelectionIndexPath:] + 344 40 UIKit 0x0000000111a6b5c9 _runAfterCACommitDeferredBlocks + 318 41 UIKit 0x0000000111a59dad _cleanUpAfterCAFlushAndRunDeferredBlocks + 280 42 UIKit 0x0000000111a89f68 _afterCACommitHandler + 137 43 CoreFoundation 0x000000011de3ddb7 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23 44 CoreFoundation 0x000000011de3dd0e __CFRunLoopDoObservers + 430 45 CoreFoundation 0x000000011de22324 __CFRunLoopRun + 1572 46 CoreFoundation 0x000000011de21a89 CFRunLoopRunSpecific + 409 47 GraphicsServices 0x0000000121b7e9c6 GSEventRunModal + 62 48 UIKit 0x0000000111a5f7d0 UIApplicationMain + 159 49 ??? 0x000000013c9c4474 0x0 + 5311841396 50 ??? 0x000000013c9c40ad 0x0 + 5311840429 ================================================================= Got a SIGSEGV while executing native code. This usually indicates a fatal error in the mono runtime or one of the native libraries used by your application. ================================================================= * [monotouch-test] Don't subclass MKMapView. (#2556) MKMapView doesn't like being subclassed (Apple says "you should not subclass the MKMapView class itself"). Bad things like this starts happening: Thread 0 name: tid_303 Dispatch queue: com.apple.main-thread Thread 0 Crashed: 0 libsystem_kernel.dylib 0x0000000186b25348 __pthread_kill + 8 1 libsystem_pthread.dylib 0x0000000186c39354 pthread_kill$VARIANT$mp + 396 2 libsystem_c.dylib 0x0000000186a94fd8 abort + 140 3 monotouchtest 0x0000000101c02c14 mono_handle_native_crash + 22047764 (mini-exceptions.c:2548) 4 monotouchtest 0x0000000101c0d02c mono_sigsegv_signal_handler + 22089772 (mini-runtime.c:2886) 5 libsystem_platform.dylib 0x0000000186c33b60 _sigtramp + 52 6 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 7 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 8 CoreFoundation 0x0000000186eda51c -[__NSArrayM dealloc] + 68 9 CoreFoundation 0x000000018703f5c8 __CFBasicHashDrain + 312 10 CoreFoundation 0x0000000186fb5b44 _CFRelease + 224 11 CoreText 0x000000018a808404 TDescriptorSource::PurgeFontFallbacksCache+ 488452 () + 92 12 CoreText 0x000000018a808374 TDescriptorSource::PurgeFromCaches+ 488308 (__CFURL const*) const + 176 13 CoreText 0x000000018a7eec74 CTFontRemoveFromCaches + 168 14 VectorKit 0x0000000196a539b0 +[VKSharedResourcesManager removeResourceUser:] + 324 15 VectorKit 0x0000000196ca27a4 md::MapEngine::~MapEngine+ 2643876 () + 360 16 VectorKit 0x0000000196ca2634 md::MapEngine::~MapEngine+ 2643508 () + 12 17 libobjc.A.dylib 0x000000018651eef4 object_cxxDestructFromClass+ 28404 (objc_object*, objc_class*) + 148 18 libobjc.A.dylib 0x000000018652c638 objc_destructInstance + 88 19 libobjc.A.dylib 0x000000018652c690 object_dispose + 16 20 QuartzCore 0x000000018afca3ac -[CALayer dealloc] + 116 21 VectorKit 0x0000000196a43294 -[VKMapView dealloc] + 940 22 QuartzCore 0x000000018af6aafc CA::release_objects+ 744188 (X::List<void const*>*) + 32 23 QuartzCore 0x000000018afd97d8 CA::Layer::~Layer+ 1198040 () + 276 24 QuartzCore 0x000000018afca37c -[CALayer dealloc] + 68 25 QuartzCore 0x000000018af6b16c CA::Transaction::commit+ 745836 () + 1052 26 UIKit 0x0000000190393290 _afterCACommitHandler + 256 27 CoreFoundation 0x0000000186fb38b8 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 32 28 CoreFoundation 0x0000000186fb1270 __CFRunLoopDoObservers + 412 29 CoreFoundation 0x0000000186fb182c __CFRunLoopRun + 1292 30 CoreFoundation 0x0000000186ed22d8 CFRunLoopRunSpecific + 436 31 GraphicsServices 0x0000000188d58f84 GSEventRunModal + 100 32 UIKit 0x000000019040427c UIApplicationMain + 208 33 monotouchtest 0x000000010106eb90 wrapper_managed_to_native_UIKit_UIApplication_UIApplicationMain_int_string___intptr_intptr + 9907088 (/<unknown>:1) 34 monotouchtest 0x0000000100f0d6ac UIKit_UIApplication_Main_string___intptr_intptr + 8459948 (UIApplication.cs:79) 35 monotouchtest 0x0000000100f0d66c UIKit_UIApplication_Main_string___string_string + 8459884 (UIApplication.cs:63) 36 monotouchtest 0x0000000100b10450 monotouchtest_Application_Main_string__ + 4277328 (Main.cs:27) 37 monotouchtest 0x0000000100e0c244 wrapper_runtime_invoke_object_runtime_invoke_dynamic_intptr_intptr_intptr_intptr + 244 38 monotouchtest 0x0000000101c10048 mono_jit_runtime_invoke + 22102088 (mini-runtime.c:2526) 39 monotouchtest 0x0000000101c75eec do_runtime_invoke + 22519532 (object.c:2829) 40 monotouchtest 0x0000000101c78a3c do_exec_main_checked + 22530620 (object.c:4623) 41 monotouchtest 0x0000000101bf9a1c mono_jit_exec + 22010396 (driver.g.c:1040) 42 monotouchtest 0x0000000101d13d60 xamarin_main + 23166304 (monotouch-main.m:482) 43 monotouchtest 0x00000001007de710 main + 927504 (main.m:67) 44 libdyld.dylib 0x00000001869f656c start + 4 * [introspection] Let SkipDueToAttributeInProperty skip setters too (#2557) `SkipDueToAttributeInProperty` which is used to check the availability attribute of properties when the Availability info only exist on the property and not on the property Getter or Setter was wrong. This lead to `setSpringLoaded` (which was introduced in iOS 11) to not be ignored by the test (making it fail). - Fix bug #59085: [introspection-ios] selector not found for UIKit.UIBarButtonItem : setSpringLoaded: - Broken test (https://bugzilla.xamarin.com/show_bug.cgi?id=59085) * [corevideo][watchos] Enable CoreVideo on watchOS (#2553) * [storekit] Fix CampaignToken typo (#2559) (#2560) - Fixes bug #59078: StoreProductParameters and invalid property for CampaignToken (https://bugzilla.xamarin.com/show_bug.cgi?id=59078) * [coreml][watchos] Enable API using CoreVideo on watchOS. Fix #58097 (#2561) https://bugzilla.xamarin.com/show_bug.cgi?id=58097 * Add missing [MarshalDirective] attributes. (#2558) * [bindings-generator] Improve build & project file. * Add missing [MarshalDirective] attributes. Add missing [MarshalDirective] attributes, which also requires implementing support for out parameters in the binding generator, since one of the signatures missing the [MarshalDirective] contains such an out parameter. Also add tests for all the API I've added [MarshalDirective] to. * [bindings-generator] Remove redundant if check. * [monotouch-test] Rename file to end with 'Test.cs'. * [tests] Fix a few build errors for Xamarin.Mac. * [uikit] Fix UIColor and UIInputViewController tvOS availability (#2569) - Fixes introspection tests on tvOS 10. * [storekit] Fix SKCloudServiceSetupMessageIdentifier and SKProductStorePromotionController tvOS availability (#2568) - Fixes introspection tests on tvOS 10. * [mapkit] Fix MKMapItemTypeIdentifier tvOS availability (#2566) - Also remove double [Mac] availability attribute. - Fixes introspection tests on tvOS 10. * [ARKit] Fix marshalling for ARPointCloud.RawFeaturePoints. (#2565) ARPointCloud.RawFeaturePoints is an array of Vector3, but each vector is 16-byte aligned (as if it were an array of Vector4). This means we need to account for this when creating a managed array from pointer to the native C-style array. * [ModelIO] Fix MDLVoxelIndexExtent struct. (#2564) The MDLVoxelIndexExtent is a struct containing two 4-dimensional vectors of integers (not floats, as originally and incorrectly implemented). Fix this my creating a new MDLVoxelIndexExtent2 struct with the right fields, re-implement all the API that exposes this struct and obsolete the old API. Also add missing [MarshalDirective] attributes. And write a test to make sure it works fine now and forever. * [coredata] Enable new fields since rdar #33878590 is fixed w/beta 6 (#2570) reference: https://trello.com/c/dlSRYPFx * [xtro-sharpie] Add a Simd check class to verify signatures with Simd types. * [Simd] Add simd matrix types. The OpenTK matrices (Matrix2/3/4) has a different memory layout than Apple's matrix_float2x2/matrix_float3x3/matrix_float4x4 matrices: the OpenTK versions are row-major, while Apple's versions are column-major. This means that when blitting memory from one to the other, the matrix will appear to have been transposed. See bug #[58599][2] for an example. Unfortunately we've already bound several API with Apple's matrix_floatXxX matrices using OpenTK's matrices, and although they're bound wrong, and the matrices appear transposed on input/output, we can't change the behavior because we have to maintain compatibility. This means we have to introduce new API, and then also just define new matrix types with the right memory layout (column-major). Additionally, in the future we might be able to mark these matrices as Simd-matrixes, so that the JIT/AOT compiler can generate the correct alignment for them, avoiding having to define a native conversion method (using the [MarshalDirective] hack). The matrices have been designed to match API-wise the matrices in the System.Numerics.Vectors namespace [1], but for the moment with only a few basic operations implemented (Determinant/Transpose/Multiply) defined (we can always add more later if we want to). In addition explicit conversion operators to and from the corresponding OpenTK.MatrixX are implemented, which means any operation defined in the OpenTK matrices can be used by converting back and forth. [1]: https://msdn.microsoft.com/en-us/library/system.numerics.matrix4x4(v=vs.111).aspx [2]: https://bugzilla.xamarin.com/show_bug.cgi?id=58599 * [ARKit] Use the new Simd matrix types. * [Vision] Use the new Simd matrix types. * [ModelIO] Use the new Simd-compatible matrix types, and deprecate the old API. * [GameplayKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [SpriteKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [xtro] Don't report missing [MarshalDirective] for obsolete methods. * [xtro] Remove unnecessary ignores. The implementation changed, and these stayed accidentally. * [wkwebkit] Fix (native) protocol names (#2572) Also ignore xtro's WKSnapshotConfiguration since it's an Apple bug 34185961 reference (xtro) !missing-protocol! WKURLSchemeHandler not bound !missing-protocol! WKURLSchemeTask not bound !unknown-protocol! WKUrlSchemeHandler bound !unknown-protocol! WKUrlSchemeTask bound !unknown-type! WKSnapshotConfiguration bound * [uikit] Fix enums availability attributes (#2575) - Fixes bug #59132: [uikit] Extra types in watchOS (https://bugzilla.xamarin.com/show_bug.cgi?id=59132) * [watchkit] Add missing designated initializers (#2574) references (xtro) !missing-designated-initializer! WKInterfaceController::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! WKUserNotificationInterfaceController::init is missing an [DesignatedInitializer] attribute * [xtro] Reword some of the Simd diagnostic messages according to review. * [tests] Make sure test symbols don't clash between different test libraries. Fixes this build problem for framework-test: clang: error: linker command failed with exit code 1 (use -v to see invocation) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_get_rotation_matrix'. MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticObjectTest.framework/XStaticObjectTest (Location related to previous error) MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticArTest.framework/XStaticArTest(libtest-ar.x86_64.o) (Location related to previous error) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransformcomponent_get_local_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_create_global_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float4x4'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float3x3'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float2x2'. MTOUCH: error MT5209: Native linking error: 6 duplicate symbols for architecture x86_64 MTOUCH: error MT5202: Native linking failed. Please review the build log. * [tests] Since libtest.a need ModelIO now, the corresponding LinkWith attributes need to state that too. * [introspection] Don't check native signatures on obsolete members, and ignore the right simd matrix types. Fixes this introspection/Mac problem: ***** ApiSignatureTest.NativeSignatures Selector: uniformWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: uniformWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: uniformWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: setMatrixFloat2x2Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: setMatrixFloat3x3Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: setMatrixFloat4x4Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: initWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: initWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: initWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded * [monotouch-tests] Include more custom asserts for watchOS to make the build work. Fixes this: Simd/MatrixFloat4x4Test.cs(28,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(29,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(37,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(48,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' [...] * [monotouch-test] Exclude code that requires the binding project from xammac tests. Exclude code that requires the test binding project from xammac tests because there's currently no XM version of the test binding project. Fixes this: tests/monotouch-test/SpriteKit/UniformTest.cs(20,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLMaterialProperty.cs(37,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLTransform.cs(34,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) * Bump version for preview #8 (#2576) * [spritekit] Audit fixes (xtro) (#2577) 1. SKVideoNode is now, partially, available on watchOS and does not require the extra, manual code to swicth selectors depending on the OS version being run. !missing-type! SKVideoNode not bound !missing-selector! SKVideoNode::anchorPoint not bound !missing-selector! SKVideoNode::initWithCoder: not bound !missing-selector! SKVideoNode::initWithFileNamed: not bound !missing-selector! SKVideoNode::initWithURL: not bound !missing-selector! SKVideoNode::setAnchorPoint: not bound !missing-selector! SKVideoNode::setSize: not bound !missing-selector! SKVideoNode::size not bound !missing-selector! +SKVideoNode::videoNodeWithFileNamed: not bound !missing-selector! +SKVideoNode::videoNodeWithURL: not bound 2. SKNodeFocusBehavior is exposed needlessly on watchOS because SpriteKit/Enums.cs was not processed by the generator, so [NoWatch] did not matter. !unknown-native-enum! SKNodeFocusBehavior bound It's also visible on macOS but nothing uses it (so we do not expose it needlessly) !missing-enum! SKNodeFocusBehavior not bound 3. Add missing designated initializer on default `init` !missing-designated-initializer! SKAttributeValue::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! SKNode::init is missing an [DesignatedInitializer] attribute 4. Remove inconsistency for SKNode subclasses wrt XAMCORE_4_0 The trio attributeValues, setAttributeValues and setValue:forAttributeNamed: that was moved from SKNode (deprecated) into its subclasses. This was done using XAMCORE_4_0 but not on every subclasses. This adds them everywhere to be consistent (only SKNode versions are not defined in XAMCORE_4_0) !missing-selector! SKEffectNode::attributeValues not bound !missing-selector! SKEffectNode::setAttributeValues: not bound !missing-selector! SKEffectNode::setValue:forAttributeNamed: not bound !missing-selector! SKEffectNode::valueForAttributeNamed: not bound !missing-selector! SKEmitterNode::attributeValues not bound !missing-selector! SKEmitterNode::setAttributeValues: not bound !missing-selector! SKEmitterNode::setValue:forAttributeNamed: not bound !missing-selector! SKEmitterNode::valueForAttributeNamed: not bound !missing-selector! SKSpriteNode::attributeValues not bound !missing-selector! SKSpriteNode::setAttributeValues: not bound !missing-selector! SKSpriteNode::setValue:forAttributeNamed: not bound !missing-selector! SKSpriteNode::valueForAttributeNamed: not bound * [introspection] Make sure '[FAIL]' is printed before every failure. (#2578) This makes xharness able to list the failures in the inline summary. * [xtro] Reword some of the Simd diagnostic messages according to review. * [xharness] Add a missing IsServerMode check to generate correct html. (#2581) * [SpriteKit] SKTransformNode is new in Xcode 9 so no need to keep the broken (and obsolete) non-simd version of RotationMatrix. * [intents] Fix some (partial) xtro issues and #59156 (#2585) reference https://bugzilla.xamarin.com/show_bug.cgi?id=59156 Remaining issues are filled in https://bugzilla.xamarin.com/show_bug.cgi?id=59183 !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound * [Intents] Confirm* interface methods should be bound as Confirm, Fixes Bug 59164 (#2591) * [Intents] Confirm* interface methods should probably be bound as Confirm, Fixes Bug 59164 https://bugzilla.xamarin.com/show_bug.cgi?id=59164 All Confirm* methods from *IntentHandling interfaces should be named just `Confirm` to avoid confusion because most of them do not directly confirm as an acion, but instead they **ask** for confirmation also we would follow swift's naming by doing this. * [Intents] XAMCORE_4_0 all Confirm* methods from *IntentHandling Turns any Confirm* into just Confirm inside a XAMCORE_4_0 block, * [Intents] Fix breaking changes in Intents added in Xcode 9 Bindings (#2590) Apple added more protocol conformances to INRidesharingDomainHandling and INPaymentsDomainHandling protocols in Xcode 9, I introduced these breaking changes back when I did intents binding so fixing them :) * [Metal] New bindings from Xcode 9 betas (#2457) * [AVFoundation] Updated bindings for xcode9. (#2272) * [Xcode9] Add IOSurface bindings (#2363) * This framework was a private framework before iOS 11. This framework was a private framework before iOS 11, yet the headers claim many API were introduced in iOS 10. So take account of this difference by using the private framework location in iOS 10.3 or earlier. Testing these API from Xcode works fine when run on an iOS 10.3 device, and I've confirmed the IOSurface framework is loaded from the private frameworks path on older devices (and when built using Xcode 9 and linked with the public framework path). * Disable code to make IOSurface work on iOS 10. Disable the code to make IOSurface work on iOS 10, since it may be rejected by the App Store. This also means adjusting the availability attributes, so that the introspection tests pass (and to document that technically these API won't work when used with Xamarin.iOS in iOS 10). I've filed bug #[59201][1] to keep track of this, maybe we can re-enable this later. [1]: https://bugzilla.xamarin.com/show_bug.cgi?id=59201 * [CoreMedia] Fix leak in CMAttachmentBearer.GetAttachments. (#2593) The caller owns the return value from CMCopyDictionaryOfAttachments, so tell Runtime.GetNSObject that. * [Intents] Adds missing API found by xtro, fixes Bug 59183 (#2596) https://bugzilla.xamarin.com/show_bug.cgi?id=59183 Fixes !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !incorrect-protocol-member! INUIHostedViewControlling::configureWithInteraction:context:completion: is OPTIONAL and should NOT be abstract * [xtro] Fix StartWorkingDirectory to enable debugging (#2598) * [iosurface] Enable for tvOS and XM classic (to avoid multiple defines around consumer API) (#2597) * [xtro] Fix EnumCheck (#2600) * [ARKit] Rename a few method to make them nicer. (#2604) * DisplayTransform -> GetDisplayTransform since methods should have verbs. * SessionWasInterrupted -> WasInterrupted and SessionInterruptionEnded -> InterruptionEnded since these names match better with the other names (CameraDidChangeTrackingState / DidFail / DidOutputAudioSampleBuffer: none are prefixed with 'Session'). Additionally, the type is a Model (for the delegate pattern), which means all methods are more-or-less event-like, and the first argument is always the same (the protocol itself), which is another indicator the methods should be named similarly. * [Foundation] Remove 'Key' suffix from some fields. (#2606) Of the 168 fields in NSMetadataItem, only these 5 hadn't removed the 'Key' suffix. So make them all equivalent by removing the 'Key' suffix from these 5 fields. * [ImageIO] Fix API to not duplicate the instance in instance methods. (#2609) An instance method does not need to take the instance as a parameter, so remove the first (instance) parameter for CGImageDestination.AddAuxiliaryDataInfo and CGImageSource.CopyAuxiliaryDataInfo. An alternative solution would be to make the methods static, but I like the instance API better. * [UIKit] De-model UIDataSourceTranslating. (#2603) It's not clear from neither the documentation nor the headers how this protocol is supposed to be used, and since it doesn't correspond to the delegate pattern, remove the [Model] attribute for now. We can always add it back later. * [CoreML] Improve API. (#2592) * [CoreML] Improve API. * The indices, shape and stride properties for MLMultiArray and MLMultiArrayConstraint can logically only be arrays of integers, so type them as such. This means adding overloads for MLMultiArray's constructors, GetObject and SetObject methods, and the indexers that takes nint[] arrays instead of NSNumber[] arrays. * Change MLFeatureValue's static factory methods to be a method ('Create') instead of a preposition, and call all the different factory methods the same, since they can be overloaded nicely. * [tests][monotouch-test] Add version check to MLMultiArrayTest and make sure the arrays we create are big enough for the data we put in them. * [tests][monotouch-test] MLMultiArray's elements aren't zero-initialized, so don't assume that in the tests. * Support overloading Objective-C methods based on static/instance. (#2607) Two Objective-C methods can be named identically as long as one is static and the other instance. We must support this since Apple did just this (in the NSItemProviderReading / NSItemProviderWriting protocols). We solve it by prepending a '+' or '-' to the selector when hashing it (to determine selector uniqueness, and to look the method up again at runtime). * [uikit] Update for Xcode 9 - Part 6 (#2602) NSAttributedString.h NSFileProviderExtension.h NSLayoutAnchor.h UIAccessibility.h UIAccessibilityAdditions.h UIAccessibilityContainer.h UIAccessibilityContentSizeCategoryImageAdjusting.h UIAccessibilityCustomRotor.h UIAccessibilityLocationDescriptor.h UITabBar.h UINavigationBar.h UIScreen.h * Xcode9 scenekit (#2512) * [SceneKit] basic work * Added key * [xcode9] SCNCameraController * [xcode9] SCNCamera updates * [xcode9] SCNMaterial * [xcode9] SCNGeometryTessellator, SCNCameraControlConfiguration, SCNView, small bits * Add trailing commas to last enum value * Remove whitespace noise * [scenekit] Update deprecated attributes messages * Addresses some of Rolf's feedback * Drop the WeakDelegate in SCNCameraController * Rename method to Render, remove ctor from class that can not be constructed in Palygrounds, add typo exception * [AppKit] Rename NSBezierPath.AppendBezierPathWithCGGlyph to match its sibling methods. (#2605) NSBezierPath contains a lot of 'AppendPathWithXXX' methods, that all map to 'appendBezierPathXXX' selectors. So rename AppendBezierPathWithCGGlyph accordingly, to make it more similar to the other methods in the same type. * [uikit] Add all UISpringLoadedInteractionSupporting (#2616) Types do not conform to the protocol but protocol methods work on those types (see monotouch-test). Fixed introspection tests accordingly and tested the selectors in monotouch-test. * [Intents] Add convenience ctor overload and call correct base ctor in manual ctor. (#2613) Add a convenience constructor overload in INGetUserCurrentRestaurantReservationBookingsIntent that uses nint instead of NSNumber, since logically "number of results" will always be some sort of integer. Also call the correct base constructor in INSpeakableString's custom constructor (same as any other generated constructor). Otherwise we end up doing something like this: [[[INSpeakableString alloc] init] initWith ...], i.e. calling two different init methods. * [coreimage] Add new headers API up to beta 6 (#2601) Filters are not complete (ref: #57350) https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * Some new constants are not yet documented (type is known), so they are commented / ignored https://bugzilla.xamarin.com/show_bug.cgi?id=59296 * Filled bug for [Wrap] inside [Category] so strong dictionary helpers can be re-enabled later https://bugzilla.xamarin.com/show_bug.cgi?id=59294 * [foundation] xtro fixes for watchOS (#2586) !missing-enum! NSProcessInfoThermalState not bound !missing-field! NSProcessInfoThermalStateDidChangeNotification not bound !missing-selector! NSProcessInfo::thermalState not bound Headers are wrong and preferredPresentationStyle is not in tvOS and watchOS !missing-selector! NSItemProvider::preferredPresentationStyle not bound !missing-selector! NSItemProvider::setPreferredPresentationStyle: not bound * [uikit] Also remove UIPreferredPresentationStyle enum from platform where it's not used * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. (#2614) * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. * NSItemProviderWriting: * NSItemProviderReading: Implement correctly and completely by uncommenting commented out code. * NSMutableString: * NSAttributedString: remove inlined members, since these classes don't implement NSItemProviderReading / NSItemProviderWriting (according to the headers at least). * NSUrl: all platforms now seem to implement NSItemProviderReading / NSItemProviderWriting. * NSString: all platforms now seem to implement both NSItemProviderReading and NSItemProviderWriting * UIColor: * UIImage: Update inlined protocol members according to the latest beta. Additionally, due to the following conditions: * The protocols all have the correct members now. * In the API definition we tell the generator to inline members from a protocol by inheriting from the corresponding interface. * The generator doesn't inline static members from protocols. several 'new' keywords had to be added to silence a compiler warning that occurrs when we manually inline a static member, since the member would be included in the type both from the inherited interface and the manual implementation. * [Foundation] Comment out NSItemProviderWriting.GetItemProviderVisibility to avoid inlining/generating unusable methods. NSItemProviderWriting.GetItemProviderVisibility is an optional method, and none of the native classes that implements NSItemProviderWriting actually imlements the method. This means inlining the method in those classes ends up creating unusable API; so just comment out the method to avoid generating the unusable API. The introspection tests found this: [FAIL] Foundation.NSString : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Foundation.NSUrl : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Contacts.CNContact : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] MapKit.MKMapItem : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIColor : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIImage : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] iOSApiSelectorTest.ApiSelectorTest.StaticMethods : 6 errors found in 2348 static selector validated: See also https://bugzilla.xamarin.com/show_bug.cgi?id=59308 * [iosurface] Add missing [TV] attributes (#2619) * [opengles] Enable the new API using IOSurface (#2618) The symbol only exists inside device libraries, not on simulator, and the introspection tests were updated to ignore it. Part of https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [avfoundation][watchos] Enable AudioBufferList (fix #59145) + audit (xtro) (#2617) 1. AudioBufferList is part of CoreAudio (wrong namespace, which needs a few changes in the generator) and now available in watchOS 4 https://bugzilla.xamarin.com/show_bug.cgi?id=59145 2. Also fixes xtro found issues: !missing-type! AVAudioRecorder not bound !missing-selector! AVAudioRecorder::averagePowerForChannel: not bound !missing-selector! AVAudioRecorder::channelAssignments not bound !missing-selector! AVAudioRecorder::currentTime not bound !missing-selector! AVAudioRecorder::delegate not bound !missing-selector! AVAudioRecorder::deviceCurrentTime not bound !missing-selector! AVAudioRecorder::format not bound !missing-selector! AVAudioRecorder::initWithURL:format:error: not bound !missing-selector! AVAudioRecorder::initWithURL:settings:error: not bound !missing-selector! AVAudioRecorder::isMeteringEnabled not bound !missing-selector! AVAudioRecorder::isRecording not bound !missing-selector! AVAudioRecorder::peakPowerForChannel: not bound !missing-selector! AVAudioRecorder::recordAtTime: not bound !missing-selector! AVAudioRecorder::recordAtTime:forDuration: not bound !missing-selector! AVAudioRecorder::recordForDuration: not bound !missing-selector! AVAudioRecorder::setChannelAssignments: not bound !missing-selector! AVAudioRecorder::setDelegate: not bound !missing-selector! AVAudioRecorder::setMeteringEnabled: not bound !missing-selector! AVAudioRecorder::settings not bound !missing-selector! AVAudioRecorder::url not bound !missing-protocol! AVAudioRecorderDelegate not bound !missing-selector! AVAudioEngine::inputNode not bound !missing-selector! AVAudioEngine::manualRenderingBlock not bound !missing-selector! AVAudioInputNode::setManualRenderingInputPCMFormat:inputBlock: not bound !missing-selector! AVAudioPlayer::format not bound !missing-selector! AVAudioSession::requestRecordPermission: not bound !unknown-field! AVFileType3GPP bound !unknown-field! AVFileType3GPP2 bound !unknown-field! AVFileTypeAC3 bound !unknown-field! AVFileTypeAIFC bound !unknown-field! AVFileTypeAIFF bound !unknown-field! AVFileTypeAMR bound !unknown-field! AVFileTypeAVCI bound !unknown-field! AVFileTypeAppleM4A bound !unknown-field! AVFileTypeAppleM4V bound !unknown-field! AVFileTypeCoreAudioFormat bound !unknown-field! AVFileTypeDNG bound !unknown-field! AVFileTypeEnhancedAC3 bound !unknown-field! AVFileTypeHEIC bound !unknown-field! AVFileTypeHEIF bound !unknown-field! AVFileTypeJPEG bound !unknown-field! AVFileTypeMPEG4 bound !unknown-field! AVFileTypeMPEGLayer3 bound !unknown-field! AVFileTypeQuickTimeMovie bound !unknown-field! AVFileTypeSunAU bound !unknown-field! AVFileTypeTIFF bound !unknown-field! AVFileTypeWAVE bound * [Metal] Implement API using IOSurface now that IOSurface is implemented. Partially fixes #58054. (#2621) https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [PdfKit] Improve PdfAnnotation.QuadrilateralPoints binding by making it strongly typed. (#2620) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). (#2622) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). * [ARKit/Vision] Use the new simd vector types instead of the OpenTK versions. * [ModelIO] Use the new simd vectors in new API (MDLVoxelIndexExtent2). This way we won't have to create a MDLVoxelIndexExtent3 in the future. * [SpriteKit] Use the new simd vectors in new API. * [metal] Audit (xtro) based fixes (#2623) !extra-protocol-member! unexpected selector MTLArgumentEncoder::newArgumentEncoderForBufferAtIndex: found !extra-protocol-member! unexpected selector MTLComputeCommandEncoder::dispatchThreads:threadsPerThreadgroup: found macos-only !missing-field! MTLDeviceRemovalRequestedNotification not bound !missing-field! MTLDeviceWasAddedNotification not bound !missing-field! MTLDeviceWasRemovedNotification not bound !missing-pinvoke! MTLCopyAllDevices is not bound * [CloudKit] Update bindings to beta 6. (#2615) * [FileProvider] Turn NSFileProviderItemIdentifier enum into a static class, fixes bug 59329 (#2634) https://bugzilla.xamarin.com/show_bug.cgi?id=59329 At the time of binding NSFileProviderItemIdentifier it wasn't clear how it was supposed to be used, I mean apple provides two keys which I thought were the only possible values hence binding it as an smart enum. Unfortunately this wasn't the case and the user can use those two values provided from the SDK or their own NSString Identifier. Swift provides a wrapper unfortunately we can't do the same due to NSFileProviderItemIdentifier is used in the NSFileProviderItem protocol and we currently do not support changing signatures on them. * [mtouch] Teach mtouch about the 'IOSurface' framework for tvOS. Fixes #59333. (#2630) https://bugzilla.xamarin.com/show_bug.cgi?id=59333 * Bump Touch.Unit to get fix for API breakage. (#2631) spouliot/Touch.Unit@8f1e19d [NUnitOutputTextWriter] Reintroduce previous constructor to make sure we don't break binary ABI. spouliot/Touch.Unit@00b0c0b [NUnitOutputTextWriter] Don't write invalid xml comments. spouliot/Touch.Unit@de9fe20 [TouchRunner] Restore the original code path when not wrapping NUnit xml output. * [IOSurface] Add missing availability attributes for tvOS. (#2629) * Bump versions for preview 9 (#2624) * [AVFoundation] Add missing interface AVRouteDetector. (#2637) * [tests] Update xtro to reduce list sizes (#2636) * Skip OpenTK duplicate declaration (we can't change them); * Fix rule name change for ARKit / simd; * Add missing default initializer on `init` to pending actions; * Add note for AVPersistableContentKeyRequest changes wrt tvOS; * [ReplayKit] Make RPBroadcastActivityViewController.LoadBroadcastActivityViewController async-capable. (#2639) * [xcode9] More SceneKit bindings (#2633) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 (#2644) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 https://bugzilla.xamarin.com/show_bug.cgi?id=59380 vector_float3 is 16 bytes, which means the binding is incorrect, because Vector3 is 12 bytes, and our code does not that difference into account. * Add tests * [DeviceCheck] Disable default ctor for DCDevice. (#2642) It doesn't seem to be useful according to the documentation, since it appears that the only way to get an instance is to use the static CurrentDevice property. * [audiounit] Audit (xtro) fixes for tvOS (#2635) Availability attributes in non-generated files don't hide symbols/code. reference: !unknown-pinvoke! AudioUnitExtensionCopyComponentList bound !unknown-pinvoke! AudioUnitExtensionSetComponentList bound * [tests] Make sure tvOS tests don't use the (unexisting) API * [tests] Add all test project variations to tests-mac.sln (#2579) * [xharness] Make sure generated mac projects have different project guids. * [introspection] Change the project guid so that it doesn't match the dontlink-mac project guid. * [tests] Add all test project variations to tests-mac.sln. * [xharness] Fix else condition. * [FileProvider] Adds missing NSFileProviderPage constants, fixes bug 59297. (#2646) https://bugzilla.xamarin.com/show_bug.cgi?id=59297 Adds NSFileProviderInitialPageSortedByName and NSFileProviderInitialPageSortedByDate NSData constants * [Xcode9] Remove NSFileProviderMessage and NSFileProviderMessageInterface (#2647) APIs were removed in beta 2 * [Foundation/UIKit] Provide LoadObject[s] methods that return the expected type in the callback. Fixes #59049. (#2638) The callback for these LoadObject[s] methods take an INSItemProviderReading parameter. This tells our runtime that we must provide an instance of a managed object that implements this interface (but nothing else), so we create a `NSItemProviderReadingWrapper` instance, which complies with the API (since the wrapper type implements the corresponding interface). Unfortunately these methods are supposed to return an instance of the passed- in type, so in order to comply with this soft (documentation-only) requirement, provide a wrapper method that creates instances of the right types. https://bugzilla.xamarin.com/show_bug.cgi?id=59049 * [arkit] Ignore deprecated selectors (#2645) * [FileProvider] Adds missing protocol and keys from audit (#2652) ``` !missing-protocol! NSFileProviderServiceSource not bound !missing-field! NSFileProviderErrorCollidingItemKey not bound !missing-field! NSFileProviderErrorNonExistentItemIdentifierKey not bound !missing-field! NSFileProviderFavoriteRankUnranked not bound ``` Also adds `NSXpcListenerEndpoint` to foundation, needed by `NSFileProviderServiceSource` protocol. * [tests][xtro] Workaround xtro runner dupe entry exception and update data files (#2654) * [AVFoundation] Rename field to match others. (#2657) * [homekit] Audit (xtro) fixes (#2653) - HMCharacteristicEvent conforms to NSMutableCopying on iOS11 which makes it 64 bits only (so adjust intro tests) - Ignore extra setters on HMMutablePresenceEvent, rdar 33883958 !missing-selector! HMMutablePresenceEvent::setPresenceEventType: not bound !missing-selector! HMMutablePresenceEvent::setPresenceUserType: not bound * [xtro] Add missing pinvoke to pending (#2662) - Bug 59422: [uikit] Missing UIContentSizeCategoryCompareToCategory & UIContentSizeCategoryIsAccessibilityCategory (https://bugzilla.xamarin.com/show_bug.cgi?id=59422) * Merge latest d15-3 fixes into xcode9 (#2660) * [msbuild] Re-added wildcard (*) expandsion for application-identifier in Entitlements.plist (#2186) Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=57119 * Bump mono (#2213) * Framework tests were still binding non-linked Simple class which errors now (#2216) (#2218) - Improve Makefile to rebuild when projects build with errors * Bump mono to get cecil fix for bug #56808. (#2222) https://bugzilla.xamarin.com/show_bug.cgi?id=56808 * [msbuild] Use @(ReferencePath) instead of @(ResolvedFiles) (#2188) (#2214) This allows things to work on both xbuild and msbuild. In xbuild, both lists are exactly the same and on msbuild, only @(ReferencePath) exists. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=55147 * NSActivityOptions.IdleDisplaySleepDisabled had wrong value (#2232) (#2239) This was due to an integer overflow. The original value was based on Int32 1 << 40 == 256 The correct value should be based on a UInt64. 1UL << 40 == 1099511627776 * [tests] Fix bug 57699 - [iOS]InternalsTest failure (Linkall) tests on device (#2243) Strip native debugging symbols should not be checked for debug builds * Bump mono to get fix for bug #57780. https://bugzilla.xamarin.com/show_bug.cgi?id=57780 * Update .gitmodules Change branch to d15-3 branch of mono * Bump maccore to get fix for bug #55064. https://bugzilla.xamarin.com/show_bug.cgi?id=55064 * [mono] Bump mono to get the head of cecil/mono-2017-04 and fix IsComObject #57919 Also fix #58789 [1], the typo in tools/mtouch/Tuning.cs showing in MT0000 errors instead MT2102. That's already in master and d15-4 mono bump includes: [2] commit 2a6502cee0df9de5198eafe7c8b5f6ac25106f34 (HEAD -> d15-3, origin/d15-3) Merge: 02457c20fcf 5e05cafc6f1 Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 10:04:06 2017 -0400 Merge pull request #5401 from marek-safar/com [Marshal.IsComObject] Make this predicate return false instead of thr… [3] commit 02457c20fcf57c0610e844d638eb1da82b5d1eb0 Merge: da80840ea55 73fd9a1b82e Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 09:59:06 2017 -0400 Merge pull request #5400 from spouliot/bump-cecil-58834-d15-3 [cecil] Bump to the head of the mono-2017-04 branch and pick the fix for bug #58834 References [1] https://bugzilla.xamarin.com/show_bug.cgi?id=58789 [2] https://bugzilla.xamarin.com/show_bug.cgi?id=57919 [3] https://bugzilla.xamarin.com/show_bug.cgi?id=58834 * [mtouch] Put 'mono_profiler_startup_log' in the symbol list. Fixes #58778. (#2501) We need the 'mono_profiler_startup_log' symbol when profiling is enabled, so make sure to add the symbol to the correct list of symbols we need. Previously we were passing `-u _mono_profiler_startup_log` to clang directly, which is fine, but not complete, since it does not write the symbol to the symbollist file (--symbollist=file), which means it wouldn't be preserved when the MSBuild tasks strip the executable. https://bugzilla.xamarin.com/show_bug.cgi?id=58778 * Bump versions for SR3 https://trello.com/c/EVze08ei * Bump mono to include HttpClientHandler fix #44027 https://trello.com/c/jYFXadH8/8-systemnethttp-close-request-stream-when-httpclienthandler https://bugzilla.xamarin.com/show_bug.cgi?id=44027 * [FileProvider] Add missing API and turn NSString to string (#2663) Turned NSString to string in order to match exisiting API. * [uikit] Add UIPasteConfigurationSupporting and UITextPasteConfigurationSupporting (#2649) - Fixes bug #59363: Missing UIPasteConfigurationSupporting, UITextPasteConfigurationSupporting, UITextDraggable and UITextDroppable on a couple of types (https://bugzilla.xamarin.com/show_bug.cgi?id=59363) * [uikit] Remove 129 types in UIPasteConfigurationSupporting case * [scenekit] Audit (xtro) fixes (#2648) This looks like an Apple breaking change (since `SCNAnimation` is new) but we now have: > typedef void (^SCNAnimationEventBlock)(id<SCNAnimation> animation, id animatedObject, BOOL playingBackward); bound as > delegate void SCNAnimationEventHandler (CAAnimation animation, NSObject animatedObject, bool playingBackward); and `CAAnimation` conforms to `SCNAnimation` but *only* the later is available on watchOS. The delegate is only updated (since it's new) on our watchOS profile. xtro references: (watchos) !unknown-protocol! SCNCameraControlConfiguration bound (tvos/watchos) !missing-selector! SCNAnimation::animationEvents not bound !missing-selector! SCNAnimation::setAnimationEvents: not bound !missing-selector! SCNConstraint::isEnabled not bound !missing-selector! SCNConstraint::setEnabled: not bound !missing-field! SCNSceneSourceConvertToYUpKey not bound !missing-field! SCNSceneSourceConvertUnitsToMetersKey not bound (ios/tvos) !missing-protocol-conformance! SCNNode should conform to UIFocusItem * Bump maccore post 15.3 merge (#2665) * Bump Xcode 9 to GM (#2667) * Force build (on wrench) * [avfoundation] Fix breaking changes (apidiff) (#2664) * [TVServices] Update to Xcode 9 GM (#2675) * [GameController] Update to Xcode 9 GM (#2673) * [LocalAuthentication] Update to Xcode 9 GM (#2671) * [LocalAuthentication] Update to Xcode 9 GM * Remove availability from BiometryNotAvailable, BiometryNotEnrolled and BiometryLockout * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer (#2659) * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer Some of the new added types were already present BUT under a #if MONOMAC, they had to be moved. * [AVFoundation] Set the wrongly added API to be obsolete and ensure it returns logical values. (#2650) * [xtro] The right platform for macOS is 'macos', not 'osx'. (#2677) The platform name is used to filter availability attributes, and if we use the wrong platform, we'll incorrectly skip all availability attributes. The net result in unclassified entries: https://gist.github.com/rolfbjarne/a4474bc2a40c49a85cad495b51bb514f * Various Xcode 9 API improvements and also fixes bug 59433 (#2676) https://bugzilla.xamarin.com/show_bug.cgi?id=59433 While fixing bug 59433 I noticed some additional issues outlined below: AVDepthData: * Renamed **non** static `Create` methods because `Create` only makes sense with the **Static** method in this context. Also by renaming the methods we are now closer to the names that swift uses. * Kept descriptive method names in favor of self-documenting code. `Convert`, `Apply` and `Replace` do not fully give us the intent of the method. * Added a convenience `Create` static method that takes a `CGImageAuxiliaryDataInfo`. * AvailableDepthDataTypes is now an array of `CVPixelFormatType` instead of a `NSNumber` array (The aactual fix for bug 59433). ImageIO: * Refactored `CGImageAuxiliaryDataInfo` to be a `StrongDictionary` in order to avoid most of the manual code and also to avoid reimplementing the `ToDictionary` method (which contained a subtle bug). * Adjusted code to reflect the above change. * Added missing `.ctor (IntPtr, bool)` to `CGImageMetadata` so the class is able to be created by our `Runtime.Get*`. * Simplified `CopyAuxiliaryDataInfo` method by using `CGImageAuxiliaryDataInfo` as a `DictionaryContainer`. Tests: * Added `xamarinmonkey.heic` which is an image that contains depth data needed to test above changes. * Adds `AVDepthDataTests` that touches most of the changes listed here. * Tweak the Simd-compatible matrices and vectors (#2668) * Rename them to be OpenTK.NMatrix# (instead of Simd.MatrixFloat#x#). * Remove the Vector2 and Vector4 variants, we'll use the OpenTK types instead (but we'll keep the NVector3 variant, since it's not identical to the OpenTK version). * Update the API to match their OpenTK counterparts better: * NMatrix2 and NMatrix3 have a 0-based R#C# scheme for their fields. * NMatrix4 has a 1-based M## scheme for its fields (i.e. no change). * [AVFoundation] Use Simd-matrix for API that needs it. (#2679) This also requires implementing the corresponding matrix (NMatrix4x3). Fixes this xtro issue: > !unknown-simd-type-in-signature! OpenTK.Matrix3 AVFoundation.AVCameraCalibrationData::get_GetIntrinsicMatrix(): the native signature has a simd type (matrix_float3x3), while the corresponding managed method is using an incorrect (non-simd) type. * [xtro] Fix checking availability on categories. (#2682) When checking for category availability, check if both the current declaration is a category, and if the current's declaration container is a category. Otherwise this scenario fails: * Category method is available. * Category does not have availability attributes. * Main class is unavailable. with this typical code sequence: ```csharp // don't process methods (or types) that are unavailable for the current platform if (!decl.IsAvailable () || !(decl.DeclContext as Decl).IsAvailable ()) return; ``` In which case we'd: * First check the method (`decl`): * It's available, so no further checks is done on the method. * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container's container is a category (it isn't, it's the namespace). and as such determine that the method is available. With this change, the second step will become: * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container is a category (it is), and if its main class is available (it isn't). and as such determine that the method is unavailable. * Check for attributes on the method's container (no attributes, so we continue). * Check if the method's Unclassified diff: https://gist.github.com/rolfbjarne/8fa80962596978a426eadf9b7ba39dc1 * [uikit] Update for Xcode 9 GM (#2670) * [AVFoundation] Implement AVCapturePhoto. Partially fixes #59388. (#2678) Fixes: > common.unclassified:!missing-type! AVCapturePhoto not bound https://bugzilla.xamarin.com/show_bug.cgi?id=59388 * Use strong dictionaries for AVCapturePhoto.Metadata and AVCapturePhoto.EmbeddedThumbnailPhotoFormat. * [SIMD] Implement Simd double types (VectorDouble3/MatrixDouble4x4). (#2632) The following types will be used by ModelIO bindings * Fix delta to be double * Rename Simd-compatible matrices and vectors to match our final naming. This also means removing the new Vector2 and Vector4 variants (but not Vector3). * [avfoundation] Remove AVAssetDownloadDelegate.DidLoadTimeRange since it was removed in one of the betas (#2687) * [foundation] Move NSUrlSessionMultipathServiceType to a file processed by the generator (for the availability attributes) (#2688) * [arkit] Update for Xcode 9 GM (#2681) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes (#2690) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes Type Changed: Intents.INCarSeatResolutionResult Removed methods: public static INCarSeatResolutionResult GetConfirmationRequired (INCarSeat valueToConfirm); public static INCarSeatResolutionResult GetSuccess (INCarSeat resolvedValue); * [avfoundation] Add missing protocol members and deprecations (#2691) !missing-protocol-member! AVCapturePhotoCaptureDelegate::captureOutput:didFinishProcessingPhoto:error: not found and the selector removed from PR#2687 was actually replaced with this one !missing-protocol-member! AVAssetDownloadDelegate::URLSession:aggregateAssetDownloadTask:didLoadTimeRange:totalTimeRangesLoaded:timeRangeExpectedToLoad:forMediaSelection: not found * [tests][xtro] Map some enums, more fix with protocols and update entries (#2692) * [Tests] Reenable dns tests on the watch. (#2674) * [arkit] Add ARBlendShapeLocationOptions strong dictionary (#2696) * [coreimage] Skip not yet bound filters added in Xcode9 (#2698) Tracked in https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * [Metal] Renamed MTLArgumentDescriptor.ArgumentDescriptor to Create, fixes bug 59498 (#2702) https://bugzilla.xamarin.com/show_bug.cgi?id=59498 From [argumentDescriptor docs](https://developer.apple.com/documentation/metal/mtlargumentdescriptor/2915746-argumentdescriptor?language=objc) > Creates an empty argument descriptor. * [msbuild] Always codesign app bundles if the codesign key is non-null (#2697) ...even if it is a simulator build. Turns out that starting with Xcode9, sim builds need to be codesigned for App Groups entitlements to work properly. Interestingly, the DetectSigningIdentity logic had a comment about needing to codesign simulator builds for some entitlements to work already starting with Xcode 8 but apparently the iOS targets did not respect this. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=59379 * [Foundation] Add NSProxy stub in order to workaround bug 59247 (#2693) https://bugzilla.xamarin.com/show_bug.cgi?id=59247 We need to have a better solution that removes all what NSProxy does not responds to. Right now this works because NSObject implements NSObject protocol just like NSProxy, but NSProxy responds to far less selectors hence doing it internal so it is not a breaking change when we provide the correct fix. * Keep NSProxy around and avoid XML linker description We need to keep NSProxy (avoid linking it) if WKNavigationDelegate or IWKNavigationDelegate is used. We know WKWebView will be there and can hold a reference to it. * [Xcode 9] Update Metal for GM (#2689) * [iosurface] IOSurface is not usable before iOS/tvOS 11. Fixes #59201 (#2706) Apple rejects apps that links with the previously private IOSurface.framework. We were not sure about this [1] and had it disabled (this is removed). However another bug stopped our adjustment logic [2] from being executed. This is needed since `clang` picks up the private framework if it does not find the public one (even when asking for a weak framework), [1] https://bugzilla.xamarin.com/show_bug.cgi?id=59201 [2] Added a while ago for JavascriptCore * Bump maccore to point to commit with the docs fix. (#2703) * Bump XI to 11.0.x (and XM to 3.99.9.x) (#2684) * fix typo
2017-09-16 00:53:16 +03:00
[Export ("cameraControlConfiguration")]
ISCNCameraControlConfiguration CameraControlConfiguration { get; }
[Watch (4, 0), TV (11, 0), Mac (10, 13, onlyOn64: true), iOS (11, 0)]
Merge xcode9 into d15-4[-xi] (#2710) * [FileProvider] Add Xcode 9 Beta 1, 2 & 3 Bindings (#2279) * [FileProvider] Add Xcode 9 Beta 1 Bindings * Better naming * Feedback not related to BindAs * [FileProvider] Removes BindAs, add manual code for it and updated to Beta 3 * [FileProvider] Implement feedback * [CoreSpotlight] Updated spotlight bindings for xcode 9 beta 3. (#2193) Updated spotlight bindings for xcode 9 beta 3. * Fix warning caused by duplicate (#2354) * [FileProviderUI] Add Xcode 9 Beta 1 to 3 bindings (#2356) * Bump to Xcode 9 beta 4 * [arkit] ARLightEstimate does not conform to NSCopying anymore (fix unit test) * [uikit] NSFileProviderExtension.ReparentItem got a new parameter in beta4 (fix unit test) * [coreimage] CIImageAccumulator init returns nil in beta 4 There's no header change to mention `init` is not allowed but it's not clear how this default initializer could be used. Also make public some other API to construct this type (outside of XM). It's not clear why there were `internal` as they are (at least now) part of the header files. * [photos] Add helpers when PHLivePhotoEditingOption/NSDictionary is null (to avoid ambiguous API) (#2360) Adding a strongly typed `PHLivePhotoEditingOption` (a strongly typed version of an `NSDictionary`) can cause a `CS0121` (call is ambiguous) since using a `null` argument is common (only one option exist so far). This PR adds overloads that makes the code nicer in such case, e.g. before Xcode9: > // null is used when no options are given > _foo.SaveLivePhoto (output, null, completion); current (Xcode 9) > // casting required to remove ambiguity with PHLivePhotoEditingOption > _foo.SaveLivePhoto (output, (NSDictionary)null, completion); with this PR > // no option, no argument > _foo.SaveLivePhoto (output, completion); The same applies to `PrepareLivePhotoForPlayback`. * [tests] Disable/tweak two tests that breaks on (almost) all Xcode updates Those tests were not added to validate xOS so just keep the parts that helps us (without constantly checking back the new break flavor) * Disable watchOS to check if this hides others issues * [mapkit] Update for beta 4 * [coredata] Update for beta 4 * [wkwebkit] Update for beta 4 Note: WKWindowFeatures.h is not compiled (part of the framework umbrella) and the `@interface WKWindowFeatures (WKPrivate)` sounds like it should not have been exposed (it's all fields starting with `_`) * [corelocation] Update for beta 4 * Revert "Disable watchOS to check if this hides others issues" This reverts commit fed2249fa43290a1956ab2fe0d48f83ab6db9711. * [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]: https://github.com/xamarin/xamarin-macios/blob/f5956d6cc1eb5dfa7bab16628cf282d40237f64e/src/generator.cs#L5985 * [FinderSync] Update to beta 4 (#2377) * [ImageIO] Update to Xcode 9 (#2353) * [PhotosUI] Move macOS photosui bindings out of photos.cs into photosui.cs (#2358) * [quicklook] Update up to beta 4 (#2374) * [uikit] UIDragInteraction & UIDragInteractionDelegate (Xcode 9 b1,2,3) (#2357) * [safariservices] Update up to beta 4 (#2380) * [coreanimation] Update to beta 4 (#2382) Apple removed (mistake?) some API in beta 1. Filed as rdar 33590997 Internal tracking in https://trello.com/c/J8BDDUV9/86-33590997-coreanimation-quartzcore-api-removals * [storekit] Update up to beta 4 (#2379) * [CoreML] Update to Xcode 9 Beta 4 (#2387) * [uikit] UICollectionView/UITableView Drag & Drop (Xcode 9 b1,2,3 & 4) (#2355) * Update code after radar 32929318 and 32897776 are fixed in b4 (#2394) * [xcode9 CoreAudio] New definitions from Beta1 to Beta3 (#2359) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 (#2397) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 https://bugzilla.xamarin.com/show_bug.cgi?id=58512 Created strong API (VNBarcodeSymbology) on the following properties * VNDetectBarcodesRequest.SupportedSymbologies * VNDetectBarcodesRequest.Symbologies * VNBarcodeObservation.Symbology * Remove modern C# because classic can't do it 😡 * [mediaplayer] Update up to beta 4 (#2388) * [watchkit] Update to beta 4 (#2398) * Bump Visual Studio for Mac max version (#2408) * [coreimage] Add CIBarcodeDescriptor and enabled missing API for VNBarcodeObservation. Fix #58197 (#2411) https://bugzilla.xamarin.com/show_bug.cgi?id=58197 * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 (#2407) * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 * [uikit] Fixes based on comments * [coreimage] CIImageAccumulator API fixes. Fix #58349 (#2412) * Obsolete the default `init`; * XM exposed some older APIs using `int` instead of `CIFormat`. This is fixed and old APIs are obsoleted; * Both new & old APIs are now using `CIFormat` for both XI and XM. https://bugzilla.xamarin.com/show_bug.cgi?id=58349 * [uikit] UIText drag & drop - up to Xcode 9 beta 4 (#2410) * [uikit] UISplitView & UIStackView up to Xcode 9 beta 4 (#2425) * Bump XI/XM versions before preview 4 (#2422) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 (#2378) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 * [PDFKit] Implement feedback * [PDFKit] the forgotten enum * [PDFKit] More feedback * [PDFKit] Add Mac changes * Missing change * Fix test RectangleF VS CGRect * Pass -Wunguarded-availability-new to quiet a new clang warning (#2424) - https://bugzilla.xamarin.com/show_bug.cgi?id=58574 * [mtouch/mmp] Ignore warnings about unguarded code section with regards to availability. (#2441) * [monotouch-test] Remove workaround for fixed Apple bug. (#2445) * Bump to Xcode 9 beta 5. (#2447) * Bump to Xcode 9 beta 5. * [mmp] Disable the partial static registrar, because Apple's macOS SDK is broken. > In file included from Xamarin.Mac.registrar.mobile.i386.m:1: > In file included from ./Xamarin.Mac.registrar.mobile.i386.h:11: > /Applications/Xcode9-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVFoundation.h:88:9: fatal error: 'AVFoundation/AVRouteDetector.h' file not found https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [mmp] Fix partial static registrar removal. * [CallKit] Update to Xcode 9 beta 5. * [ARKit] ARPointCloud doesn't conform to NSCopying anymore in Xcode 9 beta 5. * [ARKit] Update to Xcode 9 beta 5 enough to make tests happy. * [CoreImage] Stub out new filters in Xcode 9 beta 5. * [tests][monotouch] Simplify some MDLMesh asserts since values change a lot between OS versions. * [mmp] Default to the dynamic registrar for release builds again, due to bug #58629. https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [tests][introspection] CXCall started implementing NSCopying without saying so in the headers. * Disable mmp static registrar tests due to 58629 for now * [quicklook] Update to beta 5 (#2450) * [photos] Update for beta 5 (#2452) Also update some existing enum members were added in beta 1 on macOS * [safariservices] Update for beta 5 (#2455) * [mediaplayer] Update to beta 5 (#2456) * [CoreLocation] Update Xcode 9 Beta 5 (#2453) * [CoreML] Update to Xcode 9 Beta 5 (#2454) * [Contacts] Update to Xcode 9 Beta 5 (#2451) * [Vision] Update to Xcode 9 Beta 5 (#2458) * [builds] Tell LLVM to stay away from newer macOS functions. (#2459) Fixes this build problem on Sierra: > ld: weak import of symbol '_futimens' not supported because of option: -no_weak_imports for architecture x86_64 This is a symbol that was (will be?) introduced in High Sierra. Interestingly this only occurs if the Xcode 8.X Command Line Tools haven't been manually installed. Because if the Xcode 8.X Command Line Tools are installed, this happens: 1. llvm's configure script detects that 'futimens' is not usable. 2. llvm's configure script detects that 'futimens' is not usable, because xcrun sets SDKROOT=/ when calling clang. a. When the SDKROOT variable is set, clang passes '-syslibroot /usr/lib' to ld. b. When ld gets '-syslibroot /usr/lib', ld looks in '/usr/lib' for a library that contains 'futimens' in the OS itself, and since we're on Sierra, that fails to link. c. So when llvm's configure script creates a test program that checks if 'futimens' is present, the program fails. This is correct, and makes llvm *not* use futimens. 3. xcrun sets SDKROOT=/ because /usr/share/current-os.sdk/Info.plist exists. If that file does not exist, then xcrun sets SDKROOT to Xcode9's macOS SDK (because that's what xcode-select reports). a. When SDKROOT is set to Xcode9's macOS SDK, the configure check for 'futimens' succeeds, because the macOS 10.13 SDK contains that function. b. llvm happily uses 'futimens', and then the final link fails because we're using a symbol not available on all target platforms. * [arkit] Update for Xcode 9 beta 5 - Part 1 (#2460) * [tests] The container app for watchOS tests should be 64-bit. (#2463) * [xharness] watchOS tests need to run in a clean environment. Works around #58348. (#2462) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [xharness] It watchOS tests don't need to be clean anymore. Fixes #58348. (#2473) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [uikit] UIView/UIScrollView/UIViewController up to Xcode 9 beta 5 (#2431) - Add NSDirectionalEdgeInsets type. - Includes DirectionalEdgeInsetsTest. * [AudioToolbox] Update bindings to Xcode 9 beta3 (not later changes). (#2294) * [xharness] Add a file existence check. (#2478) Fixes this exception: ``` Harness exception for 'introspection': System.IO.FileNotFoundException: Could not find file '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log'. File name: '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log' at System.IO.__Error.WinIOError (System.Int32 errorCode, System.String maybeFullPath) [0x00207] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/__error.cs:188 at System.IO.FileInfo.get_Length () [0x00038] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/fileinfo.cs:171 at xharness.CaptureLog.StopCapture () [0x00021] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Log.cs:252 at (wrapper remoting-invoke-with-check) xharness.CaptureLog:StopCapture () at xharness.AppRunner+<RunAsync>d__68.MoveNext () [0x0127f] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/AppRunner.cs:642 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter`1[TResult].GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:357 at xharness.RunSimulatorTask+<RunTestAsync>d__7.MoveNext () [0x0029d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2894 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.RunTestTask+<ExecuteAsync>d__8.MoveNext () [0x0010b] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2538 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.TestTask+<RunInternalAsync>d__87.MoveNext () [0x0010d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:1870 ``` I'm not sure how this can happen, but it has on the bots [1]. [1] https://jenkins.mono-project.com/job/xamarin-macios-pr-builder/4548/Test_Report/ * Bump versions for preview 5 (#2479) * [passkit] Update to beta 5 (#2481) * [tests] Remove workaround for radar #32688391. (#2486) * [replaykit] Update up to beta 5 (#2484) * Bump maccore to get fix for bug #55064. (#2487) * [apidiff] Update definition to new 10.12 (d15-3) stable release (#2490) * [SceneKit] basic work (#2483) * [coredata] Update to beta 5 (#2488) * [homekit] Update for Xcode 9 beta 5 (#2492) * [Foundation] Update for xcode9 (#2468) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 (#2493) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 * [Intents] Implement feedback * [Intents] Add a generic version for INInteraction.GetParameterValue * [Intents] Missing check * [Contacts] Add missing foundation NSItemProviderWriting protocol to CNContact (#2496) https://bugzilla.xamarin.com/show_bug.cgi?id=58203 This is available on all Contacts supported platforms ``` ./iPhoneOS.platform/Developer/SDKs/iPhoneOS11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchOS.platform/Developer/SDKs/WatchOS4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchSimulator.platform/Developer/SDKs/WatchSimulator4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ``` * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) (#2497) * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) * [IntentsUI] Better use a delegate instead so we have named params * Bump versions before 6th preview (#2514) * [arkit] Add missing MarshalDirective to ARPlaneAnchor (#2517) - Fixes bug #58648: ARPlaneAnchor.Extent property seems incorrect but changes to correct value after Debug access (https://bugzilla.xamarin.com/show_bug.cgi?id=58648) * [xtro-sharpie] Fix a compiler warning. (#2516) Fixes these warnings: Runner.cs(197,5): warning CS0642: Possible mistaken empty statement Runner.cs(199,5): warning CS0642: Possible mistaken empty statement Runner.cs(201,5): warning CS0642: Possible mistaken empty statement Runner.cs(203,5): warning CS0642: Possible mistaken empty statement Runner.cs(205,5): warning CS0642: Possible mistaken empty statement * [uikit] Update for Xcode 9 beta 5 - Part 3 (#2511) - UIKeyCommand - UINavigationBar - UINavigationItem - UIPasteboard - UITableViewHeaderFooterView * [xtro-sharpie] Remove xtro-plugin and misc other fixes. (#2522) * [xtro-sharpie] Build with msbuild and be as quiet as requested when building. * [xtro-sharpie] Must run as a 64-bit process, since the required native libraries are 64-bit. * [xtro-sharpie] Add run configurations to the project file to ease debugging in the IDE. * [xtro-sharpie] Remove xtro-plugin and the related commands. This was needed when there wasn't a 64-bit mono, in order to run xtro-sharpie in a 64-bit process. Now there is a 64-bit mono, so it's not needed anymore. Also improve makefile targets a bit, to auto-build stuff when needed, by setting the right dependencies. * Bump Xcode 9 to beta 6 (#2519) Disable watchOS tests again It seems like the Carousel crash from beta 4 is back to haunt us. This was working fine with beta 5. * Backport d15-3 SR2 fixes (#2515) * [coredata] Update to beta 6 (#2528) This seems to only revert some nullability changes from beta 5. * [coreml] Update to beta 6 (#2531) Fix our rdar 33643011 where additional setters were added in the headers but did not exists. * [videosubscriberaccount] Update to beta 6 (#2533) Only b1 and b2 introduced some additions/changes * [uikit] Update for Xcode 9 beta 6 - Part 4 (#2527) The following headers are now up to date: - UICollectionViewFlowLayout.h - UIDocumentPickerViewController.h - UIFontDescriptor.h - UIImage.h - UIImageView.h - UIImagePickerController.h * [xharness] Re-enable the watchOS tests. (#2534) It works fine for me locally, so let's see what Jenkins says. * [macos] Add new APIs in CoreWlan from Xcode9b3 (#2525) * Update AppKit bindings based on radar 33271241 results (#2518) * Update AppKit bindings based on radar 33271241 results - The header comment was updated to note it was NSSliderTouchBarItem view that has the protocol * Remove NSUserInterfaceCompression where not listed in header * [vision] Update to beta 6 (#2532) Removal of some deprecated (during beta) `init*` selectors. Also sync the versions that were inlined in subclasses - the old ones were not removed and the new ones were not added. * [xtro-sharpie] Many methods don't have selectors in Clang's API, so default to the name if no selector. (#2523) This makes a few more unclassified entries show up (mostly missing designated initializers): https://gist.github.com/rolfbjarne/07aa20f9b50b75bf3e69ac6a825e873a * [macos] Add ExternalAccessory APIs from xcode9 (#2526) * [58851] Disable NSMenuView in AllItemsWithNSMenuShouldAllowNull (#2504) * [arkit] Update for Xcode 9 beta 5 - Part 2 (#2505) - Add last missing selector. - Add tests for manual code. * [monotouch-test] Disable FontDescriptorTest.WithFeature (#2537) Disabled because it looks like the tvOS font we use: "Gujarati Sangam MN" does not have rare ligatures anymore (and the entire test is based on it). Before getting an actual fix for that, let's disable the test so it doesn't break all current builds. See: https://bugzilla.xamarin.com/show_bug.cgi?id=58929 * [xtro-sharpie] Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute. (#2524) Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute to calculate the native name for a TypeDefinition. Unclassified changes: https://gist.github.com/rolfbjarne/828f8ee41eebb0a3b60a38d71822fe59 * [foundation/uikit] Inline NSItemProvider_UIKitAdditions in NSItemProvider (#2538) As suggested here: https://github.com/xamarin/xamarin-macios/pull/2527#discussion_r134670981 * [intents] Fix breaking changes (api-diff) (#2543) Additions of @required members inside `INSpeakable` cannot be `[Abstract]` * [contacts] Fix breaking change (api-diff) (#2542) Type Changed: Contacts.CNPostalAddress Removed method: public static string LocalizeProperty (CNPostalAddressKeyOption option); * [macos] Reenable static registrar since Xcode9b6 un-broke SDK headers (#2544) - Fix a subtle spacing issues in PartialStaticLibrary property * [corebluetooth] Update up to beta 6 and enable it on watchOS (#2540) macOS 10.13 has finally catch up with iOS and this simplifies the bindings a bit. * [foundation] API fixes (apidiff) (#2545) 1. Let's not add new, already [Obsolete] API Type Changed: Foundation.NSDimension Added constructors: [Obsolete ("Not intended to be directly instantiated, this is an abstract class.")] public NSDimension (); 2. Fix inconsistently named API, e.g. Type Changed: Foundation.NSAttributedString Added properties: public static string[] ReadableTypeIdentifiersForItemProvider { get; } public static string[] WritableTypeIdentifiers { get; } * [pdfkit] Do not add already [Obsolete] API in new profiles (#2547) and ensure using the newer, correct API works cross-platforms iOS (before) [Obsolete ("Use 'Find (string, NSStringCompareOptions)' instead.")] public virtual PdfSelection[] Find (string text, nint options); public PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'Find (string, PdfSelection, NSStringCompareOptions)' instead.")] public virtual PdfSelection Find (string text, PdfSelection selection, nint options); public void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string, NSStringCompareOptions)' instead.")] public virtual void FindAsync (string text, nint options); public void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string [], NSStringCompareOptions)' instead.")] public virtual void FindAsync (string[] text, nint options); iOS (after) public virtual PdfSelection[] Find (string text, Foundation.NSStringCompareOptions compareOptions); public virtual PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); * Bump versions for the 7th preview (#2541) * Remove additions of AVKit removed in beta5 (#2536) * NSUrlSessionTask should implement NSProgressReporting for iOS (#2548) NSUrlSessionTask implements NSProgressReporting on iOS as well as Mac, so the #if MONOMAC isn't needed. * Add missing availability attributes causing failures on older iOS versions (#2550) * [vision] Minor fix wrt xtro (#2551) including some things we need to ignore manually !missing-field! VNVisionVersionNumber not bound !missing-pinvoke! VNImagePointForFaceLandmarkPoint is not bound !missing-pinvoke! VNNormalizedFaceBoundingBoxPointForLandmarkPoint is not bound * [uikit] NSFileProviderMessaging was removed in beta 2. Fixes #58222 (#2552) reference: https://bugzilla.xamarin.com/show_bug.cgi?id=58222 * [uikit] Update for Xcode 9 - Part 5 (#2546) Bindings for the following headers: - UIActivity.h - UIActivityItemProvider.h - UIAlertController.h - UIApplication.h - UIBarButtonItem.h - UIButton.h - UICollectionViewLayout.h - UIColor.h - UIControl.h - UIDocumentMenuViewController.h - UIFontMetrics.h - UIGestureRecognizer.h - UIGraphicsImageRenderer.h - UIInputViewController.h * [CoreText] Fix an extraneous free in CTFont.GetDefaultCascadeList. (#2555) We do not own the return value from CFArrayGetValueAtIndex, so don't say we do when creating CTFontDescriptor instances, since that leads to angry dragons: 2017-08-28 20:15:20.293 monotouchtest[33186:2311738] A_FontTest 2017-08-28 20:15:20.294 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithFontDescriptorAndOptions 2017-08-28 20:15:20.295 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithNameAndOptions 2017-08-28 20:15:20.296 monotouchtest[33186:2311738] critical: Stacktrace: at <unknown> <0xffffffff> at (wrapper managed-to-native) CoreText.CTFont.CTFontCopyDefaultCascadeListForLanguages (intptr,intptr) [0x0000a] in <ae65a2b1eea242d2b68fe784749543bf>:0 at CoreText.CTFont.GetDefaultCascadeList (string[]) [0x00013] in /work/maccore/xcode9/xamarin-macios/src/CoreText/CTFont.cs:2185 at MonoTouchFixtures.CoreText.A_FontTest.GetCascadeList () [0x0001e] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/CoreText/FontTest.cs:78 at (wrapper runtime-invoke) object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) [0x0004f] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) System.Reflection.MonoMethod.InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&) [0x00016] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at System.Reflection.MonoMethod.Invoke (object,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo) [0x00032] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/corlib/System.Reflection/MonoMethod.cs:305 at System.Reflection.MethodBase.Invoke (object,object[]) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/referencesource/mscorlib/system/reflection/methodbase.cs:229 at NUnit.Framework.Internal.Reflect.InvokeMethod (System.Reflection.MethodInfo,object,object[]) [0x00009] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Reflect.cs:215 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunNonAsyncTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x00025] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:116 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x0001a] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:90 at NUnit.Framework.Internal.Commands.TestMethodCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:66 at NUnit.Framework.Internal.Commands.SetUpTearDownCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00007] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/SetUpTearDownCommand.cs:84 at NUnit.Framework.Internal.WorkItems.SimpleWorkItem.PerformWork () [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/SimpleWorkItem.cs:64 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at MonoTouch.NUnit.UI.BaseTouchRunner.Run (NUnit.Framework.Internal.Test) [0x0004d] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:442 at MonoTouch.NUnit.UI.BaseTouchRunner.Run () [0x00030] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:171 at MonoTouch.Dialog.StringElement.Selected (MonoTouch.Dialog.DialogViewController,UIKit.UITableView,Foundation.NSIndexPath) [0x00008] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/Elements.cs:765 at MonoTouch.Dialog.DialogViewController.Selected (Foundation.NSIndexPath) [0x00026] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:577 at MonoTouch.Dialog.DialogViewController/Source.RowSelected (UIKit.UITableView,Foundation.NSIndexPath) [0x00016] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:402 at (wrapper runtime-invoke) <Module>.runtime_invoke_void__this___object_object (object,intptr,intptr,intptr) [0x0005d] in <32f0c196c5bc4aa18daea2ee64a7814e>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) UIKit.UIApplication.UIApplicationMain (int,string[],intptr,intptr) [0x0005c] in <ae65a2b1eea242d2b68fe784749543bf>:0 at UIKit.UIApplication.Main (string[],intptr,intptr) [0x00005] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:79 at UIKit.UIApplication.Main (string[],string,string) [0x00038] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:63 at monotouchtest.Application.Main (string[]) [0x00011] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/Main.cs:27 at (wrapper runtime-invoke) <Module>.runtime_invoke_void_object (object,intptr,intptr,intptr) [0x00051] in <30a7f7e09de9467b8b454221034a0e38>:0 Native stacktrace: 0 monotouchtest 0x000000010fca03c4 mono_handle_native_crash + 244 1 monotouchtest 0x000000010fcadd30 mono_sigsegv_signal_handler + 288 2 libsystem_platform.dylib 0x000000011feb3b3a _sigtramp + 26 3 CoreFoundation 0x000000011de035a2 computeSanitizedString + 146 4 CoreText 0x00000001168df314 _ZN15TPurgeableCache19RetainedValueForKeyEPKv + 54 5 CoreText 0x00000001168def85 _ZNK17TDescriptorSource22CopyDescriptorUncachedEPK7__CFURLbPK10__CFString + 55 6 CoreText 0x00000001168df34f _ZNK17TDescriptorSource14CopyDescriptorEPK7__CFURLbPK10__CFString + 27 7 CoreText 0x00000001168e20ad _ZNK17TDescriptorSource35CopyFontDescriptorPerPostScriptNameEPK10__CFStringmm + 297 8 CoreText 0x00000001168dfd9e _ZNK17TDescriptorSource30CopySystemFontDescriptorByNameEPK10__CFString10UIFontFlag + 54 9 CoreText 0x00000001168e54c4 _ZNK14TFontFallbacks17CopyFontFallbacksEPK10__CFStringS2_PK9__CFArray + 652 10 CoreText 0x00000001168e4a00 _ZNK14TFontFallbacks29CopyFontFallbacksForLanguagesEPK10__CFStringPK9__CFArray + 122 11 CoreText 0x00000001168e4971 _ZN17TDescriptorSource39CopyDefaultSubstitutionListForLanguagesEPK10__CFStringPK9__CFArray + 61 12 CoreText 0x00000001169397a7 _ZNK9TBaseFont28CreateSystemDefaultFallbacksEPK10__CFStringPK9__CFArray + 51 13 CoreText 0x000000011693999c _ZNK9TBaseFont15CreateFallbacksE10UIFontFlagPPK16__CFCharacterSetPK9__CFArray + 346 14 CoreText 0x00000001168c1036 _ZNK5TFont24CreateDefaultCascadeListEPK9__CFArray + 242 15 CoreText 0x00000001168b8ff9 CTFontCopyDefaultCascadeListForLanguages + 97 16 ??? 0x0000000140eaefd3 0x0 + 5384105939 17 ??? 0x0000000140eae761 0x0 + 5384103777 18 ??? 0x000000013c9c8e74 0x0 + 5311860340 19 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 20 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 21 monotouchtest 0x000000010fd71bac mono_runtime_try_invoke_array + 1292 22 monotouchtest 0x000000010fd15587 ves_icall_InternalInvoke + 647 23 ??? 0x000000013e9fcd13 0x0 + 5345627411 24 ??? 0x000000013e9fc738 0x0 + 5345625912 25 ??? 0x000000013e9fded5 0x0 + 5345631957 26 ??? 0x000000013e9fbb76 0x0 + 5345622902 27 ??? 0x000000013e9e237e 0x0 + 5345518462 28 ??? 0x000000013e9e237e 0x0 + 5345518462 29 ??? 0x000000013e9e237e 0x0 + 5345518462 30 ??? 0x000000013e9e237e 0x0 + 5345518462 31 ??? 0x000000013e873006 0x0 + 5344014342 32 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 33 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 34 monotouchtest 0x000000010fd6e320 mono_runtime_invoke + 208 35 monotouchtest 0x000000010fe71af1 xamarin_invoke_trampoline + 5617 36 monotouchtest 0x000000010fe79ddd xamarin_arch_trampoline + 189 37 monotouchtest 0x000000010fe7b1a1 xamarin_x86_64_common_trampoline + 110 38 UIKit 0x0000000111b9876b -[UITableView _selectRowAtIndexPath:animated:scrollPosition:notifyDelegate:] + 1810 39 UIKit 0x0000000111b98986 -[UITableView _userSelectRowAtPendingSelectionIndexPath:] + 344 40 UIKit 0x0000000111a6b5c9 _runAfterCACommitDeferredBlocks + 318 41 UIKit 0x0000000111a59dad _cleanUpAfterCAFlushAndRunDeferredBlocks + 280 42 UIKit 0x0000000111a89f68 _afterCACommitHandler + 137 43 CoreFoundation 0x000000011de3ddb7 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23 44 CoreFoundation 0x000000011de3dd0e __CFRunLoopDoObservers + 430 45 CoreFoundation 0x000000011de22324 __CFRunLoopRun + 1572 46 CoreFoundation 0x000000011de21a89 CFRunLoopRunSpecific + 409 47 GraphicsServices 0x0000000121b7e9c6 GSEventRunModal + 62 48 UIKit 0x0000000111a5f7d0 UIApplicationMain + 159 49 ??? 0x000000013c9c4474 0x0 + 5311841396 50 ??? 0x000000013c9c40ad 0x0 + 5311840429 ================================================================= Got a SIGSEGV while executing native code. This usually indicates a fatal error in the mono runtime or one of the native libraries used by your application. ================================================================= * [monotouch-test] Don't subclass MKMapView. (#2556) MKMapView doesn't like being subclassed (Apple says "you should not subclass the MKMapView class itself"). Bad things like this starts happening: Thread 0 name: tid_303 Dispatch queue: com.apple.main-thread Thread 0 Crashed: 0 libsystem_kernel.dylib 0x0000000186b25348 __pthread_kill + 8 1 libsystem_pthread.dylib 0x0000000186c39354 pthread_kill$VARIANT$mp + 396 2 libsystem_c.dylib 0x0000000186a94fd8 abort + 140 3 monotouchtest 0x0000000101c02c14 mono_handle_native_crash + 22047764 (mini-exceptions.c:2548) 4 monotouchtest 0x0000000101c0d02c mono_sigsegv_signal_handler + 22089772 (mini-runtime.c:2886) 5 libsystem_platform.dylib 0x0000000186c33b60 _sigtramp + 52 6 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 7 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 8 CoreFoundation 0x0000000186eda51c -[__NSArrayM dealloc] + 68 9 CoreFoundation 0x000000018703f5c8 __CFBasicHashDrain + 312 10 CoreFoundation 0x0000000186fb5b44 _CFRelease + 224 11 CoreText 0x000000018a808404 TDescriptorSource::PurgeFontFallbacksCache+ 488452 () + 92 12 CoreText 0x000000018a808374 TDescriptorSource::PurgeFromCaches+ 488308 (__CFURL const*) const + 176 13 CoreText 0x000000018a7eec74 CTFontRemoveFromCaches + 168 14 VectorKit 0x0000000196a539b0 +[VKSharedResourcesManager removeResourceUser:] + 324 15 VectorKit 0x0000000196ca27a4 md::MapEngine::~MapEngine+ 2643876 () + 360 16 VectorKit 0x0000000196ca2634 md::MapEngine::~MapEngine+ 2643508 () + 12 17 libobjc.A.dylib 0x000000018651eef4 object_cxxDestructFromClass+ 28404 (objc_object*, objc_class*) + 148 18 libobjc.A.dylib 0x000000018652c638 objc_destructInstance + 88 19 libobjc.A.dylib 0x000000018652c690 object_dispose + 16 20 QuartzCore 0x000000018afca3ac -[CALayer dealloc] + 116 21 VectorKit 0x0000000196a43294 -[VKMapView dealloc] + 940 22 QuartzCore 0x000000018af6aafc CA::release_objects+ 744188 (X::List<void const*>*) + 32 23 QuartzCore 0x000000018afd97d8 CA::Layer::~Layer+ 1198040 () + 276 24 QuartzCore 0x000000018afca37c -[CALayer dealloc] + 68 25 QuartzCore 0x000000018af6b16c CA::Transaction::commit+ 745836 () + 1052 26 UIKit 0x0000000190393290 _afterCACommitHandler + 256 27 CoreFoundation 0x0000000186fb38b8 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 32 28 CoreFoundation 0x0000000186fb1270 __CFRunLoopDoObservers + 412 29 CoreFoundation 0x0000000186fb182c __CFRunLoopRun + 1292 30 CoreFoundation 0x0000000186ed22d8 CFRunLoopRunSpecific + 436 31 GraphicsServices 0x0000000188d58f84 GSEventRunModal + 100 32 UIKit 0x000000019040427c UIApplicationMain + 208 33 monotouchtest 0x000000010106eb90 wrapper_managed_to_native_UIKit_UIApplication_UIApplicationMain_int_string___intptr_intptr + 9907088 (/<unknown>:1) 34 monotouchtest 0x0000000100f0d6ac UIKit_UIApplication_Main_string___intptr_intptr + 8459948 (UIApplication.cs:79) 35 monotouchtest 0x0000000100f0d66c UIKit_UIApplication_Main_string___string_string + 8459884 (UIApplication.cs:63) 36 monotouchtest 0x0000000100b10450 monotouchtest_Application_Main_string__ + 4277328 (Main.cs:27) 37 monotouchtest 0x0000000100e0c244 wrapper_runtime_invoke_object_runtime_invoke_dynamic_intptr_intptr_intptr_intptr + 244 38 monotouchtest 0x0000000101c10048 mono_jit_runtime_invoke + 22102088 (mini-runtime.c:2526) 39 monotouchtest 0x0000000101c75eec do_runtime_invoke + 22519532 (object.c:2829) 40 monotouchtest 0x0000000101c78a3c do_exec_main_checked + 22530620 (object.c:4623) 41 monotouchtest 0x0000000101bf9a1c mono_jit_exec + 22010396 (driver.g.c:1040) 42 monotouchtest 0x0000000101d13d60 xamarin_main + 23166304 (monotouch-main.m:482) 43 monotouchtest 0x00000001007de710 main + 927504 (main.m:67) 44 libdyld.dylib 0x00000001869f656c start + 4 * [introspection] Let SkipDueToAttributeInProperty skip setters too (#2557) `SkipDueToAttributeInProperty` which is used to check the availability attribute of properties when the Availability info only exist on the property and not on the property Getter or Setter was wrong. This lead to `setSpringLoaded` (which was introduced in iOS 11) to not be ignored by the test (making it fail). - Fix bug #59085: [introspection-ios] selector not found for UIKit.UIBarButtonItem : setSpringLoaded: - Broken test (https://bugzilla.xamarin.com/show_bug.cgi?id=59085) * [corevideo][watchos] Enable CoreVideo on watchOS (#2553) * [storekit] Fix CampaignToken typo (#2559) (#2560) - Fixes bug #59078: StoreProductParameters and invalid property for CampaignToken (https://bugzilla.xamarin.com/show_bug.cgi?id=59078) * [coreml][watchos] Enable API using CoreVideo on watchOS. Fix #58097 (#2561) https://bugzilla.xamarin.com/show_bug.cgi?id=58097 * Add missing [MarshalDirective] attributes. (#2558) * [bindings-generator] Improve build & project file. * Add missing [MarshalDirective] attributes. Add missing [MarshalDirective] attributes, which also requires implementing support for out parameters in the binding generator, since one of the signatures missing the [MarshalDirective] contains such an out parameter. Also add tests for all the API I've added [MarshalDirective] to. * [bindings-generator] Remove redundant if check. * [monotouch-test] Rename file to end with 'Test.cs'. * [tests] Fix a few build errors for Xamarin.Mac. * [uikit] Fix UIColor and UIInputViewController tvOS availability (#2569) - Fixes introspection tests on tvOS 10. * [storekit] Fix SKCloudServiceSetupMessageIdentifier and SKProductStorePromotionController tvOS availability (#2568) - Fixes introspection tests on tvOS 10. * [mapkit] Fix MKMapItemTypeIdentifier tvOS availability (#2566) - Also remove double [Mac] availability attribute. - Fixes introspection tests on tvOS 10. * [ARKit] Fix marshalling for ARPointCloud.RawFeaturePoints. (#2565) ARPointCloud.RawFeaturePoints is an array of Vector3, but each vector is 16-byte aligned (as if it were an array of Vector4). This means we need to account for this when creating a managed array from pointer to the native C-style array. * [ModelIO] Fix MDLVoxelIndexExtent struct. (#2564) The MDLVoxelIndexExtent is a struct containing two 4-dimensional vectors of integers (not floats, as originally and incorrectly implemented). Fix this my creating a new MDLVoxelIndexExtent2 struct with the right fields, re-implement all the API that exposes this struct and obsolete the old API. Also add missing [MarshalDirective] attributes. And write a test to make sure it works fine now and forever. * [coredata] Enable new fields since rdar #33878590 is fixed w/beta 6 (#2570) reference: https://trello.com/c/dlSRYPFx * [xtro-sharpie] Add a Simd check class to verify signatures with Simd types. * [Simd] Add simd matrix types. The OpenTK matrices (Matrix2/3/4) has a different memory layout than Apple's matrix_float2x2/matrix_float3x3/matrix_float4x4 matrices: the OpenTK versions are row-major, while Apple's versions are column-major. This means that when blitting memory from one to the other, the matrix will appear to have been transposed. See bug #[58599][2] for an example. Unfortunately we've already bound several API with Apple's matrix_floatXxX matrices using OpenTK's matrices, and although they're bound wrong, and the matrices appear transposed on input/output, we can't change the behavior because we have to maintain compatibility. This means we have to introduce new API, and then also just define new matrix types with the right memory layout (column-major). Additionally, in the future we might be able to mark these matrices as Simd-matrixes, so that the JIT/AOT compiler can generate the correct alignment for them, avoiding having to define a native conversion method (using the [MarshalDirective] hack). The matrices have been designed to match API-wise the matrices in the System.Numerics.Vectors namespace [1], but for the moment with only a few basic operations implemented (Determinant/Transpose/Multiply) defined (we can always add more later if we want to). In addition explicit conversion operators to and from the corresponding OpenTK.MatrixX are implemented, which means any operation defined in the OpenTK matrices can be used by converting back and forth. [1]: https://msdn.microsoft.com/en-us/library/system.numerics.matrix4x4(v=vs.111).aspx [2]: https://bugzilla.xamarin.com/show_bug.cgi?id=58599 * [ARKit] Use the new Simd matrix types. * [Vision] Use the new Simd matrix types. * [ModelIO] Use the new Simd-compatible matrix types, and deprecate the old API. * [GameplayKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [SpriteKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [xtro] Don't report missing [MarshalDirective] for obsolete methods. * [xtro] Remove unnecessary ignores. The implementation changed, and these stayed accidentally. * [wkwebkit] Fix (native) protocol names (#2572) Also ignore xtro's WKSnapshotConfiguration since it's an Apple bug 34185961 reference (xtro) !missing-protocol! WKURLSchemeHandler not bound !missing-protocol! WKURLSchemeTask not bound !unknown-protocol! WKUrlSchemeHandler bound !unknown-protocol! WKUrlSchemeTask bound !unknown-type! WKSnapshotConfiguration bound * [uikit] Fix enums availability attributes (#2575) - Fixes bug #59132: [uikit] Extra types in watchOS (https://bugzilla.xamarin.com/show_bug.cgi?id=59132) * [watchkit] Add missing designated initializers (#2574) references (xtro) !missing-designated-initializer! WKInterfaceController::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! WKUserNotificationInterfaceController::init is missing an [DesignatedInitializer] attribute * [xtro] Reword some of the Simd diagnostic messages according to review. * [tests] Make sure test symbols don't clash between different test libraries. Fixes this build problem for framework-test: clang: error: linker command failed with exit code 1 (use -v to see invocation) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_get_rotation_matrix'. MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticObjectTest.framework/XStaticObjectTest (Location related to previous error) MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticArTest.framework/XStaticArTest(libtest-ar.x86_64.o) (Location related to previous error) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransformcomponent_get_local_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_create_global_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float4x4'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float3x3'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float2x2'. MTOUCH: error MT5209: Native linking error: 6 duplicate symbols for architecture x86_64 MTOUCH: error MT5202: Native linking failed. Please review the build log. * [tests] Since libtest.a need ModelIO now, the corresponding LinkWith attributes need to state that too. * [introspection] Don't check native signatures on obsolete members, and ignore the right simd matrix types. Fixes this introspection/Mac problem: ***** ApiSignatureTest.NativeSignatures Selector: uniformWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: uniformWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: uniformWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: setMatrixFloat2x2Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: setMatrixFloat3x3Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: setMatrixFloat4x4Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: initWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: initWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: initWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded * [monotouch-tests] Include more custom asserts for watchOS to make the build work. Fixes this: Simd/MatrixFloat4x4Test.cs(28,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(29,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(37,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(48,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' [...] * [monotouch-test] Exclude code that requires the binding project from xammac tests. Exclude code that requires the test binding project from xammac tests because there's currently no XM version of the test binding project. Fixes this: tests/monotouch-test/SpriteKit/UniformTest.cs(20,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLMaterialProperty.cs(37,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLTransform.cs(34,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) * Bump version for preview #8 (#2576) * [spritekit] Audit fixes (xtro) (#2577) 1. SKVideoNode is now, partially, available on watchOS and does not require the extra, manual code to swicth selectors depending on the OS version being run. !missing-type! SKVideoNode not bound !missing-selector! SKVideoNode::anchorPoint not bound !missing-selector! SKVideoNode::initWithCoder: not bound !missing-selector! SKVideoNode::initWithFileNamed: not bound !missing-selector! SKVideoNode::initWithURL: not bound !missing-selector! SKVideoNode::setAnchorPoint: not bound !missing-selector! SKVideoNode::setSize: not bound !missing-selector! SKVideoNode::size not bound !missing-selector! +SKVideoNode::videoNodeWithFileNamed: not bound !missing-selector! +SKVideoNode::videoNodeWithURL: not bound 2. SKNodeFocusBehavior is exposed needlessly on watchOS because SpriteKit/Enums.cs was not processed by the generator, so [NoWatch] did not matter. !unknown-native-enum! SKNodeFocusBehavior bound It's also visible on macOS but nothing uses it (so we do not expose it needlessly) !missing-enum! SKNodeFocusBehavior not bound 3. Add missing designated initializer on default `init` !missing-designated-initializer! SKAttributeValue::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! SKNode::init is missing an [DesignatedInitializer] attribute 4. Remove inconsistency for SKNode subclasses wrt XAMCORE_4_0 The trio attributeValues, setAttributeValues and setValue:forAttributeNamed: that was moved from SKNode (deprecated) into its subclasses. This was done using XAMCORE_4_0 but not on every subclasses. This adds them everywhere to be consistent (only SKNode versions are not defined in XAMCORE_4_0) !missing-selector! SKEffectNode::attributeValues not bound !missing-selector! SKEffectNode::setAttributeValues: not bound !missing-selector! SKEffectNode::setValue:forAttributeNamed: not bound !missing-selector! SKEffectNode::valueForAttributeNamed: not bound !missing-selector! SKEmitterNode::attributeValues not bound !missing-selector! SKEmitterNode::setAttributeValues: not bound !missing-selector! SKEmitterNode::setValue:forAttributeNamed: not bound !missing-selector! SKEmitterNode::valueForAttributeNamed: not bound !missing-selector! SKSpriteNode::attributeValues not bound !missing-selector! SKSpriteNode::setAttributeValues: not bound !missing-selector! SKSpriteNode::setValue:forAttributeNamed: not bound !missing-selector! SKSpriteNode::valueForAttributeNamed: not bound * [introspection] Make sure '[FAIL]' is printed before every failure. (#2578) This makes xharness able to list the failures in the inline summary. * [xtro] Reword some of the Simd diagnostic messages according to review. * [xharness] Add a missing IsServerMode check to generate correct html. (#2581) * [SpriteKit] SKTransformNode is new in Xcode 9 so no need to keep the broken (and obsolete) non-simd version of RotationMatrix. * [intents] Fix some (partial) xtro issues and #59156 (#2585) reference https://bugzilla.xamarin.com/show_bug.cgi?id=59156 Remaining issues are filled in https://bugzilla.xamarin.com/show_bug.cgi?id=59183 !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound * [Intents] Confirm* interface methods should be bound as Confirm, Fixes Bug 59164 (#2591) * [Intents] Confirm* interface methods should probably be bound as Confirm, Fixes Bug 59164 https://bugzilla.xamarin.com/show_bug.cgi?id=59164 All Confirm* methods from *IntentHandling interfaces should be named just `Confirm` to avoid confusion because most of them do not directly confirm as an acion, but instead they **ask** for confirmation also we would follow swift's naming by doing this. * [Intents] XAMCORE_4_0 all Confirm* methods from *IntentHandling Turns any Confirm* into just Confirm inside a XAMCORE_4_0 block, * [Intents] Fix breaking changes in Intents added in Xcode 9 Bindings (#2590) Apple added more protocol conformances to INRidesharingDomainHandling and INPaymentsDomainHandling protocols in Xcode 9, I introduced these breaking changes back when I did intents binding so fixing them :) * [Metal] New bindings from Xcode 9 betas (#2457) * [AVFoundation] Updated bindings for xcode9. (#2272) * [Xcode9] Add IOSurface bindings (#2363) * This framework was a private framework before iOS 11. This framework was a private framework before iOS 11, yet the headers claim many API were introduced in iOS 10. So take account of this difference by using the private framework location in iOS 10.3 or earlier. Testing these API from Xcode works fine when run on an iOS 10.3 device, and I've confirmed the IOSurface framework is loaded from the private frameworks path on older devices (and when built using Xcode 9 and linked with the public framework path). * Disable code to make IOSurface work on iOS 10. Disable the code to make IOSurface work on iOS 10, since it may be rejected by the App Store. This also means adjusting the availability attributes, so that the introspection tests pass (and to document that technically these API won't work when used with Xamarin.iOS in iOS 10). I've filed bug #[59201][1] to keep track of this, maybe we can re-enable this later. [1]: https://bugzilla.xamarin.com/show_bug.cgi?id=59201 * [CoreMedia] Fix leak in CMAttachmentBearer.GetAttachments. (#2593) The caller owns the return value from CMCopyDictionaryOfAttachments, so tell Runtime.GetNSObject that. * [Intents] Adds missing API found by xtro, fixes Bug 59183 (#2596) https://bugzilla.xamarin.com/show_bug.cgi?id=59183 Fixes !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !incorrect-protocol-member! INUIHostedViewControlling::configureWithInteraction:context:completion: is OPTIONAL and should NOT be abstract * [xtro] Fix StartWorkingDirectory to enable debugging (#2598) * [iosurface] Enable for tvOS and XM classic (to avoid multiple defines around consumer API) (#2597) * [xtro] Fix EnumCheck (#2600) * [ARKit] Rename a few method to make them nicer. (#2604) * DisplayTransform -> GetDisplayTransform since methods should have verbs. * SessionWasInterrupted -> WasInterrupted and SessionInterruptionEnded -> InterruptionEnded since these names match better with the other names (CameraDidChangeTrackingState / DidFail / DidOutputAudioSampleBuffer: none are prefixed with 'Session'). Additionally, the type is a Model (for the delegate pattern), which means all methods are more-or-less event-like, and the first argument is always the same (the protocol itself), which is another indicator the methods should be named similarly. * [Foundation] Remove 'Key' suffix from some fields. (#2606) Of the 168 fields in NSMetadataItem, only these 5 hadn't removed the 'Key' suffix. So make them all equivalent by removing the 'Key' suffix from these 5 fields. * [ImageIO] Fix API to not duplicate the instance in instance methods. (#2609) An instance method does not need to take the instance as a parameter, so remove the first (instance) parameter for CGImageDestination.AddAuxiliaryDataInfo and CGImageSource.CopyAuxiliaryDataInfo. An alternative solution would be to make the methods static, but I like the instance API better. * [UIKit] De-model UIDataSourceTranslating. (#2603) It's not clear from neither the documentation nor the headers how this protocol is supposed to be used, and since it doesn't correspond to the delegate pattern, remove the [Model] attribute for now. We can always add it back later. * [CoreML] Improve API. (#2592) * [CoreML] Improve API. * The indices, shape and stride properties for MLMultiArray and MLMultiArrayConstraint can logically only be arrays of integers, so type them as such. This means adding overloads for MLMultiArray's constructors, GetObject and SetObject methods, and the indexers that takes nint[] arrays instead of NSNumber[] arrays. * Change MLFeatureValue's static factory methods to be a method ('Create') instead of a preposition, and call all the different factory methods the same, since they can be overloaded nicely. * [tests][monotouch-test] Add version check to MLMultiArrayTest and make sure the arrays we create are big enough for the data we put in them. * [tests][monotouch-test] MLMultiArray's elements aren't zero-initialized, so don't assume that in the tests. * Support overloading Objective-C methods based on static/instance. (#2607) Two Objective-C methods can be named identically as long as one is static and the other instance. We must support this since Apple did just this (in the NSItemProviderReading / NSItemProviderWriting protocols). We solve it by prepending a '+' or '-' to the selector when hashing it (to determine selector uniqueness, and to look the method up again at runtime). * [uikit] Update for Xcode 9 - Part 6 (#2602) NSAttributedString.h NSFileProviderExtension.h NSLayoutAnchor.h UIAccessibility.h UIAccessibilityAdditions.h UIAccessibilityContainer.h UIAccessibilityContentSizeCategoryImageAdjusting.h UIAccessibilityCustomRotor.h UIAccessibilityLocationDescriptor.h UITabBar.h UINavigationBar.h UIScreen.h * Xcode9 scenekit (#2512) * [SceneKit] basic work * Added key * [xcode9] SCNCameraController * [xcode9] SCNCamera updates * [xcode9] SCNMaterial * [xcode9] SCNGeometryTessellator, SCNCameraControlConfiguration, SCNView, small bits * Add trailing commas to last enum value * Remove whitespace noise * [scenekit] Update deprecated attributes messages * Addresses some of Rolf's feedback * Drop the WeakDelegate in SCNCameraController * Rename method to Render, remove ctor from class that can not be constructed in Palygrounds, add typo exception * [AppKit] Rename NSBezierPath.AppendBezierPathWithCGGlyph to match its sibling methods. (#2605) NSBezierPath contains a lot of 'AppendPathWithXXX' methods, that all map to 'appendBezierPathXXX' selectors. So rename AppendBezierPathWithCGGlyph accordingly, to make it more similar to the other methods in the same type. * [uikit] Add all UISpringLoadedInteractionSupporting (#2616) Types do not conform to the protocol but protocol methods work on those types (see monotouch-test). Fixed introspection tests accordingly and tested the selectors in monotouch-test. * [Intents] Add convenience ctor overload and call correct base ctor in manual ctor. (#2613) Add a convenience constructor overload in INGetUserCurrentRestaurantReservationBookingsIntent that uses nint instead of NSNumber, since logically "number of results" will always be some sort of integer. Also call the correct base constructor in INSpeakableString's custom constructor (same as any other generated constructor). Otherwise we end up doing something like this: [[[INSpeakableString alloc] init] initWith ...], i.e. calling two different init methods. * [coreimage] Add new headers API up to beta 6 (#2601) Filters are not complete (ref: #57350) https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * Some new constants are not yet documented (type is known), so they are commented / ignored https://bugzilla.xamarin.com/show_bug.cgi?id=59296 * Filled bug for [Wrap] inside [Category] so strong dictionary helpers can be re-enabled later https://bugzilla.xamarin.com/show_bug.cgi?id=59294 * [foundation] xtro fixes for watchOS (#2586) !missing-enum! NSProcessInfoThermalState not bound !missing-field! NSProcessInfoThermalStateDidChangeNotification not bound !missing-selector! NSProcessInfo::thermalState not bound Headers are wrong and preferredPresentationStyle is not in tvOS and watchOS !missing-selector! NSItemProvider::preferredPresentationStyle not bound !missing-selector! NSItemProvider::setPreferredPresentationStyle: not bound * [uikit] Also remove UIPreferredPresentationStyle enum from platform where it's not used * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. (#2614) * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. * NSItemProviderWriting: * NSItemProviderReading: Implement correctly and completely by uncommenting commented out code. * NSMutableString: * NSAttributedString: remove inlined members, since these classes don't implement NSItemProviderReading / NSItemProviderWriting (according to the headers at least). * NSUrl: all platforms now seem to implement NSItemProviderReading / NSItemProviderWriting. * NSString: all platforms now seem to implement both NSItemProviderReading and NSItemProviderWriting * UIColor: * UIImage: Update inlined protocol members according to the latest beta. Additionally, due to the following conditions: * The protocols all have the correct members now. * In the API definition we tell the generator to inline members from a protocol by inheriting from the corresponding interface. * The generator doesn't inline static members from protocols. several 'new' keywords had to be added to silence a compiler warning that occurrs when we manually inline a static member, since the member would be included in the type both from the inherited interface and the manual implementation. * [Foundation] Comment out NSItemProviderWriting.GetItemProviderVisibility to avoid inlining/generating unusable methods. NSItemProviderWriting.GetItemProviderVisibility is an optional method, and none of the native classes that implements NSItemProviderWriting actually imlements the method. This means inlining the method in those classes ends up creating unusable API; so just comment out the method to avoid generating the unusable API. The introspection tests found this: [FAIL] Foundation.NSString : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Foundation.NSUrl : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Contacts.CNContact : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] MapKit.MKMapItem : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIColor : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIImage : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] iOSApiSelectorTest.ApiSelectorTest.StaticMethods : 6 errors found in 2348 static selector validated: See also https://bugzilla.xamarin.com/show_bug.cgi?id=59308 * [iosurface] Add missing [TV] attributes (#2619) * [opengles] Enable the new API using IOSurface (#2618) The symbol only exists inside device libraries, not on simulator, and the introspection tests were updated to ignore it. Part of https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [avfoundation][watchos] Enable AudioBufferList (fix #59145) + audit (xtro) (#2617) 1. AudioBufferList is part of CoreAudio (wrong namespace, which needs a few changes in the generator) and now available in watchOS 4 https://bugzilla.xamarin.com/show_bug.cgi?id=59145 2. Also fixes xtro found issues: !missing-type! AVAudioRecorder not bound !missing-selector! AVAudioRecorder::averagePowerForChannel: not bound !missing-selector! AVAudioRecorder::channelAssignments not bound !missing-selector! AVAudioRecorder::currentTime not bound !missing-selector! AVAudioRecorder::delegate not bound !missing-selector! AVAudioRecorder::deviceCurrentTime not bound !missing-selector! AVAudioRecorder::format not bound !missing-selector! AVAudioRecorder::initWithURL:format:error: not bound !missing-selector! AVAudioRecorder::initWithURL:settings:error: not bound !missing-selector! AVAudioRecorder::isMeteringEnabled not bound !missing-selector! AVAudioRecorder::isRecording not bound !missing-selector! AVAudioRecorder::peakPowerForChannel: not bound !missing-selector! AVAudioRecorder::recordAtTime: not bound !missing-selector! AVAudioRecorder::recordAtTime:forDuration: not bound !missing-selector! AVAudioRecorder::recordForDuration: not bound !missing-selector! AVAudioRecorder::setChannelAssignments: not bound !missing-selector! AVAudioRecorder::setDelegate: not bound !missing-selector! AVAudioRecorder::setMeteringEnabled: not bound !missing-selector! AVAudioRecorder::settings not bound !missing-selector! AVAudioRecorder::url not bound !missing-protocol! AVAudioRecorderDelegate not bound !missing-selector! AVAudioEngine::inputNode not bound !missing-selector! AVAudioEngine::manualRenderingBlock not bound !missing-selector! AVAudioInputNode::setManualRenderingInputPCMFormat:inputBlock: not bound !missing-selector! AVAudioPlayer::format not bound !missing-selector! AVAudioSession::requestRecordPermission: not bound !unknown-field! AVFileType3GPP bound !unknown-field! AVFileType3GPP2 bound !unknown-field! AVFileTypeAC3 bound !unknown-field! AVFileTypeAIFC bound !unknown-field! AVFileTypeAIFF bound !unknown-field! AVFileTypeAMR bound !unknown-field! AVFileTypeAVCI bound !unknown-field! AVFileTypeAppleM4A bound !unknown-field! AVFileTypeAppleM4V bound !unknown-field! AVFileTypeCoreAudioFormat bound !unknown-field! AVFileTypeDNG bound !unknown-field! AVFileTypeEnhancedAC3 bound !unknown-field! AVFileTypeHEIC bound !unknown-field! AVFileTypeHEIF bound !unknown-field! AVFileTypeJPEG bound !unknown-field! AVFileTypeMPEG4 bound !unknown-field! AVFileTypeMPEGLayer3 bound !unknown-field! AVFileTypeQuickTimeMovie bound !unknown-field! AVFileTypeSunAU bound !unknown-field! AVFileTypeTIFF bound !unknown-field! AVFileTypeWAVE bound * [Metal] Implement API using IOSurface now that IOSurface is implemented. Partially fixes #58054. (#2621) https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [PdfKit] Improve PdfAnnotation.QuadrilateralPoints binding by making it strongly typed. (#2620) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). (#2622) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). * [ARKit/Vision] Use the new simd vector types instead of the OpenTK versions. * [ModelIO] Use the new simd vectors in new API (MDLVoxelIndexExtent2). This way we won't have to create a MDLVoxelIndexExtent3 in the future. * [SpriteKit] Use the new simd vectors in new API. * [metal] Audit (xtro) based fixes (#2623) !extra-protocol-member! unexpected selector MTLArgumentEncoder::newArgumentEncoderForBufferAtIndex: found !extra-protocol-member! unexpected selector MTLComputeCommandEncoder::dispatchThreads:threadsPerThreadgroup: found macos-only !missing-field! MTLDeviceRemovalRequestedNotification not bound !missing-field! MTLDeviceWasAddedNotification not bound !missing-field! MTLDeviceWasRemovedNotification not bound !missing-pinvoke! MTLCopyAllDevices is not bound * [CloudKit] Update bindings to beta 6. (#2615) * [FileProvider] Turn NSFileProviderItemIdentifier enum into a static class, fixes bug 59329 (#2634) https://bugzilla.xamarin.com/show_bug.cgi?id=59329 At the time of binding NSFileProviderItemIdentifier it wasn't clear how it was supposed to be used, I mean apple provides two keys which I thought were the only possible values hence binding it as an smart enum. Unfortunately this wasn't the case and the user can use those two values provided from the SDK or their own NSString Identifier. Swift provides a wrapper unfortunately we can't do the same due to NSFileProviderItemIdentifier is used in the NSFileProviderItem protocol and we currently do not support changing signatures on them. * [mtouch] Teach mtouch about the 'IOSurface' framework for tvOS. Fixes #59333. (#2630) https://bugzilla.xamarin.com/show_bug.cgi?id=59333 * Bump Touch.Unit to get fix for API breakage. (#2631) spouliot/Touch.Unit@8f1e19d [NUnitOutputTextWriter] Reintroduce previous constructor to make sure we don't break binary ABI. spouliot/Touch.Unit@00b0c0b [NUnitOutputTextWriter] Don't write invalid xml comments. spouliot/Touch.Unit@de9fe20 [TouchRunner] Restore the original code path when not wrapping NUnit xml output. * [IOSurface] Add missing availability attributes for tvOS. (#2629) * Bump versions for preview 9 (#2624) * [AVFoundation] Add missing interface AVRouteDetector. (#2637) * [tests] Update xtro to reduce list sizes (#2636) * Skip OpenTK duplicate declaration (we can't change them); * Fix rule name change for ARKit / simd; * Add missing default initializer on `init` to pending actions; * Add note for AVPersistableContentKeyRequest changes wrt tvOS; * [ReplayKit] Make RPBroadcastActivityViewController.LoadBroadcastActivityViewController async-capable. (#2639) * [xcode9] More SceneKit bindings (#2633) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 (#2644) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 https://bugzilla.xamarin.com/show_bug.cgi?id=59380 vector_float3 is 16 bytes, which means the binding is incorrect, because Vector3 is 12 bytes, and our code does not that difference into account. * Add tests * [DeviceCheck] Disable default ctor for DCDevice. (#2642) It doesn't seem to be useful according to the documentation, since it appears that the only way to get an instance is to use the static CurrentDevice property. * [audiounit] Audit (xtro) fixes for tvOS (#2635) Availability attributes in non-generated files don't hide symbols/code. reference: !unknown-pinvoke! AudioUnitExtensionCopyComponentList bound !unknown-pinvoke! AudioUnitExtensionSetComponentList bound * [tests] Make sure tvOS tests don't use the (unexisting) API * [tests] Add all test project variations to tests-mac.sln (#2579) * [xharness] Make sure generated mac projects have different project guids. * [introspection] Change the project guid so that it doesn't match the dontlink-mac project guid. * [tests] Add all test project variations to tests-mac.sln. * [xharness] Fix else condition. * [FileProvider] Adds missing NSFileProviderPage constants, fixes bug 59297. (#2646) https://bugzilla.xamarin.com/show_bug.cgi?id=59297 Adds NSFileProviderInitialPageSortedByName and NSFileProviderInitialPageSortedByDate NSData constants * [Xcode9] Remove NSFileProviderMessage and NSFileProviderMessageInterface (#2647) APIs were removed in beta 2 * [Foundation/UIKit] Provide LoadObject[s] methods that return the expected type in the callback. Fixes #59049. (#2638) The callback for these LoadObject[s] methods take an INSItemProviderReading parameter. This tells our runtime that we must provide an instance of a managed object that implements this interface (but nothing else), so we create a `NSItemProviderReadingWrapper` instance, which complies with the API (since the wrapper type implements the corresponding interface). Unfortunately these methods are supposed to return an instance of the passed- in type, so in order to comply with this soft (documentation-only) requirement, provide a wrapper method that creates instances of the right types. https://bugzilla.xamarin.com/show_bug.cgi?id=59049 * [arkit] Ignore deprecated selectors (#2645) * [FileProvider] Adds missing protocol and keys from audit (#2652) ``` !missing-protocol! NSFileProviderServiceSource not bound !missing-field! NSFileProviderErrorCollidingItemKey not bound !missing-field! NSFileProviderErrorNonExistentItemIdentifierKey not bound !missing-field! NSFileProviderFavoriteRankUnranked not bound ``` Also adds `NSXpcListenerEndpoint` to foundation, needed by `NSFileProviderServiceSource` protocol. * [tests][xtro] Workaround xtro runner dupe entry exception and update data files (#2654) * [AVFoundation] Rename field to match others. (#2657) * [homekit] Audit (xtro) fixes (#2653) - HMCharacteristicEvent conforms to NSMutableCopying on iOS11 which makes it 64 bits only (so adjust intro tests) - Ignore extra setters on HMMutablePresenceEvent, rdar 33883958 !missing-selector! HMMutablePresenceEvent::setPresenceEventType: not bound !missing-selector! HMMutablePresenceEvent::setPresenceUserType: not bound * [xtro] Add missing pinvoke to pending (#2662) - Bug 59422: [uikit] Missing UIContentSizeCategoryCompareToCategory & UIContentSizeCategoryIsAccessibilityCategory (https://bugzilla.xamarin.com/show_bug.cgi?id=59422) * Merge latest d15-3 fixes into xcode9 (#2660) * [msbuild] Re-added wildcard (*) expandsion for application-identifier in Entitlements.plist (#2186) Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=57119 * Bump mono (#2213) * Framework tests were still binding non-linked Simple class which errors now (#2216) (#2218) - Improve Makefile to rebuild when projects build with errors * Bump mono to get cecil fix for bug #56808. (#2222) https://bugzilla.xamarin.com/show_bug.cgi?id=56808 * [msbuild] Use @(ReferencePath) instead of @(ResolvedFiles) (#2188) (#2214) This allows things to work on both xbuild and msbuild. In xbuild, both lists are exactly the same and on msbuild, only @(ReferencePath) exists. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=55147 * NSActivityOptions.IdleDisplaySleepDisabled had wrong value (#2232) (#2239) This was due to an integer overflow. The original value was based on Int32 1 << 40 == 256 The correct value should be based on a UInt64. 1UL << 40 == 1099511627776 * [tests] Fix bug 57699 - [iOS]InternalsTest failure (Linkall) tests on device (#2243) Strip native debugging symbols should not be checked for debug builds * Bump mono to get fix for bug #57780. https://bugzilla.xamarin.com/show_bug.cgi?id=57780 * Update .gitmodules Change branch to d15-3 branch of mono * Bump maccore to get fix for bug #55064. https://bugzilla.xamarin.com/show_bug.cgi?id=55064 * [mono] Bump mono to get the head of cecil/mono-2017-04 and fix IsComObject #57919 Also fix #58789 [1], the typo in tools/mtouch/Tuning.cs showing in MT0000 errors instead MT2102. That's already in master and d15-4 mono bump includes: [2] commit 2a6502cee0df9de5198eafe7c8b5f6ac25106f34 (HEAD -> d15-3, origin/d15-3) Merge: 02457c20fcf 5e05cafc6f1 Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 10:04:06 2017 -0400 Merge pull request #5401 from marek-safar/com [Marshal.IsComObject] Make this predicate return false instead of thr… [3] commit 02457c20fcf57c0610e844d638eb1da82b5d1eb0 Merge: da80840ea55 73fd9a1b82e Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 09:59:06 2017 -0400 Merge pull request #5400 from spouliot/bump-cecil-58834-d15-3 [cecil] Bump to the head of the mono-2017-04 branch and pick the fix for bug #58834 References [1] https://bugzilla.xamarin.com/show_bug.cgi?id=58789 [2] https://bugzilla.xamarin.com/show_bug.cgi?id=57919 [3] https://bugzilla.xamarin.com/show_bug.cgi?id=58834 * [mtouch] Put 'mono_profiler_startup_log' in the symbol list. Fixes #58778. (#2501) We need the 'mono_profiler_startup_log' symbol when profiling is enabled, so make sure to add the symbol to the correct list of symbols we need. Previously we were passing `-u _mono_profiler_startup_log` to clang directly, which is fine, but not complete, since it does not write the symbol to the symbollist file (--symbollist=file), which means it wouldn't be preserved when the MSBuild tasks strip the executable. https://bugzilla.xamarin.com/show_bug.cgi?id=58778 * Bump versions for SR3 https://trello.com/c/EVze08ei * Bump mono to include HttpClientHandler fix #44027 https://trello.com/c/jYFXadH8/8-systemnethttp-close-request-stream-when-httpclienthandler https://bugzilla.xamarin.com/show_bug.cgi?id=44027 * [FileProvider] Add missing API and turn NSString to string (#2663) Turned NSString to string in order to match exisiting API. * [uikit] Add UIPasteConfigurationSupporting and UITextPasteConfigurationSupporting (#2649) - Fixes bug #59363: Missing UIPasteConfigurationSupporting, UITextPasteConfigurationSupporting, UITextDraggable and UITextDroppable on a couple of types (https://bugzilla.xamarin.com/show_bug.cgi?id=59363) * [uikit] Remove 129 types in UIPasteConfigurationSupporting case * [scenekit] Audit (xtro) fixes (#2648) This looks like an Apple breaking change (since `SCNAnimation` is new) but we now have: > typedef void (^SCNAnimationEventBlock)(id<SCNAnimation> animation, id animatedObject, BOOL playingBackward); bound as > delegate void SCNAnimationEventHandler (CAAnimation animation, NSObject animatedObject, bool playingBackward); and `CAAnimation` conforms to `SCNAnimation` but *only* the later is available on watchOS. The delegate is only updated (since it's new) on our watchOS profile. xtro references: (watchos) !unknown-protocol! SCNCameraControlConfiguration bound (tvos/watchos) !missing-selector! SCNAnimation::animationEvents not bound !missing-selector! SCNAnimation::setAnimationEvents: not bound !missing-selector! SCNConstraint::isEnabled not bound !missing-selector! SCNConstraint::setEnabled: not bound !missing-field! SCNSceneSourceConvertToYUpKey not bound !missing-field! SCNSceneSourceConvertUnitsToMetersKey not bound (ios/tvos) !missing-protocol-conformance! SCNNode should conform to UIFocusItem * Bump maccore post 15.3 merge (#2665) * Bump Xcode 9 to GM (#2667) * Force build (on wrench) * [avfoundation] Fix breaking changes (apidiff) (#2664) * [TVServices] Update to Xcode 9 GM (#2675) * [GameController] Update to Xcode 9 GM (#2673) * [LocalAuthentication] Update to Xcode 9 GM (#2671) * [LocalAuthentication] Update to Xcode 9 GM * Remove availability from BiometryNotAvailable, BiometryNotEnrolled and BiometryLockout * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer (#2659) * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer Some of the new added types were already present BUT under a #if MONOMAC, they had to be moved. * [AVFoundation] Set the wrongly added API to be obsolete and ensure it returns logical values. (#2650) * [xtro] The right platform for macOS is 'macos', not 'osx'. (#2677) The platform name is used to filter availability attributes, and if we use the wrong platform, we'll incorrectly skip all availability attributes. The net result in unclassified entries: https://gist.github.com/rolfbjarne/a4474bc2a40c49a85cad495b51bb514f * Various Xcode 9 API improvements and also fixes bug 59433 (#2676) https://bugzilla.xamarin.com/show_bug.cgi?id=59433 While fixing bug 59433 I noticed some additional issues outlined below: AVDepthData: * Renamed **non** static `Create` methods because `Create` only makes sense with the **Static** method in this context. Also by renaming the methods we are now closer to the names that swift uses. * Kept descriptive method names in favor of self-documenting code. `Convert`, `Apply` and `Replace` do not fully give us the intent of the method. * Added a convenience `Create` static method that takes a `CGImageAuxiliaryDataInfo`. * AvailableDepthDataTypes is now an array of `CVPixelFormatType` instead of a `NSNumber` array (The aactual fix for bug 59433). ImageIO: * Refactored `CGImageAuxiliaryDataInfo` to be a `StrongDictionary` in order to avoid most of the manual code and also to avoid reimplementing the `ToDictionary` method (which contained a subtle bug). * Adjusted code to reflect the above change. * Added missing `.ctor (IntPtr, bool)` to `CGImageMetadata` so the class is able to be created by our `Runtime.Get*`. * Simplified `CopyAuxiliaryDataInfo` method by using `CGImageAuxiliaryDataInfo` as a `DictionaryContainer`. Tests: * Added `xamarinmonkey.heic` which is an image that contains depth data needed to test above changes. * Adds `AVDepthDataTests` that touches most of the changes listed here. * Tweak the Simd-compatible matrices and vectors (#2668) * Rename them to be OpenTK.NMatrix# (instead of Simd.MatrixFloat#x#). * Remove the Vector2 and Vector4 variants, we'll use the OpenTK types instead (but we'll keep the NVector3 variant, since it's not identical to the OpenTK version). * Update the API to match their OpenTK counterparts better: * NMatrix2 and NMatrix3 have a 0-based R#C# scheme for their fields. * NMatrix4 has a 1-based M## scheme for its fields (i.e. no change). * [AVFoundation] Use Simd-matrix for API that needs it. (#2679) This also requires implementing the corresponding matrix (NMatrix4x3). Fixes this xtro issue: > !unknown-simd-type-in-signature! OpenTK.Matrix3 AVFoundation.AVCameraCalibrationData::get_GetIntrinsicMatrix(): the native signature has a simd type (matrix_float3x3), while the corresponding managed method is using an incorrect (non-simd) type. * [xtro] Fix checking availability on categories. (#2682) When checking for category availability, check if both the current declaration is a category, and if the current's declaration container is a category. Otherwise this scenario fails: * Category method is available. * Category does not have availability attributes. * Main class is unavailable. with this typical code sequence: ```csharp // don't process methods (or types) that are unavailable for the current platform if (!decl.IsAvailable () || !(decl.DeclContext as Decl).IsAvailable ()) return; ``` In which case we'd: * First check the method (`decl`): * It's available, so no further checks is done on the method. * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container's container is a category (it isn't, it's the namespace). and as such determine that the method is available. With this change, the second step will become: * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container is a category (it is), and if its main class is available (it isn't). and as such determine that the method is unavailable. * Check for attributes on the method's container (no attributes, so we continue). * Check if the method's Unclassified diff: https://gist.github.com/rolfbjarne/8fa80962596978a426eadf9b7ba39dc1 * [uikit] Update for Xcode 9 GM (#2670) * [AVFoundation] Implement AVCapturePhoto. Partially fixes #59388. (#2678) Fixes: > common.unclassified:!missing-type! AVCapturePhoto not bound https://bugzilla.xamarin.com/show_bug.cgi?id=59388 * Use strong dictionaries for AVCapturePhoto.Metadata and AVCapturePhoto.EmbeddedThumbnailPhotoFormat. * [SIMD] Implement Simd double types (VectorDouble3/MatrixDouble4x4). (#2632) The following types will be used by ModelIO bindings * Fix delta to be double * Rename Simd-compatible matrices and vectors to match our final naming. This also means removing the new Vector2 and Vector4 variants (but not Vector3). * [avfoundation] Remove AVAssetDownloadDelegate.DidLoadTimeRange since it was removed in one of the betas (#2687) * [foundation] Move NSUrlSessionMultipathServiceType to a file processed by the generator (for the availability attributes) (#2688) * [arkit] Update for Xcode 9 GM (#2681) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes (#2690) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes Type Changed: Intents.INCarSeatResolutionResult Removed methods: public static INCarSeatResolutionResult GetConfirmationRequired (INCarSeat valueToConfirm); public static INCarSeatResolutionResult GetSuccess (INCarSeat resolvedValue); * [avfoundation] Add missing protocol members and deprecations (#2691) !missing-protocol-member! AVCapturePhotoCaptureDelegate::captureOutput:didFinishProcessingPhoto:error: not found and the selector removed from PR#2687 was actually replaced with this one !missing-protocol-member! AVAssetDownloadDelegate::URLSession:aggregateAssetDownloadTask:didLoadTimeRange:totalTimeRangesLoaded:timeRangeExpectedToLoad:forMediaSelection: not found * [tests][xtro] Map some enums, more fix with protocols and update entries (#2692) * [Tests] Reenable dns tests on the watch. (#2674) * [arkit] Add ARBlendShapeLocationOptions strong dictionary (#2696) * [coreimage] Skip not yet bound filters added in Xcode9 (#2698) Tracked in https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * [Metal] Renamed MTLArgumentDescriptor.ArgumentDescriptor to Create, fixes bug 59498 (#2702) https://bugzilla.xamarin.com/show_bug.cgi?id=59498 From [argumentDescriptor docs](https://developer.apple.com/documentation/metal/mtlargumentdescriptor/2915746-argumentdescriptor?language=objc) > Creates an empty argument descriptor. * [msbuild] Always codesign app bundles if the codesign key is non-null (#2697) ...even if it is a simulator build. Turns out that starting with Xcode9, sim builds need to be codesigned for App Groups entitlements to work properly. Interestingly, the DetectSigningIdentity logic had a comment about needing to codesign simulator builds for some entitlements to work already starting with Xcode 8 but apparently the iOS targets did not respect this. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=59379 * [Foundation] Add NSProxy stub in order to workaround bug 59247 (#2693) https://bugzilla.xamarin.com/show_bug.cgi?id=59247 We need to have a better solution that removes all what NSProxy does not responds to. Right now this works because NSObject implements NSObject protocol just like NSProxy, but NSProxy responds to far less selectors hence doing it internal so it is not a breaking change when we provide the correct fix. * Keep NSProxy around and avoid XML linker description We need to keep NSProxy (avoid linking it) if WKNavigationDelegate or IWKNavigationDelegate is used. We know WKWebView will be there and can hold a reference to it. * [Xcode 9] Update Metal for GM (#2689) * [iosurface] IOSurface is not usable before iOS/tvOS 11. Fixes #59201 (#2706) Apple rejects apps that links with the previously private IOSurface.framework. We were not sure about this [1] and had it disabled (this is removed). However another bug stopped our adjustment logic [2] from being executed. This is needed since `clang` picks up the private framework if it does not find the public one (even when asking for a weak framework), [1] https://bugzilla.xamarin.com/show_bug.cgi?id=59201 [2] Added a while ago for JavascriptCore * Bump maccore to point to commit with the docs fix. (#2703) * Bump XI to 11.0.x (and XM to 3.99.9.x) (#2684) * fix typo
2017-09-16 00:53:16 +03:00
[Export ("defaultCameraController")]
SCNCameraController DefaultCameraController { get; }
#endif
[Watch (4,0), TV (11,0), Mac (10,13), iOS (11,0)]
[Export ("rendersContinuously")]
bool RendersContinuously { get; set; }
2016-04-21 15:30:02 +03:00
}
Merge xcode9 into d15-4[-xi] (#2710) * [FileProvider] Add Xcode 9 Beta 1, 2 & 3 Bindings (#2279) * [FileProvider] Add Xcode 9 Beta 1 Bindings * Better naming * Feedback not related to BindAs * [FileProvider] Removes BindAs, add manual code for it and updated to Beta 3 * [FileProvider] Implement feedback * [CoreSpotlight] Updated spotlight bindings for xcode 9 beta 3. (#2193) Updated spotlight bindings for xcode 9 beta 3. * Fix warning caused by duplicate (#2354) * [FileProviderUI] Add Xcode 9 Beta 1 to 3 bindings (#2356) * Bump to Xcode 9 beta 4 * [arkit] ARLightEstimate does not conform to NSCopying anymore (fix unit test) * [uikit] NSFileProviderExtension.ReparentItem got a new parameter in beta4 (fix unit test) * [coreimage] CIImageAccumulator init returns nil in beta 4 There's no header change to mention `init` is not allowed but it's not clear how this default initializer could be used. Also make public some other API to construct this type (outside of XM). It's not clear why there were `internal` as they are (at least now) part of the header files. * [photos] Add helpers when PHLivePhotoEditingOption/NSDictionary is null (to avoid ambiguous API) (#2360) Adding a strongly typed `PHLivePhotoEditingOption` (a strongly typed version of an `NSDictionary`) can cause a `CS0121` (call is ambiguous) since using a `null` argument is common (only one option exist so far). This PR adds overloads that makes the code nicer in such case, e.g. before Xcode9: > // null is used when no options are given > _foo.SaveLivePhoto (output, null, completion); current (Xcode 9) > // casting required to remove ambiguity with PHLivePhotoEditingOption > _foo.SaveLivePhoto (output, (NSDictionary)null, completion); with this PR > // no option, no argument > _foo.SaveLivePhoto (output, completion); The same applies to `PrepareLivePhotoForPlayback`. * [tests] Disable/tweak two tests that breaks on (almost) all Xcode updates Those tests were not added to validate xOS so just keep the parts that helps us (without constantly checking back the new break flavor) * Disable watchOS to check if this hides others issues * [mapkit] Update for beta 4 * [coredata] Update for beta 4 * [wkwebkit] Update for beta 4 Note: WKWindowFeatures.h is not compiled (part of the framework umbrella) and the `@interface WKWindowFeatures (WKPrivate)` sounds like it should not have been exposed (it's all fields starting with `_`) * [corelocation] Update for beta 4 * Revert "Disable watchOS to check if this hides others issues" This reverts commit fed2249fa43290a1956ab2fe0d48f83ab6db9711. * [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]: https://github.com/xamarin/xamarin-macios/blob/f5956d6cc1eb5dfa7bab16628cf282d40237f64e/src/generator.cs#L5985 * [FinderSync] Update to beta 4 (#2377) * [ImageIO] Update to Xcode 9 (#2353) * [PhotosUI] Move macOS photosui bindings out of photos.cs into photosui.cs (#2358) * [quicklook] Update up to beta 4 (#2374) * [uikit] UIDragInteraction & UIDragInteractionDelegate (Xcode 9 b1,2,3) (#2357) * [safariservices] Update up to beta 4 (#2380) * [coreanimation] Update to beta 4 (#2382) Apple removed (mistake?) some API in beta 1. Filed as rdar 33590997 Internal tracking in https://trello.com/c/J8BDDUV9/86-33590997-coreanimation-quartzcore-api-removals * [storekit] Update up to beta 4 (#2379) * [CoreML] Update to Xcode 9 Beta 4 (#2387) * [uikit] UICollectionView/UITableView Drag & Drop (Xcode 9 b1,2,3 & 4) (#2355) * Update code after radar 32929318 and 32897776 are fixed in b4 (#2394) * [xcode9 CoreAudio] New definitions from Beta1 to Beta3 (#2359) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 (#2397) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 https://bugzilla.xamarin.com/show_bug.cgi?id=58512 Created strong API (VNBarcodeSymbology) on the following properties * VNDetectBarcodesRequest.SupportedSymbologies * VNDetectBarcodesRequest.Symbologies * VNBarcodeObservation.Symbology * Remove modern C# because classic can't do it 😡 * [mediaplayer] Update up to beta 4 (#2388) * [watchkit] Update to beta 4 (#2398) * Bump Visual Studio for Mac max version (#2408) * [coreimage] Add CIBarcodeDescriptor and enabled missing API for VNBarcodeObservation. Fix #58197 (#2411) https://bugzilla.xamarin.com/show_bug.cgi?id=58197 * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 (#2407) * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 * [uikit] Fixes based on comments * [coreimage] CIImageAccumulator API fixes. Fix #58349 (#2412) * Obsolete the default `init`; * XM exposed some older APIs using `int` instead of `CIFormat`. This is fixed and old APIs are obsoleted; * Both new & old APIs are now using `CIFormat` for both XI and XM. https://bugzilla.xamarin.com/show_bug.cgi?id=58349 * [uikit] UIText drag & drop - up to Xcode 9 beta 4 (#2410) * [uikit] UISplitView & UIStackView up to Xcode 9 beta 4 (#2425) * Bump XI/XM versions before preview 4 (#2422) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 (#2378) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 * [PDFKit] Implement feedback * [PDFKit] the forgotten enum * [PDFKit] More feedback * [PDFKit] Add Mac changes * Missing change * Fix test RectangleF VS CGRect * Pass -Wunguarded-availability-new to quiet a new clang warning (#2424) - https://bugzilla.xamarin.com/show_bug.cgi?id=58574 * [mtouch/mmp] Ignore warnings about unguarded code section with regards to availability. (#2441) * [monotouch-test] Remove workaround for fixed Apple bug. (#2445) * Bump to Xcode 9 beta 5. (#2447) * Bump to Xcode 9 beta 5. * [mmp] Disable the partial static registrar, because Apple's macOS SDK is broken. > In file included from Xamarin.Mac.registrar.mobile.i386.m:1: > In file included from ./Xamarin.Mac.registrar.mobile.i386.h:11: > /Applications/Xcode9-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVFoundation.h:88:9: fatal error: 'AVFoundation/AVRouteDetector.h' file not found https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [mmp] Fix partial static registrar removal. * [CallKit] Update to Xcode 9 beta 5. * [ARKit] ARPointCloud doesn't conform to NSCopying anymore in Xcode 9 beta 5. * [ARKit] Update to Xcode 9 beta 5 enough to make tests happy. * [CoreImage] Stub out new filters in Xcode 9 beta 5. * [tests][monotouch] Simplify some MDLMesh asserts since values change a lot between OS versions. * [mmp] Default to the dynamic registrar for release builds again, due to bug #58629. https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [tests][introspection] CXCall started implementing NSCopying without saying so in the headers. * Disable mmp static registrar tests due to 58629 for now * [quicklook] Update to beta 5 (#2450) * [photos] Update for beta 5 (#2452) Also update some existing enum members were added in beta 1 on macOS * [safariservices] Update for beta 5 (#2455) * [mediaplayer] Update to beta 5 (#2456) * [CoreLocation] Update Xcode 9 Beta 5 (#2453) * [CoreML] Update to Xcode 9 Beta 5 (#2454) * [Contacts] Update to Xcode 9 Beta 5 (#2451) * [Vision] Update to Xcode 9 Beta 5 (#2458) * [builds] Tell LLVM to stay away from newer macOS functions. (#2459) Fixes this build problem on Sierra: > ld: weak import of symbol '_futimens' not supported because of option: -no_weak_imports for architecture x86_64 This is a symbol that was (will be?) introduced in High Sierra. Interestingly this only occurs if the Xcode 8.X Command Line Tools haven't been manually installed. Because if the Xcode 8.X Command Line Tools are installed, this happens: 1. llvm's configure script detects that 'futimens' is not usable. 2. llvm's configure script detects that 'futimens' is not usable, because xcrun sets SDKROOT=/ when calling clang. a. When the SDKROOT variable is set, clang passes '-syslibroot /usr/lib' to ld. b. When ld gets '-syslibroot /usr/lib', ld looks in '/usr/lib' for a library that contains 'futimens' in the OS itself, and since we're on Sierra, that fails to link. c. So when llvm's configure script creates a test program that checks if 'futimens' is present, the program fails. This is correct, and makes llvm *not* use futimens. 3. xcrun sets SDKROOT=/ because /usr/share/current-os.sdk/Info.plist exists. If that file does not exist, then xcrun sets SDKROOT to Xcode9's macOS SDK (because that's what xcode-select reports). a. When SDKROOT is set to Xcode9's macOS SDK, the configure check for 'futimens' succeeds, because the macOS 10.13 SDK contains that function. b. llvm happily uses 'futimens', and then the final link fails because we're using a symbol not available on all target platforms. * [arkit] Update for Xcode 9 beta 5 - Part 1 (#2460) * [tests] The container app for watchOS tests should be 64-bit. (#2463) * [xharness] watchOS tests need to run in a clean environment. Works around #58348. (#2462) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [xharness] It watchOS tests don't need to be clean anymore. Fixes #58348. (#2473) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [uikit] UIView/UIScrollView/UIViewController up to Xcode 9 beta 5 (#2431) - Add NSDirectionalEdgeInsets type. - Includes DirectionalEdgeInsetsTest. * [AudioToolbox] Update bindings to Xcode 9 beta3 (not later changes). (#2294) * [xharness] Add a file existence check. (#2478) Fixes this exception: ``` Harness exception for 'introspection': System.IO.FileNotFoundException: Could not find file '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log'. File name: '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log' at System.IO.__Error.WinIOError (System.Int32 errorCode, System.String maybeFullPath) [0x00207] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/__error.cs:188 at System.IO.FileInfo.get_Length () [0x00038] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/fileinfo.cs:171 at xharness.CaptureLog.StopCapture () [0x00021] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Log.cs:252 at (wrapper remoting-invoke-with-check) xharness.CaptureLog:StopCapture () at xharness.AppRunner+<RunAsync>d__68.MoveNext () [0x0127f] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/AppRunner.cs:642 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter`1[TResult].GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:357 at xharness.RunSimulatorTask+<RunTestAsync>d__7.MoveNext () [0x0029d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2894 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.RunTestTask+<ExecuteAsync>d__8.MoveNext () [0x0010b] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2538 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.TestTask+<RunInternalAsync>d__87.MoveNext () [0x0010d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:1870 ``` I'm not sure how this can happen, but it has on the bots [1]. [1] https://jenkins.mono-project.com/job/xamarin-macios-pr-builder/4548/Test_Report/ * Bump versions for preview 5 (#2479) * [passkit] Update to beta 5 (#2481) * [tests] Remove workaround for radar #32688391. (#2486) * [replaykit] Update up to beta 5 (#2484) * Bump maccore to get fix for bug #55064. (#2487) * [apidiff] Update definition to new 10.12 (d15-3) stable release (#2490) * [SceneKit] basic work (#2483) * [coredata] Update to beta 5 (#2488) * [homekit] Update for Xcode 9 beta 5 (#2492) * [Foundation] Update for xcode9 (#2468) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 (#2493) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 * [Intents] Implement feedback * [Intents] Add a generic version for INInteraction.GetParameterValue * [Intents] Missing check * [Contacts] Add missing foundation NSItemProviderWriting protocol to CNContact (#2496) https://bugzilla.xamarin.com/show_bug.cgi?id=58203 This is available on all Contacts supported platforms ``` ./iPhoneOS.platform/Developer/SDKs/iPhoneOS11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchOS.platform/Developer/SDKs/WatchOS4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchSimulator.platform/Developer/SDKs/WatchSimulator4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ``` * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) (#2497) * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) * [IntentsUI] Better use a delegate instead so we have named params * Bump versions before 6th preview (#2514) * [arkit] Add missing MarshalDirective to ARPlaneAnchor (#2517) - Fixes bug #58648: ARPlaneAnchor.Extent property seems incorrect but changes to correct value after Debug access (https://bugzilla.xamarin.com/show_bug.cgi?id=58648) * [xtro-sharpie] Fix a compiler warning. (#2516) Fixes these warnings: Runner.cs(197,5): warning CS0642: Possible mistaken empty statement Runner.cs(199,5): warning CS0642: Possible mistaken empty statement Runner.cs(201,5): warning CS0642: Possible mistaken empty statement Runner.cs(203,5): warning CS0642: Possible mistaken empty statement Runner.cs(205,5): warning CS0642: Possible mistaken empty statement * [uikit] Update for Xcode 9 beta 5 - Part 3 (#2511) - UIKeyCommand - UINavigationBar - UINavigationItem - UIPasteboard - UITableViewHeaderFooterView * [xtro-sharpie] Remove xtro-plugin and misc other fixes. (#2522) * [xtro-sharpie] Build with msbuild and be as quiet as requested when building. * [xtro-sharpie] Must run as a 64-bit process, since the required native libraries are 64-bit. * [xtro-sharpie] Add run configurations to the project file to ease debugging in the IDE. * [xtro-sharpie] Remove xtro-plugin and the related commands. This was needed when there wasn't a 64-bit mono, in order to run xtro-sharpie in a 64-bit process. Now there is a 64-bit mono, so it's not needed anymore. Also improve makefile targets a bit, to auto-build stuff when needed, by setting the right dependencies. * Bump Xcode 9 to beta 6 (#2519) Disable watchOS tests again It seems like the Carousel crash from beta 4 is back to haunt us. This was working fine with beta 5. * Backport d15-3 SR2 fixes (#2515) * [coredata] Update to beta 6 (#2528) This seems to only revert some nullability changes from beta 5. * [coreml] Update to beta 6 (#2531) Fix our rdar 33643011 where additional setters were added in the headers but did not exists. * [videosubscriberaccount] Update to beta 6 (#2533) Only b1 and b2 introduced some additions/changes * [uikit] Update for Xcode 9 beta 6 - Part 4 (#2527) The following headers are now up to date: - UICollectionViewFlowLayout.h - UIDocumentPickerViewController.h - UIFontDescriptor.h - UIImage.h - UIImageView.h - UIImagePickerController.h * [xharness] Re-enable the watchOS tests. (#2534) It works fine for me locally, so let's see what Jenkins says. * [macos] Add new APIs in CoreWlan from Xcode9b3 (#2525) * Update AppKit bindings based on radar 33271241 results (#2518) * Update AppKit bindings based on radar 33271241 results - The header comment was updated to note it was NSSliderTouchBarItem view that has the protocol * Remove NSUserInterfaceCompression where not listed in header * [vision] Update to beta 6 (#2532) Removal of some deprecated (during beta) `init*` selectors. Also sync the versions that were inlined in subclasses - the old ones were not removed and the new ones were not added. * [xtro-sharpie] Many methods don't have selectors in Clang's API, so default to the name if no selector. (#2523) This makes a few more unclassified entries show up (mostly missing designated initializers): https://gist.github.com/rolfbjarne/07aa20f9b50b75bf3e69ac6a825e873a * [macos] Add ExternalAccessory APIs from xcode9 (#2526) * [58851] Disable NSMenuView in AllItemsWithNSMenuShouldAllowNull (#2504) * [arkit] Update for Xcode 9 beta 5 - Part 2 (#2505) - Add last missing selector. - Add tests for manual code. * [monotouch-test] Disable FontDescriptorTest.WithFeature (#2537) Disabled because it looks like the tvOS font we use: "Gujarati Sangam MN" does not have rare ligatures anymore (and the entire test is based on it). Before getting an actual fix for that, let's disable the test so it doesn't break all current builds. See: https://bugzilla.xamarin.com/show_bug.cgi?id=58929 * [xtro-sharpie] Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute. (#2524) Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute to calculate the native name for a TypeDefinition. Unclassified changes: https://gist.github.com/rolfbjarne/828f8ee41eebb0a3b60a38d71822fe59 * [foundation/uikit] Inline NSItemProvider_UIKitAdditions in NSItemProvider (#2538) As suggested here: https://github.com/xamarin/xamarin-macios/pull/2527#discussion_r134670981 * [intents] Fix breaking changes (api-diff) (#2543) Additions of @required members inside `INSpeakable` cannot be `[Abstract]` * [contacts] Fix breaking change (api-diff) (#2542) Type Changed: Contacts.CNPostalAddress Removed method: public static string LocalizeProperty (CNPostalAddressKeyOption option); * [macos] Reenable static registrar since Xcode9b6 un-broke SDK headers (#2544) - Fix a subtle spacing issues in PartialStaticLibrary property * [corebluetooth] Update up to beta 6 and enable it on watchOS (#2540) macOS 10.13 has finally catch up with iOS and this simplifies the bindings a bit. * [foundation] API fixes (apidiff) (#2545) 1. Let's not add new, already [Obsolete] API Type Changed: Foundation.NSDimension Added constructors: [Obsolete ("Not intended to be directly instantiated, this is an abstract class.")] public NSDimension (); 2. Fix inconsistently named API, e.g. Type Changed: Foundation.NSAttributedString Added properties: public static string[] ReadableTypeIdentifiersForItemProvider { get; } public static string[] WritableTypeIdentifiers { get; } * [pdfkit] Do not add already [Obsolete] API in new profiles (#2547) and ensure using the newer, correct API works cross-platforms iOS (before) [Obsolete ("Use 'Find (string, NSStringCompareOptions)' instead.")] public virtual PdfSelection[] Find (string text, nint options); public PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'Find (string, PdfSelection, NSStringCompareOptions)' instead.")] public virtual PdfSelection Find (string text, PdfSelection selection, nint options); public void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string, NSStringCompareOptions)' instead.")] public virtual void FindAsync (string text, nint options); public void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string [], NSStringCompareOptions)' instead.")] public virtual void FindAsync (string[] text, nint options); iOS (after) public virtual PdfSelection[] Find (string text, Foundation.NSStringCompareOptions compareOptions); public virtual PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); * Bump versions for the 7th preview (#2541) * Remove additions of AVKit removed in beta5 (#2536) * NSUrlSessionTask should implement NSProgressReporting for iOS (#2548) NSUrlSessionTask implements NSProgressReporting on iOS as well as Mac, so the #if MONOMAC isn't needed. * Add missing availability attributes causing failures on older iOS versions (#2550) * [vision] Minor fix wrt xtro (#2551) including some things we need to ignore manually !missing-field! VNVisionVersionNumber not bound !missing-pinvoke! VNImagePointForFaceLandmarkPoint is not bound !missing-pinvoke! VNNormalizedFaceBoundingBoxPointForLandmarkPoint is not bound * [uikit] NSFileProviderMessaging was removed in beta 2. Fixes #58222 (#2552) reference: https://bugzilla.xamarin.com/show_bug.cgi?id=58222 * [uikit] Update for Xcode 9 - Part 5 (#2546) Bindings for the following headers: - UIActivity.h - UIActivityItemProvider.h - UIAlertController.h - UIApplication.h - UIBarButtonItem.h - UIButton.h - UICollectionViewLayout.h - UIColor.h - UIControl.h - UIDocumentMenuViewController.h - UIFontMetrics.h - UIGestureRecognizer.h - UIGraphicsImageRenderer.h - UIInputViewController.h * [CoreText] Fix an extraneous free in CTFont.GetDefaultCascadeList. (#2555) We do not own the return value from CFArrayGetValueAtIndex, so don't say we do when creating CTFontDescriptor instances, since that leads to angry dragons: 2017-08-28 20:15:20.293 monotouchtest[33186:2311738] A_FontTest 2017-08-28 20:15:20.294 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithFontDescriptorAndOptions 2017-08-28 20:15:20.295 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithNameAndOptions 2017-08-28 20:15:20.296 monotouchtest[33186:2311738] critical: Stacktrace: at <unknown> <0xffffffff> at (wrapper managed-to-native) CoreText.CTFont.CTFontCopyDefaultCascadeListForLanguages (intptr,intptr) [0x0000a] in <ae65a2b1eea242d2b68fe784749543bf>:0 at CoreText.CTFont.GetDefaultCascadeList (string[]) [0x00013] in /work/maccore/xcode9/xamarin-macios/src/CoreText/CTFont.cs:2185 at MonoTouchFixtures.CoreText.A_FontTest.GetCascadeList () [0x0001e] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/CoreText/FontTest.cs:78 at (wrapper runtime-invoke) object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) [0x0004f] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) System.Reflection.MonoMethod.InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&) [0x00016] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at System.Reflection.MonoMethod.Invoke (object,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo) [0x00032] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/corlib/System.Reflection/MonoMethod.cs:305 at System.Reflection.MethodBase.Invoke (object,object[]) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/referencesource/mscorlib/system/reflection/methodbase.cs:229 at NUnit.Framework.Internal.Reflect.InvokeMethod (System.Reflection.MethodInfo,object,object[]) [0x00009] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Reflect.cs:215 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunNonAsyncTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x00025] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:116 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x0001a] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:90 at NUnit.Framework.Internal.Commands.TestMethodCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:66 at NUnit.Framework.Internal.Commands.SetUpTearDownCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00007] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/SetUpTearDownCommand.cs:84 at NUnit.Framework.Internal.WorkItems.SimpleWorkItem.PerformWork () [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/SimpleWorkItem.cs:64 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at MonoTouch.NUnit.UI.BaseTouchRunner.Run (NUnit.Framework.Internal.Test) [0x0004d] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:442 at MonoTouch.NUnit.UI.BaseTouchRunner.Run () [0x00030] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:171 at MonoTouch.Dialog.StringElement.Selected (MonoTouch.Dialog.DialogViewController,UIKit.UITableView,Foundation.NSIndexPath) [0x00008] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/Elements.cs:765 at MonoTouch.Dialog.DialogViewController.Selected (Foundation.NSIndexPath) [0x00026] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:577 at MonoTouch.Dialog.DialogViewController/Source.RowSelected (UIKit.UITableView,Foundation.NSIndexPath) [0x00016] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:402 at (wrapper runtime-invoke) <Module>.runtime_invoke_void__this___object_object (object,intptr,intptr,intptr) [0x0005d] in <32f0c196c5bc4aa18daea2ee64a7814e>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) UIKit.UIApplication.UIApplicationMain (int,string[],intptr,intptr) [0x0005c] in <ae65a2b1eea242d2b68fe784749543bf>:0 at UIKit.UIApplication.Main (string[],intptr,intptr) [0x00005] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:79 at UIKit.UIApplication.Main (string[],string,string) [0x00038] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:63 at monotouchtest.Application.Main (string[]) [0x00011] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/Main.cs:27 at (wrapper runtime-invoke) <Module>.runtime_invoke_void_object (object,intptr,intptr,intptr) [0x00051] in <30a7f7e09de9467b8b454221034a0e38>:0 Native stacktrace: 0 monotouchtest 0x000000010fca03c4 mono_handle_native_crash + 244 1 monotouchtest 0x000000010fcadd30 mono_sigsegv_signal_handler + 288 2 libsystem_platform.dylib 0x000000011feb3b3a _sigtramp + 26 3 CoreFoundation 0x000000011de035a2 computeSanitizedString + 146 4 CoreText 0x00000001168df314 _ZN15TPurgeableCache19RetainedValueForKeyEPKv + 54 5 CoreText 0x00000001168def85 _ZNK17TDescriptorSource22CopyDescriptorUncachedEPK7__CFURLbPK10__CFString + 55 6 CoreText 0x00000001168df34f _ZNK17TDescriptorSource14CopyDescriptorEPK7__CFURLbPK10__CFString + 27 7 CoreText 0x00000001168e20ad _ZNK17TDescriptorSource35CopyFontDescriptorPerPostScriptNameEPK10__CFStringmm + 297 8 CoreText 0x00000001168dfd9e _ZNK17TDescriptorSource30CopySystemFontDescriptorByNameEPK10__CFString10UIFontFlag + 54 9 CoreText 0x00000001168e54c4 _ZNK14TFontFallbacks17CopyFontFallbacksEPK10__CFStringS2_PK9__CFArray + 652 10 CoreText 0x00000001168e4a00 _ZNK14TFontFallbacks29CopyFontFallbacksForLanguagesEPK10__CFStringPK9__CFArray + 122 11 CoreText 0x00000001168e4971 _ZN17TDescriptorSource39CopyDefaultSubstitutionListForLanguagesEPK10__CFStringPK9__CFArray + 61 12 CoreText 0x00000001169397a7 _ZNK9TBaseFont28CreateSystemDefaultFallbacksEPK10__CFStringPK9__CFArray + 51 13 CoreText 0x000000011693999c _ZNK9TBaseFont15CreateFallbacksE10UIFontFlagPPK16__CFCharacterSetPK9__CFArray + 346 14 CoreText 0x00000001168c1036 _ZNK5TFont24CreateDefaultCascadeListEPK9__CFArray + 242 15 CoreText 0x00000001168b8ff9 CTFontCopyDefaultCascadeListForLanguages + 97 16 ??? 0x0000000140eaefd3 0x0 + 5384105939 17 ??? 0x0000000140eae761 0x0 + 5384103777 18 ??? 0x000000013c9c8e74 0x0 + 5311860340 19 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 20 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 21 monotouchtest 0x000000010fd71bac mono_runtime_try_invoke_array + 1292 22 monotouchtest 0x000000010fd15587 ves_icall_InternalInvoke + 647 23 ??? 0x000000013e9fcd13 0x0 + 5345627411 24 ??? 0x000000013e9fc738 0x0 + 5345625912 25 ??? 0x000000013e9fded5 0x0 + 5345631957 26 ??? 0x000000013e9fbb76 0x0 + 5345622902 27 ??? 0x000000013e9e237e 0x0 + 5345518462 28 ??? 0x000000013e9e237e 0x0 + 5345518462 29 ??? 0x000000013e9e237e 0x0 + 5345518462 30 ??? 0x000000013e9e237e 0x0 + 5345518462 31 ??? 0x000000013e873006 0x0 + 5344014342 32 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 33 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 34 monotouchtest 0x000000010fd6e320 mono_runtime_invoke + 208 35 monotouchtest 0x000000010fe71af1 xamarin_invoke_trampoline + 5617 36 monotouchtest 0x000000010fe79ddd xamarin_arch_trampoline + 189 37 monotouchtest 0x000000010fe7b1a1 xamarin_x86_64_common_trampoline + 110 38 UIKit 0x0000000111b9876b -[UITableView _selectRowAtIndexPath:animated:scrollPosition:notifyDelegate:] + 1810 39 UIKit 0x0000000111b98986 -[UITableView _userSelectRowAtPendingSelectionIndexPath:] + 344 40 UIKit 0x0000000111a6b5c9 _runAfterCACommitDeferredBlocks + 318 41 UIKit 0x0000000111a59dad _cleanUpAfterCAFlushAndRunDeferredBlocks + 280 42 UIKit 0x0000000111a89f68 _afterCACommitHandler + 137 43 CoreFoundation 0x000000011de3ddb7 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23 44 CoreFoundation 0x000000011de3dd0e __CFRunLoopDoObservers + 430 45 CoreFoundation 0x000000011de22324 __CFRunLoopRun + 1572 46 CoreFoundation 0x000000011de21a89 CFRunLoopRunSpecific + 409 47 GraphicsServices 0x0000000121b7e9c6 GSEventRunModal + 62 48 UIKit 0x0000000111a5f7d0 UIApplicationMain + 159 49 ??? 0x000000013c9c4474 0x0 + 5311841396 50 ??? 0x000000013c9c40ad 0x0 + 5311840429 ================================================================= Got a SIGSEGV while executing native code. This usually indicates a fatal error in the mono runtime or one of the native libraries used by your application. ================================================================= * [monotouch-test] Don't subclass MKMapView. (#2556) MKMapView doesn't like being subclassed (Apple says "you should not subclass the MKMapView class itself"). Bad things like this starts happening: Thread 0 name: tid_303 Dispatch queue: com.apple.main-thread Thread 0 Crashed: 0 libsystem_kernel.dylib 0x0000000186b25348 __pthread_kill + 8 1 libsystem_pthread.dylib 0x0000000186c39354 pthread_kill$VARIANT$mp + 396 2 libsystem_c.dylib 0x0000000186a94fd8 abort + 140 3 monotouchtest 0x0000000101c02c14 mono_handle_native_crash + 22047764 (mini-exceptions.c:2548) 4 monotouchtest 0x0000000101c0d02c mono_sigsegv_signal_handler + 22089772 (mini-runtime.c:2886) 5 libsystem_platform.dylib 0x0000000186c33b60 _sigtramp + 52 6 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 7 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 8 CoreFoundation 0x0000000186eda51c -[__NSArrayM dealloc] + 68 9 CoreFoundation 0x000000018703f5c8 __CFBasicHashDrain + 312 10 CoreFoundation 0x0000000186fb5b44 _CFRelease + 224 11 CoreText 0x000000018a808404 TDescriptorSource::PurgeFontFallbacksCache+ 488452 () + 92 12 CoreText 0x000000018a808374 TDescriptorSource::PurgeFromCaches+ 488308 (__CFURL const*) const + 176 13 CoreText 0x000000018a7eec74 CTFontRemoveFromCaches + 168 14 VectorKit 0x0000000196a539b0 +[VKSharedResourcesManager removeResourceUser:] + 324 15 VectorKit 0x0000000196ca27a4 md::MapEngine::~MapEngine+ 2643876 () + 360 16 VectorKit 0x0000000196ca2634 md::MapEngine::~MapEngine+ 2643508 () + 12 17 libobjc.A.dylib 0x000000018651eef4 object_cxxDestructFromClass+ 28404 (objc_object*, objc_class*) + 148 18 libobjc.A.dylib 0x000000018652c638 objc_destructInstance + 88 19 libobjc.A.dylib 0x000000018652c690 object_dispose + 16 20 QuartzCore 0x000000018afca3ac -[CALayer dealloc] + 116 21 VectorKit 0x0000000196a43294 -[VKMapView dealloc] + 940 22 QuartzCore 0x000000018af6aafc CA::release_objects+ 744188 (X::List<void const*>*) + 32 23 QuartzCore 0x000000018afd97d8 CA::Layer::~Layer+ 1198040 () + 276 24 QuartzCore 0x000000018afca37c -[CALayer dealloc] + 68 25 QuartzCore 0x000000018af6b16c CA::Transaction::commit+ 745836 () + 1052 26 UIKit 0x0000000190393290 _afterCACommitHandler + 256 27 CoreFoundation 0x0000000186fb38b8 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 32 28 CoreFoundation 0x0000000186fb1270 __CFRunLoopDoObservers + 412 29 CoreFoundation 0x0000000186fb182c __CFRunLoopRun + 1292 30 CoreFoundation 0x0000000186ed22d8 CFRunLoopRunSpecific + 436 31 GraphicsServices 0x0000000188d58f84 GSEventRunModal + 100 32 UIKit 0x000000019040427c UIApplicationMain + 208 33 monotouchtest 0x000000010106eb90 wrapper_managed_to_native_UIKit_UIApplication_UIApplicationMain_int_string___intptr_intptr + 9907088 (/<unknown>:1) 34 monotouchtest 0x0000000100f0d6ac UIKit_UIApplication_Main_string___intptr_intptr + 8459948 (UIApplication.cs:79) 35 monotouchtest 0x0000000100f0d66c UIKit_UIApplication_Main_string___string_string + 8459884 (UIApplication.cs:63) 36 monotouchtest 0x0000000100b10450 monotouchtest_Application_Main_string__ + 4277328 (Main.cs:27) 37 monotouchtest 0x0000000100e0c244 wrapper_runtime_invoke_object_runtime_invoke_dynamic_intptr_intptr_intptr_intptr + 244 38 monotouchtest 0x0000000101c10048 mono_jit_runtime_invoke + 22102088 (mini-runtime.c:2526) 39 monotouchtest 0x0000000101c75eec do_runtime_invoke + 22519532 (object.c:2829) 40 monotouchtest 0x0000000101c78a3c do_exec_main_checked + 22530620 (object.c:4623) 41 monotouchtest 0x0000000101bf9a1c mono_jit_exec + 22010396 (driver.g.c:1040) 42 monotouchtest 0x0000000101d13d60 xamarin_main + 23166304 (monotouch-main.m:482) 43 monotouchtest 0x00000001007de710 main + 927504 (main.m:67) 44 libdyld.dylib 0x00000001869f656c start + 4 * [introspection] Let SkipDueToAttributeInProperty skip setters too (#2557) `SkipDueToAttributeInProperty` which is used to check the availability attribute of properties when the Availability info only exist on the property and not on the property Getter or Setter was wrong. This lead to `setSpringLoaded` (which was introduced in iOS 11) to not be ignored by the test (making it fail). - Fix bug #59085: [introspection-ios] selector not found for UIKit.UIBarButtonItem : setSpringLoaded: - Broken test (https://bugzilla.xamarin.com/show_bug.cgi?id=59085) * [corevideo][watchos] Enable CoreVideo on watchOS (#2553) * [storekit] Fix CampaignToken typo (#2559) (#2560) - Fixes bug #59078: StoreProductParameters and invalid property for CampaignToken (https://bugzilla.xamarin.com/show_bug.cgi?id=59078) * [coreml][watchos] Enable API using CoreVideo on watchOS. Fix #58097 (#2561) https://bugzilla.xamarin.com/show_bug.cgi?id=58097 * Add missing [MarshalDirective] attributes. (#2558) * [bindings-generator] Improve build & project file. * Add missing [MarshalDirective] attributes. Add missing [MarshalDirective] attributes, which also requires implementing support for out parameters in the binding generator, since one of the signatures missing the [MarshalDirective] contains such an out parameter. Also add tests for all the API I've added [MarshalDirective] to. * [bindings-generator] Remove redundant if check. * [monotouch-test] Rename file to end with 'Test.cs'. * [tests] Fix a few build errors for Xamarin.Mac. * [uikit] Fix UIColor and UIInputViewController tvOS availability (#2569) - Fixes introspection tests on tvOS 10. * [storekit] Fix SKCloudServiceSetupMessageIdentifier and SKProductStorePromotionController tvOS availability (#2568) - Fixes introspection tests on tvOS 10. * [mapkit] Fix MKMapItemTypeIdentifier tvOS availability (#2566) - Also remove double [Mac] availability attribute. - Fixes introspection tests on tvOS 10. * [ARKit] Fix marshalling for ARPointCloud.RawFeaturePoints. (#2565) ARPointCloud.RawFeaturePoints is an array of Vector3, but each vector is 16-byte aligned (as if it were an array of Vector4). This means we need to account for this when creating a managed array from pointer to the native C-style array. * [ModelIO] Fix MDLVoxelIndexExtent struct. (#2564) The MDLVoxelIndexExtent is a struct containing two 4-dimensional vectors of integers (not floats, as originally and incorrectly implemented). Fix this my creating a new MDLVoxelIndexExtent2 struct with the right fields, re-implement all the API that exposes this struct and obsolete the old API. Also add missing [MarshalDirective] attributes. And write a test to make sure it works fine now and forever. * [coredata] Enable new fields since rdar #33878590 is fixed w/beta 6 (#2570) reference: https://trello.com/c/dlSRYPFx * [xtro-sharpie] Add a Simd check class to verify signatures with Simd types. * [Simd] Add simd matrix types. The OpenTK matrices (Matrix2/3/4) has a different memory layout than Apple's matrix_float2x2/matrix_float3x3/matrix_float4x4 matrices: the OpenTK versions are row-major, while Apple's versions are column-major. This means that when blitting memory from one to the other, the matrix will appear to have been transposed. See bug #[58599][2] for an example. Unfortunately we've already bound several API with Apple's matrix_floatXxX matrices using OpenTK's matrices, and although they're bound wrong, and the matrices appear transposed on input/output, we can't change the behavior because we have to maintain compatibility. This means we have to introduce new API, and then also just define new matrix types with the right memory layout (column-major). Additionally, in the future we might be able to mark these matrices as Simd-matrixes, so that the JIT/AOT compiler can generate the correct alignment for them, avoiding having to define a native conversion method (using the [MarshalDirective] hack). The matrices have been designed to match API-wise the matrices in the System.Numerics.Vectors namespace [1], but for the moment with only a few basic operations implemented (Determinant/Transpose/Multiply) defined (we can always add more later if we want to). In addition explicit conversion operators to and from the corresponding OpenTK.MatrixX are implemented, which means any operation defined in the OpenTK matrices can be used by converting back and forth. [1]: https://msdn.microsoft.com/en-us/library/system.numerics.matrix4x4(v=vs.111).aspx [2]: https://bugzilla.xamarin.com/show_bug.cgi?id=58599 * [ARKit] Use the new Simd matrix types. * [Vision] Use the new Simd matrix types. * [ModelIO] Use the new Simd-compatible matrix types, and deprecate the old API. * [GameplayKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [SpriteKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [xtro] Don't report missing [MarshalDirective] for obsolete methods. * [xtro] Remove unnecessary ignores. The implementation changed, and these stayed accidentally. * [wkwebkit] Fix (native) protocol names (#2572) Also ignore xtro's WKSnapshotConfiguration since it's an Apple bug 34185961 reference (xtro) !missing-protocol! WKURLSchemeHandler not bound !missing-protocol! WKURLSchemeTask not bound !unknown-protocol! WKUrlSchemeHandler bound !unknown-protocol! WKUrlSchemeTask bound !unknown-type! WKSnapshotConfiguration bound * [uikit] Fix enums availability attributes (#2575) - Fixes bug #59132: [uikit] Extra types in watchOS (https://bugzilla.xamarin.com/show_bug.cgi?id=59132) * [watchkit] Add missing designated initializers (#2574) references (xtro) !missing-designated-initializer! WKInterfaceController::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! WKUserNotificationInterfaceController::init is missing an [DesignatedInitializer] attribute * [xtro] Reword some of the Simd diagnostic messages according to review. * [tests] Make sure test symbols don't clash between different test libraries. Fixes this build problem for framework-test: clang: error: linker command failed with exit code 1 (use -v to see invocation) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_get_rotation_matrix'. MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticObjectTest.framework/XStaticObjectTest (Location related to previous error) MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticArTest.framework/XStaticArTest(libtest-ar.x86_64.o) (Location related to previous error) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransformcomponent_get_local_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_create_global_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float4x4'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float3x3'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float2x2'. MTOUCH: error MT5209: Native linking error: 6 duplicate symbols for architecture x86_64 MTOUCH: error MT5202: Native linking failed. Please review the build log. * [tests] Since libtest.a need ModelIO now, the corresponding LinkWith attributes need to state that too. * [introspection] Don't check native signatures on obsolete members, and ignore the right simd matrix types. Fixes this introspection/Mac problem: ***** ApiSignatureTest.NativeSignatures Selector: uniformWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: uniformWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: uniformWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: setMatrixFloat2x2Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: setMatrixFloat3x3Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: setMatrixFloat4x4Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: initWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: initWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: initWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded * [monotouch-tests] Include more custom asserts for watchOS to make the build work. Fixes this: Simd/MatrixFloat4x4Test.cs(28,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(29,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(37,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(48,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' [...] * [monotouch-test] Exclude code that requires the binding project from xammac tests. Exclude code that requires the test binding project from xammac tests because there's currently no XM version of the test binding project. Fixes this: tests/monotouch-test/SpriteKit/UniformTest.cs(20,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLMaterialProperty.cs(37,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLTransform.cs(34,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) * Bump version for preview #8 (#2576) * [spritekit] Audit fixes (xtro) (#2577) 1. SKVideoNode is now, partially, available on watchOS and does not require the extra, manual code to swicth selectors depending on the OS version being run. !missing-type! SKVideoNode not bound !missing-selector! SKVideoNode::anchorPoint not bound !missing-selector! SKVideoNode::initWithCoder: not bound !missing-selector! SKVideoNode::initWithFileNamed: not bound !missing-selector! SKVideoNode::initWithURL: not bound !missing-selector! SKVideoNode::setAnchorPoint: not bound !missing-selector! SKVideoNode::setSize: not bound !missing-selector! SKVideoNode::size not bound !missing-selector! +SKVideoNode::videoNodeWithFileNamed: not bound !missing-selector! +SKVideoNode::videoNodeWithURL: not bound 2. SKNodeFocusBehavior is exposed needlessly on watchOS because SpriteKit/Enums.cs was not processed by the generator, so [NoWatch] did not matter. !unknown-native-enum! SKNodeFocusBehavior bound It's also visible on macOS but nothing uses it (so we do not expose it needlessly) !missing-enum! SKNodeFocusBehavior not bound 3. Add missing designated initializer on default `init` !missing-designated-initializer! SKAttributeValue::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! SKNode::init is missing an [DesignatedInitializer] attribute 4. Remove inconsistency for SKNode subclasses wrt XAMCORE_4_0 The trio attributeValues, setAttributeValues and setValue:forAttributeNamed: that was moved from SKNode (deprecated) into its subclasses. This was done using XAMCORE_4_0 but not on every subclasses. This adds them everywhere to be consistent (only SKNode versions are not defined in XAMCORE_4_0) !missing-selector! SKEffectNode::attributeValues not bound !missing-selector! SKEffectNode::setAttributeValues: not bound !missing-selector! SKEffectNode::setValue:forAttributeNamed: not bound !missing-selector! SKEffectNode::valueForAttributeNamed: not bound !missing-selector! SKEmitterNode::attributeValues not bound !missing-selector! SKEmitterNode::setAttributeValues: not bound !missing-selector! SKEmitterNode::setValue:forAttributeNamed: not bound !missing-selector! SKEmitterNode::valueForAttributeNamed: not bound !missing-selector! SKSpriteNode::attributeValues not bound !missing-selector! SKSpriteNode::setAttributeValues: not bound !missing-selector! SKSpriteNode::setValue:forAttributeNamed: not bound !missing-selector! SKSpriteNode::valueForAttributeNamed: not bound * [introspection] Make sure '[FAIL]' is printed before every failure. (#2578) This makes xharness able to list the failures in the inline summary. * [xtro] Reword some of the Simd diagnostic messages according to review. * [xharness] Add a missing IsServerMode check to generate correct html. (#2581) * [SpriteKit] SKTransformNode is new in Xcode 9 so no need to keep the broken (and obsolete) non-simd version of RotationMatrix. * [intents] Fix some (partial) xtro issues and #59156 (#2585) reference https://bugzilla.xamarin.com/show_bug.cgi?id=59156 Remaining issues are filled in https://bugzilla.xamarin.com/show_bug.cgi?id=59183 !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound * [Intents] Confirm* interface methods should be bound as Confirm, Fixes Bug 59164 (#2591) * [Intents] Confirm* interface methods should probably be bound as Confirm, Fixes Bug 59164 https://bugzilla.xamarin.com/show_bug.cgi?id=59164 All Confirm* methods from *IntentHandling interfaces should be named just `Confirm` to avoid confusion because most of them do not directly confirm as an acion, but instead they **ask** for confirmation also we would follow swift's naming by doing this. * [Intents] XAMCORE_4_0 all Confirm* methods from *IntentHandling Turns any Confirm* into just Confirm inside a XAMCORE_4_0 block, * [Intents] Fix breaking changes in Intents added in Xcode 9 Bindings (#2590) Apple added more protocol conformances to INRidesharingDomainHandling and INPaymentsDomainHandling protocols in Xcode 9, I introduced these breaking changes back when I did intents binding so fixing them :) * [Metal] New bindings from Xcode 9 betas (#2457) * [AVFoundation] Updated bindings for xcode9. (#2272) * [Xcode9] Add IOSurface bindings (#2363) * This framework was a private framework before iOS 11. This framework was a private framework before iOS 11, yet the headers claim many API were introduced in iOS 10. So take account of this difference by using the private framework location in iOS 10.3 or earlier. Testing these API from Xcode works fine when run on an iOS 10.3 device, and I've confirmed the IOSurface framework is loaded from the private frameworks path on older devices (and when built using Xcode 9 and linked with the public framework path). * Disable code to make IOSurface work on iOS 10. Disable the code to make IOSurface work on iOS 10, since it may be rejected by the App Store. This also means adjusting the availability attributes, so that the introspection tests pass (and to document that technically these API won't work when used with Xamarin.iOS in iOS 10). I've filed bug #[59201][1] to keep track of this, maybe we can re-enable this later. [1]: https://bugzilla.xamarin.com/show_bug.cgi?id=59201 * [CoreMedia] Fix leak in CMAttachmentBearer.GetAttachments. (#2593) The caller owns the return value from CMCopyDictionaryOfAttachments, so tell Runtime.GetNSObject that. * [Intents] Adds missing API found by xtro, fixes Bug 59183 (#2596) https://bugzilla.xamarin.com/show_bug.cgi?id=59183 Fixes !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !incorrect-protocol-member! INUIHostedViewControlling::configureWithInteraction:context:completion: is OPTIONAL and should NOT be abstract * [xtro] Fix StartWorkingDirectory to enable debugging (#2598) * [iosurface] Enable for tvOS and XM classic (to avoid multiple defines around consumer API) (#2597) * [xtro] Fix EnumCheck (#2600) * [ARKit] Rename a few method to make them nicer. (#2604) * DisplayTransform -> GetDisplayTransform since methods should have verbs. * SessionWasInterrupted -> WasInterrupted and SessionInterruptionEnded -> InterruptionEnded since these names match better with the other names (CameraDidChangeTrackingState / DidFail / DidOutputAudioSampleBuffer: none are prefixed with 'Session'). Additionally, the type is a Model (for the delegate pattern), which means all methods are more-or-less event-like, and the first argument is always the same (the protocol itself), which is another indicator the methods should be named similarly. * [Foundation] Remove 'Key' suffix from some fields. (#2606) Of the 168 fields in NSMetadataItem, only these 5 hadn't removed the 'Key' suffix. So make them all equivalent by removing the 'Key' suffix from these 5 fields. * [ImageIO] Fix API to not duplicate the instance in instance methods. (#2609) An instance method does not need to take the instance as a parameter, so remove the first (instance) parameter for CGImageDestination.AddAuxiliaryDataInfo and CGImageSource.CopyAuxiliaryDataInfo. An alternative solution would be to make the methods static, but I like the instance API better. * [UIKit] De-model UIDataSourceTranslating. (#2603) It's not clear from neither the documentation nor the headers how this protocol is supposed to be used, and since it doesn't correspond to the delegate pattern, remove the [Model] attribute for now. We can always add it back later. * [CoreML] Improve API. (#2592) * [CoreML] Improve API. * The indices, shape and stride properties for MLMultiArray and MLMultiArrayConstraint can logically only be arrays of integers, so type them as such. This means adding overloads for MLMultiArray's constructors, GetObject and SetObject methods, and the indexers that takes nint[] arrays instead of NSNumber[] arrays. * Change MLFeatureValue's static factory methods to be a method ('Create') instead of a preposition, and call all the different factory methods the same, since they can be overloaded nicely. * [tests][monotouch-test] Add version check to MLMultiArrayTest and make sure the arrays we create are big enough for the data we put in them. * [tests][monotouch-test] MLMultiArray's elements aren't zero-initialized, so don't assume that in the tests. * Support overloading Objective-C methods based on static/instance. (#2607) Two Objective-C methods can be named identically as long as one is static and the other instance. We must support this since Apple did just this (in the NSItemProviderReading / NSItemProviderWriting protocols). We solve it by prepending a '+' or '-' to the selector when hashing it (to determine selector uniqueness, and to look the method up again at runtime). * [uikit] Update for Xcode 9 - Part 6 (#2602) NSAttributedString.h NSFileProviderExtension.h NSLayoutAnchor.h UIAccessibility.h UIAccessibilityAdditions.h UIAccessibilityContainer.h UIAccessibilityContentSizeCategoryImageAdjusting.h UIAccessibilityCustomRotor.h UIAccessibilityLocationDescriptor.h UITabBar.h UINavigationBar.h UIScreen.h * Xcode9 scenekit (#2512) * [SceneKit] basic work * Added key * [xcode9] SCNCameraController * [xcode9] SCNCamera updates * [xcode9] SCNMaterial * [xcode9] SCNGeometryTessellator, SCNCameraControlConfiguration, SCNView, small bits * Add trailing commas to last enum value * Remove whitespace noise * [scenekit] Update deprecated attributes messages * Addresses some of Rolf's feedback * Drop the WeakDelegate in SCNCameraController * Rename method to Render, remove ctor from class that can not be constructed in Palygrounds, add typo exception * [AppKit] Rename NSBezierPath.AppendBezierPathWithCGGlyph to match its sibling methods. (#2605) NSBezierPath contains a lot of 'AppendPathWithXXX' methods, that all map to 'appendBezierPathXXX' selectors. So rename AppendBezierPathWithCGGlyph accordingly, to make it more similar to the other methods in the same type. * [uikit] Add all UISpringLoadedInteractionSupporting (#2616) Types do not conform to the protocol but protocol methods work on those types (see monotouch-test). Fixed introspection tests accordingly and tested the selectors in monotouch-test. * [Intents] Add convenience ctor overload and call correct base ctor in manual ctor. (#2613) Add a convenience constructor overload in INGetUserCurrentRestaurantReservationBookingsIntent that uses nint instead of NSNumber, since logically "number of results" will always be some sort of integer. Also call the correct base constructor in INSpeakableString's custom constructor (same as any other generated constructor). Otherwise we end up doing something like this: [[[INSpeakableString alloc] init] initWith ...], i.e. calling two different init methods. * [coreimage] Add new headers API up to beta 6 (#2601) Filters are not complete (ref: #57350) https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * Some new constants are not yet documented (type is known), so they are commented / ignored https://bugzilla.xamarin.com/show_bug.cgi?id=59296 * Filled bug for [Wrap] inside [Category] so strong dictionary helpers can be re-enabled later https://bugzilla.xamarin.com/show_bug.cgi?id=59294 * [foundation] xtro fixes for watchOS (#2586) !missing-enum! NSProcessInfoThermalState not bound !missing-field! NSProcessInfoThermalStateDidChangeNotification not bound !missing-selector! NSProcessInfo::thermalState not bound Headers are wrong and preferredPresentationStyle is not in tvOS and watchOS !missing-selector! NSItemProvider::preferredPresentationStyle not bound !missing-selector! NSItemProvider::setPreferredPresentationStyle: not bound * [uikit] Also remove UIPreferredPresentationStyle enum from platform where it's not used * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. (#2614) * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. * NSItemProviderWriting: * NSItemProviderReading: Implement correctly and completely by uncommenting commented out code. * NSMutableString: * NSAttributedString: remove inlined members, since these classes don't implement NSItemProviderReading / NSItemProviderWriting (according to the headers at least). * NSUrl: all platforms now seem to implement NSItemProviderReading / NSItemProviderWriting. * NSString: all platforms now seem to implement both NSItemProviderReading and NSItemProviderWriting * UIColor: * UIImage: Update inlined protocol members according to the latest beta. Additionally, due to the following conditions: * The protocols all have the correct members now. * In the API definition we tell the generator to inline members from a protocol by inheriting from the corresponding interface. * The generator doesn't inline static members from protocols. several 'new' keywords had to be added to silence a compiler warning that occurrs when we manually inline a static member, since the member would be included in the type both from the inherited interface and the manual implementation. * [Foundation] Comment out NSItemProviderWriting.GetItemProviderVisibility to avoid inlining/generating unusable methods. NSItemProviderWriting.GetItemProviderVisibility is an optional method, and none of the native classes that implements NSItemProviderWriting actually imlements the method. This means inlining the method in those classes ends up creating unusable API; so just comment out the method to avoid generating the unusable API. The introspection tests found this: [FAIL] Foundation.NSString : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Foundation.NSUrl : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Contacts.CNContact : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] MapKit.MKMapItem : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIColor : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIImage : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] iOSApiSelectorTest.ApiSelectorTest.StaticMethods : 6 errors found in 2348 static selector validated: See also https://bugzilla.xamarin.com/show_bug.cgi?id=59308 * [iosurface] Add missing [TV] attributes (#2619) * [opengles] Enable the new API using IOSurface (#2618) The symbol only exists inside device libraries, not on simulator, and the introspection tests were updated to ignore it. Part of https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [avfoundation][watchos] Enable AudioBufferList (fix #59145) + audit (xtro) (#2617) 1. AudioBufferList is part of CoreAudio (wrong namespace, which needs a few changes in the generator) and now available in watchOS 4 https://bugzilla.xamarin.com/show_bug.cgi?id=59145 2. Also fixes xtro found issues: !missing-type! AVAudioRecorder not bound !missing-selector! AVAudioRecorder::averagePowerForChannel: not bound !missing-selector! AVAudioRecorder::channelAssignments not bound !missing-selector! AVAudioRecorder::currentTime not bound !missing-selector! AVAudioRecorder::delegate not bound !missing-selector! AVAudioRecorder::deviceCurrentTime not bound !missing-selector! AVAudioRecorder::format not bound !missing-selector! AVAudioRecorder::initWithURL:format:error: not bound !missing-selector! AVAudioRecorder::initWithURL:settings:error: not bound !missing-selector! AVAudioRecorder::isMeteringEnabled not bound !missing-selector! AVAudioRecorder::isRecording not bound !missing-selector! AVAudioRecorder::peakPowerForChannel: not bound !missing-selector! AVAudioRecorder::recordAtTime: not bound !missing-selector! AVAudioRecorder::recordAtTime:forDuration: not bound !missing-selector! AVAudioRecorder::recordForDuration: not bound !missing-selector! AVAudioRecorder::setChannelAssignments: not bound !missing-selector! AVAudioRecorder::setDelegate: not bound !missing-selector! AVAudioRecorder::setMeteringEnabled: not bound !missing-selector! AVAudioRecorder::settings not bound !missing-selector! AVAudioRecorder::url not bound !missing-protocol! AVAudioRecorderDelegate not bound !missing-selector! AVAudioEngine::inputNode not bound !missing-selector! AVAudioEngine::manualRenderingBlock not bound !missing-selector! AVAudioInputNode::setManualRenderingInputPCMFormat:inputBlock: not bound !missing-selector! AVAudioPlayer::format not bound !missing-selector! AVAudioSession::requestRecordPermission: not bound !unknown-field! AVFileType3GPP bound !unknown-field! AVFileType3GPP2 bound !unknown-field! AVFileTypeAC3 bound !unknown-field! AVFileTypeAIFC bound !unknown-field! AVFileTypeAIFF bound !unknown-field! AVFileTypeAMR bound !unknown-field! AVFileTypeAVCI bound !unknown-field! AVFileTypeAppleM4A bound !unknown-field! AVFileTypeAppleM4V bound !unknown-field! AVFileTypeCoreAudioFormat bound !unknown-field! AVFileTypeDNG bound !unknown-field! AVFileTypeEnhancedAC3 bound !unknown-field! AVFileTypeHEIC bound !unknown-field! AVFileTypeHEIF bound !unknown-field! AVFileTypeJPEG bound !unknown-field! AVFileTypeMPEG4 bound !unknown-field! AVFileTypeMPEGLayer3 bound !unknown-field! AVFileTypeQuickTimeMovie bound !unknown-field! AVFileTypeSunAU bound !unknown-field! AVFileTypeTIFF bound !unknown-field! AVFileTypeWAVE bound * [Metal] Implement API using IOSurface now that IOSurface is implemented. Partially fixes #58054. (#2621) https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [PdfKit] Improve PdfAnnotation.QuadrilateralPoints binding by making it strongly typed. (#2620) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). (#2622) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). * [ARKit/Vision] Use the new simd vector types instead of the OpenTK versions. * [ModelIO] Use the new simd vectors in new API (MDLVoxelIndexExtent2). This way we won't have to create a MDLVoxelIndexExtent3 in the future. * [SpriteKit] Use the new simd vectors in new API. * [metal] Audit (xtro) based fixes (#2623) !extra-protocol-member! unexpected selector MTLArgumentEncoder::newArgumentEncoderForBufferAtIndex: found !extra-protocol-member! unexpected selector MTLComputeCommandEncoder::dispatchThreads:threadsPerThreadgroup: found macos-only !missing-field! MTLDeviceRemovalRequestedNotification not bound !missing-field! MTLDeviceWasAddedNotification not bound !missing-field! MTLDeviceWasRemovedNotification not bound !missing-pinvoke! MTLCopyAllDevices is not bound * [CloudKit] Update bindings to beta 6. (#2615) * [FileProvider] Turn NSFileProviderItemIdentifier enum into a static class, fixes bug 59329 (#2634) https://bugzilla.xamarin.com/show_bug.cgi?id=59329 At the time of binding NSFileProviderItemIdentifier it wasn't clear how it was supposed to be used, I mean apple provides two keys which I thought were the only possible values hence binding it as an smart enum. Unfortunately this wasn't the case and the user can use those two values provided from the SDK or their own NSString Identifier. Swift provides a wrapper unfortunately we can't do the same due to NSFileProviderItemIdentifier is used in the NSFileProviderItem protocol and we currently do not support changing signatures on them. * [mtouch] Teach mtouch about the 'IOSurface' framework for tvOS. Fixes #59333. (#2630) https://bugzilla.xamarin.com/show_bug.cgi?id=59333 * Bump Touch.Unit to get fix for API breakage. (#2631) spouliot/Touch.Unit@8f1e19d [NUnitOutputTextWriter] Reintroduce previous constructor to make sure we don't break binary ABI. spouliot/Touch.Unit@00b0c0b [NUnitOutputTextWriter] Don't write invalid xml comments. spouliot/Touch.Unit@de9fe20 [TouchRunner] Restore the original code path when not wrapping NUnit xml output. * [IOSurface] Add missing availability attributes for tvOS. (#2629) * Bump versions for preview 9 (#2624) * [AVFoundation] Add missing interface AVRouteDetector. (#2637) * [tests] Update xtro to reduce list sizes (#2636) * Skip OpenTK duplicate declaration (we can't change them); * Fix rule name change for ARKit / simd; * Add missing default initializer on `init` to pending actions; * Add note for AVPersistableContentKeyRequest changes wrt tvOS; * [ReplayKit] Make RPBroadcastActivityViewController.LoadBroadcastActivityViewController async-capable. (#2639) * [xcode9] More SceneKit bindings (#2633) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 (#2644) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 https://bugzilla.xamarin.com/show_bug.cgi?id=59380 vector_float3 is 16 bytes, which means the binding is incorrect, because Vector3 is 12 bytes, and our code does not that difference into account. * Add tests * [DeviceCheck] Disable default ctor for DCDevice. (#2642) It doesn't seem to be useful according to the documentation, since it appears that the only way to get an instance is to use the static CurrentDevice property. * [audiounit] Audit (xtro) fixes for tvOS (#2635) Availability attributes in non-generated files don't hide symbols/code. reference: !unknown-pinvoke! AudioUnitExtensionCopyComponentList bound !unknown-pinvoke! AudioUnitExtensionSetComponentList bound * [tests] Make sure tvOS tests don't use the (unexisting) API * [tests] Add all test project variations to tests-mac.sln (#2579) * [xharness] Make sure generated mac projects have different project guids. * [introspection] Change the project guid so that it doesn't match the dontlink-mac project guid. * [tests] Add all test project variations to tests-mac.sln. * [xharness] Fix else condition. * [FileProvider] Adds missing NSFileProviderPage constants, fixes bug 59297. (#2646) https://bugzilla.xamarin.com/show_bug.cgi?id=59297 Adds NSFileProviderInitialPageSortedByName and NSFileProviderInitialPageSortedByDate NSData constants * [Xcode9] Remove NSFileProviderMessage and NSFileProviderMessageInterface (#2647) APIs were removed in beta 2 * [Foundation/UIKit] Provide LoadObject[s] methods that return the expected type in the callback. Fixes #59049. (#2638) The callback for these LoadObject[s] methods take an INSItemProviderReading parameter. This tells our runtime that we must provide an instance of a managed object that implements this interface (but nothing else), so we create a `NSItemProviderReadingWrapper` instance, which complies with the API (since the wrapper type implements the corresponding interface). Unfortunately these methods are supposed to return an instance of the passed- in type, so in order to comply with this soft (documentation-only) requirement, provide a wrapper method that creates instances of the right types. https://bugzilla.xamarin.com/show_bug.cgi?id=59049 * [arkit] Ignore deprecated selectors (#2645) * [FileProvider] Adds missing protocol and keys from audit (#2652) ``` !missing-protocol! NSFileProviderServiceSource not bound !missing-field! NSFileProviderErrorCollidingItemKey not bound !missing-field! NSFileProviderErrorNonExistentItemIdentifierKey not bound !missing-field! NSFileProviderFavoriteRankUnranked not bound ``` Also adds `NSXpcListenerEndpoint` to foundation, needed by `NSFileProviderServiceSource` protocol. * [tests][xtro] Workaround xtro runner dupe entry exception and update data files (#2654) * [AVFoundation] Rename field to match others. (#2657) * [homekit] Audit (xtro) fixes (#2653) - HMCharacteristicEvent conforms to NSMutableCopying on iOS11 which makes it 64 bits only (so adjust intro tests) - Ignore extra setters on HMMutablePresenceEvent, rdar 33883958 !missing-selector! HMMutablePresenceEvent::setPresenceEventType: not bound !missing-selector! HMMutablePresenceEvent::setPresenceUserType: not bound * [xtro] Add missing pinvoke to pending (#2662) - Bug 59422: [uikit] Missing UIContentSizeCategoryCompareToCategory & UIContentSizeCategoryIsAccessibilityCategory (https://bugzilla.xamarin.com/show_bug.cgi?id=59422) * Merge latest d15-3 fixes into xcode9 (#2660) * [msbuild] Re-added wildcard (*) expandsion for application-identifier in Entitlements.plist (#2186) Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=57119 * Bump mono (#2213) * Framework tests were still binding non-linked Simple class which errors now (#2216) (#2218) - Improve Makefile to rebuild when projects build with errors * Bump mono to get cecil fix for bug #56808. (#2222) https://bugzilla.xamarin.com/show_bug.cgi?id=56808 * [msbuild] Use @(ReferencePath) instead of @(ResolvedFiles) (#2188) (#2214) This allows things to work on both xbuild and msbuild. In xbuild, both lists are exactly the same and on msbuild, only @(ReferencePath) exists. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=55147 * NSActivityOptions.IdleDisplaySleepDisabled had wrong value (#2232) (#2239) This was due to an integer overflow. The original value was based on Int32 1 << 40 == 256 The correct value should be based on a UInt64. 1UL << 40 == 1099511627776 * [tests] Fix bug 57699 - [iOS]InternalsTest failure (Linkall) tests on device (#2243) Strip native debugging symbols should not be checked for debug builds * Bump mono to get fix for bug #57780. https://bugzilla.xamarin.com/show_bug.cgi?id=57780 * Update .gitmodules Change branch to d15-3 branch of mono * Bump maccore to get fix for bug #55064. https://bugzilla.xamarin.com/show_bug.cgi?id=55064 * [mono] Bump mono to get the head of cecil/mono-2017-04 and fix IsComObject #57919 Also fix #58789 [1], the typo in tools/mtouch/Tuning.cs showing in MT0000 errors instead MT2102. That's already in master and d15-4 mono bump includes: [2] commit 2a6502cee0df9de5198eafe7c8b5f6ac25106f34 (HEAD -> d15-3, origin/d15-3) Merge: 02457c20fcf 5e05cafc6f1 Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 10:04:06 2017 -0400 Merge pull request #5401 from marek-safar/com [Marshal.IsComObject] Make this predicate return false instead of thr… [3] commit 02457c20fcf57c0610e844d638eb1da82b5d1eb0 Merge: da80840ea55 73fd9a1b82e Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 09:59:06 2017 -0400 Merge pull request #5400 from spouliot/bump-cecil-58834-d15-3 [cecil] Bump to the head of the mono-2017-04 branch and pick the fix for bug #58834 References [1] https://bugzilla.xamarin.com/show_bug.cgi?id=58789 [2] https://bugzilla.xamarin.com/show_bug.cgi?id=57919 [3] https://bugzilla.xamarin.com/show_bug.cgi?id=58834 * [mtouch] Put 'mono_profiler_startup_log' in the symbol list. Fixes #58778. (#2501) We need the 'mono_profiler_startup_log' symbol when profiling is enabled, so make sure to add the symbol to the correct list of symbols we need. Previously we were passing `-u _mono_profiler_startup_log` to clang directly, which is fine, but not complete, since it does not write the symbol to the symbollist file (--symbollist=file), which means it wouldn't be preserved when the MSBuild tasks strip the executable. https://bugzilla.xamarin.com/show_bug.cgi?id=58778 * Bump versions for SR3 https://trello.com/c/EVze08ei * Bump mono to include HttpClientHandler fix #44027 https://trello.com/c/jYFXadH8/8-systemnethttp-close-request-stream-when-httpclienthandler https://bugzilla.xamarin.com/show_bug.cgi?id=44027 * [FileProvider] Add missing API and turn NSString to string (#2663) Turned NSString to string in order to match exisiting API. * [uikit] Add UIPasteConfigurationSupporting and UITextPasteConfigurationSupporting (#2649) - Fixes bug #59363: Missing UIPasteConfigurationSupporting, UITextPasteConfigurationSupporting, UITextDraggable and UITextDroppable on a couple of types (https://bugzilla.xamarin.com/show_bug.cgi?id=59363) * [uikit] Remove 129 types in UIPasteConfigurationSupporting case * [scenekit] Audit (xtro) fixes (#2648) This looks like an Apple breaking change (since `SCNAnimation` is new) but we now have: > typedef void (^SCNAnimationEventBlock)(id<SCNAnimation> animation, id animatedObject, BOOL playingBackward); bound as > delegate void SCNAnimationEventHandler (CAAnimation animation, NSObject animatedObject, bool playingBackward); and `CAAnimation` conforms to `SCNAnimation` but *only* the later is available on watchOS. The delegate is only updated (since it's new) on our watchOS profile. xtro references: (watchos) !unknown-protocol! SCNCameraControlConfiguration bound (tvos/watchos) !missing-selector! SCNAnimation::animationEvents not bound !missing-selector! SCNAnimation::setAnimationEvents: not bound !missing-selector! SCNConstraint::isEnabled not bound !missing-selector! SCNConstraint::setEnabled: not bound !missing-field! SCNSceneSourceConvertToYUpKey not bound !missing-field! SCNSceneSourceConvertUnitsToMetersKey not bound (ios/tvos) !missing-protocol-conformance! SCNNode should conform to UIFocusItem * Bump maccore post 15.3 merge (#2665) * Bump Xcode 9 to GM (#2667) * Force build (on wrench) * [avfoundation] Fix breaking changes (apidiff) (#2664) * [TVServices] Update to Xcode 9 GM (#2675) * [GameController] Update to Xcode 9 GM (#2673) * [LocalAuthentication] Update to Xcode 9 GM (#2671) * [LocalAuthentication] Update to Xcode 9 GM * Remove availability from BiometryNotAvailable, BiometryNotEnrolled and BiometryLockout * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer (#2659) * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer Some of the new added types were already present BUT under a #if MONOMAC, they had to be moved. * [AVFoundation] Set the wrongly added API to be obsolete and ensure it returns logical values. (#2650) * [xtro] The right platform for macOS is 'macos', not 'osx'. (#2677) The platform name is used to filter availability attributes, and if we use the wrong platform, we'll incorrectly skip all availability attributes. The net result in unclassified entries: https://gist.github.com/rolfbjarne/a4474bc2a40c49a85cad495b51bb514f * Various Xcode 9 API improvements and also fixes bug 59433 (#2676) https://bugzilla.xamarin.com/show_bug.cgi?id=59433 While fixing bug 59433 I noticed some additional issues outlined below: AVDepthData: * Renamed **non** static `Create` methods because `Create` only makes sense with the **Static** method in this context. Also by renaming the methods we are now closer to the names that swift uses. * Kept descriptive method names in favor of self-documenting code. `Convert`, `Apply` and `Replace` do not fully give us the intent of the method. * Added a convenience `Create` static method that takes a `CGImageAuxiliaryDataInfo`. * AvailableDepthDataTypes is now an array of `CVPixelFormatType` instead of a `NSNumber` array (The aactual fix for bug 59433). ImageIO: * Refactored `CGImageAuxiliaryDataInfo` to be a `StrongDictionary` in order to avoid most of the manual code and also to avoid reimplementing the `ToDictionary` method (which contained a subtle bug). * Adjusted code to reflect the above change. * Added missing `.ctor (IntPtr, bool)` to `CGImageMetadata` so the class is able to be created by our `Runtime.Get*`. * Simplified `CopyAuxiliaryDataInfo` method by using `CGImageAuxiliaryDataInfo` as a `DictionaryContainer`. Tests: * Added `xamarinmonkey.heic` which is an image that contains depth data needed to test above changes. * Adds `AVDepthDataTests` that touches most of the changes listed here. * Tweak the Simd-compatible matrices and vectors (#2668) * Rename them to be OpenTK.NMatrix# (instead of Simd.MatrixFloat#x#). * Remove the Vector2 and Vector4 variants, we'll use the OpenTK types instead (but we'll keep the NVector3 variant, since it's not identical to the OpenTK version). * Update the API to match their OpenTK counterparts better: * NMatrix2 and NMatrix3 have a 0-based R#C# scheme for their fields. * NMatrix4 has a 1-based M## scheme for its fields (i.e. no change). * [AVFoundation] Use Simd-matrix for API that needs it. (#2679) This also requires implementing the corresponding matrix (NMatrix4x3). Fixes this xtro issue: > !unknown-simd-type-in-signature! OpenTK.Matrix3 AVFoundation.AVCameraCalibrationData::get_GetIntrinsicMatrix(): the native signature has a simd type (matrix_float3x3), while the corresponding managed method is using an incorrect (non-simd) type. * [xtro] Fix checking availability on categories. (#2682) When checking for category availability, check if both the current declaration is a category, and if the current's declaration container is a category. Otherwise this scenario fails: * Category method is available. * Category does not have availability attributes. * Main class is unavailable. with this typical code sequence: ```csharp // don't process methods (or types) that are unavailable for the current platform if (!decl.IsAvailable () || !(decl.DeclContext as Decl).IsAvailable ()) return; ``` In which case we'd: * First check the method (`decl`): * It's available, so no further checks is done on the method. * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container's container is a category (it isn't, it's the namespace). and as such determine that the method is available. With this change, the second step will become: * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container is a category (it is), and if its main class is available (it isn't). and as such determine that the method is unavailable. * Check for attributes on the method's container (no attributes, so we continue). * Check if the method's Unclassified diff: https://gist.github.com/rolfbjarne/8fa80962596978a426eadf9b7ba39dc1 * [uikit] Update for Xcode 9 GM (#2670) * [AVFoundation] Implement AVCapturePhoto. Partially fixes #59388. (#2678) Fixes: > common.unclassified:!missing-type! AVCapturePhoto not bound https://bugzilla.xamarin.com/show_bug.cgi?id=59388 * Use strong dictionaries for AVCapturePhoto.Metadata and AVCapturePhoto.EmbeddedThumbnailPhotoFormat. * [SIMD] Implement Simd double types (VectorDouble3/MatrixDouble4x4). (#2632) The following types will be used by ModelIO bindings * Fix delta to be double * Rename Simd-compatible matrices and vectors to match our final naming. This also means removing the new Vector2 and Vector4 variants (but not Vector3). * [avfoundation] Remove AVAssetDownloadDelegate.DidLoadTimeRange since it was removed in one of the betas (#2687) * [foundation] Move NSUrlSessionMultipathServiceType to a file processed by the generator (for the availability attributes) (#2688) * [arkit] Update for Xcode 9 GM (#2681) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes (#2690) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes Type Changed: Intents.INCarSeatResolutionResult Removed methods: public static INCarSeatResolutionResult GetConfirmationRequired (INCarSeat valueToConfirm); public static INCarSeatResolutionResult GetSuccess (INCarSeat resolvedValue); * [avfoundation] Add missing protocol members and deprecations (#2691) !missing-protocol-member! AVCapturePhotoCaptureDelegate::captureOutput:didFinishProcessingPhoto:error: not found and the selector removed from PR#2687 was actually replaced with this one !missing-protocol-member! AVAssetDownloadDelegate::URLSession:aggregateAssetDownloadTask:didLoadTimeRange:totalTimeRangesLoaded:timeRangeExpectedToLoad:forMediaSelection: not found * [tests][xtro] Map some enums, more fix with protocols and update entries (#2692) * [Tests] Reenable dns tests on the watch. (#2674) * [arkit] Add ARBlendShapeLocationOptions strong dictionary (#2696) * [coreimage] Skip not yet bound filters added in Xcode9 (#2698) Tracked in https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * [Metal] Renamed MTLArgumentDescriptor.ArgumentDescriptor to Create, fixes bug 59498 (#2702) https://bugzilla.xamarin.com/show_bug.cgi?id=59498 From [argumentDescriptor docs](https://developer.apple.com/documentation/metal/mtlargumentdescriptor/2915746-argumentdescriptor?language=objc) > Creates an empty argument descriptor. * [msbuild] Always codesign app bundles if the codesign key is non-null (#2697) ...even if it is a simulator build. Turns out that starting with Xcode9, sim builds need to be codesigned for App Groups entitlements to work properly. Interestingly, the DetectSigningIdentity logic had a comment about needing to codesign simulator builds for some entitlements to work already starting with Xcode 8 but apparently the iOS targets did not respect this. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=59379 * [Foundation] Add NSProxy stub in order to workaround bug 59247 (#2693) https://bugzilla.xamarin.com/show_bug.cgi?id=59247 We need to have a better solution that removes all what NSProxy does not responds to. Right now this works because NSObject implements NSObject protocol just like NSProxy, but NSProxy responds to far less selectors hence doing it internal so it is not a breaking change when we provide the correct fix. * Keep NSProxy around and avoid XML linker description We need to keep NSProxy (avoid linking it) if WKNavigationDelegate or IWKNavigationDelegate is used. We know WKWebView will be there and can hold a reference to it. * [Xcode 9] Update Metal for GM (#2689) * [iosurface] IOSurface is not usable before iOS/tvOS 11. Fixes #59201 (#2706) Apple rejects apps that links with the previously private IOSurface.framework. We were not sure about this [1] and had it disabled (this is removed). However another bug stopped our adjustment logic [2] from being executed. This is needed since `clang` picks up the private framework if it does not find the public one (even when asking for a weak framework), [1] https://bugzilla.xamarin.com/show_bug.cgi?id=59201 [2] Added a while ago for JavascriptCore * Bump maccore to point to commit with the docs fix. (#2703) * Bump XI to 11.0.x (and XM to 3.99.9.x) (#2684) * fix typo
2017-09-16 00:53:16 +03:00
#if WATCH || XAMCORE_4_0
[Watch (4,0)]
[Mac (10,9), iOS (8,0)]
delegate void SCNAnimationEventHandler (ISCNAnimationProtocol animation, NSObject animatedObject, bool playingBackward);
#else
2016-04-21 15:30:02 +03:00
[Mac (10,9), iOS (8,0)]
delegate void SCNAnimationEventHandler (CAAnimation animation, NSObject animatedObject, bool playingBackward);
Merge xcode9 into d15-4[-xi] (#2710) * [FileProvider] Add Xcode 9 Beta 1, 2 & 3 Bindings (#2279) * [FileProvider] Add Xcode 9 Beta 1 Bindings * Better naming * Feedback not related to BindAs * [FileProvider] Removes BindAs, add manual code for it and updated to Beta 3 * [FileProvider] Implement feedback * [CoreSpotlight] Updated spotlight bindings for xcode 9 beta 3. (#2193) Updated spotlight bindings for xcode 9 beta 3. * Fix warning caused by duplicate (#2354) * [FileProviderUI] Add Xcode 9 Beta 1 to 3 bindings (#2356) * Bump to Xcode 9 beta 4 * [arkit] ARLightEstimate does not conform to NSCopying anymore (fix unit test) * [uikit] NSFileProviderExtension.ReparentItem got a new parameter in beta4 (fix unit test) * [coreimage] CIImageAccumulator init returns nil in beta 4 There's no header change to mention `init` is not allowed but it's not clear how this default initializer could be used. Also make public some other API to construct this type (outside of XM). It's not clear why there were `internal` as they are (at least now) part of the header files. * [photos] Add helpers when PHLivePhotoEditingOption/NSDictionary is null (to avoid ambiguous API) (#2360) Adding a strongly typed `PHLivePhotoEditingOption` (a strongly typed version of an `NSDictionary`) can cause a `CS0121` (call is ambiguous) since using a `null` argument is common (only one option exist so far). This PR adds overloads that makes the code nicer in such case, e.g. before Xcode9: > // null is used when no options are given > _foo.SaveLivePhoto (output, null, completion); current (Xcode 9) > // casting required to remove ambiguity with PHLivePhotoEditingOption > _foo.SaveLivePhoto (output, (NSDictionary)null, completion); with this PR > // no option, no argument > _foo.SaveLivePhoto (output, completion); The same applies to `PrepareLivePhotoForPlayback`. * [tests] Disable/tweak two tests that breaks on (almost) all Xcode updates Those tests were not added to validate xOS so just keep the parts that helps us (without constantly checking back the new break flavor) * Disable watchOS to check if this hides others issues * [mapkit] Update for beta 4 * [coredata] Update for beta 4 * [wkwebkit] Update for beta 4 Note: WKWindowFeatures.h is not compiled (part of the framework umbrella) and the `@interface WKWindowFeatures (WKPrivate)` sounds like it should not have been exposed (it's all fields starting with `_`) * [corelocation] Update for beta 4 * Revert "Disable watchOS to check if this hides others issues" This reverts commit fed2249fa43290a1956ab2fe0d48f83ab6db9711. * [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]: https://github.com/xamarin/xamarin-macios/blob/f5956d6cc1eb5dfa7bab16628cf282d40237f64e/src/generator.cs#L5985 * [FinderSync] Update to beta 4 (#2377) * [ImageIO] Update to Xcode 9 (#2353) * [PhotosUI] Move macOS photosui bindings out of photos.cs into photosui.cs (#2358) * [quicklook] Update up to beta 4 (#2374) * [uikit] UIDragInteraction & UIDragInteractionDelegate (Xcode 9 b1,2,3) (#2357) * [safariservices] Update up to beta 4 (#2380) * [coreanimation] Update to beta 4 (#2382) Apple removed (mistake?) some API in beta 1. Filed as rdar 33590997 Internal tracking in https://trello.com/c/J8BDDUV9/86-33590997-coreanimation-quartzcore-api-removals * [storekit] Update up to beta 4 (#2379) * [CoreML] Update to Xcode 9 Beta 4 (#2387) * [uikit] UICollectionView/UITableView Drag & Drop (Xcode 9 b1,2,3 & 4) (#2355) * Update code after radar 32929318 and 32897776 are fixed in b4 (#2394) * [xcode9 CoreAudio] New definitions from Beta1 to Beta3 (#2359) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 (#2397) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 https://bugzilla.xamarin.com/show_bug.cgi?id=58512 Created strong API (VNBarcodeSymbology) on the following properties * VNDetectBarcodesRequest.SupportedSymbologies * VNDetectBarcodesRequest.Symbologies * VNBarcodeObservation.Symbology * Remove modern C# because classic can't do it 😡 * [mediaplayer] Update up to beta 4 (#2388) * [watchkit] Update to beta 4 (#2398) * Bump Visual Studio for Mac max version (#2408) * [coreimage] Add CIBarcodeDescriptor and enabled missing API for VNBarcodeObservation. Fix #58197 (#2411) https://bugzilla.xamarin.com/show_bug.cgi?id=58197 * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 (#2407) * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 * [uikit] Fixes based on comments * [coreimage] CIImageAccumulator API fixes. Fix #58349 (#2412) * Obsolete the default `init`; * XM exposed some older APIs using `int` instead of `CIFormat`. This is fixed and old APIs are obsoleted; * Both new & old APIs are now using `CIFormat` for both XI and XM. https://bugzilla.xamarin.com/show_bug.cgi?id=58349 * [uikit] UIText drag & drop - up to Xcode 9 beta 4 (#2410) * [uikit] UISplitView & UIStackView up to Xcode 9 beta 4 (#2425) * Bump XI/XM versions before preview 4 (#2422) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 (#2378) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 * [PDFKit] Implement feedback * [PDFKit] the forgotten enum * [PDFKit] More feedback * [PDFKit] Add Mac changes * Missing change * Fix test RectangleF VS CGRect * Pass -Wunguarded-availability-new to quiet a new clang warning (#2424) - https://bugzilla.xamarin.com/show_bug.cgi?id=58574 * [mtouch/mmp] Ignore warnings about unguarded code section with regards to availability. (#2441) * [monotouch-test] Remove workaround for fixed Apple bug. (#2445) * Bump to Xcode 9 beta 5. (#2447) * Bump to Xcode 9 beta 5. * [mmp] Disable the partial static registrar, because Apple's macOS SDK is broken. > In file included from Xamarin.Mac.registrar.mobile.i386.m:1: > In file included from ./Xamarin.Mac.registrar.mobile.i386.h:11: > /Applications/Xcode9-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVFoundation.h:88:9: fatal error: 'AVFoundation/AVRouteDetector.h' file not found https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [mmp] Fix partial static registrar removal. * [CallKit] Update to Xcode 9 beta 5. * [ARKit] ARPointCloud doesn't conform to NSCopying anymore in Xcode 9 beta 5. * [ARKit] Update to Xcode 9 beta 5 enough to make tests happy. * [CoreImage] Stub out new filters in Xcode 9 beta 5. * [tests][monotouch] Simplify some MDLMesh asserts since values change a lot between OS versions. * [mmp] Default to the dynamic registrar for release builds again, due to bug #58629. https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [tests][introspection] CXCall started implementing NSCopying without saying so in the headers. * Disable mmp static registrar tests due to 58629 for now * [quicklook] Update to beta 5 (#2450) * [photos] Update for beta 5 (#2452) Also update some existing enum members were added in beta 1 on macOS * [safariservices] Update for beta 5 (#2455) * [mediaplayer] Update to beta 5 (#2456) * [CoreLocation] Update Xcode 9 Beta 5 (#2453) * [CoreML] Update to Xcode 9 Beta 5 (#2454) * [Contacts] Update to Xcode 9 Beta 5 (#2451) * [Vision] Update to Xcode 9 Beta 5 (#2458) * [builds] Tell LLVM to stay away from newer macOS functions. (#2459) Fixes this build problem on Sierra: > ld: weak import of symbol '_futimens' not supported because of option: -no_weak_imports for architecture x86_64 This is a symbol that was (will be?) introduced in High Sierra. Interestingly this only occurs if the Xcode 8.X Command Line Tools haven't been manually installed. Because if the Xcode 8.X Command Line Tools are installed, this happens: 1. llvm's configure script detects that 'futimens' is not usable. 2. llvm's configure script detects that 'futimens' is not usable, because xcrun sets SDKROOT=/ when calling clang. a. When the SDKROOT variable is set, clang passes '-syslibroot /usr/lib' to ld. b. When ld gets '-syslibroot /usr/lib', ld looks in '/usr/lib' for a library that contains 'futimens' in the OS itself, and since we're on Sierra, that fails to link. c. So when llvm's configure script creates a test program that checks if 'futimens' is present, the program fails. This is correct, and makes llvm *not* use futimens. 3. xcrun sets SDKROOT=/ because /usr/share/current-os.sdk/Info.plist exists. If that file does not exist, then xcrun sets SDKROOT to Xcode9's macOS SDK (because that's what xcode-select reports). a. When SDKROOT is set to Xcode9's macOS SDK, the configure check for 'futimens' succeeds, because the macOS 10.13 SDK contains that function. b. llvm happily uses 'futimens', and then the final link fails because we're using a symbol not available on all target platforms. * [arkit] Update for Xcode 9 beta 5 - Part 1 (#2460) * [tests] The container app for watchOS tests should be 64-bit. (#2463) * [xharness] watchOS tests need to run in a clean environment. Works around #58348. (#2462) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [xharness] It watchOS tests don't need to be clean anymore. Fixes #58348. (#2473) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [uikit] UIView/UIScrollView/UIViewController up to Xcode 9 beta 5 (#2431) - Add NSDirectionalEdgeInsets type. - Includes DirectionalEdgeInsetsTest. * [AudioToolbox] Update bindings to Xcode 9 beta3 (not later changes). (#2294) * [xharness] Add a file existence check. (#2478) Fixes this exception: ``` Harness exception for 'introspection': System.IO.FileNotFoundException: Could not find file '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log'. File name: '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log' at System.IO.__Error.WinIOError (System.Int32 errorCode, System.String maybeFullPath) [0x00207] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/__error.cs:188 at System.IO.FileInfo.get_Length () [0x00038] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/fileinfo.cs:171 at xharness.CaptureLog.StopCapture () [0x00021] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Log.cs:252 at (wrapper remoting-invoke-with-check) xharness.CaptureLog:StopCapture () at xharness.AppRunner+<RunAsync>d__68.MoveNext () [0x0127f] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/AppRunner.cs:642 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter`1[TResult].GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:357 at xharness.RunSimulatorTask+<RunTestAsync>d__7.MoveNext () [0x0029d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2894 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.RunTestTask+<ExecuteAsync>d__8.MoveNext () [0x0010b] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2538 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.TestTask+<RunInternalAsync>d__87.MoveNext () [0x0010d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:1870 ``` I'm not sure how this can happen, but it has on the bots [1]. [1] https://jenkins.mono-project.com/job/xamarin-macios-pr-builder/4548/Test_Report/ * Bump versions for preview 5 (#2479) * [passkit] Update to beta 5 (#2481) * [tests] Remove workaround for radar #32688391. (#2486) * [replaykit] Update up to beta 5 (#2484) * Bump maccore to get fix for bug #55064. (#2487) * [apidiff] Update definition to new 10.12 (d15-3) stable release (#2490) * [SceneKit] basic work (#2483) * [coredata] Update to beta 5 (#2488) * [homekit] Update for Xcode 9 beta 5 (#2492) * [Foundation] Update for xcode9 (#2468) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 (#2493) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 * [Intents] Implement feedback * [Intents] Add a generic version for INInteraction.GetParameterValue * [Intents] Missing check * [Contacts] Add missing foundation NSItemProviderWriting protocol to CNContact (#2496) https://bugzilla.xamarin.com/show_bug.cgi?id=58203 This is available on all Contacts supported platforms ``` ./iPhoneOS.platform/Developer/SDKs/iPhoneOS11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchOS.platform/Developer/SDKs/WatchOS4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchSimulator.platform/Developer/SDKs/WatchSimulator4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ``` * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) (#2497) * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) * [IntentsUI] Better use a delegate instead so we have named params * Bump versions before 6th preview (#2514) * [arkit] Add missing MarshalDirective to ARPlaneAnchor (#2517) - Fixes bug #58648: ARPlaneAnchor.Extent property seems incorrect but changes to correct value after Debug access (https://bugzilla.xamarin.com/show_bug.cgi?id=58648) * [xtro-sharpie] Fix a compiler warning. (#2516) Fixes these warnings: Runner.cs(197,5): warning CS0642: Possible mistaken empty statement Runner.cs(199,5): warning CS0642: Possible mistaken empty statement Runner.cs(201,5): warning CS0642: Possible mistaken empty statement Runner.cs(203,5): warning CS0642: Possible mistaken empty statement Runner.cs(205,5): warning CS0642: Possible mistaken empty statement * [uikit] Update for Xcode 9 beta 5 - Part 3 (#2511) - UIKeyCommand - UINavigationBar - UINavigationItem - UIPasteboard - UITableViewHeaderFooterView * [xtro-sharpie] Remove xtro-plugin and misc other fixes. (#2522) * [xtro-sharpie] Build with msbuild and be as quiet as requested when building. * [xtro-sharpie] Must run as a 64-bit process, since the required native libraries are 64-bit. * [xtro-sharpie] Add run configurations to the project file to ease debugging in the IDE. * [xtro-sharpie] Remove xtro-plugin and the related commands. This was needed when there wasn't a 64-bit mono, in order to run xtro-sharpie in a 64-bit process. Now there is a 64-bit mono, so it's not needed anymore. Also improve makefile targets a bit, to auto-build stuff when needed, by setting the right dependencies. * Bump Xcode 9 to beta 6 (#2519) Disable watchOS tests again It seems like the Carousel crash from beta 4 is back to haunt us. This was working fine with beta 5. * Backport d15-3 SR2 fixes (#2515) * [coredata] Update to beta 6 (#2528) This seems to only revert some nullability changes from beta 5. * [coreml] Update to beta 6 (#2531) Fix our rdar 33643011 where additional setters were added in the headers but did not exists. * [videosubscriberaccount] Update to beta 6 (#2533) Only b1 and b2 introduced some additions/changes * [uikit] Update for Xcode 9 beta 6 - Part 4 (#2527) The following headers are now up to date: - UICollectionViewFlowLayout.h - UIDocumentPickerViewController.h - UIFontDescriptor.h - UIImage.h - UIImageView.h - UIImagePickerController.h * [xharness] Re-enable the watchOS tests. (#2534) It works fine for me locally, so let's see what Jenkins says. * [macos] Add new APIs in CoreWlan from Xcode9b3 (#2525) * Update AppKit bindings based on radar 33271241 results (#2518) * Update AppKit bindings based on radar 33271241 results - The header comment was updated to note it was NSSliderTouchBarItem view that has the protocol * Remove NSUserInterfaceCompression where not listed in header * [vision] Update to beta 6 (#2532) Removal of some deprecated (during beta) `init*` selectors. Also sync the versions that were inlined in subclasses - the old ones were not removed and the new ones were not added. * [xtro-sharpie] Many methods don't have selectors in Clang's API, so default to the name if no selector. (#2523) This makes a few more unclassified entries show up (mostly missing designated initializers): https://gist.github.com/rolfbjarne/07aa20f9b50b75bf3e69ac6a825e873a * [macos] Add ExternalAccessory APIs from xcode9 (#2526) * [58851] Disable NSMenuView in AllItemsWithNSMenuShouldAllowNull (#2504) * [arkit] Update for Xcode 9 beta 5 - Part 2 (#2505) - Add last missing selector. - Add tests for manual code. * [monotouch-test] Disable FontDescriptorTest.WithFeature (#2537) Disabled because it looks like the tvOS font we use: "Gujarati Sangam MN" does not have rare ligatures anymore (and the entire test is based on it). Before getting an actual fix for that, let's disable the test so it doesn't break all current builds. See: https://bugzilla.xamarin.com/show_bug.cgi?id=58929 * [xtro-sharpie] Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute. (#2524) Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute to calculate the native name for a TypeDefinition. Unclassified changes: https://gist.github.com/rolfbjarne/828f8ee41eebb0a3b60a38d71822fe59 * [foundation/uikit] Inline NSItemProvider_UIKitAdditions in NSItemProvider (#2538) As suggested here: https://github.com/xamarin/xamarin-macios/pull/2527#discussion_r134670981 * [intents] Fix breaking changes (api-diff) (#2543) Additions of @required members inside `INSpeakable` cannot be `[Abstract]` * [contacts] Fix breaking change (api-diff) (#2542) Type Changed: Contacts.CNPostalAddress Removed method: public static string LocalizeProperty (CNPostalAddressKeyOption option); * [macos] Reenable static registrar since Xcode9b6 un-broke SDK headers (#2544) - Fix a subtle spacing issues in PartialStaticLibrary property * [corebluetooth] Update up to beta 6 and enable it on watchOS (#2540) macOS 10.13 has finally catch up with iOS and this simplifies the bindings a bit. * [foundation] API fixes (apidiff) (#2545) 1. Let's not add new, already [Obsolete] API Type Changed: Foundation.NSDimension Added constructors: [Obsolete ("Not intended to be directly instantiated, this is an abstract class.")] public NSDimension (); 2. Fix inconsistently named API, e.g. Type Changed: Foundation.NSAttributedString Added properties: public static string[] ReadableTypeIdentifiersForItemProvider { get; } public static string[] WritableTypeIdentifiers { get; } * [pdfkit] Do not add already [Obsolete] API in new profiles (#2547) and ensure using the newer, correct API works cross-platforms iOS (before) [Obsolete ("Use 'Find (string, NSStringCompareOptions)' instead.")] public virtual PdfSelection[] Find (string text, nint options); public PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'Find (string, PdfSelection, NSStringCompareOptions)' instead.")] public virtual PdfSelection Find (string text, PdfSelection selection, nint options); public void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string, NSStringCompareOptions)' instead.")] public virtual void FindAsync (string text, nint options); public void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string [], NSStringCompareOptions)' instead.")] public virtual void FindAsync (string[] text, nint options); iOS (after) public virtual PdfSelection[] Find (string text, Foundation.NSStringCompareOptions compareOptions); public virtual PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); * Bump versions for the 7th preview (#2541) * Remove additions of AVKit removed in beta5 (#2536) * NSUrlSessionTask should implement NSProgressReporting for iOS (#2548) NSUrlSessionTask implements NSProgressReporting on iOS as well as Mac, so the #if MONOMAC isn't needed. * Add missing availability attributes causing failures on older iOS versions (#2550) * [vision] Minor fix wrt xtro (#2551) including some things we need to ignore manually !missing-field! VNVisionVersionNumber not bound !missing-pinvoke! VNImagePointForFaceLandmarkPoint is not bound !missing-pinvoke! VNNormalizedFaceBoundingBoxPointForLandmarkPoint is not bound * [uikit] NSFileProviderMessaging was removed in beta 2. Fixes #58222 (#2552) reference: https://bugzilla.xamarin.com/show_bug.cgi?id=58222 * [uikit] Update for Xcode 9 - Part 5 (#2546) Bindings for the following headers: - UIActivity.h - UIActivityItemProvider.h - UIAlertController.h - UIApplication.h - UIBarButtonItem.h - UIButton.h - UICollectionViewLayout.h - UIColor.h - UIControl.h - UIDocumentMenuViewController.h - UIFontMetrics.h - UIGestureRecognizer.h - UIGraphicsImageRenderer.h - UIInputViewController.h * [CoreText] Fix an extraneous free in CTFont.GetDefaultCascadeList. (#2555) We do not own the return value from CFArrayGetValueAtIndex, so don't say we do when creating CTFontDescriptor instances, since that leads to angry dragons: 2017-08-28 20:15:20.293 monotouchtest[33186:2311738] A_FontTest 2017-08-28 20:15:20.294 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithFontDescriptorAndOptions 2017-08-28 20:15:20.295 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithNameAndOptions 2017-08-28 20:15:20.296 monotouchtest[33186:2311738] critical: Stacktrace: at <unknown> <0xffffffff> at (wrapper managed-to-native) CoreText.CTFont.CTFontCopyDefaultCascadeListForLanguages (intptr,intptr) [0x0000a] in <ae65a2b1eea242d2b68fe784749543bf>:0 at CoreText.CTFont.GetDefaultCascadeList (string[]) [0x00013] in /work/maccore/xcode9/xamarin-macios/src/CoreText/CTFont.cs:2185 at MonoTouchFixtures.CoreText.A_FontTest.GetCascadeList () [0x0001e] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/CoreText/FontTest.cs:78 at (wrapper runtime-invoke) object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) [0x0004f] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) System.Reflection.MonoMethod.InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&) [0x00016] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at System.Reflection.MonoMethod.Invoke (object,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo) [0x00032] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/corlib/System.Reflection/MonoMethod.cs:305 at System.Reflection.MethodBase.Invoke (object,object[]) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/referencesource/mscorlib/system/reflection/methodbase.cs:229 at NUnit.Framework.Internal.Reflect.InvokeMethod (System.Reflection.MethodInfo,object,object[]) [0x00009] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Reflect.cs:215 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunNonAsyncTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x00025] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:116 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x0001a] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:90 at NUnit.Framework.Internal.Commands.TestMethodCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:66 at NUnit.Framework.Internal.Commands.SetUpTearDownCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00007] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/SetUpTearDownCommand.cs:84 at NUnit.Framework.Internal.WorkItems.SimpleWorkItem.PerformWork () [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/SimpleWorkItem.cs:64 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at MonoTouch.NUnit.UI.BaseTouchRunner.Run (NUnit.Framework.Internal.Test) [0x0004d] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:442 at MonoTouch.NUnit.UI.BaseTouchRunner.Run () [0x00030] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:171 at MonoTouch.Dialog.StringElement.Selected (MonoTouch.Dialog.DialogViewController,UIKit.UITableView,Foundation.NSIndexPath) [0x00008] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/Elements.cs:765 at MonoTouch.Dialog.DialogViewController.Selected (Foundation.NSIndexPath) [0x00026] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:577 at MonoTouch.Dialog.DialogViewController/Source.RowSelected (UIKit.UITableView,Foundation.NSIndexPath) [0x00016] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:402 at (wrapper runtime-invoke) <Module>.runtime_invoke_void__this___object_object (object,intptr,intptr,intptr) [0x0005d] in <32f0c196c5bc4aa18daea2ee64a7814e>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) UIKit.UIApplication.UIApplicationMain (int,string[],intptr,intptr) [0x0005c] in <ae65a2b1eea242d2b68fe784749543bf>:0 at UIKit.UIApplication.Main (string[],intptr,intptr) [0x00005] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:79 at UIKit.UIApplication.Main (string[],string,string) [0x00038] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:63 at monotouchtest.Application.Main (string[]) [0x00011] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/Main.cs:27 at (wrapper runtime-invoke) <Module>.runtime_invoke_void_object (object,intptr,intptr,intptr) [0x00051] in <30a7f7e09de9467b8b454221034a0e38>:0 Native stacktrace: 0 monotouchtest 0x000000010fca03c4 mono_handle_native_crash + 244 1 monotouchtest 0x000000010fcadd30 mono_sigsegv_signal_handler + 288 2 libsystem_platform.dylib 0x000000011feb3b3a _sigtramp + 26 3 CoreFoundation 0x000000011de035a2 computeSanitizedString + 146 4 CoreText 0x00000001168df314 _ZN15TPurgeableCache19RetainedValueForKeyEPKv + 54 5 CoreText 0x00000001168def85 _ZNK17TDescriptorSource22CopyDescriptorUncachedEPK7__CFURLbPK10__CFString + 55 6 CoreText 0x00000001168df34f _ZNK17TDescriptorSource14CopyDescriptorEPK7__CFURLbPK10__CFString + 27 7 CoreText 0x00000001168e20ad _ZNK17TDescriptorSource35CopyFontDescriptorPerPostScriptNameEPK10__CFStringmm + 297 8 CoreText 0x00000001168dfd9e _ZNK17TDescriptorSource30CopySystemFontDescriptorByNameEPK10__CFString10UIFontFlag + 54 9 CoreText 0x00000001168e54c4 _ZNK14TFontFallbacks17CopyFontFallbacksEPK10__CFStringS2_PK9__CFArray + 652 10 CoreText 0x00000001168e4a00 _ZNK14TFontFallbacks29CopyFontFallbacksForLanguagesEPK10__CFStringPK9__CFArray + 122 11 CoreText 0x00000001168e4971 _ZN17TDescriptorSource39CopyDefaultSubstitutionListForLanguagesEPK10__CFStringPK9__CFArray + 61 12 CoreText 0x00000001169397a7 _ZNK9TBaseFont28CreateSystemDefaultFallbacksEPK10__CFStringPK9__CFArray + 51 13 CoreText 0x000000011693999c _ZNK9TBaseFont15CreateFallbacksE10UIFontFlagPPK16__CFCharacterSetPK9__CFArray + 346 14 CoreText 0x00000001168c1036 _ZNK5TFont24CreateDefaultCascadeListEPK9__CFArray + 242 15 CoreText 0x00000001168b8ff9 CTFontCopyDefaultCascadeListForLanguages + 97 16 ??? 0x0000000140eaefd3 0x0 + 5384105939 17 ??? 0x0000000140eae761 0x0 + 5384103777 18 ??? 0x000000013c9c8e74 0x0 + 5311860340 19 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 20 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 21 monotouchtest 0x000000010fd71bac mono_runtime_try_invoke_array + 1292 22 monotouchtest 0x000000010fd15587 ves_icall_InternalInvoke + 647 23 ??? 0x000000013e9fcd13 0x0 + 5345627411 24 ??? 0x000000013e9fc738 0x0 + 5345625912 25 ??? 0x000000013e9fded5 0x0 + 5345631957 26 ??? 0x000000013e9fbb76 0x0 + 5345622902 27 ??? 0x000000013e9e237e 0x0 + 5345518462 28 ??? 0x000000013e9e237e 0x0 + 5345518462 29 ??? 0x000000013e9e237e 0x0 + 5345518462 30 ??? 0x000000013e9e237e 0x0 + 5345518462 31 ??? 0x000000013e873006 0x0 + 5344014342 32 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 33 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 34 monotouchtest 0x000000010fd6e320 mono_runtime_invoke + 208 35 monotouchtest 0x000000010fe71af1 xamarin_invoke_trampoline + 5617 36 monotouchtest 0x000000010fe79ddd xamarin_arch_trampoline + 189 37 monotouchtest 0x000000010fe7b1a1 xamarin_x86_64_common_trampoline + 110 38 UIKit 0x0000000111b9876b -[UITableView _selectRowAtIndexPath:animated:scrollPosition:notifyDelegate:] + 1810 39 UIKit 0x0000000111b98986 -[UITableView _userSelectRowAtPendingSelectionIndexPath:] + 344 40 UIKit 0x0000000111a6b5c9 _runAfterCACommitDeferredBlocks + 318 41 UIKit 0x0000000111a59dad _cleanUpAfterCAFlushAndRunDeferredBlocks + 280 42 UIKit 0x0000000111a89f68 _afterCACommitHandler + 137 43 CoreFoundation 0x000000011de3ddb7 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23 44 CoreFoundation 0x000000011de3dd0e __CFRunLoopDoObservers + 430 45 CoreFoundation 0x000000011de22324 __CFRunLoopRun + 1572 46 CoreFoundation 0x000000011de21a89 CFRunLoopRunSpecific + 409 47 GraphicsServices 0x0000000121b7e9c6 GSEventRunModal + 62 48 UIKit 0x0000000111a5f7d0 UIApplicationMain + 159 49 ??? 0x000000013c9c4474 0x0 + 5311841396 50 ??? 0x000000013c9c40ad 0x0 + 5311840429 ================================================================= Got a SIGSEGV while executing native code. This usually indicates a fatal error in the mono runtime or one of the native libraries used by your application. ================================================================= * [monotouch-test] Don't subclass MKMapView. (#2556) MKMapView doesn't like being subclassed (Apple says "you should not subclass the MKMapView class itself"). Bad things like this starts happening: Thread 0 name: tid_303 Dispatch queue: com.apple.main-thread Thread 0 Crashed: 0 libsystem_kernel.dylib 0x0000000186b25348 __pthread_kill + 8 1 libsystem_pthread.dylib 0x0000000186c39354 pthread_kill$VARIANT$mp + 396 2 libsystem_c.dylib 0x0000000186a94fd8 abort + 140 3 monotouchtest 0x0000000101c02c14 mono_handle_native_crash + 22047764 (mini-exceptions.c:2548) 4 monotouchtest 0x0000000101c0d02c mono_sigsegv_signal_handler + 22089772 (mini-runtime.c:2886) 5 libsystem_platform.dylib 0x0000000186c33b60 _sigtramp + 52 6 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 7 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 8 CoreFoundation 0x0000000186eda51c -[__NSArrayM dealloc] + 68 9 CoreFoundation 0x000000018703f5c8 __CFBasicHashDrain + 312 10 CoreFoundation 0x0000000186fb5b44 _CFRelease + 224 11 CoreText 0x000000018a808404 TDescriptorSource::PurgeFontFallbacksCache+ 488452 () + 92 12 CoreText 0x000000018a808374 TDescriptorSource::PurgeFromCaches+ 488308 (__CFURL const*) const + 176 13 CoreText 0x000000018a7eec74 CTFontRemoveFromCaches + 168 14 VectorKit 0x0000000196a539b0 +[VKSharedResourcesManager removeResourceUser:] + 324 15 VectorKit 0x0000000196ca27a4 md::MapEngine::~MapEngine+ 2643876 () + 360 16 VectorKit 0x0000000196ca2634 md::MapEngine::~MapEngine+ 2643508 () + 12 17 libobjc.A.dylib 0x000000018651eef4 object_cxxDestructFromClass+ 28404 (objc_object*, objc_class*) + 148 18 libobjc.A.dylib 0x000000018652c638 objc_destructInstance + 88 19 libobjc.A.dylib 0x000000018652c690 object_dispose + 16 20 QuartzCore 0x000000018afca3ac -[CALayer dealloc] + 116 21 VectorKit 0x0000000196a43294 -[VKMapView dealloc] + 940 22 QuartzCore 0x000000018af6aafc CA::release_objects+ 744188 (X::List<void const*>*) + 32 23 QuartzCore 0x000000018afd97d8 CA::Layer::~Layer+ 1198040 () + 276 24 QuartzCore 0x000000018afca37c -[CALayer dealloc] + 68 25 QuartzCore 0x000000018af6b16c CA::Transaction::commit+ 745836 () + 1052 26 UIKit 0x0000000190393290 _afterCACommitHandler + 256 27 CoreFoundation 0x0000000186fb38b8 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 32 28 CoreFoundation 0x0000000186fb1270 __CFRunLoopDoObservers + 412 29 CoreFoundation 0x0000000186fb182c __CFRunLoopRun + 1292 30 CoreFoundation 0x0000000186ed22d8 CFRunLoopRunSpecific + 436 31 GraphicsServices 0x0000000188d58f84 GSEventRunModal + 100 32 UIKit 0x000000019040427c UIApplicationMain + 208 33 monotouchtest 0x000000010106eb90 wrapper_managed_to_native_UIKit_UIApplication_UIApplicationMain_int_string___intptr_intptr + 9907088 (/<unknown>:1) 34 monotouchtest 0x0000000100f0d6ac UIKit_UIApplication_Main_string___intptr_intptr + 8459948 (UIApplication.cs:79) 35 monotouchtest 0x0000000100f0d66c UIKit_UIApplication_Main_string___string_string + 8459884 (UIApplication.cs:63) 36 monotouchtest 0x0000000100b10450 monotouchtest_Application_Main_string__ + 4277328 (Main.cs:27) 37 monotouchtest 0x0000000100e0c244 wrapper_runtime_invoke_object_runtime_invoke_dynamic_intptr_intptr_intptr_intptr + 244 38 monotouchtest 0x0000000101c10048 mono_jit_runtime_invoke + 22102088 (mini-runtime.c:2526) 39 monotouchtest 0x0000000101c75eec do_runtime_invoke + 22519532 (object.c:2829) 40 monotouchtest 0x0000000101c78a3c do_exec_main_checked + 22530620 (object.c:4623) 41 monotouchtest 0x0000000101bf9a1c mono_jit_exec + 22010396 (driver.g.c:1040) 42 monotouchtest 0x0000000101d13d60 xamarin_main + 23166304 (monotouch-main.m:482) 43 monotouchtest 0x00000001007de710 main + 927504 (main.m:67) 44 libdyld.dylib 0x00000001869f656c start + 4 * [introspection] Let SkipDueToAttributeInProperty skip setters too (#2557) `SkipDueToAttributeInProperty` which is used to check the availability attribute of properties when the Availability info only exist on the property and not on the property Getter or Setter was wrong. This lead to `setSpringLoaded` (which was introduced in iOS 11) to not be ignored by the test (making it fail). - Fix bug #59085: [introspection-ios] selector not found for UIKit.UIBarButtonItem : setSpringLoaded: - Broken test (https://bugzilla.xamarin.com/show_bug.cgi?id=59085) * [corevideo][watchos] Enable CoreVideo on watchOS (#2553) * [storekit] Fix CampaignToken typo (#2559) (#2560) - Fixes bug #59078: StoreProductParameters and invalid property for CampaignToken (https://bugzilla.xamarin.com/show_bug.cgi?id=59078) * [coreml][watchos] Enable API using CoreVideo on watchOS. Fix #58097 (#2561) https://bugzilla.xamarin.com/show_bug.cgi?id=58097 * Add missing [MarshalDirective] attributes. (#2558) * [bindings-generator] Improve build & project file. * Add missing [MarshalDirective] attributes. Add missing [MarshalDirective] attributes, which also requires implementing support for out parameters in the binding generator, since one of the signatures missing the [MarshalDirective] contains such an out parameter. Also add tests for all the API I've added [MarshalDirective] to. * [bindings-generator] Remove redundant if check. * [monotouch-test] Rename file to end with 'Test.cs'. * [tests] Fix a few build errors for Xamarin.Mac. * [uikit] Fix UIColor and UIInputViewController tvOS availability (#2569) - Fixes introspection tests on tvOS 10. * [storekit] Fix SKCloudServiceSetupMessageIdentifier and SKProductStorePromotionController tvOS availability (#2568) - Fixes introspection tests on tvOS 10. * [mapkit] Fix MKMapItemTypeIdentifier tvOS availability (#2566) - Also remove double [Mac] availability attribute. - Fixes introspection tests on tvOS 10. * [ARKit] Fix marshalling for ARPointCloud.RawFeaturePoints. (#2565) ARPointCloud.RawFeaturePoints is an array of Vector3, but each vector is 16-byte aligned (as if it were an array of Vector4). This means we need to account for this when creating a managed array from pointer to the native C-style array. * [ModelIO] Fix MDLVoxelIndexExtent struct. (#2564) The MDLVoxelIndexExtent is a struct containing two 4-dimensional vectors of integers (not floats, as originally and incorrectly implemented). Fix this my creating a new MDLVoxelIndexExtent2 struct with the right fields, re-implement all the API that exposes this struct and obsolete the old API. Also add missing [MarshalDirective] attributes. And write a test to make sure it works fine now and forever. * [coredata] Enable new fields since rdar #33878590 is fixed w/beta 6 (#2570) reference: https://trello.com/c/dlSRYPFx * [xtro-sharpie] Add a Simd check class to verify signatures with Simd types. * [Simd] Add simd matrix types. The OpenTK matrices (Matrix2/3/4) has a different memory layout than Apple's matrix_float2x2/matrix_float3x3/matrix_float4x4 matrices: the OpenTK versions are row-major, while Apple's versions are column-major. This means that when blitting memory from one to the other, the matrix will appear to have been transposed. See bug #[58599][2] for an example. Unfortunately we've already bound several API with Apple's matrix_floatXxX matrices using OpenTK's matrices, and although they're bound wrong, and the matrices appear transposed on input/output, we can't change the behavior because we have to maintain compatibility. This means we have to introduce new API, and then also just define new matrix types with the right memory layout (column-major). Additionally, in the future we might be able to mark these matrices as Simd-matrixes, so that the JIT/AOT compiler can generate the correct alignment for them, avoiding having to define a native conversion method (using the [MarshalDirective] hack). The matrices have been designed to match API-wise the matrices in the System.Numerics.Vectors namespace [1], but for the moment with only a few basic operations implemented (Determinant/Transpose/Multiply) defined (we can always add more later if we want to). In addition explicit conversion operators to and from the corresponding OpenTK.MatrixX are implemented, which means any operation defined in the OpenTK matrices can be used by converting back and forth. [1]: https://msdn.microsoft.com/en-us/library/system.numerics.matrix4x4(v=vs.111).aspx [2]: https://bugzilla.xamarin.com/show_bug.cgi?id=58599 * [ARKit] Use the new Simd matrix types. * [Vision] Use the new Simd matrix types. * [ModelIO] Use the new Simd-compatible matrix types, and deprecate the old API. * [GameplayKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [SpriteKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [xtro] Don't report missing [MarshalDirective] for obsolete methods. * [xtro] Remove unnecessary ignores. The implementation changed, and these stayed accidentally. * [wkwebkit] Fix (native) protocol names (#2572) Also ignore xtro's WKSnapshotConfiguration since it's an Apple bug 34185961 reference (xtro) !missing-protocol! WKURLSchemeHandler not bound !missing-protocol! WKURLSchemeTask not bound !unknown-protocol! WKUrlSchemeHandler bound !unknown-protocol! WKUrlSchemeTask bound !unknown-type! WKSnapshotConfiguration bound * [uikit] Fix enums availability attributes (#2575) - Fixes bug #59132: [uikit] Extra types in watchOS (https://bugzilla.xamarin.com/show_bug.cgi?id=59132) * [watchkit] Add missing designated initializers (#2574) references (xtro) !missing-designated-initializer! WKInterfaceController::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! WKUserNotificationInterfaceController::init is missing an [DesignatedInitializer] attribute * [xtro] Reword some of the Simd diagnostic messages according to review. * [tests] Make sure test symbols don't clash between different test libraries. Fixes this build problem for framework-test: clang: error: linker command failed with exit code 1 (use -v to see invocation) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_get_rotation_matrix'. MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticObjectTest.framework/XStaticObjectTest (Location related to previous error) MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticArTest.framework/XStaticArTest(libtest-ar.x86_64.o) (Location related to previous error) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransformcomponent_get_local_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_create_global_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float4x4'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float3x3'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float2x2'. MTOUCH: error MT5209: Native linking error: 6 duplicate symbols for architecture x86_64 MTOUCH: error MT5202: Native linking failed. Please review the build log. * [tests] Since libtest.a need ModelIO now, the corresponding LinkWith attributes need to state that too. * [introspection] Don't check native signatures on obsolete members, and ignore the right simd matrix types. Fixes this introspection/Mac problem: ***** ApiSignatureTest.NativeSignatures Selector: uniformWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: uniformWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: uniformWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: setMatrixFloat2x2Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: setMatrixFloat3x3Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: setMatrixFloat4x4Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: initWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: initWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: initWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded * [monotouch-tests] Include more custom asserts for watchOS to make the build work. Fixes this: Simd/MatrixFloat4x4Test.cs(28,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(29,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(37,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(48,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' [...] * [monotouch-test] Exclude code that requires the binding project from xammac tests. Exclude code that requires the test binding project from xammac tests because there's currently no XM version of the test binding project. Fixes this: tests/monotouch-test/SpriteKit/UniformTest.cs(20,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLMaterialProperty.cs(37,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLTransform.cs(34,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) * Bump version for preview #8 (#2576) * [spritekit] Audit fixes (xtro) (#2577) 1. SKVideoNode is now, partially, available on watchOS and does not require the extra, manual code to swicth selectors depending on the OS version being run. !missing-type! SKVideoNode not bound !missing-selector! SKVideoNode::anchorPoint not bound !missing-selector! SKVideoNode::initWithCoder: not bound !missing-selector! SKVideoNode::initWithFileNamed: not bound !missing-selector! SKVideoNode::initWithURL: not bound !missing-selector! SKVideoNode::setAnchorPoint: not bound !missing-selector! SKVideoNode::setSize: not bound !missing-selector! SKVideoNode::size not bound !missing-selector! +SKVideoNode::videoNodeWithFileNamed: not bound !missing-selector! +SKVideoNode::videoNodeWithURL: not bound 2. SKNodeFocusBehavior is exposed needlessly on watchOS because SpriteKit/Enums.cs was not processed by the generator, so [NoWatch] did not matter. !unknown-native-enum! SKNodeFocusBehavior bound It's also visible on macOS but nothing uses it (so we do not expose it needlessly) !missing-enum! SKNodeFocusBehavior not bound 3. Add missing designated initializer on default `init` !missing-designated-initializer! SKAttributeValue::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! SKNode::init is missing an [DesignatedInitializer] attribute 4. Remove inconsistency for SKNode subclasses wrt XAMCORE_4_0 The trio attributeValues, setAttributeValues and setValue:forAttributeNamed: that was moved from SKNode (deprecated) into its subclasses. This was done using XAMCORE_4_0 but not on every subclasses. This adds them everywhere to be consistent (only SKNode versions are not defined in XAMCORE_4_0) !missing-selector! SKEffectNode::attributeValues not bound !missing-selector! SKEffectNode::setAttributeValues: not bound !missing-selector! SKEffectNode::setValue:forAttributeNamed: not bound !missing-selector! SKEffectNode::valueForAttributeNamed: not bound !missing-selector! SKEmitterNode::attributeValues not bound !missing-selector! SKEmitterNode::setAttributeValues: not bound !missing-selector! SKEmitterNode::setValue:forAttributeNamed: not bound !missing-selector! SKEmitterNode::valueForAttributeNamed: not bound !missing-selector! SKSpriteNode::attributeValues not bound !missing-selector! SKSpriteNode::setAttributeValues: not bound !missing-selector! SKSpriteNode::setValue:forAttributeNamed: not bound !missing-selector! SKSpriteNode::valueForAttributeNamed: not bound * [introspection] Make sure '[FAIL]' is printed before every failure. (#2578) This makes xharness able to list the failures in the inline summary. * [xtro] Reword some of the Simd diagnostic messages according to review. * [xharness] Add a missing IsServerMode check to generate correct html. (#2581) * [SpriteKit] SKTransformNode is new in Xcode 9 so no need to keep the broken (and obsolete) non-simd version of RotationMatrix. * [intents] Fix some (partial) xtro issues and #59156 (#2585) reference https://bugzilla.xamarin.com/show_bug.cgi?id=59156 Remaining issues are filled in https://bugzilla.xamarin.com/show_bug.cgi?id=59183 !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound * [Intents] Confirm* interface methods should be bound as Confirm, Fixes Bug 59164 (#2591) * [Intents] Confirm* interface methods should probably be bound as Confirm, Fixes Bug 59164 https://bugzilla.xamarin.com/show_bug.cgi?id=59164 All Confirm* methods from *IntentHandling interfaces should be named just `Confirm` to avoid confusion because most of them do not directly confirm as an acion, but instead they **ask** for confirmation also we would follow swift's naming by doing this. * [Intents] XAMCORE_4_0 all Confirm* methods from *IntentHandling Turns any Confirm* into just Confirm inside a XAMCORE_4_0 block, * [Intents] Fix breaking changes in Intents added in Xcode 9 Bindings (#2590) Apple added more protocol conformances to INRidesharingDomainHandling and INPaymentsDomainHandling protocols in Xcode 9, I introduced these breaking changes back when I did intents binding so fixing them :) * [Metal] New bindings from Xcode 9 betas (#2457) * [AVFoundation] Updated bindings for xcode9. (#2272) * [Xcode9] Add IOSurface bindings (#2363) * This framework was a private framework before iOS 11. This framework was a private framework before iOS 11, yet the headers claim many API were introduced in iOS 10. So take account of this difference by using the private framework location in iOS 10.3 or earlier. Testing these API from Xcode works fine when run on an iOS 10.3 device, and I've confirmed the IOSurface framework is loaded from the private frameworks path on older devices (and when built using Xcode 9 and linked with the public framework path). * Disable code to make IOSurface work on iOS 10. Disable the code to make IOSurface work on iOS 10, since it may be rejected by the App Store. This also means adjusting the availability attributes, so that the introspection tests pass (and to document that technically these API won't work when used with Xamarin.iOS in iOS 10). I've filed bug #[59201][1] to keep track of this, maybe we can re-enable this later. [1]: https://bugzilla.xamarin.com/show_bug.cgi?id=59201 * [CoreMedia] Fix leak in CMAttachmentBearer.GetAttachments. (#2593) The caller owns the return value from CMCopyDictionaryOfAttachments, so tell Runtime.GetNSObject that. * [Intents] Adds missing API found by xtro, fixes Bug 59183 (#2596) https://bugzilla.xamarin.com/show_bug.cgi?id=59183 Fixes !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !incorrect-protocol-member! INUIHostedViewControlling::configureWithInteraction:context:completion: is OPTIONAL and should NOT be abstract * [xtro] Fix StartWorkingDirectory to enable debugging (#2598) * [iosurface] Enable for tvOS and XM classic (to avoid multiple defines around consumer API) (#2597) * [xtro] Fix EnumCheck (#2600) * [ARKit] Rename a few method to make them nicer. (#2604) * DisplayTransform -> GetDisplayTransform since methods should have verbs. * SessionWasInterrupted -> WasInterrupted and SessionInterruptionEnded -> InterruptionEnded since these names match better with the other names (CameraDidChangeTrackingState / DidFail / DidOutputAudioSampleBuffer: none are prefixed with 'Session'). Additionally, the type is a Model (for the delegate pattern), which means all methods are more-or-less event-like, and the first argument is always the same (the protocol itself), which is another indicator the methods should be named similarly. * [Foundation] Remove 'Key' suffix from some fields. (#2606) Of the 168 fields in NSMetadataItem, only these 5 hadn't removed the 'Key' suffix. So make them all equivalent by removing the 'Key' suffix from these 5 fields. * [ImageIO] Fix API to not duplicate the instance in instance methods. (#2609) An instance method does not need to take the instance as a parameter, so remove the first (instance) parameter for CGImageDestination.AddAuxiliaryDataInfo and CGImageSource.CopyAuxiliaryDataInfo. An alternative solution would be to make the methods static, but I like the instance API better. * [UIKit] De-model UIDataSourceTranslating. (#2603) It's not clear from neither the documentation nor the headers how this protocol is supposed to be used, and since it doesn't correspond to the delegate pattern, remove the [Model] attribute for now. We can always add it back later. * [CoreML] Improve API. (#2592) * [CoreML] Improve API. * The indices, shape and stride properties for MLMultiArray and MLMultiArrayConstraint can logically only be arrays of integers, so type them as such. This means adding overloads for MLMultiArray's constructors, GetObject and SetObject methods, and the indexers that takes nint[] arrays instead of NSNumber[] arrays. * Change MLFeatureValue's static factory methods to be a method ('Create') instead of a preposition, and call all the different factory methods the same, since they can be overloaded nicely. * [tests][monotouch-test] Add version check to MLMultiArrayTest and make sure the arrays we create are big enough for the data we put in them. * [tests][monotouch-test] MLMultiArray's elements aren't zero-initialized, so don't assume that in the tests. * Support overloading Objective-C methods based on static/instance. (#2607) Two Objective-C methods can be named identically as long as one is static and the other instance. We must support this since Apple did just this (in the NSItemProviderReading / NSItemProviderWriting protocols). We solve it by prepending a '+' or '-' to the selector when hashing it (to determine selector uniqueness, and to look the method up again at runtime). * [uikit] Update for Xcode 9 - Part 6 (#2602) NSAttributedString.h NSFileProviderExtension.h NSLayoutAnchor.h UIAccessibility.h UIAccessibilityAdditions.h UIAccessibilityContainer.h UIAccessibilityContentSizeCategoryImageAdjusting.h UIAccessibilityCustomRotor.h UIAccessibilityLocationDescriptor.h UITabBar.h UINavigationBar.h UIScreen.h * Xcode9 scenekit (#2512) * [SceneKit] basic work * Added key * [xcode9] SCNCameraController * [xcode9] SCNCamera updates * [xcode9] SCNMaterial * [xcode9] SCNGeometryTessellator, SCNCameraControlConfiguration, SCNView, small bits * Add trailing commas to last enum value * Remove whitespace noise * [scenekit] Update deprecated attributes messages * Addresses some of Rolf's feedback * Drop the WeakDelegate in SCNCameraController * Rename method to Render, remove ctor from class that can not be constructed in Palygrounds, add typo exception * [AppKit] Rename NSBezierPath.AppendBezierPathWithCGGlyph to match its sibling methods. (#2605) NSBezierPath contains a lot of 'AppendPathWithXXX' methods, that all map to 'appendBezierPathXXX' selectors. So rename AppendBezierPathWithCGGlyph accordingly, to make it more similar to the other methods in the same type. * [uikit] Add all UISpringLoadedInteractionSupporting (#2616) Types do not conform to the protocol but protocol methods work on those types (see monotouch-test). Fixed introspection tests accordingly and tested the selectors in monotouch-test. * [Intents] Add convenience ctor overload and call correct base ctor in manual ctor. (#2613) Add a convenience constructor overload in INGetUserCurrentRestaurantReservationBookingsIntent that uses nint instead of NSNumber, since logically "number of results" will always be some sort of integer. Also call the correct base constructor in INSpeakableString's custom constructor (same as any other generated constructor). Otherwise we end up doing something like this: [[[INSpeakableString alloc] init] initWith ...], i.e. calling two different init methods. * [coreimage] Add new headers API up to beta 6 (#2601) Filters are not complete (ref: #57350) https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * Some new constants are not yet documented (type is known), so they are commented / ignored https://bugzilla.xamarin.com/show_bug.cgi?id=59296 * Filled bug for [Wrap] inside [Category] so strong dictionary helpers can be re-enabled later https://bugzilla.xamarin.com/show_bug.cgi?id=59294 * [foundation] xtro fixes for watchOS (#2586) !missing-enum! NSProcessInfoThermalState not bound !missing-field! NSProcessInfoThermalStateDidChangeNotification not bound !missing-selector! NSProcessInfo::thermalState not bound Headers are wrong and preferredPresentationStyle is not in tvOS and watchOS !missing-selector! NSItemProvider::preferredPresentationStyle not bound !missing-selector! NSItemProvider::setPreferredPresentationStyle: not bound * [uikit] Also remove UIPreferredPresentationStyle enum from platform where it's not used * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. (#2614) * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. * NSItemProviderWriting: * NSItemProviderReading: Implement correctly and completely by uncommenting commented out code. * NSMutableString: * NSAttributedString: remove inlined members, since these classes don't implement NSItemProviderReading / NSItemProviderWriting (according to the headers at least). * NSUrl: all platforms now seem to implement NSItemProviderReading / NSItemProviderWriting. * NSString: all platforms now seem to implement both NSItemProviderReading and NSItemProviderWriting * UIColor: * UIImage: Update inlined protocol members according to the latest beta. Additionally, due to the following conditions: * The protocols all have the correct members now. * In the API definition we tell the generator to inline members from a protocol by inheriting from the corresponding interface. * The generator doesn't inline static members from protocols. several 'new' keywords had to be added to silence a compiler warning that occurrs when we manually inline a static member, since the member would be included in the type both from the inherited interface and the manual implementation. * [Foundation] Comment out NSItemProviderWriting.GetItemProviderVisibility to avoid inlining/generating unusable methods. NSItemProviderWriting.GetItemProviderVisibility is an optional method, and none of the native classes that implements NSItemProviderWriting actually imlements the method. This means inlining the method in those classes ends up creating unusable API; so just comment out the method to avoid generating the unusable API. The introspection tests found this: [FAIL] Foundation.NSString : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Foundation.NSUrl : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Contacts.CNContact : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] MapKit.MKMapItem : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIColor : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIImage : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] iOSApiSelectorTest.ApiSelectorTest.StaticMethods : 6 errors found in 2348 static selector validated: See also https://bugzilla.xamarin.com/show_bug.cgi?id=59308 * [iosurface] Add missing [TV] attributes (#2619) * [opengles] Enable the new API using IOSurface (#2618) The symbol only exists inside device libraries, not on simulator, and the introspection tests were updated to ignore it. Part of https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [avfoundation][watchos] Enable AudioBufferList (fix #59145) + audit (xtro) (#2617) 1. AudioBufferList is part of CoreAudio (wrong namespace, which needs a few changes in the generator) and now available in watchOS 4 https://bugzilla.xamarin.com/show_bug.cgi?id=59145 2. Also fixes xtro found issues: !missing-type! AVAudioRecorder not bound !missing-selector! AVAudioRecorder::averagePowerForChannel: not bound !missing-selector! AVAudioRecorder::channelAssignments not bound !missing-selector! AVAudioRecorder::currentTime not bound !missing-selector! AVAudioRecorder::delegate not bound !missing-selector! AVAudioRecorder::deviceCurrentTime not bound !missing-selector! AVAudioRecorder::format not bound !missing-selector! AVAudioRecorder::initWithURL:format:error: not bound !missing-selector! AVAudioRecorder::initWithURL:settings:error: not bound !missing-selector! AVAudioRecorder::isMeteringEnabled not bound !missing-selector! AVAudioRecorder::isRecording not bound !missing-selector! AVAudioRecorder::peakPowerForChannel: not bound !missing-selector! AVAudioRecorder::recordAtTime: not bound !missing-selector! AVAudioRecorder::recordAtTime:forDuration: not bound !missing-selector! AVAudioRecorder::recordForDuration: not bound !missing-selector! AVAudioRecorder::setChannelAssignments: not bound !missing-selector! AVAudioRecorder::setDelegate: not bound !missing-selector! AVAudioRecorder::setMeteringEnabled: not bound !missing-selector! AVAudioRecorder::settings not bound !missing-selector! AVAudioRecorder::url not bound !missing-protocol! AVAudioRecorderDelegate not bound !missing-selector! AVAudioEngine::inputNode not bound !missing-selector! AVAudioEngine::manualRenderingBlock not bound !missing-selector! AVAudioInputNode::setManualRenderingInputPCMFormat:inputBlock: not bound !missing-selector! AVAudioPlayer::format not bound !missing-selector! AVAudioSession::requestRecordPermission: not bound !unknown-field! AVFileType3GPP bound !unknown-field! AVFileType3GPP2 bound !unknown-field! AVFileTypeAC3 bound !unknown-field! AVFileTypeAIFC bound !unknown-field! AVFileTypeAIFF bound !unknown-field! AVFileTypeAMR bound !unknown-field! AVFileTypeAVCI bound !unknown-field! AVFileTypeAppleM4A bound !unknown-field! AVFileTypeAppleM4V bound !unknown-field! AVFileTypeCoreAudioFormat bound !unknown-field! AVFileTypeDNG bound !unknown-field! AVFileTypeEnhancedAC3 bound !unknown-field! AVFileTypeHEIC bound !unknown-field! AVFileTypeHEIF bound !unknown-field! AVFileTypeJPEG bound !unknown-field! AVFileTypeMPEG4 bound !unknown-field! AVFileTypeMPEGLayer3 bound !unknown-field! AVFileTypeQuickTimeMovie bound !unknown-field! AVFileTypeSunAU bound !unknown-field! AVFileTypeTIFF bound !unknown-field! AVFileTypeWAVE bound * [Metal] Implement API using IOSurface now that IOSurface is implemented. Partially fixes #58054. (#2621) https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [PdfKit] Improve PdfAnnotation.QuadrilateralPoints binding by making it strongly typed. (#2620) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). (#2622) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). * [ARKit/Vision] Use the new simd vector types instead of the OpenTK versions. * [ModelIO] Use the new simd vectors in new API (MDLVoxelIndexExtent2). This way we won't have to create a MDLVoxelIndexExtent3 in the future. * [SpriteKit] Use the new simd vectors in new API. * [metal] Audit (xtro) based fixes (#2623) !extra-protocol-member! unexpected selector MTLArgumentEncoder::newArgumentEncoderForBufferAtIndex: found !extra-protocol-member! unexpected selector MTLComputeCommandEncoder::dispatchThreads:threadsPerThreadgroup: found macos-only !missing-field! MTLDeviceRemovalRequestedNotification not bound !missing-field! MTLDeviceWasAddedNotification not bound !missing-field! MTLDeviceWasRemovedNotification not bound !missing-pinvoke! MTLCopyAllDevices is not bound * [CloudKit] Update bindings to beta 6. (#2615) * [FileProvider] Turn NSFileProviderItemIdentifier enum into a static class, fixes bug 59329 (#2634) https://bugzilla.xamarin.com/show_bug.cgi?id=59329 At the time of binding NSFileProviderItemIdentifier it wasn't clear how it was supposed to be used, I mean apple provides two keys which I thought were the only possible values hence binding it as an smart enum. Unfortunately this wasn't the case and the user can use those two values provided from the SDK or their own NSString Identifier. Swift provides a wrapper unfortunately we can't do the same due to NSFileProviderItemIdentifier is used in the NSFileProviderItem protocol and we currently do not support changing signatures on them. * [mtouch] Teach mtouch about the 'IOSurface' framework for tvOS. Fixes #59333. (#2630) https://bugzilla.xamarin.com/show_bug.cgi?id=59333 * Bump Touch.Unit to get fix for API breakage. (#2631) spouliot/Touch.Unit@8f1e19d [NUnitOutputTextWriter] Reintroduce previous constructor to make sure we don't break binary ABI. spouliot/Touch.Unit@00b0c0b [NUnitOutputTextWriter] Don't write invalid xml comments. spouliot/Touch.Unit@de9fe20 [TouchRunner] Restore the original code path when not wrapping NUnit xml output. * [IOSurface] Add missing availability attributes for tvOS. (#2629) * Bump versions for preview 9 (#2624) * [AVFoundation] Add missing interface AVRouteDetector. (#2637) * [tests] Update xtro to reduce list sizes (#2636) * Skip OpenTK duplicate declaration (we can't change them); * Fix rule name change for ARKit / simd; * Add missing default initializer on `init` to pending actions; * Add note for AVPersistableContentKeyRequest changes wrt tvOS; * [ReplayKit] Make RPBroadcastActivityViewController.LoadBroadcastActivityViewController async-capable. (#2639) * [xcode9] More SceneKit bindings (#2633) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 (#2644) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 https://bugzilla.xamarin.com/show_bug.cgi?id=59380 vector_float3 is 16 bytes, which means the binding is incorrect, because Vector3 is 12 bytes, and our code does not that difference into account. * Add tests * [DeviceCheck] Disable default ctor for DCDevice. (#2642) It doesn't seem to be useful according to the documentation, since it appears that the only way to get an instance is to use the static CurrentDevice property. * [audiounit] Audit (xtro) fixes for tvOS (#2635) Availability attributes in non-generated files don't hide symbols/code. reference: !unknown-pinvoke! AudioUnitExtensionCopyComponentList bound !unknown-pinvoke! AudioUnitExtensionSetComponentList bound * [tests] Make sure tvOS tests don't use the (unexisting) API * [tests] Add all test project variations to tests-mac.sln (#2579) * [xharness] Make sure generated mac projects have different project guids. * [introspection] Change the project guid so that it doesn't match the dontlink-mac project guid. * [tests] Add all test project variations to tests-mac.sln. * [xharness] Fix else condition. * [FileProvider] Adds missing NSFileProviderPage constants, fixes bug 59297. (#2646) https://bugzilla.xamarin.com/show_bug.cgi?id=59297 Adds NSFileProviderInitialPageSortedByName and NSFileProviderInitialPageSortedByDate NSData constants * [Xcode9] Remove NSFileProviderMessage and NSFileProviderMessageInterface (#2647) APIs were removed in beta 2 * [Foundation/UIKit] Provide LoadObject[s] methods that return the expected type in the callback. Fixes #59049. (#2638) The callback for these LoadObject[s] methods take an INSItemProviderReading parameter. This tells our runtime that we must provide an instance of a managed object that implements this interface (but nothing else), so we create a `NSItemProviderReadingWrapper` instance, which complies with the API (since the wrapper type implements the corresponding interface). Unfortunately these methods are supposed to return an instance of the passed- in type, so in order to comply with this soft (documentation-only) requirement, provide a wrapper method that creates instances of the right types. https://bugzilla.xamarin.com/show_bug.cgi?id=59049 * [arkit] Ignore deprecated selectors (#2645) * [FileProvider] Adds missing protocol and keys from audit (#2652) ``` !missing-protocol! NSFileProviderServiceSource not bound !missing-field! NSFileProviderErrorCollidingItemKey not bound !missing-field! NSFileProviderErrorNonExistentItemIdentifierKey not bound !missing-field! NSFileProviderFavoriteRankUnranked not bound ``` Also adds `NSXpcListenerEndpoint` to foundation, needed by `NSFileProviderServiceSource` protocol. * [tests][xtro] Workaround xtro runner dupe entry exception and update data files (#2654) * [AVFoundation] Rename field to match others. (#2657) * [homekit] Audit (xtro) fixes (#2653) - HMCharacteristicEvent conforms to NSMutableCopying on iOS11 which makes it 64 bits only (so adjust intro tests) - Ignore extra setters on HMMutablePresenceEvent, rdar 33883958 !missing-selector! HMMutablePresenceEvent::setPresenceEventType: not bound !missing-selector! HMMutablePresenceEvent::setPresenceUserType: not bound * [xtro] Add missing pinvoke to pending (#2662) - Bug 59422: [uikit] Missing UIContentSizeCategoryCompareToCategory & UIContentSizeCategoryIsAccessibilityCategory (https://bugzilla.xamarin.com/show_bug.cgi?id=59422) * Merge latest d15-3 fixes into xcode9 (#2660) * [msbuild] Re-added wildcard (*) expandsion for application-identifier in Entitlements.plist (#2186) Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=57119 * Bump mono (#2213) * Framework tests were still binding non-linked Simple class which errors now (#2216) (#2218) - Improve Makefile to rebuild when projects build with errors * Bump mono to get cecil fix for bug #56808. (#2222) https://bugzilla.xamarin.com/show_bug.cgi?id=56808 * [msbuild] Use @(ReferencePath) instead of @(ResolvedFiles) (#2188) (#2214) This allows things to work on both xbuild and msbuild. In xbuild, both lists are exactly the same and on msbuild, only @(ReferencePath) exists. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=55147 * NSActivityOptions.IdleDisplaySleepDisabled had wrong value (#2232) (#2239) This was due to an integer overflow. The original value was based on Int32 1 << 40 == 256 The correct value should be based on a UInt64. 1UL << 40 == 1099511627776 * [tests] Fix bug 57699 - [iOS]InternalsTest failure (Linkall) tests on device (#2243) Strip native debugging symbols should not be checked for debug builds * Bump mono to get fix for bug #57780. https://bugzilla.xamarin.com/show_bug.cgi?id=57780 * Update .gitmodules Change branch to d15-3 branch of mono * Bump maccore to get fix for bug #55064. https://bugzilla.xamarin.com/show_bug.cgi?id=55064 * [mono] Bump mono to get the head of cecil/mono-2017-04 and fix IsComObject #57919 Also fix #58789 [1], the typo in tools/mtouch/Tuning.cs showing in MT0000 errors instead MT2102. That's already in master and d15-4 mono bump includes: [2] commit 2a6502cee0df9de5198eafe7c8b5f6ac25106f34 (HEAD -> d15-3, origin/d15-3) Merge: 02457c20fcf 5e05cafc6f1 Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 10:04:06 2017 -0400 Merge pull request #5401 from marek-safar/com [Marshal.IsComObject] Make this predicate return false instead of thr… [3] commit 02457c20fcf57c0610e844d638eb1da82b5d1eb0 Merge: da80840ea55 73fd9a1b82e Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 09:59:06 2017 -0400 Merge pull request #5400 from spouliot/bump-cecil-58834-d15-3 [cecil] Bump to the head of the mono-2017-04 branch and pick the fix for bug #58834 References [1] https://bugzilla.xamarin.com/show_bug.cgi?id=58789 [2] https://bugzilla.xamarin.com/show_bug.cgi?id=57919 [3] https://bugzilla.xamarin.com/show_bug.cgi?id=58834 * [mtouch] Put 'mono_profiler_startup_log' in the symbol list. Fixes #58778. (#2501) We need the 'mono_profiler_startup_log' symbol when profiling is enabled, so make sure to add the symbol to the correct list of symbols we need. Previously we were passing `-u _mono_profiler_startup_log` to clang directly, which is fine, but not complete, since it does not write the symbol to the symbollist file (--symbollist=file), which means it wouldn't be preserved when the MSBuild tasks strip the executable. https://bugzilla.xamarin.com/show_bug.cgi?id=58778 * Bump versions for SR3 https://trello.com/c/EVze08ei * Bump mono to include HttpClientHandler fix #44027 https://trello.com/c/jYFXadH8/8-systemnethttp-close-request-stream-when-httpclienthandler https://bugzilla.xamarin.com/show_bug.cgi?id=44027 * [FileProvider] Add missing API and turn NSString to string (#2663) Turned NSString to string in order to match exisiting API. * [uikit] Add UIPasteConfigurationSupporting and UITextPasteConfigurationSupporting (#2649) - Fixes bug #59363: Missing UIPasteConfigurationSupporting, UITextPasteConfigurationSupporting, UITextDraggable and UITextDroppable on a couple of types (https://bugzilla.xamarin.com/show_bug.cgi?id=59363) * [uikit] Remove 129 types in UIPasteConfigurationSupporting case * [scenekit] Audit (xtro) fixes (#2648) This looks like an Apple breaking change (since `SCNAnimation` is new) but we now have: > typedef void (^SCNAnimationEventBlock)(id<SCNAnimation> animation, id animatedObject, BOOL playingBackward); bound as > delegate void SCNAnimationEventHandler (CAAnimation animation, NSObject animatedObject, bool playingBackward); and `CAAnimation` conforms to `SCNAnimation` but *only* the later is available on watchOS. The delegate is only updated (since it's new) on our watchOS profile. xtro references: (watchos) !unknown-protocol! SCNCameraControlConfiguration bound (tvos/watchos) !missing-selector! SCNAnimation::animationEvents not bound !missing-selector! SCNAnimation::setAnimationEvents: not bound !missing-selector! SCNConstraint::isEnabled not bound !missing-selector! SCNConstraint::setEnabled: not bound !missing-field! SCNSceneSourceConvertToYUpKey not bound !missing-field! SCNSceneSourceConvertUnitsToMetersKey not bound (ios/tvos) !missing-protocol-conformance! SCNNode should conform to UIFocusItem * Bump maccore post 15.3 merge (#2665) * Bump Xcode 9 to GM (#2667) * Force build (on wrench) * [avfoundation] Fix breaking changes (apidiff) (#2664) * [TVServices] Update to Xcode 9 GM (#2675) * [GameController] Update to Xcode 9 GM (#2673) * [LocalAuthentication] Update to Xcode 9 GM (#2671) * [LocalAuthentication] Update to Xcode 9 GM * Remove availability from BiometryNotAvailable, BiometryNotEnrolled and BiometryLockout * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer (#2659) * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer Some of the new added types were already present BUT under a #if MONOMAC, they had to be moved. * [AVFoundation] Set the wrongly added API to be obsolete and ensure it returns logical values. (#2650) * [xtro] The right platform for macOS is 'macos', not 'osx'. (#2677) The platform name is used to filter availability attributes, and if we use the wrong platform, we'll incorrectly skip all availability attributes. The net result in unclassified entries: https://gist.github.com/rolfbjarne/a4474bc2a40c49a85cad495b51bb514f * Various Xcode 9 API improvements and also fixes bug 59433 (#2676) https://bugzilla.xamarin.com/show_bug.cgi?id=59433 While fixing bug 59433 I noticed some additional issues outlined below: AVDepthData: * Renamed **non** static `Create` methods because `Create` only makes sense with the **Static** method in this context. Also by renaming the methods we are now closer to the names that swift uses. * Kept descriptive method names in favor of self-documenting code. `Convert`, `Apply` and `Replace` do not fully give us the intent of the method. * Added a convenience `Create` static method that takes a `CGImageAuxiliaryDataInfo`. * AvailableDepthDataTypes is now an array of `CVPixelFormatType` instead of a `NSNumber` array (The aactual fix for bug 59433). ImageIO: * Refactored `CGImageAuxiliaryDataInfo` to be a `StrongDictionary` in order to avoid most of the manual code and also to avoid reimplementing the `ToDictionary` method (which contained a subtle bug). * Adjusted code to reflect the above change. * Added missing `.ctor (IntPtr, bool)` to `CGImageMetadata` so the class is able to be created by our `Runtime.Get*`. * Simplified `CopyAuxiliaryDataInfo` method by using `CGImageAuxiliaryDataInfo` as a `DictionaryContainer`. Tests: * Added `xamarinmonkey.heic` which is an image that contains depth data needed to test above changes. * Adds `AVDepthDataTests` that touches most of the changes listed here. * Tweak the Simd-compatible matrices and vectors (#2668) * Rename them to be OpenTK.NMatrix# (instead of Simd.MatrixFloat#x#). * Remove the Vector2 and Vector4 variants, we'll use the OpenTK types instead (but we'll keep the NVector3 variant, since it's not identical to the OpenTK version). * Update the API to match their OpenTK counterparts better: * NMatrix2 and NMatrix3 have a 0-based R#C# scheme for their fields. * NMatrix4 has a 1-based M## scheme for its fields (i.e. no change). * [AVFoundation] Use Simd-matrix for API that needs it. (#2679) This also requires implementing the corresponding matrix (NMatrix4x3). Fixes this xtro issue: > !unknown-simd-type-in-signature! OpenTK.Matrix3 AVFoundation.AVCameraCalibrationData::get_GetIntrinsicMatrix(): the native signature has a simd type (matrix_float3x3), while the corresponding managed method is using an incorrect (non-simd) type. * [xtro] Fix checking availability on categories. (#2682) When checking for category availability, check if both the current declaration is a category, and if the current's declaration container is a category. Otherwise this scenario fails: * Category method is available. * Category does not have availability attributes. * Main class is unavailable. with this typical code sequence: ```csharp // don't process methods (or types) that are unavailable for the current platform if (!decl.IsAvailable () || !(decl.DeclContext as Decl).IsAvailable ()) return; ``` In which case we'd: * First check the method (`decl`): * It's available, so no further checks is done on the method. * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container's container is a category (it isn't, it's the namespace). and as such determine that the method is available. With this change, the second step will become: * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container is a category (it is), and if its main class is available (it isn't). and as such determine that the method is unavailable. * Check for attributes on the method's container (no attributes, so we continue). * Check if the method's Unclassified diff: https://gist.github.com/rolfbjarne/8fa80962596978a426eadf9b7ba39dc1 * [uikit] Update for Xcode 9 GM (#2670) * [AVFoundation] Implement AVCapturePhoto. Partially fixes #59388. (#2678) Fixes: > common.unclassified:!missing-type! AVCapturePhoto not bound https://bugzilla.xamarin.com/show_bug.cgi?id=59388 * Use strong dictionaries for AVCapturePhoto.Metadata and AVCapturePhoto.EmbeddedThumbnailPhotoFormat. * [SIMD] Implement Simd double types (VectorDouble3/MatrixDouble4x4). (#2632) The following types will be used by ModelIO bindings * Fix delta to be double * Rename Simd-compatible matrices and vectors to match our final naming. This also means removing the new Vector2 and Vector4 variants (but not Vector3). * [avfoundation] Remove AVAssetDownloadDelegate.DidLoadTimeRange since it was removed in one of the betas (#2687) * [foundation] Move NSUrlSessionMultipathServiceType to a file processed by the generator (for the availability attributes) (#2688) * [arkit] Update for Xcode 9 GM (#2681) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes (#2690) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes Type Changed: Intents.INCarSeatResolutionResult Removed methods: public static INCarSeatResolutionResult GetConfirmationRequired (INCarSeat valueToConfirm); public static INCarSeatResolutionResult GetSuccess (INCarSeat resolvedValue); * [avfoundation] Add missing protocol members and deprecations (#2691) !missing-protocol-member! AVCapturePhotoCaptureDelegate::captureOutput:didFinishProcessingPhoto:error: not found and the selector removed from PR#2687 was actually replaced with this one !missing-protocol-member! AVAssetDownloadDelegate::URLSession:aggregateAssetDownloadTask:didLoadTimeRange:totalTimeRangesLoaded:timeRangeExpectedToLoad:forMediaSelection: not found * [tests][xtro] Map some enums, more fix with protocols and update entries (#2692) * [Tests] Reenable dns tests on the watch. (#2674) * [arkit] Add ARBlendShapeLocationOptions strong dictionary (#2696) * [coreimage] Skip not yet bound filters added in Xcode9 (#2698) Tracked in https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * [Metal] Renamed MTLArgumentDescriptor.ArgumentDescriptor to Create, fixes bug 59498 (#2702) https://bugzilla.xamarin.com/show_bug.cgi?id=59498 From [argumentDescriptor docs](https://developer.apple.com/documentation/metal/mtlargumentdescriptor/2915746-argumentdescriptor?language=objc) > Creates an empty argument descriptor. * [msbuild] Always codesign app bundles if the codesign key is non-null (#2697) ...even if it is a simulator build. Turns out that starting with Xcode9, sim builds need to be codesigned for App Groups entitlements to work properly. Interestingly, the DetectSigningIdentity logic had a comment about needing to codesign simulator builds for some entitlements to work already starting with Xcode 8 but apparently the iOS targets did not respect this. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=59379 * [Foundation] Add NSProxy stub in order to workaround bug 59247 (#2693) https://bugzilla.xamarin.com/show_bug.cgi?id=59247 We need to have a better solution that removes all what NSProxy does not responds to. Right now this works because NSObject implements NSObject protocol just like NSProxy, but NSProxy responds to far less selectors hence doing it internal so it is not a breaking change when we provide the correct fix. * Keep NSProxy around and avoid XML linker description We need to keep NSProxy (avoid linking it) if WKNavigationDelegate or IWKNavigationDelegate is used. We know WKWebView will be there and can hold a reference to it. * [Xcode 9] Update Metal for GM (#2689) * [iosurface] IOSurface is not usable before iOS/tvOS 11. Fixes #59201 (#2706) Apple rejects apps that links with the previously private IOSurface.framework. We were not sure about this [1] and had it disabled (this is removed). However another bug stopped our adjustment logic [2] from being executed. This is needed since `clang` picks up the private framework if it does not find the public one (even when asking for a weak framework), [1] https://bugzilla.xamarin.com/show_bug.cgi?id=59201 [2] Added a while ago for JavascriptCore * Bump maccore to point to commit with the docs fix. (#2703) * Bump XI to 11.0.x (and XM to 3.99.9.x) (#2684) * fix typo
2017-09-16 00:53:16 +03:00
#endif
2016-04-21 15:30:02 +03:00
Merge xcode9 into d15-4[-xi] (#2710) * [FileProvider] Add Xcode 9 Beta 1, 2 & 3 Bindings (#2279) * [FileProvider] Add Xcode 9 Beta 1 Bindings * Better naming * Feedback not related to BindAs * [FileProvider] Removes BindAs, add manual code for it and updated to Beta 3 * [FileProvider] Implement feedback * [CoreSpotlight] Updated spotlight bindings for xcode 9 beta 3. (#2193) Updated spotlight bindings for xcode 9 beta 3. * Fix warning caused by duplicate (#2354) * [FileProviderUI] Add Xcode 9 Beta 1 to 3 bindings (#2356) * Bump to Xcode 9 beta 4 * [arkit] ARLightEstimate does not conform to NSCopying anymore (fix unit test) * [uikit] NSFileProviderExtension.ReparentItem got a new parameter in beta4 (fix unit test) * [coreimage] CIImageAccumulator init returns nil in beta 4 There's no header change to mention `init` is not allowed but it's not clear how this default initializer could be used. Also make public some other API to construct this type (outside of XM). It's not clear why there were `internal` as they are (at least now) part of the header files. * [photos] Add helpers when PHLivePhotoEditingOption/NSDictionary is null (to avoid ambiguous API) (#2360) Adding a strongly typed `PHLivePhotoEditingOption` (a strongly typed version of an `NSDictionary`) can cause a `CS0121` (call is ambiguous) since using a `null` argument is common (only one option exist so far). This PR adds overloads that makes the code nicer in such case, e.g. before Xcode9: > // null is used when no options are given > _foo.SaveLivePhoto (output, null, completion); current (Xcode 9) > // casting required to remove ambiguity with PHLivePhotoEditingOption > _foo.SaveLivePhoto (output, (NSDictionary)null, completion); with this PR > // no option, no argument > _foo.SaveLivePhoto (output, completion); The same applies to `PrepareLivePhotoForPlayback`. * [tests] Disable/tweak two tests that breaks on (almost) all Xcode updates Those tests were not added to validate xOS so just keep the parts that helps us (without constantly checking back the new break flavor) * Disable watchOS to check if this hides others issues * [mapkit] Update for beta 4 * [coredata] Update for beta 4 * [wkwebkit] Update for beta 4 Note: WKWindowFeatures.h is not compiled (part of the framework umbrella) and the `@interface WKWindowFeatures (WKPrivate)` sounds like it should not have been exposed (it's all fields starting with `_`) * [corelocation] Update for beta 4 * Revert "Disable watchOS to check if this hides others issues" This reverts commit fed2249fa43290a1956ab2fe0d48f83ab6db9711. * [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]: https://github.com/xamarin/xamarin-macios/blob/f5956d6cc1eb5dfa7bab16628cf282d40237f64e/src/generator.cs#L5985 * [FinderSync] Update to beta 4 (#2377) * [ImageIO] Update to Xcode 9 (#2353) * [PhotosUI] Move macOS photosui bindings out of photos.cs into photosui.cs (#2358) * [quicklook] Update up to beta 4 (#2374) * [uikit] UIDragInteraction & UIDragInteractionDelegate (Xcode 9 b1,2,3) (#2357) * [safariservices] Update up to beta 4 (#2380) * [coreanimation] Update to beta 4 (#2382) Apple removed (mistake?) some API in beta 1. Filed as rdar 33590997 Internal tracking in https://trello.com/c/J8BDDUV9/86-33590997-coreanimation-quartzcore-api-removals * [storekit] Update up to beta 4 (#2379) * [CoreML] Update to Xcode 9 Beta 4 (#2387) * [uikit] UICollectionView/UITableView Drag & Drop (Xcode 9 b1,2,3 & 4) (#2355) * Update code after radar 32929318 and 32897776 are fixed in b4 (#2394) * [xcode9 CoreAudio] New definitions from Beta1 to Beta3 (#2359) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 (#2397) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 https://bugzilla.xamarin.com/show_bug.cgi?id=58512 Created strong API (VNBarcodeSymbology) on the following properties * VNDetectBarcodesRequest.SupportedSymbologies * VNDetectBarcodesRequest.Symbologies * VNBarcodeObservation.Symbology * Remove modern C# because classic can't do it 😡 * [mediaplayer] Update up to beta 4 (#2388) * [watchkit] Update to beta 4 (#2398) * Bump Visual Studio for Mac max version (#2408) * [coreimage] Add CIBarcodeDescriptor and enabled missing API for VNBarcodeObservation. Fix #58197 (#2411) https://bugzilla.xamarin.com/show_bug.cgi?id=58197 * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 (#2407) * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 * [uikit] Fixes based on comments * [coreimage] CIImageAccumulator API fixes. Fix #58349 (#2412) * Obsolete the default `init`; * XM exposed some older APIs using `int` instead of `CIFormat`. This is fixed and old APIs are obsoleted; * Both new & old APIs are now using `CIFormat` for both XI and XM. https://bugzilla.xamarin.com/show_bug.cgi?id=58349 * [uikit] UIText drag & drop - up to Xcode 9 beta 4 (#2410) * [uikit] UISplitView & UIStackView up to Xcode 9 beta 4 (#2425) * Bump XI/XM versions before preview 4 (#2422) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 (#2378) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 * [PDFKit] Implement feedback * [PDFKit] the forgotten enum * [PDFKit] More feedback * [PDFKit] Add Mac changes * Missing change * Fix test RectangleF VS CGRect * Pass -Wunguarded-availability-new to quiet a new clang warning (#2424) - https://bugzilla.xamarin.com/show_bug.cgi?id=58574 * [mtouch/mmp] Ignore warnings about unguarded code section with regards to availability. (#2441) * [monotouch-test] Remove workaround for fixed Apple bug. (#2445) * Bump to Xcode 9 beta 5. (#2447) * Bump to Xcode 9 beta 5. * [mmp] Disable the partial static registrar, because Apple's macOS SDK is broken. > In file included from Xamarin.Mac.registrar.mobile.i386.m:1: > In file included from ./Xamarin.Mac.registrar.mobile.i386.h:11: > /Applications/Xcode9-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVFoundation.h:88:9: fatal error: 'AVFoundation/AVRouteDetector.h' file not found https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [mmp] Fix partial static registrar removal. * [CallKit] Update to Xcode 9 beta 5. * [ARKit] ARPointCloud doesn't conform to NSCopying anymore in Xcode 9 beta 5. * [ARKit] Update to Xcode 9 beta 5 enough to make tests happy. * [CoreImage] Stub out new filters in Xcode 9 beta 5. * [tests][monotouch] Simplify some MDLMesh asserts since values change a lot between OS versions. * [mmp] Default to the dynamic registrar for release builds again, due to bug #58629. https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [tests][introspection] CXCall started implementing NSCopying without saying so in the headers. * Disable mmp static registrar tests due to 58629 for now * [quicklook] Update to beta 5 (#2450) * [photos] Update for beta 5 (#2452) Also update some existing enum members were added in beta 1 on macOS * [safariservices] Update for beta 5 (#2455) * [mediaplayer] Update to beta 5 (#2456) * [CoreLocation] Update Xcode 9 Beta 5 (#2453) * [CoreML] Update to Xcode 9 Beta 5 (#2454) * [Contacts] Update to Xcode 9 Beta 5 (#2451) * [Vision] Update to Xcode 9 Beta 5 (#2458) * [builds] Tell LLVM to stay away from newer macOS functions. (#2459) Fixes this build problem on Sierra: > ld: weak import of symbol '_futimens' not supported because of option: -no_weak_imports for architecture x86_64 This is a symbol that was (will be?) introduced in High Sierra. Interestingly this only occurs if the Xcode 8.X Command Line Tools haven't been manually installed. Because if the Xcode 8.X Command Line Tools are installed, this happens: 1. llvm's configure script detects that 'futimens' is not usable. 2. llvm's configure script detects that 'futimens' is not usable, because xcrun sets SDKROOT=/ when calling clang. a. When the SDKROOT variable is set, clang passes '-syslibroot /usr/lib' to ld. b. When ld gets '-syslibroot /usr/lib', ld looks in '/usr/lib' for a library that contains 'futimens' in the OS itself, and since we're on Sierra, that fails to link. c. So when llvm's configure script creates a test program that checks if 'futimens' is present, the program fails. This is correct, and makes llvm *not* use futimens. 3. xcrun sets SDKROOT=/ because /usr/share/current-os.sdk/Info.plist exists. If that file does not exist, then xcrun sets SDKROOT to Xcode9's macOS SDK (because that's what xcode-select reports). a. When SDKROOT is set to Xcode9's macOS SDK, the configure check for 'futimens' succeeds, because the macOS 10.13 SDK contains that function. b. llvm happily uses 'futimens', and then the final link fails because we're using a symbol not available on all target platforms. * [arkit] Update for Xcode 9 beta 5 - Part 1 (#2460) * [tests] The container app for watchOS tests should be 64-bit. (#2463) * [xharness] watchOS tests need to run in a clean environment. Works around #58348. (#2462) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [xharness] It watchOS tests don't need to be clean anymore. Fixes #58348. (#2473) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [uikit] UIView/UIScrollView/UIViewController up to Xcode 9 beta 5 (#2431) - Add NSDirectionalEdgeInsets type. - Includes DirectionalEdgeInsetsTest. * [AudioToolbox] Update bindings to Xcode 9 beta3 (not later changes). (#2294) * [xharness] Add a file existence check. (#2478) Fixes this exception: ``` Harness exception for 'introspection': System.IO.FileNotFoundException: Could not find file '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log'. File name: '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log' at System.IO.__Error.WinIOError (System.Int32 errorCode, System.String maybeFullPath) [0x00207] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/__error.cs:188 at System.IO.FileInfo.get_Length () [0x00038] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/fileinfo.cs:171 at xharness.CaptureLog.StopCapture () [0x00021] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Log.cs:252 at (wrapper remoting-invoke-with-check) xharness.CaptureLog:StopCapture () at xharness.AppRunner+<RunAsync>d__68.MoveNext () [0x0127f] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/AppRunner.cs:642 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter`1[TResult].GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:357 at xharness.RunSimulatorTask+<RunTestAsync>d__7.MoveNext () [0x0029d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2894 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.RunTestTask+<ExecuteAsync>d__8.MoveNext () [0x0010b] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2538 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.TestTask+<RunInternalAsync>d__87.MoveNext () [0x0010d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:1870 ``` I'm not sure how this can happen, but it has on the bots [1]. [1] https://jenkins.mono-project.com/job/xamarin-macios-pr-builder/4548/Test_Report/ * Bump versions for preview 5 (#2479) * [passkit] Update to beta 5 (#2481) * [tests] Remove workaround for radar #32688391. (#2486) * [replaykit] Update up to beta 5 (#2484) * Bump maccore to get fix for bug #55064. (#2487) * [apidiff] Update definition to new 10.12 (d15-3) stable release (#2490) * [SceneKit] basic work (#2483) * [coredata] Update to beta 5 (#2488) * [homekit] Update for Xcode 9 beta 5 (#2492) * [Foundation] Update for xcode9 (#2468) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 (#2493) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 * [Intents] Implement feedback * [Intents] Add a generic version for INInteraction.GetParameterValue * [Intents] Missing check * [Contacts] Add missing foundation NSItemProviderWriting protocol to CNContact (#2496) https://bugzilla.xamarin.com/show_bug.cgi?id=58203 This is available on all Contacts supported platforms ``` ./iPhoneOS.platform/Developer/SDKs/iPhoneOS11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchOS.platform/Developer/SDKs/WatchOS4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchSimulator.platform/Developer/SDKs/WatchSimulator4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ``` * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) (#2497) * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) * [IntentsUI] Better use a delegate instead so we have named params * Bump versions before 6th preview (#2514) * [arkit] Add missing MarshalDirective to ARPlaneAnchor (#2517) - Fixes bug #58648: ARPlaneAnchor.Extent property seems incorrect but changes to correct value after Debug access (https://bugzilla.xamarin.com/show_bug.cgi?id=58648) * [xtro-sharpie] Fix a compiler warning. (#2516) Fixes these warnings: Runner.cs(197,5): warning CS0642: Possible mistaken empty statement Runner.cs(199,5): warning CS0642: Possible mistaken empty statement Runner.cs(201,5): warning CS0642: Possible mistaken empty statement Runner.cs(203,5): warning CS0642: Possible mistaken empty statement Runner.cs(205,5): warning CS0642: Possible mistaken empty statement * [uikit] Update for Xcode 9 beta 5 - Part 3 (#2511) - UIKeyCommand - UINavigationBar - UINavigationItem - UIPasteboard - UITableViewHeaderFooterView * [xtro-sharpie] Remove xtro-plugin and misc other fixes. (#2522) * [xtro-sharpie] Build with msbuild and be as quiet as requested when building. * [xtro-sharpie] Must run as a 64-bit process, since the required native libraries are 64-bit. * [xtro-sharpie] Add run configurations to the project file to ease debugging in the IDE. * [xtro-sharpie] Remove xtro-plugin and the related commands. This was needed when there wasn't a 64-bit mono, in order to run xtro-sharpie in a 64-bit process. Now there is a 64-bit mono, so it's not needed anymore. Also improve makefile targets a bit, to auto-build stuff when needed, by setting the right dependencies. * Bump Xcode 9 to beta 6 (#2519) Disable watchOS tests again It seems like the Carousel crash from beta 4 is back to haunt us. This was working fine with beta 5. * Backport d15-3 SR2 fixes (#2515) * [coredata] Update to beta 6 (#2528) This seems to only revert some nullability changes from beta 5. * [coreml] Update to beta 6 (#2531) Fix our rdar 33643011 where additional setters were added in the headers but did not exists. * [videosubscriberaccount] Update to beta 6 (#2533) Only b1 and b2 introduced some additions/changes * [uikit] Update for Xcode 9 beta 6 - Part 4 (#2527) The following headers are now up to date: - UICollectionViewFlowLayout.h - UIDocumentPickerViewController.h - UIFontDescriptor.h - UIImage.h - UIImageView.h - UIImagePickerController.h * [xharness] Re-enable the watchOS tests. (#2534) It works fine for me locally, so let's see what Jenkins says. * [macos] Add new APIs in CoreWlan from Xcode9b3 (#2525) * Update AppKit bindings based on radar 33271241 results (#2518) * Update AppKit bindings based on radar 33271241 results - The header comment was updated to note it was NSSliderTouchBarItem view that has the protocol * Remove NSUserInterfaceCompression where not listed in header * [vision] Update to beta 6 (#2532) Removal of some deprecated (during beta) `init*` selectors. Also sync the versions that were inlined in subclasses - the old ones were not removed and the new ones were not added. * [xtro-sharpie] Many methods don't have selectors in Clang's API, so default to the name if no selector. (#2523) This makes a few more unclassified entries show up (mostly missing designated initializers): https://gist.github.com/rolfbjarne/07aa20f9b50b75bf3e69ac6a825e873a * [macos] Add ExternalAccessory APIs from xcode9 (#2526) * [58851] Disable NSMenuView in AllItemsWithNSMenuShouldAllowNull (#2504) * [arkit] Update for Xcode 9 beta 5 - Part 2 (#2505) - Add last missing selector. - Add tests for manual code. * [monotouch-test] Disable FontDescriptorTest.WithFeature (#2537) Disabled because it looks like the tvOS font we use: "Gujarati Sangam MN" does not have rare ligatures anymore (and the entire test is based on it). Before getting an actual fix for that, let's disable the test so it doesn't break all current builds. See: https://bugzilla.xamarin.com/show_bug.cgi?id=58929 * [xtro-sharpie] Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute. (#2524) Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute to calculate the native name for a TypeDefinition. Unclassified changes: https://gist.github.com/rolfbjarne/828f8ee41eebb0a3b60a38d71822fe59 * [foundation/uikit] Inline NSItemProvider_UIKitAdditions in NSItemProvider (#2538) As suggested here: https://github.com/xamarin/xamarin-macios/pull/2527#discussion_r134670981 * [intents] Fix breaking changes (api-diff) (#2543) Additions of @required members inside `INSpeakable` cannot be `[Abstract]` * [contacts] Fix breaking change (api-diff) (#2542) Type Changed: Contacts.CNPostalAddress Removed method: public static string LocalizeProperty (CNPostalAddressKeyOption option); * [macos] Reenable static registrar since Xcode9b6 un-broke SDK headers (#2544) - Fix a subtle spacing issues in PartialStaticLibrary property * [corebluetooth] Update up to beta 6 and enable it on watchOS (#2540) macOS 10.13 has finally catch up with iOS and this simplifies the bindings a bit. * [foundation] API fixes (apidiff) (#2545) 1. Let's not add new, already [Obsolete] API Type Changed: Foundation.NSDimension Added constructors: [Obsolete ("Not intended to be directly instantiated, this is an abstract class.")] public NSDimension (); 2. Fix inconsistently named API, e.g. Type Changed: Foundation.NSAttributedString Added properties: public static string[] ReadableTypeIdentifiersForItemProvider { get; } public static string[] WritableTypeIdentifiers { get; } * [pdfkit] Do not add already [Obsolete] API in new profiles (#2547) and ensure using the newer, correct API works cross-platforms iOS (before) [Obsolete ("Use 'Find (string, NSStringCompareOptions)' instead.")] public virtual PdfSelection[] Find (string text, nint options); public PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'Find (string, PdfSelection, NSStringCompareOptions)' instead.")] public virtual PdfSelection Find (string text, PdfSelection selection, nint options); public void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string, NSStringCompareOptions)' instead.")] public virtual void FindAsync (string text, nint options); public void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string [], NSStringCompareOptions)' instead.")] public virtual void FindAsync (string[] text, nint options); iOS (after) public virtual PdfSelection[] Find (string text, Foundation.NSStringCompareOptions compareOptions); public virtual PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); * Bump versions for the 7th preview (#2541) * Remove additions of AVKit removed in beta5 (#2536) * NSUrlSessionTask should implement NSProgressReporting for iOS (#2548) NSUrlSessionTask implements NSProgressReporting on iOS as well as Mac, so the #if MONOMAC isn't needed. * Add missing availability attributes causing failures on older iOS versions (#2550) * [vision] Minor fix wrt xtro (#2551) including some things we need to ignore manually !missing-field! VNVisionVersionNumber not bound !missing-pinvoke! VNImagePointForFaceLandmarkPoint is not bound !missing-pinvoke! VNNormalizedFaceBoundingBoxPointForLandmarkPoint is not bound * [uikit] NSFileProviderMessaging was removed in beta 2. Fixes #58222 (#2552) reference: https://bugzilla.xamarin.com/show_bug.cgi?id=58222 * [uikit] Update for Xcode 9 - Part 5 (#2546) Bindings for the following headers: - UIActivity.h - UIActivityItemProvider.h - UIAlertController.h - UIApplication.h - UIBarButtonItem.h - UIButton.h - UICollectionViewLayout.h - UIColor.h - UIControl.h - UIDocumentMenuViewController.h - UIFontMetrics.h - UIGestureRecognizer.h - UIGraphicsImageRenderer.h - UIInputViewController.h * [CoreText] Fix an extraneous free in CTFont.GetDefaultCascadeList. (#2555) We do not own the return value from CFArrayGetValueAtIndex, so don't say we do when creating CTFontDescriptor instances, since that leads to angry dragons: 2017-08-28 20:15:20.293 monotouchtest[33186:2311738] A_FontTest 2017-08-28 20:15:20.294 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithFontDescriptorAndOptions 2017-08-28 20:15:20.295 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithNameAndOptions 2017-08-28 20:15:20.296 monotouchtest[33186:2311738] critical: Stacktrace: at <unknown> <0xffffffff> at (wrapper managed-to-native) CoreText.CTFont.CTFontCopyDefaultCascadeListForLanguages (intptr,intptr) [0x0000a] in <ae65a2b1eea242d2b68fe784749543bf>:0 at CoreText.CTFont.GetDefaultCascadeList (string[]) [0x00013] in /work/maccore/xcode9/xamarin-macios/src/CoreText/CTFont.cs:2185 at MonoTouchFixtures.CoreText.A_FontTest.GetCascadeList () [0x0001e] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/CoreText/FontTest.cs:78 at (wrapper runtime-invoke) object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) [0x0004f] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) System.Reflection.MonoMethod.InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&) [0x00016] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at System.Reflection.MonoMethod.Invoke (object,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo) [0x00032] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/corlib/System.Reflection/MonoMethod.cs:305 at System.Reflection.MethodBase.Invoke (object,object[]) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/referencesource/mscorlib/system/reflection/methodbase.cs:229 at NUnit.Framework.Internal.Reflect.InvokeMethod (System.Reflection.MethodInfo,object,object[]) [0x00009] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Reflect.cs:215 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunNonAsyncTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x00025] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:116 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x0001a] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:90 at NUnit.Framework.Internal.Commands.TestMethodCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:66 at NUnit.Framework.Internal.Commands.SetUpTearDownCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00007] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/SetUpTearDownCommand.cs:84 at NUnit.Framework.Internal.WorkItems.SimpleWorkItem.PerformWork () [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/SimpleWorkItem.cs:64 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at MonoTouch.NUnit.UI.BaseTouchRunner.Run (NUnit.Framework.Internal.Test) [0x0004d] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:442 at MonoTouch.NUnit.UI.BaseTouchRunner.Run () [0x00030] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:171 at MonoTouch.Dialog.StringElement.Selected (MonoTouch.Dialog.DialogViewController,UIKit.UITableView,Foundation.NSIndexPath) [0x00008] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/Elements.cs:765 at MonoTouch.Dialog.DialogViewController.Selected (Foundation.NSIndexPath) [0x00026] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:577 at MonoTouch.Dialog.DialogViewController/Source.RowSelected (UIKit.UITableView,Foundation.NSIndexPath) [0x00016] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:402 at (wrapper runtime-invoke) <Module>.runtime_invoke_void__this___object_object (object,intptr,intptr,intptr) [0x0005d] in <32f0c196c5bc4aa18daea2ee64a7814e>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) UIKit.UIApplication.UIApplicationMain (int,string[],intptr,intptr) [0x0005c] in <ae65a2b1eea242d2b68fe784749543bf>:0 at UIKit.UIApplication.Main (string[],intptr,intptr) [0x00005] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:79 at UIKit.UIApplication.Main (string[],string,string) [0x00038] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:63 at monotouchtest.Application.Main (string[]) [0x00011] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/Main.cs:27 at (wrapper runtime-invoke) <Module>.runtime_invoke_void_object (object,intptr,intptr,intptr) [0x00051] in <30a7f7e09de9467b8b454221034a0e38>:0 Native stacktrace: 0 monotouchtest 0x000000010fca03c4 mono_handle_native_crash + 244 1 monotouchtest 0x000000010fcadd30 mono_sigsegv_signal_handler + 288 2 libsystem_platform.dylib 0x000000011feb3b3a _sigtramp + 26 3 CoreFoundation 0x000000011de035a2 computeSanitizedString + 146 4 CoreText 0x00000001168df314 _ZN15TPurgeableCache19RetainedValueForKeyEPKv + 54 5 CoreText 0x00000001168def85 _ZNK17TDescriptorSource22CopyDescriptorUncachedEPK7__CFURLbPK10__CFString + 55 6 CoreText 0x00000001168df34f _ZNK17TDescriptorSource14CopyDescriptorEPK7__CFURLbPK10__CFString + 27 7 CoreText 0x00000001168e20ad _ZNK17TDescriptorSource35CopyFontDescriptorPerPostScriptNameEPK10__CFStringmm + 297 8 CoreText 0x00000001168dfd9e _ZNK17TDescriptorSource30CopySystemFontDescriptorByNameEPK10__CFString10UIFontFlag + 54 9 CoreText 0x00000001168e54c4 _ZNK14TFontFallbacks17CopyFontFallbacksEPK10__CFStringS2_PK9__CFArray + 652 10 CoreText 0x00000001168e4a00 _ZNK14TFontFallbacks29CopyFontFallbacksForLanguagesEPK10__CFStringPK9__CFArray + 122 11 CoreText 0x00000001168e4971 _ZN17TDescriptorSource39CopyDefaultSubstitutionListForLanguagesEPK10__CFStringPK9__CFArray + 61 12 CoreText 0x00000001169397a7 _ZNK9TBaseFont28CreateSystemDefaultFallbacksEPK10__CFStringPK9__CFArray + 51 13 CoreText 0x000000011693999c _ZNK9TBaseFont15CreateFallbacksE10UIFontFlagPPK16__CFCharacterSetPK9__CFArray + 346 14 CoreText 0x00000001168c1036 _ZNK5TFont24CreateDefaultCascadeListEPK9__CFArray + 242 15 CoreText 0x00000001168b8ff9 CTFontCopyDefaultCascadeListForLanguages + 97 16 ??? 0x0000000140eaefd3 0x0 + 5384105939 17 ??? 0x0000000140eae761 0x0 + 5384103777 18 ??? 0x000000013c9c8e74 0x0 + 5311860340 19 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 20 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 21 monotouchtest 0x000000010fd71bac mono_runtime_try_invoke_array + 1292 22 monotouchtest 0x000000010fd15587 ves_icall_InternalInvoke + 647 23 ??? 0x000000013e9fcd13 0x0 + 5345627411 24 ??? 0x000000013e9fc738 0x0 + 5345625912 25 ??? 0x000000013e9fded5 0x0 + 5345631957 26 ??? 0x000000013e9fbb76 0x0 + 5345622902 27 ??? 0x000000013e9e237e 0x0 + 5345518462 28 ??? 0x000000013e9e237e 0x0 + 5345518462 29 ??? 0x000000013e9e237e 0x0 + 5345518462 30 ??? 0x000000013e9e237e 0x0 + 5345518462 31 ??? 0x000000013e873006 0x0 + 5344014342 32 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 33 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 34 monotouchtest 0x000000010fd6e320 mono_runtime_invoke + 208 35 monotouchtest 0x000000010fe71af1 xamarin_invoke_trampoline + 5617 36 monotouchtest 0x000000010fe79ddd xamarin_arch_trampoline + 189 37 monotouchtest 0x000000010fe7b1a1 xamarin_x86_64_common_trampoline + 110 38 UIKit 0x0000000111b9876b -[UITableView _selectRowAtIndexPath:animated:scrollPosition:notifyDelegate:] + 1810 39 UIKit 0x0000000111b98986 -[UITableView _userSelectRowAtPendingSelectionIndexPath:] + 344 40 UIKit 0x0000000111a6b5c9 _runAfterCACommitDeferredBlocks + 318 41 UIKit 0x0000000111a59dad _cleanUpAfterCAFlushAndRunDeferredBlocks + 280 42 UIKit 0x0000000111a89f68 _afterCACommitHandler + 137 43 CoreFoundation 0x000000011de3ddb7 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23 44 CoreFoundation 0x000000011de3dd0e __CFRunLoopDoObservers + 430 45 CoreFoundation 0x000000011de22324 __CFRunLoopRun + 1572 46 CoreFoundation 0x000000011de21a89 CFRunLoopRunSpecific + 409 47 GraphicsServices 0x0000000121b7e9c6 GSEventRunModal + 62 48 UIKit 0x0000000111a5f7d0 UIApplicationMain + 159 49 ??? 0x000000013c9c4474 0x0 + 5311841396 50 ??? 0x000000013c9c40ad 0x0 + 5311840429 ================================================================= Got a SIGSEGV while executing native code. This usually indicates a fatal error in the mono runtime or one of the native libraries used by your application. ================================================================= * [monotouch-test] Don't subclass MKMapView. (#2556) MKMapView doesn't like being subclassed (Apple says "you should not subclass the MKMapView class itself"). Bad things like this starts happening: Thread 0 name: tid_303 Dispatch queue: com.apple.main-thread Thread 0 Crashed: 0 libsystem_kernel.dylib 0x0000000186b25348 __pthread_kill + 8 1 libsystem_pthread.dylib 0x0000000186c39354 pthread_kill$VARIANT$mp + 396 2 libsystem_c.dylib 0x0000000186a94fd8 abort + 140 3 monotouchtest 0x0000000101c02c14 mono_handle_native_crash + 22047764 (mini-exceptions.c:2548) 4 monotouchtest 0x0000000101c0d02c mono_sigsegv_signal_handler + 22089772 (mini-runtime.c:2886) 5 libsystem_platform.dylib 0x0000000186c33b60 _sigtramp + 52 6 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 7 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 8 CoreFoundation 0x0000000186eda51c -[__NSArrayM dealloc] + 68 9 CoreFoundation 0x000000018703f5c8 __CFBasicHashDrain + 312 10 CoreFoundation 0x0000000186fb5b44 _CFRelease + 224 11 CoreText 0x000000018a808404 TDescriptorSource::PurgeFontFallbacksCache+ 488452 () + 92 12 CoreText 0x000000018a808374 TDescriptorSource::PurgeFromCaches+ 488308 (__CFURL const*) const + 176 13 CoreText 0x000000018a7eec74 CTFontRemoveFromCaches + 168 14 VectorKit 0x0000000196a539b0 +[VKSharedResourcesManager removeResourceUser:] + 324 15 VectorKit 0x0000000196ca27a4 md::MapEngine::~MapEngine+ 2643876 () + 360 16 VectorKit 0x0000000196ca2634 md::MapEngine::~MapEngine+ 2643508 () + 12 17 libobjc.A.dylib 0x000000018651eef4 object_cxxDestructFromClass+ 28404 (objc_object*, objc_class*) + 148 18 libobjc.A.dylib 0x000000018652c638 objc_destructInstance + 88 19 libobjc.A.dylib 0x000000018652c690 object_dispose + 16 20 QuartzCore 0x000000018afca3ac -[CALayer dealloc] + 116 21 VectorKit 0x0000000196a43294 -[VKMapView dealloc] + 940 22 QuartzCore 0x000000018af6aafc CA::release_objects+ 744188 (X::List<void const*>*) + 32 23 QuartzCore 0x000000018afd97d8 CA::Layer::~Layer+ 1198040 () + 276 24 QuartzCore 0x000000018afca37c -[CALayer dealloc] + 68 25 QuartzCore 0x000000018af6b16c CA::Transaction::commit+ 745836 () + 1052 26 UIKit 0x0000000190393290 _afterCACommitHandler + 256 27 CoreFoundation 0x0000000186fb38b8 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 32 28 CoreFoundation 0x0000000186fb1270 __CFRunLoopDoObservers + 412 29 CoreFoundation 0x0000000186fb182c __CFRunLoopRun + 1292 30 CoreFoundation 0x0000000186ed22d8 CFRunLoopRunSpecific + 436 31 GraphicsServices 0x0000000188d58f84 GSEventRunModal + 100 32 UIKit 0x000000019040427c UIApplicationMain + 208 33 monotouchtest 0x000000010106eb90 wrapper_managed_to_native_UIKit_UIApplication_UIApplicationMain_int_string___intptr_intptr + 9907088 (/<unknown>:1) 34 monotouchtest 0x0000000100f0d6ac UIKit_UIApplication_Main_string___intptr_intptr + 8459948 (UIApplication.cs:79) 35 monotouchtest 0x0000000100f0d66c UIKit_UIApplication_Main_string___string_string + 8459884 (UIApplication.cs:63) 36 monotouchtest 0x0000000100b10450 monotouchtest_Application_Main_string__ + 4277328 (Main.cs:27) 37 monotouchtest 0x0000000100e0c244 wrapper_runtime_invoke_object_runtime_invoke_dynamic_intptr_intptr_intptr_intptr + 244 38 monotouchtest 0x0000000101c10048 mono_jit_runtime_invoke + 22102088 (mini-runtime.c:2526) 39 monotouchtest 0x0000000101c75eec do_runtime_invoke + 22519532 (object.c:2829) 40 monotouchtest 0x0000000101c78a3c do_exec_main_checked + 22530620 (object.c:4623) 41 monotouchtest 0x0000000101bf9a1c mono_jit_exec + 22010396 (driver.g.c:1040) 42 monotouchtest 0x0000000101d13d60 xamarin_main + 23166304 (monotouch-main.m:482) 43 monotouchtest 0x00000001007de710 main + 927504 (main.m:67) 44 libdyld.dylib 0x00000001869f656c start + 4 * [introspection] Let SkipDueToAttributeInProperty skip setters too (#2557) `SkipDueToAttributeInProperty` which is used to check the availability attribute of properties when the Availability info only exist on the property and not on the property Getter or Setter was wrong. This lead to `setSpringLoaded` (which was introduced in iOS 11) to not be ignored by the test (making it fail). - Fix bug #59085: [introspection-ios] selector not found for UIKit.UIBarButtonItem : setSpringLoaded: - Broken test (https://bugzilla.xamarin.com/show_bug.cgi?id=59085) * [corevideo][watchos] Enable CoreVideo on watchOS (#2553) * [storekit] Fix CampaignToken typo (#2559) (#2560) - Fixes bug #59078: StoreProductParameters and invalid property for CampaignToken (https://bugzilla.xamarin.com/show_bug.cgi?id=59078) * [coreml][watchos] Enable API using CoreVideo on watchOS. Fix #58097 (#2561) https://bugzilla.xamarin.com/show_bug.cgi?id=58097 * Add missing [MarshalDirective] attributes. (#2558) * [bindings-generator] Improve build & project file. * Add missing [MarshalDirective] attributes. Add missing [MarshalDirective] attributes, which also requires implementing support for out parameters in the binding generator, since one of the signatures missing the [MarshalDirective] contains such an out parameter. Also add tests for all the API I've added [MarshalDirective] to. * [bindings-generator] Remove redundant if check. * [monotouch-test] Rename file to end with 'Test.cs'. * [tests] Fix a few build errors for Xamarin.Mac. * [uikit] Fix UIColor and UIInputViewController tvOS availability (#2569) - Fixes introspection tests on tvOS 10. * [storekit] Fix SKCloudServiceSetupMessageIdentifier and SKProductStorePromotionController tvOS availability (#2568) - Fixes introspection tests on tvOS 10. * [mapkit] Fix MKMapItemTypeIdentifier tvOS availability (#2566) - Also remove double [Mac] availability attribute. - Fixes introspection tests on tvOS 10. * [ARKit] Fix marshalling for ARPointCloud.RawFeaturePoints. (#2565) ARPointCloud.RawFeaturePoints is an array of Vector3, but each vector is 16-byte aligned (as if it were an array of Vector4). This means we need to account for this when creating a managed array from pointer to the native C-style array. * [ModelIO] Fix MDLVoxelIndexExtent struct. (#2564) The MDLVoxelIndexExtent is a struct containing two 4-dimensional vectors of integers (not floats, as originally and incorrectly implemented). Fix this my creating a new MDLVoxelIndexExtent2 struct with the right fields, re-implement all the API that exposes this struct and obsolete the old API. Also add missing [MarshalDirective] attributes. And write a test to make sure it works fine now and forever. * [coredata] Enable new fields since rdar #33878590 is fixed w/beta 6 (#2570) reference: https://trello.com/c/dlSRYPFx * [xtro-sharpie] Add a Simd check class to verify signatures with Simd types. * [Simd] Add simd matrix types. The OpenTK matrices (Matrix2/3/4) has a different memory layout than Apple's matrix_float2x2/matrix_float3x3/matrix_float4x4 matrices: the OpenTK versions are row-major, while Apple's versions are column-major. This means that when blitting memory from one to the other, the matrix will appear to have been transposed. See bug #[58599][2] for an example. Unfortunately we've already bound several API with Apple's matrix_floatXxX matrices using OpenTK's matrices, and although they're bound wrong, and the matrices appear transposed on input/output, we can't change the behavior because we have to maintain compatibility. This means we have to introduce new API, and then also just define new matrix types with the right memory layout (column-major). Additionally, in the future we might be able to mark these matrices as Simd-matrixes, so that the JIT/AOT compiler can generate the correct alignment for them, avoiding having to define a native conversion method (using the [MarshalDirective] hack). The matrices have been designed to match API-wise the matrices in the System.Numerics.Vectors namespace [1], but for the moment with only a few basic operations implemented (Determinant/Transpose/Multiply) defined (we can always add more later if we want to). In addition explicit conversion operators to and from the corresponding OpenTK.MatrixX are implemented, which means any operation defined in the OpenTK matrices can be used by converting back and forth. [1]: https://msdn.microsoft.com/en-us/library/system.numerics.matrix4x4(v=vs.111).aspx [2]: https://bugzilla.xamarin.com/show_bug.cgi?id=58599 * [ARKit] Use the new Simd matrix types. * [Vision] Use the new Simd matrix types. * [ModelIO] Use the new Simd-compatible matrix types, and deprecate the old API. * [GameplayKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [SpriteKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [xtro] Don't report missing [MarshalDirective] for obsolete methods. * [xtro] Remove unnecessary ignores. The implementation changed, and these stayed accidentally. * [wkwebkit] Fix (native) protocol names (#2572) Also ignore xtro's WKSnapshotConfiguration since it's an Apple bug 34185961 reference (xtro) !missing-protocol! WKURLSchemeHandler not bound !missing-protocol! WKURLSchemeTask not bound !unknown-protocol! WKUrlSchemeHandler bound !unknown-protocol! WKUrlSchemeTask bound !unknown-type! WKSnapshotConfiguration bound * [uikit] Fix enums availability attributes (#2575) - Fixes bug #59132: [uikit] Extra types in watchOS (https://bugzilla.xamarin.com/show_bug.cgi?id=59132) * [watchkit] Add missing designated initializers (#2574) references (xtro) !missing-designated-initializer! WKInterfaceController::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! WKUserNotificationInterfaceController::init is missing an [DesignatedInitializer] attribute * [xtro] Reword some of the Simd diagnostic messages according to review. * [tests] Make sure test symbols don't clash between different test libraries. Fixes this build problem for framework-test: clang: error: linker command failed with exit code 1 (use -v to see invocation) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_get_rotation_matrix'. MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticObjectTest.framework/XStaticObjectTest (Location related to previous error) MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticArTest.framework/XStaticArTest(libtest-ar.x86_64.o) (Location related to previous error) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransformcomponent_get_local_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_create_global_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float4x4'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float3x3'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float2x2'. MTOUCH: error MT5209: Native linking error: 6 duplicate symbols for architecture x86_64 MTOUCH: error MT5202: Native linking failed. Please review the build log. * [tests] Since libtest.a need ModelIO now, the corresponding LinkWith attributes need to state that too. * [introspection] Don't check native signatures on obsolete members, and ignore the right simd matrix types. Fixes this introspection/Mac problem: ***** ApiSignatureTest.NativeSignatures Selector: uniformWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: uniformWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: uniformWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: setMatrixFloat2x2Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: setMatrixFloat3x3Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: setMatrixFloat4x4Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: initWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: initWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: initWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded * [monotouch-tests] Include more custom asserts for watchOS to make the build work. Fixes this: Simd/MatrixFloat4x4Test.cs(28,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(29,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(37,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(48,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' [...] * [monotouch-test] Exclude code that requires the binding project from xammac tests. Exclude code that requires the test binding project from xammac tests because there's currently no XM version of the test binding project. Fixes this: tests/monotouch-test/SpriteKit/UniformTest.cs(20,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLMaterialProperty.cs(37,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLTransform.cs(34,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) * Bump version for preview #8 (#2576) * [spritekit] Audit fixes (xtro) (#2577) 1. SKVideoNode is now, partially, available on watchOS and does not require the extra, manual code to swicth selectors depending on the OS version being run. !missing-type! SKVideoNode not bound !missing-selector! SKVideoNode::anchorPoint not bound !missing-selector! SKVideoNode::initWithCoder: not bound !missing-selector! SKVideoNode::initWithFileNamed: not bound !missing-selector! SKVideoNode::initWithURL: not bound !missing-selector! SKVideoNode::setAnchorPoint: not bound !missing-selector! SKVideoNode::setSize: not bound !missing-selector! SKVideoNode::size not bound !missing-selector! +SKVideoNode::videoNodeWithFileNamed: not bound !missing-selector! +SKVideoNode::videoNodeWithURL: not bound 2. SKNodeFocusBehavior is exposed needlessly on watchOS because SpriteKit/Enums.cs was not processed by the generator, so [NoWatch] did not matter. !unknown-native-enum! SKNodeFocusBehavior bound It's also visible on macOS but nothing uses it (so we do not expose it needlessly) !missing-enum! SKNodeFocusBehavior not bound 3. Add missing designated initializer on default `init` !missing-designated-initializer! SKAttributeValue::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! SKNode::init is missing an [DesignatedInitializer] attribute 4. Remove inconsistency for SKNode subclasses wrt XAMCORE_4_0 The trio attributeValues, setAttributeValues and setValue:forAttributeNamed: that was moved from SKNode (deprecated) into its subclasses. This was done using XAMCORE_4_0 but not on every subclasses. This adds them everywhere to be consistent (only SKNode versions are not defined in XAMCORE_4_0) !missing-selector! SKEffectNode::attributeValues not bound !missing-selector! SKEffectNode::setAttributeValues: not bound !missing-selector! SKEffectNode::setValue:forAttributeNamed: not bound !missing-selector! SKEffectNode::valueForAttributeNamed: not bound !missing-selector! SKEmitterNode::attributeValues not bound !missing-selector! SKEmitterNode::setAttributeValues: not bound !missing-selector! SKEmitterNode::setValue:forAttributeNamed: not bound !missing-selector! SKEmitterNode::valueForAttributeNamed: not bound !missing-selector! SKSpriteNode::attributeValues not bound !missing-selector! SKSpriteNode::setAttributeValues: not bound !missing-selector! SKSpriteNode::setValue:forAttributeNamed: not bound !missing-selector! SKSpriteNode::valueForAttributeNamed: not bound * [introspection] Make sure '[FAIL]' is printed before every failure. (#2578) This makes xharness able to list the failures in the inline summary. * [xtro] Reword some of the Simd diagnostic messages according to review. * [xharness] Add a missing IsServerMode check to generate correct html. (#2581) * [SpriteKit] SKTransformNode is new in Xcode 9 so no need to keep the broken (and obsolete) non-simd version of RotationMatrix. * [intents] Fix some (partial) xtro issues and #59156 (#2585) reference https://bugzilla.xamarin.com/show_bug.cgi?id=59156 Remaining issues are filled in https://bugzilla.xamarin.com/show_bug.cgi?id=59183 !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound * [Intents] Confirm* interface methods should be bound as Confirm, Fixes Bug 59164 (#2591) * [Intents] Confirm* interface methods should probably be bound as Confirm, Fixes Bug 59164 https://bugzilla.xamarin.com/show_bug.cgi?id=59164 All Confirm* methods from *IntentHandling interfaces should be named just `Confirm` to avoid confusion because most of them do not directly confirm as an acion, but instead they **ask** for confirmation also we would follow swift's naming by doing this. * [Intents] XAMCORE_4_0 all Confirm* methods from *IntentHandling Turns any Confirm* into just Confirm inside a XAMCORE_4_0 block, * [Intents] Fix breaking changes in Intents added in Xcode 9 Bindings (#2590) Apple added more protocol conformances to INRidesharingDomainHandling and INPaymentsDomainHandling protocols in Xcode 9, I introduced these breaking changes back when I did intents binding so fixing them :) * [Metal] New bindings from Xcode 9 betas (#2457) * [AVFoundation] Updated bindings for xcode9. (#2272) * [Xcode9] Add IOSurface bindings (#2363) * This framework was a private framework before iOS 11. This framework was a private framework before iOS 11, yet the headers claim many API were introduced in iOS 10. So take account of this difference by using the private framework location in iOS 10.3 or earlier. Testing these API from Xcode works fine when run on an iOS 10.3 device, and I've confirmed the IOSurface framework is loaded from the private frameworks path on older devices (and when built using Xcode 9 and linked with the public framework path). * Disable code to make IOSurface work on iOS 10. Disable the code to make IOSurface work on iOS 10, since it may be rejected by the App Store. This also means adjusting the availability attributes, so that the introspection tests pass (and to document that technically these API won't work when used with Xamarin.iOS in iOS 10). I've filed bug #[59201][1] to keep track of this, maybe we can re-enable this later. [1]: https://bugzilla.xamarin.com/show_bug.cgi?id=59201 * [CoreMedia] Fix leak in CMAttachmentBearer.GetAttachments. (#2593) The caller owns the return value from CMCopyDictionaryOfAttachments, so tell Runtime.GetNSObject that. * [Intents] Adds missing API found by xtro, fixes Bug 59183 (#2596) https://bugzilla.xamarin.com/show_bug.cgi?id=59183 Fixes !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !incorrect-protocol-member! INUIHostedViewControlling::configureWithInteraction:context:completion: is OPTIONAL and should NOT be abstract * [xtro] Fix StartWorkingDirectory to enable debugging (#2598) * [iosurface] Enable for tvOS and XM classic (to avoid multiple defines around consumer API) (#2597) * [xtro] Fix EnumCheck (#2600) * [ARKit] Rename a few method to make them nicer. (#2604) * DisplayTransform -> GetDisplayTransform since methods should have verbs. * SessionWasInterrupted -> WasInterrupted and SessionInterruptionEnded -> InterruptionEnded since these names match better with the other names (CameraDidChangeTrackingState / DidFail / DidOutputAudioSampleBuffer: none are prefixed with 'Session'). Additionally, the type is a Model (for the delegate pattern), which means all methods are more-or-less event-like, and the first argument is always the same (the protocol itself), which is another indicator the methods should be named similarly. * [Foundation] Remove 'Key' suffix from some fields. (#2606) Of the 168 fields in NSMetadataItem, only these 5 hadn't removed the 'Key' suffix. So make them all equivalent by removing the 'Key' suffix from these 5 fields. * [ImageIO] Fix API to not duplicate the instance in instance methods. (#2609) An instance method does not need to take the instance as a parameter, so remove the first (instance) parameter for CGImageDestination.AddAuxiliaryDataInfo and CGImageSource.CopyAuxiliaryDataInfo. An alternative solution would be to make the methods static, but I like the instance API better. * [UIKit] De-model UIDataSourceTranslating. (#2603) It's not clear from neither the documentation nor the headers how this protocol is supposed to be used, and since it doesn't correspond to the delegate pattern, remove the [Model] attribute for now. We can always add it back later. * [CoreML] Improve API. (#2592) * [CoreML] Improve API. * The indices, shape and stride properties for MLMultiArray and MLMultiArrayConstraint can logically only be arrays of integers, so type them as such. This means adding overloads for MLMultiArray's constructors, GetObject and SetObject methods, and the indexers that takes nint[] arrays instead of NSNumber[] arrays. * Change MLFeatureValue's static factory methods to be a method ('Create') instead of a preposition, and call all the different factory methods the same, since they can be overloaded nicely. * [tests][monotouch-test] Add version check to MLMultiArrayTest and make sure the arrays we create are big enough for the data we put in them. * [tests][monotouch-test] MLMultiArray's elements aren't zero-initialized, so don't assume that in the tests. * Support overloading Objective-C methods based on static/instance. (#2607) Two Objective-C methods can be named identically as long as one is static and the other instance. We must support this since Apple did just this (in the NSItemProviderReading / NSItemProviderWriting protocols). We solve it by prepending a '+' or '-' to the selector when hashing it (to determine selector uniqueness, and to look the method up again at runtime). * [uikit] Update for Xcode 9 - Part 6 (#2602) NSAttributedString.h NSFileProviderExtension.h NSLayoutAnchor.h UIAccessibility.h UIAccessibilityAdditions.h UIAccessibilityContainer.h UIAccessibilityContentSizeCategoryImageAdjusting.h UIAccessibilityCustomRotor.h UIAccessibilityLocationDescriptor.h UITabBar.h UINavigationBar.h UIScreen.h * Xcode9 scenekit (#2512) * [SceneKit] basic work * Added key * [xcode9] SCNCameraController * [xcode9] SCNCamera updates * [xcode9] SCNMaterial * [xcode9] SCNGeometryTessellator, SCNCameraControlConfiguration, SCNView, small bits * Add trailing commas to last enum value * Remove whitespace noise * [scenekit] Update deprecated attributes messages * Addresses some of Rolf's feedback * Drop the WeakDelegate in SCNCameraController * Rename method to Render, remove ctor from class that can not be constructed in Palygrounds, add typo exception * [AppKit] Rename NSBezierPath.AppendBezierPathWithCGGlyph to match its sibling methods. (#2605) NSBezierPath contains a lot of 'AppendPathWithXXX' methods, that all map to 'appendBezierPathXXX' selectors. So rename AppendBezierPathWithCGGlyph accordingly, to make it more similar to the other methods in the same type. * [uikit] Add all UISpringLoadedInteractionSupporting (#2616) Types do not conform to the protocol but protocol methods work on those types (see monotouch-test). Fixed introspection tests accordingly and tested the selectors in monotouch-test. * [Intents] Add convenience ctor overload and call correct base ctor in manual ctor. (#2613) Add a convenience constructor overload in INGetUserCurrentRestaurantReservationBookingsIntent that uses nint instead of NSNumber, since logically "number of results" will always be some sort of integer. Also call the correct base constructor in INSpeakableString's custom constructor (same as any other generated constructor). Otherwise we end up doing something like this: [[[INSpeakableString alloc] init] initWith ...], i.e. calling two different init methods. * [coreimage] Add new headers API up to beta 6 (#2601) Filters are not complete (ref: #57350) https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * Some new constants are not yet documented (type is known), so they are commented / ignored https://bugzilla.xamarin.com/show_bug.cgi?id=59296 * Filled bug for [Wrap] inside [Category] so strong dictionary helpers can be re-enabled later https://bugzilla.xamarin.com/show_bug.cgi?id=59294 * [foundation] xtro fixes for watchOS (#2586) !missing-enum! NSProcessInfoThermalState not bound !missing-field! NSProcessInfoThermalStateDidChangeNotification not bound !missing-selector! NSProcessInfo::thermalState not bound Headers are wrong and preferredPresentationStyle is not in tvOS and watchOS !missing-selector! NSItemProvider::preferredPresentationStyle not bound !missing-selector! NSItemProvider::setPreferredPresentationStyle: not bound * [uikit] Also remove UIPreferredPresentationStyle enum from platform where it's not used * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. (#2614) * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. * NSItemProviderWriting: * NSItemProviderReading: Implement correctly and completely by uncommenting commented out code. * NSMutableString: * NSAttributedString: remove inlined members, since these classes don't implement NSItemProviderReading / NSItemProviderWriting (according to the headers at least). * NSUrl: all platforms now seem to implement NSItemProviderReading / NSItemProviderWriting. * NSString: all platforms now seem to implement both NSItemProviderReading and NSItemProviderWriting * UIColor: * UIImage: Update inlined protocol members according to the latest beta. Additionally, due to the following conditions: * The protocols all have the correct members now. * In the API definition we tell the generator to inline members from a protocol by inheriting from the corresponding interface. * The generator doesn't inline static members from protocols. several 'new' keywords had to be added to silence a compiler warning that occurrs when we manually inline a static member, since the member would be included in the type both from the inherited interface and the manual implementation. * [Foundation] Comment out NSItemProviderWriting.GetItemProviderVisibility to avoid inlining/generating unusable methods. NSItemProviderWriting.GetItemProviderVisibility is an optional method, and none of the native classes that implements NSItemProviderWriting actually imlements the method. This means inlining the method in those classes ends up creating unusable API; so just comment out the method to avoid generating the unusable API. The introspection tests found this: [FAIL] Foundation.NSString : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Foundation.NSUrl : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Contacts.CNContact : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] MapKit.MKMapItem : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIColor : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIImage : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] iOSApiSelectorTest.ApiSelectorTest.StaticMethods : 6 errors found in 2348 static selector validated: See also https://bugzilla.xamarin.com/show_bug.cgi?id=59308 * [iosurface] Add missing [TV] attributes (#2619) * [opengles] Enable the new API using IOSurface (#2618) The symbol only exists inside device libraries, not on simulator, and the introspection tests were updated to ignore it. Part of https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [avfoundation][watchos] Enable AudioBufferList (fix #59145) + audit (xtro) (#2617) 1. AudioBufferList is part of CoreAudio (wrong namespace, which needs a few changes in the generator) and now available in watchOS 4 https://bugzilla.xamarin.com/show_bug.cgi?id=59145 2. Also fixes xtro found issues: !missing-type! AVAudioRecorder not bound !missing-selector! AVAudioRecorder::averagePowerForChannel: not bound !missing-selector! AVAudioRecorder::channelAssignments not bound !missing-selector! AVAudioRecorder::currentTime not bound !missing-selector! AVAudioRecorder::delegate not bound !missing-selector! AVAudioRecorder::deviceCurrentTime not bound !missing-selector! AVAudioRecorder::format not bound !missing-selector! AVAudioRecorder::initWithURL:format:error: not bound !missing-selector! AVAudioRecorder::initWithURL:settings:error: not bound !missing-selector! AVAudioRecorder::isMeteringEnabled not bound !missing-selector! AVAudioRecorder::isRecording not bound !missing-selector! AVAudioRecorder::peakPowerForChannel: not bound !missing-selector! AVAudioRecorder::recordAtTime: not bound !missing-selector! AVAudioRecorder::recordAtTime:forDuration: not bound !missing-selector! AVAudioRecorder::recordForDuration: not bound !missing-selector! AVAudioRecorder::setChannelAssignments: not bound !missing-selector! AVAudioRecorder::setDelegate: not bound !missing-selector! AVAudioRecorder::setMeteringEnabled: not bound !missing-selector! AVAudioRecorder::settings not bound !missing-selector! AVAudioRecorder::url not bound !missing-protocol! AVAudioRecorderDelegate not bound !missing-selector! AVAudioEngine::inputNode not bound !missing-selector! AVAudioEngine::manualRenderingBlock not bound !missing-selector! AVAudioInputNode::setManualRenderingInputPCMFormat:inputBlock: not bound !missing-selector! AVAudioPlayer::format not bound !missing-selector! AVAudioSession::requestRecordPermission: not bound !unknown-field! AVFileType3GPP bound !unknown-field! AVFileType3GPP2 bound !unknown-field! AVFileTypeAC3 bound !unknown-field! AVFileTypeAIFC bound !unknown-field! AVFileTypeAIFF bound !unknown-field! AVFileTypeAMR bound !unknown-field! AVFileTypeAVCI bound !unknown-field! AVFileTypeAppleM4A bound !unknown-field! AVFileTypeAppleM4V bound !unknown-field! AVFileTypeCoreAudioFormat bound !unknown-field! AVFileTypeDNG bound !unknown-field! AVFileTypeEnhancedAC3 bound !unknown-field! AVFileTypeHEIC bound !unknown-field! AVFileTypeHEIF bound !unknown-field! AVFileTypeJPEG bound !unknown-field! AVFileTypeMPEG4 bound !unknown-field! AVFileTypeMPEGLayer3 bound !unknown-field! AVFileTypeQuickTimeMovie bound !unknown-field! AVFileTypeSunAU bound !unknown-field! AVFileTypeTIFF bound !unknown-field! AVFileTypeWAVE bound * [Metal] Implement API using IOSurface now that IOSurface is implemented. Partially fixes #58054. (#2621) https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [PdfKit] Improve PdfAnnotation.QuadrilateralPoints binding by making it strongly typed. (#2620) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). (#2622) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). * [ARKit/Vision] Use the new simd vector types instead of the OpenTK versions. * [ModelIO] Use the new simd vectors in new API (MDLVoxelIndexExtent2). This way we won't have to create a MDLVoxelIndexExtent3 in the future. * [SpriteKit] Use the new simd vectors in new API. * [metal] Audit (xtro) based fixes (#2623) !extra-protocol-member! unexpected selector MTLArgumentEncoder::newArgumentEncoderForBufferAtIndex: found !extra-protocol-member! unexpected selector MTLComputeCommandEncoder::dispatchThreads:threadsPerThreadgroup: found macos-only !missing-field! MTLDeviceRemovalRequestedNotification not bound !missing-field! MTLDeviceWasAddedNotification not bound !missing-field! MTLDeviceWasRemovedNotification not bound !missing-pinvoke! MTLCopyAllDevices is not bound * [CloudKit] Update bindings to beta 6. (#2615) * [FileProvider] Turn NSFileProviderItemIdentifier enum into a static class, fixes bug 59329 (#2634) https://bugzilla.xamarin.com/show_bug.cgi?id=59329 At the time of binding NSFileProviderItemIdentifier it wasn't clear how it was supposed to be used, I mean apple provides two keys which I thought were the only possible values hence binding it as an smart enum. Unfortunately this wasn't the case and the user can use those two values provided from the SDK or their own NSString Identifier. Swift provides a wrapper unfortunately we can't do the same due to NSFileProviderItemIdentifier is used in the NSFileProviderItem protocol and we currently do not support changing signatures on them. * [mtouch] Teach mtouch about the 'IOSurface' framework for tvOS. Fixes #59333. (#2630) https://bugzilla.xamarin.com/show_bug.cgi?id=59333 * Bump Touch.Unit to get fix for API breakage. (#2631) spouliot/Touch.Unit@8f1e19d [NUnitOutputTextWriter] Reintroduce previous constructor to make sure we don't break binary ABI. spouliot/Touch.Unit@00b0c0b [NUnitOutputTextWriter] Don't write invalid xml comments. spouliot/Touch.Unit@de9fe20 [TouchRunner] Restore the original code path when not wrapping NUnit xml output. * [IOSurface] Add missing availability attributes for tvOS. (#2629) * Bump versions for preview 9 (#2624) * [AVFoundation] Add missing interface AVRouteDetector. (#2637) * [tests] Update xtro to reduce list sizes (#2636) * Skip OpenTK duplicate declaration (we can't change them); * Fix rule name change for ARKit / simd; * Add missing default initializer on `init` to pending actions; * Add note for AVPersistableContentKeyRequest changes wrt tvOS; * [ReplayKit] Make RPBroadcastActivityViewController.LoadBroadcastActivityViewController async-capable. (#2639) * [xcode9] More SceneKit bindings (#2633) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 (#2644) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 https://bugzilla.xamarin.com/show_bug.cgi?id=59380 vector_float3 is 16 bytes, which means the binding is incorrect, because Vector3 is 12 bytes, and our code does not that difference into account. * Add tests * [DeviceCheck] Disable default ctor for DCDevice. (#2642) It doesn't seem to be useful according to the documentation, since it appears that the only way to get an instance is to use the static CurrentDevice property. * [audiounit] Audit (xtro) fixes for tvOS (#2635) Availability attributes in non-generated files don't hide symbols/code. reference: !unknown-pinvoke! AudioUnitExtensionCopyComponentList bound !unknown-pinvoke! AudioUnitExtensionSetComponentList bound * [tests] Make sure tvOS tests don't use the (unexisting) API * [tests] Add all test project variations to tests-mac.sln (#2579) * [xharness] Make sure generated mac projects have different project guids. * [introspection] Change the project guid so that it doesn't match the dontlink-mac project guid. * [tests] Add all test project variations to tests-mac.sln. * [xharness] Fix else condition. * [FileProvider] Adds missing NSFileProviderPage constants, fixes bug 59297. (#2646) https://bugzilla.xamarin.com/show_bug.cgi?id=59297 Adds NSFileProviderInitialPageSortedByName and NSFileProviderInitialPageSortedByDate NSData constants * [Xcode9] Remove NSFileProviderMessage and NSFileProviderMessageInterface (#2647) APIs were removed in beta 2 * [Foundation/UIKit] Provide LoadObject[s] methods that return the expected type in the callback. Fixes #59049. (#2638) The callback for these LoadObject[s] methods take an INSItemProviderReading parameter. This tells our runtime that we must provide an instance of a managed object that implements this interface (but nothing else), so we create a `NSItemProviderReadingWrapper` instance, which complies with the API (since the wrapper type implements the corresponding interface). Unfortunately these methods are supposed to return an instance of the passed- in type, so in order to comply with this soft (documentation-only) requirement, provide a wrapper method that creates instances of the right types. https://bugzilla.xamarin.com/show_bug.cgi?id=59049 * [arkit] Ignore deprecated selectors (#2645) * [FileProvider] Adds missing protocol and keys from audit (#2652) ``` !missing-protocol! NSFileProviderServiceSource not bound !missing-field! NSFileProviderErrorCollidingItemKey not bound !missing-field! NSFileProviderErrorNonExistentItemIdentifierKey not bound !missing-field! NSFileProviderFavoriteRankUnranked not bound ``` Also adds `NSXpcListenerEndpoint` to foundation, needed by `NSFileProviderServiceSource` protocol. * [tests][xtro] Workaround xtro runner dupe entry exception and update data files (#2654) * [AVFoundation] Rename field to match others. (#2657) * [homekit] Audit (xtro) fixes (#2653) - HMCharacteristicEvent conforms to NSMutableCopying on iOS11 which makes it 64 bits only (so adjust intro tests) - Ignore extra setters on HMMutablePresenceEvent, rdar 33883958 !missing-selector! HMMutablePresenceEvent::setPresenceEventType: not bound !missing-selector! HMMutablePresenceEvent::setPresenceUserType: not bound * [xtro] Add missing pinvoke to pending (#2662) - Bug 59422: [uikit] Missing UIContentSizeCategoryCompareToCategory & UIContentSizeCategoryIsAccessibilityCategory (https://bugzilla.xamarin.com/show_bug.cgi?id=59422) * Merge latest d15-3 fixes into xcode9 (#2660) * [msbuild] Re-added wildcard (*) expandsion for application-identifier in Entitlements.plist (#2186) Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=57119 * Bump mono (#2213) * Framework tests were still binding non-linked Simple class which errors now (#2216) (#2218) - Improve Makefile to rebuild when projects build with errors * Bump mono to get cecil fix for bug #56808. (#2222) https://bugzilla.xamarin.com/show_bug.cgi?id=56808 * [msbuild] Use @(ReferencePath) instead of @(ResolvedFiles) (#2188) (#2214) This allows things to work on both xbuild and msbuild. In xbuild, both lists are exactly the same and on msbuild, only @(ReferencePath) exists. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=55147 * NSActivityOptions.IdleDisplaySleepDisabled had wrong value (#2232) (#2239) This was due to an integer overflow. The original value was based on Int32 1 << 40 == 256 The correct value should be based on a UInt64. 1UL << 40 == 1099511627776 * [tests] Fix bug 57699 - [iOS]InternalsTest failure (Linkall) tests on device (#2243) Strip native debugging symbols should not be checked for debug builds * Bump mono to get fix for bug #57780. https://bugzilla.xamarin.com/show_bug.cgi?id=57780 * Update .gitmodules Change branch to d15-3 branch of mono * Bump maccore to get fix for bug #55064. https://bugzilla.xamarin.com/show_bug.cgi?id=55064 * [mono] Bump mono to get the head of cecil/mono-2017-04 and fix IsComObject #57919 Also fix #58789 [1], the typo in tools/mtouch/Tuning.cs showing in MT0000 errors instead MT2102. That's already in master and d15-4 mono bump includes: [2] commit 2a6502cee0df9de5198eafe7c8b5f6ac25106f34 (HEAD -> d15-3, origin/d15-3) Merge: 02457c20fcf 5e05cafc6f1 Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 10:04:06 2017 -0400 Merge pull request #5401 from marek-safar/com [Marshal.IsComObject] Make this predicate return false instead of thr… [3] commit 02457c20fcf57c0610e844d638eb1da82b5d1eb0 Merge: da80840ea55 73fd9a1b82e Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 09:59:06 2017 -0400 Merge pull request #5400 from spouliot/bump-cecil-58834-d15-3 [cecil] Bump to the head of the mono-2017-04 branch and pick the fix for bug #58834 References [1] https://bugzilla.xamarin.com/show_bug.cgi?id=58789 [2] https://bugzilla.xamarin.com/show_bug.cgi?id=57919 [3] https://bugzilla.xamarin.com/show_bug.cgi?id=58834 * [mtouch] Put 'mono_profiler_startup_log' in the symbol list. Fixes #58778. (#2501) We need the 'mono_profiler_startup_log' symbol when profiling is enabled, so make sure to add the symbol to the correct list of symbols we need. Previously we were passing `-u _mono_profiler_startup_log` to clang directly, which is fine, but not complete, since it does not write the symbol to the symbollist file (--symbollist=file), which means it wouldn't be preserved when the MSBuild tasks strip the executable. https://bugzilla.xamarin.com/show_bug.cgi?id=58778 * Bump versions for SR3 https://trello.com/c/EVze08ei * Bump mono to include HttpClientHandler fix #44027 https://trello.com/c/jYFXadH8/8-systemnethttp-close-request-stream-when-httpclienthandler https://bugzilla.xamarin.com/show_bug.cgi?id=44027 * [FileProvider] Add missing API and turn NSString to string (#2663) Turned NSString to string in order to match exisiting API. * [uikit] Add UIPasteConfigurationSupporting and UITextPasteConfigurationSupporting (#2649) - Fixes bug #59363: Missing UIPasteConfigurationSupporting, UITextPasteConfigurationSupporting, UITextDraggable and UITextDroppable on a couple of types (https://bugzilla.xamarin.com/show_bug.cgi?id=59363) * [uikit] Remove 129 types in UIPasteConfigurationSupporting case * [scenekit] Audit (xtro) fixes (#2648) This looks like an Apple breaking change (since `SCNAnimation` is new) but we now have: > typedef void (^SCNAnimationEventBlock)(id<SCNAnimation> animation, id animatedObject, BOOL playingBackward); bound as > delegate void SCNAnimationEventHandler (CAAnimation animation, NSObject animatedObject, bool playingBackward); and `CAAnimation` conforms to `SCNAnimation` but *only* the later is available on watchOS. The delegate is only updated (since it's new) on our watchOS profile. xtro references: (watchos) !unknown-protocol! SCNCameraControlConfiguration bound (tvos/watchos) !missing-selector! SCNAnimation::animationEvents not bound !missing-selector! SCNAnimation::setAnimationEvents: not bound !missing-selector! SCNConstraint::isEnabled not bound !missing-selector! SCNConstraint::setEnabled: not bound !missing-field! SCNSceneSourceConvertToYUpKey not bound !missing-field! SCNSceneSourceConvertUnitsToMetersKey not bound (ios/tvos) !missing-protocol-conformance! SCNNode should conform to UIFocusItem * Bump maccore post 15.3 merge (#2665) * Bump Xcode 9 to GM (#2667) * Force build (on wrench) * [avfoundation] Fix breaking changes (apidiff) (#2664) * [TVServices] Update to Xcode 9 GM (#2675) * [GameController] Update to Xcode 9 GM (#2673) * [LocalAuthentication] Update to Xcode 9 GM (#2671) * [LocalAuthentication] Update to Xcode 9 GM * Remove availability from BiometryNotAvailable, BiometryNotEnrolled and BiometryLockout * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer (#2659) * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer Some of the new added types were already present BUT under a #if MONOMAC, they had to be moved. * [AVFoundation] Set the wrongly added API to be obsolete and ensure it returns logical values. (#2650) * [xtro] The right platform for macOS is 'macos', not 'osx'. (#2677) The platform name is used to filter availability attributes, and if we use the wrong platform, we'll incorrectly skip all availability attributes. The net result in unclassified entries: https://gist.github.com/rolfbjarne/a4474bc2a40c49a85cad495b51bb514f * Various Xcode 9 API improvements and also fixes bug 59433 (#2676) https://bugzilla.xamarin.com/show_bug.cgi?id=59433 While fixing bug 59433 I noticed some additional issues outlined below: AVDepthData: * Renamed **non** static `Create` methods because `Create` only makes sense with the **Static** method in this context. Also by renaming the methods we are now closer to the names that swift uses. * Kept descriptive method names in favor of self-documenting code. `Convert`, `Apply` and `Replace` do not fully give us the intent of the method. * Added a convenience `Create` static method that takes a `CGImageAuxiliaryDataInfo`. * AvailableDepthDataTypes is now an array of `CVPixelFormatType` instead of a `NSNumber` array (The aactual fix for bug 59433). ImageIO: * Refactored `CGImageAuxiliaryDataInfo` to be a `StrongDictionary` in order to avoid most of the manual code and also to avoid reimplementing the `ToDictionary` method (which contained a subtle bug). * Adjusted code to reflect the above change. * Added missing `.ctor (IntPtr, bool)` to `CGImageMetadata` so the class is able to be created by our `Runtime.Get*`. * Simplified `CopyAuxiliaryDataInfo` method by using `CGImageAuxiliaryDataInfo` as a `DictionaryContainer`. Tests: * Added `xamarinmonkey.heic` which is an image that contains depth data needed to test above changes. * Adds `AVDepthDataTests` that touches most of the changes listed here. * Tweak the Simd-compatible matrices and vectors (#2668) * Rename them to be OpenTK.NMatrix# (instead of Simd.MatrixFloat#x#). * Remove the Vector2 and Vector4 variants, we'll use the OpenTK types instead (but we'll keep the NVector3 variant, since it's not identical to the OpenTK version). * Update the API to match their OpenTK counterparts better: * NMatrix2 and NMatrix3 have a 0-based R#C# scheme for their fields. * NMatrix4 has a 1-based M## scheme for its fields (i.e. no change). * [AVFoundation] Use Simd-matrix for API that needs it. (#2679) This also requires implementing the corresponding matrix (NMatrix4x3). Fixes this xtro issue: > !unknown-simd-type-in-signature! OpenTK.Matrix3 AVFoundation.AVCameraCalibrationData::get_GetIntrinsicMatrix(): the native signature has a simd type (matrix_float3x3), while the corresponding managed method is using an incorrect (non-simd) type. * [xtro] Fix checking availability on categories. (#2682) When checking for category availability, check if both the current declaration is a category, and if the current's declaration container is a category. Otherwise this scenario fails: * Category method is available. * Category does not have availability attributes. * Main class is unavailable. with this typical code sequence: ```csharp // don't process methods (or types) that are unavailable for the current platform if (!decl.IsAvailable () || !(decl.DeclContext as Decl).IsAvailable ()) return; ``` In which case we'd: * First check the method (`decl`): * It's available, so no further checks is done on the method. * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container's container is a category (it isn't, it's the namespace). and as such determine that the method is available. With this change, the second step will become: * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container is a category (it is), and if its main class is available (it isn't). and as such determine that the method is unavailable. * Check for attributes on the method's container (no attributes, so we continue). * Check if the method's Unclassified diff: https://gist.github.com/rolfbjarne/8fa80962596978a426eadf9b7ba39dc1 * [uikit] Update for Xcode 9 GM (#2670) * [AVFoundation] Implement AVCapturePhoto. Partially fixes #59388. (#2678) Fixes: > common.unclassified:!missing-type! AVCapturePhoto not bound https://bugzilla.xamarin.com/show_bug.cgi?id=59388 * Use strong dictionaries for AVCapturePhoto.Metadata and AVCapturePhoto.EmbeddedThumbnailPhotoFormat. * [SIMD] Implement Simd double types (VectorDouble3/MatrixDouble4x4). (#2632) The following types will be used by ModelIO bindings * Fix delta to be double * Rename Simd-compatible matrices and vectors to match our final naming. This also means removing the new Vector2 and Vector4 variants (but not Vector3). * [avfoundation] Remove AVAssetDownloadDelegate.DidLoadTimeRange since it was removed in one of the betas (#2687) * [foundation] Move NSUrlSessionMultipathServiceType to a file processed by the generator (for the availability attributes) (#2688) * [arkit] Update for Xcode 9 GM (#2681) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes (#2690) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes Type Changed: Intents.INCarSeatResolutionResult Removed methods: public static INCarSeatResolutionResult GetConfirmationRequired (INCarSeat valueToConfirm); public static INCarSeatResolutionResult GetSuccess (INCarSeat resolvedValue); * [avfoundation] Add missing protocol members and deprecations (#2691) !missing-protocol-member! AVCapturePhotoCaptureDelegate::captureOutput:didFinishProcessingPhoto:error: not found and the selector removed from PR#2687 was actually replaced with this one !missing-protocol-member! AVAssetDownloadDelegate::URLSession:aggregateAssetDownloadTask:didLoadTimeRange:totalTimeRangesLoaded:timeRangeExpectedToLoad:forMediaSelection: not found * [tests][xtro] Map some enums, more fix with protocols and update entries (#2692) * [Tests] Reenable dns tests on the watch. (#2674) * [arkit] Add ARBlendShapeLocationOptions strong dictionary (#2696) * [coreimage] Skip not yet bound filters added in Xcode9 (#2698) Tracked in https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * [Metal] Renamed MTLArgumentDescriptor.ArgumentDescriptor to Create, fixes bug 59498 (#2702) https://bugzilla.xamarin.com/show_bug.cgi?id=59498 From [argumentDescriptor docs](https://developer.apple.com/documentation/metal/mtlargumentdescriptor/2915746-argumentdescriptor?language=objc) > Creates an empty argument descriptor. * [msbuild] Always codesign app bundles if the codesign key is non-null (#2697) ...even if it is a simulator build. Turns out that starting with Xcode9, sim builds need to be codesigned for App Groups entitlements to work properly. Interestingly, the DetectSigningIdentity logic had a comment about needing to codesign simulator builds for some entitlements to work already starting with Xcode 8 but apparently the iOS targets did not respect this. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=59379 * [Foundation] Add NSProxy stub in order to workaround bug 59247 (#2693) https://bugzilla.xamarin.com/show_bug.cgi?id=59247 We need to have a better solution that removes all what NSProxy does not responds to. Right now this works because NSObject implements NSObject protocol just like NSProxy, but NSProxy responds to far less selectors hence doing it internal so it is not a breaking change when we provide the correct fix. * Keep NSProxy around and avoid XML linker description We need to keep NSProxy (avoid linking it) if WKNavigationDelegate or IWKNavigationDelegate is used. We know WKWebView will be there and can hold a reference to it. * [Xcode 9] Update Metal for GM (#2689) * [iosurface] IOSurface is not usable before iOS/tvOS 11. Fixes #59201 (#2706) Apple rejects apps that links with the previously private IOSurface.framework. We were not sure about this [1] and had it disabled (this is removed). However another bug stopped our adjustment logic [2] from being executed. This is needed since `clang` picks up the private framework if it does not find the public one (even when asking for a weak framework), [1] https://bugzilla.xamarin.com/show_bug.cgi?id=59201 [2] Added a while ago for JavascriptCore * Bump maccore to point to commit with the docs fix. (#2703) * Bump XI to 11.0.x (and XM to 3.99.9.x) (#2684) * fix typo
2017-09-16 00:53:16 +03:00
[Watch (4,0)]
2016-04-21 15:30:02 +03:00
[Mac (10,9), iOS (8,0)]
[BaseType (typeof (NSObject))]
[DisableDefaultCtor]
interface SCNAnimationEvent {
2016-04-21 15:30:02 +03:00
[Static, Export ("animationEventWithKeyTime:block:")]
SCNAnimationEvent Create (nfloat keyTime, SCNAnimationEventHandler eventHandler);
}
[Watch (3,0)]
2016-04-21 15:30:02 +03:00
[Mac (10,9), iOS (8,0)]
[BaseType (typeof (SCNGeometry))]
partial interface SCNShape {
2016-04-21 15:30:02 +03:00
[NullAllowed] // by default this property is null
[Export ("path", ArgumentSemantic.Copy)]
NSBezierPath Path { get; set; }
[Export ("extrusionDepth")]
nfloat ExtrusionDepth { get; set; }
[Export ("chamferMode")]
SCNChamferMode ChamferMode { get; set; }
[Export ("chamferRadius")]
nfloat ChamferRadius { get; set; }
[NullAllowed] // by default this property is null
[Export ("chamferProfile", ArgumentSemantic.Copy)]
NSBezierPath ChamferProfile { get; set; }
[Static, Export ("shapeWithPath:extrusionDepth:")]
SCNShape Create (NSBezierPath path, nfloat extrusionDepth);
}
[Watch (3,0)]
2016-04-21 15:30:02 +03:00
[Mac (10,9), iOS (8,0)]
[BaseType (typeof (NSObject))]
interface SCNMorpher : SCNAnimatable, NSSecureCoding {
[NullAllowed] // by default this property is null
[Export ("targets", ArgumentSemantic.Copy)]
SCNGeometry [] Targets { get; set; }
[Export ("calculationMode")]
SCNMorpherCalculationMode CalculationMode { get; set; }
[Watch (4,0), TV (11,0), Mac (10,13), iOS (11,0)]
[Export ("weights", ArgumentSemantic.Retain)]
NSNumber [] Weights { get; set; }
[Watch (4,0), TV (11,0), Mac (10,13), iOS (11,0)]
[Export ("unifiesNormals")]
bool UnifiesNormals { get; set; }
2016-04-21 15:30:02 +03:00
[Export ("setWeight:forTargetAtIndex:")]
void SetWeight (nfloat weight, nuint targetIndex);
[Watch (4,0), TV (11,0), Mac (10,13), iOS (11,0)]
[Export ("setWeight:forTargetNamed:")]
void SetWeight (nfloat weight, string targetName);
2016-04-21 15:30:02 +03:00
[Export ("weightForTargetAtIndex:")]
nfloat GetWeight (nuint targetIndex);
[Watch (4,0), TV (11,0), Mac (10,13), iOS (11,0)]
[Export ("weightForTargetNamed:")]
nfloat GetWeight (string targetName);
2016-04-21 15:30:02 +03:00
}
[Watch (3,0)]
2016-04-21 15:30:02 +03:00
[Mac (10,9), iOS (8,0)]
[BaseType (typeof (NSObject))]
[DisableDefaultCtor]
interface SCNSkinner : NSSecureCoding {
[Export ("skeleton", ArgumentSemantic.Retain)]
SCNNode Skeleton { get; set; }
[Export ("baseGeometry", ArgumentSemantic.Retain)]
SCNGeometry BaseGeometry { get; set; }
[Mac (10,10)]
[Export ("baseGeometryBindTransform")]
SCNMatrix4 BaseGeometryBindTransform { get; set; }
[Mac (10,10)]
[Internal, Export ("boneInverseBindTransforms")]
NSArray _BoneInverseBindTransforms { get; }
[Mac (10,10)]
[Export ("bones")]
SCNNode [] Bones { get; }
[Mac (10,10)]
[Export ("boneWeights")]
SCNGeometrySource BoneWeights { get; }
[Mac (10,10)]
[Export ("boneIndices")]
SCNGeometrySource BoneIndices { get; }
[Mac (10,10)]
[Static, Internal, Export ("skinnerWithBaseGeometry:bones:boneInverseBindTransforms:boneWeights:boneIndices:")]
SCNSkinner _Create (SCNGeometry baseGeometry, SCNNode [] bones, NSArray boneInverseBindTransforms,
SCNGeometrySource boneWeights, SCNGeometrySource boneIndices);
}
[Watch (3,0)]
2016-04-21 15:30:02 +03:00
[Mac (10,9), iOS (8,0)]
[BaseType (typeof (NSObject))]
[Abstract]
[DisableDefaultCtor]
interface SCNConstraint : SCNAnimatable, NSCopying, NSSecureCoding {
[Mac (10,10)]
[Export ("influenceFactor")]
nfloat InfluenceFactor { get; set; }
Merge xcode9 into d15-4[-xi] (#2710) * [FileProvider] Add Xcode 9 Beta 1, 2 & 3 Bindings (#2279) * [FileProvider] Add Xcode 9 Beta 1 Bindings * Better naming * Feedback not related to BindAs * [FileProvider] Removes BindAs, add manual code for it and updated to Beta 3 * [FileProvider] Implement feedback * [CoreSpotlight] Updated spotlight bindings for xcode 9 beta 3. (#2193) Updated spotlight bindings for xcode 9 beta 3. * Fix warning caused by duplicate (#2354) * [FileProviderUI] Add Xcode 9 Beta 1 to 3 bindings (#2356) * Bump to Xcode 9 beta 4 * [arkit] ARLightEstimate does not conform to NSCopying anymore (fix unit test) * [uikit] NSFileProviderExtension.ReparentItem got a new parameter in beta4 (fix unit test) * [coreimage] CIImageAccumulator init returns nil in beta 4 There's no header change to mention `init` is not allowed but it's not clear how this default initializer could be used. Also make public some other API to construct this type (outside of XM). It's not clear why there were `internal` as they are (at least now) part of the header files. * [photos] Add helpers when PHLivePhotoEditingOption/NSDictionary is null (to avoid ambiguous API) (#2360) Adding a strongly typed `PHLivePhotoEditingOption` (a strongly typed version of an `NSDictionary`) can cause a `CS0121` (call is ambiguous) since using a `null` argument is common (only one option exist so far). This PR adds overloads that makes the code nicer in such case, e.g. before Xcode9: > // null is used when no options are given > _foo.SaveLivePhoto (output, null, completion); current (Xcode 9) > // casting required to remove ambiguity with PHLivePhotoEditingOption > _foo.SaveLivePhoto (output, (NSDictionary)null, completion); with this PR > // no option, no argument > _foo.SaveLivePhoto (output, completion); The same applies to `PrepareLivePhotoForPlayback`. * [tests] Disable/tweak two tests that breaks on (almost) all Xcode updates Those tests were not added to validate xOS so just keep the parts that helps us (without constantly checking back the new break flavor) * Disable watchOS to check if this hides others issues * [mapkit] Update for beta 4 * [coredata] Update for beta 4 * [wkwebkit] Update for beta 4 Note: WKWindowFeatures.h is not compiled (part of the framework umbrella) and the `@interface WKWindowFeatures (WKPrivate)` sounds like it should not have been exposed (it's all fields starting with `_`) * [corelocation] Update for beta 4 * Revert "Disable watchOS to check if this hides others issues" This reverts commit fed2249fa43290a1956ab2fe0d48f83ab6db9711. * [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]: https://github.com/xamarin/xamarin-macios/blob/f5956d6cc1eb5dfa7bab16628cf282d40237f64e/src/generator.cs#L5985 * [FinderSync] Update to beta 4 (#2377) * [ImageIO] Update to Xcode 9 (#2353) * [PhotosUI] Move macOS photosui bindings out of photos.cs into photosui.cs (#2358) * [quicklook] Update up to beta 4 (#2374) * [uikit] UIDragInteraction & UIDragInteractionDelegate (Xcode 9 b1,2,3) (#2357) * [safariservices] Update up to beta 4 (#2380) * [coreanimation] Update to beta 4 (#2382) Apple removed (mistake?) some API in beta 1. Filed as rdar 33590997 Internal tracking in https://trello.com/c/J8BDDUV9/86-33590997-coreanimation-quartzcore-api-removals * [storekit] Update up to beta 4 (#2379) * [CoreML] Update to Xcode 9 Beta 4 (#2387) * [uikit] UICollectionView/UITableView Drag & Drop (Xcode 9 b1,2,3 & 4) (#2355) * Update code after radar 32929318 and 32897776 are fixed in b4 (#2394) * [xcode9 CoreAudio] New definitions from Beta1 to Beta3 (#2359) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 (#2397) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 https://bugzilla.xamarin.com/show_bug.cgi?id=58512 Created strong API (VNBarcodeSymbology) on the following properties * VNDetectBarcodesRequest.SupportedSymbologies * VNDetectBarcodesRequest.Symbologies * VNBarcodeObservation.Symbology * Remove modern C# because classic can't do it 😡 * [mediaplayer] Update up to beta 4 (#2388) * [watchkit] Update to beta 4 (#2398) * Bump Visual Studio for Mac max version (#2408) * [coreimage] Add CIBarcodeDescriptor and enabled missing API for VNBarcodeObservation. Fix #58197 (#2411) https://bugzilla.xamarin.com/show_bug.cgi?id=58197 * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 (#2407) * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 * [uikit] Fixes based on comments * [coreimage] CIImageAccumulator API fixes. Fix #58349 (#2412) * Obsolete the default `init`; * XM exposed some older APIs using `int` instead of `CIFormat`. This is fixed and old APIs are obsoleted; * Both new & old APIs are now using `CIFormat` for both XI and XM. https://bugzilla.xamarin.com/show_bug.cgi?id=58349 * [uikit] UIText drag & drop - up to Xcode 9 beta 4 (#2410) * [uikit] UISplitView & UIStackView up to Xcode 9 beta 4 (#2425) * Bump XI/XM versions before preview 4 (#2422) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 (#2378) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 * [PDFKit] Implement feedback * [PDFKit] the forgotten enum * [PDFKit] More feedback * [PDFKit] Add Mac changes * Missing change * Fix test RectangleF VS CGRect * Pass -Wunguarded-availability-new to quiet a new clang warning (#2424) - https://bugzilla.xamarin.com/show_bug.cgi?id=58574 * [mtouch/mmp] Ignore warnings about unguarded code section with regards to availability. (#2441) * [monotouch-test] Remove workaround for fixed Apple bug. (#2445) * Bump to Xcode 9 beta 5. (#2447) * Bump to Xcode 9 beta 5. * [mmp] Disable the partial static registrar, because Apple's macOS SDK is broken. > In file included from Xamarin.Mac.registrar.mobile.i386.m:1: > In file included from ./Xamarin.Mac.registrar.mobile.i386.h:11: > /Applications/Xcode9-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVFoundation.h:88:9: fatal error: 'AVFoundation/AVRouteDetector.h' file not found https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [mmp] Fix partial static registrar removal. * [CallKit] Update to Xcode 9 beta 5. * [ARKit] ARPointCloud doesn't conform to NSCopying anymore in Xcode 9 beta 5. * [ARKit] Update to Xcode 9 beta 5 enough to make tests happy. * [CoreImage] Stub out new filters in Xcode 9 beta 5. * [tests][monotouch] Simplify some MDLMesh asserts since values change a lot between OS versions. * [mmp] Default to the dynamic registrar for release builds again, due to bug #58629. https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [tests][introspection] CXCall started implementing NSCopying without saying so in the headers. * Disable mmp static registrar tests due to 58629 for now * [quicklook] Update to beta 5 (#2450) * [photos] Update for beta 5 (#2452) Also update some existing enum members were added in beta 1 on macOS * [safariservices] Update for beta 5 (#2455) * [mediaplayer] Update to beta 5 (#2456) * [CoreLocation] Update Xcode 9 Beta 5 (#2453) * [CoreML] Update to Xcode 9 Beta 5 (#2454) * [Contacts] Update to Xcode 9 Beta 5 (#2451) * [Vision] Update to Xcode 9 Beta 5 (#2458) * [builds] Tell LLVM to stay away from newer macOS functions. (#2459) Fixes this build problem on Sierra: > ld: weak import of symbol '_futimens' not supported because of option: -no_weak_imports for architecture x86_64 This is a symbol that was (will be?) introduced in High Sierra. Interestingly this only occurs if the Xcode 8.X Command Line Tools haven't been manually installed. Because if the Xcode 8.X Command Line Tools are installed, this happens: 1. llvm's configure script detects that 'futimens' is not usable. 2. llvm's configure script detects that 'futimens' is not usable, because xcrun sets SDKROOT=/ when calling clang. a. When the SDKROOT variable is set, clang passes '-syslibroot /usr/lib' to ld. b. When ld gets '-syslibroot /usr/lib', ld looks in '/usr/lib' for a library that contains 'futimens' in the OS itself, and since we're on Sierra, that fails to link. c. So when llvm's configure script creates a test program that checks if 'futimens' is present, the program fails. This is correct, and makes llvm *not* use futimens. 3. xcrun sets SDKROOT=/ because /usr/share/current-os.sdk/Info.plist exists. If that file does not exist, then xcrun sets SDKROOT to Xcode9's macOS SDK (because that's what xcode-select reports). a. When SDKROOT is set to Xcode9's macOS SDK, the configure check for 'futimens' succeeds, because the macOS 10.13 SDK contains that function. b. llvm happily uses 'futimens', and then the final link fails because we're using a symbol not available on all target platforms. * [arkit] Update for Xcode 9 beta 5 - Part 1 (#2460) * [tests] The container app for watchOS tests should be 64-bit. (#2463) * [xharness] watchOS tests need to run in a clean environment. Works around #58348. (#2462) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [xharness] It watchOS tests don't need to be clean anymore. Fixes #58348. (#2473) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [uikit] UIView/UIScrollView/UIViewController up to Xcode 9 beta 5 (#2431) - Add NSDirectionalEdgeInsets type. - Includes DirectionalEdgeInsetsTest. * [AudioToolbox] Update bindings to Xcode 9 beta3 (not later changes). (#2294) * [xharness] Add a file existence check. (#2478) Fixes this exception: ``` Harness exception for 'introspection': System.IO.FileNotFoundException: Could not find file '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log'. File name: '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log' at System.IO.__Error.WinIOError (System.Int32 errorCode, System.String maybeFullPath) [0x00207] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/__error.cs:188 at System.IO.FileInfo.get_Length () [0x00038] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/fileinfo.cs:171 at xharness.CaptureLog.StopCapture () [0x00021] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Log.cs:252 at (wrapper remoting-invoke-with-check) xharness.CaptureLog:StopCapture () at xharness.AppRunner+<RunAsync>d__68.MoveNext () [0x0127f] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/AppRunner.cs:642 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter`1[TResult].GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:357 at xharness.RunSimulatorTask+<RunTestAsync>d__7.MoveNext () [0x0029d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2894 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.RunTestTask+<ExecuteAsync>d__8.MoveNext () [0x0010b] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2538 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.TestTask+<RunInternalAsync>d__87.MoveNext () [0x0010d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:1870 ``` I'm not sure how this can happen, but it has on the bots [1]. [1] https://jenkins.mono-project.com/job/xamarin-macios-pr-builder/4548/Test_Report/ * Bump versions for preview 5 (#2479) * [passkit] Update to beta 5 (#2481) * [tests] Remove workaround for radar #32688391. (#2486) * [replaykit] Update up to beta 5 (#2484) * Bump maccore to get fix for bug #55064. (#2487) * [apidiff] Update definition to new 10.12 (d15-3) stable release (#2490) * [SceneKit] basic work (#2483) * [coredata] Update to beta 5 (#2488) * [homekit] Update for Xcode 9 beta 5 (#2492) * [Foundation] Update for xcode9 (#2468) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 (#2493) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 * [Intents] Implement feedback * [Intents] Add a generic version for INInteraction.GetParameterValue * [Intents] Missing check * [Contacts] Add missing foundation NSItemProviderWriting protocol to CNContact (#2496) https://bugzilla.xamarin.com/show_bug.cgi?id=58203 This is available on all Contacts supported platforms ``` ./iPhoneOS.platform/Developer/SDKs/iPhoneOS11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchOS.platform/Developer/SDKs/WatchOS4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchSimulator.platform/Developer/SDKs/WatchSimulator4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ``` * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) (#2497) * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) * [IntentsUI] Better use a delegate instead so we have named params * Bump versions before 6th preview (#2514) * [arkit] Add missing MarshalDirective to ARPlaneAnchor (#2517) - Fixes bug #58648: ARPlaneAnchor.Extent property seems incorrect but changes to correct value after Debug access (https://bugzilla.xamarin.com/show_bug.cgi?id=58648) * [xtro-sharpie] Fix a compiler warning. (#2516) Fixes these warnings: Runner.cs(197,5): warning CS0642: Possible mistaken empty statement Runner.cs(199,5): warning CS0642: Possible mistaken empty statement Runner.cs(201,5): warning CS0642: Possible mistaken empty statement Runner.cs(203,5): warning CS0642: Possible mistaken empty statement Runner.cs(205,5): warning CS0642: Possible mistaken empty statement * [uikit] Update for Xcode 9 beta 5 - Part 3 (#2511) - UIKeyCommand - UINavigationBar - UINavigationItem - UIPasteboard - UITableViewHeaderFooterView * [xtro-sharpie] Remove xtro-plugin and misc other fixes. (#2522) * [xtro-sharpie] Build with msbuild and be as quiet as requested when building. * [xtro-sharpie] Must run as a 64-bit process, since the required native libraries are 64-bit. * [xtro-sharpie] Add run configurations to the project file to ease debugging in the IDE. * [xtro-sharpie] Remove xtro-plugin and the related commands. This was needed when there wasn't a 64-bit mono, in order to run xtro-sharpie in a 64-bit process. Now there is a 64-bit mono, so it's not needed anymore. Also improve makefile targets a bit, to auto-build stuff when needed, by setting the right dependencies. * Bump Xcode 9 to beta 6 (#2519) Disable watchOS tests again It seems like the Carousel crash from beta 4 is back to haunt us. This was working fine with beta 5. * Backport d15-3 SR2 fixes (#2515) * [coredata] Update to beta 6 (#2528) This seems to only revert some nullability changes from beta 5. * [coreml] Update to beta 6 (#2531) Fix our rdar 33643011 where additional setters were added in the headers but did not exists. * [videosubscriberaccount] Update to beta 6 (#2533) Only b1 and b2 introduced some additions/changes * [uikit] Update for Xcode 9 beta 6 - Part 4 (#2527) The following headers are now up to date: - UICollectionViewFlowLayout.h - UIDocumentPickerViewController.h - UIFontDescriptor.h - UIImage.h - UIImageView.h - UIImagePickerController.h * [xharness] Re-enable the watchOS tests. (#2534) It works fine for me locally, so let's see what Jenkins says. * [macos] Add new APIs in CoreWlan from Xcode9b3 (#2525) * Update AppKit bindings based on radar 33271241 results (#2518) * Update AppKit bindings based on radar 33271241 results - The header comment was updated to note it was NSSliderTouchBarItem view that has the protocol * Remove NSUserInterfaceCompression where not listed in header * [vision] Update to beta 6 (#2532) Removal of some deprecated (during beta) `init*` selectors. Also sync the versions that were inlined in subclasses - the old ones were not removed and the new ones were not added. * [xtro-sharpie] Many methods don't have selectors in Clang's API, so default to the name if no selector. (#2523) This makes a few more unclassified entries show up (mostly missing designated initializers): https://gist.github.com/rolfbjarne/07aa20f9b50b75bf3e69ac6a825e873a * [macos] Add ExternalAccessory APIs from xcode9 (#2526) * [58851] Disable NSMenuView in AllItemsWithNSMenuShouldAllowNull (#2504) * [arkit] Update for Xcode 9 beta 5 - Part 2 (#2505) - Add last missing selector. - Add tests for manual code. * [monotouch-test] Disable FontDescriptorTest.WithFeature (#2537) Disabled because it looks like the tvOS font we use: "Gujarati Sangam MN" does not have rare ligatures anymore (and the entire test is based on it). Before getting an actual fix for that, let's disable the test so it doesn't break all current builds. See: https://bugzilla.xamarin.com/show_bug.cgi?id=58929 * [xtro-sharpie] Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute. (#2524) Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute to calculate the native name for a TypeDefinition. Unclassified changes: https://gist.github.com/rolfbjarne/828f8ee41eebb0a3b60a38d71822fe59 * [foundation/uikit] Inline NSItemProvider_UIKitAdditions in NSItemProvider (#2538) As suggested here: https://github.com/xamarin/xamarin-macios/pull/2527#discussion_r134670981 * [intents] Fix breaking changes (api-diff) (#2543) Additions of @required members inside `INSpeakable` cannot be `[Abstract]` * [contacts] Fix breaking change (api-diff) (#2542) Type Changed: Contacts.CNPostalAddress Removed method: public static string LocalizeProperty (CNPostalAddressKeyOption option); * [macos] Reenable static registrar since Xcode9b6 un-broke SDK headers (#2544) - Fix a subtle spacing issues in PartialStaticLibrary property * [corebluetooth] Update up to beta 6 and enable it on watchOS (#2540) macOS 10.13 has finally catch up with iOS and this simplifies the bindings a bit. * [foundation] API fixes (apidiff) (#2545) 1. Let's not add new, already [Obsolete] API Type Changed: Foundation.NSDimension Added constructors: [Obsolete ("Not intended to be directly instantiated, this is an abstract class.")] public NSDimension (); 2. Fix inconsistently named API, e.g. Type Changed: Foundation.NSAttributedString Added properties: public static string[] ReadableTypeIdentifiersForItemProvider { get; } public static string[] WritableTypeIdentifiers { get; } * [pdfkit] Do not add already [Obsolete] API in new profiles (#2547) and ensure using the newer, correct API works cross-platforms iOS (before) [Obsolete ("Use 'Find (string, NSStringCompareOptions)' instead.")] public virtual PdfSelection[] Find (string text, nint options); public PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'Find (string, PdfSelection, NSStringCompareOptions)' instead.")] public virtual PdfSelection Find (string text, PdfSelection selection, nint options); public void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string, NSStringCompareOptions)' instead.")] public virtual void FindAsync (string text, nint options); public void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string [], NSStringCompareOptions)' instead.")] public virtual void FindAsync (string[] text, nint options); iOS (after) public virtual PdfSelection[] Find (string text, Foundation.NSStringCompareOptions compareOptions); public virtual PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); * Bump versions for the 7th preview (#2541) * Remove additions of AVKit removed in beta5 (#2536) * NSUrlSessionTask should implement NSProgressReporting for iOS (#2548) NSUrlSessionTask implements NSProgressReporting on iOS as well as Mac, so the #if MONOMAC isn't needed. * Add missing availability attributes causing failures on older iOS versions (#2550) * [vision] Minor fix wrt xtro (#2551) including some things we need to ignore manually !missing-field! VNVisionVersionNumber not bound !missing-pinvoke! VNImagePointForFaceLandmarkPoint is not bound !missing-pinvoke! VNNormalizedFaceBoundingBoxPointForLandmarkPoint is not bound * [uikit] NSFileProviderMessaging was removed in beta 2. Fixes #58222 (#2552) reference: https://bugzilla.xamarin.com/show_bug.cgi?id=58222 * [uikit] Update for Xcode 9 - Part 5 (#2546) Bindings for the following headers: - UIActivity.h - UIActivityItemProvider.h - UIAlertController.h - UIApplication.h - UIBarButtonItem.h - UIButton.h - UICollectionViewLayout.h - UIColor.h - UIControl.h - UIDocumentMenuViewController.h - UIFontMetrics.h - UIGestureRecognizer.h - UIGraphicsImageRenderer.h - UIInputViewController.h * [CoreText] Fix an extraneous free in CTFont.GetDefaultCascadeList. (#2555) We do not own the return value from CFArrayGetValueAtIndex, so don't say we do when creating CTFontDescriptor instances, since that leads to angry dragons: 2017-08-28 20:15:20.293 monotouchtest[33186:2311738] A_FontTest 2017-08-28 20:15:20.294 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithFontDescriptorAndOptions 2017-08-28 20:15:20.295 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithNameAndOptions 2017-08-28 20:15:20.296 monotouchtest[33186:2311738] critical: Stacktrace: at <unknown> <0xffffffff> at (wrapper managed-to-native) CoreText.CTFont.CTFontCopyDefaultCascadeListForLanguages (intptr,intptr) [0x0000a] in <ae65a2b1eea242d2b68fe784749543bf>:0 at CoreText.CTFont.GetDefaultCascadeList (string[]) [0x00013] in /work/maccore/xcode9/xamarin-macios/src/CoreText/CTFont.cs:2185 at MonoTouchFixtures.CoreText.A_FontTest.GetCascadeList () [0x0001e] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/CoreText/FontTest.cs:78 at (wrapper runtime-invoke) object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) [0x0004f] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) System.Reflection.MonoMethod.InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&) [0x00016] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at System.Reflection.MonoMethod.Invoke (object,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo) [0x00032] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/corlib/System.Reflection/MonoMethod.cs:305 at System.Reflection.MethodBase.Invoke (object,object[]) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/referencesource/mscorlib/system/reflection/methodbase.cs:229 at NUnit.Framework.Internal.Reflect.InvokeMethod (System.Reflection.MethodInfo,object,object[]) [0x00009] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Reflect.cs:215 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunNonAsyncTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x00025] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:116 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x0001a] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:90 at NUnit.Framework.Internal.Commands.TestMethodCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:66 at NUnit.Framework.Internal.Commands.SetUpTearDownCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00007] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/SetUpTearDownCommand.cs:84 at NUnit.Framework.Internal.WorkItems.SimpleWorkItem.PerformWork () [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/SimpleWorkItem.cs:64 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at MonoTouch.NUnit.UI.BaseTouchRunner.Run (NUnit.Framework.Internal.Test) [0x0004d] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:442 at MonoTouch.NUnit.UI.BaseTouchRunner.Run () [0x00030] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:171 at MonoTouch.Dialog.StringElement.Selected (MonoTouch.Dialog.DialogViewController,UIKit.UITableView,Foundation.NSIndexPath) [0x00008] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/Elements.cs:765 at MonoTouch.Dialog.DialogViewController.Selected (Foundation.NSIndexPath) [0x00026] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:577 at MonoTouch.Dialog.DialogViewController/Source.RowSelected (UIKit.UITableView,Foundation.NSIndexPath) [0x00016] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:402 at (wrapper runtime-invoke) <Module>.runtime_invoke_void__this___object_object (object,intptr,intptr,intptr) [0x0005d] in <32f0c196c5bc4aa18daea2ee64a7814e>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) UIKit.UIApplication.UIApplicationMain (int,string[],intptr,intptr) [0x0005c] in <ae65a2b1eea242d2b68fe784749543bf>:0 at UIKit.UIApplication.Main (string[],intptr,intptr) [0x00005] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:79 at UIKit.UIApplication.Main (string[],string,string) [0x00038] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:63 at monotouchtest.Application.Main (string[]) [0x00011] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/Main.cs:27 at (wrapper runtime-invoke) <Module>.runtime_invoke_void_object (object,intptr,intptr,intptr) [0x00051] in <30a7f7e09de9467b8b454221034a0e38>:0 Native stacktrace: 0 monotouchtest 0x000000010fca03c4 mono_handle_native_crash + 244 1 monotouchtest 0x000000010fcadd30 mono_sigsegv_signal_handler + 288 2 libsystem_platform.dylib 0x000000011feb3b3a _sigtramp + 26 3 CoreFoundation 0x000000011de035a2 computeSanitizedString + 146 4 CoreText 0x00000001168df314 _ZN15TPurgeableCache19RetainedValueForKeyEPKv + 54 5 CoreText 0x00000001168def85 _ZNK17TDescriptorSource22CopyDescriptorUncachedEPK7__CFURLbPK10__CFString + 55 6 CoreText 0x00000001168df34f _ZNK17TDescriptorSource14CopyDescriptorEPK7__CFURLbPK10__CFString + 27 7 CoreText 0x00000001168e20ad _ZNK17TDescriptorSource35CopyFontDescriptorPerPostScriptNameEPK10__CFStringmm + 297 8 CoreText 0x00000001168dfd9e _ZNK17TDescriptorSource30CopySystemFontDescriptorByNameEPK10__CFString10UIFontFlag + 54 9 CoreText 0x00000001168e54c4 _ZNK14TFontFallbacks17CopyFontFallbacksEPK10__CFStringS2_PK9__CFArray + 652 10 CoreText 0x00000001168e4a00 _ZNK14TFontFallbacks29CopyFontFallbacksForLanguagesEPK10__CFStringPK9__CFArray + 122 11 CoreText 0x00000001168e4971 _ZN17TDescriptorSource39CopyDefaultSubstitutionListForLanguagesEPK10__CFStringPK9__CFArray + 61 12 CoreText 0x00000001169397a7 _ZNK9TBaseFont28CreateSystemDefaultFallbacksEPK10__CFStringPK9__CFArray + 51 13 CoreText 0x000000011693999c _ZNK9TBaseFont15CreateFallbacksE10UIFontFlagPPK16__CFCharacterSetPK9__CFArray + 346 14 CoreText 0x00000001168c1036 _ZNK5TFont24CreateDefaultCascadeListEPK9__CFArray + 242 15 CoreText 0x00000001168b8ff9 CTFontCopyDefaultCascadeListForLanguages + 97 16 ??? 0x0000000140eaefd3 0x0 + 5384105939 17 ??? 0x0000000140eae761 0x0 + 5384103777 18 ??? 0x000000013c9c8e74 0x0 + 5311860340 19 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 20 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 21 monotouchtest 0x000000010fd71bac mono_runtime_try_invoke_array + 1292 22 monotouchtest 0x000000010fd15587 ves_icall_InternalInvoke + 647 23 ??? 0x000000013e9fcd13 0x0 + 5345627411 24 ??? 0x000000013e9fc738 0x0 + 5345625912 25 ??? 0x000000013e9fded5 0x0 + 5345631957 26 ??? 0x000000013e9fbb76 0x0 + 5345622902 27 ??? 0x000000013e9e237e 0x0 + 5345518462 28 ??? 0x000000013e9e237e 0x0 + 5345518462 29 ??? 0x000000013e9e237e 0x0 + 5345518462 30 ??? 0x000000013e9e237e 0x0 + 5345518462 31 ??? 0x000000013e873006 0x0 + 5344014342 32 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 33 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 34 monotouchtest 0x000000010fd6e320 mono_runtime_invoke + 208 35 monotouchtest 0x000000010fe71af1 xamarin_invoke_trampoline + 5617 36 monotouchtest 0x000000010fe79ddd xamarin_arch_trampoline + 189 37 monotouchtest 0x000000010fe7b1a1 xamarin_x86_64_common_trampoline + 110 38 UIKit 0x0000000111b9876b -[UITableView _selectRowAtIndexPath:animated:scrollPosition:notifyDelegate:] + 1810 39 UIKit 0x0000000111b98986 -[UITableView _userSelectRowAtPendingSelectionIndexPath:] + 344 40 UIKit 0x0000000111a6b5c9 _runAfterCACommitDeferredBlocks + 318 41 UIKit 0x0000000111a59dad _cleanUpAfterCAFlushAndRunDeferredBlocks + 280 42 UIKit 0x0000000111a89f68 _afterCACommitHandler + 137 43 CoreFoundation 0x000000011de3ddb7 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23 44 CoreFoundation 0x000000011de3dd0e __CFRunLoopDoObservers + 430 45 CoreFoundation 0x000000011de22324 __CFRunLoopRun + 1572 46 CoreFoundation 0x000000011de21a89 CFRunLoopRunSpecific + 409 47 GraphicsServices 0x0000000121b7e9c6 GSEventRunModal + 62 48 UIKit 0x0000000111a5f7d0 UIApplicationMain + 159 49 ??? 0x000000013c9c4474 0x0 + 5311841396 50 ??? 0x000000013c9c40ad 0x0 + 5311840429 ================================================================= Got a SIGSEGV while executing native code. This usually indicates a fatal error in the mono runtime or one of the native libraries used by your application. ================================================================= * [monotouch-test] Don't subclass MKMapView. (#2556) MKMapView doesn't like being subclassed (Apple says "you should not subclass the MKMapView class itself"). Bad things like this starts happening: Thread 0 name: tid_303 Dispatch queue: com.apple.main-thread Thread 0 Crashed: 0 libsystem_kernel.dylib 0x0000000186b25348 __pthread_kill + 8 1 libsystem_pthread.dylib 0x0000000186c39354 pthread_kill$VARIANT$mp + 396 2 libsystem_c.dylib 0x0000000186a94fd8 abort + 140 3 monotouchtest 0x0000000101c02c14 mono_handle_native_crash + 22047764 (mini-exceptions.c:2548) 4 monotouchtest 0x0000000101c0d02c mono_sigsegv_signal_handler + 22089772 (mini-runtime.c:2886) 5 libsystem_platform.dylib 0x0000000186c33b60 _sigtramp + 52 6 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 7 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 8 CoreFoundation 0x0000000186eda51c -[__NSArrayM dealloc] + 68 9 CoreFoundation 0x000000018703f5c8 __CFBasicHashDrain + 312 10 CoreFoundation 0x0000000186fb5b44 _CFRelease + 224 11 CoreText 0x000000018a808404 TDescriptorSource::PurgeFontFallbacksCache+ 488452 () + 92 12 CoreText 0x000000018a808374 TDescriptorSource::PurgeFromCaches+ 488308 (__CFURL const*) const + 176 13 CoreText 0x000000018a7eec74 CTFontRemoveFromCaches + 168 14 VectorKit 0x0000000196a539b0 +[VKSharedResourcesManager removeResourceUser:] + 324 15 VectorKit 0x0000000196ca27a4 md::MapEngine::~MapEngine+ 2643876 () + 360 16 VectorKit 0x0000000196ca2634 md::MapEngine::~MapEngine+ 2643508 () + 12 17 libobjc.A.dylib 0x000000018651eef4 object_cxxDestructFromClass+ 28404 (objc_object*, objc_class*) + 148 18 libobjc.A.dylib 0x000000018652c638 objc_destructInstance + 88 19 libobjc.A.dylib 0x000000018652c690 object_dispose + 16 20 QuartzCore 0x000000018afca3ac -[CALayer dealloc] + 116 21 VectorKit 0x0000000196a43294 -[VKMapView dealloc] + 940 22 QuartzCore 0x000000018af6aafc CA::release_objects+ 744188 (X::List<void const*>*) + 32 23 QuartzCore 0x000000018afd97d8 CA::Layer::~Layer+ 1198040 () + 276 24 QuartzCore 0x000000018afca37c -[CALayer dealloc] + 68 25 QuartzCore 0x000000018af6b16c CA::Transaction::commit+ 745836 () + 1052 26 UIKit 0x0000000190393290 _afterCACommitHandler + 256 27 CoreFoundation 0x0000000186fb38b8 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 32 28 CoreFoundation 0x0000000186fb1270 __CFRunLoopDoObservers + 412 29 CoreFoundation 0x0000000186fb182c __CFRunLoopRun + 1292 30 CoreFoundation 0x0000000186ed22d8 CFRunLoopRunSpecific + 436 31 GraphicsServices 0x0000000188d58f84 GSEventRunModal + 100 32 UIKit 0x000000019040427c UIApplicationMain + 208 33 monotouchtest 0x000000010106eb90 wrapper_managed_to_native_UIKit_UIApplication_UIApplicationMain_int_string___intptr_intptr + 9907088 (/<unknown>:1) 34 monotouchtest 0x0000000100f0d6ac UIKit_UIApplication_Main_string___intptr_intptr + 8459948 (UIApplication.cs:79) 35 monotouchtest 0x0000000100f0d66c UIKit_UIApplication_Main_string___string_string + 8459884 (UIApplication.cs:63) 36 monotouchtest 0x0000000100b10450 monotouchtest_Application_Main_string__ + 4277328 (Main.cs:27) 37 monotouchtest 0x0000000100e0c244 wrapper_runtime_invoke_object_runtime_invoke_dynamic_intptr_intptr_intptr_intptr + 244 38 monotouchtest 0x0000000101c10048 mono_jit_runtime_invoke + 22102088 (mini-runtime.c:2526) 39 monotouchtest 0x0000000101c75eec do_runtime_invoke + 22519532 (object.c:2829) 40 monotouchtest 0x0000000101c78a3c do_exec_main_checked + 22530620 (object.c:4623) 41 monotouchtest 0x0000000101bf9a1c mono_jit_exec + 22010396 (driver.g.c:1040) 42 monotouchtest 0x0000000101d13d60 xamarin_main + 23166304 (monotouch-main.m:482) 43 monotouchtest 0x00000001007de710 main + 927504 (main.m:67) 44 libdyld.dylib 0x00000001869f656c start + 4 * [introspection] Let SkipDueToAttributeInProperty skip setters too (#2557) `SkipDueToAttributeInProperty` which is used to check the availability attribute of properties when the Availability info only exist on the property and not on the property Getter or Setter was wrong. This lead to `setSpringLoaded` (which was introduced in iOS 11) to not be ignored by the test (making it fail). - Fix bug #59085: [introspection-ios] selector not found for UIKit.UIBarButtonItem : setSpringLoaded: - Broken test (https://bugzilla.xamarin.com/show_bug.cgi?id=59085) * [corevideo][watchos] Enable CoreVideo on watchOS (#2553) * [storekit] Fix CampaignToken typo (#2559) (#2560) - Fixes bug #59078: StoreProductParameters and invalid property for CampaignToken (https://bugzilla.xamarin.com/show_bug.cgi?id=59078) * [coreml][watchos] Enable API using CoreVideo on watchOS. Fix #58097 (#2561) https://bugzilla.xamarin.com/show_bug.cgi?id=58097 * Add missing [MarshalDirective] attributes. (#2558) * [bindings-generator] Improve build & project file. * Add missing [MarshalDirective] attributes. Add missing [MarshalDirective] attributes, which also requires implementing support for out parameters in the binding generator, since one of the signatures missing the [MarshalDirective] contains such an out parameter. Also add tests for all the API I've added [MarshalDirective] to. * [bindings-generator] Remove redundant if check. * [monotouch-test] Rename file to end with 'Test.cs'. * [tests] Fix a few build errors for Xamarin.Mac. * [uikit] Fix UIColor and UIInputViewController tvOS availability (#2569) - Fixes introspection tests on tvOS 10. * [storekit] Fix SKCloudServiceSetupMessageIdentifier and SKProductStorePromotionController tvOS availability (#2568) - Fixes introspection tests on tvOS 10. * [mapkit] Fix MKMapItemTypeIdentifier tvOS availability (#2566) - Also remove double [Mac] availability attribute. - Fixes introspection tests on tvOS 10. * [ARKit] Fix marshalling for ARPointCloud.RawFeaturePoints. (#2565) ARPointCloud.RawFeaturePoints is an array of Vector3, but each vector is 16-byte aligned (as if it were an array of Vector4). This means we need to account for this when creating a managed array from pointer to the native C-style array. * [ModelIO] Fix MDLVoxelIndexExtent struct. (#2564) The MDLVoxelIndexExtent is a struct containing two 4-dimensional vectors of integers (not floats, as originally and incorrectly implemented). Fix this my creating a new MDLVoxelIndexExtent2 struct with the right fields, re-implement all the API that exposes this struct and obsolete the old API. Also add missing [MarshalDirective] attributes. And write a test to make sure it works fine now and forever. * [coredata] Enable new fields since rdar #33878590 is fixed w/beta 6 (#2570) reference: https://trello.com/c/dlSRYPFx * [xtro-sharpie] Add a Simd check class to verify signatures with Simd types. * [Simd] Add simd matrix types. The OpenTK matrices (Matrix2/3/4) has a different memory layout than Apple's matrix_float2x2/matrix_float3x3/matrix_float4x4 matrices: the OpenTK versions are row-major, while Apple's versions are column-major. This means that when blitting memory from one to the other, the matrix will appear to have been transposed. See bug #[58599][2] for an example. Unfortunately we've already bound several API with Apple's matrix_floatXxX matrices using OpenTK's matrices, and although they're bound wrong, and the matrices appear transposed on input/output, we can't change the behavior because we have to maintain compatibility. This means we have to introduce new API, and then also just define new matrix types with the right memory layout (column-major). Additionally, in the future we might be able to mark these matrices as Simd-matrixes, so that the JIT/AOT compiler can generate the correct alignment for them, avoiding having to define a native conversion method (using the [MarshalDirective] hack). The matrices have been designed to match API-wise the matrices in the System.Numerics.Vectors namespace [1], but for the moment with only a few basic operations implemented (Determinant/Transpose/Multiply) defined (we can always add more later if we want to). In addition explicit conversion operators to and from the corresponding OpenTK.MatrixX are implemented, which means any operation defined in the OpenTK matrices can be used by converting back and forth. [1]: https://msdn.microsoft.com/en-us/library/system.numerics.matrix4x4(v=vs.111).aspx [2]: https://bugzilla.xamarin.com/show_bug.cgi?id=58599 * [ARKit] Use the new Simd matrix types. * [Vision] Use the new Simd matrix types. * [ModelIO] Use the new Simd-compatible matrix types, and deprecate the old API. * [GameplayKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [SpriteKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [xtro] Don't report missing [MarshalDirective] for obsolete methods. * [xtro] Remove unnecessary ignores. The implementation changed, and these stayed accidentally. * [wkwebkit] Fix (native) protocol names (#2572) Also ignore xtro's WKSnapshotConfiguration since it's an Apple bug 34185961 reference (xtro) !missing-protocol! WKURLSchemeHandler not bound !missing-protocol! WKURLSchemeTask not bound !unknown-protocol! WKUrlSchemeHandler bound !unknown-protocol! WKUrlSchemeTask bound !unknown-type! WKSnapshotConfiguration bound * [uikit] Fix enums availability attributes (#2575) - Fixes bug #59132: [uikit] Extra types in watchOS (https://bugzilla.xamarin.com/show_bug.cgi?id=59132) * [watchkit] Add missing designated initializers (#2574) references (xtro) !missing-designated-initializer! WKInterfaceController::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! WKUserNotificationInterfaceController::init is missing an [DesignatedInitializer] attribute * [xtro] Reword some of the Simd diagnostic messages according to review. * [tests] Make sure test symbols don't clash between different test libraries. Fixes this build problem for framework-test: clang: error: linker command failed with exit code 1 (use -v to see invocation) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_get_rotation_matrix'. MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticObjectTest.framework/XStaticObjectTest (Location related to previous error) MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticArTest.framework/XStaticArTest(libtest-ar.x86_64.o) (Location related to previous error) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransformcomponent_get_local_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_create_global_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float4x4'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float3x3'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float2x2'. MTOUCH: error MT5209: Native linking error: 6 duplicate symbols for architecture x86_64 MTOUCH: error MT5202: Native linking failed. Please review the build log. * [tests] Since libtest.a need ModelIO now, the corresponding LinkWith attributes need to state that too. * [introspection] Don't check native signatures on obsolete members, and ignore the right simd matrix types. Fixes this introspection/Mac problem: ***** ApiSignatureTest.NativeSignatures Selector: uniformWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: uniformWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: uniformWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: setMatrixFloat2x2Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: setMatrixFloat3x3Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: setMatrixFloat4x4Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: initWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: initWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: initWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded * [monotouch-tests] Include more custom asserts for watchOS to make the build work. Fixes this: Simd/MatrixFloat4x4Test.cs(28,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(29,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(37,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(48,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' [...] * [monotouch-test] Exclude code that requires the binding project from xammac tests. Exclude code that requires the test binding project from xammac tests because there's currently no XM version of the test binding project. Fixes this: tests/monotouch-test/SpriteKit/UniformTest.cs(20,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLMaterialProperty.cs(37,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLTransform.cs(34,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) * Bump version for preview #8 (#2576) * [spritekit] Audit fixes (xtro) (#2577) 1. SKVideoNode is now, partially, available on watchOS and does not require the extra, manual code to swicth selectors depending on the OS version being run. !missing-type! SKVideoNode not bound !missing-selector! SKVideoNode::anchorPoint not bound !missing-selector! SKVideoNode::initWithCoder: not bound !missing-selector! SKVideoNode::initWithFileNamed: not bound !missing-selector! SKVideoNode::initWithURL: not bound !missing-selector! SKVideoNode::setAnchorPoint: not bound !missing-selector! SKVideoNode::setSize: not bound !missing-selector! SKVideoNode::size not bound !missing-selector! +SKVideoNode::videoNodeWithFileNamed: not bound !missing-selector! +SKVideoNode::videoNodeWithURL: not bound 2. SKNodeFocusBehavior is exposed needlessly on watchOS because SpriteKit/Enums.cs was not processed by the generator, so [NoWatch] did not matter. !unknown-native-enum! SKNodeFocusBehavior bound It's also visible on macOS but nothing uses it (so we do not expose it needlessly) !missing-enum! SKNodeFocusBehavior not bound 3. Add missing designated initializer on default `init` !missing-designated-initializer! SKAttributeValue::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! SKNode::init is missing an [DesignatedInitializer] attribute 4. Remove inconsistency for SKNode subclasses wrt XAMCORE_4_0 The trio attributeValues, setAttributeValues and setValue:forAttributeNamed: that was moved from SKNode (deprecated) into its subclasses. This was done using XAMCORE_4_0 but not on every subclasses. This adds them everywhere to be consistent (only SKNode versions are not defined in XAMCORE_4_0) !missing-selector! SKEffectNode::attributeValues not bound !missing-selector! SKEffectNode::setAttributeValues: not bound !missing-selector! SKEffectNode::setValue:forAttributeNamed: not bound !missing-selector! SKEffectNode::valueForAttributeNamed: not bound !missing-selector! SKEmitterNode::attributeValues not bound !missing-selector! SKEmitterNode::setAttributeValues: not bound !missing-selector! SKEmitterNode::setValue:forAttributeNamed: not bound !missing-selector! SKEmitterNode::valueForAttributeNamed: not bound !missing-selector! SKSpriteNode::attributeValues not bound !missing-selector! SKSpriteNode::setAttributeValues: not bound !missing-selector! SKSpriteNode::setValue:forAttributeNamed: not bound !missing-selector! SKSpriteNode::valueForAttributeNamed: not bound * [introspection] Make sure '[FAIL]' is printed before every failure. (#2578) This makes xharness able to list the failures in the inline summary. * [xtro] Reword some of the Simd diagnostic messages according to review. * [xharness] Add a missing IsServerMode check to generate correct html. (#2581) * [SpriteKit] SKTransformNode is new in Xcode 9 so no need to keep the broken (and obsolete) non-simd version of RotationMatrix. * [intents] Fix some (partial) xtro issues and #59156 (#2585) reference https://bugzilla.xamarin.com/show_bug.cgi?id=59156 Remaining issues are filled in https://bugzilla.xamarin.com/show_bug.cgi?id=59183 !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound * [Intents] Confirm* interface methods should be bound as Confirm, Fixes Bug 59164 (#2591) * [Intents] Confirm* interface methods should probably be bound as Confirm, Fixes Bug 59164 https://bugzilla.xamarin.com/show_bug.cgi?id=59164 All Confirm* methods from *IntentHandling interfaces should be named just `Confirm` to avoid confusion because most of them do not directly confirm as an acion, but instead they **ask** for confirmation also we would follow swift's naming by doing this. * [Intents] XAMCORE_4_0 all Confirm* methods from *IntentHandling Turns any Confirm* into just Confirm inside a XAMCORE_4_0 block, * [Intents] Fix breaking changes in Intents added in Xcode 9 Bindings (#2590) Apple added more protocol conformances to INRidesharingDomainHandling and INPaymentsDomainHandling protocols in Xcode 9, I introduced these breaking changes back when I did intents binding so fixing them :) * [Metal] New bindings from Xcode 9 betas (#2457) * [AVFoundation] Updated bindings for xcode9. (#2272) * [Xcode9] Add IOSurface bindings (#2363) * This framework was a private framework before iOS 11. This framework was a private framework before iOS 11, yet the headers claim many API were introduced in iOS 10. So take account of this difference by using the private framework location in iOS 10.3 or earlier. Testing these API from Xcode works fine when run on an iOS 10.3 device, and I've confirmed the IOSurface framework is loaded from the private frameworks path on older devices (and when built using Xcode 9 and linked with the public framework path). * Disable code to make IOSurface work on iOS 10. Disable the code to make IOSurface work on iOS 10, since it may be rejected by the App Store. This also means adjusting the availability attributes, so that the introspection tests pass (and to document that technically these API won't work when used with Xamarin.iOS in iOS 10). I've filed bug #[59201][1] to keep track of this, maybe we can re-enable this later. [1]: https://bugzilla.xamarin.com/show_bug.cgi?id=59201 * [CoreMedia] Fix leak in CMAttachmentBearer.GetAttachments. (#2593) The caller owns the return value from CMCopyDictionaryOfAttachments, so tell Runtime.GetNSObject that. * [Intents] Adds missing API found by xtro, fixes Bug 59183 (#2596) https://bugzilla.xamarin.com/show_bug.cgi?id=59183 Fixes !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !incorrect-protocol-member! INUIHostedViewControlling::configureWithInteraction:context:completion: is OPTIONAL and should NOT be abstract * [xtro] Fix StartWorkingDirectory to enable debugging (#2598) * [iosurface] Enable for tvOS and XM classic (to avoid multiple defines around consumer API) (#2597) * [xtro] Fix EnumCheck (#2600) * [ARKit] Rename a few method to make them nicer. (#2604) * DisplayTransform -> GetDisplayTransform since methods should have verbs. * SessionWasInterrupted -> WasInterrupted and SessionInterruptionEnded -> InterruptionEnded since these names match better with the other names (CameraDidChangeTrackingState / DidFail / DidOutputAudioSampleBuffer: none are prefixed with 'Session'). Additionally, the type is a Model (for the delegate pattern), which means all methods are more-or-less event-like, and the first argument is always the same (the protocol itself), which is another indicator the methods should be named similarly. * [Foundation] Remove 'Key' suffix from some fields. (#2606) Of the 168 fields in NSMetadataItem, only these 5 hadn't removed the 'Key' suffix. So make them all equivalent by removing the 'Key' suffix from these 5 fields. * [ImageIO] Fix API to not duplicate the instance in instance methods. (#2609) An instance method does not need to take the instance as a parameter, so remove the first (instance) parameter for CGImageDestination.AddAuxiliaryDataInfo and CGImageSource.CopyAuxiliaryDataInfo. An alternative solution would be to make the methods static, but I like the instance API better. * [UIKit] De-model UIDataSourceTranslating. (#2603) It's not clear from neither the documentation nor the headers how this protocol is supposed to be used, and since it doesn't correspond to the delegate pattern, remove the [Model] attribute for now. We can always add it back later. * [CoreML] Improve API. (#2592) * [CoreML] Improve API. * The indices, shape and stride properties for MLMultiArray and MLMultiArrayConstraint can logically only be arrays of integers, so type them as such. This means adding overloads for MLMultiArray's constructors, GetObject and SetObject methods, and the indexers that takes nint[] arrays instead of NSNumber[] arrays. * Change MLFeatureValue's static factory methods to be a method ('Create') instead of a preposition, and call all the different factory methods the same, since they can be overloaded nicely. * [tests][monotouch-test] Add version check to MLMultiArrayTest and make sure the arrays we create are big enough for the data we put in them. * [tests][monotouch-test] MLMultiArray's elements aren't zero-initialized, so don't assume that in the tests. * Support overloading Objective-C methods based on static/instance. (#2607) Two Objective-C methods can be named identically as long as one is static and the other instance. We must support this since Apple did just this (in the NSItemProviderReading / NSItemProviderWriting protocols). We solve it by prepending a '+' or '-' to the selector when hashing it (to determine selector uniqueness, and to look the method up again at runtime). * [uikit] Update for Xcode 9 - Part 6 (#2602) NSAttributedString.h NSFileProviderExtension.h NSLayoutAnchor.h UIAccessibility.h UIAccessibilityAdditions.h UIAccessibilityContainer.h UIAccessibilityContentSizeCategoryImageAdjusting.h UIAccessibilityCustomRotor.h UIAccessibilityLocationDescriptor.h UITabBar.h UINavigationBar.h UIScreen.h * Xcode9 scenekit (#2512) * [SceneKit] basic work * Added key * [xcode9] SCNCameraController * [xcode9] SCNCamera updates * [xcode9] SCNMaterial * [xcode9] SCNGeometryTessellator, SCNCameraControlConfiguration, SCNView, small bits * Add trailing commas to last enum value * Remove whitespace noise * [scenekit] Update deprecated attributes messages * Addresses some of Rolf's feedback * Drop the WeakDelegate in SCNCameraController * Rename method to Render, remove ctor from class that can not be constructed in Palygrounds, add typo exception * [AppKit] Rename NSBezierPath.AppendBezierPathWithCGGlyph to match its sibling methods. (#2605) NSBezierPath contains a lot of 'AppendPathWithXXX' methods, that all map to 'appendBezierPathXXX' selectors. So rename AppendBezierPathWithCGGlyph accordingly, to make it more similar to the other methods in the same type. * [uikit] Add all UISpringLoadedInteractionSupporting (#2616) Types do not conform to the protocol but protocol methods work on those types (see monotouch-test). Fixed introspection tests accordingly and tested the selectors in monotouch-test. * [Intents] Add convenience ctor overload and call correct base ctor in manual ctor. (#2613) Add a convenience constructor overload in INGetUserCurrentRestaurantReservationBookingsIntent that uses nint instead of NSNumber, since logically "number of results" will always be some sort of integer. Also call the correct base constructor in INSpeakableString's custom constructor (same as any other generated constructor). Otherwise we end up doing something like this: [[[INSpeakableString alloc] init] initWith ...], i.e. calling two different init methods. * [coreimage] Add new headers API up to beta 6 (#2601) Filters are not complete (ref: #57350) https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * Some new constants are not yet documented (type is known), so they are commented / ignored https://bugzilla.xamarin.com/show_bug.cgi?id=59296 * Filled bug for [Wrap] inside [Category] so strong dictionary helpers can be re-enabled later https://bugzilla.xamarin.com/show_bug.cgi?id=59294 * [foundation] xtro fixes for watchOS (#2586) !missing-enum! NSProcessInfoThermalState not bound !missing-field! NSProcessInfoThermalStateDidChangeNotification not bound !missing-selector! NSProcessInfo::thermalState not bound Headers are wrong and preferredPresentationStyle is not in tvOS and watchOS !missing-selector! NSItemProvider::preferredPresentationStyle not bound !missing-selector! NSItemProvider::setPreferredPresentationStyle: not bound * [uikit] Also remove UIPreferredPresentationStyle enum from platform where it's not used * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. (#2614) * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. * NSItemProviderWriting: * NSItemProviderReading: Implement correctly and completely by uncommenting commented out code. * NSMutableString: * NSAttributedString: remove inlined members, since these classes don't implement NSItemProviderReading / NSItemProviderWriting (according to the headers at least). * NSUrl: all platforms now seem to implement NSItemProviderReading / NSItemProviderWriting. * NSString: all platforms now seem to implement both NSItemProviderReading and NSItemProviderWriting * UIColor: * UIImage: Update inlined protocol members according to the latest beta. Additionally, due to the following conditions: * The protocols all have the correct members now. * In the API definition we tell the generator to inline members from a protocol by inheriting from the corresponding interface. * The generator doesn't inline static members from protocols. several 'new' keywords had to be added to silence a compiler warning that occurrs when we manually inline a static member, since the member would be included in the type both from the inherited interface and the manual implementation. * [Foundation] Comment out NSItemProviderWriting.GetItemProviderVisibility to avoid inlining/generating unusable methods. NSItemProviderWriting.GetItemProviderVisibility is an optional method, and none of the native classes that implements NSItemProviderWriting actually imlements the method. This means inlining the method in those classes ends up creating unusable API; so just comment out the method to avoid generating the unusable API. The introspection tests found this: [FAIL] Foundation.NSString : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Foundation.NSUrl : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Contacts.CNContact : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] MapKit.MKMapItem : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIColor : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIImage : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] iOSApiSelectorTest.ApiSelectorTest.StaticMethods : 6 errors found in 2348 static selector validated: See also https://bugzilla.xamarin.com/show_bug.cgi?id=59308 * [iosurface] Add missing [TV] attributes (#2619) * [opengles] Enable the new API using IOSurface (#2618) The symbol only exists inside device libraries, not on simulator, and the introspection tests were updated to ignore it. Part of https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [avfoundation][watchos] Enable AudioBufferList (fix #59145) + audit (xtro) (#2617) 1. AudioBufferList is part of CoreAudio (wrong namespace, which needs a few changes in the generator) and now available in watchOS 4 https://bugzilla.xamarin.com/show_bug.cgi?id=59145 2. Also fixes xtro found issues: !missing-type! AVAudioRecorder not bound !missing-selector! AVAudioRecorder::averagePowerForChannel: not bound !missing-selector! AVAudioRecorder::channelAssignments not bound !missing-selector! AVAudioRecorder::currentTime not bound !missing-selector! AVAudioRecorder::delegate not bound !missing-selector! AVAudioRecorder::deviceCurrentTime not bound !missing-selector! AVAudioRecorder::format not bound !missing-selector! AVAudioRecorder::initWithURL:format:error: not bound !missing-selector! AVAudioRecorder::initWithURL:settings:error: not bound !missing-selector! AVAudioRecorder::isMeteringEnabled not bound !missing-selector! AVAudioRecorder::isRecording not bound !missing-selector! AVAudioRecorder::peakPowerForChannel: not bound !missing-selector! AVAudioRecorder::recordAtTime: not bound !missing-selector! AVAudioRecorder::recordAtTime:forDuration: not bound !missing-selector! AVAudioRecorder::recordForDuration: not bound !missing-selector! AVAudioRecorder::setChannelAssignments: not bound !missing-selector! AVAudioRecorder::setDelegate: not bound !missing-selector! AVAudioRecorder::setMeteringEnabled: not bound !missing-selector! AVAudioRecorder::settings not bound !missing-selector! AVAudioRecorder::url not bound !missing-protocol! AVAudioRecorderDelegate not bound !missing-selector! AVAudioEngine::inputNode not bound !missing-selector! AVAudioEngine::manualRenderingBlock not bound !missing-selector! AVAudioInputNode::setManualRenderingInputPCMFormat:inputBlock: not bound !missing-selector! AVAudioPlayer::format not bound !missing-selector! AVAudioSession::requestRecordPermission: not bound !unknown-field! AVFileType3GPP bound !unknown-field! AVFileType3GPP2 bound !unknown-field! AVFileTypeAC3 bound !unknown-field! AVFileTypeAIFC bound !unknown-field! AVFileTypeAIFF bound !unknown-field! AVFileTypeAMR bound !unknown-field! AVFileTypeAVCI bound !unknown-field! AVFileTypeAppleM4A bound !unknown-field! AVFileTypeAppleM4V bound !unknown-field! AVFileTypeCoreAudioFormat bound !unknown-field! AVFileTypeDNG bound !unknown-field! AVFileTypeEnhancedAC3 bound !unknown-field! AVFileTypeHEIC bound !unknown-field! AVFileTypeHEIF bound !unknown-field! AVFileTypeJPEG bound !unknown-field! AVFileTypeMPEG4 bound !unknown-field! AVFileTypeMPEGLayer3 bound !unknown-field! AVFileTypeQuickTimeMovie bound !unknown-field! AVFileTypeSunAU bound !unknown-field! AVFileTypeTIFF bound !unknown-field! AVFileTypeWAVE bound * [Metal] Implement API using IOSurface now that IOSurface is implemented. Partially fixes #58054. (#2621) https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [PdfKit] Improve PdfAnnotation.QuadrilateralPoints binding by making it strongly typed. (#2620) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). (#2622) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). * [ARKit/Vision] Use the new simd vector types instead of the OpenTK versions. * [ModelIO] Use the new simd vectors in new API (MDLVoxelIndexExtent2). This way we won't have to create a MDLVoxelIndexExtent3 in the future. * [SpriteKit] Use the new simd vectors in new API. * [metal] Audit (xtro) based fixes (#2623) !extra-protocol-member! unexpected selector MTLArgumentEncoder::newArgumentEncoderForBufferAtIndex: found !extra-protocol-member! unexpected selector MTLComputeCommandEncoder::dispatchThreads:threadsPerThreadgroup: found macos-only !missing-field! MTLDeviceRemovalRequestedNotification not bound !missing-field! MTLDeviceWasAddedNotification not bound !missing-field! MTLDeviceWasRemovedNotification not bound !missing-pinvoke! MTLCopyAllDevices is not bound * [CloudKit] Update bindings to beta 6. (#2615) * [FileProvider] Turn NSFileProviderItemIdentifier enum into a static class, fixes bug 59329 (#2634) https://bugzilla.xamarin.com/show_bug.cgi?id=59329 At the time of binding NSFileProviderItemIdentifier it wasn't clear how it was supposed to be used, I mean apple provides two keys which I thought were the only possible values hence binding it as an smart enum. Unfortunately this wasn't the case and the user can use those two values provided from the SDK or their own NSString Identifier. Swift provides a wrapper unfortunately we can't do the same due to NSFileProviderItemIdentifier is used in the NSFileProviderItem protocol and we currently do not support changing signatures on them. * [mtouch] Teach mtouch about the 'IOSurface' framework for tvOS. Fixes #59333. (#2630) https://bugzilla.xamarin.com/show_bug.cgi?id=59333 * Bump Touch.Unit to get fix for API breakage. (#2631) spouliot/Touch.Unit@8f1e19d [NUnitOutputTextWriter] Reintroduce previous constructor to make sure we don't break binary ABI. spouliot/Touch.Unit@00b0c0b [NUnitOutputTextWriter] Don't write invalid xml comments. spouliot/Touch.Unit@de9fe20 [TouchRunner] Restore the original code path when not wrapping NUnit xml output. * [IOSurface] Add missing availability attributes for tvOS. (#2629) * Bump versions for preview 9 (#2624) * [AVFoundation] Add missing interface AVRouteDetector. (#2637) * [tests] Update xtro to reduce list sizes (#2636) * Skip OpenTK duplicate declaration (we can't change them); * Fix rule name change for ARKit / simd; * Add missing default initializer on `init` to pending actions; * Add note for AVPersistableContentKeyRequest changes wrt tvOS; * [ReplayKit] Make RPBroadcastActivityViewController.LoadBroadcastActivityViewController async-capable. (#2639) * [xcode9] More SceneKit bindings (#2633) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 (#2644) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 https://bugzilla.xamarin.com/show_bug.cgi?id=59380 vector_float3 is 16 bytes, which means the binding is incorrect, because Vector3 is 12 bytes, and our code does not that difference into account. * Add tests * [DeviceCheck] Disable default ctor for DCDevice. (#2642) It doesn't seem to be useful according to the documentation, since it appears that the only way to get an instance is to use the static CurrentDevice property. * [audiounit] Audit (xtro) fixes for tvOS (#2635) Availability attributes in non-generated files don't hide symbols/code. reference: !unknown-pinvoke! AudioUnitExtensionCopyComponentList bound !unknown-pinvoke! AudioUnitExtensionSetComponentList bound * [tests] Make sure tvOS tests don't use the (unexisting) API * [tests] Add all test project variations to tests-mac.sln (#2579) * [xharness] Make sure generated mac projects have different project guids. * [introspection] Change the project guid so that it doesn't match the dontlink-mac project guid. * [tests] Add all test project variations to tests-mac.sln. * [xharness] Fix else condition. * [FileProvider] Adds missing NSFileProviderPage constants, fixes bug 59297. (#2646) https://bugzilla.xamarin.com/show_bug.cgi?id=59297 Adds NSFileProviderInitialPageSortedByName and NSFileProviderInitialPageSortedByDate NSData constants * [Xcode9] Remove NSFileProviderMessage and NSFileProviderMessageInterface (#2647) APIs were removed in beta 2 * [Foundation/UIKit] Provide LoadObject[s] methods that return the expected type in the callback. Fixes #59049. (#2638) The callback for these LoadObject[s] methods take an INSItemProviderReading parameter. This tells our runtime that we must provide an instance of a managed object that implements this interface (but nothing else), so we create a `NSItemProviderReadingWrapper` instance, which complies with the API (since the wrapper type implements the corresponding interface). Unfortunately these methods are supposed to return an instance of the passed- in type, so in order to comply with this soft (documentation-only) requirement, provide a wrapper method that creates instances of the right types. https://bugzilla.xamarin.com/show_bug.cgi?id=59049 * [arkit] Ignore deprecated selectors (#2645) * [FileProvider] Adds missing protocol and keys from audit (#2652) ``` !missing-protocol! NSFileProviderServiceSource not bound !missing-field! NSFileProviderErrorCollidingItemKey not bound !missing-field! NSFileProviderErrorNonExistentItemIdentifierKey not bound !missing-field! NSFileProviderFavoriteRankUnranked not bound ``` Also adds `NSXpcListenerEndpoint` to foundation, needed by `NSFileProviderServiceSource` protocol. * [tests][xtro] Workaround xtro runner dupe entry exception and update data files (#2654) * [AVFoundation] Rename field to match others. (#2657) * [homekit] Audit (xtro) fixes (#2653) - HMCharacteristicEvent conforms to NSMutableCopying on iOS11 which makes it 64 bits only (so adjust intro tests) - Ignore extra setters on HMMutablePresenceEvent, rdar 33883958 !missing-selector! HMMutablePresenceEvent::setPresenceEventType: not bound !missing-selector! HMMutablePresenceEvent::setPresenceUserType: not bound * [xtro] Add missing pinvoke to pending (#2662) - Bug 59422: [uikit] Missing UIContentSizeCategoryCompareToCategory & UIContentSizeCategoryIsAccessibilityCategory (https://bugzilla.xamarin.com/show_bug.cgi?id=59422) * Merge latest d15-3 fixes into xcode9 (#2660) * [msbuild] Re-added wildcard (*) expandsion for application-identifier in Entitlements.plist (#2186) Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=57119 * Bump mono (#2213) * Framework tests were still binding non-linked Simple class which errors now (#2216) (#2218) - Improve Makefile to rebuild when projects build with errors * Bump mono to get cecil fix for bug #56808. (#2222) https://bugzilla.xamarin.com/show_bug.cgi?id=56808 * [msbuild] Use @(ReferencePath) instead of @(ResolvedFiles) (#2188) (#2214) This allows things to work on both xbuild and msbuild. In xbuild, both lists are exactly the same and on msbuild, only @(ReferencePath) exists. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=55147 * NSActivityOptions.IdleDisplaySleepDisabled had wrong value (#2232) (#2239) This was due to an integer overflow. The original value was based on Int32 1 << 40 == 256 The correct value should be based on a UInt64. 1UL << 40 == 1099511627776 * [tests] Fix bug 57699 - [iOS]InternalsTest failure (Linkall) tests on device (#2243) Strip native debugging symbols should not be checked for debug builds * Bump mono to get fix for bug #57780. https://bugzilla.xamarin.com/show_bug.cgi?id=57780 * Update .gitmodules Change branch to d15-3 branch of mono * Bump maccore to get fix for bug #55064. https://bugzilla.xamarin.com/show_bug.cgi?id=55064 * [mono] Bump mono to get the head of cecil/mono-2017-04 and fix IsComObject #57919 Also fix #58789 [1], the typo in tools/mtouch/Tuning.cs showing in MT0000 errors instead MT2102. That's already in master and d15-4 mono bump includes: [2] commit 2a6502cee0df9de5198eafe7c8b5f6ac25106f34 (HEAD -> d15-3, origin/d15-3) Merge: 02457c20fcf 5e05cafc6f1 Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 10:04:06 2017 -0400 Merge pull request #5401 from marek-safar/com [Marshal.IsComObject] Make this predicate return false instead of thr… [3] commit 02457c20fcf57c0610e844d638eb1da82b5d1eb0 Merge: da80840ea55 73fd9a1b82e Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 09:59:06 2017 -0400 Merge pull request #5400 from spouliot/bump-cecil-58834-d15-3 [cecil] Bump to the head of the mono-2017-04 branch and pick the fix for bug #58834 References [1] https://bugzilla.xamarin.com/show_bug.cgi?id=58789 [2] https://bugzilla.xamarin.com/show_bug.cgi?id=57919 [3] https://bugzilla.xamarin.com/show_bug.cgi?id=58834 * [mtouch] Put 'mono_profiler_startup_log' in the symbol list. Fixes #58778. (#2501) We need the 'mono_profiler_startup_log' symbol when profiling is enabled, so make sure to add the symbol to the correct list of symbols we need. Previously we were passing `-u _mono_profiler_startup_log` to clang directly, which is fine, but not complete, since it does not write the symbol to the symbollist file (--symbollist=file), which means it wouldn't be preserved when the MSBuild tasks strip the executable. https://bugzilla.xamarin.com/show_bug.cgi?id=58778 * Bump versions for SR3 https://trello.com/c/EVze08ei * Bump mono to include HttpClientHandler fix #44027 https://trello.com/c/jYFXadH8/8-systemnethttp-close-request-stream-when-httpclienthandler https://bugzilla.xamarin.com/show_bug.cgi?id=44027 * [FileProvider] Add missing API and turn NSString to string (#2663) Turned NSString to string in order to match exisiting API. * [uikit] Add UIPasteConfigurationSupporting and UITextPasteConfigurationSupporting (#2649) - Fixes bug #59363: Missing UIPasteConfigurationSupporting, UITextPasteConfigurationSupporting, UITextDraggable and UITextDroppable on a couple of types (https://bugzilla.xamarin.com/show_bug.cgi?id=59363) * [uikit] Remove 129 types in UIPasteConfigurationSupporting case * [scenekit] Audit (xtro) fixes (#2648) This looks like an Apple breaking change (since `SCNAnimation` is new) but we now have: > typedef void (^SCNAnimationEventBlock)(id<SCNAnimation> animation, id animatedObject, BOOL playingBackward); bound as > delegate void SCNAnimationEventHandler (CAAnimation animation, NSObject animatedObject, bool playingBackward); and `CAAnimation` conforms to `SCNAnimation` but *only* the later is available on watchOS. The delegate is only updated (since it's new) on our watchOS profile. xtro references: (watchos) !unknown-protocol! SCNCameraControlConfiguration bound (tvos/watchos) !missing-selector! SCNAnimation::animationEvents not bound !missing-selector! SCNAnimation::setAnimationEvents: not bound !missing-selector! SCNConstraint::isEnabled not bound !missing-selector! SCNConstraint::setEnabled: not bound !missing-field! SCNSceneSourceConvertToYUpKey not bound !missing-field! SCNSceneSourceConvertUnitsToMetersKey not bound (ios/tvos) !missing-protocol-conformance! SCNNode should conform to UIFocusItem * Bump maccore post 15.3 merge (#2665) * Bump Xcode 9 to GM (#2667) * Force build (on wrench) * [avfoundation] Fix breaking changes (apidiff) (#2664) * [TVServices] Update to Xcode 9 GM (#2675) * [GameController] Update to Xcode 9 GM (#2673) * [LocalAuthentication] Update to Xcode 9 GM (#2671) * [LocalAuthentication] Update to Xcode 9 GM * Remove availability from BiometryNotAvailable, BiometryNotEnrolled and BiometryLockout * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer (#2659) * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer Some of the new added types were already present BUT under a #if MONOMAC, they had to be moved. * [AVFoundation] Set the wrongly added API to be obsolete and ensure it returns logical values. (#2650) * [xtro] The right platform for macOS is 'macos', not 'osx'. (#2677) The platform name is used to filter availability attributes, and if we use the wrong platform, we'll incorrectly skip all availability attributes. The net result in unclassified entries: https://gist.github.com/rolfbjarne/a4474bc2a40c49a85cad495b51bb514f * Various Xcode 9 API improvements and also fixes bug 59433 (#2676) https://bugzilla.xamarin.com/show_bug.cgi?id=59433 While fixing bug 59433 I noticed some additional issues outlined below: AVDepthData: * Renamed **non** static `Create` methods because `Create` only makes sense with the **Static** method in this context. Also by renaming the methods we are now closer to the names that swift uses. * Kept descriptive method names in favor of self-documenting code. `Convert`, `Apply` and `Replace` do not fully give us the intent of the method. * Added a convenience `Create` static method that takes a `CGImageAuxiliaryDataInfo`. * AvailableDepthDataTypes is now an array of `CVPixelFormatType` instead of a `NSNumber` array (The aactual fix for bug 59433). ImageIO: * Refactored `CGImageAuxiliaryDataInfo` to be a `StrongDictionary` in order to avoid most of the manual code and also to avoid reimplementing the `ToDictionary` method (which contained a subtle bug). * Adjusted code to reflect the above change. * Added missing `.ctor (IntPtr, bool)` to `CGImageMetadata` so the class is able to be created by our `Runtime.Get*`. * Simplified `CopyAuxiliaryDataInfo` method by using `CGImageAuxiliaryDataInfo` as a `DictionaryContainer`. Tests: * Added `xamarinmonkey.heic` which is an image that contains depth data needed to test above changes. * Adds `AVDepthDataTests` that touches most of the changes listed here. * Tweak the Simd-compatible matrices and vectors (#2668) * Rename them to be OpenTK.NMatrix# (instead of Simd.MatrixFloat#x#). * Remove the Vector2 and Vector4 variants, we'll use the OpenTK types instead (but we'll keep the NVector3 variant, since it's not identical to the OpenTK version). * Update the API to match their OpenTK counterparts better: * NMatrix2 and NMatrix3 have a 0-based R#C# scheme for their fields. * NMatrix4 has a 1-based M## scheme for its fields (i.e. no change). * [AVFoundation] Use Simd-matrix for API that needs it. (#2679) This also requires implementing the corresponding matrix (NMatrix4x3). Fixes this xtro issue: > !unknown-simd-type-in-signature! OpenTK.Matrix3 AVFoundation.AVCameraCalibrationData::get_GetIntrinsicMatrix(): the native signature has a simd type (matrix_float3x3), while the corresponding managed method is using an incorrect (non-simd) type. * [xtro] Fix checking availability on categories. (#2682) When checking for category availability, check if both the current declaration is a category, and if the current's declaration container is a category. Otherwise this scenario fails: * Category method is available. * Category does not have availability attributes. * Main class is unavailable. with this typical code sequence: ```csharp // don't process methods (or types) that are unavailable for the current platform if (!decl.IsAvailable () || !(decl.DeclContext as Decl).IsAvailable ()) return; ``` In which case we'd: * First check the method (`decl`): * It's available, so no further checks is done on the method. * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container's container is a category (it isn't, it's the namespace). and as such determine that the method is available. With this change, the second step will become: * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container is a category (it is), and if its main class is available (it isn't). and as such determine that the method is unavailable. * Check for attributes on the method's container (no attributes, so we continue). * Check if the method's Unclassified diff: https://gist.github.com/rolfbjarne/8fa80962596978a426eadf9b7ba39dc1 * [uikit] Update for Xcode 9 GM (#2670) * [AVFoundation] Implement AVCapturePhoto. Partially fixes #59388. (#2678) Fixes: > common.unclassified:!missing-type! AVCapturePhoto not bound https://bugzilla.xamarin.com/show_bug.cgi?id=59388 * Use strong dictionaries for AVCapturePhoto.Metadata and AVCapturePhoto.EmbeddedThumbnailPhotoFormat. * [SIMD] Implement Simd double types (VectorDouble3/MatrixDouble4x4). (#2632) The following types will be used by ModelIO bindings * Fix delta to be double * Rename Simd-compatible matrices and vectors to match our final naming. This also means removing the new Vector2 and Vector4 variants (but not Vector3). * [avfoundation] Remove AVAssetDownloadDelegate.DidLoadTimeRange since it was removed in one of the betas (#2687) * [foundation] Move NSUrlSessionMultipathServiceType to a file processed by the generator (for the availability attributes) (#2688) * [arkit] Update for Xcode 9 GM (#2681) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes (#2690) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes Type Changed: Intents.INCarSeatResolutionResult Removed methods: public static INCarSeatResolutionResult GetConfirmationRequired (INCarSeat valueToConfirm); public static INCarSeatResolutionResult GetSuccess (INCarSeat resolvedValue); * [avfoundation] Add missing protocol members and deprecations (#2691) !missing-protocol-member! AVCapturePhotoCaptureDelegate::captureOutput:didFinishProcessingPhoto:error: not found and the selector removed from PR#2687 was actually replaced with this one !missing-protocol-member! AVAssetDownloadDelegate::URLSession:aggregateAssetDownloadTask:didLoadTimeRange:totalTimeRangesLoaded:timeRangeExpectedToLoad:forMediaSelection: not found * [tests][xtro] Map some enums, more fix with protocols and update entries (#2692) * [Tests] Reenable dns tests on the watch. (#2674) * [arkit] Add ARBlendShapeLocationOptions strong dictionary (#2696) * [coreimage] Skip not yet bound filters added in Xcode9 (#2698) Tracked in https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * [Metal] Renamed MTLArgumentDescriptor.ArgumentDescriptor to Create, fixes bug 59498 (#2702) https://bugzilla.xamarin.com/show_bug.cgi?id=59498 From [argumentDescriptor docs](https://developer.apple.com/documentation/metal/mtlargumentdescriptor/2915746-argumentdescriptor?language=objc) > Creates an empty argument descriptor. * [msbuild] Always codesign app bundles if the codesign key is non-null (#2697) ...even if it is a simulator build. Turns out that starting with Xcode9, sim builds need to be codesigned for App Groups entitlements to work properly. Interestingly, the DetectSigningIdentity logic had a comment about needing to codesign simulator builds for some entitlements to work already starting with Xcode 8 but apparently the iOS targets did not respect this. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=59379 * [Foundation] Add NSProxy stub in order to workaround bug 59247 (#2693) https://bugzilla.xamarin.com/show_bug.cgi?id=59247 We need to have a better solution that removes all what NSProxy does not responds to. Right now this works because NSObject implements NSObject protocol just like NSProxy, but NSProxy responds to far less selectors hence doing it internal so it is not a breaking change when we provide the correct fix. * Keep NSProxy around and avoid XML linker description We need to keep NSProxy (avoid linking it) if WKNavigationDelegate or IWKNavigationDelegate is used. We know WKWebView will be there and can hold a reference to it. * [Xcode 9] Update Metal for GM (#2689) * [iosurface] IOSurface is not usable before iOS/tvOS 11. Fixes #59201 (#2706) Apple rejects apps that links with the previously private IOSurface.framework. We were not sure about this [1] and had it disabled (this is removed). However another bug stopped our adjustment logic [2] from being executed. This is needed since `clang` picks up the private framework if it does not find the public one (even when asking for a weak framework), [1] https://bugzilla.xamarin.com/show_bug.cgi?id=59201 [2] Added a while ago for JavascriptCore * Bump maccore to point to commit with the docs fix. (#2703) * Bump XI to 11.0.x (and XM to 3.99.9.x) (#2684) * fix typo
2017-09-16 00:53:16 +03:00
[Mac (10, 10), iOS (8,0)]
[TV (11,0)][Watch (4,0)]
[Export ("enabled")]
bool Enabled { [Bind ("isEnabled")] get; set; }
[Watch (4, 0), TV (11, 0), Mac (10, 13, onlyOn64: true), iOS (11, 0)]
Merge xcode9 into d15-4[-xi] (#2710) * [FileProvider] Add Xcode 9 Beta 1, 2 & 3 Bindings (#2279) * [FileProvider] Add Xcode 9 Beta 1 Bindings * Better naming * Feedback not related to BindAs * [FileProvider] Removes BindAs, add manual code for it and updated to Beta 3 * [FileProvider] Implement feedback * [CoreSpotlight] Updated spotlight bindings for xcode 9 beta 3. (#2193) Updated spotlight bindings for xcode 9 beta 3. * Fix warning caused by duplicate (#2354) * [FileProviderUI] Add Xcode 9 Beta 1 to 3 bindings (#2356) * Bump to Xcode 9 beta 4 * [arkit] ARLightEstimate does not conform to NSCopying anymore (fix unit test) * [uikit] NSFileProviderExtension.ReparentItem got a new parameter in beta4 (fix unit test) * [coreimage] CIImageAccumulator init returns nil in beta 4 There's no header change to mention `init` is not allowed but it's not clear how this default initializer could be used. Also make public some other API to construct this type (outside of XM). It's not clear why there were `internal` as they are (at least now) part of the header files. * [photos] Add helpers when PHLivePhotoEditingOption/NSDictionary is null (to avoid ambiguous API) (#2360) Adding a strongly typed `PHLivePhotoEditingOption` (a strongly typed version of an `NSDictionary`) can cause a `CS0121` (call is ambiguous) since using a `null` argument is common (only one option exist so far). This PR adds overloads that makes the code nicer in such case, e.g. before Xcode9: > // null is used when no options are given > _foo.SaveLivePhoto (output, null, completion); current (Xcode 9) > // casting required to remove ambiguity with PHLivePhotoEditingOption > _foo.SaveLivePhoto (output, (NSDictionary)null, completion); with this PR > // no option, no argument > _foo.SaveLivePhoto (output, completion); The same applies to `PrepareLivePhotoForPlayback`. * [tests] Disable/tweak two tests that breaks on (almost) all Xcode updates Those tests were not added to validate xOS so just keep the parts that helps us (without constantly checking back the new break flavor) * Disable watchOS to check if this hides others issues * [mapkit] Update for beta 4 * [coredata] Update for beta 4 * [wkwebkit] Update for beta 4 Note: WKWindowFeatures.h is not compiled (part of the framework umbrella) and the `@interface WKWindowFeatures (WKPrivate)` sounds like it should not have been exposed (it's all fields starting with `_`) * [corelocation] Update for beta 4 * Revert "Disable watchOS to check if this hides others issues" This reverts commit fed2249fa43290a1956ab2fe0d48f83ab6db9711. * [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]: https://github.com/xamarin/xamarin-macios/blob/f5956d6cc1eb5dfa7bab16628cf282d40237f64e/src/generator.cs#L5985 * [FinderSync] Update to beta 4 (#2377) * [ImageIO] Update to Xcode 9 (#2353) * [PhotosUI] Move macOS photosui bindings out of photos.cs into photosui.cs (#2358) * [quicklook] Update up to beta 4 (#2374) * [uikit] UIDragInteraction & UIDragInteractionDelegate (Xcode 9 b1,2,3) (#2357) * [safariservices] Update up to beta 4 (#2380) * [coreanimation] Update to beta 4 (#2382) Apple removed (mistake?) some API in beta 1. Filed as rdar 33590997 Internal tracking in https://trello.com/c/J8BDDUV9/86-33590997-coreanimation-quartzcore-api-removals * [storekit] Update up to beta 4 (#2379) * [CoreML] Update to Xcode 9 Beta 4 (#2387) * [uikit] UICollectionView/UITableView Drag & Drop (Xcode 9 b1,2,3 & 4) (#2355) * Update code after radar 32929318 and 32897776 are fixed in b4 (#2394) * [xcode9 CoreAudio] New definitions from Beta1 to Beta3 (#2359) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 (#2397) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 https://bugzilla.xamarin.com/show_bug.cgi?id=58512 Created strong API (VNBarcodeSymbology) on the following properties * VNDetectBarcodesRequest.SupportedSymbologies * VNDetectBarcodesRequest.Symbologies * VNBarcodeObservation.Symbology * Remove modern C# because classic can't do it 😡 * [mediaplayer] Update up to beta 4 (#2388) * [watchkit] Update to beta 4 (#2398) * Bump Visual Studio for Mac max version (#2408) * [coreimage] Add CIBarcodeDescriptor and enabled missing API for VNBarcodeObservation. Fix #58197 (#2411) https://bugzilla.xamarin.com/show_bug.cgi?id=58197 * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 (#2407) * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 * [uikit] Fixes based on comments * [coreimage] CIImageAccumulator API fixes. Fix #58349 (#2412) * Obsolete the default `init`; * XM exposed some older APIs using `int` instead of `CIFormat`. This is fixed and old APIs are obsoleted; * Both new & old APIs are now using `CIFormat` for both XI and XM. https://bugzilla.xamarin.com/show_bug.cgi?id=58349 * [uikit] UIText drag & drop - up to Xcode 9 beta 4 (#2410) * [uikit] UISplitView & UIStackView up to Xcode 9 beta 4 (#2425) * Bump XI/XM versions before preview 4 (#2422) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 (#2378) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 * [PDFKit] Implement feedback * [PDFKit] the forgotten enum * [PDFKit] More feedback * [PDFKit] Add Mac changes * Missing change * Fix test RectangleF VS CGRect * Pass -Wunguarded-availability-new to quiet a new clang warning (#2424) - https://bugzilla.xamarin.com/show_bug.cgi?id=58574 * [mtouch/mmp] Ignore warnings about unguarded code section with regards to availability. (#2441) * [monotouch-test] Remove workaround for fixed Apple bug. (#2445) * Bump to Xcode 9 beta 5. (#2447) * Bump to Xcode 9 beta 5. * [mmp] Disable the partial static registrar, because Apple's macOS SDK is broken. > In file included from Xamarin.Mac.registrar.mobile.i386.m:1: > In file included from ./Xamarin.Mac.registrar.mobile.i386.h:11: > /Applications/Xcode9-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVFoundation.h:88:9: fatal error: 'AVFoundation/AVRouteDetector.h' file not found https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [mmp] Fix partial static registrar removal. * [CallKit] Update to Xcode 9 beta 5. * [ARKit] ARPointCloud doesn't conform to NSCopying anymore in Xcode 9 beta 5. * [ARKit] Update to Xcode 9 beta 5 enough to make tests happy. * [CoreImage] Stub out new filters in Xcode 9 beta 5. * [tests][monotouch] Simplify some MDLMesh asserts since values change a lot between OS versions. * [mmp] Default to the dynamic registrar for release builds again, due to bug #58629. https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [tests][introspection] CXCall started implementing NSCopying without saying so in the headers. * Disable mmp static registrar tests due to 58629 for now * [quicklook] Update to beta 5 (#2450) * [photos] Update for beta 5 (#2452) Also update some existing enum members were added in beta 1 on macOS * [safariservices] Update for beta 5 (#2455) * [mediaplayer] Update to beta 5 (#2456) * [CoreLocation] Update Xcode 9 Beta 5 (#2453) * [CoreML] Update to Xcode 9 Beta 5 (#2454) * [Contacts] Update to Xcode 9 Beta 5 (#2451) * [Vision] Update to Xcode 9 Beta 5 (#2458) * [builds] Tell LLVM to stay away from newer macOS functions. (#2459) Fixes this build problem on Sierra: > ld: weak import of symbol '_futimens' not supported because of option: -no_weak_imports for architecture x86_64 This is a symbol that was (will be?) introduced in High Sierra. Interestingly this only occurs if the Xcode 8.X Command Line Tools haven't been manually installed. Because if the Xcode 8.X Command Line Tools are installed, this happens: 1. llvm's configure script detects that 'futimens' is not usable. 2. llvm's configure script detects that 'futimens' is not usable, because xcrun sets SDKROOT=/ when calling clang. a. When the SDKROOT variable is set, clang passes '-syslibroot /usr/lib' to ld. b. When ld gets '-syslibroot /usr/lib', ld looks in '/usr/lib' for a library that contains 'futimens' in the OS itself, and since we're on Sierra, that fails to link. c. So when llvm's configure script creates a test program that checks if 'futimens' is present, the program fails. This is correct, and makes llvm *not* use futimens. 3. xcrun sets SDKROOT=/ because /usr/share/current-os.sdk/Info.plist exists. If that file does not exist, then xcrun sets SDKROOT to Xcode9's macOS SDK (because that's what xcode-select reports). a. When SDKROOT is set to Xcode9's macOS SDK, the configure check for 'futimens' succeeds, because the macOS 10.13 SDK contains that function. b. llvm happily uses 'futimens', and then the final link fails because we're using a symbol not available on all target platforms. * [arkit] Update for Xcode 9 beta 5 - Part 1 (#2460) * [tests] The container app for watchOS tests should be 64-bit. (#2463) * [xharness] watchOS tests need to run in a clean environment. Works around #58348. (#2462) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [xharness] It watchOS tests don't need to be clean anymore. Fixes #58348. (#2473) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [uikit] UIView/UIScrollView/UIViewController up to Xcode 9 beta 5 (#2431) - Add NSDirectionalEdgeInsets type. - Includes DirectionalEdgeInsetsTest. * [AudioToolbox] Update bindings to Xcode 9 beta3 (not later changes). (#2294) * [xharness] Add a file existence check. (#2478) Fixes this exception: ``` Harness exception for 'introspection': System.IO.FileNotFoundException: Could not find file '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log'. File name: '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log' at System.IO.__Error.WinIOError (System.Int32 errorCode, System.String maybeFullPath) [0x00207] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/__error.cs:188 at System.IO.FileInfo.get_Length () [0x00038] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/fileinfo.cs:171 at xharness.CaptureLog.StopCapture () [0x00021] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Log.cs:252 at (wrapper remoting-invoke-with-check) xharness.CaptureLog:StopCapture () at xharness.AppRunner+<RunAsync>d__68.MoveNext () [0x0127f] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/AppRunner.cs:642 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter`1[TResult].GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:357 at xharness.RunSimulatorTask+<RunTestAsync>d__7.MoveNext () [0x0029d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2894 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.RunTestTask+<ExecuteAsync>d__8.MoveNext () [0x0010b] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2538 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.TestTask+<RunInternalAsync>d__87.MoveNext () [0x0010d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:1870 ``` I'm not sure how this can happen, but it has on the bots [1]. [1] https://jenkins.mono-project.com/job/xamarin-macios-pr-builder/4548/Test_Report/ * Bump versions for preview 5 (#2479) * [passkit] Update to beta 5 (#2481) * [tests] Remove workaround for radar #32688391. (#2486) * [replaykit] Update up to beta 5 (#2484) * Bump maccore to get fix for bug #55064. (#2487) * [apidiff] Update definition to new 10.12 (d15-3) stable release (#2490) * [SceneKit] basic work (#2483) * [coredata] Update to beta 5 (#2488) * [homekit] Update for Xcode 9 beta 5 (#2492) * [Foundation] Update for xcode9 (#2468) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 (#2493) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 * [Intents] Implement feedback * [Intents] Add a generic version for INInteraction.GetParameterValue * [Intents] Missing check * [Contacts] Add missing foundation NSItemProviderWriting protocol to CNContact (#2496) https://bugzilla.xamarin.com/show_bug.cgi?id=58203 This is available on all Contacts supported platforms ``` ./iPhoneOS.platform/Developer/SDKs/iPhoneOS11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchOS.platform/Developer/SDKs/WatchOS4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchSimulator.platform/Developer/SDKs/WatchSimulator4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ``` * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) (#2497) * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) * [IntentsUI] Better use a delegate instead so we have named params * Bump versions before 6th preview (#2514) * [arkit] Add missing MarshalDirective to ARPlaneAnchor (#2517) - Fixes bug #58648: ARPlaneAnchor.Extent property seems incorrect but changes to correct value after Debug access (https://bugzilla.xamarin.com/show_bug.cgi?id=58648) * [xtro-sharpie] Fix a compiler warning. (#2516) Fixes these warnings: Runner.cs(197,5): warning CS0642: Possible mistaken empty statement Runner.cs(199,5): warning CS0642: Possible mistaken empty statement Runner.cs(201,5): warning CS0642: Possible mistaken empty statement Runner.cs(203,5): warning CS0642: Possible mistaken empty statement Runner.cs(205,5): warning CS0642: Possible mistaken empty statement * [uikit] Update for Xcode 9 beta 5 - Part 3 (#2511) - UIKeyCommand - UINavigationBar - UINavigationItem - UIPasteboard - UITableViewHeaderFooterView * [xtro-sharpie] Remove xtro-plugin and misc other fixes. (#2522) * [xtro-sharpie] Build with msbuild and be as quiet as requested when building. * [xtro-sharpie] Must run as a 64-bit process, since the required native libraries are 64-bit. * [xtro-sharpie] Add run configurations to the project file to ease debugging in the IDE. * [xtro-sharpie] Remove xtro-plugin and the related commands. This was needed when there wasn't a 64-bit mono, in order to run xtro-sharpie in a 64-bit process. Now there is a 64-bit mono, so it's not needed anymore. Also improve makefile targets a bit, to auto-build stuff when needed, by setting the right dependencies. * Bump Xcode 9 to beta 6 (#2519) Disable watchOS tests again It seems like the Carousel crash from beta 4 is back to haunt us. This was working fine with beta 5. * Backport d15-3 SR2 fixes (#2515) * [coredata] Update to beta 6 (#2528) This seems to only revert some nullability changes from beta 5. * [coreml] Update to beta 6 (#2531) Fix our rdar 33643011 where additional setters were added in the headers but did not exists. * [videosubscriberaccount] Update to beta 6 (#2533) Only b1 and b2 introduced some additions/changes * [uikit] Update for Xcode 9 beta 6 - Part 4 (#2527) The following headers are now up to date: - UICollectionViewFlowLayout.h - UIDocumentPickerViewController.h - UIFontDescriptor.h - UIImage.h - UIImageView.h - UIImagePickerController.h * [xharness] Re-enable the watchOS tests. (#2534) It works fine for me locally, so let's see what Jenkins says. * [macos] Add new APIs in CoreWlan from Xcode9b3 (#2525) * Update AppKit bindings based on radar 33271241 results (#2518) * Update AppKit bindings based on radar 33271241 results - The header comment was updated to note it was NSSliderTouchBarItem view that has the protocol * Remove NSUserInterfaceCompression where not listed in header * [vision] Update to beta 6 (#2532) Removal of some deprecated (during beta) `init*` selectors. Also sync the versions that were inlined in subclasses - the old ones were not removed and the new ones were not added. * [xtro-sharpie] Many methods don't have selectors in Clang's API, so default to the name if no selector. (#2523) This makes a few more unclassified entries show up (mostly missing designated initializers): https://gist.github.com/rolfbjarne/07aa20f9b50b75bf3e69ac6a825e873a * [macos] Add ExternalAccessory APIs from xcode9 (#2526) * [58851] Disable NSMenuView in AllItemsWithNSMenuShouldAllowNull (#2504) * [arkit] Update for Xcode 9 beta 5 - Part 2 (#2505) - Add last missing selector. - Add tests for manual code. * [monotouch-test] Disable FontDescriptorTest.WithFeature (#2537) Disabled because it looks like the tvOS font we use: "Gujarati Sangam MN" does not have rare ligatures anymore (and the entire test is based on it). Before getting an actual fix for that, let's disable the test so it doesn't break all current builds. See: https://bugzilla.xamarin.com/show_bug.cgi?id=58929 * [xtro-sharpie] Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute. (#2524) Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute to calculate the native name for a TypeDefinition. Unclassified changes: https://gist.github.com/rolfbjarne/828f8ee41eebb0a3b60a38d71822fe59 * [foundation/uikit] Inline NSItemProvider_UIKitAdditions in NSItemProvider (#2538) As suggested here: https://github.com/xamarin/xamarin-macios/pull/2527#discussion_r134670981 * [intents] Fix breaking changes (api-diff) (#2543) Additions of @required members inside `INSpeakable` cannot be `[Abstract]` * [contacts] Fix breaking change (api-diff) (#2542) Type Changed: Contacts.CNPostalAddress Removed method: public static string LocalizeProperty (CNPostalAddressKeyOption option); * [macos] Reenable static registrar since Xcode9b6 un-broke SDK headers (#2544) - Fix a subtle spacing issues in PartialStaticLibrary property * [corebluetooth] Update up to beta 6 and enable it on watchOS (#2540) macOS 10.13 has finally catch up with iOS and this simplifies the bindings a bit. * [foundation] API fixes (apidiff) (#2545) 1. Let's not add new, already [Obsolete] API Type Changed: Foundation.NSDimension Added constructors: [Obsolete ("Not intended to be directly instantiated, this is an abstract class.")] public NSDimension (); 2. Fix inconsistently named API, e.g. Type Changed: Foundation.NSAttributedString Added properties: public static string[] ReadableTypeIdentifiersForItemProvider { get; } public static string[] WritableTypeIdentifiers { get; } * [pdfkit] Do not add already [Obsolete] API in new profiles (#2547) and ensure using the newer, correct API works cross-platforms iOS (before) [Obsolete ("Use 'Find (string, NSStringCompareOptions)' instead.")] public virtual PdfSelection[] Find (string text, nint options); public PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'Find (string, PdfSelection, NSStringCompareOptions)' instead.")] public virtual PdfSelection Find (string text, PdfSelection selection, nint options); public void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string, NSStringCompareOptions)' instead.")] public virtual void FindAsync (string text, nint options); public void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string [], NSStringCompareOptions)' instead.")] public virtual void FindAsync (string[] text, nint options); iOS (after) public virtual PdfSelection[] Find (string text, Foundation.NSStringCompareOptions compareOptions); public virtual PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); * Bump versions for the 7th preview (#2541) * Remove additions of AVKit removed in beta5 (#2536) * NSUrlSessionTask should implement NSProgressReporting for iOS (#2548) NSUrlSessionTask implements NSProgressReporting on iOS as well as Mac, so the #if MONOMAC isn't needed. * Add missing availability attributes causing failures on older iOS versions (#2550) * [vision] Minor fix wrt xtro (#2551) including some things we need to ignore manually !missing-field! VNVisionVersionNumber not bound !missing-pinvoke! VNImagePointForFaceLandmarkPoint is not bound !missing-pinvoke! VNNormalizedFaceBoundingBoxPointForLandmarkPoint is not bound * [uikit] NSFileProviderMessaging was removed in beta 2. Fixes #58222 (#2552) reference: https://bugzilla.xamarin.com/show_bug.cgi?id=58222 * [uikit] Update for Xcode 9 - Part 5 (#2546) Bindings for the following headers: - UIActivity.h - UIActivityItemProvider.h - UIAlertController.h - UIApplication.h - UIBarButtonItem.h - UIButton.h - UICollectionViewLayout.h - UIColor.h - UIControl.h - UIDocumentMenuViewController.h - UIFontMetrics.h - UIGestureRecognizer.h - UIGraphicsImageRenderer.h - UIInputViewController.h * [CoreText] Fix an extraneous free in CTFont.GetDefaultCascadeList. (#2555) We do not own the return value from CFArrayGetValueAtIndex, so don't say we do when creating CTFontDescriptor instances, since that leads to angry dragons: 2017-08-28 20:15:20.293 monotouchtest[33186:2311738] A_FontTest 2017-08-28 20:15:20.294 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithFontDescriptorAndOptions 2017-08-28 20:15:20.295 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithNameAndOptions 2017-08-28 20:15:20.296 monotouchtest[33186:2311738] critical: Stacktrace: at <unknown> <0xffffffff> at (wrapper managed-to-native) CoreText.CTFont.CTFontCopyDefaultCascadeListForLanguages (intptr,intptr) [0x0000a] in <ae65a2b1eea242d2b68fe784749543bf>:0 at CoreText.CTFont.GetDefaultCascadeList (string[]) [0x00013] in /work/maccore/xcode9/xamarin-macios/src/CoreText/CTFont.cs:2185 at MonoTouchFixtures.CoreText.A_FontTest.GetCascadeList () [0x0001e] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/CoreText/FontTest.cs:78 at (wrapper runtime-invoke) object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) [0x0004f] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) System.Reflection.MonoMethod.InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&) [0x00016] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at System.Reflection.MonoMethod.Invoke (object,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo) [0x00032] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/corlib/System.Reflection/MonoMethod.cs:305 at System.Reflection.MethodBase.Invoke (object,object[]) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/referencesource/mscorlib/system/reflection/methodbase.cs:229 at NUnit.Framework.Internal.Reflect.InvokeMethod (System.Reflection.MethodInfo,object,object[]) [0x00009] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Reflect.cs:215 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunNonAsyncTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x00025] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:116 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x0001a] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:90 at NUnit.Framework.Internal.Commands.TestMethodCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:66 at NUnit.Framework.Internal.Commands.SetUpTearDownCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00007] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/SetUpTearDownCommand.cs:84 at NUnit.Framework.Internal.WorkItems.SimpleWorkItem.PerformWork () [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/SimpleWorkItem.cs:64 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at MonoTouch.NUnit.UI.BaseTouchRunner.Run (NUnit.Framework.Internal.Test) [0x0004d] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:442 at MonoTouch.NUnit.UI.BaseTouchRunner.Run () [0x00030] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:171 at MonoTouch.Dialog.StringElement.Selected (MonoTouch.Dialog.DialogViewController,UIKit.UITableView,Foundation.NSIndexPath) [0x00008] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/Elements.cs:765 at MonoTouch.Dialog.DialogViewController.Selected (Foundation.NSIndexPath) [0x00026] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:577 at MonoTouch.Dialog.DialogViewController/Source.RowSelected (UIKit.UITableView,Foundation.NSIndexPath) [0x00016] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:402 at (wrapper runtime-invoke) <Module>.runtime_invoke_void__this___object_object (object,intptr,intptr,intptr) [0x0005d] in <32f0c196c5bc4aa18daea2ee64a7814e>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) UIKit.UIApplication.UIApplicationMain (int,string[],intptr,intptr) [0x0005c] in <ae65a2b1eea242d2b68fe784749543bf>:0 at UIKit.UIApplication.Main (string[],intptr,intptr) [0x00005] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:79 at UIKit.UIApplication.Main (string[],string,string) [0x00038] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:63 at monotouchtest.Application.Main (string[]) [0x00011] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/Main.cs:27 at (wrapper runtime-invoke) <Module>.runtime_invoke_void_object (object,intptr,intptr,intptr) [0x00051] in <30a7f7e09de9467b8b454221034a0e38>:0 Native stacktrace: 0 monotouchtest 0x000000010fca03c4 mono_handle_native_crash + 244 1 monotouchtest 0x000000010fcadd30 mono_sigsegv_signal_handler + 288 2 libsystem_platform.dylib 0x000000011feb3b3a _sigtramp + 26 3 CoreFoundation 0x000000011de035a2 computeSanitizedString + 146 4 CoreText 0x00000001168df314 _ZN15TPurgeableCache19RetainedValueForKeyEPKv + 54 5 CoreText 0x00000001168def85 _ZNK17TDescriptorSource22CopyDescriptorUncachedEPK7__CFURLbPK10__CFString + 55 6 CoreText 0x00000001168df34f _ZNK17TDescriptorSource14CopyDescriptorEPK7__CFURLbPK10__CFString + 27 7 CoreText 0x00000001168e20ad _ZNK17TDescriptorSource35CopyFontDescriptorPerPostScriptNameEPK10__CFStringmm + 297 8 CoreText 0x00000001168dfd9e _ZNK17TDescriptorSource30CopySystemFontDescriptorByNameEPK10__CFString10UIFontFlag + 54 9 CoreText 0x00000001168e54c4 _ZNK14TFontFallbacks17CopyFontFallbacksEPK10__CFStringS2_PK9__CFArray + 652 10 CoreText 0x00000001168e4a00 _ZNK14TFontFallbacks29CopyFontFallbacksForLanguagesEPK10__CFStringPK9__CFArray + 122 11 CoreText 0x00000001168e4971 _ZN17TDescriptorSource39CopyDefaultSubstitutionListForLanguagesEPK10__CFStringPK9__CFArray + 61 12 CoreText 0x00000001169397a7 _ZNK9TBaseFont28CreateSystemDefaultFallbacksEPK10__CFStringPK9__CFArray + 51 13 CoreText 0x000000011693999c _ZNK9TBaseFont15CreateFallbacksE10UIFontFlagPPK16__CFCharacterSetPK9__CFArray + 346 14 CoreText 0x00000001168c1036 _ZNK5TFont24CreateDefaultCascadeListEPK9__CFArray + 242 15 CoreText 0x00000001168b8ff9 CTFontCopyDefaultCascadeListForLanguages + 97 16 ??? 0x0000000140eaefd3 0x0 + 5384105939 17 ??? 0x0000000140eae761 0x0 + 5384103777 18 ??? 0x000000013c9c8e74 0x0 + 5311860340 19 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 20 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 21 monotouchtest 0x000000010fd71bac mono_runtime_try_invoke_array + 1292 22 monotouchtest 0x000000010fd15587 ves_icall_InternalInvoke + 647 23 ??? 0x000000013e9fcd13 0x0 + 5345627411 24 ??? 0x000000013e9fc738 0x0 + 5345625912 25 ??? 0x000000013e9fded5 0x0 + 5345631957 26 ??? 0x000000013e9fbb76 0x0 + 5345622902 27 ??? 0x000000013e9e237e 0x0 + 5345518462 28 ??? 0x000000013e9e237e 0x0 + 5345518462 29 ??? 0x000000013e9e237e 0x0 + 5345518462 30 ??? 0x000000013e9e237e 0x0 + 5345518462 31 ??? 0x000000013e873006 0x0 + 5344014342 32 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 33 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 34 monotouchtest 0x000000010fd6e320 mono_runtime_invoke + 208 35 monotouchtest 0x000000010fe71af1 xamarin_invoke_trampoline + 5617 36 monotouchtest 0x000000010fe79ddd xamarin_arch_trampoline + 189 37 monotouchtest 0x000000010fe7b1a1 xamarin_x86_64_common_trampoline + 110 38 UIKit 0x0000000111b9876b -[UITableView _selectRowAtIndexPath:animated:scrollPosition:notifyDelegate:] + 1810 39 UIKit 0x0000000111b98986 -[UITableView _userSelectRowAtPendingSelectionIndexPath:] + 344 40 UIKit 0x0000000111a6b5c9 _runAfterCACommitDeferredBlocks + 318 41 UIKit 0x0000000111a59dad _cleanUpAfterCAFlushAndRunDeferredBlocks + 280 42 UIKit 0x0000000111a89f68 _afterCACommitHandler + 137 43 CoreFoundation 0x000000011de3ddb7 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23 44 CoreFoundation 0x000000011de3dd0e __CFRunLoopDoObservers + 430 45 CoreFoundation 0x000000011de22324 __CFRunLoopRun + 1572 46 CoreFoundation 0x000000011de21a89 CFRunLoopRunSpecific + 409 47 GraphicsServices 0x0000000121b7e9c6 GSEventRunModal + 62 48 UIKit 0x0000000111a5f7d0 UIApplicationMain + 159 49 ??? 0x000000013c9c4474 0x0 + 5311841396 50 ??? 0x000000013c9c40ad 0x0 + 5311840429 ================================================================= Got a SIGSEGV while executing native code. This usually indicates a fatal error in the mono runtime or one of the native libraries used by your application. ================================================================= * [monotouch-test] Don't subclass MKMapView. (#2556) MKMapView doesn't like being subclassed (Apple says "you should not subclass the MKMapView class itself"). Bad things like this starts happening: Thread 0 name: tid_303 Dispatch queue: com.apple.main-thread Thread 0 Crashed: 0 libsystem_kernel.dylib 0x0000000186b25348 __pthread_kill + 8 1 libsystem_pthread.dylib 0x0000000186c39354 pthread_kill$VARIANT$mp + 396 2 libsystem_c.dylib 0x0000000186a94fd8 abort + 140 3 monotouchtest 0x0000000101c02c14 mono_handle_native_crash + 22047764 (mini-exceptions.c:2548) 4 monotouchtest 0x0000000101c0d02c mono_sigsegv_signal_handler + 22089772 (mini-runtime.c:2886) 5 libsystem_platform.dylib 0x0000000186c33b60 _sigtramp + 52 6 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 7 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 8 CoreFoundation 0x0000000186eda51c -[__NSArrayM dealloc] + 68 9 CoreFoundation 0x000000018703f5c8 __CFBasicHashDrain + 312 10 CoreFoundation 0x0000000186fb5b44 _CFRelease + 224 11 CoreText 0x000000018a808404 TDescriptorSource::PurgeFontFallbacksCache+ 488452 () + 92 12 CoreText 0x000000018a808374 TDescriptorSource::PurgeFromCaches+ 488308 (__CFURL const*) const + 176 13 CoreText 0x000000018a7eec74 CTFontRemoveFromCaches + 168 14 VectorKit 0x0000000196a539b0 +[VKSharedResourcesManager removeResourceUser:] + 324 15 VectorKit 0x0000000196ca27a4 md::MapEngine::~MapEngine+ 2643876 () + 360 16 VectorKit 0x0000000196ca2634 md::MapEngine::~MapEngine+ 2643508 () + 12 17 libobjc.A.dylib 0x000000018651eef4 object_cxxDestructFromClass+ 28404 (objc_object*, objc_class*) + 148 18 libobjc.A.dylib 0x000000018652c638 objc_destructInstance + 88 19 libobjc.A.dylib 0x000000018652c690 object_dispose + 16 20 QuartzCore 0x000000018afca3ac -[CALayer dealloc] + 116 21 VectorKit 0x0000000196a43294 -[VKMapView dealloc] + 940 22 QuartzCore 0x000000018af6aafc CA::release_objects+ 744188 (X::List<void const*>*) + 32 23 QuartzCore 0x000000018afd97d8 CA::Layer::~Layer+ 1198040 () + 276 24 QuartzCore 0x000000018afca37c -[CALayer dealloc] + 68 25 QuartzCore 0x000000018af6b16c CA::Transaction::commit+ 745836 () + 1052 26 UIKit 0x0000000190393290 _afterCACommitHandler + 256 27 CoreFoundation 0x0000000186fb38b8 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 32 28 CoreFoundation 0x0000000186fb1270 __CFRunLoopDoObservers + 412 29 CoreFoundation 0x0000000186fb182c __CFRunLoopRun + 1292 30 CoreFoundation 0x0000000186ed22d8 CFRunLoopRunSpecific + 436 31 GraphicsServices 0x0000000188d58f84 GSEventRunModal + 100 32 UIKit 0x000000019040427c UIApplicationMain + 208 33 monotouchtest 0x000000010106eb90 wrapper_managed_to_native_UIKit_UIApplication_UIApplicationMain_int_string___intptr_intptr + 9907088 (/<unknown>:1) 34 monotouchtest 0x0000000100f0d6ac UIKit_UIApplication_Main_string___intptr_intptr + 8459948 (UIApplication.cs:79) 35 monotouchtest 0x0000000100f0d66c UIKit_UIApplication_Main_string___string_string + 8459884 (UIApplication.cs:63) 36 monotouchtest 0x0000000100b10450 monotouchtest_Application_Main_string__ + 4277328 (Main.cs:27) 37 monotouchtest 0x0000000100e0c244 wrapper_runtime_invoke_object_runtime_invoke_dynamic_intptr_intptr_intptr_intptr + 244 38 monotouchtest 0x0000000101c10048 mono_jit_runtime_invoke + 22102088 (mini-runtime.c:2526) 39 monotouchtest 0x0000000101c75eec do_runtime_invoke + 22519532 (object.c:2829) 40 monotouchtest 0x0000000101c78a3c do_exec_main_checked + 22530620 (object.c:4623) 41 monotouchtest 0x0000000101bf9a1c mono_jit_exec + 22010396 (driver.g.c:1040) 42 monotouchtest 0x0000000101d13d60 xamarin_main + 23166304 (monotouch-main.m:482) 43 monotouchtest 0x00000001007de710 main + 927504 (main.m:67) 44 libdyld.dylib 0x00000001869f656c start + 4 * [introspection] Let SkipDueToAttributeInProperty skip setters too (#2557) `SkipDueToAttributeInProperty` which is used to check the availability attribute of properties when the Availability info only exist on the property and not on the property Getter or Setter was wrong. This lead to `setSpringLoaded` (which was introduced in iOS 11) to not be ignored by the test (making it fail). - Fix bug #59085: [introspection-ios] selector not found for UIKit.UIBarButtonItem : setSpringLoaded: - Broken test (https://bugzilla.xamarin.com/show_bug.cgi?id=59085) * [corevideo][watchos] Enable CoreVideo on watchOS (#2553) * [storekit] Fix CampaignToken typo (#2559) (#2560) - Fixes bug #59078: StoreProductParameters and invalid property for CampaignToken (https://bugzilla.xamarin.com/show_bug.cgi?id=59078) * [coreml][watchos] Enable API using CoreVideo on watchOS. Fix #58097 (#2561) https://bugzilla.xamarin.com/show_bug.cgi?id=58097 * Add missing [MarshalDirective] attributes. (#2558) * [bindings-generator] Improve build & project file. * Add missing [MarshalDirective] attributes. Add missing [MarshalDirective] attributes, which also requires implementing support for out parameters in the binding generator, since one of the signatures missing the [MarshalDirective] contains such an out parameter. Also add tests for all the API I've added [MarshalDirective] to. * [bindings-generator] Remove redundant if check. * [monotouch-test] Rename file to end with 'Test.cs'. * [tests] Fix a few build errors for Xamarin.Mac. * [uikit] Fix UIColor and UIInputViewController tvOS availability (#2569) - Fixes introspection tests on tvOS 10. * [storekit] Fix SKCloudServiceSetupMessageIdentifier and SKProductStorePromotionController tvOS availability (#2568) - Fixes introspection tests on tvOS 10. * [mapkit] Fix MKMapItemTypeIdentifier tvOS availability (#2566) - Also remove double [Mac] availability attribute. - Fixes introspection tests on tvOS 10. * [ARKit] Fix marshalling for ARPointCloud.RawFeaturePoints. (#2565) ARPointCloud.RawFeaturePoints is an array of Vector3, but each vector is 16-byte aligned (as if it were an array of Vector4). This means we need to account for this when creating a managed array from pointer to the native C-style array. * [ModelIO] Fix MDLVoxelIndexExtent struct. (#2564) The MDLVoxelIndexExtent is a struct containing two 4-dimensional vectors of integers (not floats, as originally and incorrectly implemented). Fix this my creating a new MDLVoxelIndexExtent2 struct with the right fields, re-implement all the API that exposes this struct and obsolete the old API. Also add missing [MarshalDirective] attributes. And write a test to make sure it works fine now and forever. * [coredata] Enable new fields since rdar #33878590 is fixed w/beta 6 (#2570) reference: https://trello.com/c/dlSRYPFx * [xtro-sharpie] Add a Simd check class to verify signatures with Simd types. * [Simd] Add simd matrix types. The OpenTK matrices (Matrix2/3/4) has a different memory layout than Apple's matrix_float2x2/matrix_float3x3/matrix_float4x4 matrices: the OpenTK versions are row-major, while Apple's versions are column-major. This means that when blitting memory from one to the other, the matrix will appear to have been transposed. See bug #[58599][2] for an example. Unfortunately we've already bound several API with Apple's matrix_floatXxX matrices using OpenTK's matrices, and although they're bound wrong, and the matrices appear transposed on input/output, we can't change the behavior because we have to maintain compatibility. This means we have to introduce new API, and then also just define new matrix types with the right memory layout (column-major). Additionally, in the future we might be able to mark these matrices as Simd-matrixes, so that the JIT/AOT compiler can generate the correct alignment for them, avoiding having to define a native conversion method (using the [MarshalDirective] hack). The matrices have been designed to match API-wise the matrices in the System.Numerics.Vectors namespace [1], but for the moment with only a few basic operations implemented (Determinant/Transpose/Multiply) defined (we can always add more later if we want to). In addition explicit conversion operators to and from the corresponding OpenTK.MatrixX are implemented, which means any operation defined in the OpenTK matrices can be used by converting back and forth. [1]: https://msdn.microsoft.com/en-us/library/system.numerics.matrix4x4(v=vs.111).aspx [2]: https://bugzilla.xamarin.com/show_bug.cgi?id=58599 * [ARKit] Use the new Simd matrix types. * [Vision] Use the new Simd matrix types. * [ModelIO] Use the new Simd-compatible matrix types, and deprecate the old API. * [GameplayKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [SpriteKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [xtro] Don't report missing [MarshalDirective] for obsolete methods. * [xtro] Remove unnecessary ignores. The implementation changed, and these stayed accidentally. * [wkwebkit] Fix (native) protocol names (#2572) Also ignore xtro's WKSnapshotConfiguration since it's an Apple bug 34185961 reference (xtro) !missing-protocol! WKURLSchemeHandler not bound !missing-protocol! WKURLSchemeTask not bound !unknown-protocol! WKUrlSchemeHandler bound !unknown-protocol! WKUrlSchemeTask bound !unknown-type! WKSnapshotConfiguration bound * [uikit] Fix enums availability attributes (#2575) - Fixes bug #59132: [uikit] Extra types in watchOS (https://bugzilla.xamarin.com/show_bug.cgi?id=59132) * [watchkit] Add missing designated initializers (#2574) references (xtro) !missing-designated-initializer! WKInterfaceController::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! WKUserNotificationInterfaceController::init is missing an [DesignatedInitializer] attribute * [xtro] Reword some of the Simd diagnostic messages according to review. * [tests] Make sure test symbols don't clash between different test libraries. Fixes this build problem for framework-test: clang: error: linker command failed with exit code 1 (use -v to see invocation) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_get_rotation_matrix'. MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticObjectTest.framework/XStaticObjectTest (Location related to previous error) MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticArTest.framework/XStaticArTest(libtest-ar.x86_64.o) (Location related to previous error) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransformcomponent_get_local_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_create_global_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float4x4'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float3x3'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float2x2'. MTOUCH: error MT5209: Native linking error: 6 duplicate symbols for architecture x86_64 MTOUCH: error MT5202: Native linking failed. Please review the build log. * [tests] Since libtest.a need ModelIO now, the corresponding LinkWith attributes need to state that too. * [introspection] Don't check native signatures on obsolete members, and ignore the right simd matrix types. Fixes this introspection/Mac problem: ***** ApiSignatureTest.NativeSignatures Selector: uniformWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: uniformWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: uniformWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: setMatrixFloat2x2Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: setMatrixFloat3x3Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: setMatrixFloat4x4Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: initWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: initWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: initWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded * [monotouch-tests] Include more custom asserts for watchOS to make the build work. Fixes this: Simd/MatrixFloat4x4Test.cs(28,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(29,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(37,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(48,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' [...] * [monotouch-test] Exclude code that requires the binding project from xammac tests. Exclude code that requires the test binding project from xammac tests because there's currently no XM version of the test binding project. Fixes this: tests/monotouch-test/SpriteKit/UniformTest.cs(20,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLMaterialProperty.cs(37,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLTransform.cs(34,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) * Bump version for preview #8 (#2576) * [spritekit] Audit fixes (xtro) (#2577) 1. SKVideoNode is now, partially, available on watchOS and does not require the extra, manual code to swicth selectors depending on the OS version being run. !missing-type! SKVideoNode not bound !missing-selector! SKVideoNode::anchorPoint not bound !missing-selector! SKVideoNode::initWithCoder: not bound !missing-selector! SKVideoNode::initWithFileNamed: not bound !missing-selector! SKVideoNode::initWithURL: not bound !missing-selector! SKVideoNode::setAnchorPoint: not bound !missing-selector! SKVideoNode::setSize: not bound !missing-selector! SKVideoNode::size not bound !missing-selector! +SKVideoNode::videoNodeWithFileNamed: not bound !missing-selector! +SKVideoNode::videoNodeWithURL: not bound 2. SKNodeFocusBehavior is exposed needlessly on watchOS because SpriteKit/Enums.cs was not processed by the generator, so [NoWatch] did not matter. !unknown-native-enum! SKNodeFocusBehavior bound It's also visible on macOS but nothing uses it (so we do not expose it needlessly) !missing-enum! SKNodeFocusBehavior not bound 3. Add missing designated initializer on default `init` !missing-designated-initializer! SKAttributeValue::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! SKNode::init is missing an [DesignatedInitializer] attribute 4. Remove inconsistency for SKNode subclasses wrt XAMCORE_4_0 The trio attributeValues, setAttributeValues and setValue:forAttributeNamed: that was moved from SKNode (deprecated) into its subclasses. This was done using XAMCORE_4_0 but not on every subclasses. This adds them everywhere to be consistent (only SKNode versions are not defined in XAMCORE_4_0) !missing-selector! SKEffectNode::attributeValues not bound !missing-selector! SKEffectNode::setAttributeValues: not bound !missing-selector! SKEffectNode::setValue:forAttributeNamed: not bound !missing-selector! SKEffectNode::valueForAttributeNamed: not bound !missing-selector! SKEmitterNode::attributeValues not bound !missing-selector! SKEmitterNode::setAttributeValues: not bound !missing-selector! SKEmitterNode::setValue:forAttributeNamed: not bound !missing-selector! SKEmitterNode::valueForAttributeNamed: not bound !missing-selector! SKSpriteNode::attributeValues not bound !missing-selector! SKSpriteNode::setAttributeValues: not bound !missing-selector! SKSpriteNode::setValue:forAttributeNamed: not bound !missing-selector! SKSpriteNode::valueForAttributeNamed: not bound * [introspection] Make sure '[FAIL]' is printed before every failure. (#2578) This makes xharness able to list the failures in the inline summary. * [xtro] Reword some of the Simd diagnostic messages according to review. * [xharness] Add a missing IsServerMode check to generate correct html. (#2581) * [SpriteKit] SKTransformNode is new in Xcode 9 so no need to keep the broken (and obsolete) non-simd version of RotationMatrix. * [intents] Fix some (partial) xtro issues and #59156 (#2585) reference https://bugzilla.xamarin.com/show_bug.cgi?id=59156 Remaining issues are filled in https://bugzilla.xamarin.com/show_bug.cgi?id=59183 !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound * [Intents] Confirm* interface methods should be bound as Confirm, Fixes Bug 59164 (#2591) * [Intents] Confirm* interface methods should probably be bound as Confirm, Fixes Bug 59164 https://bugzilla.xamarin.com/show_bug.cgi?id=59164 All Confirm* methods from *IntentHandling interfaces should be named just `Confirm` to avoid confusion because most of them do not directly confirm as an acion, but instead they **ask** for confirmation also we would follow swift's naming by doing this. * [Intents] XAMCORE_4_0 all Confirm* methods from *IntentHandling Turns any Confirm* into just Confirm inside a XAMCORE_4_0 block, * [Intents] Fix breaking changes in Intents added in Xcode 9 Bindings (#2590) Apple added more protocol conformances to INRidesharingDomainHandling and INPaymentsDomainHandling protocols in Xcode 9, I introduced these breaking changes back when I did intents binding so fixing them :) * [Metal] New bindings from Xcode 9 betas (#2457) * [AVFoundation] Updated bindings for xcode9. (#2272) * [Xcode9] Add IOSurface bindings (#2363) * This framework was a private framework before iOS 11. This framework was a private framework before iOS 11, yet the headers claim many API were introduced in iOS 10. So take account of this difference by using the private framework location in iOS 10.3 or earlier. Testing these API from Xcode works fine when run on an iOS 10.3 device, and I've confirmed the IOSurface framework is loaded from the private frameworks path on older devices (and when built using Xcode 9 and linked with the public framework path). * Disable code to make IOSurface work on iOS 10. Disable the code to make IOSurface work on iOS 10, since it may be rejected by the App Store. This also means adjusting the availability attributes, so that the introspection tests pass (and to document that technically these API won't work when used with Xamarin.iOS in iOS 10). I've filed bug #[59201][1] to keep track of this, maybe we can re-enable this later. [1]: https://bugzilla.xamarin.com/show_bug.cgi?id=59201 * [CoreMedia] Fix leak in CMAttachmentBearer.GetAttachments. (#2593) The caller owns the return value from CMCopyDictionaryOfAttachments, so tell Runtime.GetNSObject that. * [Intents] Adds missing API found by xtro, fixes Bug 59183 (#2596) https://bugzilla.xamarin.com/show_bug.cgi?id=59183 Fixes !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !incorrect-protocol-member! INUIHostedViewControlling::configureWithInteraction:context:completion: is OPTIONAL and should NOT be abstract * [xtro] Fix StartWorkingDirectory to enable debugging (#2598) * [iosurface] Enable for tvOS and XM classic (to avoid multiple defines around consumer API) (#2597) * [xtro] Fix EnumCheck (#2600) * [ARKit] Rename a few method to make them nicer. (#2604) * DisplayTransform -> GetDisplayTransform since methods should have verbs. * SessionWasInterrupted -> WasInterrupted and SessionInterruptionEnded -> InterruptionEnded since these names match better with the other names (CameraDidChangeTrackingState / DidFail / DidOutputAudioSampleBuffer: none are prefixed with 'Session'). Additionally, the type is a Model (for the delegate pattern), which means all methods are more-or-less event-like, and the first argument is always the same (the protocol itself), which is another indicator the methods should be named similarly. * [Foundation] Remove 'Key' suffix from some fields. (#2606) Of the 168 fields in NSMetadataItem, only these 5 hadn't removed the 'Key' suffix. So make them all equivalent by removing the 'Key' suffix from these 5 fields. * [ImageIO] Fix API to not duplicate the instance in instance methods. (#2609) An instance method does not need to take the instance as a parameter, so remove the first (instance) parameter for CGImageDestination.AddAuxiliaryDataInfo and CGImageSource.CopyAuxiliaryDataInfo. An alternative solution would be to make the methods static, but I like the instance API better. * [UIKit] De-model UIDataSourceTranslating. (#2603) It's not clear from neither the documentation nor the headers how this protocol is supposed to be used, and since it doesn't correspond to the delegate pattern, remove the [Model] attribute for now. We can always add it back later. * [CoreML] Improve API. (#2592) * [CoreML] Improve API. * The indices, shape and stride properties for MLMultiArray and MLMultiArrayConstraint can logically only be arrays of integers, so type them as such. This means adding overloads for MLMultiArray's constructors, GetObject and SetObject methods, and the indexers that takes nint[] arrays instead of NSNumber[] arrays. * Change MLFeatureValue's static factory methods to be a method ('Create') instead of a preposition, and call all the different factory methods the same, since they can be overloaded nicely. * [tests][monotouch-test] Add version check to MLMultiArrayTest and make sure the arrays we create are big enough for the data we put in them. * [tests][monotouch-test] MLMultiArray's elements aren't zero-initialized, so don't assume that in the tests. * Support overloading Objective-C methods based on static/instance. (#2607) Two Objective-C methods can be named identically as long as one is static and the other instance. We must support this since Apple did just this (in the NSItemProviderReading / NSItemProviderWriting protocols). We solve it by prepending a '+' or '-' to the selector when hashing it (to determine selector uniqueness, and to look the method up again at runtime). * [uikit] Update for Xcode 9 - Part 6 (#2602) NSAttributedString.h NSFileProviderExtension.h NSLayoutAnchor.h UIAccessibility.h UIAccessibilityAdditions.h UIAccessibilityContainer.h UIAccessibilityContentSizeCategoryImageAdjusting.h UIAccessibilityCustomRotor.h UIAccessibilityLocationDescriptor.h UITabBar.h UINavigationBar.h UIScreen.h * Xcode9 scenekit (#2512) * [SceneKit] basic work * Added key * [xcode9] SCNCameraController * [xcode9] SCNCamera updates * [xcode9] SCNMaterial * [xcode9] SCNGeometryTessellator, SCNCameraControlConfiguration, SCNView, small bits * Add trailing commas to last enum value * Remove whitespace noise * [scenekit] Update deprecated attributes messages * Addresses some of Rolf's feedback * Drop the WeakDelegate in SCNCameraController * Rename method to Render, remove ctor from class that can not be constructed in Palygrounds, add typo exception * [AppKit] Rename NSBezierPath.AppendBezierPathWithCGGlyph to match its sibling methods. (#2605) NSBezierPath contains a lot of 'AppendPathWithXXX' methods, that all map to 'appendBezierPathXXX' selectors. So rename AppendBezierPathWithCGGlyph accordingly, to make it more similar to the other methods in the same type. * [uikit] Add all UISpringLoadedInteractionSupporting (#2616) Types do not conform to the protocol but protocol methods work on those types (see monotouch-test). Fixed introspection tests accordingly and tested the selectors in monotouch-test. * [Intents] Add convenience ctor overload and call correct base ctor in manual ctor. (#2613) Add a convenience constructor overload in INGetUserCurrentRestaurantReservationBookingsIntent that uses nint instead of NSNumber, since logically "number of results" will always be some sort of integer. Also call the correct base constructor in INSpeakableString's custom constructor (same as any other generated constructor). Otherwise we end up doing something like this: [[[INSpeakableString alloc] init] initWith ...], i.e. calling two different init methods. * [coreimage] Add new headers API up to beta 6 (#2601) Filters are not complete (ref: #57350) https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * Some new constants are not yet documented (type is known), so they are commented / ignored https://bugzilla.xamarin.com/show_bug.cgi?id=59296 * Filled bug for [Wrap] inside [Category] so strong dictionary helpers can be re-enabled later https://bugzilla.xamarin.com/show_bug.cgi?id=59294 * [foundation] xtro fixes for watchOS (#2586) !missing-enum! NSProcessInfoThermalState not bound !missing-field! NSProcessInfoThermalStateDidChangeNotification not bound !missing-selector! NSProcessInfo::thermalState not bound Headers are wrong and preferredPresentationStyle is not in tvOS and watchOS !missing-selector! NSItemProvider::preferredPresentationStyle not bound !missing-selector! NSItemProvider::setPreferredPresentationStyle: not bound * [uikit] Also remove UIPreferredPresentationStyle enum from platform where it's not used * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. (#2614) * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. * NSItemProviderWriting: * NSItemProviderReading: Implement correctly and completely by uncommenting commented out code. * NSMutableString: * NSAttributedString: remove inlined members, since these classes don't implement NSItemProviderReading / NSItemProviderWriting (according to the headers at least). * NSUrl: all platforms now seem to implement NSItemProviderReading / NSItemProviderWriting. * NSString: all platforms now seem to implement both NSItemProviderReading and NSItemProviderWriting * UIColor: * UIImage: Update inlined protocol members according to the latest beta. Additionally, due to the following conditions: * The protocols all have the correct members now. * In the API definition we tell the generator to inline members from a protocol by inheriting from the corresponding interface. * The generator doesn't inline static members from protocols. several 'new' keywords had to be added to silence a compiler warning that occurrs when we manually inline a static member, since the member would be included in the type both from the inherited interface and the manual implementation. * [Foundation] Comment out NSItemProviderWriting.GetItemProviderVisibility to avoid inlining/generating unusable methods. NSItemProviderWriting.GetItemProviderVisibility is an optional method, and none of the native classes that implements NSItemProviderWriting actually imlements the method. This means inlining the method in those classes ends up creating unusable API; so just comment out the method to avoid generating the unusable API. The introspection tests found this: [FAIL] Foundation.NSString : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Foundation.NSUrl : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Contacts.CNContact : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] MapKit.MKMapItem : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIColor : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIImage : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] iOSApiSelectorTest.ApiSelectorTest.StaticMethods : 6 errors found in 2348 static selector validated: See also https://bugzilla.xamarin.com/show_bug.cgi?id=59308 * [iosurface] Add missing [TV] attributes (#2619) * [opengles] Enable the new API using IOSurface (#2618) The symbol only exists inside device libraries, not on simulator, and the introspection tests were updated to ignore it. Part of https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [avfoundation][watchos] Enable AudioBufferList (fix #59145) + audit (xtro) (#2617) 1. AudioBufferList is part of CoreAudio (wrong namespace, which needs a few changes in the generator) and now available in watchOS 4 https://bugzilla.xamarin.com/show_bug.cgi?id=59145 2. Also fixes xtro found issues: !missing-type! AVAudioRecorder not bound !missing-selector! AVAudioRecorder::averagePowerForChannel: not bound !missing-selector! AVAudioRecorder::channelAssignments not bound !missing-selector! AVAudioRecorder::currentTime not bound !missing-selector! AVAudioRecorder::delegate not bound !missing-selector! AVAudioRecorder::deviceCurrentTime not bound !missing-selector! AVAudioRecorder::format not bound !missing-selector! AVAudioRecorder::initWithURL:format:error: not bound !missing-selector! AVAudioRecorder::initWithURL:settings:error: not bound !missing-selector! AVAudioRecorder::isMeteringEnabled not bound !missing-selector! AVAudioRecorder::isRecording not bound !missing-selector! AVAudioRecorder::peakPowerForChannel: not bound !missing-selector! AVAudioRecorder::recordAtTime: not bound !missing-selector! AVAudioRecorder::recordAtTime:forDuration: not bound !missing-selector! AVAudioRecorder::recordForDuration: not bound !missing-selector! AVAudioRecorder::setChannelAssignments: not bound !missing-selector! AVAudioRecorder::setDelegate: not bound !missing-selector! AVAudioRecorder::setMeteringEnabled: not bound !missing-selector! AVAudioRecorder::settings not bound !missing-selector! AVAudioRecorder::url not bound !missing-protocol! AVAudioRecorderDelegate not bound !missing-selector! AVAudioEngine::inputNode not bound !missing-selector! AVAudioEngine::manualRenderingBlock not bound !missing-selector! AVAudioInputNode::setManualRenderingInputPCMFormat:inputBlock: not bound !missing-selector! AVAudioPlayer::format not bound !missing-selector! AVAudioSession::requestRecordPermission: not bound !unknown-field! AVFileType3GPP bound !unknown-field! AVFileType3GPP2 bound !unknown-field! AVFileTypeAC3 bound !unknown-field! AVFileTypeAIFC bound !unknown-field! AVFileTypeAIFF bound !unknown-field! AVFileTypeAMR bound !unknown-field! AVFileTypeAVCI bound !unknown-field! AVFileTypeAppleM4A bound !unknown-field! AVFileTypeAppleM4V bound !unknown-field! AVFileTypeCoreAudioFormat bound !unknown-field! AVFileTypeDNG bound !unknown-field! AVFileTypeEnhancedAC3 bound !unknown-field! AVFileTypeHEIC bound !unknown-field! AVFileTypeHEIF bound !unknown-field! AVFileTypeJPEG bound !unknown-field! AVFileTypeMPEG4 bound !unknown-field! AVFileTypeMPEGLayer3 bound !unknown-field! AVFileTypeQuickTimeMovie bound !unknown-field! AVFileTypeSunAU bound !unknown-field! AVFileTypeTIFF bound !unknown-field! AVFileTypeWAVE bound * [Metal] Implement API using IOSurface now that IOSurface is implemented. Partially fixes #58054. (#2621) https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [PdfKit] Improve PdfAnnotation.QuadrilateralPoints binding by making it strongly typed. (#2620) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). (#2622) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). * [ARKit/Vision] Use the new simd vector types instead of the OpenTK versions. * [ModelIO] Use the new simd vectors in new API (MDLVoxelIndexExtent2). This way we won't have to create a MDLVoxelIndexExtent3 in the future. * [SpriteKit] Use the new simd vectors in new API. * [metal] Audit (xtro) based fixes (#2623) !extra-protocol-member! unexpected selector MTLArgumentEncoder::newArgumentEncoderForBufferAtIndex: found !extra-protocol-member! unexpected selector MTLComputeCommandEncoder::dispatchThreads:threadsPerThreadgroup: found macos-only !missing-field! MTLDeviceRemovalRequestedNotification not bound !missing-field! MTLDeviceWasAddedNotification not bound !missing-field! MTLDeviceWasRemovedNotification not bound !missing-pinvoke! MTLCopyAllDevices is not bound * [CloudKit] Update bindings to beta 6. (#2615) * [FileProvider] Turn NSFileProviderItemIdentifier enum into a static class, fixes bug 59329 (#2634) https://bugzilla.xamarin.com/show_bug.cgi?id=59329 At the time of binding NSFileProviderItemIdentifier it wasn't clear how it was supposed to be used, I mean apple provides two keys which I thought were the only possible values hence binding it as an smart enum. Unfortunately this wasn't the case and the user can use those two values provided from the SDK or their own NSString Identifier. Swift provides a wrapper unfortunately we can't do the same due to NSFileProviderItemIdentifier is used in the NSFileProviderItem protocol and we currently do not support changing signatures on them. * [mtouch] Teach mtouch about the 'IOSurface' framework for tvOS. Fixes #59333. (#2630) https://bugzilla.xamarin.com/show_bug.cgi?id=59333 * Bump Touch.Unit to get fix for API breakage. (#2631) spouliot/Touch.Unit@8f1e19d [NUnitOutputTextWriter] Reintroduce previous constructor to make sure we don't break binary ABI. spouliot/Touch.Unit@00b0c0b [NUnitOutputTextWriter] Don't write invalid xml comments. spouliot/Touch.Unit@de9fe20 [TouchRunner] Restore the original code path when not wrapping NUnit xml output. * [IOSurface] Add missing availability attributes for tvOS. (#2629) * Bump versions for preview 9 (#2624) * [AVFoundation] Add missing interface AVRouteDetector. (#2637) * [tests] Update xtro to reduce list sizes (#2636) * Skip OpenTK duplicate declaration (we can't change them); * Fix rule name change for ARKit / simd; * Add missing default initializer on `init` to pending actions; * Add note for AVPersistableContentKeyRequest changes wrt tvOS; * [ReplayKit] Make RPBroadcastActivityViewController.LoadBroadcastActivityViewController async-capable. (#2639) * [xcode9] More SceneKit bindings (#2633) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 (#2644) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 https://bugzilla.xamarin.com/show_bug.cgi?id=59380 vector_float3 is 16 bytes, which means the binding is incorrect, because Vector3 is 12 bytes, and our code does not that difference into account. * Add tests * [DeviceCheck] Disable default ctor for DCDevice. (#2642) It doesn't seem to be useful according to the documentation, since it appears that the only way to get an instance is to use the static CurrentDevice property. * [audiounit] Audit (xtro) fixes for tvOS (#2635) Availability attributes in non-generated files don't hide symbols/code. reference: !unknown-pinvoke! AudioUnitExtensionCopyComponentList bound !unknown-pinvoke! AudioUnitExtensionSetComponentList bound * [tests] Make sure tvOS tests don't use the (unexisting) API * [tests] Add all test project variations to tests-mac.sln (#2579) * [xharness] Make sure generated mac projects have different project guids. * [introspection] Change the project guid so that it doesn't match the dontlink-mac project guid. * [tests] Add all test project variations to tests-mac.sln. * [xharness] Fix else condition. * [FileProvider] Adds missing NSFileProviderPage constants, fixes bug 59297. (#2646) https://bugzilla.xamarin.com/show_bug.cgi?id=59297 Adds NSFileProviderInitialPageSortedByName and NSFileProviderInitialPageSortedByDate NSData constants * [Xcode9] Remove NSFileProviderMessage and NSFileProviderMessageInterface (#2647) APIs were removed in beta 2 * [Foundation/UIKit] Provide LoadObject[s] methods that return the expected type in the callback. Fixes #59049. (#2638) The callback for these LoadObject[s] methods take an INSItemProviderReading parameter. This tells our runtime that we must provide an instance of a managed object that implements this interface (but nothing else), so we create a `NSItemProviderReadingWrapper` instance, which complies with the API (since the wrapper type implements the corresponding interface). Unfortunately these methods are supposed to return an instance of the passed- in type, so in order to comply with this soft (documentation-only) requirement, provide a wrapper method that creates instances of the right types. https://bugzilla.xamarin.com/show_bug.cgi?id=59049 * [arkit] Ignore deprecated selectors (#2645) * [FileProvider] Adds missing protocol and keys from audit (#2652) ``` !missing-protocol! NSFileProviderServiceSource not bound !missing-field! NSFileProviderErrorCollidingItemKey not bound !missing-field! NSFileProviderErrorNonExistentItemIdentifierKey not bound !missing-field! NSFileProviderFavoriteRankUnranked not bound ``` Also adds `NSXpcListenerEndpoint` to foundation, needed by `NSFileProviderServiceSource` protocol. * [tests][xtro] Workaround xtro runner dupe entry exception and update data files (#2654) * [AVFoundation] Rename field to match others. (#2657) * [homekit] Audit (xtro) fixes (#2653) - HMCharacteristicEvent conforms to NSMutableCopying on iOS11 which makes it 64 bits only (so adjust intro tests) - Ignore extra setters on HMMutablePresenceEvent, rdar 33883958 !missing-selector! HMMutablePresenceEvent::setPresenceEventType: not bound !missing-selector! HMMutablePresenceEvent::setPresenceUserType: not bound * [xtro] Add missing pinvoke to pending (#2662) - Bug 59422: [uikit] Missing UIContentSizeCategoryCompareToCategory & UIContentSizeCategoryIsAccessibilityCategory (https://bugzilla.xamarin.com/show_bug.cgi?id=59422) * Merge latest d15-3 fixes into xcode9 (#2660) * [msbuild] Re-added wildcard (*) expandsion for application-identifier in Entitlements.plist (#2186) Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=57119 * Bump mono (#2213) * Framework tests were still binding non-linked Simple class which errors now (#2216) (#2218) - Improve Makefile to rebuild when projects build with errors * Bump mono to get cecil fix for bug #56808. (#2222) https://bugzilla.xamarin.com/show_bug.cgi?id=56808 * [msbuild] Use @(ReferencePath) instead of @(ResolvedFiles) (#2188) (#2214) This allows things to work on both xbuild and msbuild. In xbuild, both lists are exactly the same and on msbuild, only @(ReferencePath) exists. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=55147 * NSActivityOptions.IdleDisplaySleepDisabled had wrong value (#2232) (#2239) This was due to an integer overflow. The original value was based on Int32 1 << 40 == 256 The correct value should be based on a UInt64. 1UL << 40 == 1099511627776 * [tests] Fix bug 57699 - [iOS]InternalsTest failure (Linkall) tests on device (#2243) Strip native debugging symbols should not be checked for debug builds * Bump mono to get fix for bug #57780. https://bugzilla.xamarin.com/show_bug.cgi?id=57780 * Update .gitmodules Change branch to d15-3 branch of mono * Bump maccore to get fix for bug #55064. https://bugzilla.xamarin.com/show_bug.cgi?id=55064 * [mono] Bump mono to get the head of cecil/mono-2017-04 and fix IsComObject #57919 Also fix #58789 [1], the typo in tools/mtouch/Tuning.cs showing in MT0000 errors instead MT2102. That's already in master and d15-4 mono bump includes: [2] commit 2a6502cee0df9de5198eafe7c8b5f6ac25106f34 (HEAD -> d15-3, origin/d15-3) Merge: 02457c20fcf 5e05cafc6f1 Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 10:04:06 2017 -0400 Merge pull request #5401 from marek-safar/com [Marshal.IsComObject] Make this predicate return false instead of thr… [3] commit 02457c20fcf57c0610e844d638eb1da82b5d1eb0 Merge: da80840ea55 73fd9a1b82e Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 09:59:06 2017 -0400 Merge pull request #5400 from spouliot/bump-cecil-58834-d15-3 [cecil] Bump to the head of the mono-2017-04 branch and pick the fix for bug #58834 References [1] https://bugzilla.xamarin.com/show_bug.cgi?id=58789 [2] https://bugzilla.xamarin.com/show_bug.cgi?id=57919 [3] https://bugzilla.xamarin.com/show_bug.cgi?id=58834 * [mtouch] Put 'mono_profiler_startup_log' in the symbol list. Fixes #58778. (#2501) We need the 'mono_profiler_startup_log' symbol when profiling is enabled, so make sure to add the symbol to the correct list of symbols we need. Previously we were passing `-u _mono_profiler_startup_log` to clang directly, which is fine, but not complete, since it does not write the symbol to the symbollist file (--symbollist=file), which means it wouldn't be preserved when the MSBuild tasks strip the executable. https://bugzilla.xamarin.com/show_bug.cgi?id=58778 * Bump versions for SR3 https://trello.com/c/EVze08ei * Bump mono to include HttpClientHandler fix #44027 https://trello.com/c/jYFXadH8/8-systemnethttp-close-request-stream-when-httpclienthandler https://bugzilla.xamarin.com/show_bug.cgi?id=44027 * [FileProvider] Add missing API and turn NSString to string (#2663) Turned NSString to string in order to match exisiting API. * [uikit] Add UIPasteConfigurationSupporting and UITextPasteConfigurationSupporting (#2649) - Fixes bug #59363: Missing UIPasteConfigurationSupporting, UITextPasteConfigurationSupporting, UITextDraggable and UITextDroppable on a couple of types (https://bugzilla.xamarin.com/show_bug.cgi?id=59363) * [uikit] Remove 129 types in UIPasteConfigurationSupporting case * [scenekit] Audit (xtro) fixes (#2648) This looks like an Apple breaking change (since `SCNAnimation` is new) but we now have: > typedef void (^SCNAnimationEventBlock)(id<SCNAnimation> animation, id animatedObject, BOOL playingBackward); bound as > delegate void SCNAnimationEventHandler (CAAnimation animation, NSObject animatedObject, bool playingBackward); and `CAAnimation` conforms to `SCNAnimation` but *only* the later is available on watchOS. The delegate is only updated (since it's new) on our watchOS profile. xtro references: (watchos) !unknown-protocol! SCNCameraControlConfiguration bound (tvos/watchos) !missing-selector! SCNAnimation::animationEvents not bound !missing-selector! SCNAnimation::setAnimationEvents: not bound !missing-selector! SCNConstraint::isEnabled not bound !missing-selector! SCNConstraint::setEnabled: not bound !missing-field! SCNSceneSourceConvertToYUpKey not bound !missing-field! SCNSceneSourceConvertUnitsToMetersKey not bound (ios/tvos) !missing-protocol-conformance! SCNNode should conform to UIFocusItem * Bump maccore post 15.3 merge (#2665) * Bump Xcode 9 to GM (#2667) * Force build (on wrench) * [avfoundation] Fix breaking changes (apidiff) (#2664) * [TVServices] Update to Xcode 9 GM (#2675) * [GameController] Update to Xcode 9 GM (#2673) * [LocalAuthentication] Update to Xcode 9 GM (#2671) * [LocalAuthentication] Update to Xcode 9 GM * Remove availability from BiometryNotAvailable, BiometryNotEnrolled and BiometryLockout * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer (#2659) * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer Some of the new added types were already present BUT under a #if MONOMAC, they had to be moved. * [AVFoundation] Set the wrongly added API to be obsolete and ensure it returns logical values. (#2650) * [xtro] The right platform for macOS is 'macos', not 'osx'. (#2677) The platform name is used to filter availability attributes, and if we use the wrong platform, we'll incorrectly skip all availability attributes. The net result in unclassified entries: https://gist.github.com/rolfbjarne/a4474bc2a40c49a85cad495b51bb514f * Various Xcode 9 API improvements and also fixes bug 59433 (#2676) https://bugzilla.xamarin.com/show_bug.cgi?id=59433 While fixing bug 59433 I noticed some additional issues outlined below: AVDepthData: * Renamed **non** static `Create` methods because `Create` only makes sense with the **Static** method in this context. Also by renaming the methods we are now closer to the names that swift uses. * Kept descriptive method names in favor of self-documenting code. `Convert`, `Apply` and `Replace` do not fully give us the intent of the method. * Added a convenience `Create` static method that takes a `CGImageAuxiliaryDataInfo`. * AvailableDepthDataTypes is now an array of `CVPixelFormatType` instead of a `NSNumber` array (The aactual fix for bug 59433). ImageIO: * Refactored `CGImageAuxiliaryDataInfo` to be a `StrongDictionary` in order to avoid most of the manual code and also to avoid reimplementing the `ToDictionary` method (which contained a subtle bug). * Adjusted code to reflect the above change. * Added missing `.ctor (IntPtr, bool)` to `CGImageMetadata` so the class is able to be created by our `Runtime.Get*`. * Simplified `CopyAuxiliaryDataInfo` method by using `CGImageAuxiliaryDataInfo` as a `DictionaryContainer`. Tests: * Added `xamarinmonkey.heic` which is an image that contains depth data needed to test above changes. * Adds `AVDepthDataTests` that touches most of the changes listed here. * Tweak the Simd-compatible matrices and vectors (#2668) * Rename them to be OpenTK.NMatrix# (instead of Simd.MatrixFloat#x#). * Remove the Vector2 and Vector4 variants, we'll use the OpenTK types instead (but we'll keep the NVector3 variant, since it's not identical to the OpenTK version). * Update the API to match their OpenTK counterparts better: * NMatrix2 and NMatrix3 have a 0-based R#C# scheme for their fields. * NMatrix4 has a 1-based M## scheme for its fields (i.e. no change). * [AVFoundation] Use Simd-matrix for API that needs it. (#2679) This also requires implementing the corresponding matrix (NMatrix4x3). Fixes this xtro issue: > !unknown-simd-type-in-signature! OpenTK.Matrix3 AVFoundation.AVCameraCalibrationData::get_GetIntrinsicMatrix(): the native signature has a simd type (matrix_float3x3), while the corresponding managed method is using an incorrect (non-simd) type. * [xtro] Fix checking availability on categories. (#2682) When checking for category availability, check if both the current declaration is a category, and if the current's declaration container is a category. Otherwise this scenario fails: * Category method is available. * Category does not have availability attributes. * Main class is unavailable. with this typical code sequence: ```csharp // don't process methods (or types) that are unavailable for the current platform if (!decl.IsAvailable () || !(decl.DeclContext as Decl).IsAvailable ()) return; ``` In which case we'd: * First check the method (`decl`): * It's available, so no further checks is done on the method. * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container's container is a category (it isn't, it's the namespace). and as such determine that the method is available. With this change, the second step will become: * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container is a category (it is), and if its main class is available (it isn't). and as such determine that the method is unavailable. * Check for attributes on the method's container (no attributes, so we continue). * Check if the method's Unclassified diff: https://gist.github.com/rolfbjarne/8fa80962596978a426eadf9b7ba39dc1 * [uikit] Update for Xcode 9 GM (#2670) * [AVFoundation] Implement AVCapturePhoto. Partially fixes #59388. (#2678) Fixes: > common.unclassified:!missing-type! AVCapturePhoto not bound https://bugzilla.xamarin.com/show_bug.cgi?id=59388 * Use strong dictionaries for AVCapturePhoto.Metadata and AVCapturePhoto.EmbeddedThumbnailPhotoFormat. * [SIMD] Implement Simd double types (VectorDouble3/MatrixDouble4x4). (#2632) The following types will be used by ModelIO bindings * Fix delta to be double * Rename Simd-compatible matrices and vectors to match our final naming. This also means removing the new Vector2 and Vector4 variants (but not Vector3). * [avfoundation] Remove AVAssetDownloadDelegate.DidLoadTimeRange since it was removed in one of the betas (#2687) * [foundation] Move NSUrlSessionMultipathServiceType to a file processed by the generator (for the availability attributes) (#2688) * [arkit] Update for Xcode 9 GM (#2681) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes (#2690) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes Type Changed: Intents.INCarSeatResolutionResult Removed methods: public static INCarSeatResolutionResult GetConfirmationRequired (INCarSeat valueToConfirm); public static INCarSeatResolutionResult GetSuccess (INCarSeat resolvedValue); * [avfoundation] Add missing protocol members and deprecations (#2691) !missing-protocol-member! AVCapturePhotoCaptureDelegate::captureOutput:didFinishProcessingPhoto:error: not found and the selector removed from PR#2687 was actually replaced with this one !missing-protocol-member! AVAssetDownloadDelegate::URLSession:aggregateAssetDownloadTask:didLoadTimeRange:totalTimeRangesLoaded:timeRangeExpectedToLoad:forMediaSelection: not found * [tests][xtro] Map some enums, more fix with protocols and update entries (#2692) * [Tests] Reenable dns tests on the watch. (#2674) * [arkit] Add ARBlendShapeLocationOptions strong dictionary (#2696) * [coreimage] Skip not yet bound filters added in Xcode9 (#2698) Tracked in https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * [Metal] Renamed MTLArgumentDescriptor.ArgumentDescriptor to Create, fixes bug 59498 (#2702) https://bugzilla.xamarin.com/show_bug.cgi?id=59498 From [argumentDescriptor docs](https://developer.apple.com/documentation/metal/mtlargumentdescriptor/2915746-argumentdescriptor?language=objc) > Creates an empty argument descriptor. * [msbuild] Always codesign app bundles if the codesign key is non-null (#2697) ...even if it is a simulator build. Turns out that starting with Xcode9, sim builds need to be codesigned for App Groups entitlements to work properly. Interestingly, the DetectSigningIdentity logic had a comment about needing to codesign simulator builds for some entitlements to work already starting with Xcode 8 but apparently the iOS targets did not respect this. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=59379 * [Foundation] Add NSProxy stub in order to workaround bug 59247 (#2693) https://bugzilla.xamarin.com/show_bug.cgi?id=59247 We need to have a better solution that removes all what NSProxy does not responds to. Right now this works because NSObject implements NSObject protocol just like NSProxy, but NSProxy responds to far less selectors hence doing it internal so it is not a breaking change when we provide the correct fix. * Keep NSProxy around and avoid XML linker description We need to keep NSProxy (avoid linking it) if WKNavigationDelegate or IWKNavigationDelegate is used. We know WKWebView will be there and can hold a reference to it. * [Xcode 9] Update Metal for GM (#2689) * [iosurface] IOSurface is not usable before iOS/tvOS 11. Fixes #59201 (#2706) Apple rejects apps that links with the previously private IOSurface.framework. We were not sure about this [1] and had it disabled (this is removed). However another bug stopped our adjustment logic [2] from being executed. This is needed since `clang` picks up the private framework if it does not find the public one (even when asking for a weak framework), [1] https://bugzilla.xamarin.com/show_bug.cgi?id=59201 [2] Added a while ago for JavascriptCore * Bump maccore to point to commit with the docs fix. (#2703) * Bump XI to 11.0.x (and XM to 3.99.9.x) (#2684) * fix typo
2017-09-16 00:53:16 +03:00
[Export ("incremental")]
bool Incremental { [Bind ("isIncremental")] get; set; }
2016-04-21 15:30:02 +03:00
}
[Watch (3,0)]
2016-04-21 15:30:02 +03:00
[Mac (10,10), iOS (8,0)]
[BaseType (typeof (SCNConstraint))]
[DisableDefaultCtor]
interface SCNIKConstraint {
[Export ("chainRootNode")]
SCNNode ChainRootNode { get; }
[Export ("targetPosition")]
SCNVector3 TargetPosition { get; set; }
[Static, Export ("inverseKinematicsConstraintWithChainRootNode:")]
SCNIKConstraint Create (SCNNode chainRootNode);
[Export ("setMaxAllowedRotationAngle:forJoint:")]
void SetMaxAllowedRotationAnglet (nfloat angle, SCNNode node);
[Export ("maxAllowedRotationAngleForJoint:")]
nfloat GetMaxAllowedRotationAngle (SCNNode node);
[iOS (9,0)][Mac (10,11)]
[Export ("initWithChainRootNode:")]
IntPtr Constructor (SCNNode chainRootNode);
}
[Watch (3,0)]
2016-04-21 15:30:02 +03:00
[Mac (10,9), iOS (8,0)]
[BaseType (typeof (SCNConstraint))]
#if !MONOMAC || XAMCORE_2_0
[DisableDefaultCtor]
#endif
interface SCNLookAtConstraint {
[Export ("target", ArgumentSemantic.Retain), NullAllowed]
SCNNode Target { get; [Mac (10, 12), iOS (10, 0), TV (10, 0)] set; }
2016-04-21 15:30:02 +03:00
[Export ("gimbalLockEnabled")]
bool GimbalLockEnabled { get; set; }
[Static, Export ("lookAtConstraintWithTarget:")]
SCNLookAtConstraint Create ([NullAllowed] SCNNode target);
Merge xcode9 into d15-4[-xi] (#2710) * [FileProvider] Add Xcode 9 Beta 1, 2 & 3 Bindings (#2279) * [FileProvider] Add Xcode 9 Beta 1 Bindings * Better naming * Feedback not related to BindAs * [FileProvider] Removes BindAs, add manual code for it and updated to Beta 3 * [FileProvider] Implement feedback * [CoreSpotlight] Updated spotlight bindings for xcode 9 beta 3. (#2193) Updated spotlight bindings for xcode 9 beta 3. * Fix warning caused by duplicate (#2354) * [FileProviderUI] Add Xcode 9 Beta 1 to 3 bindings (#2356) * Bump to Xcode 9 beta 4 * [arkit] ARLightEstimate does not conform to NSCopying anymore (fix unit test) * [uikit] NSFileProviderExtension.ReparentItem got a new parameter in beta4 (fix unit test) * [coreimage] CIImageAccumulator init returns nil in beta 4 There's no header change to mention `init` is not allowed but it's not clear how this default initializer could be used. Also make public some other API to construct this type (outside of XM). It's not clear why there were `internal` as they are (at least now) part of the header files. * [photos] Add helpers when PHLivePhotoEditingOption/NSDictionary is null (to avoid ambiguous API) (#2360) Adding a strongly typed `PHLivePhotoEditingOption` (a strongly typed version of an `NSDictionary`) can cause a `CS0121` (call is ambiguous) since using a `null` argument is common (only one option exist so far). This PR adds overloads that makes the code nicer in such case, e.g. before Xcode9: > // null is used when no options are given > _foo.SaveLivePhoto (output, null, completion); current (Xcode 9) > // casting required to remove ambiguity with PHLivePhotoEditingOption > _foo.SaveLivePhoto (output, (NSDictionary)null, completion); with this PR > // no option, no argument > _foo.SaveLivePhoto (output, completion); The same applies to `PrepareLivePhotoForPlayback`. * [tests] Disable/tweak two tests that breaks on (almost) all Xcode updates Those tests were not added to validate xOS so just keep the parts that helps us (without constantly checking back the new break flavor) * Disable watchOS to check if this hides others issues * [mapkit] Update for beta 4 * [coredata] Update for beta 4 * [wkwebkit] Update for beta 4 Note: WKWindowFeatures.h is not compiled (part of the framework umbrella) and the `@interface WKWindowFeatures (WKPrivate)` sounds like it should not have been exposed (it's all fields starting with `_`) * [corelocation] Update for beta 4 * Revert "Disable watchOS to check if this hides others issues" This reverts commit fed2249fa43290a1956ab2fe0d48f83ab6db9711. * [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]: https://github.com/xamarin/xamarin-macios/blob/f5956d6cc1eb5dfa7bab16628cf282d40237f64e/src/generator.cs#L5985 * [FinderSync] Update to beta 4 (#2377) * [ImageIO] Update to Xcode 9 (#2353) * [PhotosUI] Move macOS photosui bindings out of photos.cs into photosui.cs (#2358) * [quicklook] Update up to beta 4 (#2374) * [uikit] UIDragInteraction & UIDragInteractionDelegate (Xcode 9 b1,2,3) (#2357) * [safariservices] Update up to beta 4 (#2380) * [coreanimation] Update to beta 4 (#2382) Apple removed (mistake?) some API in beta 1. Filed as rdar 33590997 Internal tracking in https://trello.com/c/J8BDDUV9/86-33590997-coreanimation-quartzcore-api-removals * [storekit] Update up to beta 4 (#2379) * [CoreML] Update to Xcode 9 Beta 4 (#2387) * [uikit] UICollectionView/UITableView Drag & Drop (Xcode 9 b1,2,3 & 4) (#2355) * Update code after radar 32929318 and 32897776 are fixed in b4 (#2394) * [xcode9 CoreAudio] New definitions from Beta1 to Beta3 (#2359) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 (#2397) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 https://bugzilla.xamarin.com/show_bug.cgi?id=58512 Created strong API (VNBarcodeSymbology) on the following properties * VNDetectBarcodesRequest.SupportedSymbologies * VNDetectBarcodesRequest.Symbologies * VNBarcodeObservation.Symbology * Remove modern C# because classic can't do it 😡 * [mediaplayer] Update up to beta 4 (#2388) * [watchkit] Update to beta 4 (#2398) * Bump Visual Studio for Mac max version (#2408) * [coreimage] Add CIBarcodeDescriptor and enabled missing API for VNBarcodeObservation. Fix #58197 (#2411) https://bugzilla.xamarin.com/show_bug.cgi?id=58197 * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 (#2407) * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 * [uikit] Fixes based on comments * [coreimage] CIImageAccumulator API fixes. Fix #58349 (#2412) * Obsolete the default `init`; * XM exposed some older APIs using `int` instead of `CIFormat`. This is fixed and old APIs are obsoleted; * Both new & old APIs are now using `CIFormat` for both XI and XM. https://bugzilla.xamarin.com/show_bug.cgi?id=58349 * [uikit] UIText drag & drop - up to Xcode 9 beta 4 (#2410) * [uikit] UISplitView & UIStackView up to Xcode 9 beta 4 (#2425) * Bump XI/XM versions before preview 4 (#2422) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 (#2378) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 * [PDFKit] Implement feedback * [PDFKit] the forgotten enum * [PDFKit] More feedback * [PDFKit] Add Mac changes * Missing change * Fix test RectangleF VS CGRect * Pass -Wunguarded-availability-new to quiet a new clang warning (#2424) - https://bugzilla.xamarin.com/show_bug.cgi?id=58574 * [mtouch/mmp] Ignore warnings about unguarded code section with regards to availability. (#2441) * [monotouch-test] Remove workaround for fixed Apple bug. (#2445) * Bump to Xcode 9 beta 5. (#2447) * Bump to Xcode 9 beta 5. * [mmp] Disable the partial static registrar, because Apple's macOS SDK is broken. > In file included from Xamarin.Mac.registrar.mobile.i386.m:1: > In file included from ./Xamarin.Mac.registrar.mobile.i386.h:11: > /Applications/Xcode9-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVFoundation.h:88:9: fatal error: 'AVFoundation/AVRouteDetector.h' file not found https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [mmp] Fix partial static registrar removal. * [CallKit] Update to Xcode 9 beta 5. * [ARKit] ARPointCloud doesn't conform to NSCopying anymore in Xcode 9 beta 5. * [ARKit] Update to Xcode 9 beta 5 enough to make tests happy. * [CoreImage] Stub out new filters in Xcode 9 beta 5. * [tests][monotouch] Simplify some MDLMesh asserts since values change a lot between OS versions. * [mmp] Default to the dynamic registrar for release builds again, due to bug #58629. https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [tests][introspection] CXCall started implementing NSCopying without saying so in the headers. * Disable mmp static registrar tests due to 58629 for now * [quicklook] Update to beta 5 (#2450) * [photos] Update for beta 5 (#2452) Also update some existing enum members were added in beta 1 on macOS * [safariservices] Update for beta 5 (#2455) * [mediaplayer] Update to beta 5 (#2456) * [CoreLocation] Update Xcode 9 Beta 5 (#2453) * [CoreML] Update to Xcode 9 Beta 5 (#2454) * [Contacts] Update to Xcode 9 Beta 5 (#2451) * [Vision] Update to Xcode 9 Beta 5 (#2458) * [builds] Tell LLVM to stay away from newer macOS functions. (#2459) Fixes this build problem on Sierra: > ld: weak import of symbol '_futimens' not supported because of option: -no_weak_imports for architecture x86_64 This is a symbol that was (will be?) introduced in High Sierra. Interestingly this only occurs if the Xcode 8.X Command Line Tools haven't been manually installed. Because if the Xcode 8.X Command Line Tools are installed, this happens: 1. llvm's configure script detects that 'futimens' is not usable. 2. llvm's configure script detects that 'futimens' is not usable, because xcrun sets SDKROOT=/ when calling clang. a. When the SDKROOT variable is set, clang passes '-syslibroot /usr/lib' to ld. b. When ld gets '-syslibroot /usr/lib', ld looks in '/usr/lib' for a library that contains 'futimens' in the OS itself, and since we're on Sierra, that fails to link. c. So when llvm's configure script creates a test program that checks if 'futimens' is present, the program fails. This is correct, and makes llvm *not* use futimens. 3. xcrun sets SDKROOT=/ because /usr/share/current-os.sdk/Info.plist exists. If that file does not exist, then xcrun sets SDKROOT to Xcode9's macOS SDK (because that's what xcode-select reports). a. When SDKROOT is set to Xcode9's macOS SDK, the configure check for 'futimens' succeeds, because the macOS 10.13 SDK contains that function. b. llvm happily uses 'futimens', and then the final link fails because we're using a symbol not available on all target platforms. * [arkit] Update for Xcode 9 beta 5 - Part 1 (#2460) * [tests] The container app for watchOS tests should be 64-bit. (#2463) * [xharness] watchOS tests need to run in a clean environment. Works around #58348. (#2462) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [xharness] It watchOS tests don't need to be clean anymore. Fixes #58348. (#2473) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [uikit] UIView/UIScrollView/UIViewController up to Xcode 9 beta 5 (#2431) - Add NSDirectionalEdgeInsets type. - Includes DirectionalEdgeInsetsTest. * [AudioToolbox] Update bindings to Xcode 9 beta3 (not later changes). (#2294) * [xharness] Add a file existence check. (#2478) Fixes this exception: ``` Harness exception for 'introspection': System.IO.FileNotFoundException: Could not find file '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log'. File name: '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log' at System.IO.__Error.WinIOError (System.Int32 errorCode, System.String maybeFullPath) [0x00207] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/__error.cs:188 at System.IO.FileInfo.get_Length () [0x00038] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/fileinfo.cs:171 at xharness.CaptureLog.StopCapture () [0x00021] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Log.cs:252 at (wrapper remoting-invoke-with-check) xharness.CaptureLog:StopCapture () at xharness.AppRunner+<RunAsync>d__68.MoveNext () [0x0127f] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/AppRunner.cs:642 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter`1[TResult].GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:357 at xharness.RunSimulatorTask+<RunTestAsync>d__7.MoveNext () [0x0029d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2894 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.RunTestTask+<ExecuteAsync>d__8.MoveNext () [0x0010b] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2538 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.TestTask+<RunInternalAsync>d__87.MoveNext () [0x0010d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:1870 ``` I'm not sure how this can happen, but it has on the bots [1]. [1] https://jenkins.mono-project.com/job/xamarin-macios-pr-builder/4548/Test_Report/ * Bump versions for preview 5 (#2479) * [passkit] Update to beta 5 (#2481) * [tests] Remove workaround for radar #32688391. (#2486) * [replaykit] Update up to beta 5 (#2484) * Bump maccore to get fix for bug #55064. (#2487) * [apidiff] Update definition to new 10.12 (d15-3) stable release (#2490) * [SceneKit] basic work (#2483) * [coredata] Update to beta 5 (#2488) * [homekit] Update for Xcode 9 beta 5 (#2492) * [Foundation] Update for xcode9 (#2468) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 (#2493) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 * [Intents] Implement feedback * [Intents] Add a generic version for INInteraction.GetParameterValue * [Intents] Missing check * [Contacts] Add missing foundation NSItemProviderWriting protocol to CNContact (#2496) https://bugzilla.xamarin.com/show_bug.cgi?id=58203 This is available on all Contacts supported platforms ``` ./iPhoneOS.platform/Developer/SDKs/iPhoneOS11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchOS.platform/Developer/SDKs/WatchOS4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchSimulator.platform/Developer/SDKs/WatchSimulator4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ``` * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) (#2497) * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) * [IntentsUI] Better use a delegate instead so we have named params * Bump versions before 6th preview (#2514) * [arkit] Add missing MarshalDirective to ARPlaneAnchor (#2517) - Fixes bug #58648: ARPlaneAnchor.Extent property seems incorrect but changes to correct value after Debug access (https://bugzilla.xamarin.com/show_bug.cgi?id=58648) * [xtro-sharpie] Fix a compiler warning. (#2516) Fixes these warnings: Runner.cs(197,5): warning CS0642: Possible mistaken empty statement Runner.cs(199,5): warning CS0642: Possible mistaken empty statement Runner.cs(201,5): warning CS0642: Possible mistaken empty statement Runner.cs(203,5): warning CS0642: Possible mistaken empty statement Runner.cs(205,5): warning CS0642: Possible mistaken empty statement * [uikit] Update for Xcode 9 beta 5 - Part 3 (#2511) - UIKeyCommand - UINavigationBar - UINavigationItem - UIPasteboard - UITableViewHeaderFooterView * [xtro-sharpie] Remove xtro-plugin and misc other fixes. (#2522) * [xtro-sharpie] Build with msbuild and be as quiet as requested when building. * [xtro-sharpie] Must run as a 64-bit process, since the required native libraries are 64-bit. * [xtro-sharpie] Add run configurations to the project file to ease debugging in the IDE. * [xtro-sharpie] Remove xtro-plugin and the related commands. This was needed when there wasn't a 64-bit mono, in order to run xtro-sharpie in a 64-bit process. Now there is a 64-bit mono, so it's not needed anymore. Also improve makefile targets a bit, to auto-build stuff when needed, by setting the right dependencies. * Bump Xcode 9 to beta 6 (#2519) Disable watchOS tests again It seems like the Carousel crash from beta 4 is back to haunt us. This was working fine with beta 5. * Backport d15-3 SR2 fixes (#2515) * [coredata] Update to beta 6 (#2528) This seems to only revert some nullability changes from beta 5. * [coreml] Update to beta 6 (#2531) Fix our rdar 33643011 where additional setters were added in the headers but did not exists. * [videosubscriberaccount] Update to beta 6 (#2533) Only b1 and b2 introduced some additions/changes * [uikit] Update for Xcode 9 beta 6 - Part 4 (#2527) The following headers are now up to date: - UICollectionViewFlowLayout.h - UIDocumentPickerViewController.h - UIFontDescriptor.h - UIImage.h - UIImageView.h - UIImagePickerController.h * [xharness] Re-enable the watchOS tests. (#2534) It works fine for me locally, so let's see what Jenkins says. * [macos] Add new APIs in CoreWlan from Xcode9b3 (#2525) * Update AppKit bindings based on radar 33271241 results (#2518) * Update AppKit bindings based on radar 33271241 results - The header comment was updated to note it was NSSliderTouchBarItem view that has the protocol * Remove NSUserInterfaceCompression where not listed in header * [vision] Update to beta 6 (#2532) Removal of some deprecated (during beta) `init*` selectors. Also sync the versions that were inlined in subclasses - the old ones were not removed and the new ones were not added. * [xtro-sharpie] Many methods don't have selectors in Clang's API, so default to the name if no selector. (#2523) This makes a few more unclassified entries show up (mostly missing designated initializers): https://gist.github.com/rolfbjarne/07aa20f9b50b75bf3e69ac6a825e873a * [macos] Add ExternalAccessory APIs from xcode9 (#2526) * [58851] Disable NSMenuView in AllItemsWithNSMenuShouldAllowNull (#2504) * [arkit] Update for Xcode 9 beta 5 - Part 2 (#2505) - Add last missing selector. - Add tests for manual code. * [monotouch-test] Disable FontDescriptorTest.WithFeature (#2537) Disabled because it looks like the tvOS font we use: "Gujarati Sangam MN" does not have rare ligatures anymore (and the entire test is based on it). Before getting an actual fix for that, let's disable the test so it doesn't break all current builds. See: https://bugzilla.xamarin.com/show_bug.cgi?id=58929 * [xtro-sharpie] Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute. (#2524) Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute to calculate the native name for a TypeDefinition. Unclassified changes: https://gist.github.com/rolfbjarne/828f8ee41eebb0a3b60a38d71822fe59 * [foundation/uikit] Inline NSItemProvider_UIKitAdditions in NSItemProvider (#2538) As suggested here: https://github.com/xamarin/xamarin-macios/pull/2527#discussion_r134670981 * [intents] Fix breaking changes (api-diff) (#2543) Additions of @required members inside `INSpeakable` cannot be `[Abstract]` * [contacts] Fix breaking change (api-diff) (#2542) Type Changed: Contacts.CNPostalAddress Removed method: public static string LocalizeProperty (CNPostalAddressKeyOption option); * [macos] Reenable static registrar since Xcode9b6 un-broke SDK headers (#2544) - Fix a subtle spacing issues in PartialStaticLibrary property * [corebluetooth] Update up to beta 6 and enable it on watchOS (#2540) macOS 10.13 has finally catch up with iOS and this simplifies the bindings a bit. * [foundation] API fixes (apidiff) (#2545) 1. Let's not add new, already [Obsolete] API Type Changed: Foundation.NSDimension Added constructors: [Obsolete ("Not intended to be directly instantiated, this is an abstract class.")] public NSDimension (); 2. Fix inconsistently named API, e.g. Type Changed: Foundation.NSAttributedString Added properties: public static string[] ReadableTypeIdentifiersForItemProvider { get; } public static string[] WritableTypeIdentifiers { get; } * [pdfkit] Do not add already [Obsolete] API in new profiles (#2547) and ensure using the newer, correct API works cross-platforms iOS (before) [Obsolete ("Use 'Find (string, NSStringCompareOptions)' instead.")] public virtual PdfSelection[] Find (string text, nint options); public PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'Find (string, PdfSelection, NSStringCompareOptions)' instead.")] public virtual PdfSelection Find (string text, PdfSelection selection, nint options); public void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string, NSStringCompareOptions)' instead.")] public virtual void FindAsync (string text, nint options); public void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string [], NSStringCompareOptions)' instead.")] public virtual void FindAsync (string[] text, nint options); iOS (after) public virtual PdfSelection[] Find (string text, Foundation.NSStringCompareOptions compareOptions); public virtual PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); * Bump versions for the 7th preview (#2541) * Remove additions of AVKit removed in beta5 (#2536) * NSUrlSessionTask should implement NSProgressReporting for iOS (#2548) NSUrlSessionTask implements NSProgressReporting on iOS as well as Mac, so the #if MONOMAC isn't needed. * Add missing availability attributes causing failures on older iOS versions (#2550) * [vision] Minor fix wrt xtro (#2551) including some things we need to ignore manually !missing-field! VNVisionVersionNumber not bound !missing-pinvoke! VNImagePointForFaceLandmarkPoint is not bound !missing-pinvoke! VNNormalizedFaceBoundingBoxPointForLandmarkPoint is not bound * [uikit] NSFileProviderMessaging was removed in beta 2. Fixes #58222 (#2552) reference: https://bugzilla.xamarin.com/show_bug.cgi?id=58222 * [uikit] Update for Xcode 9 - Part 5 (#2546) Bindings for the following headers: - UIActivity.h - UIActivityItemProvider.h - UIAlertController.h - UIApplication.h - UIBarButtonItem.h - UIButton.h - UICollectionViewLayout.h - UIColor.h - UIControl.h - UIDocumentMenuViewController.h - UIFontMetrics.h - UIGestureRecognizer.h - UIGraphicsImageRenderer.h - UIInputViewController.h * [CoreText] Fix an extraneous free in CTFont.GetDefaultCascadeList. (#2555) We do not own the return value from CFArrayGetValueAtIndex, so don't say we do when creating CTFontDescriptor instances, since that leads to angry dragons: 2017-08-28 20:15:20.293 monotouchtest[33186:2311738] A_FontTest 2017-08-28 20:15:20.294 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithFontDescriptorAndOptions 2017-08-28 20:15:20.295 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithNameAndOptions 2017-08-28 20:15:20.296 monotouchtest[33186:2311738] critical: Stacktrace: at <unknown> <0xffffffff> at (wrapper managed-to-native) CoreText.CTFont.CTFontCopyDefaultCascadeListForLanguages (intptr,intptr) [0x0000a] in <ae65a2b1eea242d2b68fe784749543bf>:0 at CoreText.CTFont.GetDefaultCascadeList (string[]) [0x00013] in /work/maccore/xcode9/xamarin-macios/src/CoreText/CTFont.cs:2185 at MonoTouchFixtures.CoreText.A_FontTest.GetCascadeList () [0x0001e] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/CoreText/FontTest.cs:78 at (wrapper runtime-invoke) object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) [0x0004f] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) System.Reflection.MonoMethod.InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&) [0x00016] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at System.Reflection.MonoMethod.Invoke (object,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo) [0x00032] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/corlib/System.Reflection/MonoMethod.cs:305 at System.Reflection.MethodBase.Invoke (object,object[]) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/referencesource/mscorlib/system/reflection/methodbase.cs:229 at NUnit.Framework.Internal.Reflect.InvokeMethod (System.Reflection.MethodInfo,object,object[]) [0x00009] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Reflect.cs:215 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunNonAsyncTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x00025] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:116 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x0001a] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:90 at NUnit.Framework.Internal.Commands.TestMethodCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:66 at NUnit.Framework.Internal.Commands.SetUpTearDownCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00007] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/SetUpTearDownCommand.cs:84 at NUnit.Framework.Internal.WorkItems.SimpleWorkItem.PerformWork () [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/SimpleWorkItem.cs:64 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at MonoTouch.NUnit.UI.BaseTouchRunner.Run (NUnit.Framework.Internal.Test) [0x0004d] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:442 at MonoTouch.NUnit.UI.BaseTouchRunner.Run () [0x00030] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:171 at MonoTouch.Dialog.StringElement.Selected (MonoTouch.Dialog.DialogViewController,UIKit.UITableView,Foundation.NSIndexPath) [0x00008] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/Elements.cs:765 at MonoTouch.Dialog.DialogViewController.Selected (Foundation.NSIndexPath) [0x00026] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:577 at MonoTouch.Dialog.DialogViewController/Source.RowSelected (UIKit.UITableView,Foundation.NSIndexPath) [0x00016] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:402 at (wrapper runtime-invoke) <Module>.runtime_invoke_void__this___object_object (object,intptr,intptr,intptr) [0x0005d] in <32f0c196c5bc4aa18daea2ee64a7814e>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) UIKit.UIApplication.UIApplicationMain (int,string[],intptr,intptr) [0x0005c] in <ae65a2b1eea242d2b68fe784749543bf>:0 at UIKit.UIApplication.Main (string[],intptr,intptr) [0x00005] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:79 at UIKit.UIApplication.Main (string[],string,string) [0x00038] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:63 at monotouchtest.Application.Main (string[]) [0x00011] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/Main.cs:27 at (wrapper runtime-invoke) <Module>.runtime_invoke_void_object (object,intptr,intptr,intptr) [0x00051] in <30a7f7e09de9467b8b454221034a0e38>:0 Native stacktrace: 0 monotouchtest 0x000000010fca03c4 mono_handle_native_crash + 244 1 monotouchtest 0x000000010fcadd30 mono_sigsegv_signal_handler + 288 2 libsystem_platform.dylib 0x000000011feb3b3a _sigtramp + 26 3 CoreFoundation 0x000000011de035a2 computeSanitizedString + 146 4 CoreText 0x00000001168df314 _ZN15TPurgeableCache19RetainedValueForKeyEPKv + 54 5 CoreText 0x00000001168def85 _ZNK17TDescriptorSource22CopyDescriptorUncachedEPK7__CFURLbPK10__CFString + 55 6 CoreText 0x00000001168df34f _ZNK17TDescriptorSource14CopyDescriptorEPK7__CFURLbPK10__CFString + 27 7 CoreText 0x00000001168e20ad _ZNK17TDescriptorSource35CopyFontDescriptorPerPostScriptNameEPK10__CFStringmm + 297 8 CoreText 0x00000001168dfd9e _ZNK17TDescriptorSource30CopySystemFontDescriptorByNameEPK10__CFString10UIFontFlag + 54 9 CoreText 0x00000001168e54c4 _ZNK14TFontFallbacks17CopyFontFallbacksEPK10__CFStringS2_PK9__CFArray + 652 10 CoreText 0x00000001168e4a00 _ZNK14TFontFallbacks29CopyFontFallbacksForLanguagesEPK10__CFStringPK9__CFArray + 122 11 CoreText 0x00000001168e4971 _ZN17TDescriptorSource39CopyDefaultSubstitutionListForLanguagesEPK10__CFStringPK9__CFArray + 61 12 CoreText 0x00000001169397a7 _ZNK9TBaseFont28CreateSystemDefaultFallbacksEPK10__CFStringPK9__CFArray + 51 13 CoreText 0x000000011693999c _ZNK9TBaseFont15CreateFallbacksE10UIFontFlagPPK16__CFCharacterSetPK9__CFArray + 346 14 CoreText 0x00000001168c1036 _ZNK5TFont24CreateDefaultCascadeListEPK9__CFArray + 242 15 CoreText 0x00000001168b8ff9 CTFontCopyDefaultCascadeListForLanguages + 97 16 ??? 0x0000000140eaefd3 0x0 + 5384105939 17 ??? 0x0000000140eae761 0x0 + 5384103777 18 ??? 0x000000013c9c8e74 0x0 + 5311860340 19 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 20 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 21 monotouchtest 0x000000010fd71bac mono_runtime_try_invoke_array + 1292 22 monotouchtest 0x000000010fd15587 ves_icall_InternalInvoke + 647 23 ??? 0x000000013e9fcd13 0x0 + 5345627411 24 ??? 0x000000013e9fc738 0x0 + 5345625912 25 ??? 0x000000013e9fded5 0x0 + 5345631957 26 ??? 0x000000013e9fbb76 0x0 + 5345622902 27 ??? 0x000000013e9e237e 0x0 + 5345518462 28 ??? 0x000000013e9e237e 0x0 + 5345518462 29 ??? 0x000000013e9e237e 0x0 + 5345518462 30 ??? 0x000000013e9e237e 0x0 + 5345518462 31 ??? 0x000000013e873006 0x0 + 5344014342 32 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 33 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 34 monotouchtest 0x000000010fd6e320 mono_runtime_invoke + 208 35 monotouchtest 0x000000010fe71af1 xamarin_invoke_trampoline + 5617 36 monotouchtest 0x000000010fe79ddd xamarin_arch_trampoline + 189 37 monotouchtest 0x000000010fe7b1a1 xamarin_x86_64_common_trampoline + 110 38 UIKit 0x0000000111b9876b -[UITableView _selectRowAtIndexPath:animated:scrollPosition:notifyDelegate:] + 1810 39 UIKit 0x0000000111b98986 -[UITableView _userSelectRowAtPendingSelectionIndexPath:] + 344 40 UIKit 0x0000000111a6b5c9 _runAfterCACommitDeferredBlocks + 318 41 UIKit 0x0000000111a59dad _cleanUpAfterCAFlushAndRunDeferredBlocks + 280 42 UIKit 0x0000000111a89f68 _afterCACommitHandler + 137 43 CoreFoundation 0x000000011de3ddb7 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23 44 CoreFoundation 0x000000011de3dd0e __CFRunLoopDoObservers + 430 45 CoreFoundation 0x000000011de22324 __CFRunLoopRun + 1572 46 CoreFoundation 0x000000011de21a89 CFRunLoopRunSpecific + 409 47 GraphicsServices 0x0000000121b7e9c6 GSEventRunModal + 62 48 UIKit 0x0000000111a5f7d0 UIApplicationMain + 159 49 ??? 0x000000013c9c4474 0x0 + 5311841396 50 ??? 0x000000013c9c40ad 0x0 + 5311840429 ================================================================= Got a SIGSEGV while executing native code. This usually indicates a fatal error in the mono runtime or one of the native libraries used by your application. ================================================================= * [monotouch-test] Don't subclass MKMapView. (#2556) MKMapView doesn't like being subclassed (Apple says "you should not subclass the MKMapView class itself"). Bad things like this starts happening: Thread 0 name: tid_303 Dispatch queue: com.apple.main-thread Thread 0 Crashed: 0 libsystem_kernel.dylib 0x0000000186b25348 __pthread_kill + 8 1 libsystem_pthread.dylib 0x0000000186c39354 pthread_kill$VARIANT$mp + 396 2 libsystem_c.dylib 0x0000000186a94fd8 abort + 140 3 monotouchtest 0x0000000101c02c14 mono_handle_native_crash + 22047764 (mini-exceptions.c:2548) 4 monotouchtest 0x0000000101c0d02c mono_sigsegv_signal_handler + 22089772 (mini-runtime.c:2886) 5 libsystem_platform.dylib 0x0000000186c33b60 _sigtramp + 52 6 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 7 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 8 CoreFoundation 0x0000000186eda51c -[__NSArrayM dealloc] + 68 9 CoreFoundation 0x000000018703f5c8 __CFBasicHashDrain + 312 10 CoreFoundation 0x0000000186fb5b44 _CFRelease + 224 11 CoreText 0x000000018a808404 TDescriptorSource::PurgeFontFallbacksCache+ 488452 () + 92 12 CoreText 0x000000018a808374 TDescriptorSource::PurgeFromCaches+ 488308 (__CFURL const*) const + 176 13 CoreText 0x000000018a7eec74 CTFontRemoveFromCaches + 168 14 VectorKit 0x0000000196a539b0 +[VKSharedResourcesManager removeResourceUser:] + 324 15 VectorKit 0x0000000196ca27a4 md::MapEngine::~MapEngine+ 2643876 () + 360 16 VectorKit 0x0000000196ca2634 md::MapEngine::~MapEngine+ 2643508 () + 12 17 libobjc.A.dylib 0x000000018651eef4 object_cxxDestructFromClass+ 28404 (objc_object*, objc_class*) + 148 18 libobjc.A.dylib 0x000000018652c638 objc_destructInstance + 88 19 libobjc.A.dylib 0x000000018652c690 object_dispose + 16 20 QuartzCore 0x000000018afca3ac -[CALayer dealloc] + 116 21 VectorKit 0x0000000196a43294 -[VKMapView dealloc] + 940 22 QuartzCore 0x000000018af6aafc CA::release_objects+ 744188 (X::List<void const*>*) + 32 23 QuartzCore 0x000000018afd97d8 CA::Layer::~Layer+ 1198040 () + 276 24 QuartzCore 0x000000018afca37c -[CALayer dealloc] + 68 25 QuartzCore 0x000000018af6b16c CA::Transaction::commit+ 745836 () + 1052 26 UIKit 0x0000000190393290 _afterCACommitHandler + 256 27 CoreFoundation 0x0000000186fb38b8 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 32 28 CoreFoundation 0x0000000186fb1270 __CFRunLoopDoObservers + 412 29 CoreFoundation 0x0000000186fb182c __CFRunLoopRun + 1292 30 CoreFoundation 0x0000000186ed22d8 CFRunLoopRunSpecific + 436 31 GraphicsServices 0x0000000188d58f84 GSEventRunModal + 100 32 UIKit 0x000000019040427c UIApplicationMain + 208 33 monotouchtest 0x000000010106eb90 wrapper_managed_to_native_UIKit_UIApplication_UIApplicationMain_int_string___intptr_intptr + 9907088 (/<unknown>:1) 34 monotouchtest 0x0000000100f0d6ac UIKit_UIApplication_Main_string___intptr_intptr + 8459948 (UIApplication.cs:79) 35 monotouchtest 0x0000000100f0d66c UIKit_UIApplication_Main_string___string_string + 8459884 (UIApplication.cs:63) 36 monotouchtest 0x0000000100b10450 monotouchtest_Application_Main_string__ + 4277328 (Main.cs:27) 37 monotouchtest 0x0000000100e0c244 wrapper_runtime_invoke_object_runtime_invoke_dynamic_intptr_intptr_intptr_intptr + 244 38 monotouchtest 0x0000000101c10048 mono_jit_runtime_invoke + 22102088 (mini-runtime.c:2526) 39 monotouchtest 0x0000000101c75eec do_runtime_invoke + 22519532 (object.c:2829) 40 monotouchtest 0x0000000101c78a3c do_exec_main_checked + 22530620 (object.c:4623) 41 monotouchtest 0x0000000101bf9a1c mono_jit_exec + 22010396 (driver.g.c:1040) 42 monotouchtest 0x0000000101d13d60 xamarin_main + 23166304 (monotouch-main.m:482) 43 monotouchtest 0x00000001007de710 main + 927504 (main.m:67) 44 libdyld.dylib 0x00000001869f656c start + 4 * [introspection] Let SkipDueToAttributeInProperty skip setters too (#2557) `SkipDueToAttributeInProperty` which is used to check the availability attribute of properties when the Availability info only exist on the property and not on the property Getter or Setter was wrong. This lead to `setSpringLoaded` (which was introduced in iOS 11) to not be ignored by the test (making it fail). - Fix bug #59085: [introspection-ios] selector not found for UIKit.UIBarButtonItem : setSpringLoaded: - Broken test (https://bugzilla.xamarin.com/show_bug.cgi?id=59085) * [corevideo][watchos] Enable CoreVideo on watchOS (#2553) * [storekit] Fix CampaignToken typo (#2559) (#2560) - Fixes bug #59078: StoreProductParameters and invalid property for CampaignToken (https://bugzilla.xamarin.com/show_bug.cgi?id=59078) * [coreml][watchos] Enable API using CoreVideo on watchOS. Fix #58097 (#2561) https://bugzilla.xamarin.com/show_bug.cgi?id=58097 * Add missing [MarshalDirective] attributes. (#2558) * [bindings-generator] Improve build & project file. * Add missing [MarshalDirective] attributes. Add missing [MarshalDirective] attributes, which also requires implementing support for out parameters in the binding generator, since one of the signatures missing the [MarshalDirective] contains such an out parameter. Also add tests for all the API I've added [MarshalDirective] to. * [bindings-generator] Remove redundant if check. * [monotouch-test] Rename file to end with 'Test.cs'. * [tests] Fix a few build errors for Xamarin.Mac. * [uikit] Fix UIColor and UIInputViewController tvOS availability (#2569) - Fixes introspection tests on tvOS 10. * [storekit] Fix SKCloudServiceSetupMessageIdentifier and SKProductStorePromotionController tvOS availability (#2568) - Fixes introspection tests on tvOS 10. * [mapkit] Fix MKMapItemTypeIdentifier tvOS availability (#2566) - Also remove double [Mac] availability attribute. - Fixes introspection tests on tvOS 10. * [ARKit] Fix marshalling for ARPointCloud.RawFeaturePoints. (#2565) ARPointCloud.RawFeaturePoints is an array of Vector3, but each vector is 16-byte aligned (as if it were an array of Vector4). This means we need to account for this when creating a managed array from pointer to the native C-style array. * [ModelIO] Fix MDLVoxelIndexExtent struct. (#2564) The MDLVoxelIndexExtent is a struct containing two 4-dimensional vectors of integers (not floats, as originally and incorrectly implemented). Fix this my creating a new MDLVoxelIndexExtent2 struct with the right fields, re-implement all the API that exposes this struct and obsolete the old API. Also add missing [MarshalDirective] attributes. And write a test to make sure it works fine now and forever. * [coredata] Enable new fields since rdar #33878590 is fixed w/beta 6 (#2570) reference: https://trello.com/c/dlSRYPFx * [xtro-sharpie] Add a Simd check class to verify signatures with Simd types. * [Simd] Add simd matrix types. The OpenTK matrices (Matrix2/3/4) has a different memory layout than Apple's matrix_float2x2/matrix_float3x3/matrix_float4x4 matrices: the OpenTK versions are row-major, while Apple's versions are column-major. This means that when blitting memory from one to the other, the matrix will appear to have been transposed. See bug #[58599][2] for an example. Unfortunately we've already bound several API with Apple's matrix_floatXxX matrices using OpenTK's matrices, and although they're bound wrong, and the matrices appear transposed on input/output, we can't change the behavior because we have to maintain compatibility. This means we have to introduce new API, and then also just define new matrix types with the right memory layout (column-major). Additionally, in the future we might be able to mark these matrices as Simd-matrixes, so that the JIT/AOT compiler can generate the correct alignment for them, avoiding having to define a native conversion method (using the [MarshalDirective] hack). The matrices have been designed to match API-wise the matrices in the System.Numerics.Vectors namespace [1], but for the moment with only a few basic operations implemented (Determinant/Transpose/Multiply) defined (we can always add more later if we want to). In addition explicit conversion operators to and from the corresponding OpenTK.MatrixX are implemented, which means any operation defined in the OpenTK matrices can be used by converting back and forth. [1]: https://msdn.microsoft.com/en-us/library/system.numerics.matrix4x4(v=vs.111).aspx [2]: https://bugzilla.xamarin.com/show_bug.cgi?id=58599 * [ARKit] Use the new Simd matrix types. * [Vision] Use the new Simd matrix types. * [ModelIO] Use the new Simd-compatible matrix types, and deprecate the old API. * [GameplayKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [SpriteKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [xtro] Don't report missing [MarshalDirective] for obsolete methods. * [xtro] Remove unnecessary ignores. The implementation changed, and these stayed accidentally. * [wkwebkit] Fix (native) protocol names (#2572) Also ignore xtro's WKSnapshotConfiguration since it's an Apple bug 34185961 reference (xtro) !missing-protocol! WKURLSchemeHandler not bound !missing-protocol! WKURLSchemeTask not bound !unknown-protocol! WKUrlSchemeHandler bound !unknown-protocol! WKUrlSchemeTask bound !unknown-type! WKSnapshotConfiguration bound * [uikit] Fix enums availability attributes (#2575) - Fixes bug #59132: [uikit] Extra types in watchOS (https://bugzilla.xamarin.com/show_bug.cgi?id=59132) * [watchkit] Add missing designated initializers (#2574) references (xtro) !missing-designated-initializer! WKInterfaceController::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! WKUserNotificationInterfaceController::init is missing an [DesignatedInitializer] attribute * [xtro] Reword some of the Simd diagnostic messages according to review. * [tests] Make sure test symbols don't clash between different test libraries. Fixes this build problem for framework-test: clang: error: linker command failed with exit code 1 (use -v to see invocation) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_get_rotation_matrix'. MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticObjectTest.framework/XStaticObjectTest (Location related to previous error) MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticArTest.framework/XStaticArTest(libtest-ar.x86_64.o) (Location related to previous error) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransformcomponent_get_local_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_create_global_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float4x4'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float3x3'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float2x2'. MTOUCH: error MT5209: Native linking error: 6 duplicate symbols for architecture x86_64 MTOUCH: error MT5202: Native linking failed. Please review the build log. * [tests] Since libtest.a need ModelIO now, the corresponding LinkWith attributes need to state that too. * [introspection] Don't check native signatures on obsolete members, and ignore the right simd matrix types. Fixes this introspection/Mac problem: ***** ApiSignatureTest.NativeSignatures Selector: uniformWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: uniformWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: uniformWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: setMatrixFloat2x2Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: setMatrixFloat3x3Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: setMatrixFloat4x4Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: initWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: initWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: initWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded * [monotouch-tests] Include more custom asserts for watchOS to make the build work. Fixes this: Simd/MatrixFloat4x4Test.cs(28,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(29,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(37,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(48,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' [...] * [monotouch-test] Exclude code that requires the binding project from xammac tests. Exclude code that requires the test binding project from xammac tests because there's currently no XM version of the test binding project. Fixes this: tests/monotouch-test/SpriteKit/UniformTest.cs(20,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLMaterialProperty.cs(37,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLTransform.cs(34,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) * Bump version for preview #8 (#2576) * [spritekit] Audit fixes (xtro) (#2577) 1. SKVideoNode is now, partially, available on watchOS and does not require the extra, manual code to swicth selectors depending on the OS version being run. !missing-type! SKVideoNode not bound !missing-selector! SKVideoNode::anchorPoint not bound !missing-selector! SKVideoNode::initWithCoder: not bound !missing-selector! SKVideoNode::initWithFileNamed: not bound !missing-selector! SKVideoNode::initWithURL: not bound !missing-selector! SKVideoNode::setAnchorPoint: not bound !missing-selector! SKVideoNode::setSize: not bound !missing-selector! SKVideoNode::size not bound !missing-selector! +SKVideoNode::videoNodeWithFileNamed: not bound !missing-selector! +SKVideoNode::videoNodeWithURL: not bound 2. SKNodeFocusBehavior is exposed needlessly on watchOS because SpriteKit/Enums.cs was not processed by the generator, so [NoWatch] did not matter. !unknown-native-enum! SKNodeFocusBehavior bound It's also visible on macOS but nothing uses it (so we do not expose it needlessly) !missing-enum! SKNodeFocusBehavior not bound 3. Add missing designated initializer on default `init` !missing-designated-initializer! SKAttributeValue::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! SKNode::init is missing an [DesignatedInitializer] attribute 4. Remove inconsistency for SKNode subclasses wrt XAMCORE_4_0 The trio attributeValues, setAttributeValues and setValue:forAttributeNamed: that was moved from SKNode (deprecated) into its subclasses. This was done using XAMCORE_4_0 but not on every subclasses. This adds them everywhere to be consistent (only SKNode versions are not defined in XAMCORE_4_0) !missing-selector! SKEffectNode::attributeValues not bound !missing-selector! SKEffectNode::setAttributeValues: not bound !missing-selector! SKEffectNode::setValue:forAttributeNamed: not bound !missing-selector! SKEffectNode::valueForAttributeNamed: not bound !missing-selector! SKEmitterNode::attributeValues not bound !missing-selector! SKEmitterNode::setAttributeValues: not bound !missing-selector! SKEmitterNode::setValue:forAttributeNamed: not bound !missing-selector! SKEmitterNode::valueForAttributeNamed: not bound !missing-selector! SKSpriteNode::attributeValues not bound !missing-selector! SKSpriteNode::setAttributeValues: not bound !missing-selector! SKSpriteNode::setValue:forAttributeNamed: not bound !missing-selector! SKSpriteNode::valueForAttributeNamed: not bound * [introspection] Make sure '[FAIL]' is printed before every failure. (#2578) This makes xharness able to list the failures in the inline summary. * [xtro] Reword some of the Simd diagnostic messages according to review. * [xharness] Add a missing IsServerMode check to generate correct html. (#2581) * [SpriteKit] SKTransformNode is new in Xcode 9 so no need to keep the broken (and obsolete) non-simd version of RotationMatrix. * [intents] Fix some (partial) xtro issues and #59156 (#2585) reference https://bugzilla.xamarin.com/show_bug.cgi?id=59156 Remaining issues are filled in https://bugzilla.xamarin.com/show_bug.cgi?id=59183 !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound * [Intents] Confirm* interface methods should be bound as Confirm, Fixes Bug 59164 (#2591) * [Intents] Confirm* interface methods should probably be bound as Confirm, Fixes Bug 59164 https://bugzilla.xamarin.com/show_bug.cgi?id=59164 All Confirm* methods from *IntentHandling interfaces should be named just `Confirm` to avoid confusion because most of them do not directly confirm as an acion, but instead they **ask** for confirmation also we would follow swift's naming by doing this. * [Intents] XAMCORE_4_0 all Confirm* methods from *IntentHandling Turns any Confirm* into just Confirm inside a XAMCORE_4_0 block, * [Intents] Fix breaking changes in Intents added in Xcode 9 Bindings (#2590) Apple added more protocol conformances to INRidesharingDomainHandling and INPaymentsDomainHandling protocols in Xcode 9, I introduced these breaking changes back when I did intents binding so fixing them :) * [Metal] New bindings from Xcode 9 betas (#2457) * [AVFoundation] Updated bindings for xcode9. (#2272) * [Xcode9] Add IOSurface bindings (#2363) * This framework was a private framework before iOS 11. This framework was a private framework before iOS 11, yet the headers claim many API were introduced in iOS 10. So take account of this difference by using the private framework location in iOS 10.3 or earlier. Testing these API from Xcode works fine when run on an iOS 10.3 device, and I've confirmed the IOSurface framework is loaded from the private frameworks path on older devices (and when built using Xcode 9 and linked with the public framework path). * Disable code to make IOSurface work on iOS 10. Disable the code to make IOSurface work on iOS 10, since it may be rejected by the App Store. This also means adjusting the availability attributes, so that the introspection tests pass (and to document that technically these API won't work when used with Xamarin.iOS in iOS 10). I've filed bug #[59201][1] to keep track of this, maybe we can re-enable this later. [1]: https://bugzilla.xamarin.com/show_bug.cgi?id=59201 * [CoreMedia] Fix leak in CMAttachmentBearer.GetAttachments. (#2593) The caller owns the return value from CMCopyDictionaryOfAttachments, so tell Runtime.GetNSObject that. * [Intents] Adds missing API found by xtro, fixes Bug 59183 (#2596) https://bugzilla.xamarin.com/show_bug.cgi?id=59183 Fixes !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !incorrect-protocol-member! INUIHostedViewControlling::configureWithInteraction:context:completion: is OPTIONAL and should NOT be abstract * [xtro] Fix StartWorkingDirectory to enable debugging (#2598) * [iosurface] Enable for tvOS and XM classic (to avoid multiple defines around consumer API) (#2597) * [xtro] Fix EnumCheck (#2600) * [ARKit] Rename a few method to make them nicer. (#2604) * DisplayTransform -> GetDisplayTransform since methods should have verbs. * SessionWasInterrupted -> WasInterrupted and SessionInterruptionEnded -> InterruptionEnded since these names match better with the other names (CameraDidChangeTrackingState / DidFail / DidOutputAudioSampleBuffer: none are prefixed with 'Session'). Additionally, the type is a Model (for the delegate pattern), which means all methods are more-or-less event-like, and the first argument is always the same (the protocol itself), which is another indicator the methods should be named similarly. * [Foundation] Remove 'Key' suffix from some fields. (#2606) Of the 168 fields in NSMetadataItem, only these 5 hadn't removed the 'Key' suffix. So make them all equivalent by removing the 'Key' suffix from these 5 fields. * [ImageIO] Fix API to not duplicate the instance in instance methods. (#2609) An instance method does not need to take the instance as a parameter, so remove the first (instance) parameter for CGImageDestination.AddAuxiliaryDataInfo and CGImageSource.CopyAuxiliaryDataInfo. An alternative solution would be to make the methods static, but I like the instance API better. * [UIKit] De-model UIDataSourceTranslating. (#2603) It's not clear from neither the documentation nor the headers how this protocol is supposed to be used, and since it doesn't correspond to the delegate pattern, remove the [Model] attribute for now. We can always add it back later. * [CoreML] Improve API. (#2592) * [CoreML] Improve API. * The indices, shape and stride properties for MLMultiArray and MLMultiArrayConstraint can logically only be arrays of integers, so type them as such. This means adding overloads for MLMultiArray's constructors, GetObject and SetObject methods, and the indexers that takes nint[] arrays instead of NSNumber[] arrays. * Change MLFeatureValue's static factory methods to be a method ('Create') instead of a preposition, and call all the different factory methods the same, since they can be overloaded nicely. * [tests][monotouch-test] Add version check to MLMultiArrayTest and make sure the arrays we create are big enough for the data we put in them. * [tests][monotouch-test] MLMultiArray's elements aren't zero-initialized, so don't assume that in the tests. * Support overloading Objective-C methods based on static/instance. (#2607) Two Objective-C methods can be named identically as long as one is static and the other instance. We must support this since Apple did just this (in the NSItemProviderReading / NSItemProviderWriting protocols). We solve it by prepending a '+' or '-' to the selector when hashing it (to determine selector uniqueness, and to look the method up again at runtime). * [uikit] Update for Xcode 9 - Part 6 (#2602) NSAttributedString.h NSFileProviderExtension.h NSLayoutAnchor.h UIAccessibility.h UIAccessibilityAdditions.h UIAccessibilityContainer.h UIAccessibilityContentSizeCategoryImageAdjusting.h UIAccessibilityCustomRotor.h UIAccessibilityLocationDescriptor.h UITabBar.h UINavigationBar.h UIScreen.h * Xcode9 scenekit (#2512) * [SceneKit] basic work * Added key * [xcode9] SCNCameraController * [xcode9] SCNCamera updates * [xcode9] SCNMaterial * [xcode9] SCNGeometryTessellator, SCNCameraControlConfiguration, SCNView, small bits * Add trailing commas to last enum value * Remove whitespace noise * [scenekit] Update deprecated attributes messages * Addresses some of Rolf's feedback * Drop the WeakDelegate in SCNCameraController * Rename method to Render, remove ctor from class that can not be constructed in Palygrounds, add typo exception * [AppKit] Rename NSBezierPath.AppendBezierPathWithCGGlyph to match its sibling methods. (#2605) NSBezierPath contains a lot of 'AppendPathWithXXX' methods, that all map to 'appendBezierPathXXX' selectors. So rename AppendBezierPathWithCGGlyph accordingly, to make it more similar to the other methods in the same type. * [uikit] Add all UISpringLoadedInteractionSupporting (#2616) Types do not conform to the protocol but protocol methods work on those types (see monotouch-test). Fixed introspection tests accordingly and tested the selectors in monotouch-test. * [Intents] Add convenience ctor overload and call correct base ctor in manual ctor. (#2613) Add a convenience constructor overload in INGetUserCurrentRestaurantReservationBookingsIntent that uses nint instead of NSNumber, since logically "number of results" will always be some sort of integer. Also call the correct base constructor in INSpeakableString's custom constructor (same as any other generated constructor). Otherwise we end up doing something like this: [[[INSpeakableString alloc] init] initWith ...], i.e. calling two different init methods. * [coreimage] Add new headers API up to beta 6 (#2601) Filters are not complete (ref: #57350) https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * Some new constants are not yet documented (type is known), so they are commented / ignored https://bugzilla.xamarin.com/show_bug.cgi?id=59296 * Filled bug for [Wrap] inside [Category] so strong dictionary helpers can be re-enabled later https://bugzilla.xamarin.com/show_bug.cgi?id=59294 * [foundation] xtro fixes for watchOS (#2586) !missing-enum! NSProcessInfoThermalState not bound !missing-field! NSProcessInfoThermalStateDidChangeNotification not bound !missing-selector! NSProcessInfo::thermalState not bound Headers are wrong and preferredPresentationStyle is not in tvOS and watchOS !missing-selector! NSItemProvider::preferredPresentationStyle not bound !missing-selector! NSItemProvider::setPreferredPresentationStyle: not bound * [uikit] Also remove UIPreferredPresentationStyle enum from platform where it's not used * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. (#2614) * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. * NSItemProviderWriting: * NSItemProviderReading: Implement correctly and completely by uncommenting commented out code. * NSMutableString: * NSAttributedString: remove inlined members, since these classes don't implement NSItemProviderReading / NSItemProviderWriting (according to the headers at least). * NSUrl: all platforms now seem to implement NSItemProviderReading / NSItemProviderWriting. * NSString: all platforms now seem to implement both NSItemProviderReading and NSItemProviderWriting * UIColor: * UIImage: Update inlined protocol members according to the latest beta. Additionally, due to the following conditions: * The protocols all have the correct members now. * In the API definition we tell the generator to inline members from a protocol by inheriting from the corresponding interface. * The generator doesn't inline static members from protocols. several 'new' keywords had to be added to silence a compiler warning that occurrs when we manually inline a static member, since the member would be included in the type both from the inherited interface and the manual implementation. * [Foundation] Comment out NSItemProviderWriting.GetItemProviderVisibility to avoid inlining/generating unusable methods. NSItemProviderWriting.GetItemProviderVisibility is an optional method, and none of the native classes that implements NSItemProviderWriting actually imlements the method. This means inlining the method in those classes ends up creating unusable API; so just comment out the method to avoid generating the unusable API. The introspection tests found this: [FAIL] Foundation.NSString : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Foundation.NSUrl : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Contacts.CNContact : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] MapKit.MKMapItem : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIColor : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIImage : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] iOSApiSelectorTest.ApiSelectorTest.StaticMethods : 6 errors found in 2348 static selector validated: See also https://bugzilla.xamarin.com/show_bug.cgi?id=59308 * [iosurface] Add missing [TV] attributes (#2619) * [opengles] Enable the new API using IOSurface (#2618) The symbol only exists inside device libraries, not on simulator, and the introspection tests were updated to ignore it. Part of https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [avfoundation][watchos] Enable AudioBufferList (fix #59145) + audit (xtro) (#2617) 1. AudioBufferList is part of CoreAudio (wrong namespace, which needs a few changes in the generator) and now available in watchOS 4 https://bugzilla.xamarin.com/show_bug.cgi?id=59145 2. Also fixes xtro found issues: !missing-type! AVAudioRecorder not bound !missing-selector! AVAudioRecorder::averagePowerForChannel: not bound !missing-selector! AVAudioRecorder::channelAssignments not bound !missing-selector! AVAudioRecorder::currentTime not bound !missing-selector! AVAudioRecorder::delegate not bound !missing-selector! AVAudioRecorder::deviceCurrentTime not bound !missing-selector! AVAudioRecorder::format not bound !missing-selector! AVAudioRecorder::initWithURL:format:error: not bound !missing-selector! AVAudioRecorder::initWithURL:settings:error: not bound !missing-selector! AVAudioRecorder::isMeteringEnabled not bound !missing-selector! AVAudioRecorder::isRecording not bound !missing-selector! AVAudioRecorder::peakPowerForChannel: not bound !missing-selector! AVAudioRecorder::recordAtTime: not bound !missing-selector! AVAudioRecorder::recordAtTime:forDuration: not bound !missing-selector! AVAudioRecorder::recordForDuration: not bound !missing-selector! AVAudioRecorder::setChannelAssignments: not bound !missing-selector! AVAudioRecorder::setDelegate: not bound !missing-selector! AVAudioRecorder::setMeteringEnabled: not bound !missing-selector! AVAudioRecorder::settings not bound !missing-selector! AVAudioRecorder::url not bound !missing-protocol! AVAudioRecorderDelegate not bound !missing-selector! AVAudioEngine::inputNode not bound !missing-selector! AVAudioEngine::manualRenderingBlock not bound !missing-selector! AVAudioInputNode::setManualRenderingInputPCMFormat:inputBlock: not bound !missing-selector! AVAudioPlayer::format not bound !missing-selector! AVAudioSession::requestRecordPermission: not bound !unknown-field! AVFileType3GPP bound !unknown-field! AVFileType3GPP2 bound !unknown-field! AVFileTypeAC3 bound !unknown-field! AVFileTypeAIFC bound !unknown-field! AVFileTypeAIFF bound !unknown-field! AVFileTypeAMR bound !unknown-field! AVFileTypeAVCI bound !unknown-field! AVFileTypeAppleM4A bound !unknown-field! AVFileTypeAppleM4V bound !unknown-field! AVFileTypeCoreAudioFormat bound !unknown-field! AVFileTypeDNG bound !unknown-field! AVFileTypeEnhancedAC3 bound !unknown-field! AVFileTypeHEIC bound !unknown-field! AVFileTypeHEIF bound !unknown-field! AVFileTypeJPEG bound !unknown-field! AVFileTypeMPEG4 bound !unknown-field! AVFileTypeMPEGLayer3 bound !unknown-field! AVFileTypeQuickTimeMovie bound !unknown-field! AVFileTypeSunAU bound !unknown-field! AVFileTypeTIFF bound !unknown-field! AVFileTypeWAVE bound * [Metal] Implement API using IOSurface now that IOSurface is implemented. Partially fixes #58054. (#2621) https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [PdfKit] Improve PdfAnnotation.QuadrilateralPoints binding by making it strongly typed. (#2620) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). (#2622) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). * [ARKit/Vision] Use the new simd vector types instead of the OpenTK versions. * [ModelIO] Use the new simd vectors in new API (MDLVoxelIndexExtent2). This way we won't have to create a MDLVoxelIndexExtent3 in the future. * [SpriteKit] Use the new simd vectors in new API. * [metal] Audit (xtro) based fixes (#2623) !extra-protocol-member! unexpected selector MTLArgumentEncoder::newArgumentEncoderForBufferAtIndex: found !extra-protocol-member! unexpected selector MTLComputeCommandEncoder::dispatchThreads:threadsPerThreadgroup: found macos-only !missing-field! MTLDeviceRemovalRequestedNotification not bound !missing-field! MTLDeviceWasAddedNotification not bound !missing-field! MTLDeviceWasRemovedNotification not bound !missing-pinvoke! MTLCopyAllDevices is not bound * [CloudKit] Update bindings to beta 6. (#2615) * [FileProvider] Turn NSFileProviderItemIdentifier enum into a static class, fixes bug 59329 (#2634) https://bugzilla.xamarin.com/show_bug.cgi?id=59329 At the time of binding NSFileProviderItemIdentifier it wasn't clear how it was supposed to be used, I mean apple provides two keys which I thought were the only possible values hence binding it as an smart enum. Unfortunately this wasn't the case and the user can use those two values provided from the SDK or their own NSString Identifier. Swift provides a wrapper unfortunately we can't do the same due to NSFileProviderItemIdentifier is used in the NSFileProviderItem protocol and we currently do not support changing signatures on them. * [mtouch] Teach mtouch about the 'IOSurface' framework for tvOS. Fixes #59333. (#2630) https://bugzilla.xamarin.com/show_bug.cgi?id=59333 * Bump Touch.Unit to get fix for API breakage. (#2631) spouliot/Touch.Unit@8f1e19d [NUnitOutputTextWriter] Reintroduce previous constructor to make sure we don't break binary ABI. spouliot/Touch.Unit@00b0c0b [NUnitOutputTextWriter] Don't write invalid xml comments. spouliot/Touch.Unit@de9fe20 [TouchRunner] Restore the original code path when not wrapping NUnit xml output. * [IOSurface] Add missing availability attributes for tvOS. (#2629) * Bump versions for preview 9 (#2624) * [AVFoundation] Add missing interface AVRouteDetector. (#2637) * [tests] Update xtro to reduce list sizes (#2636) * Skip OpenTK duplicate declaration (we can't change them); * Fix rule name change for ARKit / simd; * Add missing default initializer on `init` to pending actions; * Add note for AVPersistableContentKeyRequest changes wrt tvOS; * [ReplayKit] Make RPBroadcastActivityViewController.LoadBroadcastActivityViewController async-capable. (#2639) * [xcode9] More SceneKit bindings (#2633) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 (#2644) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 https://bugzilla.xamarin.com/show_bug.cgi?id=59380 vector_float3 is 16 bytes, which means the binding is incorrect, because Vector3 is 12 bytes, and our code does not that difference into account. * Add tests * [DeviceCheck] Disable default ctor for DCDevice. (#2642) It doesn't seem to be useful according to the documentation, since it appears that the only way to get an instance is to use the static CurrentDevice property. * [audiounit] Audit (xtro) fixes for tvOS (#2635) Availability attributes in non-generated files don't hide symbols/code. reference: !unknown-pinvoke! AudioUnitExtensionCopyComponentList bound !unknown-pinvoke! AudioUnitExtensionSetComponentList bound * [tests] Make sure tvOS tests don't use the (unexisting) API * [tests] Add all test project variations to tests-mac.sln (#2579) * [xharness] Make sure generated mac projects have different project guids. * [introspection] Change the project guid so that it doesn't match the dontlink-mac project guid. * [tests] Add all test project variations to tests-mac.sln. * [xharness] Fix else condition. * [FileProvider] Adds missing NSFileProviderPage constants, fixes bug 59297. (#2646) https://bugzilla.xamarin.com/show_bug.cgi?id=59297 Adds NSFileProviderInitialPageSortedByName and NSFileProviderInitialPageSortedByDate NSData constants * [Xcode9] Remove NSFileProviderMessage and NSFileProviderMessageInterface (#2647) APIs were removed in beta 2 * [Foundation/UIKit] Provide LoadObject[s] methods that return the expected type in the callback. Fixes #59049. (#2638) The callback for these LoadObject[s] methods take an INSItemProviderReading parameter. This tells our runtime that we must provide an instance of a managed object that implements this interface (but nothing else), so we create a `NSItemProviderReadingWrapper` instance, which complies with the API (since the wrapper type implements the corresponding interface). Unfortunately these methods are supposed to return an instance of the passed- in type, so in order to comply with this soft (documentation-only) requirement, provide a wrapper method that creates instances of the right types. https://bugzilla.xamarin.com/show_bug.cgi?id=59049 * [arkit] Ignore deprecated selectors (#2645) * [FileProvider] Adds missing protocol and keys from audit (#2652) ``` !missing-protocol! NSFileProviderServiceSource not bound !missing-field! NSFileProviderErrorCollidingItemKey not bound !missing-field! NSFileProviderErrorNonExistentItemIdentifierKey not bound !missing-field! NSFileProviderFavoriteRankUnranked not bound ``` Also adds `NSXpcListenerEndpoint` to foundation, needed by `NSFileProviderServiceSource` protocol. * [tests][xtro] Workaround xtro runner dupe entry exception and update data files (#2654) * [AVFoundation] Rename field to match others. (#2657) * [homekit] Audit (xtro) fixes (#2653) - HMCharacteristicEvent conforms to NSMutableCopying on iOS11 which makes it 64 bits only (so adjust intro tests) - Ignore extra setters on HMMutablePresenceEvent, rdar 33883958 !missing-selector! HMMutablePresenceEvent::setPresenceEventType: not bound !missing-selector! HMMutablePresenceEvent::setPresenceUserType: not bound * [xtro] Add missing pinvoke to pending (#2662) - Bug 59422: [uikit] Missing UIContentSizeCategoryCompareToCategory & UIContentSizeCategoryIsAccessibilityCategory (https://bugzilla.xamarin.com/show_bug.cgi?id=59422) * Merge latest d15-3 fixes into xcode9 (#2660) * [msbuild] Re-added wildcard (*) expandsion for application-identifier in Entitlements.plist (#2186) Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=57119 * Bump mono (#2213) * Framework tests were still binding non-linked Simple class which errors now (#2216) (#2218) - Improve Makefile to rebuild when projects build with errors * Bump mono to get cecil fix for bug #56808. (#2222) https://bugzilla.xamarin.com/show_bug.cgi?id=56808 * [msbuild] Use @(ReferencePath) instead of @(ResolvedFiles) (#2188) (#2214) This allows things to work on both xbuild and msbuild. In xbuild, both lists are exactly the same and on msbuild, only @(ReferencePath) exists. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=55147 * NSActivityOptions.IdleDisplaySleepDisabled had wrong value (#2232) (#2239) This was due to an integer overflow. The original value was based on Int32 1 << 40 == 256 The correct value should be based on a UInt64. 1UL << 40 == 1099511627776 * [tests] Fix bug 57699 - [iOS]InternalsTest failure (Linkall) tests on device (#2243) Strip native debugging symbols should not be checked for debug builds * Bump mono to get fix for bug #57780. https://bugzilla.xamarin.com/show_bug.cgi?id=57780 * Update .gitmodules Change branch to d15-3 branch of mono * Bump maccore to get fix for bug #55064. https://bugzilla.xamarin.com/show_bug.cgi?id=55064 * [mono] Bump mono to get the head of cecil/mono-2017-04 and fix IsComObject #57919 Also fix #58789 [1], the typo in tools/mtouch/Tuning.cs showing in MT0000 errors instead MT2102. That's already in master and d15-4 mono bump includes: [2] commit 2a6502cee0df9de5198eafe7c8b5f6ac25106f34 (HEAD -> d15-3, origin/d15-3) Merge: 02457c20fcf 5e05cafc6f1 Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 10:04:06 2017 -0400 Merge pull request #5401 from marek-safar/com [Marshal.IsComObject] Make this predicate return false instead of thr… [3] commit 02457c20fcf57c0610e844d638eb1da82b5d1eb0 Merge: da80840ea55 73fd9a1b82e Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 09:59:06 2017 -0400 Merge pull request #5400 from spouliot/bump-cecil-58834-d15-3 [cecil] Bump to the head of the mono-2017-04 branch and pick the fix for bug #58834 References [1] https://bugzilla.xamarin.com/show_bug.cgi?id=58789 [2] https://bugzilla.xamarin.com/show_bug.cgi?id=57919 [3] https://bugzilla.xamarin.com/show_bug.cgi?id=58834 * [mtouch] Put 'mono_profiler_startup_log' in the symbol list. Fixes #58778. (#2501) We need the 'mono_profiler_startup_log' symbol when profiling is enabled, so make sure to add the symbol to the correct list of symbols we need. Previously we were passing `-u _mono_profiler_startup_log` to clang directly, which is fine, but not complete, since it does not write the symbol to the symbollist file (--symbollist=file), which means it wouldn't be preserved when the MSBuild tasks strip the executable. https://bugzilla.xamarin.com/show_bug.cgi?id=58778 * Bump versions for SR3 https://trello.com/c/EVze08ei * Bump mono to include HttpClientHandler fix #44027 https://trello.com/c/jYFXadH8/8-systemnethttp-close-request-stream-when-httpclienthandler https://bugzilla.xamarin.com/show_bug.cgi?id=44027 * [FileProvider] Add missing API and turn NSString to string (#2663) Turned NSString to string in order to match exisiting API. * [uikit] Add UIPasteConfigurationSupporting and UITextPasteConfigurationSupporting (#2649) - Fixes bug #59363: Missing UIPasteConfigurationSupporting, UITextPasteConfigurationSupporting, UITextDraggable and UITextDroppable on a couple of types (https://bugzilla.xamarin.com/show_bug.cgi?id=59363) * [uikit] Remove 129 types in UIPasteConfigurationSupporting case * [scenekit] Audit (xtro) fixes (#2648) This looks like an Apple breaking change (since `SCNAnimation` is new) but we now have: > typedef void (^SCNAnimationEventBlock)(id<SCNAnimation> animation, id animatedObject, BOOL playingBackward); bound as > delegate void SCNAnimationEventHandler (CAAnimation animation, NSObject animatedObject, bool playingBackward); and `CAAnimation` conforms to `SCNAnimation` but *only* the later is available on watchOS. The delegate is only updated (since it's new) on our watchOS profile. xtro references: (watchos) !unknown-protocol! SCNCameraControlConfiguration bound (tvos/watchos) !missing-selector! SCNAnimation::animationEvents not bound !missing-selector! SCNAnimation::setAnimationEvents: not bound !missing-selector! SCNConstraint::isEnabled not bound !missing-selector! SCNConstraint::setEnabled: not bound !missing-field! SCNSceneSourceConvertToYUpKey not bound !missing-field! SCNSceneSourceConvertUnitsToMetersKey not bound (ios/tvos) !missing-protocol-conformance! SCNNode should conform to UIFocusItem * Bump maccore post 15.3 merge (#2665) * Bump Xcode 9 to GM (#2667) * Force build (on wrench) * [avfoundation] Fix breaking changes (apidiff) (#2664) * [TVServices] Update to Xcode 9 GM (#2675) * [GameController] Update to Xcode 9 GM (#2673) * [LocalAuthentication] Update to Xcode 9 GM (#2671) * [LocalAuthentication] Update to Xcode 9 GM * Remove availability from BiometryNotAvailable, BiometryNotEnrolled and BiometryLockout * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer (#2659) * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer Some of the new added types were already present BUT under a #if MONOMAC, they had to be moved. * [AVFoundation] Set the wrongly added API to be obsolete and ensure it returns logical values. (#2650) * [xtro] The right platform for macOS is 'macos', not 'osx'. (#2677) The platform name is used to filter availability attributes, and if we use the wrong platform, we'll incorrectly skip all availability attributes. The net result in unclassified entries: https://gist.github.com/rolfbjarne/a4474bc2a40c49a85cad495b51bb514f * Various Xcode 9 API improvements and also fixes bug 59433 (#2676) https://bugzilla.xamarin.com/show_bug.cgi?id=59433 While fixing bug 59433 I noticed some additional issues outlined below: AVDepthData: * Renamed **non** static `Create` methods because `Create` only makes sense with the **Static** method in this context. Also by renaming the methods we are now closer to the names that swift uses. * Kept descriptive method names in favor of self-documenting code. `Convert`, `Apply` and `Replace` do not fully give us the intent of the method. * Added a convenience `Create` static method that takes a `CGImageAuxiliaryDataInfo`. * AvailableDepthDataTypes is now an array of `CVPixelFormatType` instead of a `NSNumber` array (The aactual fix for bug 59433). ImageIO: * Refactored `CGImageAuxiliaryDataInfo` to be a `StrongDictionary` in order to avoid most of the manual code and also to avoid reimplementing the `ToDictionary` method (which contained a subtle bug). * Adjusted code to reflect the above change. * Added missing `.ctor (IntPtr, bool)` to `CGImageMetadata` so the class is able to be created by our `Runtime.Get*`. * Simplified `CopyAuxiliaryDataInfo` method by using `CGImageAuxiliaryDataInfo` as a `DictionaryContainer`. Tests: * Added `xamarinmonkey.heic` which is an image that contains depth data needed to test above changes. * Adds `AVDepthDataTests` that touches most of the changes listed here. * Tweak the Simd-compatible matrices and vectors (#2668) * Rename them to be OpenTK.NMatrix# (instead of Simd.MatrixFloat#x#). * Remove the Vector2 and Vector4 variants, we'll use the OpenTK types instead (but we'll keep the NVector3 variant, since it's not identical to the OpenTK version). * Update the API to match their OpenTK counterparts better: * NMatrix2 and NMatrix3 have a 0-based R#C# scheme for their fields. * NMatrix4 has a 1-based M## scheme for its fields (i.e. no change). * [AVFoundation] Use Simd-matrix for API that needs it. (#2679) This also requires implementing the corresponding matrix (NMatrix4x3). Fixes this xtro issue: > !unknown-simd-type-in-signature! OpenTK.Matrix3 AVFoundation.AVCameraCalibrationData::get_GetIntrinsicMatrix(): the native signature has a simd type (matrix_float3x3), while the corresponding managed method is using an incorrect (non-simd) type. * [xtro] Fix checking availability on categories. (#2682) When checking for category availability, check if both the current declaration is a category, and if the current's declaration container is a category. Otherwise this scenario fails: * Category method is available. * Category does not have availability attributes. * Main class is unavailable. with this typical code sequence: ```csharp // don't process methods (or types) that are unavailable for the current platform if (!decl.IsAvailable () || !(decl.DeclContext as Decl).IsAvailable ()) return; ``` In which case we'd: * First check the method (`decl`): * It's available, so no further checks is done on the method. * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container's container is a category (it isn't, it's the namespace). and as such determine that the method is available. With this change, the second step will become: * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container is a category (it is), and if its main class is available (it isn't). and as such determine that the method is unavailable. * Check for attributes on the method's container (no attributes, so we continue). * Check if the method's Unclassified diff: https://gist.github.com/rolfbjarne/8fa80962596978a426eadf9b7ba39dc1 * [uikit] Update for Xcode 9 GM (#2670) * [AVFoundation] Implement AVCapturePhoto. Partially fixes #59388. (#2678) Fixes: > common.unclassified:!missing-type! AVCapturePhoto not bound https://bugzilla.xamarin.com/show_bug.cgi?id=59388 * Use strong dictionaries for AVCapturePhoto.Metadata and AVCapturePhoto.EmbeddedThumbnailPhotoFormat. * [SIMD] Implement Simd double types (VectorDouble3/MatrixDouble4x4). (#2632) The following types will be used by ModelIO bindings * Fix delta to be double * Rename Simd-compatible matrices and vectors to match our final naming. This also means removing the new Vector2 and Vector4 variants (but not Vector3). * [avfoundation] Remove AVAssetDownloadDelegate.DidLoadTimeRange since it was removed in one of the betas (#2687) * [foundation] Move NSUrlSessionMultipathServiceType to a file processed by the generator (for the availability attributes) (#2688) * [arkit] Update for Xcode 9 GM (#2681) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes (#2690) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes Type Changed: Intents.INCarSeatResolutionResult Removed methods: public static INCarSeatResolutionResult GetConfirmationRequired (INCarSeat valueToConfirm); public static INCarSeatResolutionResult GetSuccess (INCarSeat resolvedValue); * [avfoundation] Add missing protocol members and deprecations (#2691) !missing-protocol-member! AVCapturePhotoCaptureDelegate::captureOutput:didFinishProcessingPhoto:error: not found and the selector removed from PR#2687 was actually replaced with this one !missing-protocol-member! AVAssetDownloadDelegate::URLSession:aggregateAssetDownloadTask:didLoadTimeRange:totalTimeRangesLoaded:timeRangeExpectedToLoad:forMediaSelection: not found * [tests][xtro] Map some enums, more fix with protocols and update entries (#2692) * [Tests] Reenable dns tests on the watch. (#2674) * [arkit] Add ARBlendShapeLocationOptions strong dictionary (#2696) * [coreimage] Skip not yet bound filters added in Xcode9 (#2698) Tracked in https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * [Metal] Renamed MTLArgumentDescriptor.ArgumentDescriptor to Create, fixes bug 59498 (#2702) https://bugzilla.xamarin.com/show_bug.cgi?id=59498 From [argumentDescriptor docs](https://developer.apple.com/documentation/metal/mtlargumentdescriptor/2915746-argumentdescriptor?language=objc) > Creates an empty argument descriptor. * [msbuild] Always codesign app bundles if the codesign key is non-null (#2697) ...even if it is a simulator build. Turns out that starting with Xcode9, sim builds need to be codesigned for App Groups entitlements to work properly. Interestingly, the DetectSigningIdentity logic had a comment about needing to codesign simulator builds for some entitlements to work already starting with Xcode 8 but apparently the iOS targets did not respect this. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=59379 * [Foundation] Add NSProxy stub in order to workaround bug 59247 (#2693) https://bugzilla.xamarin.com/show_bug.cgi?id=59247 We need to have a better solution that removes all what NSProxy does not responds to. Right now this works because NSObject implements NSObject protocol just like NSProxy, but NSProxy responds to far less selectors hence doing it internal so it is not a breaking change when we provide the correct fix. * Keep NSProxy around and avoid XML linker description We need to keep NSProxy (avoid linking it) if WKNavigationDelegate or IWKNavigationDelegate is used. We know WKWebView will be there and can hold a reference to it. * [Xcode 9] Update Metal for GM (#2689) * [iosurface] IOSurface is not usable before iOS/tvOS 11. Fixes #59201 (#2706) Apple rejects apps that links with the previously private IOSurface.framework. We were not sure about this [1] and had it disabled (this is removed). However another bug stopped our adjustment logic [2] from being executed. This is needed since `clang` picks up the private framework if it does not find the public one (even when asking for a weak framework), [1] https://bugzilla.xamarin.com/show_bug.cgi?id=59201 [2] Added a while ago for JavascriptCore * Bump maccore to point to commit with the docs fix. (#2703) * Bump XI to 11.0.x (and XM to 3.99.9.x) (#2684) * fix typo
2017-09-16 00:53:16 +03:00
[Watch (4, 0), TV (11, 0), Mac (10, 13, onlyOn64: true), iOS (11, 0)]
Merge xcode9 into d15-4[-xi] (#2710) * [FileProvider] Add Xcode 9 Beta 1, 2 & 3 Bindings (#2279) * [FileProvider] Add Xcode 9 Beta 1 Bindings * Better naming * Feedback not related to BindAs * [FileProvider] Removes BindAs, add manual code for it and updated to Beta 3 * [FileProvider] Implement feedback * [CoreSpotlight] Updated spotlight bindings for xcode 9 beta 3. (#2193) Updated spotlight bindings for xcode 9 beta 3. * Fix warning caused by duplicate (#2354) * [FileProviderUI] Add Xcode 9 Beta 1 to 3 bindings (#2356) * Bump to Xcode 9 beta 4 * [arkit] ARLightEstimate does not conform to NSCopying anymore (fix unit test) * [uikit] NSFileProviderExtension.ReparentItem got a new parameter in beta4 (fix unit test) * [coreimage] CIImageAccumulator init returns nil in beta 4 There's no header change to mention `init` is not allowed but it's not clear how this default initializer could be used. Also make public some other API to construct this type (outside of XM). It's not clear why there were `internal` as they are (at least now) part of the header files. * [photos] Add helpers when PHLivePhotoEditingOption/NSDictionary is null (to avoid ambiguous API) (#2360) Adding a strongly typed `PHLivePhotoEditingOption` (a strongly typed version of an `NSDictionary`) can cause a `CS0121` (call is ambiguous) since using a `null` argument is common (only one option exist so far). This PR adds overloads that makes the code nicer in such case, e.g. before Xcode9: > // null is used when no options are given > _foo.SaveLivePhoto (output, null, completion); current (Xcode 9) > // casting required to remove ambiguity with PHLivePhotoEditingOption > _foo.SaveLivePhoto (output, (NSDictionary)null, completion); with this PR > // no option, no argument > _foo.SaveLivePhoto (output, completion); The same applies to `PrepareLivePhotoForPlayback`. * [tests] Disable/tweak two tests that breaks on (almost) all Xcode updates Those tests were not added to validate xOS so just keep the parts that helps us (without constantly checking back the new break flavor) * Disable watchOS to check if this hides others issues * [mapkit] Update for beta 4 * [coredata] Update for beta 4 * [wkwebkit] Update for beta 4 Note: WKWindowFeatures.h is not compiled (part of the framework umbrella) and the `@interface WKWindowFeatures (WKPrivate)` sounds like it should not have been exposed (it's all fields starting with `_`) * [corelocation] Update for beta 4 * Revert "Disable watchOS to check if this hides others issues" This reverts commit fed2249fa43290a1956ab2fe0d48f83ab6db9711. * [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]: https://github.com/xamarin/xamarin-macios/blob/f5956d6cc1eb5dfa7bab16628cf282d40237f64e/src/generator.cs#L5985 * [FinderSync] Update to beta 4 (#2377) * [ImageIO] Update to Xcode 9 (#2353) * [PhotosUI] Move macOS photosui bindings out of photos.cs into photosui.cs (#2358) * [quicklook] Update up to beta 4 (#2374) * [uikit] UIDragInteraction & UIDragInteractionDelegate (Xcode 9 b1,2,3) (#2357) * [safariservices] Update up to beta 4 (#2380) * [coreanimation] Update to beta 4 (#2382) Apple removed (mistake?) some API in beta 1. Filed as rdar 33590997 Internal tracking in https://trello.com/c/J8BDDUV9/86-33590997-coreanimation-quartzcore-api-removals * [storekit] Update up to beta 4 (#2379) * [CoreML] Update to Xcode 9 Beta 4 (#2387) * [uikit] UICollectionView/UITableView Drag & Drop (Xcode 9 b1,2,3 & 4) (#2355) * Update code after radar 32929318 and 32897776 are fixed in b4 (#2394) * [xcode9 CoreAudio] New definitions from Beta1 to Beta3 (#2359) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 (#2397) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 https://bugzilla.xamarin.com/show_bug.cgi?id=58512 Created strong API (VNBarcodeSymbology) on the following properties * VNDetectBarcodesRequest.SupportedSymbologies * VNDetectBarcodesRequest.Symbologies * VNBarcodeObservation.Symbology * Remove modern C# because classic can't do it 😡 * [mediaplayer] Update up to beta 4 (#2388) * [watchkit] Update to beta 4 (#2398) * Bump Visual Studio for Mac max version (#2408) * [coreimage] Add CIBarcodeDescriptor and enabled missing API for VNBarcodeObservation. Fix #58197 (#2411) https://bugzilla.xamarin.com/show_bug.cgi?id=58197 * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 (#2407) * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 * [uikit] Fixes based on comments * [coreimage] CIImageAccumulator API fixes. Fix #58349 (#2412) * Obsolete the default `init`; * XM exposed some older APIs using `int` instead of `CIFormat`. This is fixed and old APIs are obsoleted; * Both new & old APIs are now using `CIFormat` for both XI and XM. https://bugzilla.xamarin.com/show_bug.cgi?id=58349 * [uikit] UIText drag & drop - up to Xcode 9 beta 4 (#2410) * [uikit] UISplitView & UIStackView up to Xcode 9 beta 4 (#2425) * Bump XI/XM versions before preview 4 (#2422) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 (#2378) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 * [PDFKit] Implement feedback * [PDFKit] the forgotten enum * [PDFKit] More feedback * [PDFKit] Add Mac changes * Missing change * Fix test RectangleF VS CGRect * Pass -Wunguarded-availability-new to quiet a new clang warning (#2424) - https://bugzilla.xamarin.com/show_bug.cgi?id=58574 * [mtouch/mmp] Ignore warnings about unguarded code section with regards to availability. (#2441) * [monotouch-test] Remove workaround for fixed Apple bug. (#2445) * Bump to Xcode 9 beta 5. (#2447) * Bump to Xcode 9 beta 5. * [mmp] Disable the partial static registrar, because Apple's macOS SDK is broken. > In file included from Xamarin.Mac.registrar.mobile.i386.m:1: > In file included from ./Xamarin.Mac.registrar.mobile.i386.h:11: > /Applications/Xcode9-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVFoundation.h:88:9: fatal error: 'AVFoundation/AVRouteDetector.h' file not found https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [mmp] Fix partial static registrar removal. * [CallKit] Update to Xcode 9 beta 5. * [ARKit] ARPointCloud doesn't conform to NSCopying anymore in Xcode 9 beta 5. * [ARKit] Update to Xcode 9 beta 5 enough to make tests happy. * [CoreImage] Stub out new filters in Xcode 9 beta 5. * [tests][monotouch] Simplify some MDLMesh asserts since values change a lot between OS versions. * [mmp] Default to the dynamic registrar for release builds again, due to bug #58629. https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [tests][introspection] CXCall started implementing NSCopying without saying so in the headers. * Disable mmp static registrar tests due to 58629 for now * [quicklook] Update to beta 5 (#2450) * [photos] Update for beta 5 (#2452) Also update some existing enum members were added in beta 1 on macOS * [safariservices] Update for beta 5 (#2455) * [mediaplayer] Update to beta 5 (#2456) * [CoreLocation] Update Xcode 9 Beta 5 (#2453) * [CoreML] Update to Xcode 9 Beta 5 (#2454) * [Contacts] Update to Xcode 9 Beta 5 (#2451) * [Vision] Update to Xcode 9 Beta 5 (#2458) * [builds] Tell LLVM to stay away from newer macOS functions. (#2459) Fixes this build problem on Sierra: > ld: weak import of symbol '_futimens' not supported because of option: -no_weak_imports for architecture x86_64 This is a symbol that was (will be?) introduced in High Sierra. Interestingly this only occurs if the Xcode 8.X Command Line Tools haven't been manually installed. Because if the Xcode 8.X Command Line Tools are installed, this happens: 1. llvm's configure script detects that 'futimens' is not usable. 2. llvm's configure script detects that 'futimens' is not usable, because xcrun sets SDKROOT=/ when calling clang. a. When the SDKROOT variable is set, clang passes '-syslibroot /usr/lib' to ld. b. When ld gets '-syslibroot /usr/lib', ld looks in '/usr/lib' for a library that contains 'futimens' in the OS itself, and since we're on Sierra, that fails to link. c. So when llvm's configure script creates a test program that checks if 'futimens' is present, the program fails. This is correct, and makes llvm *not* use futimens. 3. xcrun sets SDKROOT=/ because /usr/share/current-os.sdk/Info.plist exists. If that file does not exist, then xcrun sets SDKROOT to Xcode9's macOS SDK (because that's what xcode-select reports). a. When SDKROOT is set to Xcode9's macOS SDK, the configure check for 'futimens' succeeds, because the macOS 10.13 SDK contains that function. b. llvm happily uses 'futimens', and then the final link fails because we're using a symbol not available on all target platforms. * [arkit] Update for Xcode 9 beta 5 - Part 1 (#2460) * [tests] The container app for watchOS tests should be 64-bit. (#2463) * [xharness] watchOS tests need to run in a clean environment. Works around #58348. (#2462) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [xharness] It watchOS tests don't need to be clean anymore. Fixes #58348. (#2473) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [uikit] UIView/UIScrollView/UIViewController up to Xcode 9 beta 5 (#2431) - Add NSDirectionalEdgeInsets type. - Includes DirectionalEdgeInsetsTest. * [AudioToolbox] Update bindings to Xcode 9 beta3 (not later changes). (#2294) * [xharness] Add a file existence check. (#2478) Fixes this exception: ``` Harness exception for 'introspection': System.IO.FileNotFoundException: Could not find file '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log'. File name: '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log' at System.IO.__Error.WinIOError (System.Int32 errorCode, System.String maybeFullPath) [0x00207] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/__error.cs:188 at System.IO.FileInfo.get_Length () [0x00038] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/fileinfo.cs:171 at xharness.CaptureLog.StopCapture () [0x00021] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Log.cs:252 at (wrapper remoting-invoke-with-check) xharness.CaptureLog:StopCapture () at xharness.AppRunner+<RunAsync>d__68.MoveNext () [0x0127f] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/AppRunner.cs:642 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter`1[TResult].GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:357 at xharness.RunSimulatorTask+<RunTestAsync>d__7.MoveNext () [0x0029d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2894 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.RunTestTask+<ExecuteAsync>d__8.MoveNext () [0x0010b] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2538 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.TestTask+<RunInternalAsync>d__87.MoveNext () [0x0010d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:1870 ``` I'm not sure how this can happen, but it has on the bots [1]. [1] https://jenkins.mono-project.com/job/xamarin-macios-pr-builder/4548/Test_Report/ * Bump versions for preview 5 (#2479) * [passkit] Update to beta 5 (#2481) * [tests] Remove workaround for radar #32688391. (#2486) * [replaykit] Update up to beta 5 (#2484) * Bump maccore to get fix for bug #55064. (#2487) * [apidiff] Update definition to new 10.12 (d15-3) stable release (#2490) * [SceneKit] basic work (#2483) * [coredata] Update to beta 5 (#2488) * [homekit] Update for Xcode 9 beta 5 (#2492) * [Foundation] Update for xcode9 (#2468) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 (#2493) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 * [Intents] Implement feedback * [Intents] Add a generic version for INInteraction.GetParameterValue * [Intents] Missing check * [Contacts] Add missing foundation NSItemProviderWriting protocol to CNContact (#2496) https://bugzilla.xamarin.com/show_bug.cgi?id=58203 This is available on all Contacts supported platforms ``` ./iPhoneOS.platform/Developer/SDKs/iPhoneOS11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchOS.platform/Developer/SDKs/WatchOS4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchSimulator.platform/Developer/SDKs/WatchSimulator4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ``` * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) (#2497) * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) * [IntentsUI] Better use a delegate instead so we have named params * Bump versions before 6th preview (#2514) * [arkit] Add missing MarshalDirective to ARPlaneAnchor (#2517) - Fixes bug #58648: ARPlaneAnchor.Extent property seems incorrect but changes to correct value after Debug access (https://bugzilla.xamarin.com/show_bug.cgi?id=58648) * [xtro-sharpie] Fix a compiler warning. (#2516) Fixes these warnings: Runner.cs(197,5): warning CS0642: Possible mistaken empty statement Runner.cs(199,5): warning CS0642: Possible mistaken empty statement Runner.cs(201,5): warning CS0642: Possible mistaken empty statement Runner.cs(203,5): warning CS0642: Possible mistaken empty statement Runner.cs(205,5): warning CS0642: Possible mistaken empty statement * [uikit] Update for Xcode 9 beta 5 - Part 3 (#2511) - UIKeyCommand - UINavigationBar - UINavigationItem - UIPasteboard - UITableViewHeaderFooterView * [xtro-sharpie] Remove xtro-plugin and misc other fixes. (#2522) * [xtro-sharpie] Build with msbuild and be as quiet as requested when building. * [xtro-sharpie] Must run as a 64-bit process, since the required native libraries are 64-bit. * [xtro-sharpie] Add run configurations to the project file to ease debugging in the IDE. * [xtro-sharpie] Remove xtro-plugin and the related commands. This was needed when there wasn't a 64-bit mono, in order to run xtro-sharpie in a 64-bit process. Now there is a 64-bit mono, so it's not needed anymore. Also improve makefile targets a bit, to auto-build stuff when needed, by setting the right dependencies. * Bump Xcode 9 to beta 6 (#2519) Disable watchOS tests again It seems like the Carousel crash from beta 4 is back to haunt us. This was working fine with beta 5. * Backport d15-3 SR2 fixes (#2515) * [coredata] Update to beta 6 (#2528) This seems to only revert some nullability changes from beta 5. * [coreml] Update to beta 6 (#2531) Fix our rdar 33643011 where additional setters were added in the headers but did not exists. * [videosubscriberaccount] Update to beta 6 (#2533) Only b1 and b2 introduced some additions/changes * [uikit] Update for Xcode 9 beta 6 - Part 4 (#2527) The following headers are now up to date: - UICollectionViewFlowLayout.h - UIDocumentPickerViewController.h - UIFontDescriptor.h - UIImage.h - UIImageView.h - UIImagePickerController.h * [xharness] Re-enable the watchOS tests. (#2534) It works fine for me locally, so let's see what Jenkins says. * [macos] Add new APIs in CoreWlan from Xcode9b3 (#2525) * Update AppKit bindings based on radar 33271241 results (#2518) * Update AppKit bindings based on radar 33271241 results - The header comment was updated to note it was NSSliderTouchBarItem view that has the protocol * Remove NSUserInterfaceCompression where not listed in header * [vision] Update to beta 6 (#2532) Removal of some deprecated (during beta) `init*` selectors. Also sync the versions that were inlined in subclasses - the old ones were not removed and the new ones were not added. * [xtro-sharpie] Many methods don't have selectors in Clang's API, so default to the name if no selector. (#2523) This makes a few more unclassified entries show up (mostly missing designated initializers): https://gist.github.com/rolfbjarne/07aa20f9b50b75bf3e69ac6a825e873a * [macos] Add ExternalAccessory APIs from xcode9 (#2526) * [58851] Disable NSMenuView in AllItemsWithNSMenuShouldAllowNull (#2504) * [arkit] Update for Xcode 9 beta 5 - Part 2 (#2505) - Add last missing selector. - Add tests for manual code. * [monotouch-test] Disable FontDescriptorTest.WithFeature (#2537) Disabled because it looks like the tvOS font we use: "Gujarati Sangam MN" does not have rare ligatures anymore (and the entire test is based on it). Before getting an actual fix for that, let's disable the test so it doesn't break all current builds. See: https://bugzilla.xamarin.com/show_bug.cgi?id=58929 * [xtro-sharpie] Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute. (#2524) Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute to calculate the native name for a TypeDefinition. Unclassified changes: https://gist.github.com/rolfbjarne/828f8ee41eebb0a3b60a38d71822fe59 * [foundation/uikit] Inline NSItemProvider_UIKitAdditions in NSItemProvider (#2538) As suggested here: https://github.com/xamarin/xamarin-macios/pull/2527#discussion_r134670981 * [intents] Fix breaking changes (api-diff) (#2543) Additions of @required members inside `INSpeakable` cannot be `[Abstract]` * [contacts] Fix breaking change (api-diff) (#2542) Type Changed: Contacts.CNPostalAddress Removed method: public static string LocalizeProperty (CNPostalAddressKeyOption option); * [macos] Reenable static registrar since Xcode9b6 un-broke SDK headers (#2544) - Fix a subtle spacing issues in PartialStaticLibrary property * [corebluetooth] Update up to beta 6 and enable it on watchOS (#2540) macOS 10.13 has finally catch up with iOS and this simplifies the bindings a bit. * [foundation] API fixes (apidiff) (#2545) 1. Let's not add new, already [Obsolete] API Type Changed: Foundation.NSDimension Added constructors: [Obsolete ("Not intended to be directly instantiated, this is an abstract class.")] public NSDimension (); 2. Fix inconsistently named API, e.g. Type Changed: Foundation.NSAttributedString Added properties: public static string[] ReadableTypeIdentifiersForItemProvider { get; } public static string[] WritableTypeIdentifiers { get; } * [pdfkit] Do not add already [Obsolete] API in new profiles (#2547) and ensure using the newer, correct API works cross-platforms iOS (before) [Obsolete ("Use 'Find (string, NSStringCompareOptions)' instead.")] public virtual PdfSelection[] Find (string text, nint options); public PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'Find (string, PdfSelection, NSStringCompareOptions)' instead.")] public virtual PdfSelection Find (string text, PdfSelection selection, nint options); public void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string, NSStringCompareOptions)' instead.")] public virtual void FindAsync (string text, nint options); public void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string [], NSStringCompareOptions)' instead.")] public virtual void FindAsync (string[] text, nint options); iOS (after) public virtual PdfSelection[] Find (string text, Foundation.NSStringCompareOptions compareOptions); public virtual PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); * Bump versions for the 7th preview (#2541) * Remove additions of AVKit removed in beta5 (#2536) * NSUrlSessionTask should implement NSProgressReporting for iOS (#2548) NSUrlSessionTask implements NSProgressReporting on iOS as well as Mac, so the #if MONOMAC isn't needed. * Add missing availability attributes causing failures on older iOS versions (#2550) * [vision] Minor fix wrt xtro (#2551) including some things we need to ignore manually !missing-field! VNVisionVersionNumber not bound !missing-pinvoke! VNImagePointForFaceLandmarkPoint is not bound !missing-pinvoke! VNNormalizedFaceBoundingBoxPointForLandmarkPoint is not bound * [uikit] NSFileProviderMessaging was removed in beta 2. Fixes #58222 (#2552) reference: https://bugzilla.xamarin.com/show_bug.cgi?id=58222 * [uikit] Update for Xcode 9 - Part 5 (#2546) Bindings for the following headers: - UIActivity.h - UIActivityItemProvider.h - UIAlertController.h - UIApplication.h - UIBarButtonItem.h - UIButton.h - UICollectionViewLayout.h - UIColor.h - UIControl.h - UIDocumentMenuViewController.h - UIFontMetrics.h - UIGestureRecognizer.h - UIGraphicsImageRenderer.h - UIInputViewController.h * [CoreText] Fix an extraneous free in CTFont.GetDefaultCascadeList. (#2555) We do not own the return value from CFArrayGetValueAtIndex, so don't say we do when creating CTFontDescriptor instances, since that leads to angry dragons: 2017-08-28 20:15:20.293 monotouchtest[33186:2311738] A_FontTest 2017-08-28 20:15:20.294 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithFontDescriptorAndOptions 2017-08-28 20:15:20.295 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithNameAndOptions 2017-08-28 20:15:20.296 monotouchtest[33186:2311738] critical: Stacktrace: at <unknown> <0xffffffff> at (wrapper managed-to-native) CoreText.CTFont.CTFontCopyDefaultCascadeListForLanguages (intptr,intptr) [0x0000a] in <ae65a2b1eea242d2b68fe784749543bf>:0 at CoreText.CTFont.GetDefaultCascadeList (string[]) [0x00013] in /work/maccore/xcode9/xamarin-macios/src/CoreText/CTFont.cs:2185 at MonoTouchFixtures.CoreText.A_FontTest.GetCascadeList () [0x0001e] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/CoreText/FontTest.cs:78 at (wrapper runtime-invoke) object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) [0x0004f] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) System.Reflection.MonoMethod.InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&) [0x00016] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at System.Reflection.MonoMethod.Invoke (object,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo) [0x00032] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/corlib/System.Reflection/MonoMethod.cs:305 at System.Reflection.MethodBase.Invoke (object,object[]) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/referencesource/mscorlib/system/reflection/methodbase.cs:229 at NUnit.Framework.Internal.Reflect.InvokeMethod (System.Reflection.MethodInfo,object,object[]) [0x00009] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Reflect.cs:215 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunNonAsyncTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x00025] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:116 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x0001a] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:90 at NUnit.Framework.Internal.Commands.TestMethodCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:66 at NUnit.Framework.Internal.Commands.SetUpTearDownCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00007] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/SetUpTearDownCommand.cs:84 at NUnit.Framework.Internal.WorkItems.SimpleWorkItem.PerformWork () [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/SimpleWorkItem.cs:64 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at MonoTouch.NUnit.UI.BaseTouchRunner.Run (NUnit.Framework.Internal.Test) [0x0004d] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:442 at MonoTouch.NUnit.UI.BaseTouchRunner.Run () [0x00030] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:171 at MonoTouch.Dialog.StringElement.Selected (MonoTouch.Dialog.DialogViewController,UIKit.UITableView,Foundation.NSIndexPath) [0x00008] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/Elements.cs:765 at MonoTouch.Dialog.DialogViewController.Selected (Foundation.NSIndexPath) [0x00026] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:577 at MonoTouch.Dialog.DialogViewController/Source.RowSelected (UIKit.UITableView,Foundation.NSIndexPath) [0x00016] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:402 at (wrapper runtime-invoke) <Module>.runtime_invoke_void__this___object_object (object,intptr,intptr,intptr) [0x0005d] in <32f0c196c5bc4aa18daea2ee64a7814e>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) UIKit.UIApplication.UIApplicationMain (int,string[],intptr,intptr) [0x0005c] in <ae65a2b1eea242d2b68fe784749543bf>:0 at UIKit.UIApplication.Main (string[],intptr,intptr) [0x00005] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:79 at UIKit.UIApplication.Main (string[],string,string) [0x00038] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:63 at monotouchtest.Application.Main (string[]) [0x00011] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/Main.cs:27 at (wrapper runtime-invoke) <Module>.runtime_invoke_void_object (object,intptr,intptr,intptr) [0x00051] in <30a7f7e09de9467b8b454221034a0e38>:0 Native stacktrace: 0 monotouchtest 0x000000010fca03c4 mono_handle_native_crash + 244 1 monotouchtest 0x000000010fcadd30 mono_sigsegv_signal_handler + 288 2 libsystem_platform.dylib 0x000000011feb3b3a _sigtramp + 26 3 CoreFoundation 0x000000011de035a2 computeSanitizedString + 146 4 CoreText 0x00000001168df314 _ZN15TPurgeableCache19RetainedValueForKeyEPKv + 54 5 CoreText 0x00000001168def85 _ZNK17TDescriptorSource22CopyDescriptorUncachedEPK7__CFURLbPK10__CFString + 55 6 CoreText 0x00000001168df34f _ZNK17TDescriptorSource14CopyDescriptorEPK7__CFURLbPK10__CFString + 27 7 CoreText 0x00000001168e20ad _ZNK17TDescriptorSource35CopyFontDescriptorPerPostScriptNameEPK10__CFStringmm + 297 8 CoreText 0x00000001168dfd9e _ZNK17TDescriptorSource30CopySystemFontDescriptorByNameEPK10__CFString10UIFontFlag + 54 9 CoreText 0x00000001168e54c4 _ZNK14TFontFallbacks17CopyFontFallbacksEPK10__CFStringS2_PK9__CFArray + 652 10 CoreText 0x00000001168e4a00 _ZNK14TFontFallbacks29CopyFontFallbacksForLanguagesEPK10__CFStringPK9__CFArray + 122 11 CoreText 0x00000001168e4971 _ZN17TDescriptorSource39CopyDefaultSubstitutionListForLanguagesEPK10__CFStringPK9__CFArray + 61 12 CoreText 0x00000001169397a7 _ZNK9TBaseFont28CreateSystemDefaultFallbacksEPK10__CFStringPK9__CFArray + 51 13 CoreText 0x000000011693999c _ZNK9TBaseFont15CreateFallbacksE10UIFontFlagPPK16__CFCharacterSetPK9__CFArray + 346 14 CoreText 0x00000001168c1036 _ZNK5TFont24CreateDefaultCascadeListEPK9__CFArray + 242 15 CoreText 0x00000001168b8ff9 CTFontCopyDefaultCascadeListForLanguages + 97 16 ??? 0x0000000140eaefd3 0x0 + 5384105939 17 ??? 0x0000000140eae761 0x0 + 5384103777 18 ??? 0x000000013c9c8e74 0x0 + 5311860340 19 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 20 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 21 monotouchtest 0x000000010fd71bac mono_runtime_try_invoke_array + 1292 22 monotouchtest 0x000000010fd15587 ves_icall_InternalInvoke + 647 23 ??? 0x000000013e9fcd13 0x0 + 5345627411 24 ??? 0x000000013e9fc738 0x0 + 5345625912 25 ??? 0x000000013e9fded5 0x0 + 5345631957 26 ??? 0x000000013e9fbb76 0x0 + 5345622902 27 ??? 0x000000013e9e237e 0x0 + 5345518462 28 ??? 0x000000013e9e237e 0x0 + 5345518462 29 ??? 0x000000013e9e237e 0x0 + 5345518462 30 ??? 0x000000013e9e237e 0x0 + 5345518462 31 ??? 0x000000013e873006 0x0 + 5344014342 32 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 33 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 34 monotouchtest 0x000000010fd6e320 mono_runtime_invoke + 208 35 monotouchtest 0x000000010fe71af1 xamarin_invoke_trampoline + 5617 36 monotouchtest 0x000000010fe79ddd xamarin_arch_trampoline + 189 37 monotouchtest 0x000000010fe7b1a1 xamarin_x86_64_common_trampoline + 110 38 UIKit 0x0000000111b9876b -[UITableView _selectRowAtIndexPath:animated:scrollPosition:notifyDelegate:] + 1810 39 UIKit 0x0000000111b98986 -[UITableView _userSelectRowAtPendingSelectionIndexPath:] + 344 40 UIKit 0x0000000111a6b5c9 _runAfterCACommitDeferredBlocks + 318 41 UIKit 0x0000000111a59dad _cleanUpAfterCAFlushAndRunDeferredBlocks + 280 42 UIKit 0x0000000111a89f68 _afterCACommitHandler + 137 43 CoreFoundation 0x000000011de3ddb7 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23 44 CoreFoundation 0x000000011de3dd0e __CFRunLoopDoObservers + 430 45 CoreFoundation 0x000000011de22324 __CFRunLoopRun + 1572 46 CoreFoundation 0x000000011de21a89 CFRunLoopRunSpecific + 409 47 GraphicsServices 0x0000000121b7e9c6 GSEventRunModal + 62 48 UIKit 0x0000000111a5f7d0 UIApplicationMain + 159 49 ??? 0x000000013c9c4474 0x0 + 5311841396 50 ??? 0x000000013c9c40ad 0x0 + 5311840429 ================================================================= Got a SIGSEGV while executing native code. This usually indicates a fatal error in the mono runtime or one of the native libraries used by your application. ================================================================= * [monotouch-test] Don't subclass MKMapView. (#2556) MKMapView doesn't like being subclassed (Apple says "you should not subclass the MKMapView class itself"). Bad things like this starts happening: Thread 0 name: tid_303 Dispatch queue: com.apple.main-thread Thread 0 Crashed: 0 libsystem_kernel.dylib 0x0000000186b25348 __pthread_kill + 8 1 libsystem_pthread.dylib 0x0000000186c39354 pthread_kill$VARIANT$mp + 396 2 libsystem_c.dylib 0x0000000186a94fd8 abort + 140 3 monotouchtest 0x0000000101c02c14 mono_handle_native_crash + 22047764 (mini-exceptions.c:2548) 4 monotouchtest 0x0000000101c0d02c mono_sigsegv_signal_handler + 22089772 (mini-runtime.c:2886) 5 libsystem_platform.dylib 0x0000000186c33b60 _sigtramp + 52 6 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 7 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 8 CoreFoundation 0x0000000186eda51c -[__NSArrayM dealloc] + 68 9 CoreFoundation 0x000000018703f5c8 __CFBasicHashDrain + 312 10 CoreFoundation 0x0000000186fb5b44 _CFRelease + 224 11 CoreText 0x000000018a808404 TDescriptorSource::PurgeFontFallbacksCache+ 488452 () + 92 12 CoreText 0x000000018a808374 TDescriptorSource::PurgeFromCaches+ 488308 (__CFURL const*) const + 176 13 CoreText 0x000000018a7eec74 CTFontRemoveFromCaches + 168 14 VectorKit 0x0000000196a539b0 +[VKSharedResourcesManager removeResourceUser:] + 324 15 VectorKit 0x0000000196ca27a4 md::MapEngine::~MapEngine+ 2643876 () + 360 16 VectorKit 0x0000000196ca2634 md::MapEngine::~MapEngine+ 2643508 () + 12 17 libobjc.A.dylib 0x000000018651eef4 object_cxxDestructFromClass+ 28404 (objc_object*, objc_class*) + 148 18 libobjc.A.dylib 0x000000018652c638 objc_destructInstance + 88 19 libobjc.A.dylib 0x000000018652c690 object_dispose + 16 20 QuartzCore 0x000000018afca3ac -[CALayer dealloc] + 116 21 VectorKit 0x0000000196a43294 -[VKMapView dealloc] + 940 22 QuartzCore 0x000000018af6aafc CA::release_objects+ 744188 (X::List<void const*>*) + 32 23 QuartzCore 0x000000018afd97d8 CA::Layer::~Layer+ 1198040 () + 276 24 QuartzCore 0x000000018afca37c -[CALayer dealloc] + 68 25 QuartzCore 0x000000018af6b16c CA::Transaction::commit+ 745836 () + 1052 26 UIKit 0x0000000190393290 _afterCACommitHandler + 256 27 CoreFoundation 0x0000000186fb38b8 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 32 28 CoreFoundation 0x0000000186fb1270 __CFRunLoopDoObservers + 412 29 CoreFoundation 0x0000000186fb182c __CFRunLoopRun + 1292 30 CoreFoundation 0x0000000186ed22d8 CFRunLoopRunSpecific + 436 31 GraphicsServices 0x0000000188d58f84 GSEventRunModal + 100 32 UIKit 0x000000019040427c UIApplicationMain + 208 33 monotouchtest 0x000000010106eb90 wrapper_managed_to_native_UIKit_UIApplication_UIApplicationMain_int_string___intptr_intptr + 9907088 (/<unknown>:1) 34 monotouchtest 0x0000000100f0d6ac UIKit_UIApplication_Main_string___intptr_intptr + 8459948 (UIApplication.cs:79) 35 monotouchtest 0x0000000100f0d66c UIKit_UIApplication_Main_string___string_string + 8459884 (UIApplication.cs:63) 36 monotouchtest 0x0000000100b10450 monotouchtest_Application_Main_string__ + 4277328 (Main.cs:27) 37 monotouchtest 0x0000000100e0c244 wrapper_runtime_invoke_object_runtime_invoke_dynamic_intptr_intptr_intptr_intptr + 244 38 monotouchtest 0x0000000101c10048 mono_jit_runtime_invoke + 22102088 (mini-runtime.c:2526) 39 monotouchtest 0x0000000101c75eec do_runtime_invoke + 22519532 (object.c:2829) 40 monotouchtest 0x0000000101c78a3c do_exec_main_checked + 22530620 (object.c:4623) 41 monotouchtest 0x0000000101bf9a1c mono_jit_exec + 22010396 (driver.g.c:1040) 42 monotouchtest 0x0000000101d13d60 xamarin_main + 23166304 (monotouch-main.m:482) 43 monotouchtest 0x00000001007de710 main + 927504 (main.m:67) 44 libdyld.dylib 0x00000001869f656c start + 4 * [introspection] Let SkipDueToAttributeInProperty skip setters too (#2557) `SkipDueToAttributeInProperty` which is used to check the availability attribute of properties when the Availability info only exist on the property and not on the property Getter or Setter was wrong. This lead to `setSpringLoaded` (which was introduced in iOS 11) to not be ignored by the test (making it fail). - Fix bug #59085: [introspection-ios] selector not found for UIKit.UIBarButtonItem : setSpringLoaded: - Broken test (https://bugzilla.xamarin.com/show_bug.cgi?id=59085) * [corevideo][watchos] Enable CoreVideo on watchOS (#2553) * [storekit] Fix CampaignToken typo (#2559) (#2560) - Fixes bug #59078: StoreProductParameters and invalid property for CampaignToken (https://bugzilla.xamarin.com/show_bug.cgi?id=59078) * [coreml][watchos] Enable API using CoreVideo on watchOS. Fix #58097 (#2561) https://bugzilla.xamarin.com/show_bug.cgi?id=58097 * Add missing [MarshalDirective] attributes. (#2558) * [bindings-generator] Improve build & project file. * Add missing [MarshalDirective] attributes. Add missing [MarshalDirective] attributes, which also requires implementing support for out parameters in the binding generator, since one of the signatures missing the [MarshalDirective] contains such an out parameter. Also add tests for all the API I've added [MarshalDirective] to. * [bindings-generator] Remove redundant if check. * [monotouch-test] Rename file to end with 'Test.cs'. * [tests] Fix a few build errors for Xamarin.Mac. * [uikit] Fix UIColor and UIInputViewController tvOS availability (#2569) - Fixes introspection tests on tvOS 10. * [storekit] Fix SKCloudServiceSetupMessageIdentifier and SKProductStorePromotionController tvOS availability (#2568) - Fixes introspection tests on tvOS 10. * [mapkit] Fix MKMapItemTypeIdentifier tvOS availability (#2566) - Also remove double [Mac] availability attribute. - Fixes introspection tests on tvOS 10. * [ARKit] Fix marshalling for ARPointCloud.RawFeaturePoints. (#2565) ARPointCloud.RawFeaturePoints is an array of Vector3, but each vector is 16-byte aligned (as if it were an array of Vector4). This means we need to account for this when creating a managed array from pointer to the native C-style array. * [ModelIO] Fix MDLVoxelIndexExtent struct. (#2564) The MDLVoxelIndexExtent is a struct containing two 4-dimensional vectors of integers (not floats, as originally and incorrectly implemented). Fix this my creating a new MDLVoxelIndexExtent2 struct with the right fields, re-implement all the API that exposes this struct and obsolete the old API. Also add missing [MarshalDirective] attributes. And write a test to make sure it works fine now and forever. * [coredata] Enable new fields since rdar #33878590 is fixed w/beta 6 (#2570) reference: https://trello.com/c/dlSRYPFx * [xtro-sharpie] Add a Simd check class to verify signatures with Simd types. * [Simd] Add simd matrix types. The OpenTK matrices (Matrix2/3/4) has a different memory layout than Apple's matrix_float2x2/matrix_float3x3/matrix_float4x4 matrices: the OpenTK versions are row-major, while Apple's versions are column-major. This means that when blitting memory from one to the other, the matrix will appear to have been transposed. See bug #[58599][2] for an example. Unfortunately we've already bound several API with Apple's matrix_floatXxX matrices using OpenTK's matrices, and although they're bound wrong, and the matrices appear transposed on input/output, we can't change the behavior because we have to maintain compatibility. This means we have to introduce new API, and then also just define new matrix types with the right memory layout (column-major). Additionally, in the future we might be able to mark these matrices as Simd-matrixes, so that the JIT/AOT compiler can generate the correct alignment for them, avoiding having to define a native conversion method (using the [MarshalDirective] hack). The matrices have been designed to match API-wise the matrices in the System.Numerics.Vectors namespace [1], but for the moment with only a few basic operations implemented (Determinant/Transpose/Multiply) defined (we can always add more later if we want to). In addition explicit conversion operators to and from the corresponding OpenTK.MatrixX are implemented, which means any operation defined in the OpenTK matrices can be used by converting back and forth. [1]: https://msdn.microsoft.com/en-us/library/system.numerics.matrix4x4(v=vs.111).aspx [2]: https://bugzilla.xamarin.com/show_bug.cgi?id=58599 * [ARKit] Use the new Simd matrix types. * [Vision] Use the new Simd matrix types. * [ModelIO] Use the new Simd-compatible matrix types, and deprecate the old API. * [GameplayKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [SpriteKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [xtro] Don't report missing [MarshalDirective] for obsolete methods. * [xtro] Remove unnecessary ignores. The implementation changed, and these stayed accidentally. * [wkwebkit] Fix (native) protocol names (#2572) Also ignore xtro's WKSnapshotConfiguration since it's an Apple bug 34185961 reference (xtro) !missing-protocol! WKURLSchemeHandler not bound !missing-protocol! WKURLSchemeTask not bound !unknown-protocol! WKUrlSchemeHandler bound !unknown-protocol! WKUrlSchemeTask bound !unknown-type! WKSnapshotConfiguration bound * [uikit] Fix enums availability attributes (#2575) - Fixes bug #59132: [uikit] Extra types in watchOS (https://bugzilla.xamarin.com/show_bug.cgi?id=59132) * [watchkit] Add missing designated initializers (#2574) references (xtro) !missing-designated-initializer! WKInterfaceController::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! WKUserNotificationInterfaceController::init is missing an [DesignatedInitializer] attribute * [xtro] Reword some of the Simd diagnostic messages according to review. * [tests] Make sure test symbols don't clash between different test libraries. Fixes this build problem for framework-test: clang: error: linker command failed with exit code 1 (use -v to see invocation) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_get_rotation_matrix'. MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticObjectTest.framework/XStaticObjectTest (Location related to previous error) MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticArTest.framework/XStaticArTest(libtest-ar.x86_64.o) (Location related to previous error) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransformcomponent_get_local_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_create_global_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float4x4'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float3x3'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float2x2'. MTOUCH: error MT5209: Native linking error: 6 duplicate symbols for architecture x86_64 MTOUCH: error MT5202: Native linking failed. Please review the build log. * [tests] Since libtest.a need ModelIO now, the corresponding LinkWith attributes need to state that too. * [introspection] Don't check native signatures on obsolete members, and ignore the right simd matrix types. Fixes this introspection/Mac problem: ***** ApiSignatureTest.NativeSignatures Selector: uniformWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: uniformWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: uniformWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: setMatrixFloat2x2Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: setMatrixFloat3x3Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: setMatrixFloat4x4Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: initWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: initWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: initWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded * [monotouch-tests] Include more custom asserts for watchOS to make the build work. Fixes this: Simd/MatrixFloat4x4Test.cs(28,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(29,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(37,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(48,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' [...] * [monotouch-test] Exclude code that requires the binding project from xammac tests. Exclude code that requires the test binding project from xammac tests because there's currently no XM version of the test binding project. Fixes this: tests/monotouch-test/SpriteKit/UniformTest.cs(20,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLMaterialProperty.cs(37,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLTransform.cs(34,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) * Bump version for preview #8 (#2576) * [spritekit] Audit fixes (xtro) (#2577) 1. SKVideoNode is now, partially, available on watchOS and does not require the extra, manual code to swicth selectors depending on the OS version being run. !missing-type! SKVideoNode not bound !missing-selector! SKVideoNode::anchorPoint not bound !missing-selector! SKVideoNode::initWithCoder: not bound !missing-selector! SKVideoNode::initWithFileNamed: not bound !missing-selector! SKVideoNode::initWithURL: not bound !missing-selector! SKVideoNode::setAnchorPoint: not bound !missing-selector! SKVideoNode::setSize: not bound !missing-selector! SKVideoNode::size not bound !missing-selector! +SKVideoNode::videoNodeWithFileNamed: not bound !missing-selector! +SKVideoNode::videoNodeWithURL: not bound 2. SKNodeFocusBehavior is exposed needlessly on watchOS because SpriteKit/Enums.cs was not processed by the generator, so [NoWatch] did not matter. !unknown-native-enum! SKNodeFocusBehavior bound It's also visible on macOS but nothing uses it (so we do not expose it needlessly) !missing-enum! SKNodeFocusBehavior not bound 3. Add missing designated initializer on default `init` !missing-designated-initializer! SKAttributeValue::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! SKNode::init is missing an [DesignatedInitializer] attribute 4. Remove inconsistency for SKNode subclasses wrt XAMCORE_4_0 The trio attributeValues, setAttributeValues and setValue:forAttributeNamed: that was moved from SKNode (deprecated) into its subclasses. This was done using XAMCORE_4_0 but not on every subclasses. This adds them everywhere to be consistent (only SKNode versions are not defined in XAMCORE_4_0) !missing-selector! SKEffectNode::attributeValues not bound !missing-selector! SKEffectNode::setAttributeValues: not bound !missing-selector! SKEffectNode::setValue:forAttributeNamed: not bound !missing-selector! SKEffectNode::valueForAttributeNamed: not bound !missing-selector! SKEmitterNode::attributeValues not bound !missing-selector! SKEmitterNode::setAttributeValues: not bound !missing-selector! SKEmitterNode::setValue:forAttributeNamed: not bound !missing-selector! SKEmitterNode::valueForAttributeNamed: not bound !missing-selector! SKSpriteNode::attributeValues not bound !missing-selector! SKSpriteNode::setAttributeValues: not bound !missing-selector! SKSpriteNode::setValue:forAttributeNamed: not bound !missing-selector! SKSpriteNode::valueForAttributeNamed: not bound * [introspection] Make sure '[FAIL]' is printed before every failure. (#2578) This makes xharness able to list the failures in the inline summary. * [xtro] Reword some of the Simd diagnostic messages according to review. * [xharness] Add a missing IsServerMode check to generate correct html. (#2581) * [SpriteKit] SKTransformNode is new in Xcode 9 so no need to keep the broken (and obsolete) non-simd version of RotationMatrix. * [intents] Fix some (partial) xtro issues and #59156 (#2585) reference https://bugzilla.xamarin.com/show_bug.cgi?id=59156 Remaining issues are filled in https://bugzilla.xamarin.com/show_bug.cgi?id=59183 !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound * [Intents] Confirm* interface methods should be bound as Confirm, Fixes Bug 59164 (#2591) * [Intents] Confirm* interface methods should probably be bound as Confirm, Fixes Bug 59164 https://bugzilla.xamarin.com/show_bug.cgi?id=59164 All Confirm* methods from *IntentHandling interfaces should be named just `Confirm` to avoid confusion because most of them do not directly confirm as an acion, but instead they **ask** for confirmation also we would follow swift's naming by doing this. * [Intents] XAMCORE_4_0 all Confirm* methods from *IntentHandling Turns any Confirm* into just Confirm inside a XAMCORE_4_0 block, * [Intents] Fix breaking changes in Intents added in Xcode 9 Bindings (#2590) Apple added more protocol conformances to INRidesharingDomainHandling and INPaymentsDomainHandling protocols in Xcode 9, I introduced these breaking changes back when I did intents binding so fixing them :) * [Metal] New bindings from Xcode 9 betas (#2457) * [AVFoundation] Updated bindings for xcode9. (#2272) * [Xcode9] Add IOSurface bindings (#2363) * This framework was a private framework before iOS 11. This framework was a private framework before iOS 11, yet the headers claim many API were introduced in iOS 10. So take account of this difference by using the private framework location in iOS 10.3 or earlier. Testing these API from Xcode works fine when run on an iOS 10.3 device, and I've confirmed the IOSurface framework is loaded from the private frameworks path on older devices (and when built using Xcode 9 and linked with the public framework path). * Disable code to make IOSurface work on iOS 10. Disable the code to make IOSurface work on iOS 10, since it may be rejected by the App Store. This also means adjusting the availability attributes, so that the introspection tests pass (and to document that technically these API won't work when used with Xamarin.iOS in iOS 10). I've filed bug #[59201][1] to keep track of this, maybe we can re-enable this later. [1]: https://bugzilla.xamarin.com/show_bug.cgi?id=59201 * [CoreMedia] Fix leak in CMAttachmentBearer.GetAttachments. (#2593) The caller owns the return value from CMCopyDictionaryOfAttachments, so tell Runtime.GetNSObject that. * [Intents] Adds missing API found by xtro, fixes Bug 59183 (#2596) https://bugzilla.xamarin.com/show_bug.cgi?id=59183 Fixes !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !incorrect-protocol-member! INUIHostedViewControlling::configureWithInteraction:context:completion: is OPTIONAL and should NOT be abstract * [xtro] Fix StartWorkingDirectory to enable debugging (#2598) * [iosurface] Enable for tvOS and XM classic (to avoid multiple defines around consumer API) (#2597) * [xtro] Fix EnumCheck (#2600) * [ARKit] Rename a few method to make them nicer. (#2604) * DisplayTransform -> GetDisplayTransform since methods should have verbs. * SessionWasInterrupted -> WasInterrupted and SessionInterruptionEnded -> InterruptionEnded since these names match better with the other names (CameraDidChangeTrackingState / DidFail / DidOutputAudioSampleBuffer: none are prefixed with 'Session'). Additionally, the type is a Model (for the delegate pattern), which means all methods are more-or-less event-like, and the first argument is always the same (the protocol itself), which is another indicator the methods should be named similarly. * [Foundation] Remove 'Key' suffix from some fields. (#2606) Of the 168 fields in NSMetadataItem, only these 5 hadn't removed the 'Key' suffix. So make them all equivalent by removing the 'Key' suffix from these 5 fields. * [ImageIO] Fix API to not duplicate the instance in instance methods. (#2609) An instance method does not need to take the instance as a parameter, so remove the first (instance) parameter for CGImageDestination.AddAuxiliaryDataInfo and CGImageSource.CopyAuxiliaryDataInfo. An alternative solution would be to make the methods static, but I like the instance API better. * [UIKit] De-model UIDataSourceTranslating. (#2603) It's not clear from neither the documentation nor the headers how this protocol is supposed to be used, and since it doesn't correspond to the delegate pattern, remove the [Model] attribute for now. We can always add it back later. * [CoreML] Improve API. (#2592) * [CoreML] Improve API. * The indices, shape and stride properties for MLMultiArray and MLMultiArrayConstraint can logically only be arrays of integers, so type them as such. This means adding overloads for MLMultiArray's constructors, GetObject and SetObject methods, and the indexers that takes nint[] arrays instead of NSNumber[] arrays. * Change MLFeatureValue's static factory methods to be a method ('Create') instead of a preposition, and call all the different factory methods the same, since they can be overloaded nicely. * [tests][monotouch-test] Add version check to MLMultiArrayTest and make sure the arrays we create are big enough for the data we put in them. * [tests][monotouch-test] MLMultiArray's elements aren't zero-initialized, so don't assume that in the tests. * Support overloading Objective-C methods based on static/instance. (#2607) Two Objective-C methods can be named identically as long as one is static and the other instance. We must support this since Apple did just this (in the NSItemProviderReading / NSItemProviderWriting protocols). We solve it by prepending a '+' or '-' to the selector when hashing it (to determine selector uniqueness, and to look the method up again at runtime). * [uikit] Update for Xcode 9 - Part 6 (#2602) NSAttributedString.h NSFileProviderExtension.h NSLayoutAnchor.h UIAccessibility.h UIAccessibilityAdditions.h UIAccessibilityContainer.h UIAccessibilityContentSizeCategoryImageAdjusting.h UIAccessibilityCustomRotor.h UIAccessibilityLocationDescriptor.h UITabBar.h UINavigationBar.h UIScreen.h * Xcode9 scenekit (#2512) * [SceneKit] basic work * Added key * [xcode9] SCNCameraController * [xcode9] SCNCamera updates * [xcode9] SCNMaterial * [xcode9] SCNGeometryTessellator, SCNCameraControlConfiguration, SCNView, small bits * Add trailing commas to last enum value * Remove whitespace noise * [scenekit] Update deprecated attributes messages * Addresses some of Rolf's feedback * Drop the WeakDelegate in SCNCameraController * Rename method to Render, remove ctor from class that can not be constructed in Palygrounds, add typo exception * [AppKit] Rename NSBezierPath.AppendBezierPathWithCGGlyph to match its sibling methods. (#2605) NSBezierPath contains a lot of 'AppendPathWithXXX' methods, that all map to 'appendBezierPathXXX' selectors. So rename AppendBezierPathWithCGGlyph accordingly, to make it more similar to the other methods in the same type. * [uikit] Add all UISpringLoadedInteractionSupporting (#2616) Types do not conform to the protocol but protocol methods work on those types (see monotouch-test). Fixed introspection tests accordingly and tested the selectors in monotouch-test. * [Intents] Add convenience ctor overload and call correct base ctor in manual ctor. (#2613) Add a convenience constructor overload in INGetUserCurrentRestaurantReservationBookingsIntent that uses nint instead of NSNumber, since logically "number of results" will always be some sort of integer. Also call the correct base constructor in INSpeakableString's custom constructor (same as any other generated constructor). Otherwise we end up doing something like this: [[[INSpeakableString alloc] init] initWith ...], i.e. calling two different init methods. * [coreimage] Add new headers API up to beta 6 (#2601) Filters are not complete (ref: #57350) https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * Some new constants are not yet documented (type is known), so they are commented / ignored https://bugzilla.xamarin.com/show_bug.cgi?id=59296 * Filled bug for [Wrap] inside [Category] so strong dictionary helpers can be re-enabled later https://bugzilla.xamarin.com/show_bug.cgi?id=59294 * [foundation] xtro fixes for watchOS (#2586) !missing-enum! NSProcessInfoThermalState not bound !missing-field! NSProcessInfoThermalStateDidChangeNotification not bound !missing-selector! NSProcessInfo::thermalState not bound Headers are wrong and preferredPresentationStyle is not in tvOS and watchOS !missing-selector! NSItemProvider::preferredPresentationStyle not bound !missing-selector! NSItemProvider::setPreferredPresentationStyle: not bound * [uikit] Also remove UIPreferredPresentationStyle enum from platform where it's not used * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. (#2614) * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. * NSItemProviderWriting: * NSItemProviderReading: Implement correctly and completely by uncommenting commented out code. * NSMutableString: * NSAttributedString: remove inlined members, since these classes don't implement NSItemProviderReading / NSItemProviderWriting (according to the headers at least). * NSUrl: all platforms now seem to implement NSItemProviderReading / NSItemProviderWriting. * NSString: all platforms now seem to implement both NSItemProviderReading and NSItemProviderWriting * UIColor: * UIImage: Update inlined protocol members according to the latest beta. Additionally, due to the following conditions: * The protocols all have the correct members now. * In the API definition we tell the generator to inline members from a protocol by inheriting from the corresponding interface. * The generator doesn't inline static members from protocols. several 'new' keywords had to be added to silence a compiler warning that occurrs when we manually inline a static member, since the member would be included in the type both from the inherited interface and the manual implementation. * [Foundation] Comment out NSItemProviderWriting.GetItemProviderVisibility to avoid inlining/generating unusable methods. NSItemProviderWriting.GetItemProviderVisibility is an optional method, and none of the native classes that implements NSItemProviderWriting actually imlements the method. This means inlining the method in those classes ends up creating unusable API; so just comment out the method to avoid generating the unusable API. The introspection tests found this: [FAIL] Foundation.NSString : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Foundation.NSUrl : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Contacts.CNContact : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] MapKit.MKMapItem : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIColor : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIImage : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] iOSApiSelectorTest.ApiSelectorTest.StaticMethods : 6 errors found in 2348 static selector validated: See also https://bugzilla.xamarin.com/show_bug.cgi?id=59308 * [iosurface] Add missing [TV] attributes (#2619) * [opengles] Enable the new API using IOSurface (#2618) The symbol only exists inside device libraries, not on simulator, and the introspection tests were updated to ignore it. Part of https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [avfoundation][watchos] Enable AudioBufferList (fix #59145) + audit (xtro) (#2617) 1. AudioBufferList is part of CoreAudio (wrong namespace, which needs a few changes in the generator) and now available in watchOS 4 https://bugzilla.xamarin.com/show_bug.cgi?id=59145 2. Also fixes xtro found issues: !missing-type! AVAudioRecorder not bound !missing-selector! AVAudioRecorder::averagePowerForChannel: not bound !missing-selector! AVAudioRecorder::channelAssignments not bound !missing-selector! AVAudioRecorder::currentTime not bound !missing-selector! AVAudioRecorder::delegate not bound !missing-selector! AVAudioRecorder::deviceCurrentTime not bound !missing-selector! AVAudioRecorder::format not bound !missing-selector! AVAudioRecorder::initWithURL:format:error: not bound !missing-selector! AVAudioRecorder::initWithURL:settings:error: not bound !missing-selector! AVAudioRecorder::isMeteringEnabled not bound !missing-selector! AVAudioRecorder::isRecording not bound !missing-selector! AVAudioRecorder::peakPowerForChannel: not bound !missing-selector! AVAudioRecorder::recordAtTime: not bound !missing-selector! AVAudioRecorder::recordAtTime:forDuration: not bound !missing-selector! AVAudioRecorder::recordForDuration: not bound !missing-selector! AVAudioRecorder::setChannelAssignments: not bound !missing-selector! AVAudioRecorder::setDelegate: not bound !missing-selector! AVAudioRecorder::setMeteringEnabled: not bound !missing-selector! AVAudioRecorder::settings not bound !missing-selector! AVAudioRecorder::url not bound !missing-protocol! AVAudioRecorderDelegate not bound !missing-selector! AVAudioEngine::inputNode not bound !missing-selector! AVAudioEngine::manualRenderingBlock not bound !missing-selector! AVAudioInputNode::setManualRenderingInputPCMFormat:inputBlock: not bound !missing-selector! AVAudioPlayer::format not bound !missing-selector! AVAudioSession::requestRecordPermission: not bound !unknown-field! AVFileType3GPP bound !unknown-field! AVFileType3GPP2 bound !unknown-field! AVFileTypeAC3 bound !unknown-field! AVFileTypeAIFC bound !unknown-field! AVFileTypeAIFF bound !unknown-field! AVFileTypeAMR bound !unknown-field! AVFileTypeAVCI bound !unknown-field! AVFileTypeAppleM4A bound !unknown-field! AVFileTypeAppleM4V bound !unknown-field! AVFileTypeCoreAudioFormat bound !unknown-field! AVFileTypeDNG bound !unknown-field! AVFileTypeEnhancedAC3 bound !unknown-field! AVFileTypeHEIC bound !unknown-field! AVFileTypeHEIF bound !unknown-field! AVFileTypeJPEG bound !unknown-field! AVFileTypeMPEG4 bound !unknown-field! AVFileTypeMPEGLayer3 bound !unknown-field! AVFileTypeQuickTimeMovie bound !unknown-field! AVFileTypeSunAU bound !unknown-field! AVFileTypeTIFF bound !unknown-field! AVFileTypeWAVE bound * [Metal] Implement API using IOSurface now that IOSurface is implemented. Partially fixes #58054. (#2621) https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [PdfKit] Improve PdfAnnotation.QuadrilateralPoints binding by making it strongly typed. (#2620) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). (#2622) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). * [ARKit/Vision] Use the new simd vector types instead of the OpenTK versions. * [ModelIO] Use the new simd vectors in new API (MDLVoxelIndexExtent2). This way we won't have to create a MDLVoxelIndexExtent3 in the future. * [SpriteKit] Use the new simd vectors in new API. * [metal] Audit (xtro) based fixes (#2623) !extra-protocol-member! unexpected selector MTLArgumentEncoder::newArgumentEncoderForBufferAtIndex: found !extra-protocol-member! unexpected selector MTLComputeCommandEncoder::dispatchThreads:threadsPerThreadgroup: found macos-only !missing-field! MTLDeviceRemovalRequestedNotification not bound !missing-field! MTLDeviceWasAddedNotification not bound !missing-field! MTLDeviceWasRemovedNotification not bound !missing-pinvoke! MTLCopyAllDevices is not bound * [CloudKit] Update bindings to beta 6. (#2615) * [FileProvider] Turn NSFileProviderItemIdentifier enum into a static class, fixes bug 59329 (#2634) https://bugzilla.xamarin.com/show_bug.cgi?id=59329 At the time of binding NSFileProviderItemIdentifier it wasn't clear how it was supposed to be used, I mean apple provides two keys which I thought were the only possible values hence binding it as an smart enum. Unfortunately this wasn't the case and the user can use those two values provided from the SDK or their own NSString Identifier. Swift provides a wrapper unfortunately we can't do the same due to NSFileProviderItemIdentifier is used in the NSFileProviderItem protocol and we currently do not support changing signatures on them. * [mtouch] Teach mtouch about the 'IOSurface' framework for tvOS. Fixes #59333. (#2630) https://bugzilla.xamarin.com/show_bug.cgi?id=59333 * Bump Touch.Unit to get fix for API breakage. (#2631) spouliot/Touch.Unit@8f1e19d [NUnitOutputTextWriter] Reintroduce previous constructor to make sure we don't break binary ABI. spouliot/Touch.Unit@00b0c0b [NUnitOutputTextWriter] Don't write invalid xml comments. spouliot/Touch.Unit@de9fe20 [TouchRunner] Restore the original code path when not wrapping NUnit xml output. * [IOSurface] Add missing availability attributes for tvOS. (#2629) * Bump versions for preview 9 (#2624) * [AVFoundation] Add missing interface AVRouteDetector. (#2637) * [tests] Update xtro to reduce list sizes (#2636) * Skip OpenTK duplicate declaration (we can't change them); * Fix rule name change for ARKit / simd; * Add missing default initializer on `init` to pending actions; * Add note for AVPersistableContentKeyRequest changes wrt tvOS; * [ReplayKit] Make RPBroadcastActivityViewController.LoadBroadcastActivityViewController async-capable. (#2639) * [xcode9] More SceneKit bindings (#2633) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 (#2644) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 https://bugzilla.xamarin.com/show_bug.cgi?id=59380 vector_float3 is 16 bytes, which means the binding is incorrect, because Vector3 is 12 bytes, and our code does not that difference into account. * Add tests * [DeviceCheck] Disable default ctor for DCDevice. (#2642) It doesn't seem to be useful according to the documentation, since it appears that the only way to get an instance is to use the static CurrentDevice property. * [audiounit] Audit (xtro) fixes for tvOS (#2635) Availability attributes in non-generated files don't hide symbols/code. reference: !unknown-pinvoke! AudioUnitExtensionCopyComponentList bound !unknown-pinvoke! AudioUnitExtensionSetComponentList bound * [tests] Make sure tvOS tests don't use the (unexisting) API * [tests] Add all test project variations to tests-mac.sln (#2579) * [xharness] Make sure generated mac projects have different project guids. * [introspection] Change the project guid so that it doesn't match the dontlink-mac project guid. * [tests] Add all test project variations to tests-mac.sln. * [xharness] Fix else condition. * [FileProvider] Adds missing NSFileProviderPage constants, fixes bug 59297. (#2646) https://bugzilla.xamarin.com/show_bug.cgi?id=59297 Adds NSFileProviderInitialPageSortedByName and NSFileProviderInitialPageSortedByDate NSData constants * [Xcode9] Remove NSFileProviderMessage and NSFileProviderMessageInterface (#2647) APIs were removed in beta 2 * [Foundation/UIKit] Provide LoadObject[s] methods that return the expected type in the callback. Fixes #59049. (#2638) The callback for these LoadObject[s] methods take an INSItemProviderReading parameter. This tells our runtime that we must provide an instance of a managed object that implements this interface (but nothing else), so we create a `NSItemProviderReadingWrapper` instance, which complies with the API (since the wrapper type implements the corresponding interface). Unfortunately these methods are supposed to return an instance of the passed- in type, so in order to comply with this soft (documentation-only) requirement, provide a wrapper method that creates instances of the right types. https://bugzilla.xamarin.com/show_bug.cgi?id=59049 * [arkit] Ignore deprecated selectors (#2645) * [FileProvider] Adds missing protocol and keys from audit (#2652) ``` !missing-protocol! NSFileProviderServiceSource not bound !missing-field! NSFileProviderErrorCollidingItemKey not bound !missing-field! NSFileProviderErrorNonExistentItemIdentifierKey not bound !missing-field! NSFileProviderFavoriteRankUnranked not bound ``` Also adds `NSXpcListenerEndpoint` to foundation, needed by `NSFileProviderServiceSource` protocol. * [tests][xtro] Workaround xtro runner dupe entry exception and update data files (#2654) * [AVFoundation] Rename field to match others. (#2657) * [homekit] Audit (xtro) fixes (#2653) - HMCharacteristicEvent conforms to NSMutableCopying on iOS11 which makes it 64 bits only (so adjust intro tests) - Ignore extra setters on HMMutablePresenceEvent, rdar 33883958 !missing-selector! HMMutablePresenceEvent::setPresenceEventType: not bound !missing-selector! HMMutablePresenceEvent::setPresenceUserType: not bound * [xtro] Add missing pinvoke to pending (#2662) - Bug 59422: [uikit] Missing UIContentSizeCategoryCompareToCategory & UIContentSizeCategoryIsAccessibilityCategory (https://bugzilla.xamarin.com/show_bug.cgi?id=59422) * Merge latest d15-3 fixes into xcode9 (#2660) * [msbuild] Re-added wildcard (*) expandsion for application-identifier in Entitlements.plist (#2186) Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=57119 * Bump mono (#2213) * Framework tests were still binding non-linked Simple class which errors now (#2216) (#2218) - Improve Makefile to rebuild when projects build with errors * Bump mono to get cecil fix for bug #56808. (#2222) https://bugzilla.xamarin.com/show_bug.cgi?id=56808 * [msbuild] Use @(ReferencePath) instead of @(ResolvedFiles) (#2188) (#2214) This allows things to work on both xbuild and msbuild. In xbuild, both lists are exactly the same and on msbuild, only @(ReferencePath) exists. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=55147 * NSActivityOptions.IdleDisplaySleepDisabled had wrong value (#2232) (#2239) This was due to an integer overflow. The original value was based on Int32 1 << 40 == 256 The correct value should be based on a UInt64. 1UL << 40 == 1099511627776 * [tests] Fix bug 57699 - [iOS]InternalsTest failure (Linkall) tests on device (#2243) Strip native debugging symbols should not be checked for debug builds * Bump mono to get fix for bug #57780. https://bugzilla.xamarin.com/show_bug.cgi?id=57780 * Update .gitmodules Change branch to d15-3 branch of mono * Bump maccore to get fix for bug #55064. https://bugzilla.xamarin.com/show_bug.cgi?id=55064 * [mono] Bump mono to get the head of cecil/mono-2017-04 and fix IsComObject #57919 Also fix #58789 [1], the typo in tools/mtouch/Tuning.cs showing in MT0000 errors instead MT2102. That's already in master and d15-4 mono bump includes: [2] commit 2a6502cee0df9de5198eafe7c8b5f6ac25106f34 (HEAD -> d15-3, origin/d15-3) Merge: 02457c20fcf 5e05cafc6f1 Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 10:04:06 2017 -0400 Merge pull request #5401 from marek-safar/com [Marshal.IsComObject] Make this predicate return false instead of thr… [3] commit 02457c20fcf57c0610e844d638eb1da82b5d1eb0 Merge: da80840ea55 73fd9a1b82e Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 09:59:06 2017 -0400 Merge pull request #5400 from spouliot/bump-cecil-58834-d15-3 [cecil] Bump to the head of the mono-2017-04 branch and pick the fix for bug #58834 References [1] https://bugzilla.xamarin.com/show_bug.cgi?id=58789 [2] https://bugzilla.xamarin.com/show_bug.cgi?id=57919 [3] https://bugzilla.xamarin.com/show_bug.cgi?id=58834 * [mtouch] Put 'mono_profiler_startup_log' in the symbol list. Fixes #58778. (#2501) We need the 'mono_profiler_startup_log' symbol when profiling is enabled, so make sure to add the symbol to the correct list of symbols we need. Previously we were passing `-u _mono_profiler_startup_log` to clang directly, which is fine, but not complete, since it does not write the symbol to the symbollist file (--symbollist=file), which means it wouldn't be preserved when the MSBuild tasks strip the executable. https://bugzilla.xamarin.com/show_bug.cgi?id=58778 * Bump versions for SR3 https://trello.com/c/EVze08ei * Bump mono to include HttpClientHandler fix #44027 https://trello.com/c/jYFXadH8/8-systemnethttp-close-request-stream-when-httpclienthandler https://bugzilla.xamarin.com/show_bug.cgi?id=44027 * [FileProvider] Add missing API and turn NSString to string (#2663) Turned NSString to string in order to match exisiting API. * [uikit] Add UIPasteConfigurationSupporting and UITextPasteConfigurationSupporting (#2649) - Fixes bug #59363: Missing UIPasteConfigurationSupporting, UITextPasteConfigurationSupporting, UITextDraggable and UITextDroppable on a couple of types (https://bugzilla.xamarin.com/show_bug.cgi?id=59363) * [uikit] Remove 129 types in UIPasteConfigurationSupporting case * [scenekit] Audit (xtro) fixes (#2648) This looks like an Apple breaking change (since `SCNAnimation` is new) but we now have: > typedef void (^SCNAnimationEventBlock)(id<SCNAnimation> animation, id animatedObject, BOOL playingBackward); bound as > delegate void SCNAnimationEventHandler (CAAnimation animation, NSObject animatedObject, bool playingBackward); and `CAAnimation` conforms to `SCNAnimation` but *only* the later is available on watchOS. The delegate is only updated (since it's new) on our watchOS profile. xtro references: (watchos) !unknown-protocol! SCNCameraControlConfiguration bound (tvos/watchos) !missing-selector! SCNAnimation::animationEvents not bound !missing-selector! SCNAnimation::setAnimationEvents: not bound !missing-selector! SCNConstraint::isEnabled not bound !missing-selector! SCNConstraint::setEnabled: not bound !missing-field! SCNSceneSourceConvertToYUpKey not bound !missing-field! SCNSceneSourceConvertUnitsToMetersKey not bound (ios/tvos) !missing-protocol-conformance! SCNNode should conform to UIFocusItem * Bump maccore post 15.3 merge (#2665) * Bump Xcode 9 to GM (#2667) * Force build (on wrench) * [avfoundation] Fix breaking changes (apidiff) (#2664) * [TVServices] Update to Xcode 9 GM (#2675) * [GameController] Update to Xcode 9 GM (#2673) * [LocalAuthentication] Update to Xcode 9 GM (#2671) * [LocalAuthentication] Update to Xcode 9 GM * Remove availability from BiometryNotAvailable, BiometryNotEnrolled and BiometryLockout * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer (#2659) * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer Some of the new added types were already present BUT under a #if MONOMAC, they had to be moved. * [AVFoundation] Set the wrongly added API to be obsolete and ensure it returns logical values. (#2650) * [xtro] The right platform for macOS is 'macos', not 'osx'. (#2677) The platform name is used to filter availability attributes, and if we use the wrong platform, we'll incorrectly skip all availability attributes. The net result in unclassified entries: https://gist.github.com/rolfbjarne/a4474bc2a40c49a85cad495b51bb514f * Various Xcode 9 API improvements and also fixes bug 59433 (#2676) https://bugzilla.xamarin.com/show_bug.cgi?id=59433 While fixing bug 59433 I noticed some additional issues outlined below: AVDepthData: * Renamed **non** static `Create` methods because `Create` only makes sense with the **Static** method in this context. Also by renaming the methods we are now closer to the names that swift uses. * Kept descriptive method names in favor of self-documenting code. `Convert`, `Apply` and `Replace` do not fully give us the intent of the method. * Added a convenience `Create` static method that takes a `CGImageAuxiliaryDataInfo`. * AvailableDepthDataTypes is now an array of `CVPixelFormatType` instead of a `NSNumber` array (The aactual fix for bug 59433). ImageIO: * Refactored `CGImageAuxiliaryDataInfo` to be a `StrongDictionary` in order to avoid most of the manual code and also to avoid reimplementing the `ToDictionary` method (which contained a subtle bug). * Adjusted code to reflect the above change. * Added missing `.ctor (IntPtr, bool)` to `CGImageMetadata` so the class is able to be created by our `Runtime.Get*`. * Simplified `CopyAuxiliaryDataInfo` method by using `CGImageAuxiliaryDataInfo` as a `DictionaryContainer`. Tests: * Added `xamarinmonkey.heic` which is an image that contains depth data needed to test above changes. * Adds `AVDepthDataTests` that touches most of the changes listed here. * Tweak the Simd-compatible matrices and vectors (#2668) * Rename them to be OpenTK.NMatrix# (instead of Simd.MatrixFloat#x#). * Remove the Vector2 and Vector4 variants, we'll use the OpenTK types instead (but we'll keep the NVector3 variant, since it's not identical to the OpenTK version). * Update the API to match their OpenTK counterparts better: * NMatrix2 and NMatrix3 have a 0-based R#C# scheme for their fields. * NMatrix4 has a 1-based M## scheme for its fields (i.e. no change). * [AVFoundation] Use Simd-matrix for API that needs it. (#2679) This also requires implementing the corresponding matrix (NMatrix4x3). Fixes this xtro issue: > !unknown-simd-type-in-signature! OpenTK.Matrix3 AVFoundation.AVCameraCalibrationData::get_GetIntrinsicMatrix(): the native signature has a simd type (matrix_float3x3), while the corresponding managed method is using an incorrect (non-simd) type. * [xtro] Fix checking availability on categories. (#2682) When checking for category availability, check if both the current declaration is a category, and if the current's declaration container is a category. Otherwise this scenario fails: * Category method is available. * Category does not have availability attributes. * Main class is unavailable. with this typical code sequence: ```csharp // don't process methods (or types) that are unavailable for the current platform if (!decl.IsAvailable () || !(decl.DeclContext as Decl).IsAvailable ()) return; ``` In which case we'd: * First check the method (`decl`): * It's available, so no further checks is done on the method. * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container's container is a category (it isn't, it's the namespace). and as such determine that the method is available. With this change, the second step will become: * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container is a category (it is), and if its main class is available (it isn't). and as such determine that the method is unavailable. * Check for attributes on the method's container (no attributes, so we continue). * Check if the method's Unclassified diff: https://gist.github.com/rolfbjarne/8fa80962596978a426eadf9b7ba39dc1 * [uikit] Update for Xcode 9 GM (#2670) * [AVFoundation] Implement AVCapturePhoto. Partially fixes #59388. (#2678) Fixes: > common.unclassified:!missing-type! AVCapturePhoto not bound https://bugzilla.xamarin.com/show_bug.cgi?id=59388 * Use strong dictionaries for AVCapturePhoto.Metadata and AVCapturePhoto.EmbeddedThumbnailPhotoFormat. * [SIMD] Implement Simd double types (VectorDouble3/MatrixDouble4x4). (#2632) The following types will be used by ModelIO bindings * Fix delta to be double * Rename Simd-compatible matrices and vectors to match our final naming. This also means removing the new Vector2 and Vector4 variants (but not Vector3). * [avfoundation] Remove AVAssetDownloadDelegate.DidLoadTimeRange since it was removed in one of the betas (#2687) * [foundation] Move NSUrlSessionMultipathServiceType to a file processed by the generator (for the availability attributes) (#2688) * [arkit] Update for Xcode 9 GM (#2681) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes (#2690) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes Type Changed: Intents.INCarSeatResolutionResult Removed methods: public static INCarSeatResolutionResult GetConfirmationRequired (INCarSeat valueToConfirm); public static INCarSeatResolutionResult GetSuccess (INCarSeat resolvedValue); * [avfoundation] Add missing protocol members and deprecations (#2691) !missing-protocol-member! AVCapturePhotoCaptureDelegate::captureOutput:didFinishProcessingPhoto:error: not found and the selector removed from PR#2687 was actually replaced with this one !missing-protocol-member! AVAssetDownloadDelegate::URLSession:aggregateAssetDownloadTask:didLoadTimeRange:totalTimeRangesLoaded:timeRangeExpectedToLoad:forMediaSelection: not found * [tests][xtro] Map some enums, more fix with protocols and update entries (#2692) * [Tests] Reenable dns tests on the watch. (#2674) * [arkit] Add ARBlendShapeLocationOptions strong dictionary (#2696) * [coreimage] Skip not yet bound filters added in Xcode9 (#2698) Tracked in https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * [Metal] Renamed MTLArgumentDescriptor.ArgumentDescriptor to Create, fixes bug 59498 (#2702) https://bugzilla.xamarin.com/show_bug.cgi?id=59498 From [argumentDescriptor docs](https://developer.apple.com/documentation/metal/mtlargumentdescriptor/2915746-argumentdescriptor?language=objc) > Creates an empty argument descriptor. * [msbuild] Always codesign app bundles if the codesign key is non-null (#2697) ...even if it is a simulator build. Turns out that starting with Xcode9, sim builds need to be codesigned for App Groups entitlements to work properly. Interestingly, the DetectSigningIdentity logic had a comment about needing to codesign simulator builds for some entitlements to work already starting with Xcode 8 but apparently the iOS targets did not respect this. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=59379 * [Foundation] Add NSProxy stub in order to workaround bug 59247 (#2693) https://bugzilla.xamarin.com/show_bug.cgi?id=59247 We need to have a better solution that removes all what NSProxy does not responds to. Right now this works because NSObject implements NSObject protocol just like NSProxy, but NSProxy responds to far less selectors hence doing it internal so it is not a breaking change when we provide the correct fix. * Keep NSProxy around and avoid XML linker description We need to keep NSProxy (avoid linking it) if WKNavigationDelegate or IWKNavigationDelegate is used. We know WKWebView will be there and can hold a reference to it. * [Xcode 9] Update Metal for GM (#2689) * [iosurface] IOSurface is not usable before iOS/tvOS 11. Fixes #59201 (#2706) Apple rejects apps that links with the previously private IOSurface.framework. We were not sure about this [1] and had it disabled (this is removed). However another bug stopped our adjustment logic [2] from being executed. This is needed since `clang` picks up the private framework if it does not find the public one (even when asking for a weak framework), [1] https://bugzilla.xamarin.com/show_bug.cgi?id=59201 [2] Added a while ago for JavascriptCore * Bump maccore to point to commit with the docs fix. (#2703) * Bump XI to 11.0.x (and XM to 3.99.9.x) (#2684) * fix typo
2017-09-16 00:53:16 +03:00
[Export ("targetOffset", ArgumentSemantic.Assign)]
SCNVector3 TargetOffset { get; set; }
[Watch (4, 0), TV (11, 0), Mac (10, 13, onlyOn64: true), iOS (11, 0)]
Merge xcode9 into d15-4[-xi] (#2710) * [FileProvider] Add Xcode 9 Beta 1, 2 & 3 Bindings (#2279) * [FileProvider] Add Xcode 9 Beta 1 Bindings * Better naming * Feedback not related to BindAs * [FileProvider] Removes BindAs, add manual code for it and updated to Beta 3 * [FileProvider] Implement feedback * [CoreSpotlight] Updated spotlight bindings for xcode 9 beta 3. (#2193) Updated spotlight bindings for xcode 9 beta 3. * Fix warning caused by duplicate (#2354) * [FileProviderUI] Add Xcode 9 Beta 1 to 3 bindings (#2356) * Bump to Xcode 9 beta 4 * [arkit] ARLightEstimate does not conform to NSCopying anymore (fix unit test) * [uikit] NSFileProviderExtension.ReparentItem got a new parameter in beta4 (fix unit test) * [coreimage] CIImageAccumulator init returns nil in beta 4 There's no header change to mention `init` is not allowed but it's not clear how this default initializer could be used. Also make public some other API to construct this type (outside of XM). It's not clear why there were `internal` as they are (at least now) part of the header files. * [photos] Add helpers when PHLivePhotoEditingOption/NSDictionary is null (to avoid ambiguous API) (#2360) Adding a strongly typed `PHLivePhotoEditingOption` (a strongly typed version of an `NSDictionary`) can cause a `CS0121` (call is ambiguous) since using a `null` argument is common (only one option exist so far). This PR adds overloads that makes the code nicer in such case, e.g. before Xcode9: > // null is used when no options are given > _foo.SaveLivePhoto (output, null, completion); current (Xcode 9) > // casting required to remove ambiguity with PHLivePhotoEditingOption > _foo.SaveLivePhoto (output, (NSDictionary)null, completion); with this PR > // no option, no argument > _foo.SaveLivePhoto (output, completion); The same applies to `PrepareLivePhotoForPlayback`. * [tests] Disable/tweak two tests that breaks on (almost) all Xcode updates Those tests were not added to validate xOS so just keep the parts that helps us (without constantly checking back the new break flavor) * Disable watchOS to check if this hides others issues * [mapkit] Update for beta 4 * [coredata] Update for beta 4 * [wkwebkit] Update for beta 4 Note: WKWindowFeatures.h is not compiled (part of the framework umbrella) and the `@interface WKWindowFeatures (WKPrivate)` sounds like it should not have been exposed (it's all fields starting with `_`) * [corelocation] Update for beta 4 * Revert "Disable watchOS to check if this hides others issues" This reverts commit fed2249fa43290a1956ab2fe0d48f83ab6db9711. * [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]: https://github.com/xamarin/xamarin-macios/blob/f5956d6cc1eb5dfa7bab16628cf282d40237f64e/src/generator.cs#L5985 * [FinderSync] Update to beta 4 (#2377) * [ImageIO] Update to Xcode 9 (#2353) * [PhotosUI] Move macOS photosui bindings out of photos.cs into photosui.cs (#2358) * [quicklook] Update up to beta 4 (#2374) * [uikit] UIDragInteraction & UIDragInteractionDelegate (Xcode 9 b1,2,3) (#2357) * [safariservices] Update up to beta 4 (#2380) * [coreanimation] Update to beta 4 (#2382) Apple removed (mistake?) some API in beta 1. Filed as rdar 33590997 Internal tracking in https://trello.com/c/J8BDDUV9/86-33590997-coreanimation-quartzcore-api-removals * [storekit] Update up to beta 4 (#2379) * [CoreML] Update to Xcode 9 Beta 4 (#2387) * [uikit] UICollectionView/UITableView Drag & Drop (Xcode 9 b1,2,3 & 4) (#2355) * Update code after radar 32929318 and 32897776 are fixed in b4 (#2394) * [xcode9 CoreAudio] New definitions from Beta1 to Beta3 (#2359) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 (#2397) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 https://bugzilla.xamarin.com/show_bug.cgi?id=58512 Created strong API (VNBarcodeSymbology) on the following properties * VNDetectBarcodesRequest.SupportedSymbologies * VNDetectBarcodesRequest.Symbologies * VNBarcodeObservation.Symbology * Remove modern C# because classic can't do it 😡 * [mediaplayer] Update up to beta 4 (#2388) * [watchkit] Update to beta 4 (#2398) * Bump Visual Studio for Mac max version (#2408) * [coreimage] Add CIBarcodeDescriptor and enabled missing API for VNBarcodeObservation. Fix #58197 (#2411) https://bugzilla.xamarin.com/show_bug.cgi?id=58197 * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 (#2407) * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 * [uikit] Fixes based on comments * [coreimage] CIImageAccumulator API fixes. Fix #58349 (#2412) * Obsolete the default `init`; * XM exposed some older APIs using `int` instead of `CIFormat`. This is fixed and old APIs are obsoleted; * Both new & old APIs are now using `CIFormat` for both XI and XM. https://bugzilla.xamarin.com/show_bug.cgi?id=58349 * [uikit] UIText drag & drop - up to Xcode 9 beta 4 (#2410) * [uikit] UISplitView & UIStackView up to Xcode 9 beta 4 (#2425) * Bump XI/XM versions before preview 4 (#2422) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 (#2378) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 * [PDFKit] Implement feedback * [PDFKit] the forgotten enum * [PDFKit] More feedback * [PDFKit] Add Mac changes * Missing change * Fix test RectangleF VS CGRect * Pass -Wunguarded-availability-new to quiet a new clang warning (#2424) - https://bugzilla.xamarin.com/show_bug.cgi?id=58574 * [mtouch/mmp] Ignore warnings about unguarded code section with regards to availability. (#2441) * [monotouch-test] Remove workaround for fixed Apple bug. (#2445) * Bump to Xcode 9 beta 5. (#2447) * Bump to Xcode 9 beta 5. * [mmp] Disable the partial static registrar, because Apple's macOS SDK is broken. > In file included from Xamarin.Mac.registrar.mobile.i386.m:1: > In file included from ./Xamarin.Mac.registrar.mobile.i386.h:11: > /Applications/Xcode9-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVFoundation.h:88:9: fatal error: 'AVFoundation/AVRouteDetector.h' file not found https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [mmp] Fix partial static registrar removal. * [CallKit] Update to Xcode 9 beta 5. * [ARKit] ARPointCloud doesn't conform to NSCopying anymore in Xcode 9 beta 5. * [ARKit] Update to Xcode 9 beta 5 enough to make tests happy. * [CoreImage] Stub out new filters in Xcode 9 beta 5. * [tests][monotouch] Simplify some MDLMesh asserts since values change a lot between OS versions. * [mmp] Default to the dynamic registrar for release builds again, due to bug #58629. https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [tests][introspection] CXCall started implementing NSCopying without saying so in the headers. * Disable mmp static registrar tests due to 58629 for now * [quicklook] Update to beta 5 (#2450) * [photos] Update for beta 5 (#2452) Also update some existing enum members were added in beta 1 on macOS * [safariservices] Update for beta 5 (#2455) * [mediaplayer] Update to beta 5 (#2456) * [CoreLocation] Update Xcode 9 Beta 5 (#2453) * [CoreML] Update to Xcode 9 Beta 5 (#2454) * [Contacts] Update to Xcode 9 Beta 5 (#2451) * [Vision] Update to Xcode 9 Beta 5 (#2458) * [builds] Tell LLVM to stay away from newer macOS functions. (#2459) Fixes this build problem on Sierra: > ld: weak import of symbol '_futimens' not supported because of option: -no_weak_imports for architecture x86_64 This is a symbol that was (will be?) introduced in High Sierra. Interestingly this only occurs if the Xcode 8.X Command Line Tools haven't been manually installed. Because if the Xcode 8.X Command Line Tools are installed, this happens: 1. llvm's configure script detects that 'futimens' is not usable. 2. llvm's configure script detects that 'futimens' is not usable, because xcrun sets SDKROOT=/ when calling clang. a. When the SDKROOT variable is set, clang passes '-syslibroot /usr/lib' to ld. b. When ld gets '-syslibroot /usr/lib', ld looks in '/usr/lib' for a library that contains 'futimens' in the OS itself, and since we're on Sierra, that fails to link. c. So when llvm's configure script creates a test program that checks if 'futimens' is present, the program fails. This is correct, and makes llvm *not* use futimens. 3. xcrun sets SDKROOT=/ because /usr/share/current-os.sdk/Info.plist exists. If that file does not exist, then xcrun sets SDKROOT to Xcode9's macOS SDK (because that's what xcode-select reports). a. When SDKROOT is set to Xcode9's macOS SDK, the configure check for 'futimens' succeeds, because the macOS 10.13 SDK contains that function. b. llvm happily uses 'futimens', and then the final link fails because we're using a symbol not available on all target platforms. * [arkit] Update for Xcode 9 beta 5 - Part 1 (#2460) * [tests] The container app for watchOS tests should be 64-bit. (#2463) * [xharness] watchOS tests need to run in a clean environment. Works around #58348. (#2462) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [xharness] It watchOS tests don't need to be clean anymore. Fixes #58348. (#2473) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [uikit] UIView/UIScrollView/UIViewController up to Xcode 9 beta 5 (#2431) - Add NSDirectionalEdgeInsets type. - Includes DirectionalEdgeInsetsTest. * [AudioToolbox] Update bindings to Xcode 9 beta3 (not later changes). (#2294) * [xharness] Add a file existence check. (#2478) Fixes this exception: ``` Harness exception for 'introspection': System.IO.FileNotFoundException: Could not find file '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log'. File name: '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log' at System.IO.__Error.WinIOError (System.Int32 errorCode, System.String maybeFullPath) [0x00207] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/__error.cs:188 at System.IO.FileInfo.get_Length () [0x00038] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/fileinfo.cs:171 at xharness.CaptureLog.StopCapture () [0x00021] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Log.cs:252 at (wrapper remoting-invoke-with-check) xharness.CaptureLog:StopCapture () at xharness.AppRunner+<RunAsync>d__68.MoveNext () [0x0127f] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/AppRunner.cs:642 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter`1[TResult].GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:357 at xharness.RunSimulatorTask+<RunTestAsync>d__7.MoveNext () [0x0029d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2894 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.RunTestTask+<ExecuteAsync>d__8.MoveNext () [0x0010b] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2538 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.TestTask+<RunInternalAsync>d__87.MoveNext () [0x0010d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:1870 ``` I'm not sure how this can happen, but it has on the bots [1]. [1] https://jenkins.mono-project.com/job/xamarin-macios-pr-builder/4548/Test_Report/ * Bump versions for preview 5 (#2479) * [passkit] Update to beta 5 (#2481) * [tests] Remove workaround for radar #32688391. (#2486) * [replaykit] Update up to beta 5 (#2484) * Bump maccore to get fix for bug #55064. (#2487) * [apidiff] Update definition to new 10.12 (d15-3) stable release (#2490) * [SceneKit] basic work (#2483) * [coredata] Update to beta 5 (#2488) * [homekit] Update for Xcode 9 beta 5 (#2492) * [Foundation] Update for xcode9 (#2468) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 (#2493) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 * [Intents] Implement feedback * [Intents] Add a generic version for INInteraction.GetParameterValue * [Intents] Missing check * [Contacts] Add missing foundation NSItemProviderWriting protocol to CNContact (#2496) https://bugzilla.xamarin.com/show_bug.cgi?id=58203 This is available on all Contacts supported platforms ``` ./iPhoneOS.platform/Developer/SDKs/iPhoneOS11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchOS.platform/Developer/SDKs/WatchOS4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchSimulator.platform/Developer/SDKs/WatchSimulator4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ``` * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) (#2497) * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) * [IntentsUI] Better use a delegate instead so we have named params * Bump versions before 6th preview (#2514) * [arkit] Add missing MarshalDirective to ARPlaneAnchor (#2517) - Fixes bug #58648: ARPlaneAnchor.Extent property seems incorrect but changes to correct value after Debug access (https://bugzilla.xamarin.com/show_bug.cgi?id=58648) * [xtro-sharpie] Fix a compiler warning. (#2516) Fixes these warnings: Runner.cs(197,5): warning CS0642: Possible mistaken empty statement Runner.cs(199,5): warning CS0642: Possible mistaken empty statement Runner.cs(201,5): warning CS0642: Possible mistaken empty statement Runner.cs(203,5): warning CS0642: Possible mistaken empty statement Runner.cs(205,5): warning CS0642: Possible mistaken empty statement * [uikit] Update for Xcode 9 beta 5 - Part 3 (#2511) - UIKeyCommand - UINavigationBar - UINavigationItem - UIPasteboard - UITableViewHeaderFooterView * [xtro-sharpie] Remove xtro-plugin and misc other fixes. (#2522) * [xtro-sharpie] Build with msbuild and be as quiet as requested when building. * [xtro-sharpie] Must run as a 64-bit process, since the required native libraries are 64-bit. * [xtro-sharpie] Add run configurations to the project file to ease debugging in the IDE. * [xtro-sharpie] Remove xtro-plugin and the related commands. This was needed when there wasn't a 64-bit mono, in order to run xtro-sharpie in a 64-bit process. Now there is a 64-bit mono, so it's not needed anymore. Also improve makefile targets a bit, to auto-build stuff when needed, by setting the right dependencies. * Bump Xcode 9 to beta 6 (#2519) Disable watchOS tests again It seems like the Carousel crash from beta 4 is back to haunt us. This was working fine with beta 5. * Backport d15-3 SR2 fixes (#2515) * [coredata] Update to beta 6 (#2528) This seems to only revert some nullability changes from beta 5. * [coreml] Update to beta 6 (#2531) Fix our rdar 33643011 where additional setters were added in the headers but did not exists. * [videosubscriberaccount] Update to beta 6 (#2533) Only b1 and b2 introduced some additions/changes * [uikit] Update for Xcode 9 beta 6 - Part 4 (#2527) The following headers are now up to date: - UICollectionViewFlowLayout.h - UIDocumentPickerViewController.h - UIFontDescriptor.h - UIImage.h - UIImageView.h - UIImagePickerController.h * [xharness] Re-enable the watchOS tests. (#2534) It works fine for me locally, so let's see what Jenkins says. * [macos] Add new APIs in CoreWlan from Xcode9b3 (#2525) * Update AppKit bindings based on radar 33271241 results (#2518) * Update AppKit bindings based on radar 33271241 results - The header comment was updated to note it was NSSliderTouchBarItem view that has the protocol * Remove NSUserInterfaceCompression where not listed in header * [vision] Update to beta 6 (#2532) Removal of some deprecated (during beta) `init*` selectors. Also sync the versions that were inlined in subclasses - the old ones were not removed and the new ones were not added. * [xtro-sharpie] Many methods don't have selectors in Clang's API, so default to the name if no selector. (#2523) This makes a few more unclassified entries show up (mostly missing designated initializers): https://gist.github.com/rolfbjarne/07aa20f9b50b75bf3e69ac6a825e873a * [macos] Add ExternalAccessory APIs from xcode9 (#2526) * [58851] Disable NSMenuView in AllItemsWithNSMenuShouldAllowNull (#2504) * [arkit] Update for Xcode 9 beta 5 - Part 2 (#2505) - Add last missing selector. - Add tests for manual code. * [monotouch-test] Disable FontDescriptorTest.WithFeature (#2537) Disabled because it looks like the tvOS font we use: "Gujarati Sangam MN" does not have rare ligatures anymore (and the entire test is based on it). Before getting an actual fix for that, let's disable the test so it doesn't break all current builds. See: https://bugzilla.xamarin.com/show_bug.cgi?id=58929 * [xtro-sharpie] Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute. (#2524) Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute to calculate the native name for a TypeDefinition. Unclassified changes: https://gist.github.com/rolfbjarne/828f8ee41eebb0a3b60a38d71822fe59 * [foundation/uikit] Inline NSItemProvider_UIKitAdditions in NSItemProvider (#2538) As suggested here: https://github.com/xamarin/xamarin-macios/pull/2527#discussion_r134670981 * [intents] Fix breaking changes (api-diff) (#2543) Additions of @required members inside `INSpeakable` cannot be `[Abstract]` * [contacts] Fix breaking change (api-diff) (#2542) Type Changed: Contacts.CNPostalAddress Removed method: public static string LocalizeProperty (CNPostalAddressKeyOption option); * [macos] Reenable static registrar since Xcode9b6 un-broke SDK headers (#2544) - Fix a subtle spacing issues in PartialStaticLibrary property * [corebluetooth] Update up to beta 6 and enable it on watchOS (#2540) macOS 10.13 has finally catch up with iOS and this simplifies the bindings a bit. * [foundation] API fixes (apidiff) (#2545) 1. Let's not add new, already [Obsolete] API Type Changed: Foundation.NSDimension Added constructors: [Obsolete ("Not intended to be directly instantiated, this is an abstract class.")] public NSDimension (); 2. Fix inconsistently named API, e.g. Type Changed: Foundation.NSAttributedString Added properties: public static string[] ReadableTypeIdentifiersForItemProvider { get; } public static string[] WritableTypeIdentifiers { get; } * [pdfkit] Do not add already [Obsolete] API in new profiles (#2547) and ensure using the newer, correct API works cross-platforms iOS (before) [Obsolete ("Use 'Find (string, NSStringCompareOptions)' instead.")] public virtual PdfSelection[] Find (string text, nint options); public PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'Find (string, PdfSelection, NSStringCompareOptions)' instead.")] public virtual PdfSelection Find (string text, PdfSelection selection, nint options); public void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string, NSStringCompareOptions)' instead.")] public virtual void FindAsync (string text, nint options); public void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string [], NSStringCompareOptions)' instead.")] public virtual void FindAsync (string[] text, nint options); iOS (after) public virtual PdfSelection[] Find (string text, Foundation.NSStringCompareOptions compareOptions); public virtual PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); * Bump versions for the 7th preview (#2541) * Remove additions of AVKit removed in beta5 (#2536) * NSUrlSessionTask should implement NSProgressReporting for iOS (#2548) NSUrlSessionTask implements NSProgressReporting on iOS as well as Mac, so the #if MONOMAC isn't needed. * Add missing availability attributes causing failures on older iOS versions (#2550) * [vision] Minor fix wrt xtro (#2551) including some things we need to ignore manually !missing-field! VNVisionVersionNumber not bound !missing-pinvoke! VNImagePointForFaceLandmarkPoint is not bound !missing-pinvoke! VNNormalizedFaceBoundingBoxPointForLandmarkPoint is not bound * [uikit] NSFileProviderMessaging was removed in beta 2. Fixes #58222 (#2552) reference: https://bugzilla.xamarin.com/show_bug.cgi?id=58222 * [uikit] Update for Xcode 9 - Part 5 (#2546) Bindings for the following headers: - UIActivity.h - UIActivityItemProvider.h - UIAlertController.h - UIApplication.h - UIBarButtonItem.h - UIButton.h - UICollectionViewLayout.h - UIColor.h - UIControl.h - UIDocumentMenuViewController.h - UIFontMetrics.h - UIGestureRecognizer.h - UIGraphicsImageRenderer.h - UIInputViewController.h * [CoreText] Fix an extraneous free in CTFont.GetDefaultCascadeList. (#2555) We do not own the return value from CFArrayGetValueAtIndex, so don't say we do when creating CTFontDescriptor instances, since that leads to angry dragons: 2017-08-28 20:15:20.293 monotouchtest[33186:2311738] A_FontTest 2017-08-28 20:15:20.294 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithFontDescriptorAndOptions 2017-08-28 20:15:20.295 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithNameAndOptions 2017-08-28 20:15:20.296 monotouchtest[33186:2311738] critical: Stacktrace: at <unknown> <0xffffffff> at (wrapper managed-to-native) CoreText.CTFont.CTFontCopyDefaultCascadeListForLanguages (intptr,intptr) [0x0000a] in <ae65a2b1eea242d2b68fe784749543bf>:0 at CoreText.CTFont.GetDefaultCascadeList (string[]) [0x00013] in /work/maccore/xcode9/xamarin-macios/src/CoreText/CTFont.cs:2185 at MonoTouchFixtures.CoreText.A_FontTest.GetCascadeList () [0x0001e] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/CoreText/FontTest.cs:78 at (wrapper runtime-invoke) object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) [0x0004f] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) System.Reflection.MonoMethod.InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&) [0x00016] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at System.Reflection.MonoMethod.Invoke (object,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo) [0x00032] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/corlib/System.Reflection/MonoMethod.cs:305 at System.Reflection.MethodBase.Invoke (object,object[]) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/referencesource/mscorlib/system/reflection/methodbase.cs:229 at NUnit.Framework.Internal.Reflect.InvokeMethod (System.Reflection.MethodInfo,object,object[]) [0x00009] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Reflect.cs:215 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunNonAsyncTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x00025] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:116 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x0001a] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:90 at NUnit.Framework.Internal.Commands.TestMethodCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:66 at NUnit.Framework.Internal.Commands.SetUpTearDownCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00007] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/SetUpTearDownCommand.cs:84 at NUnit.Framework.Internal.WorkItems.SimpleWorkItem.PerformWork () [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/SimpleWorkItem.cs:64 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at MonoTouch.NUnit.UI.BaseTouchRunner.Run (NUnit.Framework.Internal.Test) [0x0004d] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:442 at MonoTouch.NUnit.UI.BaseTouchRunner.Run () [0x00030] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:171 at MonoTouch.Dialog.StringElement.Selected (MonoTouch.Dialog.DialogViewController,UIKit.UITableView,Foundation.NSIndexPath) [0x00008] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/Elements.cs:765 at MonoTouch.Dialog.DialogViewController.Selected (Foundation.NSIndexPath) [0x00026] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:577 at MonoTouch.Dialog.DialogViewController/Source.RowSelected (UIKit.UITableView,Foundation.NSIndexPath) [0x00016] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:402 at (wrapper runtime-invoke) <Module>.runtime_invoke_void__this___object_object (object,intptr,intptr,intptr) [0x0005d] in <32f0c196c5bc4aa18daea2ee64a7814e>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) UIKit.UIApplication.UIApplicationMain (int,string[],intptr,intptr) [0x0005c] in <ae65a2b1eea242d2b68fe784749543bf>:0 at UIKit.UIApplication.Main (string[],intptr,intptr) [0x00005] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:79 at UIKit.UIApplication.Main (string[],string,string) [0x00038] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:63 at monotouchtest.Application.Main (string[]) [0x00011] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/Main.cs:27 at (wrapper runtime-invoke) <Module>.runtime_invoke_void_object (object,intptr,intptr,intptr) [0x00051] in <30a7f7e09de9467b8b454221034a0e38>:0 Native stacktrace: 0 monotouchtest 0x000000010fca03c4 mono_handle_native_crash + 244 1 monotouchtest 0x000000010fcadd30 mono_sigsegv_signal_handler + 288 2 libsystem_platform.dylib 0x000000011feb3b3a _sigtramp + 26 3 CoreFoundation 0x000000011de035a2 computeSanitizedString + 146 4 CoreText 0x00000001168df314 _ZN15TPurgeableCache19RetainedValueForKeyEPKv + 54 5 CoreText 0x00000001168def85 _ZNK17TDescriptorSource22CopyDescriptorUncachedEPK7__CFURLbPK10__CFString + 55 6 CoreText 0x00000001168df34f _ZNK17TDescriptorSource14CopyDescriptorEPK7__CFURLbPK10__CFString + 27 7 CoreText 0x00000001168e20ad _ZNK17TDescriptorSource35CopyFontDescriptorPerPostScriptNameEPK10__CFStringmm + 297 8 CoreText 0x00000001168dfd9e _ZNK17TDescriptorSource30CopySystemFontDescriptorByNameEPK10__CFString10UIFontFlag + 54 9 CoreText 0x00000001168e54c4 _ZNK14TFontFallbacks17CopyFontFallbacksEPK10__CFStringS2_PK9__CFArray + 652 10 CoreText 0x00000001168e4a00 _ZNK14TFontFallbacks29CopyFontFallbacksForLanguagesEPK10__CFStringPK9__CFArray + 122 11 CoreText 0x00000001168e4971 _ZN17TDescriptorSource39CopyDefaultSubstitutionListForLanguagesEPK10__CFStringPK9__CFArray + 61 12 CoreText 0x00000001169397a7 _ZNK9TBaseFont28CreateSystemDefaultFallbacksEPK10__CFStringPK9__CFArray + 51 13 CoreText 0x000000011693999c _ZNK9TBaseFont15CreateFallbacksE10UIFontFlagPPK16__CFCharacterSetPK9__CFArray + 346 14 CoreText 0x00000001168c1036 _ZNK5TFont24CreateDefaultCascadeListEPK9__CFArray + 242 15 CoreText 0x00000001168b8ff9 CTFontCopyDefaultCascadeListForLanguages + 97 16 ??? 0x0000000140eaefd3 0x0 + 5384105939 17 ??? 0x0000000140eae761 0x0 + 5384103777 18 ??? 0x000000013c9c8e74 0x0 + 5311860340 19 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 20 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 21 monotouchtest 0x000000010fd71bac mono_runtime_try_invoke_array + 1292 22 monotouchtest 0x000000010fd15587 ves_icall_InternalInvoke + 647 23 ??? 0x000000013e9fcd13 0x0 + 5345627411 24 ??? 0x000000013e9fc738 0x0 + 5345625912 25 ??? 0x000000013e9fded5 0x0 + 5345631957 26 ??? 0x000000013e9fbb76 0x0 + 5345622902 27 ??? 0x000000013e9e237e 0x0 + 5345518462 28 ??? 0x000000013e9e237e 0x0 + 5345518462 29 ??? 0x000000013e9e237e 0x0 + 5345518462 30 ??? 0x000000013e9e237e 0x0 + 5345518462 31 ??? 0x000000013e873006 0x0 + 5344014342 32 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 33 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 34 monotouchtest 0x000000010fd6e320 mono_runtime_invoke + 208 35 monotouchtest 0x000000010fe71af1 xamarin_invoke_trampoline + 5617 36 monotouchtest 0x000000010fe79ddd xamarin_arch_trampoline + 189 37 monotouchtest 0x000000010fe7b1a1 xamarin_x86_64_common_trampoline + 110 38 UIKit 0x0000000111b9876b -[UITableView _selectRowAtIndexPath:animated:scrollPosition:notifyDelegate:] + 1810 39 UIKit 0x0000000111b98986 -[UITableView _userSelectRowAtPendingSelectionIndexPath:] + 344 40 UIKit 0x0000000111a6b5c9 _runAfterCACommitDeferredBlocks + 318 41 UIKit 0x0000000111a59dad _cleanUpAfterCAFlushAndRunDeferredBlocks + 280 42 UIKit 0x0000000111a89f68 _afterCACommitHandler + 137 43 CoreFoundation 0x000000011de3ddb7 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23 44 CoreFoundation 0x000000011de3dd0e __CFRunLoopDoObservers + 430 45 CoreFoundation 0x000000011de22324 __CFRunLoopRun + 1572 46 CoreFoundation 0x000000011de21a89 CFRunLoopRunSpecific + 409 47 GraphicsServices 0x0000000121b7e9c6 GSEventRunModal + 62 48 UIKit 0x0000000111a5f7d0 UIApplicationMain + 159 49 ??? 0x000000013c9c4474 0x0 + 5311841396 50 ??? 0x000000013c9c40ad 0x0 + 5311840429 ================================================================= Got a SIGSEGV while executing native code. This usually indicates a fatal error in the mono runtime or one of the native libraries used by your application. ================================================================= * [monotouch-test] Don't subclass MKMapView. (#2556) MKMapView doesn't like being subclassed (Apple says "you should not subclass the MKMapView class itself"). Bad things like this starts happening: Thread 0 name: tid_303 Dispatch queue: com.apple.main-thread Thread 0 Crashed: 0 libsystem_kernel.dylib 0x0000000186b25348 __pthread_kill + 8 1 libsystem_pthread.dylib 0x0000000186c39354 pthread_kill$VARIANT$mp + 396 2 libsystem_c.dylib 0x0000000186a94fd8 abort + 140 3 monotouchtest 0x0000000101c02c14 mono_handle_native_crash + 22047764 (mini-exceptions.c:2548) 4 monotouchtest 0x0000000101c0d02c mono_sigsegv_signal_handler + 22089772 (mini-runtime.c:2886) 5 libsystem_platform.dylib 0x0000000186c33b60 _sigtramp + 52 6 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 7 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 8 CoreFoundation 0x0000000186eda51c -[__NSArrayM dealloc] + 68 9 CoreFoundation 0x000000018703f5c8 __CFBasicHashDrain + 312 10 CoreFoundation 0x0000000186fb5b44 _CFRelease + 224 11 CoreText 0x000000018a808404 TDescriptorSource::PurgeFontFallbacksCache+ 488452 () + 92 12 CoreText 0x000000018a808374 TDescriptorSource::PurgeFromCaches+ 488308 (__CFURL const*) const + 176 13 CoreText 0x000000018a7eec74 CTFontRemoveFromCaches + 168 14 VectorKit 0x0000000196a539b0 +[VKSharedResourcesManager removeResourceUser:] + 324 15 VectorKit 0x0000000196ca27a4 md::MapEngine::~MapEngine+ 2643876 () + 360 16 VectorKit 0x0000000196ca2634 md::MapEngine::~MapEngine+ 2643508 () + 12 17 libobjc.A.dylib 0x000000018651eef4 object_cxxDestructFromClass+ 28404 (objc_object*, objc_class*) + 148 18 libobjc.A.dylib 0x000000018652c638 objc_destructInstance + 88 19 libobjc.A.dylib 0x000000018652c690 object_dispose + 16 20 QuartzCore 0x000000018afca3ac -[CALayer dealloc] + 116 21 VectorKit 0x0000000196a43294 -[VKMapView dealloc] + 940 22 QuartzCore 0x000000018af6aafc CA::release_objects+ 744188 (X::List<void const*>*) + 32 23 QuartzCore 0x000000018afd97d8 CA::Layer::~Layer+ 1198040 () + 276 24 QuartzCore 0x000000018afca37c -[CALayer dealloc] + 68 25 QuartzCore 0x000000018af6b16c CA::Transaction::commit+ 745836 () + 1052 26 UIKit 0x0000000190393290 _afterCACommitHandler + 256 27 CoreFoundation 0x0000000186fb38b8 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 32 28 CoreFoundation 0x0000000186fb1270 __CFRunLoopDoObservers + 412 29 CoreFoundation 0x0000000186fb182c __CFRunLoopRun + 1292 30 CoreFoundation 0x0000000186ed22d8 CFRunLoopRunSpecific + 436 31 GraphicsServices 0x0000000188d58f84 GSEventRunModal + 100 32 UIKit 0x000000019040427c UIApplicationMain + 208 33 monotouchtest 0x000000010106eb90 wrapper_managed_to_native_UIKit_UIApplication_UIApplicationMain_int_string___intptr_intptr + 9907088 (/<unknown>:1) 34 monotouchtest 0x0000000100f0d6ac UIKit_UIApplication_Main_string___intptr_intptr + 8459948 (UIApplication.cs:79) 35 monotouchtest 0x0000000100f0d66c UIKit_UIApplication_Main_string___string_string + 8459884 (UIApplication.cs:63) 36 monotouchtest 0x0000000100b10450 monotouchtest_Application_Main_string__ + 4277328 (Main.cs:27) 37 monotouchtest 0x0000000100e0c244 wrapper_runtime_invoke_object_runtime_invoke_dynamic_intptr_intptr_intptr_intptr + 244 38 monotouchtest 0x0000000101c10048 mono_jit_runtime_invoke + 22102088 (mini-runtime.c:2526) 39 monotouchtest 0x0000000101c75eec do_runtime_invoke + 22519532 (object.c:2829) 40 monotouchtest 0x0000000101c78a3c do_exec_main_checked + 22530620 (object.c:4623) 41 monotouchtest 0x0000000101bf9a1c mono_jit_exec + 22010396 (driver.g.c:1040) 42 monotouchtest 0x0000000101d13d60 xamarin_main + 23166304 (monotouch-main.m:482) 43 monotouchtest 0x00000001007de710 main + 927504 (main.m:67) 44 libdyld.dylib 0x00000001869f656c start + 4 * [introspection] Let SkipDueToAttributeInProperty skip setters too (#2557) `SkipDueToAttributeInProperty` which is used to check the availability attribute of properties when the Availability info only exist on the property and not on the property Getter or Setter was wrong. This lead to `setSpringLoaded` (which was introduced in iOS 11) to not be ignored by the test (making it fail). - Fix bug #59085: [introspection-ios] selector not found for UIKit.UIBarButtonItem : setSpringLoaded: - Broken test (https://bugzilla.xamarin.com/show_bug.cgi?id=59085) * [corevideo][watchos] Enable CoreVideo on watchOS (#2553) * [storekit] Fix CampaignToken typo (#2559) (#2560) - Fixes bug #59078: StoreProductParameters and invalid property for CampaignToken (https://bugzilla.xamarin.com/show_bug.cgi?id=59078) * [coreml][watchos] Enable API using CoreVideo on watchOS. Fix #58097 (#2561) https://bugzilla.xamarin.com/show_bug.cgi?id=58097 * Add missing [MarshalDirective] attributes. (#2558) * [bindings-generator] Improve build & project file. * Add missing [MarshalDirective] attributes. Add missing [MarshalDirective] attributes, which also requires implementing support for out parameters in the binding generator, since one of the signatures missing the [MarshalDirective] contains such an out parameter. Also add tests for all the API I've added [MarshalDirective] to. * [bindings-generator] Remove redundant if check. * [monotouch-test] Rename file to end with 'Test.cs'. * [tests] Fix a few build errors for Xamarin.Mac. * [uikit] Fix UIColor and UIInputViewController tvOS availability (#2569) - Fixes introspection tests on tvOS 10. * [storekit] Fix SKCloudServiceSetupMessageIdentifier and SKProductStorePromotionController tvOS availability (#2568) - Fixes introspection tests on tvOS 10. * [mapkit] Fix MKMapItemTypeIdentifier tvOS availability (#2566) - Also remove double [Mac] availability attribute. - Fixes introspection tests on tvOS 10. * [ARKit] Fix marshalling for ARPointCloud.RawFeaturePoints. (#2565) ARPointCloud.RawFeaturePoints is an array of Vector3, but each vector is 16-byte aligned (as if it were an array of Vector4). This means we need to account for this when creating a managed array from pointer to the native C-style array. * [ModelIO] Fix MDLVoxelIndexExtent struct. (#2564) The MDLVoxelIndexExtent is a struct containing two 4-dimensional vectors of integers (not floats, as originally and incorrectly implemented). Fix this my creating a new MDLVoxelIndexExtent2 struct with the right fields, re-implement all the API that exposes this struct and obsolete the old API. Also add missing [MarshalDirective] attributes. And write a test to make sure it works fine now and forever. * [coredata] Enable new fields since rdar #33878590 is fixed w/beta 6 (#2570) reference: https://trello.com/c/dlSRYPFx * [xtro-sharpie] Add a Simd check class to verify signatures with Simd types. * [Simd] Add simd matrix types. The OpenTK matrices (Matrix2/3/4) has a different memory layout than Apple's matrix_float2x2/matrix_float3x3/matrix_float4x4 matrices: the OpenTK versions are row-major, while Apple's versions are column-major. This means that when blitting memory from one to the other, the matrix will appear to have been transposed. See bug #[58599][2] for an example. Unfortunately we've already bound several API with Apple's matrix_floatXxX matrices using OpenTK's matrices, and although they're bound wrong, and the matrices appear transposed on input/output, we can't change the behavior because we have to maintain compatibility. This means we have to introduce new API, and then also just define new matrix types with the right memory layout (column-major). Additionally, in the future we might be able to mark these matrices as Simd-matrixes, so that the JIT/AOT compiler can generate the correct alignment for them, avoiding having to define a native conversion method (using the [MarshalDirective] hack). The matrices have been designed to match API-wise the matrices in the System.Numerics.Vectors namespace [1], but for the moment with only a few basic operations implemented (Determinant/Transpose/Multiply) defined (we can always add more later if we want to). In addition explicit conversion operators to and from the corresponding OpenTK.MatrixX are implemented, which means any operation defined in the OpenTK matrices can be used by converting back and forth. [1]: https://msdn.microsoft.com/en-us/library/system.numerics.matrix4x4(v=vs.111).aspx [2]: https://bugzilla.xamarin.com/show_bug.cgi?id=58599 * [ARKit] Use the new Simd matrix types. * [Vision] Use the new Simd matrix types. * [ModelIO] Use the new Simd-compatible matrix types, and deprecate the old API. * [GameplayKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [SpriteKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [xtro] Don't report missing [MarshalDirective] for obsolete methods. * [xtro] Remove unnecessary ignores. The implementation changed, and these stayed accidentally. * [wkwebkit] Fix (native) protocol names (#2572) Also ignore xtro's WKSnapshotConfiguration since it's an Apple bug 34185961 reference (xtro) !missing-protocol! WKURLSchemeHandler not bound !missing-protocol! WKURLSchemeTask not bound !unknown-protocol! WKUrlSchemeHandler bound !unknown-protocol! WKUrlSchemeTask bound !unknown-type! WKSnapshotConfiguration bound * [uikit] Fix enums availability attributes (#2575) - Fixes bug #59132: [uikit] Extra types in watchOS (https://bugzilla.xamarin.com/show_bug.cgi?id=59132) * [watchkit] Add missing designated initializers (#2574) references (xtro) !missing-designated-initializer! WKInterfaceController::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! WKUserNotificationInterfaceController::init is missing an [DesignatedInitializer] attribute * [xtro] Reword some of the Simd diagnostic messages according to review. * [tests] Make sure test symbols don't clash between different test libraries. Fixes this build problem for framework-test: clang: error: linker command failed with exit code 1 (use -v to see invocation) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_get_rotation_matrix'. MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticObjectTest.framework/XStaticObjectTest (Location related to previous error) MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticArTest.framework/XStaticArTest(libtest-ar.x86_64.o) (Location related to previous error) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransformcomponent_get_local_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_create_global_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float4x4'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float3x3'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float2x2'. MTOUCH: error MT5209: Native linking error: 6 duplicate symbols for architecture x86_64 MTOUCH: error MT5202: Native linking failed. Please review the build log. * [tests] Since libtest.a need ModelIO now, the corresponding LinkWith attributes need to state that too. * [introspection] Don't check native signatures on obsolete members, and ignore the right simd matrix types. Fixes this introspection/Mac problem: ***** ApiSignatureTest.NativeSignatures Selector: uniformWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: uniformWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: uniformWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: setMatrixFloat2x2Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: setMatrixFloat3x3Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: setMatrixFloat4x4Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: initWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: initWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: initWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded * [monotouch-tests] Include more custom asserts for watchOS to make the build work. Fixes this: Simd/MatrixFloat4x4Test.cs(28,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(29,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(37,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(48,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' [...] * [monotouch-test] Exclude code that requires the binding project from xammac tests. Exclude code that requires the test binding project from xammac tests because there's currently no XM version of the test binding project. Fixes this: tests/monotouch-test/SpriteKit/UniformTest.cs(20,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLMaterialProperty.cs(37,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLTransform.cs(34,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) * Bump version for preview #8 (#2576) * [spritekit] Audit fixes (xtro) (#2577) 1. SKVideoNode is now, partially, available on watchOS and does not require the extra, manual code to swicth selectors depending on the OS version being run. !missing-type! SKVideoNode not bound !missing-selector! SKVideoNode::anchorPoint not bound !missing-selector! SKVideoNode::initWithCoder: not bound !missing-selector! SKVideoNode::initWithFileNamed: not bound !missing-selector! SKVideoNode::initWithURL: not bound !missing-selector! SKVideoNode::setAnchorPoint: not bound !missing-selector! SKVideoNode::setSize: not bound !missing-selector! SKVideoNode::size not bound !missing-selector! +SKVideoNode::videoNodeWithFileNamed: not bound !missing-selector! +SKVideoNode::videoNodeWithURL: not bound 2. SKNodeFocusBehavior is exposed needlessly on watchOS because SpriteKit/Enums.cs was not processed by the generator, so [NoWatch] did not matter. !unknown-native-enum! SKNodeFocusBehavior bound It's also visible on macOS but nothing uses it (so we do not expose it needlessly) !missing-enum! SKNodeFocusBehavior not bound 3. Add missing designated initializer on default `init` !missing-designated-initializer! SKAttributeValue::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! SKNode::init is missing an [DesignatedInitializer] attribute 4. Remove inconsistency for SKNode subclasses wrt XAMCORE_4_0 The trio attributeValues, setAttributeValues and setValue:forAttributeNamed: that was moved from SKNode (deprecated) into its subclasses. This was done using XAMCORE_4_0 but not on every subclasses. This adds them everywhere to be consistent (only SKNode versions are not defined in XAMCORE_4_0) !missing-selector! SKEffectNode::attributeValues not bound !missing-selector! SKEffectNode::setAttributeValues: not bound !missing-selector! SKEffectNode::setValue:forAttributeNamed: not bound !missing-selector! SKEffectNode::valueForAttributeNamed: not bound !missing-selector! SKEmitterNode::attributeValues not bound !missing-selector! SKEmitterNode::setAttributeValues: not bound !missing-selector! SKEmitterNode::setValue:forAttributeNamed: not bound !missing-selector! SKEmitterNode::valueForAttributeNamed: not bound !missing-selector! SKSpriteNode::attributeValues not bound !missing-selector! SKSpriteNode::setAttributeValues: not bound !missing-selector! SKSpriteNode::setValue:forAttributeNamed: not bound !missing-selector! SKSpriteNode::valueForAttributeNamed: not bound * [introspection] Make sure '[FAIL]' is printed before every failure. (#2578) This makes xharness able to list the failures in the inline summary. * [xtro] Reword some of the Simd diagnostic messages according to review. * [xharness] Add a missing IsServerMode check to generate correct html. (#2581) * [SpriteKit] SKTransformNode is new in Xcode 9 so no need to keep the broken (and obsolete) non-simd version of RotationMatrix. * [intents] Fix some (partial) xtro issues and #59156 (#2585) reference https://bugzilla.xamarin.com/show_bug.cgi?id=59156 Remaining issues are filled in https://bugzilla.xamarin.com/show_bug.cgi?id=59183 !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound * [Intents] Confirm* interface methods should be bound as Confirm, Fixes Bug 59164 (#2591) * [Intents] Confirm* interface methods should probably be bound as Confirm, Fixes Bug 59164 https://bugzilla.xamarin.com/show_bug.cgi?id=59164 All Confirm* methods from *IntentHandling interfaces should be named just `Confirm` to avoid confusion because most of them do not directly confirm as an acion, but instead they **ask** for confirmation also we would follow swift's naming by doing this. * [Intents] XAMCORE_4_0 all Confirm* methods from *IntentHandling Turns any Confirm* into just Confirm inside a XAMCORE_4_0 block, * [Intents] Fix breaking changes in Intents added in Xcode 9 Bindings (#2590) Apple added more protocol conformances to INRidesharingDomainHandling and INPaymentsDomainHandling protocols in Xcode 9, I introduced these breaking changes back when I did intents binding so fixing them :) * [Metal] New bindings from Xcode 9 betas (#2457) * [AVFoundation] Updated bindings for xcode9. (#2272) * [Xcode9] Add IOSurface bindings (#2363) * This framework was a private framework before iOS 11. This framework was a private framework before iOS 11, yet the headers claim many API were introduced in iOS 10. So take account of this difference by using the private framework location in iOS 10.3 or earlier. Testing these API from Xcode works fine when run on an iOS 10.3 device, and I've confirmed the IOSurface framework is loaded from the private frameworks path on older devices (and when built using Xcode 9 and linked with the public framework path). * Disable code to make IOSurface work on iOS 10. Disable the code to make IOSurface work on iOS 10, since it may be rejected by the App Store. This also means adjusting the availability attributes, so that the introspection tests pass (and to document that technically these API won't work when used with Xamarin.iOS in iOS 10). I've filed bug #[59201][1] to keep track of this, maybe we can re-enable this later. [1]: https://bugzilla.xamarin.com/show_bug.cgi?id=59201 * [CoreMedia] Fix leak in CMAttachmentBearer.GetAttachments. (#2593) The caller owns the return value from CMCopyDictionaryOfAttachments, so tell Runtime.GetNSObject that. * [Intents] Adds missing API found by xtro, fixes Bug 59183 (#2596) https://bugzilla.xamarin.com/show_bug.cgi?id=59183 Fixes !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !incorrect-protocol-member! INUIHostedViewControlling::configureWithInteraction:context:completion: is OPTIONAL and should NOT be abstract * [xtro] Fix StartWorkingDirectory to enable debugging (#2598) * [iosurface] Enable for tvOS and XM classic (to avoid multiple defines around consumer API) (#2597) * [xtro] Fix EnumCheck (#2600) * [ARKit] Rename a few method to make them nicer. (#2604) * DisplayTransform -> GetDisplayTransform since methods should have verbs. * SessionWasInterrupted -> WasInterrupted and SessionInterruptionEnded -> InterruptionEnded since these names match better with the other names (CameraDidChangeTrackingState / DidFail / DidOutputAudioSampleBuffer: none are prefixed with 'Session'). Additionally, the type is a Model (for the delegate pattern), which means all methods are more-or-less event-like, and the first argument is always the same (the protocol itself), which is another indicator the methods should be named similarly. * [Foundation] Remove 'Key' suffix from some fields. (#2606) Of the 168 fields in NSMetadataItem, only these 5 hadn't removed the 'Key' suffix. So make them all equivalent by removing the 'Key' suffix from these 5 fields. * [ImageIO] Fix API to not duplicate the instance in instance methods. (#2609) An instance method does not need to take the instance as a parameter, so remove the first (instance) parameter for CGImageDestination.AddAuxiliaryDataInfo and CGImageSource.CopyAuxiliaryDataInfo. An alternative solution would be to make the methods static, but I like the instance API better. * [UIKit] De-model UIDataSourceTranslating. (#2603) It's not clear from neither the documentation nor the headers how this protocol is supposed to be used, and since it doesn't correspond to the delegate pattern, remove the [Model] attribute for now. We can always add it back later. * [CoreML] Improve API. (#2592) * [CoreML] Improve API. * The indices, shape and stride properties for MLMultiArray and MLMultiArrayConstraint can logically only be arrays of integers, so type them as such. This means adding overloads for MLMultiArray's constructors, GetObject and SetObject methods, and the indexers that takes nint[] arrays instead of NSNumber[] arrays. * Change MLFeatureValue's static factory methods to be a method ('Create') instead of a preposition, and call all the different factory methods the same, since they can be overloaded nicely. * [tests][monotouch-test] Add version check to MLMultiArrayTest and make sure the arrays we create are big enough for the data we put in them. * [tests][monotouch-test] MLMultiArray's elements aren't zero-initialized, so don't assume that in the tests. * Support overloading Objective-C methods based on static/instance. (#2607) Two Objective-C methods can be named identically as long as one is static and the other instance. We must support this since Apple did just this (in the NSItemProviderReading / NSItemProviderWriting protocols). We solve it by prepending a '+' or '-' to the selector when hashing it (to determine selector uniqueness, and to look the method up again at runtime). * [uikit] Update for Xcode 9 - Part 6 (#2602) NSAttributedString.h NSFileProviderExtension.h NSLayoutAnchor.h UIAccessibility.h UIAccessibilityAdditions.h UIAccessibilityContainer.h UIAccessibilityContentSizeCategoryImageAdjusting.h UIAccessibilityCustomRotor.h UIAccessibilityLocationDescriptor.h UITabBar.h UINavigationBar.h UIScreen.h * Xcode9 scenekit (#2512) * [SceneKit] basic work * Added key * [xcode9] SCNCameraController * [xcode9] SCNCamera updates * [xcode9] SCNMaterial * [xcode9] SCNGeometryTessellator, SCNCameraControlConfiguration, SCNView, small bits * Add trailing commas to last enum value * Remove whitespace noise * [scenekit] Update deprecated attributes messages * Addresses some of Rolf's feedback * Drop the WeakDelegate in SCNCameraController * Rename method to Render, remove ctor from class that can not be constructed in Palygrounds, add typo exception * [AppKit] Rename NSBezierPath.AppendBezierPathWithCGGlyph to match its sibling methods. (#2605) NSBezierPath contains a lot of 'AppendPathWithXXX' methods, that all map to 'appendBezierPathXXX' selectors. So rename AppendBezierPathWithCGGlyph accordingly, to make it more similar to the other methods in the same type. * [uikit] Add all UISpringLoadedInteractionSupporting (#2616) Types do not conform to the protocol but protocol methods work on those types (see monotouch-test). Fixed introspection tests accordingly and tested the selectors in monotouch-test. * [Intents] Add convenience ctor overload and call correct base ctor in manual ctor. (#2613) Add a convenience constructor overload in INGetUserCurrentRestaurantReservationBookingsIntent that uses nint instead of NSNumber, since logically "number of results" will always be some sort of integer. Also call the correct base constructor in INSpeakableString's custom constructor (same as any other generated constructor). Otherwise we end up doing something like this: [[[INSpeakableString alloc] init] initWith ...], i.e. calling two different init methods. * [coreimage] Add new headers API up to beta 6 (#2601) Filters are not complete (ref: #57350) https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * Some new constants are not yet documented (type is known), so they are commented / ignored https://bugzilla.xamarin.com/show_bug.cgi?id=59296 * Filled bug for [Wrap] inside [Category] so strong dictionary helpers can be re-enabled later https://bugzilla.xamarin.com/show_bug.cgi?id=59294 * [foundation] xtro fixes for watchOS (#2586) !missing-enum! NSProcessInfoThermalState not bound !missing-field! NSProcessInfoThermalStateDidChangeNotification not bound !missing-selector! NSProcessInfo::thermalState not bound Headers are wrong and preferredPresentationStyle is not in tvOS and watchOS !missing-selector! NSItemProvider::preferredPresentationStyle not bound !missing-selector! NSItemProvider::setPreferredPresentationStyle: not bound * [uikit] Also remove UIPreferredPresentationStyle enum from platform where it's not used * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. (#2614) * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. * NSItemProviderWriting: * NSItemProviderReading: Implement correctly and completely by uncommenting commented out code. * NSMutableString: * NSAttributedString: remove inlined members, since these classes don't implement NSItemProviderReading / NSItemProviderWriting (according to the headers at least). * NSUrl: all platforms now seem to implement NSItemProviderReading / NSItemProviderWriting. * NSString: all platforms now seem to implement both NSItemProviderReading and NSItemProviderWriting * UIColor: * UIImage: Update inlined protocol members according to the latest beta. Additionally, due to the following conditions: * The protocols all have the correct members now. * In the API definition we tell the generator to inline members from a protocol by inheriting from the corresponding interface. * The generator doesn't inline static members from protocols. several 'new' keywords had to be added to silence a compiler warning that occurrs when we manually inline a static member, since the member would be included in the type both from the inherited interface and the manual implementation. * [Foundation] Comment out NSItemProviderWriting.GetItemProviderVisibility to avoid inlining/generating unusable methods. NSItemProviderWriting.GetItemProviderVisibility is an optional method, and none of the native classes that implements NSItemProviderWriting actually imlements the method. This means inlining the method in those classes ends up creating unusable API; so just comment out the method to avoid generating the unusable API. The introspection tests found this: [FAIL] Foundation.NSString : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Foundation.NSUrl : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Contacts.CNContact : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] MapKit.MKMapItem : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIColor : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIImage : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] iOSApiSelectorTest.ApiSelectorTest.StaticMethods : 6 errors found in 2348 static selector validated: See also https://bugzilla.xamarin.com/show_bug.cgi?id=59308 * [iosurface] Add missing [TV] attributes (#2619) * [opengles] Enable the new API using IOSurface (#2618) The symbol only exists inside device libraries, not on simulator, and the introspection tests were updated to ignore it. Part of https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [avfoundation][watchos] Enable AudioBufferList (fix #59145) + audit (xtro) (#2617) 1. AudioBufferList is part of CoreAudio (wrong namespace, which needs a few changes in the generator) and now available in watchOS 4 https://bugzilla.xamarin.com/show_bug.cgi?id=59145 2. Also fixes xtro found issues: !missing-type! AVAudioRecorder not bound !missing-selector! AVAudioRecorder::averagePowerForChannel: not bound !missing-selector! AVAudioRecorder::channelAssignments not bound !missing-selector! AVAudioRecorder::currentTime not bound !missing-selector! AVAudioRecorder::delegate not bound !missing-selector! AVAudioRecorder::deviceCurrentTime not bound !missing-selector! AVAudioRecorder::format not bound !missing-selector! AVAudioRecorder::initWithURL:format:error: not bound !missing-selector! AVAudioRecorder::initWithURL:settings:error: not bound !missing-selector! AVAudioRecorder::isMeteringEnabled not bound !missing-selector! AVAudioRecorder::isRecording not bound !missing-selector! AVAudioRecorder::peakPowerForChannel: not bound !missing-selector! AVAudioRecorder::recordAtTime: not bound !missing-selector! AVAudioRecorder::recordAtTime:forDuration: not bound !missing-selector! AVAudioRecorder::recordForDuration: not bound !missing-selector! AVAudioRecorder::setChannelAssignments: not bound !missing-selector! AVAudioRecorder::setDelegate: not bound !missing-selector! AVAudioRecorder::setMeteringEnabled: not bound !missing-selector! AVAudioRecorder::settings not bound !missing-selector! AVAudioRecorder::url not bound !missing-protocol! AVAudioRecorderDelegate not bound !missing-selector! AVAudioEngine::inputNode not bound !missing-selector! AVAudioEngine::manualRenderingBlock not bound !missing-selector! AVAudioInputNode::setManualRenderingInputPCMFormat:inputBlock: not bound !missing-selector! AVAudioPlayer::format not bound !missing-selector! AVAudioSession::requestRecordPermission: not bound !unknown-field! AVFileType3GPP bound !unknown-field! AVFileType3GPP2 bound !unknown-field! AVFileTypeAC3 bound !unknown-field! AVFileTypeAIFC bound !unknown-field! AVFileTypeAIFF bound !unknown-field! AVFileTypeAMR bound !unknown-field! AVFileTypeAVCI bound !unknown-field! AVFileTypeAppleM4A bound !unknown-field! AVFileTypeAppleM4V bound !unknown-field! AVFileTypeCoreAudioFormat bound !unknown-field! AVFileTypeDNG bound !unknown-field! AVFileTypeEnhancedAC3 bound !unknown-field! AVFileTypeHEIC bound !unknown-field! AVFileTypeHEIF bound !unknown-field! AVFileTypeJPEG bound !unknown-field! AVFileTypeMPEG4 bound !unknown-field! AVFileTypeMPEGLayer3 bound !unknown-field! AVFileTypeQuickTimeMovie bound !unknown-field! AVFileTypeSunAU bound !unknown-field! AVFileTypeTIFF bound !unknown-field! AVFileTypeWAVE bound * [Metal] Implement API using IOSurface now that IOSurface is implemented. Partially fixes #58054. (#2621) https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [PdfKit] Improve PdfAnnotation.QuadrilateralPoints binding by making it strongly typed. (#2620) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). (#2622) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). * [ARKit/Vision] Use the new simd vector types instead of the OpenTK versions. * [ModelIO] Use the new simd vectors in new API (MDLVoxelIndexExtent2). This way we won't have to create a MDLVoxelIndexExtent3 in the future. * [SpriteKit] Use the new simd vectors in new API. * [metal] Audit (xtro) based fixes (#2623) !extra-protocol-member! unexpected selector MTLArgumentEncoder::newArgumentEncoderForBufferAtIndex: found !extra-protocol-member! unexpected selector MTLComputeCommandEncoder::dispatchThreads:threadsPerThreadgroup: found macos-only !missing-field! MTLDeviceRemovalRequestedNotification not bound !missing-field! MTLDeviceWasAddedNotification not bound !missing-field! MTLDeviceWasRemovedNotification not bound !missing-pinvoke! MTLCopyAllDevices is not bound * [CloudKit] Update bindings to beta 6. (#2615) * [FileProvider] Turn NSFileProviderItemIdentifier enum into a static class, fixes bug 59329 (#2634) https://bugzilla.xamarin.com/show_bug.cgi?id=59329 At the time of binding NSFileProviderItemIdentifier it wasn't clear how it was supposed to be used, I mean apple provides two keys which I thought were the only possible values hence binding it as an smart enum. Unfortunately this wasn't the case and the user can use those two values provided from the SDK or their own NSString Identifier. Swift provides a wrapper unfortunately we can't do the same due to NSFileProviderItemIdentifier is used in the NSFileProviderItem protocol and we currently do not support changing signatures on them. * [mtouch] Teach mtouch about the 'IOSurface' framework for tvOS. Fixes #59333. (#2630) https://bugzilla.xamarin.com/show_bug.cgi?id=59333 * Bump Touch.Unit to get fix for API breakage. (#2631) spouliot/Touch.Unit@8f1e19d [NUnitOutputTextWriter] Reintroduce previous constructor to make sure we don't break binary ABI. spouliot/Touch.Unit@00b0c0b [NUnitOutputTextWriter] Don't write invalid xml comments. spouliot/Touch.Unit@de9fe20 [TouchRunner] Restore the original code path when not wrapping NUnit xml output. * [IOSurface] Add missing availability attributes for tvOS. (#2629) * Bump versions for preview 9 (#2624) * [AVFoundation] Add missing interface AVRouteDetector. (#2637) * [tests] Update xtro to reduce list sizes (#2636) * Skip OpenTK duplicate declaration (we can't change them); * Fix rule name change for ARKit / simd; * Add missing default initializer on `init` to pending actions; * Add note for AVPersistableContentKeyRequest changes wrt tvOS; * [ReplayKit] Make RPBroadcastActivityViewController.LoadBroadcastActivityViewController async-capable. (#2639) * [xcode9] More SceneKit bindings (#2633) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 (#2644) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 https://bugzilla.xamarin.com/show_bug.cgi?id=59380 vector_float3 is 16 bytes, which means the binding is incorrect, because Vector3 is 12 bytes, and our code does not that difference into account. * Add tests * [DeviceCheck] Disable default ctor for DCDevice. (#2642) It doesn't seem to be useful according to the documentation, since it appears that the only way to get an instance is to use the static CurrentDevice property. * [audiounit] Audit (xtro) fixes for tvOS (#2635) Availability attributes in non-generated files don't hide symbols/code. reference: !unknown-pinvoke! AudioUnitExtensionCopyComponentList bound !unknown-pinvoke! AudioUnitExtensionSetComponentList bound * [tests] Make sure tvOS tests don't use the (unexisting) API * [tests] Add all test project variations to tests-mac.sln (#2579) * [xharness] Make sure generated mac projects have different project guids. * [introspection] Change the project guid so that it doesn't match the dontlink-mac project guid. * [tests] Add all test project variations to tests-mac.sln. * [xharness] Fix else condition. * [FileProvider] Adds missing NSFileProviderPage constants, fixes bug 59297. (#2646) https://bugzilla.xamarin.com/show_bug.cgi?id=59297 Adds NSFileProviderInitialPageSortedByName and NSFileProviderInitialPageSortedByDate NSData constants * [Xcode9] Remove NSFileProviderMessage and NSFileProviderMessageInterface (#2647) APIs were removed in beta 2 * [Foundation/UIKit] Provide LoadObject[s] methods that return the expected type in the callback. Fixes #59049. (#2638) The callback for these LoadObject[s] methods take an INSItemProviderReading parameter. This tells our runtime that we must provide an instance of a managed object that implements this interface (but nothing else), so we create a `NSItemProviderReadingWrapper` instance, which complies with the API (since the wrapper type implements the corresponding interface). Unfortunately these methods are supposed to return an instance of the passed- in type, so in order to comply with this soft (documentation-only) requirement, provide a wrapper method that creates instances of the right types. https://bugzilla.xamarin.com/show_bug.cgi?id=59049 * [arkit] Ignore deprecated selectors (#2645) * [FileProvider] Adds missing protocol and keys from audit (#2652) ``` !missing-protocol! NSFileProviderServiceSource not bound !missing-field! NSFileProviderErrorCollidingItemKey not bound !missing-field! NSFileProviderErrorNonExistentItemIdentifierKey not bound !missing-field! NSFileProviderFavoriteRankUnranked not bound ``` Also adds `NSXpcListenerEndpoint` to foundation, needed by `NSFileProviderServiceSource` protocol. * [tests][xtro] Workaround xtro runner dupe entry exception and update data files (#2654) * [AVFoundation] Rename field to match others. (#2657) * [homekit] Audit (xtro) fixes (#2653) - HMCharacteristicEvent conforms to NSMutableCopying on iOS11 which makes it 64 bits only (so adjust intro tests) - Ignore extra setters on HMMutablePresenceEvent, rdar 33883958 !missing-selector! HMMutablePresenceEvent::setPresenceEventType: not bound !missing-selector! HMMutablePresenceEvent::setPresenceUserType: not bound * [xtro] Add missing pinvoke to pending (#2662) - Bug 59422: [uikit] Missing UIContentSizeCategoryCompareToCategory & UIContentSizeCategoryIsAccessibilityCategory (https://bugzilla.xamarin.com/show_bug.cgi?id=59422) * Merge latest d15-3 fixes into xcode9 (#2660) * [msbuild] Re-added wildcard (*) expandsion for application-identifier in Entitlements.plist (#2186) Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=57119 * Bump mono (#2213) * Framework tests were still binding non-linked Simple class which errors now (#2216) (#2218) - Improve Makefile to rebuild when projects build with errors * Bump mono to get cecil fix for bug #56808. (#2222) https://bugzilla.xamarin.com/show_bug.cgi?id=56808 * [msbuild] Use @(ReferencePath) instead of @(ResolvedFiles) (#2188) (#2214) This allows things to work on both xbuild and msbuild. In xbuild, both lists are exactly the same and on msbuild, only @(ReferencePath) exists. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=55147 * NSActivityOptions.IdleDisplaySleepDisabled had wrong value (#2232) (#2239) This was due to an integer overflow. The original value was based on Int32 1 << 40 == 256 The correct value should be based on a UInt64. 1UL << 40 == 1099511627776 * [tests] Fix bug 57699 - [iOS]InternalsTest failure (Linkall) tests on device (#2243) Strip native debugging symbols should not be checked for debug builds * Bump mono to get fix for bug #57780. https://bugzilla.xamarin.com/show_bug.cgi?id=57780 * Update .gitmodules Change branch to d15-3 branch of mono * Bump maccore to get fix for bug #55064. https://bugzilla.xamarin.com/show_bug.cgi?id=55064 * [mono] Bump mono to get the head of cecil/mono-2017-04 and fix IsComObject #57919 Also fix #58789 [1], the typo in tools/mtouch/Tuning.cs showing in MT0000 errors instead MT2102. That's already in master and d15-4 mono bump includes: [2] commit 2a6502cee0df9de5198eafe7c8b5f6ac25106f34 (HEAD -> d15-3, origin/d15-3) Merge: 02457c20fcf 5e05cafc6f1 Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 10:04:06 2017 -0400 Merge pull request #5401 from marek-safar/com [Marshal.IsComObject] Make this predicate return false instead of thr… [3] commit 02457c20fcf57c0610e844d638eb1da82b5d1eb0 Merge: da80840ea55 73fd9a1b82e Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 09:59:06 2017 -0400 Merge pull request #5400 from spouliot/bump-cecil-58834-d15-3 [cecil] Bump to the head of the mono-2017-04 branch and pick the fix for bug #58834 References [1] https://bugzilla.xamarin.com/show_bug.cgi?id=58789 [2] https://bugzilla.xamarin.com/show_bug.cgi?id=57919 [3] https://bugzilla.xamarin.com/show_bug.cgi?id=58834 * [mtouch] Put 'mono_profiler_startup_log' in the symbol list. Fixes #58778. (#2501) We need the 'mono_profiler_startup_log' symbol when profiling is enabled, so make sure to add the symbol to the correct list of symbols we need. Previously we were passing `-u _mono_profiler_startup_log` to clang directly, which is fine, but not complete, since it does not write the symbol to the symbollist file (--symbollist=file), which means it wouldn't be preserved when the MSBuild tasks strip the executable. https://bugzilla.xamarin.com/show_bug.cgi?id=58778 * Bump versions for SR3 https://trello.com/c/EVze08ei * Bump mono to include HttpClientHandler fix #44027 https://trello.com/c/jYFXadH8/8-systemnethttp-close-request-stream-when-httpclienthandler https://bugzilla.xamarin.com/show_bug.cgi?id=44027 * [FileProvider] Add missing API and turn NSString to string (#2663) Turned NSString to string in order to match exisiting API. * [uikit] Add UIPasteConfigurationSupporting and UITextPasteConfigurationSupporting (#2649) - Fixes bug #59363: Missing UIPasteConfigurationSupporting, UITextPasteConfigurationSupporting, UITextDraggable and UITextDroppable on a couple of types (https://bugzilla.xamarin.com/show_bug.cgi?id=59363) * [uikit] Remove 129 types in UIPasteConfigurationSupporting case * [scenekit] Audit (xtro) fixes (#2648) This looks like an Apple breaking change (since `SCNAnimation` is new) but we now have: > typedef void (^SCNAnimationEventBlock)(id<SCNAnimation> animation, id animatedObject, BOOL playingBackward); bound as > delegate void SCNAnimationEventHandler (CAAnimation animation, NSObject animatedObject, bool playingBackward); and `CAAnimation` conforms to `SCNAnimation` but *only* the later is available on watchOS. The delegate is only updated (since it's new) on our watchOS profile. xtro references: (watchos) !unknown-protocol! SCNCameraControlConfiguration bound (tvos/watchos) !missing-selector! SCNAnimation::animationEvents not bound !missing-selector! SCNAnimation::setAnimationEvents: not bound !missing-selector! SCNConstraint::isEnabled not bound !missing-selector! SCNConstraint::setEnabled: not bound !missing-field! SCNSceneSourceConvertToYUpKey not bound !missing-field! SCNSceneSourceConvertUnitsToMetersKey not bound (ios/tvos) !missing-protocol-conformance! SCNNode should conform to UIFocusItem * Bump maccore post 15.3 merge (#2665) * Bump Xcode 9 to GM (#2667) * Force build (on wrench) * [avfoundation] Fix breaking changes (apidiff) (#2664) * [TVServices] Update to Xcode 9 GM (#2675) * [GameController] Update to Xcode 9 GM (#2673) * [LocalAuthentication] Update to Xcode 9 GM (#2671) * [LocalAuthentication] Update to Xcode 9 GM * Remove availability from BiometryNotAvailable, BiometryNotEnrolled and BiometryLockout * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer (#2659) * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer Some of the new added types were already present BUT under a #if MONOMAC, they had to be moved. * [AVFoundation] Set the wrongly added API to be obsolete and ensure it returns logical values. (#2650) * [xtro] The right platform for macOS is 'macos', not 'osx'. (#2677) The platform name is used to filter availability attributes, and if we use the wrong platform, we'll incorrectly skip all availability attributes. The net result in unclassified entries: https://gist.github.com/rolfbjarne/a4474bc2a40c49a85cad495b51bb514f * Various Xcode 9 API improvements and also fixes bug 59433 (#2676) https://bugzilla.xamarin.com/show_bug.cgi?id=59433 While fixing bug 59433 I noticed some additional issues outlined below: AVDepthData: * Renamed **non** static `Create` methods because `Create` only makes sense with the **Static** method in this context. Also by renaming the methods we are now closer to the names that swift uses. * Kept descriptive method names in favor of self-documenting code. `Convert`, `Apply` and `Replace` do not fully give us the intent of the method. * Added a convenience `Create` static method that takes a `CGImageAuxiliaryDataInfo`. * AvailableDepthDataTypes is now an array of `CVPixelFormatType` instead of a `NSNumber` array (The aactual fix for bug 59433). ImageIO: * Refactored `CGImageAuxiliaryDataInfo` to be a `StrongDictionary` in order to avoid most of the manual code and also to avoid reimplementing the `ToDictionary` method (which contained a subtle bug). * Adjusted code to reflect the above change. * Added missing `.ctor (IntPtr, bool)` to `CGImageMetadata` so the class is able to be created by our `Runtime.Get*`. * Simplified `CopyAuxiliaryDataInfo` method by using `CGImageAuxiliaryDataInfo` as a `DictionaryContainer`. Tests: * Added `xamarinmonkey.heic` which is an image that contains depth data needed to test above changes. * Adds `AVDepthDataTests` that touches most of the changes listed here. * Tweak the Simd-compatible matrices and vectors (#2668) * Rename them to be OpenTK.NMatrix# (instead of Simd.MatrixFloat#x#). * Remove the Vector2 and Vector4 variants, we'll use the OpenTK types instead (but we'll keep the NVector3 variant, since it's not identical to the OpenTK version). * Update the API to match their OpenTK counterparts better: * NMatrix2 and NMatrix3 have a 0-based R#C# scheme for their fields. * NMatrix4 has a 1-based M## scheme for its fields (i.e. no change). * [AVFoundation] Use Simd-matrix for API that needs it. (#2679) This also requires implementing the corresponding matrix (NMatrix4x3). Fixes this xtro issue: > !unknown-simd-type-in-signature! OpenTK.Matrix3 AVFoundation.AVCameraCalibrationData::get_GetIntrinsicMatrix(): the native signature has a simd type (matrix_float3x3), while the corresponding managed method is using an incorrect (non-simd) type. * [xtro] Fix checking availability on categories. (#2682) When checking for category availability, check if both the current declaration is a category, and if the current's declaration container is a category. Otherwise this scenario fails: * Category method is available. * Category does not have availability attributes. * Main class is unavailable. with this typical code sequence: ```csharp // don't process methods (or types) that are unavailable for the current platform if (!decl.IsAvailable () || !(decl.DeclContext as Decl).IsAvailable ()) return; ``` In which case we'd: * First check the method (`decl`): * It's available, so no further checks is done on the method. * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container's container is a category (it isn't, it's the namespace). and as such determine that the method is available. With this change, the second step will become: * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container is a category (it is), and if its main class is available (it isn't). and as such determine that the method is unavailable. * Check for attributes on the method's container (no attributes, so we continue). * Check if the method's Unclassified diff: https://gist.github.com/rolfbjarne/8fa80962596978a426eadf9b7ba39dc1 * [uikit] Update for Xcode 9 GM (#2670) * [AVFoundation] Implement AVCapturePhoto. Partially fixes #59388. (#2678) Fixes: > common.unclassified:!missing-type! AVCapturePhoto not bound https://bugzilla.xamarin.com/show_bug.cgi?id=59388 * Use strong dictionaries for AVCapturePhoto.Metadata and AVCapturePhoto.EmbeddedThumbnailPhotoFormat. * [SIMD] Implement Simd double types (VectorDouble3/MatrixDouble4x4). (#2632) The following types will be used by ModelIO bindings * Fix delta to be double * Rename Simd-compatible matrices and vectors to match our final naming. This also means removing the new Vector2 and Vector4 variants (but not Vector3). * [avfoundation] Remove AVAssetDownloadDelegate.DidLoadTimeRange since it was removed in one of the betas (#2687) * [foundation] Move NSUrlSessionMultipathServiceType to a file processed by the generator (for the availability attributes) (#2688) * [arkit] Update for Xcode 9 GM (#2681) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes (#2690) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes Type Changed: Intents.INCarSeatResolutionResult Removed methods: public static INCarSeatResolutionResult GetConfirmationRequired (INCarSeat valueToConfirm); public static INCarSeatResolutionResult GetSuccess (INCarSeat resolvedValue); * [avfoundation] Add missing protocol members and deprecations (#2691) !missing-protocol-member! AVCapturePhotoCaptureDelegate::captureOutput:didFinishProcessingPhoto:error: not found and the selector removed from PR#2687 was actually replaced with this one !missing-protocol-member! AVAssetDownloadDelegate::URLSession:aggregateAssetDownloadTask:didLoadTimeRange:totalTimeRangesLoaded:timeRangeExpectedToLoad:forMediaSelection: not found * [tests][xtro] Map some enums, more fix with protocols and update entries (#2692) * [Tests] Reenable dns tests on the watch. (#2674) * [arkit] Add ARBlendShapeLocationOptions strong dictionary (#2696) * [coreimage] Skip not yet bound filters added in Xcode9 (#2698) Tracked in https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * [Metal] Renamed MTLArgumentDescriptor.ArgumentDescriptor to Create, fixes bug 59498 (#2702) https://bugzilla.xamarin.com/show_bug.cgi?id=59498 From [argumentDescriptor docs](https://developer.apple.com/documentation/metal/mtlargumentdescriptor/2915746-argumentdescriptor?language=objc) > Creates an empty argument descriptor. * [msbuild] Always codesign app bundles if the codesign key is non-null (#2697) ...even if it is a simulator build. Turns out that starting with Xcode9, sim builds need to be codesigned for App Groups entitlements to work properly. Interestingly, the DetectSigningIdentity logic had a comment about needing to codesign simulator builds for some entitlements to work already starting with Xcode 8 but apparently the iOS targets did not respect this. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=59379 * [Foundation] Add NSProxy stub in order to workaround bug 59247 (#2693) https://bugzilla.xamarin.com/show_bug.cgi?id=59247 We need to have a better solution that removes all what NSProxy does not responds to. Right now this works because NSObject implements NSObject protocol just like NSProxy, but NSProxy responds to far less selectors hence doing it internal so it is not a breaking change when we provide the correct fix. * Keep NSProxy around and avoid XML linker description We need to keep NSProxy (avoid linking it) if WKNavigationDelegate or IWKNavigationDelegate is used. We know WKWebView will be there and can hold a reference to it. * [Xcode 9] Update Metal for GM (#2689) * [iosurface] IOSurface is not usable before iOS/tvOS 11. Fixes #59201 (#2706) Apple rejects apps that links with the previously private IOSurface.framework. We were not sure about this [1] and had it disabled (this is removed). However another bug stopped our adjustment logic [2] from being executed. This is needed since `clang` picks up the private framework if it does not find the public one (even when asking for a weak framework), [1] https://bugzilla.xamarin.com/show_bug.cgi?id=59201 [2] Added a while ago for JavascriptCore * Bump maccore to point to commit with the docs fix. (#2703) * Bump XI to 11.0.x (and XM to 3.99.9.x) (#2684) * fix typo
2017-09-16 00:53:16 +03:00
[Export ("localFront", ArgumentSemantic.Assign)]
SCNVector3 LocalFront { get; set; }
[Watch (4, 0), TV (11, 0), Mac (10, 13, onlyOn64: true), iOS (11, 0)]
Merge xcode9 into d15-4[-xi] (#2710) * [FileProvider] Add Xcode 9 Beta 1, 2 & 3 Bindings (#2279) * [FileProvider] Add Xcode 9 Beta 1 Bindings * Better naming * Feedback not related to BindAs * [FileProvider] Removes BindAs, add manual code for it and updated to Beta 3 * [FileProvider] Implement feedback * [CoreSpotlight] Updated spotlight bindings for xcode 9 beta 3. (#2193) Updated spotlight bindings for xcode 9 beta 3. * Fix warning caused by duplicate (#2354) * [FileProviderUI] Add Xcode 9 Beta 1 to 3 bindings (#2356) * Bump to Xcode 9 beta 4 * [arkit] ARLightEstimate does not conform to NSCopying anymore (fix unit test) * [uikit] NSFileProviderExtension.ReparentItem got a new parameter in beta4 (fix unit test) * [coreimage] CIImageAccumulator init returns nil in beta 4 There's no header change to mention `init` is not allowed but it's not clear how this default initializer could be used. Also make public some other API to construct this type (outside of XM). It's not clear why there were `internal` as they are (at least now) part of the header files. * [photos] Add helpers when PHLivePhotoEditingOption/NSDictionary is null (to avoid ambiguous API) (#2360) Adding a strongly typed `PHLivePhotoEditingOption` (a strongly typed version of an `NSDictionary`) can cause a `CS0121` (call is ambiguous) since using a `null` argument is common (only one option exist so far). This PR adds overloads that makes the code nicer in such case, e.g. before Xcode9: > // null is used when no options are given > _foo.SaveLivePhoto (output, null, completion); current (Xcode 9) > // casting required to remove ambiguity with PHLivePhotoEditingOption > _foo.SaveLivePhoto (output, (NSDictionary)null, completion); with this PR > // no option, no argument > _foo.SaveLivePhoto (output, completion); The same applies to `PrepareLivePhotoForPlayback`. * [tests] Disable/tweak two tests that breaks on (almost) all Xcode updates Those tests were not added to validate xOS so just keep the parts that helps us (without constantly checking back the new break flavor) * Disable watchOS to check if this hides others issues * [mapkit] Update for beta 4 * [coredata] Update for beta 4 * [wkwebkit] Update for beta 4 Note: WKWindowFeatures.h is not compiled (part of the framework umbrella) and the `@interface WKWindowFeatures (WKPrivate)` sounds like it should not have been exposed (it's all fields starting with `_`) * [corelocation] Update for beta 4 * Revert "Disable watchOS to check if this hides others issues" This reverts commit fed2249fa43290a1956ab2fe0d48f83ab6db9711. * [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]: https://github.com/xamarin/xamarin-macios/blob/f5956d6cc1eb5dfa7bab16628cf282d40237f64e/src/generator.cs#L5985 * [FinderSync] Update to beta 4 (#2377) * [ImageIO] Update to Xcode 9 (#2353) * [PhotosUI] Move macOS photosui bindings out of photos.cs into photosui.cs (#2358) * [quicklook] Update up to beta 4 (#2374) * [uikit] UIDragInteraction & UIDragInteractionDelegate (Xcode 9 b1,2,3) (#2357) * [safariservices] Update up to beta 4 (#2380) * [coreanimation] Update to beta 4 (#2382) Apple removed (mistake?) some API in beta 1. Filed as rdar 33590997 Internal tracking in https://trello.com/c/J8BDDUV9/86-33590997-coreanimation-quartzcore-api-removals * [storekit] Update up to beta 4 (#2379) * [CoreML] Update to Xcode 9 Beta 4 (#2387) * [uikit] UICollectionView/UITableView Drag & Drop (Xcode 9 b1,2,3 & 4) (#2355) * Update code after radar 32929318 and 32897776 are fixed in b4 (#2394) * [xcode9 CoreAudio] New definitions from Beta1 to Beta3 (#2359) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 (#2397) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 https://bugzilla.xamarin.com/show_bug.cgi?id=58512 Created strong API (VNBarcodeSymbology) on the following properties * VNDetectBarcodesRequest.SupportedSymbologies * VNDetectBarcodesRequest.Symbologies * VNBarcodeObservation.Symbology * Remove modern C# because classic can't do it 😡 * [mediaplayer] Update up to beta 4 (#2388) * [watchkit] Update to beta 4 (#2398) * Bump Visual Studio for Mac max version (#2408) * [coreimage] Add CIBarcodeDescriptor and enabled missing API for VNBarcodeObservation. Fix #58197 (#2411) https://bugzilla.xamarin.com/show_bug.cgi?id=58197 * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 (#2407) * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 * [uikit] Fixes based on comments * [coreimage] CIImageAccumulator API fixes. Fix #58349 (#2412) * Obsolete the default `init`; * XM exposed some older APIs using `int` instead of `CIFormat`. This is fixed and old APIs are obsoleted; * Both new & old APIs are now using `CIFormat` for both XI and XM. https://bugzilla.xamarin.com/show_bug.cgi?id=58349 * [uikit] UIText drag & drop - up to Xcode 9 beta 4 (#2410) * [uikit] UISplitView & UIStackView up to Xcode 9 beta 4 (#2425) * Bump XI/XM versions before preview 4 (#2422) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 (#2378) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 * [PDFKit] Implement feedback * [PDFKit] the forgotten enum * [PDFKit] More feedback * [PDFKit] Add Mac changes * Missing change * Fix test RectangleF VS CGRect * Pass -Wunguarded-availability-new to quiet a new clang warning (#2424) - https://bugzilla.xamarin.com/show_bug.cgi?id=58574 * [mtouch/mmp] Ignore warnings about unguarded code section with regards to availability. (#2441) * [monotouch-test] Remove workaround for fixed Apple bug. (#2445) * Bump to Xcode 9 beta 5. (#2447) * Bump to Xcode 9 beta 5. * [mmp] Disable the partial static registrar, because Apple's macOS SDK is broken. > In file included from Xamarin.Mac.registrar.mobile.i386.m:1: > In file included from ./Xamarin.Mac.registrar.mobile.i386.h:11: > /Applications/Xcode9-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVFoundation.h:88:9: fatal error: 'AVFoundation/AVRouteDetector.h' file not found https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [mmp] Fix partial static registrar removal. * [CallKit] Update to Xcode 9 beta 5. * [ARKit] ARPointCloud doesn't conform to NSCopying anymore in Xcode 9 beta 5. * [ARKit] Update to Xcode 9 beta 5 enough to make tests happy. * [CoreImage] Stub out new filters in Xcode 9 beta 5. * [tests][monotouch] Simplify some MDLMesh asserts since values change a lot between OS versions. * [mmp] Default to the dynamic registrar for release builds again, due to bug #58629. https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [tests][introspection] CXCall started implementing NSCopying without saying so in the headers. * Disable mmp static registrar tests due to 58629 for now * [quicklook] Update to beta 5 (#2450) * [photos] Update for beta 5 (#2452) Also update some existing enum members were added in beta 1 on macOS * [safariservices] Update for beta 5 (#2455) * [mediaplayer] Update to beta 5 (#2456) * [CoreLocation] Update Xcode 9 Beta 5 (#2453) * [CoreML] Update to Xcode 9 Beta 5 (#2454) * [Contacts] Update to Xcode 9 Beta 5 (#2451) * [Vision] Update to Xcode 9 Beta 5 (#2458) * [builds] Tell LLVM to stay away from newer macOS functions. (#2459) Fixes this build problem on Sierra: > ld: weak import of symbol '_futimens' not supported because of option: -no_weak_imports for architecture x86_64 This is a symbol that was (will be?) introduced in High Sierra. Interestingly this only occurs if the Xcode 8.X Command Line Tools haven't been manually installed. Because if the Xcode 8.X Command Line Tools are installed, this happens: 1. llvm's configure script detects that 'futimens' is not usable. 2. llvm's configure script detects that 'futimens' is not usable, because xcrun sets SDKROOT=/ when calling clang. a. When the SDKROOT variable is set, clang passes '-syslibroot /usr/lib' to ld. b. When ld gets '-syslibroot /usr/lib', ld looks in '/usr/lib' for a library that contains 'futimens' in the OS itself, and since we're on Sierra, that fails to link. c. So when llvm's configure script creates a test program that checks if 'futimens' is present, the program fails. This is correct, and makes llvm *not* use futimens. 3. xcrun sets SDKROOT=/ because /usr/share/current-os.sdk/Info.plist exists. If that file does not exist, then xcrun sets SDKROOT to Xcode9's macOS SDK (because that's what xcode-select reports). a. When SDKROOT is set to Xcode9's macOS SDK, the configure check for 'futimens' succeeds, because the macOS 10.13 SDK contains that function. b. llvm happily uses 'futimens', and then the final link fails because we're using a symbol not available on all target platforms. * [arkit] Update for Xcode 9 beta 5 - Part 1 (#2460) * [tests] The container app for watchOS tests should be 64-bit. (#2463) * [xharness] watchOS tests need to run in a clean environment. Works around #58348. (#2462) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [xharness] It watchOS tests don't need to be clean anymore. Fixes #58348. (#2473) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [uikit] UIView/UIScrollView/UIViewController up to Xcode 9 beta 5 (#2431) - Add NSDirectionalEdgeInsets type. - Includes DirectionalEdgeInsetsTest. * [AudioToolbox] Update bindings to Xcode 9 beta3 (not later changes). (#2294) * [xharness] Add a file existence check. (#2478) Fixes this exception: ``` Harness exception for 'introspection': System.IO.FileNotFoundException: Could not find file '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log'. File name: '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log' at System.IO.__Error.WinIOError (System.Int32 errorCode, System.String maybeFullPath) [0x00207] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/__error.cs:188 at System.IO.FileInfo.get_Length () [0x00038] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/fileinfo.cs:171 at xharness.CaptureLog.StopCapture () [0x00021] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Log.cs:252 at (wrapper remoting-invoke-with-check) xharness.CaptureLog:StopCapture () at xharness.AppRunner+<RunAsync>d__68.MoveNext () [0x0127f] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/AppRunner.cs:642 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter`1[TResult].GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:357 at xharness.RunSimulatorTask+<RunTestAsync>d__7.MoveNext () [0x0029d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2894 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.RunTestTask+<ExecuteAsync>d__8.MoveNext () [0x0010b] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2538 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.TestTask+<RunInternalAsync>d__87.MoveNext () [0x0010d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:1870 ``` I'm not sure how this can happen, but it has on the bots [1]. [1] https://jenkins.mono-project.com/job/xamarin-macios-pr-builder/4548/Test_Report/ * Bump versions for preview 5 (#2479) * [passkit] Update to beta 5 (#2481) * [tests] Remove workaround for radar #32688391. (#2486) * [replaykit] Update up to beta 5 (#2484) * Bump maccore to get fix for bug #55064. (#2487) * [apidiff] Update definition to new 10.12 (d15-3) stable release (#2490) * [SceneKit] basic work (#2483) * [coredata] Update to beta 5 (#2488) * [homekit] Update for Xcode 9 beta 5 (#2492) * [Foundation] Update for xcode9 (#2468) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 (#2493) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 * [Intents] Implement feedback * [Intents] Add a generic version for INInteraction.GetParameterValue * [Intents] Missing check * [Contacts] Add missing foundation NSItemProviderWriting protocol to CNContact (#2496) https://bugzilla.xamarin.com/show_bug.cgi?id=58203 This is available on all Contacts supported platforms ``` ./iPhoneOS.platform/Developer/SDKs/iPhoneOS11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchOS.platform/Developer/SDKs/WatchOS4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchSimulator.platform/Developer/SDKs/WatchSimulator4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ``` * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) (#2497) * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) * [IntentsUI] Better use a delegate instead so we have named params * Bump versions before 6th preview (#2514) * [arkit] Add missing MarshalDirective to ARPlaneAnchor (#2517) - Fixes bug #58648: ARPlaneAnchor.Extent property seems incorrect but changes to correct value after Debug access (https://bugzilla.xamarin.com/show_bug.cgi?id=58648) * [xtro-sharpie] Fix a compiler warning. (#2516) Fixes these warnings: Runner.cs(197,5): warning CS0642: Possible mistaken empty statement Runner.cs(199,5): warning CS0642: Possible mistaken empty statement Runner.cs(201,5): warning CS0642: Possible mistaken empty statement Runner.cs(203,5): warning CS0642: Possible mistaken empty statement Runner.cs(205,5): warning CS0642: Possible mistaken empty statement * [uikit] Update for Xcode 9 beta 5 - Part 3 (#2511) - UIKeyCommand - UINavigationBar - UINavigationItem - UIPasteboard - UITableViewHeaderFooterView * [xtro-sharpie] Remove xtro-plugin and misc other fixes. (#2522) * [xtro-sharpie] Build with msbuild and be as quiet as requested when building. * [xtro-sharpie] Must run as a 64-bit process, since the required native libraries are 64-bit. * [xtro-sharpie] Add run configurations to the project file to ease debugging in the IDE. * [xtro-sharpie] Remove xtro-plugin and the related commands. This was needed when there wasn't a 64-bit mono, in order to run xtro-sharpie in a 64-bit process. Now there is a 64-bit mono, so it's not needed anymore. Also improve makefile targets a bit, to auto-build stuff when needed, by setting the right dependencies. * Bump Xcode 9 to beta 6 (#2519) Disable watchOS tests again It seems like the Carousel crash from beta 4 is back to haunt us. This was working fine with beta 5. * Backport d15-3 SR2 fixes (#2515) * [coredata] Update to beta 6 (#2528) This seems to only revert some nullability changes from beta 5. * [coreml] Update to beta 6 (#2531) Fix our rdar 33643011 where additional setters were added in the headers but did not exists. * [videosubscriberaccount] Update to beta 6 (#2533) Only b1 and b2 introduced some additions/changes * [uikit] Update for Xcode 9 beta 6 - Part 4 (#2527) The following headers are now up to date: - UICollectionViewFlowLayout.h - UIDocumentPickerViewController.h - UIFontDescriptor.h - UIImage.h - UIImageView.h - UIImagePickerController.h * [xharness] Re-enable the watchOS tests. (#2534) It works fine for me locally, so let's see what Jenkins says. * [macos] Add new APIs in CoreWlan from Xcode9b3 (#2525) * Update AppKit bindings based on radar 33271241 results (#2518) * Update AppKit bindings based on radar 33271241 results - The header comment was updated to note it was NSSliderTouchBarItem view that has the protocol * Remove NSUserInterfaceCompression where not listed in header * [vision] Update to beta 6 (#2532) Removal of some deprecated (during beta) `init*` selectors. Also sync the versions that were inlined in subclasses - the old ones were not removed and the new ones were not added. * [xtro-sharpie] Many methods don't have selectors in Clang's API, so default to the name if no selector. (#2523) This makes a few more unclassified entries show up (mostly missing designated initializers): https://gist.github.com/rolfbjarne/07aa20f9b50b75bf3e69ac6a825e873a * [macos] Add ExternalAccessory APIs from xcode9 (#2526) * [58851] Disable NSMenuView in AllItemsWithNSMenuShouldAllowNull (#2504) * [arkit] Update for Xcode 9 beta 5 - Part 2 (#2505) - Add last missing selector. - Add tests for manual code. * [monotouch-test] Disable FontDescriptorTest.WithFeature (#2537) Disabled because it looks like the tvOS font we use: "Gujarati Sangam MN" does not have rare ligatures anymore (and the entire test is based on it). Before getting an actual fix for that, let's disable the test so it doesn't break all current builds. See: https://bugzilla.xamarin.com/show_bug.cgi?id=58929 * [xtro-sharpie] Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute. (#2524) Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute to calculate the native name for a TypeDefinition. Unclassified changes: https://gist.github.com/rolfbjarne/828f8ee41eebb0a3b60a38d71822fe59 * [foundation/uikit] Inline NSItemProvider_UIKitAdditions in NSItemProvider (#2538) As suggested here: https://github.com/xamarin/xamarin-macios/pull/2527#discussion_r134670981 * [intents] Fix breaking changes (api-diff) (#2543) Additions of @required members inside `INSpeakable` cannot be `[Abstract]` * [contacts] Fix breaking change (api-diff) (#2542) Type Changed: Contacts.CNPostalAddress Removed method: public static string LocalizeProperty (CNPostalAddressKeyOption option); * [macos] Reenable static registrar since Xcode9b6 un-broke SDK headers (#2544) - Fix a subtle spacing issues in PartialStaticLibrary property * [corebluetooth] Update up to beta 6 and enable it on watchOS (#2540) macOS 10.13 has finally catch up with iOS and this simplifies the bindings a bit. * [foundation] API fixes (apidiff) (#2545) 1. Let's not add new, already [Obsolete] API Type Changed: Foundation.NSDimension Added constructors: [Obsolete ("Not intended to be directly instantiated, this is an abstract class.")] public NSDimension (); 2. Fix inconsistently named API, e.g. Type Changed: Foundation.NSAttributedString Added properties: public static string[] ReadableTypeIdentifiersForItemProvider { get; } public static string[] WritableTypeIdentifiers { get; } * [pdfkit] Do not add already [Obsolete] API in new profiles (#2547) and ensure using the newer, correct API works cross-platforms iOS (before) [Obsolete ("Use 'Find (string, NSStringCompareOptions)' instead.")] public virtual PdfSelection[] Find (string text, nint options); public PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'Find (string, PdfSelection, NSStringCompareOptions)' instead.")] public virtual PdfSelection Find (string text, PdfSelection selection, nint options); public void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string, NSStringCompareOptions)' instead.")] public virtual void FindAsync (string text, nint options); public void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string [], NSStringCompareOptions)' instead.")] public virtual void FindAsync (string[] text, nint options); iOS (after) public virtual PdfSelection[] Find (string text, Foundation.NSStringCompareOptions compareOptions); public virtual PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); * Bump versions for the 7th preview (#2541) * Remove additions of AVKit removed in beta5 (#2536) * NSUrlSessionTask should implement NSProgressReporting for iOS (#2548) NSUrlSessionTask implements NSProgressReporting on iOS as well as Mac, so the #if MONOMAC isn't needed. * Add missing availability attributes causing failures on older iOS versions (#2550) * [vision] Minor fix wrt xtro (#2551) including some things we need to ignore manually !missing-field! VNVisionVersionNumber not bound !missing-pinvoke! VNImagePointForFaceLandmarkPoint is not bound !missing-pinvoke! VNNormalizedFaceBoundingBoxPointForLandmarkPoint is not bound * [uikit] NSFileProviderMessaging was removed in beta 2. Fixes #58222 (#2552) reference: https://bugzilla.xamarin.com/show_bug.cgi?id=58222 * [uikit] Update for Xcode 9 - Part 5 (#2546) Bindings for the following headers: - UIActivity.h - UIActivityItemProvider.h - UIAlertController.h - UIApplication.h - UIBarButtonItem.h - UIButton.h - UICollectionViewLayout.h - UIColor.h - UIControl.h - UIDocumentMenuViewController.h - UIFontMetrics.h - UIGestureRecognizer.h - UIGraphicsImageRenderer.h - UIInputViewController.h * [CoreText] Fix an extraneous free in CTFont.GetDefaultCascadeList. (#2555) We do not own the return value from CFArrayGetValueAtIndex, so don't say we do when creating CTFontDescriptor instances, since that leads to angry dragons: 2017-08-28 20:15:20.293 monotouchtest[33186:2311738] A_FontTest 2017-08-28 20:15:20.294 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithFontDescriptorAndOptions 2017-08-28 20:15:20.295 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithNameAndOptions 2017-08-28 20:15:20.296 monotouchtest[33186:2311738] critical: Stacktrace: at <unknown> <0xffffffff> at (wrapper managed-to-native) CoreText.CTFont.CTFontCopyDefaultCascadeListForLanguages (intptr,intptr) [0x0000a] in <ae65a2b1eea242d2b68fe784749543bf>:0 at CoreText.CTFont.GetDefaultCascadeList (string[]) [0x00013] in /work/maccore/xcode9/xamarin-macios/src/CoreText/CTFont.cs:2185 at MonoTouchFixtures.CoreText.A_FontTest.GetCascadeList () [0x0001e] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/CoreText/FontTest.cs:78 at (wrapper runtime-invoke) object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) [0x0004f] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) System.Reflection.MonoMethod.InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&) [0x00016] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at System.Reflection.MonoMethod.Invoke (object,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo) [0x00032] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/corlib/System.Reflection/MonoMethod.cs:305 at System.Reflection.MethodBase.Invoke (object,object[]) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/referencesource/mscorlib/system/reflection/methodbase.cs:229 at NUnit.Framework.Internal.Reflect.InvokeMethod (System.Reflection.MethodInfo,object,object[]) [0x00009] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Reflect.cs:215 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunNonAsyncTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x00025] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:116 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x0001a] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:90 at NUnit.Framework.Internal.Commands.TestMethodCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:66 at NUnit.Framework.Internal.Commands.SetUpTearDownCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00007] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/SetUpTearDownCommand.cs:84 at NUnit.Framework.Internal.WorkItems.SimpleWorkItem.PerformWork () [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/SimpleWorkItem.cs:64 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at MonoTouch.NUnit.UI.BaseTouchRunner.Run (NUnit.Framework.Internal.Test) [0x0004d] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:442 at MonoTouch.NUnit.UI.BaseTouchRunner.Run () [0x00030] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:171 at MonoTouch.Dialog.StringElement.Selected (MonoTouch.Dialog.DialogViewController,UIKit.UITableView,Foundation.NSIndexPath) [0x00008] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/Elements.cs:765 at MonoTouch.Dialog.DialogViewController.Selected (Foundation.NSIndexPath) [0x00026] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:577 at MonoTouch.Dialog.DialogViewController/Source.RowSelected (UIKit.UITableView,Foundation.NSIndexPath) [0x00016] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:402 at (wrapper runtime-invoke) <Module>.runtime_invoke_void__this___object_object (object,intptr,intptr,intptr) [0x0005d] in <32f0c196c5bc4aa18daea2ee64a7814e>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) UIKit.UIApplication.UIApplicationMain (int,string[],intptr,intptr) [0x0005c] in <ae65a2b1eea242d2b68fe784749543bf>:0 at UIKit.UIApplication.Main (string[],intptr,intptr) [0x00005] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:79 at UIKit.UIApplication.Main (string[],string,string) [0x00038] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:63 at monotouchtest.Application.Main (string[]) [0x00011] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/Main.cs:27 at (wrapper runtime-invoke) <Module>.runtime_invoke_void_object (object,intptr,intptr,intptr) [0x00051] in <30a7f7e09de9467b8b454221034a0e38>:0 Native stacktrace: 0 monotouchtest 0x000000010fca03c4 mono_handle_native_crash + 244 1 monotouchtest 0x000000010fcadd30 mono_sigsegv_signal_handler + 288 2 libsystem_platform.dylib 0x000000011feb3b3a _sigtramp + 26 3 CoreFoundation 0x000000011de035a2 computeSanitizedString + 146 4 CoreText 0x00000001168df314 _ZN15TPurgeableCache19RetainedValueForKeyEPKv + 54 5 CoreText 0x00000001168def85 _ZNK17TDescriptorSource22CopyDescriptorUncachedEPK7__CFURLbPK10__CFString + 55 6 CoreText 0x00000001168df34f _ZNK17TDescriptorSource14CopyDescriptorEPK7__CFURLbPK10__CFString + 27 7 CoreText 0x00000001168e20ad _ZNK17TDescriptorSource35CopyFontDescriptorPerPostScriptNameEPK10__CFStringmm + 297 8 CoreText 0x00000001168dfd9e _ZNK17TDescriptorSource30CopySystemFontDescriptorByNameEPK10__CFString10UIFontFlag + 54 9 CoreText 0x00000001168e54c4 _ZNK14TFontFallbacks17CopyFontFallbacksEPK10__CFStringS2_PK9__CFArray + 652 10 CoreText 0x00000001168e4a00 _ZNK14TFontFallbacks29CopyFontFallbacksForLanguagesEPK10__CFStringPK9__CFArray + 122 11 CoreText 0x00000001168e4971 _ZN17TDescriptorSource39CopyDefaultSubstitutionListForLanguagesEPK10__CFStringPK9__CFArray + 61 12 CoreText 0x00000001169397a7 _ZNK9TBaseFont28CreateSystemDefaultFallbacksEPK10__CFStringPK9__CFArray + 51 13 CoreText 0x000000011693999c _ZNK9TBaseFont15CreateFallbacksE10UIFontFlagPPK16__CFCharacterSetPK9__CFArray + 346 14 CoreText 0x00000001168c1036 _ZNK5TFont24CreateDefaultCascadeListEPK9__CFArray + 242 15 CoreText 0x00000001168b8ff9 CTFontCopyDefaultCascadeListForLanguages + 97 16 ??? 0x0000000140eaefd3 0x0 + 5384105939 17 ??? 0x0000000140eae761 0x0 + 5384103777 18 ??? 0x000000013c9c8e74 0x0 + 5311860340 19 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 20 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 21 monotouchtest 0x000000010fd71bac mono_runtime_try_invoke_array + 1292 22 monotouchtest 0x000000010fd15587 ves_icall_InternalInvoke + 647 23 ??? 0x000000013e9fcd13 0x0 + 5345627411 24 ??? 0x000000013e9fc738 0x0 + 5345625912 25 ??? 0x000000013e9fded5 0x0 + 5345631957 26 ??? 0x000000013e9fbb76 0x0 + 5345622902 27 ??? 0x000000013e9e237e 0x0 + 5345518462 28 ??? 0x000000013e9e237e 0x0 + 5345518462 29 ??? 0x000000013e9e237e 0x0 + 5345518462 30 ??? 0x000000013e9e237e 0x0 + 5345518462 31 ??? 0x000000013e873006 0x0 + 5344014342 32 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 33 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 34 monotouchtest 0x000000010fd6e320 mono_runtime_invoke + 208 35 monotouchtest 0x000000010fe71af1 xamarin_invoke_trampoline + 5617 36 monotouchtest 0x000000010fe79ddd xamarin_arch_trampoline + 189 37 monotouchtest 0x000000010fe7b1a1 xamarin_x86_64_common_trampoline + 110 38 UIKit 0x0000000111b9876b -[UITableView _selectRowAtIndexPath:animated:scrollPosition:notifyDelegate:] + 1810 39 UIKit 0x0000000111b98986 -[UITableView _userSelectRowAtPendingSelectionIndexPath:] + 344 40 UIKit 0x0000000111a6b5c9 _runAfterCACommitDeferredBlocks + 318 41 UIKit 0x0000000111a59dad _cleanUpAfterCAFlushAndRunDeferredBlocks + 280 42 UIKit 0x0000000111a89f68 _afterCACommitHandler + 137 43 CoreFoundation 0x000000011de3ddb7 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23 44 CoreFoundation 0x000000011de3dd0e __CFRunLoopDoObservers + 430 45 CoreFoundation 0x000000011de22324 __CFRunLoopRun + 1572 46 CoreFoundation 0x000000011de21a89 CFRunLoopRunSpecific + 409 47 GraphicsServices 0x0000000121b7e9c6 GSEventRunModal + 62 48 UIKit 0x0000000111a5f7d0 UIApplicationMain + 159 49 ??? 0x000000013c9c4474 0x0 + 5311841396 50 ??? 0x000000013c9c40ad 0x0 + 5311840429 ================================================================= Got a SIGSEGV while executing native code. This usually indicates a fatal error in the mono runtime or one of the native libraries used by your application. ================================================================= * [monotouch-test] Don't subclass MKMapView. (#2556) MKMapView doesn't like being subclassed (Apple says "you should not subclass the MKMapView class itself"). Bad things like this starts happening: Thread 0 name: tid_303 Dispatch queue: com.apple.main-thread Thread 0 Crashed: 0 libsystem_kernel.dylib 0x0000000186b25348 __pthread_kill + 8 1 libsystem_pthread.dylib 0x0000000186c39354 pthread_kill$VARIANT$mp + 396 2 libsystem_c.dylib 0x0000000186a94fd8 abort + 140 3 monotouchtest 0x0000000101c02c14 mono_handle_native_crash + 22047764 (mini-exceptions.c:2548) 4 monotouchtest 0x0000000101c0d02c mono_sigsegv_signal_handler + 22089772 (mini-runtime.c:2886) 5 libsystem_platform.dylib 0x0000000186c33b60 _sigtramp + 52 6 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 7 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 8 CoreFoundation 0x0000000186eda51c -[__NSArrayM dealloc] + 68 9 CoreFoundation 0x000000018703f5c8 __CFBasicHashDrain + 312 10 CoreFoundation 0x0000000186fb5b44 _CFRelease + 224 11 CoreText 0x000000018a808404 TDescriptorSource::PurgeFontFallbacksCache+ 488452 () + 92 12 CoreText 0x000000018a808374 TDescriptorSource::PurgeFromCaches+ 488308 (__CFURL const*) const + 176 13 CoreText 0x000000018a7eec74 CTFontRemoveFromCaches + 168 14 VectorKit 0x0000000196a539b0 +[VKSharedResourcesManager removeResourceUser:] + 324 15 VectorKit 0x0000000196ca27a4 md::MapEngine::~MapEngine+ 2643876 () + 360 16 VectorKit 0x0000000196ca2634 md::MapEngine::~MapEngine+ 2643508 () + 12 17 libobjc.A.dylib 0x000000018651eef4 object_cxxDestructFromClass+ 28404 (objc_object*, objc_class*) + 148 18 libobjc.A.dylib 0x000000018652c638 objc_destructInstance + 88 19 libobjc.A.dylib 0x000000018652c690 object_dispose + 16 20 QuartzCore 0x000000018afca3ac -[CALayer dealloc] + 116 21 VectorKit 0x0000000196a43294 -[VKMapView dealloc] + 940 22 QuartzCore 0x000000018af6aafc CA::release_objects+ 744188 (X::List<void const*>*) + 32 23 QuartzCore 0x000000018afd97d8 CA::Layer::~Layer+ 1198040 () + 276 24 QuartzCore 0x000000018afca37c -[CALayer dealloc] + 68 25 QuartzCore 0x000000018af6b16c CA::Transaction::commit+ 745836 () + 1052 26 UIKit 0x0000000190393290 _afterCACommitHandler + 256 27 CoreFoundation 0x0000000186fb38b8 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 32 28 CoreFoundation 0x0000000186fb1270 __CFRunLoopDoObservers + 412 29 CoreFoundation 0x0000000186fb182c __CFRunLoopRun + 1292 30 CoreFoundation 0x0000000186ed22d8 CFRunLoopRunSpecific + 436 31 GraphicsServices 0x0000000188d58f84 GSEventRunModal + 100 32 UIKit 0x000000019040427c UIApplicationMain + 208 33 monotouchtest 0x000000010106eb90 wrapper_managed_to_native_UIKit_UIApplication_UIApplicationMain_int_string___intptr_intptr + 9907088 (/<unknown>:1) 34 monotouchtest 0x0000000100f0d6ac UIKit_UIApplication_Main_string___intptr_intptr + 8459948 (UIApplication.cs:79) 35 monotouchtest 0x0000000100f0d66c UIKit_UIApplication_Main_string___string_string + 8459884 (UIApplication.cs:63) 36 monotouchtest 0x0000000100b10450 monotouchtest_Application_Main_string__ + 4277328 (Main.cs:27) 37 monotouchtest 0x0000000100e0c244 wrapper_runtime_invoke_object_runtime_invoke_dynamic_intptr_intptr_intptr_intptr + 244 38 monotouchtest 0x0000000101c10048 mono_jit_runtime_invoke + 22102088 (mini-runtime.c:2526) 39 monotouchtest 0x0000000101c75eec do_runtime_invoke + 22519532 (object.c:2829) 40 monotouchtest 0x0000000101c78a3c do_exec_main_checked + 22530620 (object.c:4623) 41 monotouchtest 0x0000000101bf9a1c mono_jit_exec + 22010396 (driver.g.c:1040) 42 monotouchtest 0x0000000101d13d60 xamarin_main + 23166304 (monotouch-main.m:482) 43 monotouchtest 0x00000001007de710 main + 927504 (main.m:67) 44 libdyld.dylib 0x00000001869f656c start + 4 * [introspection] Let SkipDueToAttributeInProperty skip setters too (#2557) `SkipDueToAttributeInProperty` which is used to check the availability attribute of properties when the Availability info only exist on the property and not on the property Getter or Setter was wrong. This lead to `setSpringLoaded` (which was introduced in iOS 11) to not be ignored by the test (making it fail). - Fix bug #59085: [introspection-ios] selector not found for UIKit.UIBarButtonItem : setSpringLoaded: - Broken test (https://bugzilla.xamarin.com/show_bug.cgi?id=59085) * [corevideo][watchos] Enable CoreVideo on watchOS (#2553) * [storekit] Fix CampaignToken typo (#2559) (#2560) - Fixes bug #59078: StoreProductParameters and invalid property for CampaignToken (https://bugzilla.xamarin.com/show_bug.cgi?id=59078) * [coreml][watchos] Enable API using CoreVideo on watchOS. Fix #58097 (#2561) https://bugzilla.xamarin.com/show_bug.cgi?id=58097 * Add missing [MarshalDirective] attributes. (#2558) * [bindings-generator] Improve build & project file. * Add missing [MarshalDirective] attributes. Add missing [MarshalDirective] attributes, which also requires implementing support for out parameters in the binding generator, since one of the signatures missing the [MarshalDirective] contains such an out parameter. Also add tests for all the API I've added [MarshalDirective] to. * [bindings-generator] Remove redundant if check. * [monotouch-test] Rename file to end with 'Test.cs'. * [tests] Fix a few build errors for Xamarin.Mac. * [uikit] Fix UIColor and UIInputViewController tvOS availability (#2569) - Fixes introspection tests on tvOS 10. * [storekit] Fix SKCloudServiceSetupMessageIdentifier and SKProductStorePromotionController tvOS availability (#2568) - Fixes introspection tests on tvOS 10. * [mapkit] Fix MKMapItemTypeIdentifier tvOS availability (#2566) - Also remove double [Mac] availability attribute. - Fixes introspection tests on tvOS 10. * [ARKit] Fix marshalling for ARPointCloud.RawFeaturePoints. (#2565) ARPointCloud.RawFeaturePoints is an array of Vector3, but each vector is 16-byte aligned (as if it were an array of Vector4). This means we need to account for this when creating a managed array from pointer to the native C-style array. * [ModelIO] Fix MDLVoxelIndexExtent struct. (#2564) The MDLVoxelIndexExtent is a struct containing two 4-dimensional vectors of integers (not floats, as originally and incorrectly implemented). Fix this my creating a new MDLVoxelIndexExtent2 struct with the right fields, re-implement all the API that exposes this struct and obsolete the old API. Also add missing [MarshalDirective] attributes. And write a test to make sure it works fine now and forever. * [coredata] Enable new fields since rdar #33878590 is fixed w/beta 6 (#2570) reference: https://trello.com/c/dlSRYPFx * [xtro-sharpie] Add a Simd check class to verify signatures with Simd types. * [Simd] Add simd matrix types. The OpenTK matrices (Matrix2/3/4) has a different memory layout than Apple's matrix_float2x2/matrix_float3x3/matrix_float4x4 matrices: the OpenTK versions are row-major, while Apple's versions are column-major. This means that when blitting memory from one to the other, the matrix will appear to have been transposed. See bug #[58599][2] for an example. Unfortunately we've already bound several API with Apple's matrix_floatXxX matrices using OpenTK's matrices, and although they're bound wrong, and the matrices appear transposed on input/output, we can't change the behavior because we have to maintain compatibility. This means we have to introduce new API, and then also just define new matrix types with the right memory layout (column-major). Additionally, in the future we might be able to mark these matrices as Simd-matrixes, so that the JIT/AOT compiler can generate the correct alignment for them, avoiding having to define a native conversion method (using the [MarshalDirective] hack). The matrices have been designed to match API-wise the matrices in the System.Numerics.Vectors namespace [1], but for the moment with only a few basic operations implemented (Determinant/Transpose/Multiply) defined (we can always add more later if we want to). In addition explicit conversion operators to and from the corresponding OpenTK.MatrixX are implemented, which means any operation defined in the OpenTK matrices can be used by converting back and forth. [1]: https://msdn.microsoft.com/en-us/library/system.numerics.matrix4x4(v=vs.111).aspx [2]: https://bugzilla.xamarin.com/show_bug.cgi?id=58599 * [ARKit] Use the new Simd matrix types. * [Vision] Use the new Simd matrix types. * [ModelIO] Use the new Simd-compatible matrix types, and deprecate the old API. * [GameplayKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [SpriteKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [xtro] Don't report missing [MarshalDirective] for obsolete methods. * [xtro] Remove unnecessary ignores. The implementation changed, and these stayed accidentally. * [wkwebkit] Fix (native) protocol names (#2572) Also ignore xtro's WKSnapshotConfiguration since it's an Apple bug 34185961 reference (xtro) !missing-protocol! WKURLSchemeHandler not bound !missing-protocol! WKURLSchemeTask not bound !unknown-protocol! WKUrlSchemeHandler bound !unknown-protocol! WKUrlSchemeTask bound !unknown-type! WKSnapshotConfiguration bound * [uikit] Fix enums availability attributes (#2575) - Fixes bug #59132: [uikit] Extra types in watchOS (https://bugzilla.xamarin.com/show_bug.cgi?id=59132) * [watchkit] Add missing designated initializers (#2574) references (xtro) !missing-designated-initializer! WKInterfaceController::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! WKUserNotificationInterfaceController::init is missing an [DesignatedInitializer] attribute * [xtro] Reword some of the Simd diagnostic messages according to review. * [tests] Make sure test symbols don't clash between different test libraries. Fixes this build problem for framework-test: clang: error: linker command failed with exit code 1 (use -v to see invocation) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_get_rotation_matrix'. MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticObjectTest.framework/XStaticObjectTest (Location related to previous error) MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticArTest.framework/XStaticArTest(libtest-ar.x86_64.o) (Location related to previous error) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransformcomponent_get_local_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_create_global_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float4x4'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float3x3'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float2x2'. MTOUCH: error MT5209: Native linking error: 6 duplicate symbols for architecture x86_64 MTOUCH: error MT5202: Native linking failed. Please review the build log. * [tests] Since libtest.a need ModelIO now, the corresponding LinkWith attributes need to state that too. * [introspection] Don't check native signatures on obsolete members, and ignore the right simd matrix types. Fixes this introspection/Mac problem: ***** ApiSignatureTest.NativeSignatures Selector: uniformWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: uniformWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: uniformWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: setMatrixFloat2x2Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: setMatrixFloat3x3Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: setMatrixFloat4x4Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: initWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: initWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: initWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded * [monotouch-tests] Include more custom asserts for watchOS to make the build work. Fixes this: Simd/MatrixFloat4x4Test.cs(28,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(29,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(37,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(48,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' [...] * [monotouch-test] Exclude code that requires the binding project from xammac tests. Exclude code that requires the test binding project from xammac tests because there's currently no XM version of the test binding project. Fixes this: tests/monotouch-test/SpriteKit/UniformTest.cs(20,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLMaterialProperty.cs(37,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLTransform.cs(34,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) * Bump version for preview #8 (#2576) * [spritekit] Audit fixes (xtro) (#2577) 1. SKVideoNode is now, partially, available on watchOS and does not require the extra, manual code to swicth selectors depending on the OS version being run. !missing-type! SKVideoNode not bound !missing-selector! SKVideoNode::anchorPoint not bound !missing-selector! SKVideoNode::initWithCoder: not bound !missing-selector! SKVideoNode::initWithFileNamed: not bound !missing-selector! SKVideoNode::initWithURL: not bound !missing-selector! SKVideoNode::setAnchorPoint: not bound !missing-selector! SKVideoNode::setSize: not bound !missing-selector! SKVideoNode::size not bound !missing-selector! +SKVideoNode::videoNodeWithFileNamed: not bound !missing-selector! +SKVideoNode::videoNodeWithURL: not bound 2. SKNodeFocusBehavior is exposed needlessly on watchOS because SpriteKit/Enums.cs was not processed by the generator, so [NoWatch] did not matter. !unknown-native-enum! SKNodeFocusBehavior bound It's also visible on macOS but nothing uses it (so we do not expose it needlessly) !missing-enum! SKNodeFocusBehavior not bound 3. Add missing designated initializer on default `init` !missing-designated-initializer! SKAttributeValue::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! SKNode::init is missing an [DesignatedInitializer] attribute 4. Remove inconsistency for SKNode subclasses wrt XAMCORE_4_0 The trio attributeValues, setAttributeValues and setValue:forAttributeNamed: that was moved from SKNode (deprecated) into its subclasses. This was done using XAMCORE_4_0 but not on every subclasses. This adds them everywhere to be consistent (only SKNode versions are not defined in XAMCORE_4_0) !missing-selector! SKEffectNode::attributeValues not bound !missing-selector! SKEffectNode::setAttributeValues: not bound !missing-selector! SKEffectNode::setValue:forAttributeNamed: not bound !missing-selector! SKEffectNode::valueForAttributeNamed: not bound !missing-selector! SKEmitterNode::attributeValues not bound !missing-selector! SKEmitterNode::setAttributeValues: not bound !missing-selector! SKEmitterNode::setValue:forAttributeNamed: not bound !missing-selector! SKEmitterNode::valueForAttributeNamed: not bound !missing-selector! SKSpriteNode::attributeValues not bound !missing-selector! SKSpriteNode::setAttributeValues: not bound !missing-selector! SKSpriteNode::setValue:forAttributeNamed: not bound !missing-selector! SKSpriteNode::valueForAttributeNamed: not bound * [introspection] Make sure '[FAIL]' is printed before every failure. (#2578) This makes xharness able to list the failures in the inline summary. * [xtro] Reword some of the Simd diagnostic messages according to review. * [xharness] Add a missing IsServerMode check to generate correct html. (#2581) * [SpriteKit] SKTransformNode is new in Xcode 9 so no need to keep the broken (and obsolete) non-simd version of RotationMatrix. * [intents] Fix some (partial) xtro issues and #59156 (#2585) reference https://bugzilla.xamarin.com/show_bug.cgi?id=59156 Remaining issues are filled in https://bugzilla.xamarin.com/show_bug.cgi?id=59183 !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound * [Intents] Confirm* interface methods should be bound as Confirm, Fixes Bug 59164 (#2591) * [Intents] Confirm* interface methods should probably be bound as Confirm, Fixes Bug 59164 https://bugzilla.xamarin.com/show_bug.cgi?id=59164 All Confirm* methods from *IntentHandling interfaces should be named just `Confirm` to avoid confusion because most of them do not directly confirm as an acion, but instead they **ask** for confirmation also we would follow swift's naming by doing this. * [Intents] XAMCORE_4_0 all Confirm* methods from *IntentHandling Turns any Confirm* into just Confirm inside a XAMCORE_4_0 block, * [Intents] Fix breaking changes in Intents added in Xcode 9 Bindings (#2590) Apple added more protocol conformances to INRidesharingDomainHandling and INPaymentsDomainHandling protocols in Xcode 9, I introduced these breaking changes back when I did intents binding so fixing them :) * [Metal] New bindings from Xcode 9 betas (#2457) * [AVFoundation] Updated bindings for xcode9. (#2272) * [Xcode9] Add IOSurface bindings (#2363) * This framework was a private framework before iOS 11. This framework was a private framework before iOS 11, yet the headers claim many API were introduced in iOS 10. So take account of this difference by using the private framework location in iOS 10.3 or earlier. Testing these API from Xcode works fine when run on an iOS 10.3 device, and I've confirmed the IOSurface framework is loaded from the private frameworks path on older devices (and when built using Xcode 9 and linked with the public framework path). * Disable code to make IOSurface work on iOS 10. Disable the code to make IOSurface work on iOS 10, since it may be rejected by the App Store. This also means adjusting the availability attributes, so that the introspection tests pass (and to document that technically these API won't work when used with Xamarin.iOS in iOS 10). I've filed bug #[59201][1] to keep track of this, maybe we can re-enable this later. [1]: https://bugzilla.xamarin.com/show_bug.cgi?id=59201 * [CoreMedia] Fix leak in CMAttachmentBearer.GetAttachments. (#2593) The caller owns the return value from CMCopyDictionaryOfAttachments, so tell Runtime.GetNSObject that. * [Intents] Adds missing API found by xtro, fixes Bug 59183 (#2596) https://bugzilla.xamarin.com/show_bug.cgi?id=59183 Fixes !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !incorrect-protocol-member! INUIHostedViewControlling::configureWithInteraction:context:completion: is OPTIONAL and should NOT be abstract * [xtro] Fix StartWorkingDirectory to enable debugging (#2598) * [iosurface] Enable for tvOS and XM classic (to avoid multiple defines around consumer API) (#2597) * [xtro] Fix EnumCheck (#2600) * [ARKit] Rename a few method to make them nicer. (#2604) * DisplayTransform -> GetDisplayTransform since methods should have verbs. * SessionWasInterrupted -> WasInterrupted and SessionInterruptionEnded -> InterruptionEnded since these names match better with the other names (CameraDidChangeTrackingState / DidFail / DidOutputAudioSampleBuffer: none are prefixed with 'Session'). Additionally, the type is a Model (for the delegate pattern), which means all methods are more-or-less event-like, and the first argument is always the same (the protocol itself), which is another indicator the methods should be named similarly. * [Foundation] Remove 'Key' suffix from some fields. (#2606) Of the 168 fields in NSMetadataItem, only these 5 hadn't removed the 'Key' suffix. So make them all equivalent by removing the 'Key' suffix from these 5 fields. * [ImageIO] Fix API to not duplicate the instance in instance methods. (#2609) An instance method does not need to take the instance as a parameter, so remove the first (instance) parameter for CGImageDestination.AddAuxiliaryDataInfo and CGImageSource.CopyAuxiliaryDataInfo. An alternative solution would be to make the methods static, but I like the instance API better. * [UIKit] De-model UIDataSourceTranslating. (#2603) It's not clear from neither the documentation nor the headers how this protocol is supposed to be used, and since it doesn't correspond to the delegate pattern, remove the [Model] attribute for now. We can always add it back later. * [CoreML] Improve API. (#2592) * [CoreML] Improve API. * The indices, shape and stride properties for MLMultiArray and MLMultiArrayConstraint can logically only be arrays of integers, so type them as such. This means adding overloads for MLMultiArray's constructors, GetObject and SetObject methods, and the indexers that takes nint[] arrays instead of NSNumber[] arrays. * Change MLFeatureValue's static factory methods to be a method ('Create') instead of a preposition, and call all the different factory methods the same, since they can be overloaded nicely. * [tests][monotouch-test] Add version check to MLMultiArrayTest and make sure the arrays we create are big enough for the data we put in them. * [tests][monotouch-test] MLMultiArray's elements aren't zero-initialized, so don't assume that in the tests. * Support overloading Objective-C methods based on static/instance. (#2607) Two Objective-C methods can be named identically as long as one is static and the other instance. We must support this since Apple did just this (in the NSItemProviderReading / NSItemProviderWriting protocols). We solve it by prepending a '+' or '-' to the selector when hashing it (to determine selector uniqueness, and to look the method up again at runtime). * [uikit] Update for Xcode 9 - Part 6 (#2602) NSAttributedString.h NSFileProviderExtension.h NSLayoutAnchor.h UIAccessibility.h UIAccessibilityAdditions.h UIAccessibilityContainer.h UIAccessibilityContentSizeCategoryImageAdjusting.h UIAccessibilityCustomRotor.h UIAccessibilityLocationDescriptor.h UITabBar.h UINavigationBar.h UIScreen.h * Xcode9 scenekit (#2512) * [SceneKit] basic work * Added key * [xcode9] SCNCameraController * [xcode9] SCNCamera updates * [xcode9] SCNMaterial * [xcode9] SCNGeometryTessellator, SCNCameraControlConfiguration, SCNView, small bits * Add trailing commas to last enum value * Remove whitespace noise * [scenekit] Update deprecated attributes messages * Addresses some of Rolf's feedback * Drop the WeakDelegate in SCNCameraController * Rename method to Render, remove ctor from class that can not be constructed in Palygrounds, add typo exception * [AppKit] Rename NSBezierPath.AppendBezierPathWithCGGlyph to match its sibling methods. (#2605) NSBezierPath contains a lot of 'AppendPathWithXXX' methods, that all map to 'appendBezierPathXXX' selectors. So rename AppendBezierPathWithCGGlyph accordingly, to make it more similar to the other methods in the same type. * [uikit] Add all UISpringLoadedInteractionSupporting (#2616) Types do not conform to the protocol but protocol methods work on those types (see monotouch-test). Fixed introspection tests accordingly and tested the selectors in monotouch-test. * [Intents] Add convenience ctor overload and call correct base ctor in manual ctor. (#2613) Add a convenience constructor overload in INGetUserCurrentRestaurantReservationBookingsIntent that uses nint instead of NSNumber, since logically "number of results" will always be some sort of integer. Also call the correct base constructor in INSpeakableString's custom constructor (same as any other generated constructor). Otherwise we end up doing something like this: [[[INSpeakableString alloc] init] initWith ...], i.e. calling two different init methods. * [coreimage] Add new headers API up to beta 6 (#2601) Filters are not complete (ref: #57350) https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * Some new constants are not yet documented (type is known), so they are commented / ignored https://bugzilla.xamarin.com/show_bug.cgi?id=59296 * Filled bug for [Wrap] inside [Category] so strong dictionary helpers can be re-enabled later https://bugzilla.xamarin.com/show_bug.cgi?id=59294 * [foundation] xtro fixes for watchOS (#2586) !missing-enum! NSProcessInfoThermalState not bound !missing-field! NSProcessInfoThermalStateDidChangeNotification not bound !missing-selector! NSProcessInfo::thermalState not bound Headers are wrong and preferredPresentationStyle is not in tvOS and watchOS !missing-selector! NSItemProvider::preferredPresentationStyle not bound !missing-selector! NSItemProvider::setPreferredPresentationStyle: not bound * [uikit] Also remove UIPreferredPresentationStyle enum from platform where it's not used * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. (#2614) * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. * NSItemProviderWriting: * NSItemProviderReading: Implement correctly and completely by uncommenting commented out code. * NSMutableString: * NSAttributedString: remove inlined members, since these classes don't implement NSItemProviderReading / NSItemProviderWriting (according to the headers at least). * NSUrl: all platforms now seem to implement NSItemProviderReading / NSItemProviderWriting. * NSString: all platforms now seem to implement both NSItemProviderReading and NSItemProviderWriting * UIColor: * UIImage: Update inlined protocol members according to the latest beta. Additionally, due to the following conditions: * The protocols all have the correct members now. * In the API definition we tell the generator to inline members from a protocol by inheriting from the corresponding interface. * The generator doesn't inline static members from protocols. several 'new' keywords had to be added to silence a compiler warning that occurrs when we manually inline a static member, since the member would be included in the type both from the inherited interface and the manual implementation. * [Foundation] Comment out NSItemProviderWriting.GetItemProviderVisibility to avoid inlining/generating unusable methods. NSItemProviderWriting.GetItemProviderVisibility is an optional method, and none of the native classes that implements NSItemProviderWriting actually imlements the method. This means inlining the method in those classes ends up creating unusable API; so just comment out the method to avoid generating the unusable API. The introspection tests found this: [FAIL] Foundation.NSString : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Foundation.NSUrl : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Contacts.CNContact : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] MapKit.MKMapItem : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIColor : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIImage : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] iOSApiSelectorTest.ApiSelectorTest.StaticMethods : 6 errors found in 2348 static selector validated: See also https://bugzilla.xamarin.com/show_bug.cgi?id=59308 * [iosurface] Add missing [TV] attributes (#2619) * [opengles] Enable the new API using IOSurface (#2618) The symbol only exists inside device libraries, not on simulator, and the introspection tests were updated to ignore it. Part of https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [avfoundation][watchos] Enable AudioBufferList (fix #59145) + audit (xtro) (#2617) 1. AudioBufferList is part of CoreAudio (wrong namespace, which needs a few changes in the generator) and now available in watchOS 4 https://bugzilla.xamarin.com/show_bug.cgi?id=59145 2. Also fixes xtro found issues: !missing-type! AVAudioRecorder not bound !missing-selector! AVAudioRecorder::averagePowerForChannel: not bound !missing-selector! AVAudioRecorder::channelAssignments not bound !missing-selector! AVAudioRecorder::currentTime not bound !missing-selector! AVAudioRecorder::delegate not bound !missing-selector! AVAudioRecorder::deviceCurrentTime not bound !missing-selector! AVAudioRecorder::format not bound !missing-selector! AVAudioRecorder::initWithURL:format:error: not bound !missing-selector! AVAudioRecorder::initWithURL:settings:error: not bound !missing-selector! AVAudioRecorder::isMeteringEnabled not bound !missing-selector! AVAudioRecorder::isRecording not bound !missing-selector! AVAudioRecorder::peakPowerForChannel: not bound !missing-selector! AVAudioRecorder::recordAtTime: not bound !missing-selector! AVAudioRecorder::recordAtTime:forDuration: not bound !missing-selector! AVAudioRecorder::recordForDuration: not bound !missing-selector! AVAudioRecorder::setChannelAssignments: not bound !missing-selector! AVAudioRecorder::setDelegate: not bound !missing-selector! AVAudioRecorder::setMeteringEnabled: not bound !missing-selector! AVAudioRecorder::settings not bound !missing-selector! AVAudioRecorder::url not bound !missing-protocol! AVAudioRecorderDelegate not bound !missing-selector! AVAudioEngine::inputNode not bound !missing-selector! AVAudioEngine::manualRenderingBlock not bound !missing-selector! AVAudioInputNode::setManualRenderingInputPCMFormat:inputBlock: not bound !missing-selector! AVAudioPlayer::format not bound !missing-selector! AVAudioSession::requestRecordPermission: not bound !unknown-field! AVFileType3GPP bound !unknown-field! AVFileType3GPP2 bound !unknown-field! AVFileTypeAC3 bound !unknown-field! AVFileTypeAIFC bound !unknown-field! AVFileTypeAIFF bound !unknown-field! AVFileTypeAMR bound !unknown-field! AVFileTypeAVCI bound !unknown-field! AVFileTypeAppleM4A bound !unknown-field! AVFileTypeAppleM4V bound !unknown-field! AVFileTypeCoreAudioFormat bound !unknown-field! AVFileTypeDNG bound !unknown-field! AVFileTypeEnhancedAC3 bound !unknown-field! AVFileTypeHEIC bound !unknown-field! AVFileTypeHEIF bound !unknown-field! AVFileTypeJPEG bound !unknown-field! AVFileTypeMPEG4 bound !unknown-field! AVFileTypeMPEGLayer3 bound !unknown-field! AVFileTypeQuickTimeMovie bound !unknown-field! AVFileTypeSunAU bound !unknown-field! AVFileTypeTIFF bound !unknown-field! AVFileTypeWAVE bound * [Metal] Implement API using IOSurface now that IOSurface is implemented. Partially fixes #58054. (#2621) https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [PdfKit] Improve PdfAnnotation.QuadrilateralPoints binding by making it strongly typed. (#2620) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). (#2622) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). * [ARKit/Vision] Use the new simd vector types instead of the OpenTK versions. * [ModelIO] Use the new simd vectors in new API (MDLVoxelIndexExtent2). This way we won't have to create a MDLVoxelIndexExtent3 in the future. * [SpriteKit] Use the new simd vectors in new API. * [metal] Audit (xtro) based fixes (#2623) !extra-protocol-member! unexpected selector MTLArgumentEncoder::newArgumentEncoderForBufferAtIndex: found !extra-protocol-member! unexpected selector MTLComputeCommandEncoder::dispatchThreads:threadsPerThreadgroup: found macos-only !missing-field! MTLDeviceRemovalRequestedNotification not bound !missing-field! MTLDeviceWasAddedNotification not bound !missing-field! MTLDeviceWasRemovedNotification not bound !missing-pinvoke! MTLCopyAllDevices is not bound * [CloudKit] Update bindings to beta 6. (#2615) * [FileProvider] Turn NSFileProviderItemIdentifier enum into a static class, fixes bug 59329 (#2634) https://bugzilla.xamarin.com/show_bug.cgi?id=59329 At the time of binding NSFileProviderItemIdentifier it wasn't clear how it was supposed to be used, I mean apple provides two keys which I thought were the only possible values hence binding it as an smart enum. Unfortunately this wasn't the case and the user can use those two values provided from the SDK or their own NSString Identifier. Swift provides a wrapper unfortunately we can't do the same due to NSFileProviderItemIdentifier is used in the NSFileProviderItem protocol and we currently do not support changing signatures on them. * [mtouch] Teach mtouch about the 'IOSurface' framework for tvOS. Fixes #59333. (#2630) https://bugzilla.xamarin.com/show_bug.cgi?id=59333 * Bump Touch.Unit to get fix for API breakage. (#2631) spouliot/Touch.Unit@8f1e19d [NUnitOutputTextWriter] Reintroduce previous constructor to make sure we don't break binary ABI. spouliot/Touch.Unit@00b0c0b [NUnitOutputTextWriter] Don't write invalid xml comments. spouliot/Touch.Unit@de9fe20 [TouchRunner] Restore the original code path when not wrapping NUnit xml output. * [IOSurface] Add missing availability attributes for tvOS. (#2629) * Bump versions for preview 9 (#2624) * [AVFoundation] Add missing interface AVRouteDetector. (#2637) * [tests] Update xtro to reduce list sizes (#2636) * Skip OpenTK duplicate declaration (we can't change them); * Fix rule name change for ARKit / simd; * Add missing default initializer on `init` to pending actions; * Add note for AVPersistableContentKeyRequest changes wrt tvOS; * [ReplayKit] Make RPBroadcastActivityViewController.LoadBroadcastActivityViewController async-capable. (#2639) * [xcode9] More SceneKit bindings (#2633) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 (#2644) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 https://bugzilla.xamarin.com/show_bug.cgi?id=59380 vector_float3 is 16 bytes, which means the binding is incorrect, because Vector3 is 12 bytes, and our code does not that difference into account. * Add tests * [DeviceCheck] Disable default ctor for DCDevice. (#2642) It doesn't seem to be useful according to the documentation, since it appears that the only way to get an instance is to use the static CurrentDevice property. * [audiounit] Audit (xtro) fixes for tvOS (#2635) Availability attributes in non-generated files don't hide symbols/code. reference: !unknown-pinvoke! AudioUnitExtensionCopyComponentList bound !unknown-pinvoke! AudioUnitExtensionSetComponentList bound * [tests] Make sure tvOS tests don't use the (unexisting) API * [tests] Add all test project variations to tests-mac.sln (#2579) * [xharness] Make sure generated mac projects have different project guids. * [introspection] Change the project guid so that it doesn't match the dontlink-mac project guid. * [tests] Add all test project variations to tests-mac.sln. * [xharness] Fix else condition. * [FileProvider] Adds missing NSFileProviderPage constants, fixes bug 59297. (#2646) https://bugzilla.xamarin.com/show_bug.cgi?id=59297 Adds NSFileProviderInitialPageSortedByName and NSFileProviderInitialPageSortedByDate NSData constants * [Xcode9] Remove NSFileProviderMessage and NSFileProviderMessageInterface (#2647) APIs were removed in beta 2 * [Foundation/UIKit] Provide LoadObject[s] methods that return the expected type in the callback. Fixes #59049. (#2638) The callback for these LoadObject[s] methods take an INSItemProviderReading parameter. This tells our runtime that we must provide an instance of a managed object that implements this interface (but nothing else), so we create a `NSItemProviderReadingWrapper` instance, which complies with the API (since the wrapper type implements the corresponding interface). Unfortunately these methods are supposed to return an instance of the passed- in type, so in order to comply with this soft (documentation-only) requirement, provide a wrapper method that creates instances of the right types. https://bugzilla.xamarin.com/show_bug.cgi?id=59049 * [arkit] Ignore deprecated selectors (#2645) * [FileProvider] Adds missing protocol and keys from audit (#2652) ``` !missing-protocol! NSFileProviderServiceSource not bound !missing-field! NSFileProviderErrorCollidingItemKey not bound !missing-field! NSFileProviderErrorNonExistentItemIdentifierKey not bound !missing-field! NSFileProviderFavoriteRankUnranked not bound ``` Also adds `NSXpcListenerEndpoint` to foundation, needed by `NSFileProviderServiceSource` protocol. * [tests][xtro] Workaround xtro runner dupe entry exception and update data files (#2654) * [AVFoundation] Rename field to match others. (#2657) * [homekit] Audit (xtro) fixes (#2653) - HMCharacteristicEvent conforms to NSMutableCopying on iOS11 which makes it 64 bits only (so adjust intro tests) - Ignore extra setters on HMMutablePresenceEvent, rdar 33883958 !missing-selector! HMMutablePresenceEvent::setPresenceEventType: not bound !missing-selector! HMMutablePresenceEvent::setPresenceUserType: not bound * [xtro] Add missing pinvoke to pending (#2662) - Bug 59422: [uikit] Missing UIContentSizeCategoryCompareToCategory & UIContentSizeCategoryIsAccessibilityCategory (https://bugzilla.xamarin.com/show_bug.cgi?id=59422) * Merge latest d15-3 fixes into xcode9 (#2660) * [msbuild] Re-added wildcard (*) expandsion for application-identifier in Entitlements.plist (#2186) Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=57119 * Bump mono (#2213) * Framework tests were still binding non-linked Simple class which errors now (#2216) (#2218) - Improve Makefile to rebuild when projects build with errors * Bump mono to get cecil fix for bug #56808. (#2222) https://bugzilla.xamarin.com/show_bug.cgi?id=56808 * [msbuild] Use @(ReferencePath) instead of @(ResolvedFiles) (#2188) (#2214) This allows things to work on both xbuild and msbuild. In xbuild, both lists are exactly the same and on msbuild, only @(ReferencePath) exists. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=55147 * NSActivityOptions.IdleDisplaySleepDisabled had wrong value (#2232) (#2239) This was due to an integer overflow. The original value was based on Int32 1 << 40 == 256 The correct value should be based on a UInt64. 1UL << 40 == 1099511627776 * [tests] Fix bug 57699 - [iOS]InternalsTest failure (Linkall) tests on device (#2243) Strip native debugging symbols should not be checked for debug builds * Bump mono to get fix for bug #57780. https://bugzilla.xamarin.com/show_bug.cgi?id=57780 * Update .gitmodules Change branch to d15-3 branch of mono * Bump maccore to get fix for bug #55064. https://bugzilla.xamarin.com/show_bug.cgi?id=55064 * [mono] Bump mono to get the head of cecil/mono-2017-04 and fix IsComObject #57919 Also fix #58789 [1], the typo in tools/mtouch/Tuning.cs showing in MT0000 errors instead MT2102. That's already in master and d15-4 mono bump includes: [2] commit 2a6502cee0df9de5198eafe7c8b5f6ac25106f34 (HEAD -> d15-3, origin/d15-3) Merge: 02457c20fcf 5e05cafc6f1 Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 10:04:06 2017 -0400 Merge pull request #5401 from marek-safar/com [Marshal.IsComObject] Make this predicate return false instead of thr… [3] commit 02457c20fcf57c0610e844d638eb1da82b5d1eb0 Merge: da80840ea55 73fd9a1b82e Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 09:59:06 2017 -0400 Merge pull request #5400 from spouliot/bump-cecil-58834-d15-3 [cecil] Bump to the head of the mono-2017-04 branch and pick the fix for bug #58834 References [1] https://bugzilla.xamarin.com/show_bug.cgi?id=58789 [2] https://bugzilla.xamarin.com/show_bug.cgi?id=57919 [3] https://bugzilla.xamarin.com/show_bug.cgi?id=58834 * [mtouch] Put 'mono_profiler_startup_log' in the symbol list. Fixes #58778. (#2501) We need the 'mono_profiler_startup_log' symbol when profiling is enabled, so make sure to add the symbol to the correct list of symbols we need. Previously we were passing `-u _mono_profiler_startup_log` to clang directly, which is fine, but not complete, since it does not write the symbol to the symbollist file (--symbollist=file), which means it wouldn't be preserved when the MSBuild tasks strip the executable. https://bugzilla.xamarin.com/show_bug.cgi?id=58778 * Bump versions for SR3 https://trello.com/c/EVze08ei * Bump mono to include HttpClientHandler fix #44027 https://trello.com/c/jYFXadH8/8-systemnethttp-close-request-stream-when-httpclienthandler https://bugzilla.xamarin.com/show_bug.cgi?id=44027 * [FileProvider] Add missing API and turn NSString to string (#2663) Turned NSString to string in order to match exisiting API. * [uikit] Add UIPasteConfigurationSupporting and UITextPasteConfigurationSupporting (#2649) - Fixes bug #59363: Missing UIPasteConfigurationSupporting, UITextPasteConfigurationSupporting, UITextDraggable and UITextDroppable on a couple of types (https://bugzilla.xamarin.com/show_bug.cgi?id=59363) * [uikit] Remove 129 types in UIPasteConfigurationSupporting case * [scenekit] Audit (xtro) fixes (#2648) This looks like an Apple breaking change (since `SCNAnimation` is new) but we now have: > typedef void (^SCNAnimationEventBlock)(id<SCNAnimation> animation, id animatedObject, BOOL playingBackward); bound as > delegate void SCNAnimationEventHandler (CAAnimation animation, NSObject animatedObject, bool playingBackward); and `CAAnimation` conforms to `SCNAnimation` but *only* the later is available on watchOS. The delegate is only updated (since it's new) on our watchOS profile. xtro references: (watchos) !unknown-protocol! SCNCameraControlConfiguration bound (tvos/watchos) !missing-selector! SCNAnimation::animationEvents not bound !missing-selector! SCNAnimation::setAnimationEvents: not bound !missing-selector! SCNConstraint::isEnabled not bound !missing-selector! SCNConstraint::setEnabled: not bound !missing-field! SCNSceneSourceConvertToYUpKey not bound !missing-field! SCNSceneSourceConvertUnitsToMetersKey not bound (ios/tvos) !missing-protocol-conformance! SCNNode should conform to UIFocusItem * Bump maccore post 15.3 merge (#2665) * Bump Xcode 9 to GM (#2667) * Force build (on wrench) * [avfoundation] Fix breaking changes (apidiff) (#2664) * [TVServices] Update to Xcode 9 GM (#2675) * [GameController] Update to Xcode 9 GM (#2673) * [LocalAuthentication] Update to Xcode 9 GM (#2671) * [LocalAuthentication] Update to Xcode 9 GM * Remove availability from BiometryNotAvailable, BiometryNotEnrolled and BiometryLockout * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer (#2659) * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer Some of the new added types were already present BUT under a #if MONOMAC, they had to be moved. * [AVFoundation] Set the wrongly added API to be obsolete and ensure it returns logical values. (#2650) * [xtro] The right platform for macOS is 'macos', not 'osx'. (#2677) The platform name is used to filter availability attributes, and if we use the wrong platform, we'll incorrectly skip all availability attributes. The net result in unclassified entries: https://gist.github.com/rolfbjarne/a4474bc2a40c49a85cad495b51bb514f * Various Xcode 9 API improvements and also fixes bug 59433 (#2676) https://bugzilla.xamarin.com/show_bug.cgi?id=59433 While fixing bug 59433 I noticed some additional issues outlined below: AVDepthData: * Renamed **non** static `Create` methods because `Create` only makes sense with the **Static** method in this context. Also by renaming the methods we are now closer to the names that swift uses. * Kept descriptive method names in favor of self-documenting code. `Convert`, `Apply` and `Replace` do not fully give us the intent of the method. * Added a convenience `Create` static method that takes a `CGImageAuxiliaryDataInfo`. * AvailableDepthDataTypes is now an array of `CVPixelFormatType` instead of a `NSNumber` array (The aactual fix for bug 59433). ImageIO: * Refactored `CGImageAuxiliaryDataInfo` to be a `StrongDictionary` in order to avoid most of the manual code and also to avoid reimplementing the `ToDictionary` method (which contained a subtle bug). * Adjusted code to reflect the above change. * Added missing `.ctor (IntPtr, bool)` to `CGImageMetadata` so the class is able to be created by our `Runtime.Get*`. * Simplified `CopyAuxiliaryDataInfo` method by using `CGImageAuxiliaryDataInfo` as a `DictionaryContainer`. Tests: * Added `xamarinmonkey.heic` which is an image that contains depth data needed to test above changes. * Adds `AVDepthDataTests` that touches most of the changes listed here. * Tweak the Simd-compatible matrices and vectors (#2668) * Rename them to be OpenTK.NMatrix# (instead of Simd.MatrixFloat#x#). * Remove the Vector2 and Vector4 variants, we'll use the OpenTK types instead (but we'll keep the NVector3 variant, since it's not identical to the OpenTK version). * Update the API to match their OpenTK counterparts better: * NMatrix2 and NMatrix3 have a 0-based R#C# scheme for their fields. * NMatrix4 has a 1-based M## scheme for its fields (i.e. no change). * [AVFoundation] Use Simd-matrix for API that needs it. (#2679) This also requires implementing the corresponding matrix (NMatrix4x3). Fixes this xtro issue: > !unknown-simd-type-in-signature! OpenTK.Matrix3 AVFoundation.AVCameraCalibrationData::get_GetIntrinsicMatrix(): the native signature has a simd type (matrix_float3x3), while the corresponding managed method is using an incorrect (non-simd) type. * [xtro] Fix checking availability on categories. (#2682) When checking for category availability, check if both the current declaration is a category, and if the current's declaration container is a category. Otherwise this scenario fails: * Category method is available. * Category does not have availability attributes. * Main class is unavailable. with this typical code sequence: ```csharp // don't process methods (or types) that are unavailable for the current platform if (!decl.IsAvailable () || !(decl.DeclContext as Decl).IsAvailable ()) return; ``` In which case we'd: * First check the method (`decl`): * It's available, so no further checks is done on the method. * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container's container is a category (it isn't, it's the namespace). and as such determine that the method is available. With this change, the second step will become: * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container is a category (it is), and if its main class is available (it isn't). and as such determine that the method is unavailable. * Check for attributes on the method's container (no attributes, so we continue). * Check if the method's Unclassified diff: https://gist.github.com/rolfbjarne/8fa80962596978a426eadf9b7ba39dc1 * [uikit] Update for Xcode 9 GM (#2670) * [AVFoundation] Implement AVCapturePhoto. Partially fixes #59388. (#2678) Fixes: > common.unclassified:!missing-type! AVCapturePhoto not bound https://bugzilla.xamarin.com/show_bug.cgi?id=59388 * Use strong dictionaries for AVCapturePhoto.Metadata and AVCapturePhoto.EmbeddedThumbnailPhotoFormat. * [SIMD] Implement Simd double types (VectorDouble3/MatrixDouble4x4). (#2632) The following types will be used by ModelIO bindings * Fix delta to be double * Rename Simd-compatible matrices and vectors to match our final naming. This also means removing the new Vector2 and Vector4 variants (but not Vector3). * [avfoundation] Remove AVAssetDownloadDelegate.DidLoadTimeRange since it was removed in one of the betas (#2687) * [foundation] Move NSUrlSessionMultipathServiceType to a file processed by the generator (for the availability attributes) (#2688) * [arkit] Update for Xcode 9 GM (#2681) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes (#2690) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes Type Changed: Intents.INCarSeatResolutionResult Removed methods: public static INCarSeatResolutionResult GetConfirmationRequired (INCarSeat valueToConfirm); public static INCarSeatResolutionResult GetSuccess (INCarSeat resolvedValue); * [avfoundation] Add missing protocol members and deprecations (#2691) !missing-protocol-member! AVCapturePhotoCaptureDelegate::captureOutput:didFinishProcessingPhoto:error: not found and the selector removed from PR#2687 was actually replaced with this one !missing-protocol-member! AVAssetDownloadDelegate::URLSession:aggregateAssetDownloadTask:didLoadTimeRange:totalTimeRangesLoaded:timeRangeExpectedToLoad:forMediaSelection: not found * [tests][xtro] Map some enums, more fix with protocols and update entries (#2692) * [Tests] Reenable dns tests on the watch. (#2674) * [arkit] Add ARBlendShapeLocationOptions strong dictionary (#2696) * [coreimage] Skip not yet bound filters added in Xcode9 (#2698) Tracked in https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * [Metal] Renamed MTLArgumentDescriptor.ArgumentDescriptor to Create, fixes bug 59498 (#2702) https://bugzilla.xamarin.com/show_bug.cgi?id=59498 From [argumentDescriptor docs](https://developer.apple.com/documentation/metal/mtlargumentdescriptor/2915746-argumentdescriptor?language=objc) > Creates an empty argument descriptor. * [msbuild] Always codesign app bundles if the codesign key is non-null (#2697) ...even if it is a simulator build. Turns out that starting with Xcode9, sim builds need to be codesigned for App Groups entitlements to work properly. Interestingly, the DetectSigningIdentity logic had a comment about needing to codesign simulator builds for some entitlements to work already starting with Xcode 8 but apparently the iOS targets did not respect this. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=59379 * [Foundation] Add NSProxy stub in order to workaround bug 59247 (#2693) https://bugzilla.xamarin.com/show_bug.cgi?id=59247 We need to have a better solution that removes all what NSProxy does not responds to. Right now this works because NSObject implements NSObject protocol just like NSProxy, but NSProxy responds to far less selectors hence doing it internal so it is not a breaking change when we provide the correct fix. * Keep NSProxy around and avoid XML linker description We need to keep NSProxy (avoid linking it) if WKNavigationDelegate or IWKNavigationDelegate is used. We know WKWebView will be there and can hold a reference to it. * [Xcode 9] Update Metal for GM (#2689) * [iosurface] IOSurface is not usable before iOS/tvOS 11. Fixes #59201 (#2706) Apple rejects apps that links with the previously private IOSurface.framework. We were not sure about this [1] and had it disabled (this is removed). However another bug stopped our adjustment logic [2] from being executed. This is needed since `clang` picks up the private framework if it does not find the public one (even when asking for a weak framework), [1] https://bugzilla.xamarin.com/show_bug.cgi?id=59201 [2] Added a while ago for JavascriptCore * Bump maccore to point to commit with the docs fix. (#2703) * Bump XI to 11.0.x (and XM to 3.99.9.x) (#2684) * fix typo
2017-09-16 00:53:16 +03:00
[Export ("worldUp", ArgumentSemantic.Assign)]
SCNVector3 WorldUp { get; set; }
2016-04-21 15:30:02 +03:00
}
[Mac (10,9), iOS (8,0)]
delegate SCNMatrix4 SCNTransformConstraintHandler (SCNNode node, SCNMatrix4 transform);
[Watch (3,0)]
2016-04-21 15:30:02 +03:00
[Mac (10,9), iOS (8,0)]
[BaseType (typeof (SCNConstraint))]
[DisableDefaultCtor]
interface SCNTransformConstraint {
[Static, Export ("transformConstraintInWorldSpace:withBlock:")]
SCNTransformConstraint Create (bool inWorldSpace, SCNTransformConstraintHandler transformHandler);
Merge xcode9 into d15-4[-xi] (#2710) * [FileProvider] Add Xcode 9 Beta 1, 2 & 3 Bindings (#2279) * [FileProvider] Add Xcode 9 Beta 1 Bindings * Better naming * Feedback not related to BindAs * [FileProvider] Removes BindAs, add manual code for it and updated to Beta 3 * [FileProvider] Implement feedback * [CoreSpotlight] Updated spotlight bindings for xcode 9 beta 3. (#2193) Updated spotlight bindings for xcode 9 beta 3. * Fix warning caused by duplicate (#2354) * [FileProviderUI] Add Xcode 9 Beta 1 to 3 bindings (#2356) * Bump to Xcode 9 beta 4 * [arkit] ARLightEstimate does not conform to NSCopying anymore (fix unit test) * [uikit] NSFileProviderExtension.ReparentItem got a new parameter in beta4 (fix unit test) * [coreimage] CIImageAccumulator init returns nil in beta 4 There's no header change to mention `init` is not allowed but it's not clear how this default initializer could be used. Also make public some other API to construct this type (outside of XM). It's not clear why there were `internal` as they are (at least now) part of the header files. * [photos] Add helpers when PHLivePhotoEditingOption/NSDictionary is null (to avoid ambiguous API) (#2360) Adding a strongly typed `PHLivePhotoEditingOption` (a strongly typed version of an `NSDictionary`) can cause a `CS0121` (call is ambiguous) since using a `null` argument is common (only one option exist so far). This PR adds overloads that makes the code nicer in such case, e.g. before Xcode9: > // null is used when no options are given > _foo.SaveLivePhoto (output, null, completion); current (Xcode 9) > // casting required to remove ambiguity with PHLivePhotoEditingOption > _foo.SaveLivePhoto (output, (NSDictionary)null, completion); with this PR > // no option, no argument > _foo.SaveLivePhoto (output, completion); The same applies to `PrepareLivePhotoForPlayback`. * [tests] Disable/tweak two tests that breaks on (almost) all Xcode updates Those tests were not added to validate xOS so just keep the parts that helps us (without constantly checking back the new break flavor) * Disable watchOS to check if this hides others issues * [mapkit] Update for beta 4 * [coredata] Update for beta 4 * [wkwebkit] Update for beta 4 Note: WKWindowFeatures.h is not compiled (part of the framework umbrella) and the `@interface WKWindowFeatures (WKPrivate)` sounds like it should not have been exposed (it's all fields starting with `_`) * [corelocation] Update for beta 4 * Revert "Disable watchOS to check if this hides others issues" This reverts commit fed2249fa43290a1956ab2fe0d48f83ab6db9711. * [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]: https://github.com/xamarin/xamarin-macios/blob/f5956d6cc1eb5dfa7bab16628cf282d40237f64e/src/generator.cs#L5985 * [FinderSync] Update to beta 4 (#2377) * [ImageIO] Update to Xcode 9 (#2353) * [PhotosUI] Move macOS photosui bindings out of photos.cs into photosui.cs (#2358) * [quicklook] Update up to beta 4 (#2374) * [uikit] UIDragInteraction & UIDragInteractionDelegate (Xcode 9 b1,2,3) (#2357) * [safariservices] Update up to beta 4 (#2380) * [coreanimation] Update to beta 4 (#2382) Apple removed (mistake?) some API in beta 1. Filed as rdar 33590997 Internal tracking in https://trello.com/c/J8BDDUV9/86-33590997-coreanimation-quartzcore-api-removals * [storekit] Update up to beta 4 (#2379) * [CoreML] Update to Xcode 9 Beta 4 (#2387) * [uikit] UICollectionView/UITableView Drag & Drop (Xcode 9 b1,2,3 & 4) (#2355) * Update code after radar 32929318 and 32897776 are fixed in b4 (#2394) * [xcode9 CoreAudio] New definitions from Beta1 to Beta3 (#2359) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 (#2397) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 https://bugzilla.xamarin.com/show_bug.cgi?id=58512 Created strong API (VNBarcodeSymbology) on the following properties * VNDetectBarcodesRequest.SupportedSymbologies * VNDetectBarcodesRequest.Symbologies * VNBarcodeObservation.Symbology * Remove modern C# because classic can't do it 😡 * [mediaplayer] Update up to beta 4 (#2388) * [watchkit] Update to beta 4 (#2398) * Bump Visual Studio for Mac max version (#2408) * [coreimage] Add CIBarcodeDescriptor and enabled missing API for VNBarcodeObservation. Fix #58197 (#2411) https://bugzilla.xamarin.com/show_bug.cgi?id=58197 * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 (#2407) * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 * [uikit] Fixes based on comments * [coreimage] CIImageAccumulator API fixes. Fix #58349 (#2412) * Obsolete the default `init`; * XM exposed some older APIs using `int` instead of `CIFormat`. This is fixed and old APIs are obsoleted; * Both new & old APIs are now using `CIFormat` for both XI and XM. https://bugzilla.xamarin.com/show_bug.cgi?id=58349 * [uikit] UIText drag & drop - up to Xcode 9 beta 4 (#2410) * [uikit] UISplitView & UIStackView up to Xcode 9 beta 4 (#2425) * Bump XI/XM versions before preview 4 (#2422) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 (#2378) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 * [PDFKit] Implement feedback * [PDFKit] the forgotten enum * [PDFKit] More feedback * [PDFKit] Add Mac changes * Missing change * Fix test RectangleF VS CGRect * Pass -Wunguarded-availability-new to quiet a new clang warning (#2424) - https://bugzilla.xamarin.com/show_bug.cgi?id=58574 * [mtouch/mmp] Ignore warnings about unguarded code section with regards to availability. (#2441) * [monotouch-test] Remove workaround for fixed Apple bug. (#2445) * Bump to Xcode 9 beta 5. (#2447) * Bump to Xcode 9 beta 5. * [mmp] Disable the partial static registrar, because Apple's macOS SDK is broken. > In file included from Xamarin.Mac.registrar.mobile.i386.m:1: > In file included from ./Xamarin.Mac.registrar.mobile.i386.h:11: > /Applications/Xcode9-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVFoundation.h:88:9: fatal error: 'AVFoundation/AVRouteDetector.h' file not found https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [mmp] Fix partial static registrar removal. * [CallKit] Update to Xcode 9 beta 5. * [ARKit] ARPointCloud doesn't conform to NSCopying anymore in Xcode 9 beta 5. * [ARKit] Update to Xcode 9 beta 5 enough to make tests happy. * [CoreImage] Stub out new filters in Xcode 9 beta 5. * [tests][monotouch] Simplify some MDLMesh asserts since values change a lot between OS versions. * [mmp] Default to the dynamic registrar for release builds again, due to bug #58629. https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [tests][introspection] CXCall started implementing NSCopying without saying so in the headers. * Disable mmp static registrar tests due to 58629 for now * [quicklook] Update to beta 5 (#2450) * [photos] Update for beta 5 (#2452) Also update some existing enum members were added in beta 1 on macOS * [safariservices] Update for beta 5 (#2455) * [mediaplayer] Update to beta 5 (#2456) * [CoreLocation] Update Xcode 9 Beta 5 (#2453) * [CoreML] Update to Xcode 9 Beta 5 (#2454) * [Contacts] Update to Xcode 9 Beta 5 (#2451) * [Vision] Update to Xcode 9 Beta 5 (#2458) * [builds] Tell LLVM to stay away from newer macOS functions. (#2459) Fixes this build problem on Sierra: > ld: weak import of symbol '_futimens' not supported because of option: -no_weak_imports for architecture x86_64 This is a symbol that was (will be?) introduced in High Sierra. Interestingly this only occurs if the Xcode 8.X Command Line Tools haven't been manually installed. Because if the Xcode 8.X Command Line Tools are installed, this happens: 1. llvm's configure script detects that 'futimens' is not usable. 2. llvm's configure script detects that 'futimens' is not usable, because xcrun sets SDKROOT=/ when calling clang. a. When the SDKROOT variable is set, clang passes '-syslibroot /usr/lib' to ld. b. When ld gets '-syslibroot /usr/lib', ld looks in '/usr/lib' for a library that contains 'futimens' in the OS itself, and since we're on Sierra, that fails to link. c. So when llvm's configure script creates a test program that checks if 'futimens' is present, the program fails. This is correct, and makes llvm *not* use futimens. 3. xcrun sets SDKROOT=/ because /usr/share/current-os.sdk/Info.plist exists. If that file does not exist, then xcrun sets SDKROOT to Xcode9's macOS SDK (because that's what xcode-select reports). a. When SDKROOT is set to Xcode9's macOS SDK, the configure check for 'futimens' succeeds, because the macOS 10.13 SDK contains that function. b. llvm happily uses 'futimens', and then the final link fails because we're using a symbol not available on all target platforms. * [arkit] Update for Xcode 9 beta 5 - Part 1 (#2460) * [tests] The container app for watchOS tests should be 64-bit. (#2463) * [xharness] watchOS tests need to run in a clean environment. Works around #58348. (#2462) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [xharness] It watchOS tests don't need to be clean anymore. Fixes #58348. (#2473) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [uikit] UIView/UIScrollView/UIViewController up to Xcode 9 beta 5 (#2431) - Add NSDirectionalEdgeInsets type. - Includes DirectionalEdgeInsetsTest. * [AudioToolbox] Update bindings to Xcode 9 beta3 (not later changes). (#2294) * [xharness] Add a file existence check. (#2478) Fixes this exception: ``` Harness exception for 'introspection': System.IO.FileNotFoundException: Could not find file '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log'. File name: '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log' at System.IO.__Error.WinIOError (System.Int32 errorCode, System.String maybeFullPath) [0x00207] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/__error.cs:188 at System.IO.FileInfo.get_Length () [0x00038] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/fileinfo.cs:171 at xharness.CaptureLog.StopCapture () [0x00021] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Log.cs:252 at (wrapper remoting-invoke-with-check) xharness.CaptureLog:StopCapture () at xharness.AppRunner+<RunAsync>d__68.MoveNext () [0x0127f] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/AppRunner.cs:642 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter`1[TResult].GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:357 at xharness.RunSimulatorTask+<RunTestAsync>d__7.MoveNext () [0x0029d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2894 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.RunTestTask+<ExecuteAsync>d__8.MoveNext () [0x0010b] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2538 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.TestTask+<RunInternalAsync>d__87.MoveNext () [0x0010d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:1870 ``` I'm not sure how this can happen, but it has on the bots [1]. [1] https://jenkins.mono-project.com/job/xamarin-macios-pr-builder/4548/Test_Report/ * Bump versions for preview 5 (#2479) * [passkit] Update to beta 5 (#2481) * [tests] Remove workaround for radar #32688391. (#2486) * [replaykit] Update up to beta 5 (#2484) * Bump maccore to get fix for bug #55064. (#2487) * [apidiff] Update definition to new 10.12 (d15-3) stable release (#2490) * [SceneKit] basic work (#2483) * [coredata] Update to beta 5 (#2488) * [homekit] Update for Xcode 9 beta 5 (#2492) * [Foundation] Update for xcode9 (#2468) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 (#2493) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 * [Intents] Implement feedback * [Intents] Add a generic version for INInteraction.GetParameterValue * [Intents] Missing check * [Contacts] Add missing foundation NSItemProviderWriting protocol to CNContact (#2496) https://bugzilla.xamarin.com/show_bug.cgi?id=58203 This is available on all Contacts supported platforms ``` ./iPhoneOS.platform/Developer/SDKs/iPhoneOS11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchOS.platform/Developer/SDKs/WatchOS4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchSimulator.platform/Developer/SDKs/WatchSimulator4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ``` * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) (#2497) * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) * [IntentsUI] Better use a delegate instead so we have named params * Bump versions before 6th preview (#2514) * [arkit] Add missing MarshalDirective to ARPlaneAnchor (#2517) - Fixes bug #58648: ARPlaneAnchor.Extent property seems incorrect but changes to correct value after Debug access (https://bugzilla.xamarin.com/show_bug.cgi?id=58648) * [xtro-sharpie] Fix a compiler warning. (#2516) Fixes these warnings: Runner.cs(197,5): warning CS0642: Possible mistaken empty statement Runner.cs(199,5): warning CS0642: Possible mistaken empty statement Runner.cs(201,5): warning CS0642: Possible mistaken empty statement Runner.cs(203,5): warning CS0642: Possible mistaken empty statement Runner.cs(205,5): warning CS0642: Possible mistaken empty statement * [uikit] Update for Xcode 9 beta 5 - Part 3 (#2511) - UIKeyCommand - UINavigationBar - UINavigationItem - UIPasteboard - UITableViewHeaderFooterView * [xtro-sharpie] Remove xtro-plugin and misc other fixes. (#2522) * [xtro-sharpie] Build with msbuild and be as quiet as requested when building. * [xtro-sharpie] Must run as a 64-bit process, since the required native libraries are 64-bit. * [xtro-sharpie] Add run configurations to the project file to ease debugging in the IDE. * [xtro-sharpie] Remove xtro-plugin and the related commands. This was needed when there wasn't a 64-bit mono, in order to run xtro-sharpie in a 64-bit process. Now there is a 64-bit mono, so it's not needed anymore. Also improve makefile targets a bit, to auto-build stuff when needed, by setting the right dependencies. * Bump Xcode 9 to beta 6 (#2519) Disable watchOS tests again It seems like the Carousel crash from beta 4 is back to haunt us. This was working fine with beta 5. * Backport d15-3 SR2 fixes (#2515) * [coredata] Update to beta 6 (#2528) This seems to only revert some nullability changes from beta 5. * [coreml] Update to beta 6 (#2531) Fix our rdar 33643011 where additional setters were added in the headers but did not exists. * [videosubscriberaccount] Update to beta 6 (#2533) Only b1 and b2 introduced some additions/changes * [uikit] Update for Xcode 9 beta 6 - Part 4 (#2527) The following headers are now up to date: - UICollectionViewFlowLayout.h - UIDocumentPickerViewController.h - UIFontDescriptor.h - UIImage.h - UIImageView.h - UIImagePickerController.h * [xharness] Re-enable the watchOS tests. (#2534) It works fine for me locally, so let's see what Jenkins says. * [macos] Add new APIs in CoreWlan from Xcode9b3 (#2525) * Update AppKit bindings based on radar 33271241 results (#2518) * Update AppKit bindings based on radar 33271241 results - The header comment was updated to note it was NSSliderTouchBarItem view that has the protocol * Remove NSUserInterfaceCompression where not listed in header * [vision] Update to beta 6 (#2532) Removal of some deprecated (during beta) `init*` selectors. Also sync the versions that were inlined in subclasses - the old ones were not removed and the new ones were not added. * [xtro-sharpie] Many methods don't have selectors in Clang's API, so default to the name if no selector. (#2523) This makes a few more unclassified entries show up (mostly missing designated initializers): https://gist.github.com/rolfbjarne/07aa20f9b50b75bf3e69ac6a825e873a * [macos] Add ExternalAccessory APIs from xcode9 (#2526) * [58851] Disable NSMenuView in AllItemsWithNSMenuShouldAllowNull (#2504) * [arkit] Update for Xcode 9 beta 5 - Part 2 (#2505) - Add last missing selector. - Add tests for manual code. * [monotouch-test] Disable FontDescriptorTest.WithFeature (#2537) Disabled because it looks like the tvOS font we use: "Gujarati Sangam MN" does not have rare ligatures anymore (and the entire test is based on it). Before getting an actual fix for that, let's disable the test so it doesn't break all current builds. See: https://bugzilla.xamarin.com/show_bug.cgi?id=58929 * [xtro-sharpie] Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute. (#2524) Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute to calculate the native name for a TypeDefinition. Unclassified changes: https://gist.github.com/rolfbjarne/828f8ee41eebb0a3b60a38d71822fe59 * [foundation/uikit] Inline NSItemProvider_UIKitAdditions in NSItemProvider (#2538) As suggested here: https://github.com/xamarin/xamarin-macios/pull/2527#discussion_r134670981 * [intents] Fix breaking changes (api-diff) (#2543) Additions of @required members inside `INSpeakable` cannot be `[Abstract]` * [contacts] Fix breaking change (api-diff) (#2542) Type Changed: Contacts.CNPostalAddress Removed method: public static string LocalizeProperty (CNPostalAddressKeyOption option); * [macos] Reenable static registrar since Xcode9b6 un-broke SDK headers (#2544) - Fix a subtle spacing issues in PartialStaticLibrary property * [corebluetooth] Update up to beta 6 and enable it on watchOS (#2540) macOS 10.13 has finally catch up with iOS and this simplifies the bindings a bit. * [foundation] API fixes (apidiff) (#2545) 1. Let's not add new, already [Obsolete] API Type Changed: Foundation.NSDimension Added constructors: [Obsolete ("Not intended to be directly instantiated, this is an abstract class.")] public NSDimension (); 2. Fix inconsistently named API, e.g. Type Changed: Foundation.NSAttributedString Added properties: public static string[] ReadableTypeIdentifiersForItemProvider { get; } public static string[] WritableTypeIdentifiers { get; } * [pdfkit] Do not add already [Obsolete] API in new profiles (#2547) and ensure using the newer, correct API works cross-platforms iOS (before) [Obsolete ("Use 'Find (string, NSStringCompareOptions)' instead.")] public virtual PdfSelection[] Find (string text, nint options); public PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'Find (string, PdfSelection, NSStringCompareOptions)' instead.")] public virtual PdfSelection Find (string text, PdfSelection selection, nint options); public void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string, NSStringCompareOptions)' instead.")] public virtual void FindAsync (string text, nint options); public void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string [], NSStringCompareOptions)' instead.")] public virtual void FindAsync (string[] text, nint options); iOS (after) public virtual PdfSelection[] Find (string text, Foundation.NSStringCompareOptions compareOptions); public virtual PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); * Bump versions for the 7th preview (#2541) * Remove additions of AVKit removed in beta5 (#2536) * NSUrlSessionTask should implement NSProgressReporting for iOS (#2548) NSUrlSessionTask implements NSProgressReporting on iOS as well as Mac, so the #if MONOMAC isn't needed. * Add missing availability attributes causing failures on older iOS versions (#2550) * [vision] Minor fix wrt xtro (#2551) including some things we need to ignore manually !missing-field! VNVisionVersionNumber not bound !missing-pinvoke! VNImagePointForFaceLandmarkPoint is not bound !missing-pinvoke! VNNormalizedFaceBoundingBoxPointForLandmarkPoint is not bound * [uikit] NSFileProviderMessaging was removed in beta 2. Fixes #58222 (#2552) reference: https://bugzilla.xamarin.com/show_bug.cgi?id=58222 * [uikit] Update for Xcode 9 - Part 5 (#2546) Bindings for the following headers: - UIActivity.h - UIActivityItemProvider.h - UIAlertController.h - UIApplication.h - UIBarButtonItem.h - UIButton.h - UICollectionViewLayout.h - UIColor.h - UIControl.h - UIDocumentMenuViewController.h - UIFontMetrics.h - UIGestureRecognizer.h - UIGraphicsImageRenderer.h - UIInputViewController.h * [CoreText] Fix an extraneous free in CTFont.GetDefaultCascadeList. (#2555) We do not own the return value from CFArrayGetValueAtIndex, so don't say we do when creating CTFontDescriptor instances, since that leads to angry dragons: 2017-08-28 20:15:20.293 monotouchtest[33186:2311738] A_FontTest 2017-08-28 20:15:20.294 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithFontDescriptorAndOptions 2017-08-28 20:15:20.295 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithNameAndOptions 2017-08-28 20:15:20.296 monotouchtest[33186:2311738] critical: Stacktrace: at <unknown> <0xffffffff> at (wrapper managed-to-native) CoreText.CTFont.CTFontCopyDefaultCascadeListForLanguages (intptr,intptr) [0x0000a] in <ae65a2b1eea242d2b68fe784749543bf>:0 at CoreText.CTFont.GetDefaultCascadeList (string[]) [0x00013] in /work/maccore/xcode9/xamarin-macios/src/CoreText/CTFont.cs:2185 at MonoTouchFixtures.CoreText.A_FontTest.GetCascadeList () [0x0001e] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/CoreText/FontTest.cs:78 at (wrapper runtime-invoke) object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) [0x0004f] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) System.Reflection.MonoMethod.InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&) [0x00016] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at System.Reflection.MonoMethod.Invoke (object,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo) [0x00032] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/corlib/System.Reflection/MonoMethod.cs:305 at System.Reflection.MethodBase.Invoke (object,object[]) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/referencesource/mscorlib/system/reflection/methodbase.cs:229 at NUnit.Framework.Internal.Reflect.InvokeMethod (System.Reflection.MethodInfo,object,object[]) [0x00009] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Reflect.cs:215 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunNonAsyncTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x00025] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:116 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x0001a] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:90 at NUnit.Framework.Internal.Commands.TestMethodCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:66 at NUnit.Framework.Internal.Commands.SetUpTearDownCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00007] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/SetUpTearDownCommand.cs:84 at NUnit.Framework.Internal.WorkItems.SimpleWorkItem.PerformWork () [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/SimpleWorkItem.cs:64 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at MonoTouch.NUnit.UI.BaseTouchRunner.Run (NUnit.Framework.Internal.Test) [0x0004d] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:442 at MonoTouch.NUnit.UI.BaseTouchRunner.Run () [0x00030] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:171 at MonoTouch.Dialog.StringElement.Selected (MonoTouch.Dialog.DialogViewController,UIKit.UITableView,Foundation.NSIndexPath) [0x00008] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/Elements.cs:765 at MonoTouch.Dialog.DialogViewController.Selected (Foundation.NSIndexPath) [0x00026] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:577 at MonoTouch.Dialog.DialogViewController/Source.RowSelected (UIKit.UITableView,Foundation.NSIndexPath) [0x00016] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:402 at (wrapper runtime-invoke) <Module>.runtime_invoke_void__this___object_object (object,intptr,intptr,intptr) [0x0005d] in <32f0c196c5bc4aa18daea2ee64a7814e>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) UIKit.UIApplication.UIApplicationMain (int,string[],intptr,intptr) [0x0005c] in <ae65a2b1eea242d2b68fe784749543bf>:0 at UIKit.UIApplication.Main (string[],intptr,intptr) [0x00005] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:79 at UIKit.UIApplication.Main (string[],string,string) [0x00038] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:63 at monotouchtest.Application.Main (string[]) [0x00011] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/Main.cs:27 at (wrapper runtime-invoke) <Module>.runtime_invoke_void_object (object,intptr,intptr,intptr) [0x00051] in <30a7f7e09de9467b8b454221034a0e38>:0 Native stacktrace: 0 monotouchtest 0x000000010fca03c4 mono_handle_native_crash + 244 1 monotouchtest 0x000000010fcadd30 mono_sigsegv_signal_handler + 288 2 libsystem_platform.dylib 0x000000011feb3b3a _sigtramp + 26 3 CoreFoundation 0x000000011de035a2 computeSanitizedString + 146 4 CoreText 0x00000001168df314 _ZN15TPurgeableCache19RetainedValueForKeyEPKv + 54 5 CoreText 0x00000001168def85 _ZNK17TDescriptorSource22CopyDescriptorUncachedEPK7__CFURLbPK10__CFString + 55 6 CoreText 0x00000001168df34f _ZNK17TDescriptorSource14CopyDescriptorEPK7__CFURLbPK10__CFString + 27 7 CoreText 0x00000001168e20ad _ZNK17TDescriptorSource35CopyFontDescriptorPerPostScriptNameEPK10__CFStringmm + 297 8 CoreText 0x00000001168dfd9e _ZNK17TDescriptorSource30CopySystemFontDescriptorByNameEPK10__CFString10UIFontFlag + 54 9 CoreText 0x00000001168e54c4 _ZNK14TFontFallbacks17CopyFontFallbacksEPK10__CFStringS2_PK9__CFArray + 652 10 CoreText 0x00000001168e4a00 _ZNK14TFontFallbacks29CopyFontFallbacksForLanguagesEPK10__CFStringPK9__CFArray + 122 11 CoreText 0x00000001168e4971 _ZN17TDescriptorSource39CopyDefaultSubstitutionListForLanguagesEPK10__CFStringPK9__CFArray + 61 12 CoreText 0x00000001169397a7 _ZNK9TBaseFont28CreateSystemDefaultFallbacksEPK10__CFStringPK9__CFArray + 51 13 CoreText 0x000000011693999c _ZNK9TBaseFont15CreateFallbacksE10UIFontFlagPPK16__CFCharacterSetPK9__CFArray + 346 14 CoreText 0x00000001168c1036 _ZNK5TFont24CreateDefaultCascadeListEPK9__CFArray + 242 15 CoreText 0x00000001168b8ff9 CTFontCopyDefaultCascadeListForLanguages + 97 16 ??? 0x0000000140eaefd3 0x0 + 5384105939 17 ??? 0x0000000140eae761 0x0 + 5384103777 18 ??? 0x000000013c9c8e74 0x0 + 5311860340 19 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 20 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 21 monotouchtest 0x000000010fd71bac mono_runtime_try_invoke_array + 1292 22 monotouchtest 0x000000010fd15587 ves_icall_InternalInvoke + 647 23 ??? 0x000000013e9fcd13 0x0 + 5345627411 24 ??? 0x000000013e9fc738 0x0 + 5345625912 25 ??? 0x000000013e9fded5 0x0 + 5345631957 26 ??? 0x000000013e9fbb76 0x0 + 5345622902 27 ??? 0x000000013e9e237e 0x0 + 5345518462 28 ??? 0x000000013e9e237e 0x0 + 5345518462 29 ??? 0x000000013e9e237e 0x0 + 5345518462 30 ??? 0x000000013e9e237e 0x0 + 5345518462 31 ??? 0x000000013e873006 0x0 + 5344014342 32 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 33 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 34 monotouchtest 0x000000010fd6e320 mono_runtime_invoke + 208 35 monotouchtest 0x000000010fe71af1 xamarin_invoke_trampoline + 5617 36 monotouchtest 0x000000010fe79ddd xamarin_arch_trampoline + 189 37 monotouchtest 0x000000010fe7b1a1 xamarin_x86_64_common_trampoline + 110 38 UIKit 0x0000000111b9876b -[UITableView _selectRowAtIndexPath:animated:scrollPosition:notifyDelegate:] + 1810 39 UIKit 0x0000000111b98986 -[UITableView _userSelectRowAtPendingSelectionIndexPath:] + 344 40 UIKit 0x0000000111a6b5c9 _runAfterCACommitDeferredBlocks + 318 41 UIKit 0x0000000111a59dad _cleanUpAfterCAFlushAndRunDeferredBlocks + 280 42 UIKit 0x0000000111a89f68 _afterCACommitHandler + 137 43 CoreFoundation 0x000000011de3ddb7 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23 44 CoreFoundation 0x000000011de3dd0e __CFRunLoopDoObservers + 430 45 CoreFoundation 0x000000011de22324 __CFRunLoopRun + 1572 46 CoreFoundation 0x000000011de21a89 CFRunLoopRunSpecific + 409 47 GraphicsServices 0x0000000121b7e9c6 GSEventRunModal + 62 48 UIKit 0x0000000111a5f7d0 UIApplicationMain + 159 49 ??? 0x000000013c9c4474 0x0 + 5311841396 50 ??? 0x000000013c9c40ad 0x0 + 5311840429 ================================================================= Got a SIGSEGV while executing native code. This usually indicates a fatal error in the mono runtime or one of the native libraries used by your application. ================================================================= * [monotouch-test] Don't subclass MKMapView. (#2556) MKMapView doesn't like being subclassed (Apple says "you should not subclass the MKMapView class itself"). Bad things like this starts happening: Thread 0 name: tid_303 Dispatch queue: com.apple.main-thread Thread 0 Crashed: 0 libsystem_kernel.dylib 0x0000000186b25348 __pthread_kill + 8 1 libsystem_pthread.dylib 0x0000000186c39354 pthread_kill$VARIANT$mp + 396 2 libsystem_c.dylib 0x0000000186a94fd8 abort + 140 3 monotouchtest 0x0000000101c02c14 mono_handle_native_crash + 22047764 (mini-exceptions.c:2548) 4 monotouchtest 0x0000000101c0d02c mono_sigsegv_signal_handler + 22089772 (mini-runtime.c:2886) 5 libsystem_platform.dylib 0x0000000186c33b60 _sigtramp + 52 6 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 7 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 8 CoreFoundation 0x0000000186eda51c -[__NSArrayM dealloc] + 68 9 CoreFoundation 0x000000018703f5c8 __CFBasicHashDrain + 312 10 CoreFoundation 0x0000000186fb5b44 _CFRelease + 224 11 CoreText 0x000000018a808404 TDescriptorSource::PurgeFontFallbacksCache+ 488452 () + 92 12 CoreText 0x000000018a808374 TDescriptorSource::PurgeFromCaches+ 488308 (__CFURL const*) const + 176 13 CoreText 0x000000018a7eec74 CTFontRemoveFromCaches + 168 14 VectorKit 0x0000000196a539b0 +[VKSharedResourcesManager removeResourceUser:] + 324 15 VectorKit 0x0000000196ca27a4 md::MapEngine::~MapEngine+ 2643876 () + 360 16 VectorKit 0x0000000196ca2634 md::MapEngine::~MapEngine+ 2643508 () + 12 17 libobjc.A.dylib 0x000000018651eef4 object_cxxDestructFromClass+ 28404 (objc_object*, objc_class*) + 148 18 libobjc.A.dylib 0x000000018652c638 objc_destructInstance + 88 19 libobjc.A.dylib 0x000000018652c690 object_dispose + 16 20 QuartzCore 0x000000018afca3ac -[CALayer dealloc] + 116 21 VectorKit 0x0000000196a43294 -[VKMapView dealloc] + 940 22 QuartzCore 0x000000018af6aafc CA::release_objects+ 744188 (X::List<void const*>*) + 32 23 QuartzCore 0x000000018afd97d8 CA::Layer::~Layer+ 1198040 () + 276 24 QuartzCore 0x000000018afca37c -[CALayer dealloc] + 68 25 QuartzCore 0x000000018af6b16c CA::Transaction::commit+ 745836 () + 1052 26 UIKit 0x0000000190393290 _afterCACommitHandler + 256 27 CoreFoundation 0x0000000186fb38b8 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 32 28 CoreFoundation 0x0000000186fb1270 __CFRunLoopDoObservers + 412 29 CoreFoundation 0x0000000186fb182c __CFRunLoopRun + 1292 30 CoreFoundation 0x0000000186ed22d8 CFRunLoopRunSpecific + 436 31 GraphicsServices 0x0000000188d58f84 GSEventRunModal + 100 32 UIKit 0x000000019040427c UIApplicationMain + 208 33 monotouchtest 0x000000010106eb90 wrapper_managed_to_native_UIKit_UIApplication_UIApplicationMain_int_string___intptr_intptr + 9907088 (/<unknown>:1) 34 monotouchtest 0x0000000100f0d6ac UIKit_UIApplication_Main_string___intptr_intptr + 8459948 (UIApplication.cs:79) 35 monotouchtest 0x0000000100f0d66c UIKit_UIApplication_Main_string___string_string + 8459884 (UIApplication.cs:63) 36 monotouchtest 0x0000000100b10450 monotouchtest_Application_Main_string__ + 4277328 (Main.cs:27) 37 monotouchtest 0x0000000100e0c244 wrapper_runtime_invoke_object_runtime_invoke_dynamic_intptr_intptr_intptr_intptr + 244 38 monotouchtest 0x0000000101c10048 mono_jit_runtime_invoke + 22102088 (mini-runtime.c:2526) 39 monotouchtest 0x0000000101c75eec do_runtime_invoke + 22519532 (object.c:2829) 40 monotouchtest 0x0000000101c78a3c do_exec_main_checked + 22530620 (object.c:4623) 41 monotouchtest 0x0000000101bf9a1c mono_jit_exec + 22010396 (driver.g.c:1040) 42 monotouchtest 0x0000000101d13d60 xamarin_main + 23166304 (monotouch-main.m:482) 43 monotouchtest 0x00000001007de710 main + 927504 (main.m:67) 44 libdyld.dylib 0x00000001869f656c start + 4 * [introspection] Let SkipDueToAttributeInProperty skip setters too (#2557) `SkipDueToAttributeInProperty` which is used to check the availability attribute of properties when the Availability info only exist on the property and not on the property Getter or Setter was wrong. This lead to `setSpringLoaded` (which was introduced in iOS 11) to not be ignored by the test (making it fail). - Fix bug #59085: [introspection-ios] selector not found for UIKit.UIBarButtonItem : setSpringLoaded: - Broken test (https://bugzilla.xamarin.com/show_bug.cgi?id=59085) * [corevideo][watchos] Enable CoreVideo on watchOS (#2553) * [storekit] Fix CampaignToken typo (#2559) (#2560) - Fixes bug #59078: StoreProductParameters and invalid property for CampaignToken (https://bugzilla.xamarin.com/show_bug.cgi?id=59078) * [coreml][watchos] Enable API using CoreVideo on watchOS. Fix #58097 (#2561) https://bugzilla.xamarin.com/show_bug.cgi?id=58097 * Add missing [MarshalDirective] attributes. (#2558) * [bindings-generator] Improve build & project file. * Add missing [MarshalDirective] attributes. Add missing [MarshalDirective] attributes, which also requires implementing support for out parameters in the binding generator, since one of the signatures missing the [MarshalDirective] contains such an out parameter. Also add tests for all the API I've added [MarshalDirective] to. * [bindings-generator] Remove redundant if check. * [monotouch-test] Rename file to end with 'Test.cs'. * [tests] Fix a few build errors for Xamarin.Mac. * [uikit] Fix UIColor and UIInputViewController tvOS availability (#2569) - Fixes introspection tests on tvOS 10. * [storekit] Fix SKCloudServiceSetupMessageIdentifier and SKProductStorePromotionController tvOS availability (#2568) - Fixes introspection tests on tvOS 10. * [mapkit] Fix MKMapItemTypeIdentifier tvOS availability (#2566) - Also remove double [Mac] availability attribute. - Fixes introspection tests on tvOS 10. * [ARKit] Fix marshalling for ARPointCloud.RawFeaturePoints. (#2565) ARPointCloud.RawFeaturePoints is an array of Vector3, but each vector is 16-byte aligned (as if it were an array of Vector4). This means we need to account for this when creating a managed array from pointer to the native C-style array. * [ModelIO] Fix MDLVoxelIndexExtent struct. (#2564) The MDLVoxelIndexExtent is a struct containing two 4-dimensional vectors of integers (not floats, as originally and incorrectly implemented). Fix this my creating a new MDLVoxelIndexExtent2 struct with the right fields, re-implement all the API that exposes this struct and obsolete the old API. Also add missing [MarshalDirective] attributes. And write a test to make sure it works fine now and forever. * [coredata] Enable new fields since rdar #33878590 is fixed w/beta 6 (#2570) reference: https://trello.com/c/dlSRYPFx * [xtro-sharpie] Add a Simd check class to verify signatures with Simd types. * [Simd] Add simd matrix types. The OpenTK matrices (Matrix2/3/4) has a different memory layout than Apple's matrix_float2x2/matrix_float3x3/matrix_float4x4 matrices: the OpenTK versions are row-major, while Apple's versions are column-major. This means that when blitting memory from one to the other, the matrix will appear to have been transposed. See bug #[58599][2] for an example. Unfortunately we've already bound several API with Apple's matrix_floatXxX matrices using OpenTK's matrices, and although they're bound wrong, and the matrices appear transposed on input/output, we can't change the behavior because we have to maintain compatibility. This means we have to introduce new API, and then also just define new matrix types with the right memory layout (column-major). Additionally, in the future we might be able to mark these matrices as Simd-matrixes, so that the JIT/AOT compiler can generate the correct alignment for them, avoiding having to define a native conversion method (using the [MarshalDirective] hack). The matrices have been designed to match API-wise the matrices in the System.Numerics.Vectors namespace [1], but for the moment with only a few basic operations implemented (Determinant/Transpose/Multiply) defined (we can always add more later if we want to). In addition explicit conversion operators to and from the corresponding OpenTK.MatrixX are implemented, which means any operation defined in the OpenTK matrices can be used by converting back and forth. [1]: https://msdn.microsoft.com/en-us/library/system.numerics.matrix4x4(v=vs.111).aspx [2]: https://bugzilla.xamarin.com/show_bug.cgi?id=58599 * [ARKit] Use the new Simd matrix types. * [Vision] Use the new Simd matrix types. * [ModelIO] Use the new Simd-compatible matrix types, and deprecate the old API. * [GameplayKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [SpriteKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [xtro] Don't report missing [MarshalDirective] for obsolete methods. * [xtro] Remove unnecessary ignores. The implementation changed, and these stayed accidentally. * [wkwebkit] Fix (native) protocol names (#2572) Also ignore xtro's WKSnapshotConfiguration since it's an Apple bug 34185961 reference (xtro) !missing-protocol! WKURLSchemeHandler not bound !missing-protocol! WKURLSchemeTask not bound !unknown-protocol! WKUrlSchemeHandler bound !unknown-protocol! WKUrlSchemeTask bound !unknown-type! WKSnapshotConfiguration bound * [uikit] Fix enums availability attributes (#2575) - Fixes bug #59132: [uikit] Extra types in watchOS (https://bugzilla.xamarin.com/show_bug.cgi?id=59132) * [watchkit] Add missing designated initializers (#2574) references (xtro) !missing-designated-initializer! WKInterfaceController::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! WKUserNotificationInterfaceController::init is missing an [DesignatedInitializer] attribute * [xtro] Reword some of the Simd diagnostic messages according to review. * [tests] Make sure test symbols don't clash between different test libraries. Fixes this build problem for framework-test: clang: error: linker command failed with exit code 1 (use -v to see invocation) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_get_rotation_matrix'. MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticObjectTest.framework/XStaticObjectTest (Location related to previous error) MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticArTest.framework/XStaticArTest(libtest-ar.x86_64.o) (Location related to previous error) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransformcomponent_get_local_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_create_global_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float4x4'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float3x3'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float2x2'. MTOUCH: error MT5209: Native linking error: 6 duplicate symbols for architecture x86_64 MTOUCH: error MT5202: Native linking failed. Please review the build log. * [tests] Since libtest.a need ModelIO now, the corresponding LinkWith attributes need to state that too. * [introspection] Don't check native signatures on obsolete members, and ignore the right simd matrix types. Fixes this introspection/Mac problem: ***** ApiSignatureTest.NativeSignatures Selector: uniformWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: uniformWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: uniformWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: setMatrixFloat2x2Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: setMatrixFloat3x3Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: setMatrixFloat4x4Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: initWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: initWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: initWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded * [monotouch-tests] Include more custom asserts for watchOS to make the build work. Fixes this: Simd/MatrixFloat4x4Test.cs(28,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(29,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(37,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(48,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' [...] * [monotouch-test] Exclude code that requires the binding project from xammac tests. Exclude code that requires the test binding project from xammac tests because there's currently no XM version of the test binding project. Fixes this: tests/monotouch-test/SpriteKit/UniformTest.cs(20,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLMaterialProperty.cs(37,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLTransform.cs(34,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) * Bump version for preview #8 (#2576) * [spritekit] Audit fixes (xtro) (#2577) 1. SKVideoNode is now, partially, available on watchOS and does not require the extra, manual code to swicth selectors depending on the OS version being run. !missing-type! SKVideoNode not bound !missing-selector! SKVideoNode::anchorPoint not bound !missing-selector! SKVideoNode::initWithCoder: not bound !missing-selector! SKVideoNode::initWithFileNamed: not bound !missing-selector! SKVideoNode::initWithURL: not bound !missing-selector! SKVideoNode::setAnchorPoint: not bound !missing-selector! SKVideoNode::setSize: not bound !missing-selector! SKVideoNode::size not bound !missing-selector! +SKVideoNode::videoNodeWithFileNamed: not bound !missing-selector! +SKVideoNode::videoNodeWithURL: not bound 2. SKNodeFocusBehavior is exposed needlessly on watchOS because SpriteKit/Enums.cs was not processed by the generator, so [NoWatch] did not matter. !unknown-native-enum! SKNodeFocusBehavior bound It's also visible on macOS but nothing uses it (so we do not expose it needlessly) !missing-enum! SKNodeFocusBehavior not bound 3. Add missing designated initializer on default `init` !missing-designated-initializer! SKAttributeValue::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! SKNode::init is missing an [DesignatedInitializer] attribute 4. Remove inconsistency for SKNode subclasses wrt XAMCORE_4_0 The trio attributeValues, setAttributeValues and setValue:forAttributeNamed: that was moved from SKNode (deprecated) into its subclasses. This was done using XAMCORE_4_0 but not on every subclasses. This adds them everywhere to be consistent (only SKNode versions are not defined in XAMCORE_4_0) !missing-selector! SKEffectNode::attributeValues not bound !missing-selector! SKEffectNode::setAttributeValues: not bound !missing-selector! SKEffectNode::setValue:forAttributeNamed: not bound !missing-selector! SKEffectNode::valueForAttributeNamed: not bound !missing-selector! SKEmitterNode::attributeValues not bound !missing-selector! SKEmitterNode::setAttributeValues: not bound !missing-selector! SKEmitterNode::setValue:forAttributeNamed: not bound !missing-selector! SKEmitterNode::valueForAttributeNamed: not bound !missing-selector! SKSpriteNode::attributeValues not bound !missing-selector! SKSpriteNode::setAttributeValues: not bound !missing-selector! SKSpriteNode::setValue:forAttributeNamed: not bound !missing-selector! SKSpriteNode::valueForAttributeNamed: not bound * [introspection] Make sure '[FAIL]' is printed before every failure. (#2578) This makes xharness able to list the failures in the inline summary. * [xtro] Reword some of the Simd diagnostic messages according to review. * [xharness] Add a missing IsServerMode check to generate correct html. (#2581) * [SpriteKit] SKTransformNode is new in Xcode 9 so no need to keep the broken (and obsolete) non-simd version of RotationMatrix. * [intents] Fix some (partial) xtro issues and #59156 (#2585) reference https://bugzilla.xamarin.com/show_bug.cgi?id=59156 Remaining issues are filled in https://bugzilla.xamarin.com/show_bug.cgi?id=59183 !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound * [Intents] Confirm* interface methods should be bound as Confirm, Fixes Bug 59164 (#2591) * [Intents] Confirm* interface methods should probably be bound as Confirm, Fixes Bug 59164 https://bugzilla.xamarin.com/show_bug.cgi?id=59164 All Confirm* methods from *IntentHandling interfaces should be named just `Confirm` to avoid confusion because most of them do not directly confirm as an acion, but instead they **ask** for confirmation also we would follow swift's naming by doing this. * [Intents] XAMCORE_4_0 all Confirm* methods from *IntentHandling Turns any Confirm* into just Confirm inside a XAMCORE_4_0 block, * [Intents] Fix breaking changes in Intents added in Xcode 9 Bindings (#2590) Apple added more protocol conformances to INRidesharingDomainHandling and INPaymentsDomainHandling protocols in Xcode 9, I introduced these breaking changes back when I did intents binding so fixing them :) * [Metal] New bindings from Xcode 9 betas (#2457) * [AVFoundation] Updated bindings for xcode9. (#2272) * [Xcode9] Add IOSurface bindings (#2363) * This framework was a private framework before iOS 11. This framework was a private framework before iOS 11, yet the headers claim many API were introduced in iOS 10. So take account of this difference by using the private framework location in iOS 10.3 or earlier. Testing these API from Xcode works fine when run on an iOS 10.3 device, and I've confirmed the IOSurface framework is loaded from the private frameworks path on older devices (and when built using Xcode 9 and linked with the public framework path). * Disable code to make IOSurface work on iOS 10. Disable the code to make IOSurface work on iOS 10, since it may be rejected by the App Store. This also means adjusting the availability attributes, so that the introspection tests pass (and to document that technically these API won't work when used with Xamarin.iOS in iOS 10). I've filed bug #[59201][1] to keep track of this, maybe we can re-enable this later. [1]: https://bugzilla.xamarin.com/show_bug.cgi?id=59201 * [CoreMedia] Fix leak in CMAttachmentBearer.GetAttachments. (#2593) The caller owns the return value from CMCopyDictionaryOfAttachments, so tell Runtime.GetNSObject that. * [Intents] Adds missing API found by xtro, fixes Bug 59183 (#2596) https://bugzilla.xamarin.com/show_bug.cgi?id=59183 Fixes !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !incorrect-protocol-member! INUIHostedViewControlling::configureWithInteraction:context:completion: is OPTIONAL and should NOT be abstract * [xtro] Fix StartWorkingDirectory to enable debugging (#2598) * [iosurface] Enable for tvOS and XM classic (to avoid multiple defines around consumer API) (#2597) * [xtro] Fix EnumCheck (#2600) * [ARKit] Rename a few method to make them nicer. (#2604) * DisplayTransform -> GetDisplayTransform since methods should have verbs. * SessionWasInterrupted -> WasInterrupted and SessionInterruptionEnded -> InterruptionEnded since these names match better with the other names (CameraDidChangeTrackingState / DidFail / DidOutputAudioSampleBuffer: none are prefixed with 'Session'). Additionally, the type is a Model (for the delegate pattern), which means all methods are more-or-less event-like, and the first argument is always the same (the protocol itself), which is another indicator the methods should be named similarly. * [Foundation] Remove 'Key' suffix from some fields. (#2606) Of the 168 fields in NSMetadataItem, only these 5 hadn't removed the 'Key' suffix. So make them all equivalent by removing the 'Key' suffix from these 5 fields. * [ImageIO] Fix API to not duplicate the instance in instance methods. (#2609) An instance method does not need to take the instance as a parameter, so remove the first (instance) parameter for CGImageDestination.AddAuxiliaryDataInfo and CGImageSource.CopyAuxiliaryDataInfo. An alternative solution would be to make the methods static, but I like the instance API better. * [UIKit] De-model UIDataSourceTranslating. (#2603) It's not clear from neither the documentation nor the headers how this protocol is supposed to be used, and since it doesn't correspond to the delegate pattern, remove the [Model] attribute for now. We can always add it back later. * [CoreML] Improve API. (#2592) * [CoreML] Improve API. * The indices, shape and stride properties for MLMultiArray and MLMultiArrayConstraint can logically only be arrays of integers, so type them as such. This means adding overloads for MLMultiArray's constructors, GetObject and SetObject methods, and the indexers that takes nint[] arrays instead of NSNumber[] arrays. * Change MLFeatureValue's static factory methods to be a method ('Create') instead of a preposition, and call all the different factory methods the same, since they can be overloaded nicely. * [tests][monotouch-test] Add version check to MLMultiArrayTest and make sure the arrays we create are big enough for the data we put in them. * [tests][monotouch-test] MLMultiArray's elements aren't zero-initialized, so don't assume that in the tests. * Support overloading Objective-C methods based on static/instance. (#2607) Two Objective-C methods can be named identically as long as one is static and the other instance. We must support this since Apple did just this (in the NSItemProviderReading / NSItemProviderWriting protocols). We solve it by prepending a '+' or '-' to the selector when hashing it (to determine selector uniqueness, and to look the method up again at runtime). * [uikit] Update for Xcode 9 - Part 6 (#2602) NSAttributedString.h NSFileProviderExtension.h NSLayoutAnchor.h UIAccessibility.h UIAccessibilityAdditions.h UIAccessibilityContainer.h UIAccessibilityContentSizeCategoryImageAdjusting.h UIAccessibilityCustomRotor.h UIAccessibilityLocationDescriptor.h UITabBar.h UINavigationBar.h UIScreen.h * Xcode9 scenekit (#2512) * [SceneKit] basic work * Added key * [xcode9] SCNCameraController * [xcode9] SCNCamera updates * [xcode9] SCNMaterial * [xcode9] SCNGeometryTessellator, SCNCameraControlConfiguration, SCNView, small bits * Add trailing commas to last enum value * Remove whitespace noise * [scenekit] Update deprecated attributes messages * Addresses some of Rolf's feedback * Drop the WeakDelegate in SCNCameraController * Rename method to Render, remove ctor from class that can not be constructed in Palygrounds, add typo exception * [AppKit] Rename NSBezierPath.AppendBezierPathWithCGGlyph to match its sibling methods. (#2605) NSBezierPath contains a lot of 'AppendPathWithXXX' methods, that all map to 'appendBezierPathXXX' selectors. So rename AppendBezierPathWithCGGlyph accordingly, to make it more similar to the other methods in the same type. * [uikit] Add all UISpringLoadedInteractionSupporting (#2616) Types do not conform to the protocol but protocol methods work on those types (see monotouch-test). Fixed introspection tests accordingly and tested the selectors in monotouch-test. * [Intents] Add convenience ctor overload and call correct base ctor in manual ctor. (#2613) Add a convenience constructor overload in INGetUserCurrentRestaurantReservationBookingsIntent that uses nint instead of NSNumber, since logically "number of results" will always be some sort of integer. Also call the correct base constructor in INSpeakableString's custom constructor (same as any other generated constructor). Otherwise we end up doing something like this: [[[INSpeakableString alloc] init] initWith ...], i.e. calling two different init methods. * [coreimage] Add new headers API up to beta 6 (#2601) Filters are not complete (ref: #57350) https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * Some new constants are not yet documented (type is known), so they are commented / ignored https://bugzilla.xamarin.com/show_bug.cgi?id=59296 * Filled bug for [Wrap] inside [Category] so strong dictionary helpers can be re-enabled later https://bugzilla.xamarin.com/show_bug.cgi?id=59294 * [foundation] xtro fixes for watchOS (#2586) !missing-enum! NSProcessInfoThermalState not bound !missing-field! NSProcessInfoThermalStateDidChangeNotification not bound !missing-selector! NSProcessInfo::thermalState not bound Headers are wrong and preferredPresentationStyle is not in tvOS and watchOS !missing-selector! NSItemProvider::preferredPresentationStyle not bound !missing-selector! NSItemProvider::setPreferredPresentationStyle: not bound * [uikit] Also remove UIPreferredPresentationStyle enum from platform where it's not used * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. (#2614) * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. * NSItemProviderWriting: * NSItemProviderReading: Implement correctly and completely by uncommenting commented out code. * NSMutableString: * NSAttributedString: remove inlined members, since these classes don't implement NSItemProviderReading / NSItemProviderWriting (according to the headers at least). * NSUrl: all platforms now seem to implement NSItemProviderReading / NSItemProviderWriting. * NSString: all platforms now seem to implement both NSItemProviderReading and NSItemProviderWriting * UIColor: * UIImage: Update inlined protocol members according to the latest beta. Additionally, due to the following conditions: * The protocols all have the correct members now. * In the API definition we tell the generator to inline members from a protocol by inheriting from the corresponding interface. * The generator doesn't inline static members from protocols. several 'new' keywords had to be added to silence a compiler warning that occurrs when we manually inline a static member, since the member would be included in the type both from the inherited interface and the manual implementation. * [Foundation] Comment out NSItemProviderWriting.GetItemProviderVisibility to avoid inlining/generating unusable methods. NSItemProviderWriting.GetItemProviderVisibility is an optional method, and none of the native classes that implements NSItemProviderWriting actually imlements the method. This means inlining the method in those classes ends up creating unusable API; so just comment out the method to avoid generating the unusable API. The introspection tests found this: [FAIL] Foundation.NSString : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Foundation.NSUrl : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Contacts.CNContact : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] MapKit.MKMapItem : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIColor : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIImage : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] iOSApiSelectorTest.ApiSelectorTest.StaticMethods : 6 errors found in 2348 static selector validated: See also https://bugzilla.xamarin.com/show_bug.cgi?id=59308 * [iosurface] Add missing [TV] attributes (#2619) * [opengles] Enable the new API using IOSurface (#2618) The symbol only exists inside device libraries, not on simulator, and the introspection tests were updated to ignore it. Part of https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [avfoundation][watchos] Enable AudioBufferList (fix #59145) + audit (xtro) (#2617) 1. AudioBufferList is part of CoreAudio (wrong namespace, which needs a few changes in the generator) and now available in watchOS 4 https://bugzilla.xamarin.com/show_bug.cgi?id=59145 2. Also fixes xtro found issues: !missing-type! AVAudioRecorder not bound !missing-selector! AVAudioRecorder::averagePowerForChannel: not bound !missing-selector! AVAudioRecorder::channelAssignments not bound !missing-selector! AVAudioRecorder::currentTime not bound !missing-selector! AVAudioRecorder::delegate not bound !missing-selector! AVAudioRecorder::deviceCurrentTime not bound !missing-selector! AVAudioRecorder::format not bound !missing-selector! AVAudioRecorder::initWithURL:format:error: not bound !missing-selector! AVAudioRecorder::initWithURL:settings:error: not bound !missing-selector! AVAudioRecorder::isMeteringEnabled not bound !missing-selector! AVAudioRecorder::isRecording not bound !missing-selector! AVAudioRecorder::peakPowerForChannel: not bound !missing-selector! AVAudioRecorder::recordAtTime: not bound !missing-selector! AVAudioRecorder::recordAtTime:forDuration: not bound !missing-selector! AVAudioRecorder::recordForDuration: not bound !missing-selector! AVAudioRecorder::setChannelAssignments: not bound !missing-selector! AVAudioRecorder::setDelegate: not bound !missing-selector! AVAudioRecorder::setMeteringEnabled: not bound !missing-selector! AVAudioRecorder::settings not bound !missing-selector! AVAudioRecorder::url not bound !missing-protocol! AVAudioRecorderDelegate not bound !missing-selector! AVAudioEngine::inputNode not bound !missing-selector! AVAudioEngine::manualRenderingBlock not bound !missing-selector! AVAudioInputNode::setManualRenderingInputPCMFormat:inputBlock: not bound !missing-selector! AVAudioPlayer::format not bound !missing-selector! AVAudioSession::requestRecordPermission: not bound !unknown-field! AVFileType3GPP bound !unknown-field! AVFileType3GPP2 bound !unknown-field! AVFileTypeAC3 bound !unknown-field! AVFileTypeAIFC bound !unknown-field! AVFileTypeAIFF bound !unknown-field! AVFileTypeAMR bound !unknown-field! AVFileTypeAVCI bound !unknown-field! AVFileTypeAppleM4A bound !unknown-field! AVFileTypeAppleM4V bound !unknown-field! AVFileTypeCoreAudioFormat bound !unknown-field! AVFileTypeDNG bound !unknown-field! AVFileTypeEnhancedAC3 bound !unknown-field! AVFileTypeHEIC bound !unknown-field! AVFileTypeHEIF bound !unknown-field! AVFileTypeJPEG bound !unknown-field! AVFileTypeMPEG4 bound !unknown-field! AVFileTypeMPEGLayer3 bound !unknown-field! AVFileTypeQuickTimeMovie bound !unknown-field! AVFileTypeSunAU bound !unknown-field! AVFileTypeTIFF bound !unknown-field! AVFileTypeWAVE bound * [Metal] Implement API using IOSurface now that IOSurface is implemented. Partially fixes #58054. (#2621) https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [PdfKit] Improve PdfAnnotation.QuadrilateralPoints binding by making it strongly typed. (#2620) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). (#2622) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). * [ARKit/Vision] Use the new simd vector types instead of the OpenTK versions. * [ModelIO] Use the new simd vectors in new API (MDLVoxelIndexExtent2). This way we won't have to create a MDLVoxelIndexExtent3 in the future. * [SpriteKit] Use the new simd vectors in new API. * [metal] Audit (xtro) based fixes (#2623) !extra-protocol-member! unexpected selector MTLArgumentEncoder::newArgumentEncoderForBufferAtIndex: found !extra-protocol-member! unexpected selector MTLComputeCommandEncoder::dispatchThreads:threadsPerThreadgroup: found macos-only !missing-field! MTLDeviceRemovalRequestedNotification not bound !missing-field! MTLDeviceWasAddedNotification not bound !missing-field! MTLDeviceWasRemovedNotification not bound !missing-pinvoke! MTLCopyAllDevices is not bound * [CloudKit] Update bindings to beta 6. (#2615) * [FileProvider] Turn NSFileProviderItemIdentifier enum into a static class, fixes bug 59329 (#2634) https://bugzilla.xamarin.com/show_bug.cgi?id=59329 At the time of binding NSFileProviderItemIdentifier it wasn't clear how it was supposed to be used, I mean apple provides two keys which I thought were the only possible values hence binding it as an smart enum. Unfortunately this wasn't the case and the user can use those two values provided from the SDK or their own NSString Identifier. Swift provides a wrapper unfortunately we can't do the same due to NSFileProviderItemIdentifier is used in the NSFileProviderItem protocol and we currently do not support changing signatures on them. * [mtouch] Teach mtouch about the 'IOSurface' framework for tvOS. Fixes #59333. (#2630) https://bugzilla.xamarin.com/show_bug.cgi?id=59333 * Bump Touch.Unit to get fix for API breakage. (#2631) spouliot/Touch.Unit@8f1e19d [NUnitOutputTextWriter] Reintroduce previous constructor to make sure we don't break binary ABI. spouliot/Touch.Unit@00b0c0b [NUnitOutputTextWriter] Don't write invalid xml comments. spouliot/Touch.Unit@de9fe20 [TouchRunner] Restore the original code path when not wrapping NUnit xml output. * [IOSurface] Add missing availability attributes for tvOS. (#2629) * Bump versions for preview 9 (#2624) * [AVFoundation] Add missing interface AVRouteDetector. (#2637) * [tests] Update xtro to reduce list sizes (#2636) * Skip OpenTK duplicate declaration (we can't change them); * Fix rule name change for ARKit / simd; * Add missing default initializer on `init` to pending actions; * Add note for AVPersistableContentKeyRequest changes wrt tvOS; * [ReplayKit] Make RPBroadcastActivityViewController.LoadBroadcastActivityViewController async-capable. (#2639) * [xcode9] More SceneKit bindings (#2633) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 (#2644) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 https://bugzilla.xamarin.com/show_bug.cgi?id=59380 vector_float3 is 16 bytes, which means the binding is incorrect, because Vector3 is 12 bytes, and our code does not that difference into account. * Add tests * [DeviceCheck] Disable default ctor for DCDevice. (#2642) It doesn't seem to be useful according to the documentation, since it appears that the only way to get an instance is to use the static CurrentDevice property. * [audiounit] Audit (xtro) fixes for tvOS (#2635) Availability attributes in non-generated files don't hide symbols/code. reference: !unknown-pinvoke! AudioUnitExtensionCopyComponentList bound !unknown-pinvoke! AudioUnitExtensionSetComponentList bound * [tests] Make sure tvOS tests don't use the (unexisting) API * [tests] Add all test project variations to tests-mac.sln (#2579) * [xharness] Make sure generated mac projects have different project guids. * [introspection] Change the project guid so that it doesn't match the dontlink-mac project guid. * [tests] Add all test project variations to tests-mac.sln. * [xharness] Fix else condition. * [FileProvider] Adds missing NSFileProviderPage constants, fixes bug 59297. (#2646) https://bugzilla.xamarin.com/show_bug.cgi?id=59297 Adds NSFileProviderInitialPageSortedByName and NSFileProviderInitialPageSortedByDate NSData constants * [Xcode9] Remove NSFileProviderMessage and NSFileProviderMessageInterface (#2647) APIs were removed in beta 2 * [Foundation/UIKit] Provide LoadObject[s] methods that return the expected type in the callback. Fixes #59049. (#2638) The callback for these LoadObject[s] methods take an INSItemProviderReading parameter. This tells our runtime that we must provide an instance of a managed object that implements this interface (but nothing else), so we create a `NSItemProviderReadingWrapper` instance, which complies with the API (since the wrapper type implements the corresponding interface). Unfortunately these methods are supposed to return an instance of the passed- in type, so in order to comply with this soft (documentation-only) requirement, provide a wrapper method that creates instances of the right types. https://bugzilla.xamarin.com/show_bug.cgi?id=59049 * [arkit] Ignore deprecated selectors (#2645) * [FileProvider] Adds missing protocol and keys from audit (#2652) ``` !missing-protocol! NSFileProviderServiceSource not bound !missing-field! NSFileProviderErrorCollidingItemKey not bound !missing-field! NSFileProviderErrorNonExistentItemIdentifierKey not bound !missing-field! NSFileProviderFavoriteRankUnranked not bound ``` Also adds `NSXpcListenerEndpoint` to foundation, needed by `NSFileProviderServiceSource` protocol. * [tests][xtro] Workaround xtro runner dupe entry exception and update data files (#2654) * [AVFoundation] Rename field to match others. (#2657) * [homekit] Audit (xtro) fixes (#2653) - HMCharacteristicEvent conforms to NSMutableCopying on iOS11 which makes it 64 bits only (so adjust intro tests) - Ignore extra setters on HMMutablePresenceEvent, rdar 33883958 !missing-selector! HMMutablePresenceEvent::setPresenceEventType: not bound !missing-selector! HMMutablePresenceEvent::setPresenceUserType: not bound * [xtro] Add missing pinvoke to pending (#2662) - Bug 59422: [uikit] Missing UIContentSizeCategoryCompareToCategory & UIContentSizeCategoryIsAccessibilityCategory (https://bugzilla.xamarin.com/show_bug.cgi?id=59422) * Merge latest d15-3 fixes into xcode9 (#2660) * [msbuild] Re-added wildcard (*) expandsion for application-identifier in Entitlements.plist (#2186) Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=57119 * Bump mono (#2213) * Framework tests were still binding non-linked Simple class which errors now (#2216) (#2218) - Improve Makefile to rebuild when projects build with errors * Bump mono to get cecil fix for bug #56808. (#2222) https://bugzilla.xamarin.com/show_bug.cgi?id=56808 * [msbuild] Use @(ReferencePath) instead of @(ResolvedFiles) (#2188) (#2214) This allows things to work on both xbuild and msbuild. In xbuild, both lists are exactly the same and on msbuild, only @(ReferencePath) exists. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=55147 * NSActivityOptions.IdleDisplaySleepDisabled had wrong value (#2232) (#2239) This was due to an integer overflow. The original value was based on Int32 1 << 40 == 256 The correct value should be based on a UInt64. 1UL << 40 == 1099511627776 * [tests] Fix bug 57699 - [iOS]InternalsTest failure (Linkall) tests on device (#2243) Strip native debugging symbols should not be checked for debug builds * Bump mono to get fix for bug #57780. https://bugzilla.xamarin.com/show_bug.cgi?id=57780 * Update .gitmodules Change branch to d15-3 branch of mono * Bump maccore to get fix for bug #55064. https://bugzilla.xamarin.com/show_bug.cgi?id=55064 * [mono] Bump mono to get the head of cecil/mono-2017-04 and fix IsComObject #57919 Also fix #58789 [1], the typo in tools/mtouch/Tuning.cs showing in MT0000 errors instead MT2102. That's already in master and d15-4 mono bump includes: [2] commit 2a6502cee0df9de5198eafe7c8b5f6ac25106f34 (HEAD -> d15-3, origin/d15-3) Merge: 02457c20fcf 5e05cafc6f1 Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 10:04:06 2017 -0400 Merge pull request #5401 from marek-safar/com [Marshal.IsComObject] Make this predicate return false instead of thr… [3] commit 02457c20fcf57c0610e844d638eb1da82b5d1eb0 Merge: da80840ea55 73fd9a1b82e Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 09:59:06 2017 -0400 Merge pull request #5400 from spouliot/bump-cecil-58834-d15-3 [cecil] Bump to the head of the mono-2017-04 branch and pick the fix for bug #58834 References [1] https://bugzilla.xamarin.com/show_bug.cgi?id=58789 [2] https://bugzilla.xamarin.com/show_bug.cgi?id=57919 [3] https://bugzilla.xamarin.com/show_bug.cgi?id=58834 * [mtouch] Put 'mono_profiler_startup_log' in the symbol list. Fixes #58778. (#2501) We need the 'mono_profiler_startup_log' symbol when profiling is enabled, so make sure to add the symbol to the correct list of symbols we need. Previously we were passing `-u _mono_profiler_startup_log` to clang directly, which is fine, but not complete, since it does not write the symbol to the symbollist file (--symbollist=file), which means it wouldn't be preserved when the MSBuild tasks strip the executable. https://bugzilla.xamarin.com/show_bug.cgi?id=58778 * Bump versions for SR3 https://trello.com/c/EVze08ei * Bump mono to include HttpClientHandler fix #44027 https://trello.com/c/jYFXadH8/8-systemnethttp-close-request-stream-when-httpclienthandler https://bugzilla.xamarin.com/show_bug.cgi?id=44027 * [FileProvider] Add missing API and turn NSString to string (#2663) Turned NSString to string in order to match exisiting API. * [uikit] Add UIPasteConfigurationSupporting and UITextPasteConfigurationSupporting (#2649) - Fixes bug #59363: Missing UIPasteConfigurationSupporting, UITextPasteConfigurationSupporting, UITextDraggable and UITextDroppable on a couple of types (https://bugzilla.xamarin.com/show_bug.cgi?id=59363) * [uikit] Remove 129 types in UIPasteConfigurationSupporting case * [scenekit] Audit (xtro) fixes (#2648) This looks like an Apple breaking change (since `SCNAnimation` is new) but we now have: > typedef void (^SCNAnimationEventBlock)(id<SCNAnimation> animation, id animatedObject, BOOL playingBackward); bound as > delegate void SCNAnimationEventHandler (CAAnimation animation, NSObject animatedObject, bool playingBackward); and `CAAnimation` conforms to `SCNAnimation` but *only* the later is available on watchOS. The delegate is only updated (since it's new) on our watchOS profile. xtro references: (watchos) !unknown-protocol! SCNCameraControlConfiguration bound (tvos/watchos) !missing-selector! SCNAnimation::animationEvents not bound !missing-selector! SCNAnimation::setAnimationEvents: not bound !missing-selector! SCNConstraint::isEnabled not bound !missing-selector! SCNConstraint::setEnabled: not bound !missing-field! SCNSceneSourceConvertToYUpKey not bound !missing-field! SCNSceneSourceConvertUnitsToMetersKey not bound (ios/tvos) !missing-protocol-conformance! SCNNode should conform to UIFocusItem * Bump maccore post 15.3 merge (#2665) * Bump Xcode 9 to GM (#2667) * Force build (on wrench) * [avfoundation] Fix breaking changes (apidiff) (#2664) * [TVServices] Update to Xcode 9 GM (#2675) * [GameController] Update to Xcode 9 GM (#2673) * [LocalAuthentication] Update to Xcode 9 GM (#2671) * [LocalAuthentication] Update to Xcode 9 GM * Remove availability from BiometryNotAvailable, BiometryNotEnrolled and BiometryLockout * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer (#2659) * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer Some of the new added types were already present BUT under a #if MONOMAC, they had to be moved. * [AVFoundation] Set the wrongly added API to be obsolete and ensure it returns logical values. (#2650) * [xtro] The right platform for macOS is 'macos', not 'osx'. (#2677) The platform name is used to filter availability attributes, and if we use the wrong platform, we'll incorrectly skip all availability attributes. The net result in unclassified entries: https://gist.github.com/rolfbjarne/a4474bc2a40c49a85cad495b51bb514f * Various Xcode 9 API improvements and also fixes bug 59433 (#2676) https://bugzilla.xamarin.com/show_bug.cgi?id=59433 While fixing bug 59433 I noticed some additional issues outlined below: AVDepthData: * Renamed **non** static `Create` methods because `Create` only makes sense with the **Static** method in this context. Also by renaming the methods we are now closer to the names that swift uses. * Kept descriptive method names in favor of self-documenting code. `Convert`, `Apply` and `Replace` do not fully give us the intent of the method. * Added a convenience `Create` static method that takes a `CGImageAuxiliaryDataInfo`. * AvailableDepthDataTypes is now an array of `CVPixelFormatType` instead of a `NSNumber` array (The aactual fix for bug 59433). ImageIO: * Refactored `CGImageAuxiliaryDataInfo` to be a `StrongDictionary` in order to avoid most of the manual code and also to avoid reimplementing the `ToDictionary` method (which contained a subtle bug). * Adjusted code to reflect the above change. * Added missing `.ctor (IntPtr, bool)` to `CGImageMetadata` so the class is able to be created by our `Runtime.Get*`. * Simplified `CopyAuxiliaryDataInfo` method by using `CGImageAuxiliaryDataInfo` as a `DictionaryContainer`. Tests: * Added `xamarinmonkey.heic` which is an image that contains depth data needed to test above changes. * Adds `AVDepthDataTests` that touches most of the changes listed here. * Tweak the Simd-compatible matrices and vectors (#2668) * Rename them to be OpenTK.NMatrix# (instead of Simd.MatrixFloat#x#). * Remove the Vector2 and Vector4 variants, we'll use the OpenTK types instead (but we'll keep the NVector3 variant, since it's not identical to the OpenTK version). * Update the API to match their OpenTK counterparts better: * NMatrix2 and NMatrix3 have a 0-based R#C# scheme for their fields. * NMatrix4 has a 1-based M## scheme for its fields (i.e. no change). * [AVFoundation] Use Simd-matrix for API that needs it. (#2679) This also requires implementing the corresponding matrix (NMatrix4x3). Fixes this xtro issue: > !unknown-simd-type-in-signature! OpenTK.Matrix3 AVFoundation.AVCameraCalibrationData::get_GetIntrinsicMatrix(): the native signature has a simd type (matrix_float3x3), while the corresponding managed method is using an incorrect (non-simd) type. * [xtro] Fix checking availability on categories. (#2682) When checking for category availability, check if both the current declaration is a category, and if the current's declaration container is a category. Otherwise this scenario fails: * Category method is available. * Category does not have availability attributes. * Main class is unavailable. with this typical code sequence: ```csharp // don't process methods (or types) that are unavailable for the current platform if (!decl.IsAvailable () || !(decl.DeclContext as Decl).IsAvailable ()) return; ``` In which case we'd: * First check the method (`decl`): * It's available, so no further checks is done on the method. * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container's container is a category (it isn't, it's the namespace). and as such determine that the method is available. With this change, the second step will become: * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container is a category (it is), and if its main class is available (it isn't). and as such determine that the method is unavailable. * Check for attributes on the method's container (no attributes, so we continue). * Check if the method's Unclassified diff: https://gist.github.com/rolfbjarne/8fa80962596978a426eadf9b7ba39dc1 * [uikit] Update for Xcode 9 GM (#2670) * [AVFoundation] Implement AVCapturePhoto. Partially fixes #59388. (#2678) Fixes: > common.unclassified:!missing-type! AVCapturePhoto not bound https://bugzilla.xamarin.com/show_bug.cgi?id=59388 * Use strong dictionaries for AVCapturePhoto.Metadata and AVCapturePhoto.EmbeddedThumbnailPhotoFormat. * [SIMD] Implement Simd double types (VectorDouble3/MatrixDouble4x4). (#2632) The following types will be used by ModelIO bindings * Fix delta to be double * Rename Simd-compatible matrices and vectors to match our final naming. This also means removing the new Vector2 and Vector4 variants (but not Vector3). * [avfoundation] Remove AVAssetDownloadDelegate.DidLoadTimeRange since it was removed in one of the betas (#2687) * [foundation] Move NSUrlSessionMultipathServiceType to a file processed by the generator (for the availability attributes) (#2688) * [arkit] Update for Xcode 9 GM (#2681) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes (#2690) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes Type Changed: Intents.INCarSeatResolutionResult Removed methods: public static INCarSeatResolutionResult GetConfirmationRequired (INCarSeat valueToConfirm); public static INCarSeatResolutionResult GetSuccess (INCarSeat resolvedValue); * [avfoundation] Add missing protocol members and deprecations (#2691) !missing-protocol-member! AVCapturePhotoCaptureDelegate::captureOutput:didFinishProcessingPhoto:error: not found and the selector removed from PR#2687 was actually replaced with this one !missing-protocol-member! AVAssetDownloadDelegate::URLSession:aggregateAssetDownloadTask:didLoadTimeRange:totalTimeRangesLoaded:timeRangeExpectedToLoad:forMediaSelection: not found * [tests][xtro] Map some enums, more fix with protocols and update entries (#2692) * [Tests] Reenable dns tests on the watch. (#2674) * [arkit] Add ARBlendShapeLocationOptions strong dictionary (#2696) * [coreimage] Skip not yet bound filters added in Xcode9 (#2698) Tracked in https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * [Metal] Renamed MTLArgumentDescriptor.ArgumentDescriptor to Create, fixes bug 59498 (#2702) https://bugzilla.xamarin.com/show_bug.cgi?id=59498 From [argumentDescriptor docs](https://developer.apple.com/documentation/metal/mtlargumentdescriptor/2915746-argumentdescriptor?language=objc) > Creates an empty argument descriptor. * [msbuild] Always codesign app bundles if the codesign key is non-null (#2697) ...even if it is a simulator build. Turns out that starting with Xcode9, sim builds need to be codesigned for App Groups entitlements to work properly. Interestingly, the DetectSigningIdentity logic had a comment about needing to codesign simulator builds for some entitlements to work already starting with Xcode 8 but apparently the iOS targets did not respect this. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=59379 * [Foundation] Add NSProxy stub in order to workaround bug 59247 (#2693) https://bugzilla.xamarin.com/show_bug.cgi?id=59247 We need to have a better solution that removes all what NSProxy does not responds to. Right now this works because NSObject implements NSObject protocol just like NSProxy, but NSProxy responds to far less selectors hence doing it internal so it is not a breaking change when we provide the correct fix. * Keep NSProxy around and avoid XML linker description We need to keep NSProxy (avoid linking it) if WKNavigationDelegate or IWKNavigationDelegate is used. We know WKWebView will be there and can hold a reference to it. * [Xcode 9] Update Metal for GM (#2689) * [iosurface] IOSurface is not usable before iOS/tvOS 11. Fixes #59201 (#2706) Apple rejects apps that links with the previously private IOSurface.framework. We were not sure about this [1] and had it disabled (this is removed). However another bug stopped our adjustment logic [2] from being executed. This is needed since `clang` picks up the private framework if it does not find the public one (even when asking for a weak framework), [1] https://bugzilla.xamarin.com/show_bug.cgi?id=59201 [2] Added a while ago for JavascriptCore * Bump maccore to point to commit with the docs fix. (#2703) * Bump XI to 11.0.x (and XM to 3.99.9.x) (#2684) * fix typo
2017-09-16 00:53:16 +03:00
[Watch (4,0), TV (11,0), Mac (10, 13, onlyOn64: true), iOS (11,0)]
Merge xcode9 into d15-4[-xi] (#2710) * [FileProvider] Add Xcode 9 Beta 1, 2 & 3 Bindings (#2279) * [FileProvider] Add Xcode 9 Beta 1 Bindings * Better naming * Feedback not related to BindAs * [FileProvider] Removes BindAs, add manual code for it and updated to Beta 3 * [FileProvider] Implement feedback * [CoreSpotlight] Updated spotlight bindings for xcode 9 beta 3. (#2193) Updated spotlight bindings for xcode 9 beta 3. * Fix warning caused by duplicate (#2354) * [FileProviderUI] Add Xcode 9 Beta 1 to 3 bindings (#2356) * Bump to Xcode 9 beta 4 * [arkit] ARLightEstimate does not conform to NSCopying anymore (fix unit test) * [uikit] NSFileProviderExtension.ReparentItem got a new parameter in beta4 (fix unit test) * [coreimage] CIImageAccumulator init returns nil in beta 4 There's no header change to mention `init` is not allowed but it's not clear how this default initializer could be used. Also make public some other API to construct this type (outside of XM). It's not clear why there were `internal` as they are (at least now) part of the header files. * [photos] Add helpers when PHLivePhotoEditingOption/NSDictionary is null (to avoid ambiguous API) (#2360) Adding a strongly typed `PHLivePhotoEditingOption` (a strongly typed version of an `NSDictionary`) can cause a `CS0121` (call is ambiguous) since using a `null` argument is common (only one option exist so far). This PR adds overloads that makes the code nicer in such case, e.g. before Xcode9: > // null is used when no options are given > _foo.SaveLivePhoto (output, null, completion); current (Xcode 9) > // casting required to remove ambiguity with PHLivePhotoEditingOption > _foo.SaveLivePhoto (output, (NSDictionary)null, completion); with this PR > // no option, no argument > _foo.SaveLivePhoto (output, completion); The same applies to `PrepareLivePhotoForPlayback`. * [tests] Disable/tweak two tests that breaks on (almost) all Xcode updates Those tests were not added to validate xOS so just keep the parts that helps us (without constantly checking back the new break flavor) * Disable watchOS to check if this hides others issues * [mapkit] Update for beta 4 * [coredata] Update for beta 4 * [wkwebkit] Update for beta 4 Note: WKWindowFeatures.h is not compiled (part of the framework umbrella) and the `@interface WKWindowFeatures (WKPrivate)` sounds like it should not have been exposed (it's all fields starting with `_`) * [corelocation] Update for beta 4 * Revert "Disable watchOS to check if this hides others issues" This reverts commit fed2249fa43290a1956ab2fe0d48f83ab6db9711. * [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]: https://github.com/xamarin/xamarin-macios/blob/f5956d6cc1eb5dfa7bab16628cf282d40237f64e/src/generator.cs#L5985 * [FinderSync] Update to beta 4 (#2377) * [ImageIO] Update to Xcode 9 (#2353) * [PhotosUI] Move macOS photosui bindings out of photos.cs into photosui.cs (#2358) * [quicklook] Update up to beta 4 (#2374) * [uikit] UIDragInteraction & UIDragInteractionDelegate (Xcode 9 b1,2,3) (#2357) * [safariservices] Update up to beta 4 (#2380) * [coreanimation] Update to beta 4 (#2382) Apple removed (mistake?) some API in beta 1. Filed as rdar 33590997 Internal tracking in https://trello.com/c/J8BDDUV9/86-33590997-coreanimation-quartzcore-api-removals * [storekit] Update up to beta 4 (#2379) * [CoreML] Update to Xcode 9 Beta 4 (#2387) * [uikit] UICollectionView/UITableView Drag & Drop (Xcode 9 b1,2,3 & 4) (#2355) * Update code after radar 32929318 and 32897776 are fixed in b4 (#2394) * [xcode9 CoreAudio] New definitions from Beta1 to Beta3 (#2359) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 (#2397) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 https://bugzilla.xamarin.com/show_bug.cgi?id=58512 Created strong API (VNBarcodeSymbology) on the following properties * VNDetectBarcodesRequest.SupportedSymbologies * VNDetectBarcodesRequest.Symbologies * VNBarcodeObservation.Symbology * Remove modern C# because classic can't do it 😡 * [mediaplayer] Update up to beta 4 (#2388) * [watchkit] Update to beta 4 (#2398) * Bump Visual Studio for Mac max version (#2408) * [coreimage] Add CIBarcodeDescriptor and enabled missing API for VNBarcodeObservation. Fix #58197 (#2411) https://bugzilla.xamarin.com/show_bug.cgi?id=58197 * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 (#2407) * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 * [uikit] Fixes based on comments * [coreimage] CIImageAccumulator API fixes. Fix #58349 (#2412) * Obsolete the default `init`; * XM exposed some older APIs using `int` instead of `CIFormat`. This is fixed and old APIs are obsoleted; * Both new & old APIs are now using `CIFormat` for both XI and XM. https://bugzilla.xamarin.com/show_bug.cgi?id=58349 * [uikit] UIText drag & drop - up to Xcode 9 beta 4 (#2410) * [uikit] UISplitView & UIStackView up to Xcode 9 beta 4 (#2425) * Bump XI/XM versions before preview 4 (#2422) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 (#2378) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 * [PDFKit] Implement feedback * [PDFKit] the forgotten enum * [PDFKit] More feedback * [PDFKit] Add Mac changes * Missing change * Fix test RectangleF VS CGRect * Pass -Wunguarded-availability-new to quiet a new clang warning (#2424) - https://bugzilla.xamarin.com/show_bug.cgi?id=58574 * [mtouch/mmp] Ignore warnings about unguarded code section with regards to availability. (#2441) * [monotouch-test] Remove workaround for fixed Apple bug. (#2445) * Bump to Xcode 9 beta 5. (#2447) * Bump to Xcode 9 beta 5. * [mmp] Disable the partial static registrar, because Apple's macOS SDK is broken. > In file included from Xamarin.Mac.registrar.mobile.i386.m:1: > In file included from ./Xamarin.Mac.registrar.mobile.i386.h:11: > /Applications/Xcode9-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVFoundation.h:88:9: fatal error: 'AVFoundation/AVRouteDetector.h' file not found https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [mmp] Fix partial static registrar removal. * [CallKit] Update to Xcode 9 beta 5. * [ARKit] ARPointCloud doesn't conform to NSCopying anymore in Xcode 9 beta 5. * [ARKit] Update to Xcode 9 beta 5 enough to make tests happy. * [CoreImage] Stub out new filters in Xcode 9 beta 5. * [tests][monotouch] Simplify some MDLMesh asserts since values change a lot between OS versions. * [mmp] Default to the dynamic registrar for release builds again, due to bug #58629. https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [tests][introspection] CXCall started implementing NSCopying without saying so in the headers. * Disable mmp static registrar tests due to 58629 for now * [quicklook] Update to beta 5 (#2450) * [photos] Update for beta 5 (#2452) Also update some existing enum members were added in beta 1 on macOS * [safariservices] Update for beta 5 (#2455) * [mediaplayer] Update to beta 5 (#2456) * [CoreLocation] Update Xcode 9 Beta 5 (#2453) * [CoreML] Update to Xcode 9 Beta 5 (#2454) * [Contacts] Update to Xcode 9 Beta 5 (#2451) * [Vision] Update to Xcode 9 Beta 5 (#2458) * [builds] Tell LLVM to stay away from newer macOS functions. (#2459) Fixes this build problem on Sierra: > ld: weak import of symbol '_futimens' not supported because of option: -no_weak_imports for architecture x86_64 This is a symbol that was (will be?) introduced in High Sierra. Interestingly this only occurs if the Xcode 8.X Command Line Tools haven't been manually installed. Because if the Xcode 8.X Command Line Tools are installed, this happens: 1. llvm's configure script detects that 'futimens' is not usable. 2. llvm's configure script detects that 'futimens' is not usable, because xcrun sets SDKROOT=/ when calling clang. a. When the SDKROOT variable is set, clang passes '-syslibroot /usr/lib' to ld. b. When ld gets '-syslibroot /usr/lib', ld looks in '/usr/lib' for a library that contains 'futimens' in the OS itself, and since we're on Sierra, that fails to link. c. So when llvm's configure script creates a test program that checks if 'futimens' is present, the program fails. This is correct, and makes llvm *not* use futimens. 3. xcrun sets SDKROOT=/ because /usr/share/current-os.sdk/Info.plist exists. If that file does not exist, then xcrun sets SDKROOT to Xcode9's macOS SDK (because that's what xcode-select reports). a. When SDKROOT is set to Xcode9's macOS SDK, the configure check for 'futimens' succeeds, because the macOS 10.13 SDK contains that function. b. llvm happily uses 'futimens', and then the final link fails because we're using a symbol not available on all target platforms. * [arkit] Update for Xcode 9 beta 5 - Part 1 (#2460) * [tests] The container app for watchOS tests should be 64-bit. (#2463) * [xharness] watchOS tests need to run in a clean environment. Works around #58348. (#2462) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [xharness] It watchOS tests don't need to be clean anymore. Fixes #58348. (#2473) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [uikit] UIView/UIScrollView/UIViewController up to Xcode 9 beta 5 (#2431) - Add NSDirectionalEdgeInsets type. - Includes DirectionalEdgeInsetsTest. * [AudioToolbox] Update bindings to Xcode 9 beta3 (not later changes). (#2294) * [xharness] Add a file existence check. (#2478) Fixes this exception: ``` Harness exception for 'introspection': System.IO.FileNotFoundException: Could not find file '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log'. File name: '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log' at System.IO.__Error.WinIOError (System.Int32 errorCode, System.String maybeFullPath) [0x00207] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/__error.cs:188 at System.IO.FileInfo.get_Length () [0x00038] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/fileinfo.cs:171 at xharness.CaptureLog.StopCapture () [0x00021] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Log.cs:252 at (wrapper remoting-invoke-with-check) xharness.CaptureLog:StopCapture () at xharness.AppRunner+<RunAsync>d__68.MoveNext () [0x0127f] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/AppRunner.cs:642 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter`1[TResult].GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:357 at xharness.RunSimulatorTask+<RunTestAsync>d__7.MoveNext () [0x0029d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2894 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.RunTestTask+<ExecuteAsync>d__8.MoveNext () [0x0010b] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2538 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.TestTask+<RunInternalAsync>d__87.MoveNext () [0x0010d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:1870 ``` I'm not sure how this can happen, but it has on the bots [1]. [1] https://jenkins.mono-project.com/job/xamarin-macios-pr-builder/4548/Test_Report/ * Bump versions for preview 5 (#2479) * [passkit] Update to beta 5 (#2481) * [tests] Remove workaround for radar #32688391. (#2486) * [replaykit] Update up to beta 5 (#2484) * Bump maccore to get fix for bug #55064. (#2487) * [apidiff] Update definition to new 10.12 (d15-3) stable release (#2490) * [SceneKit] basic work (#2483) * [coredata] Update to beta 5 (#2488) * [homekit] Update for Xcode 9 beta 5 (#2492) * [Foundation] Update for xcode9 (#2468) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 (#2493) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 * [Intents] Implement feedback * [Intents] Add a generic version for INInteraction.GetParameterValue * [Intents] Missing check * [Contacts] Add missing foundation NSItemProviderWriting protocol to CNContact (#2496) https://bugzilla.xamarin.com/show_bug.cgi?id=58203 This is available on all Contacts supported platforms ``` ./iPhoneOS.platform/Developer/SDKs/iPhoneOS11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchOS.platform/Developer/SDKs/WatchOS4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchSimulator.platform/Developer/SDKs/WatchSimulator4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ``` * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) (#2497) * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) * [IntentsUI] Better use a delegate instead so we have named params * Bump versions before 6th preview (#2514) * [arkit] Add missing MarshalDirective to ARPlaneAnchor (#2517) - Fixes bug #58648: ARPlaneAnchor.Extent property seems incorrect but changes to correct value after Debug access (https://bugzilla.xamarin.com/show_bug.cgi?id=58648) * [xtro-sharpie] Fix a compiler warning. (#2516) Fixes these warnings: Runner.cs(197,5): warning CS0642: Possible mistaken empty statement Runner.cs(199,5): warning CS0642: Possible mistaken empty statement Runner.cs(201,5): warning CS0642: Possible mistaken empty statement Runner.cs(203,5): warning CS0642: Possible mistaken empty statement Runner.cs(205,5): warning CS0642: Possible mistaken empty statement * [uikit] Update for Xcode 9 beta 5 - Part 3 (#2511) - UIKeyCommand - UINavigationBar - UINavigationItem - UIPasteboard - UITableViewHeaderFooterView * [xtro-sharpie] Remove xtro-plugin and misc other fixes. (#2522) * [xtro-sharpie] Build with msbuild and be as quiet as requested when building. * [xtro-sharpie] Must run as a 64-bit process, since the required native libraries are 64-bit. * [xtro-sharpie] Add run configurations to the project file to ease debugging in the IDE. * [xtro-sharpie] Remove xtro-plugin and the related commands. This was needed when there wasn't a 64-bit mono, in order to run xtro-sharpie in a 64-bit process. Now there is a 64-bit mono, so it's not needed anymore. Also improve makefile targets a bit, to auto-build stuff when needed, by setting the right dependencies. * Bump Xcode 9 to beta 6 (#2519) Disable watchOS tests again It seems like the Carousel crash from beta 4 is back to haunt us. This was working fine with beta 5. * Backport d15-3 SR2 fixes (#2515) * [coredata] Update to beta 6 (#2528) This seems to only revert some nullability changes from beta 5. * [coreml] Update to beta 6 (#2531) Fix our rdar 33643011 where additional setters were added in the headers but did not exists. * [videosubscriberaccount] Update to beta 6 (#2533) Only b1 and b2 introduced some additions/changes * [uikit] Update for Xcode 9 beta 6 - Part 4 (#2527) The following headers are now up to date: - UICollectionViewFlowLayout.h - UIDocumentPickerViewController.h - UIFontDescriptor.h - UIImage.h - UIImageView.h - UIImagePickerController.h * [xharness] Re-enable the watchOS tests. (#2534) It works fine for me locally, so let's see what Jenkins says. * [macos] Add new APIs in CoreWlan from Xcode9b3 (#2525) * Update AppKit bindings based on radar 33271241 results (#2518) * Update AppKit bindings based on radar 33271241 results - The header comment was updated to note it was NSSliderTouchBarItem view that has the protocol * Remove NSUserInterfaceCompression where not listed in header * [vision] Update to beta 6 (#2532) Removal of some deprecated (during beta) `init*` selectors. Also sync the versions that were inlined in subclasses - the old ones were not removed and the new ones were not added. * [xtro-sharpie] Many methods don't have selectors in Clang's API, so default to the name if no selector. (#2523) This makes a few more unclassified entries show up (mostly missing designated initializers): https://gist.github.com/rolfbjarne/07aa20f9b50b75bf3e69ac6a825e873a * [macos] Add ExternalAccessory APIs from xcode9 (#2526) * [58851] Disable NSMenuView in AllItemsWithNSMenuShouldAllowNull (#2504) * [arkit] Update for Xcode 9 beta 5 - Part 2 (#2505) - Add last missing selector. - Add tests for manual code. * [monotouch-test] Disable FontDescriptorTest.WithFeature (#2537) Disabled because it looks like the tvOS font we use: "Gujarati Sangam MN" does not have rare ligatures anymore (and the entire test is based on it). Before getting an actual fix for that, let's disable the test so it doesn't break all current builds. See: https://bugzilla.xamarin.com/show_bug.cgi?id=58929 * [xtro-sharpie] Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute. (#2524) Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute to calculate the native name for a TypeDefinition. Unclassified changes: https://gist.github.com/rolfbjarne/828f8ee41eebb0a3b60a38d71822fe59 * [foundation/uikit] Inline NSItemProvider_UIKitAdditions in NSItemProvider (#2538) As suggested here: https://github.com/xamarin/xamarin-macios/pull/2527#discussion_r134670981 * [intents] Fix breaking changes (api-diff) (#2543) Additions of @required members inside `INSpeakable` cannot be `[Abstract]` * [contacts] Fix breaking change (api-diff) (#2542) Type Changed: Contacts.CNPostalAddress Removed method: public static string LocalizeProperty (CNPostalAddressKeyOption option); * [macos] Reenable static registrar since Xcode9b6 un-broke SDK headers (#2544) - Fix a subtle spacing issues in PartialStaticLibrary property * [corebluetooth] Update up to beta 6 and enable it on watchOS (#2540) macOS 10.13 has finally catch up with iOS and this simplifies the bindings a bit. * [foundation] API fixes (apidiff) (#2545) 1. Let's not add new, already [Obsolete] API Type Changed: Foundation.NSDimension Added constructors: [Obsolete ("Not intended to be directly instantiated, this is an abstract class.")] public NSDimension (); 2. Fix inconsistently named API, e.g. Type Changed: Foundation.NSAttributedString Added properties: public static string[] ReadableTypeIdentifiersForItemProvider { get; } public static string[] WritableTypeIdentifiers { get; } * [pdfkit] Do not add already [Obsolete] API in new profiles (#2547) and ensure using the newer, correct API works cross-platforms iOS (before) [Obsolete ("Use 'Find (string, NSStringCompareOptions)' instead.")] public virtual PdfSelection[] Find (string text, nint options); public PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'Find (string, PdfSelection, NSStringCompareOptions)' instead.")] public virtual PdfSelection Find (string text, PdfSelection selection, nint options); public void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string, NSStringCompareOptions)' instead.")] public virtual void FindAsync (string text, nint options); public void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string [], NSStringCompareOptions)' instead.")] public virtual void FindAsync (string[] text, nint options); iOS (after) public virtual PdfSelection[] Find (string text, Foundation.NSStringCompareOptions compareOptions); public virtual PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); * Bump versions for the 7th preview (#2541) * Remove additions of AVKit removed in beta5 (#2536) * NSUrlSessionTask should implement NSProgressReporting for iOS (#2548) NSUrlSessionTask implements NSProgressReporting on iOS as well as Mac, so the #if MONOMAC isn't needed. * Add missing availability attributes causing failures on older iOS versions (#2550) * [vision] Minor fix wrt xtro (#2551) including some things we need to ignore manually !missing-field! VNVisionVersionNumber not bound !missing-pinvoke! VNImagePointForFaceLandmarkPoint is not bound !missing-pinvoke! VNNormalizedFaceBoundingBoxPointForLandmarkPoint is not bound * [uikit] NSFileProviderMessaging was removed in beta 2. Fixes #58222 (#2552) reference: https://bugzilla.xamarin.com/show_bug.cgi?id=58222 * [uikit] Update for Xcode 9 - Part 5 (#2546) Bindings for the following headers: - UIActivity.h - UIActivityItemProvider.h - UIAlertController.h - UIApplication.h - UIBarButtonItem.h - UIButton.h - UICollectionViewLayout.h - UIColor.h - UIControl.h - UIDocumentMenuViewController.h - UIFontMetrics.h - UIGestureRecognizer.h - UIGraphicsImageRenderer.h - UIInputViewController.h * [CoreText] Fix an extraneous free in CTFont.GetDefaultCascadeList. (#2555) We do not own the return value from CFArrayGetValueAtIndex, so don't say we do when creating CTFontDescriptor instances, since that leads to angry dragons: 2017-08-28 20:15:20.293 monotouchtest[33186:2311738] A_FontTest 2017-08-28 20:15:20.294 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithFontDescriptorAndOptions 2017-08-28 20:15:20.295 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithNameAndOptions 2017-08-28 20:15:20.296 monotouchtest[33186:2311738] critical: Stacktrace: at <unknown> <0xffffffff> at (wrapper managed-to-native) CoreText.CTFont.CTFontCopyDefaultCascadeListForLanguages (intptr,intptr) [0x0000a] in <ae65a2b1eea242d2b68fe784749543bf>:0 at CoreText.CTFont.GetDefaultCascadeList (string[]) [0x00013] in /work/maccore/xcode9/xamarin-macios/src/CoreText/CTFont.cs:2185 at MonoTouchFixtures.CoreText.A_FontTest.GetCascadeList () [0x0001e] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/CoreText/FontTest.cs:78 at (wrapper runtime-invoke) object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) [0x0004f] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) System.Reflection.MonoMethod.InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&) [0x00016] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at System.Reflection.MonoMethod.Invoke (object,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo) [0x00032] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/corlib/System.Reflection/MonoMethod.cs:305 at System.Reflection.MethodBase.Invoke (object,object[]) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/referencesource/mscorlib/system/reflection/methodbase.cs:229 at NUnit.Framework.Internal.Reflect.InvokeMethod (System.Reflection.MethodInfo,object,object[]) [0x00009] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Reflect.cs:215 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunNonAsyncTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x00025] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:116 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x0001a] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:90 at NUnit.Framework.Internal.Commands.TestMethodCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:66 at NUnit.Framework.Internal.Commands.SetUpTearDownCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00007] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/SetUpTearDownCommand.cs:84 at NUnit.Framework.Internal.WorkItems.SimpleWorkItem.PerformWork () [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/SimpleWorkItem.cs:64 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at MonoTouch.NUnit.UI.BaseTouchRunner.Run (NUnit.Framework.Internal.Test) [0x0004d] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:442 at MonoTouch.NUnit.UI.BaseTouchRunner.Run () [0x00030] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:171 at MonoTouch.Dialog.StringElement.Selected (MonoTouch.Dialog.DialogViewController,UIKit.UITableView,Foundation.NSIndexPath) [0x00008] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/Elements.cs:765 at MonoTouch.Dialog.DialogViewController.Selected (Foundation.NSIndexPath) [0x00026] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:577 at MonoTouch.Dialog.DialogViewController/Source.RowSelected (UIKit.UITableView,Foundation.NSIndexPath) [0x00016] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:402 at (wrapper runtime-invoke) <Module>.runtime_invoke_void__this___object_object (object,intptr,intptr,intptr) [0x0005d] in <32f0c196c5bc4aa18daea2ee64a7814e>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) UIKit.UIApplication.UIApplicationMain (int,string[],intptr,intptr) [0x0005c] in <ae65a2b1eea242d2b68fe784749543bf>:0 at UIKit.UIApplication.Main (string[],intptr,intptr) [0x00005] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:79 at UIKit.UIApplication.Main (string[],string,string) [0x00038] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:63 at monotouchtest.Application.Main (string[]) [0x00011] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/Main.cs:27 at (wrapper runtime-invoke) <Module>.runtime_invoke_void_object (object,intptr,intptr,intptr) [0x00051] in <30a7f7e09de9467b8b454221034a0e38>:0 Native stacktrace: 0 monotouchtest 0x000000010fca03c4 mono_handle_native_crash + 244 1 monotouchtest 0x000000010fcadd30 mono_sigsegv_signal_handler + 288 2 libsystem_platform.dylib 0x000000011feb3b3a _sigtramp + 26 3 CoreFoundation 0x000000011de035a2 computeSanitizedString + 146 4 CoreText 0x00000001168df314 _ZN15TPurgeableCache19RetainedValueForKeyEPKv + 54 5 CoreText 0x00000001168def85 _ZNK17TDescriptorSource22CopyDescriptorUncachedEPK7__CFURLbPK10__CFString + 55 6 CoreText 0x00000001168df34f _ZNK17TDescriptorSource14CopyDescriptorEPK7__CFURLbPK10__CFString + 27 7 CoreText 0x00000001168e20ad _ZNK17TDescriptorSource35CopyFontDescriptorPerPostScriptNameEPK10__CFStringmm + 297 8 CoreText 0x00000001168dfd9e _ZNK17TDescriptorSource30CopySystemFontDescriptorByNameEPK10__CFString10UIFontFlag + 54 9 CoreText 0x00000001168e54c4 _ZNK14TFontFallbacks17CopyFontFallbacksEPK10__CFStringS2_PK9__CFArray + 652 10 CoreText 0x00000001168e4a00 _ZNK14TFontFallbacks29CopyFontFallbacksForLanguagesEPK10__CFStringPK9__CFArray + 122 11 CoreText 0x00000001168e4971 _ZN17TDescriptorSource39CopyDefaultSubstitutionListForLanguagesEPK10__CFStringPK9__CFArray + 61 12 CoreText 0x00000001169397a7 _ZNK9TBaseFont28CreateSystemDefaultFallbacksEPK10__CFStringPK9__CFArray + 51 13 CoreText 0x000000011693999c _ZNK9TBaseFont15CreateFallbacksE10UIFontFlagPPK16__CFCharacterSetPK9__CFArray + 346 14 CoreText 0x00000001168c1036 _ZNK5TFont24CreateDefaultCascadeListEPK9__CFArray + 242 15 CoreText 0x00000001168b8ff9 CTFontCopyDefaultCascadeListForLanguages + 97 16 ??? 0x0000000140eaefd3 0x0 + 5384105939 17 ??? 0x0000000140eae761 0x0 + 5384103777 18 ??? 0x000000013c9c8e74 0x0 + 5311860340 19 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 20 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 21 monotouchtest 0x000000010fd71bac mono_runtime_try_invoke_array + 1292 22 monotouchtest 0x000000010fd15587 ves_icall_InternalInvoke + 647 23 ??? 0x000000013e9fcd13 0x0 + 5345627411 24 ??? 0x000000013e9fc738 0x0 + 5345625912 25 ??? 0x000000013e9fded5 0x0 + 5345631957 26 ??? 0x000000013e9fbb76 0x0 + 5345622902 27 ??? 0x000000013e9e237e 0x0 + 5345518462 28 ??? 0x000000013e9e237e 0x0 + 5345518462 29 ??? 0x000000013e9e237e 0x0 + 5345518462 30 ??? 0x000000013e9e237e 0x0 + 5345518462 31 ??? 0x000000013e873006 0x0 + 5344014342 32 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 33 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 34 monotouchtest 0x000000010fd6e320 mono_runtime_invoke + 208 35 monotouchtest 0x000000010fe71af1 xamarin_invoke_trampoline + 5617 36 monotouchtest 0x000000010fe79ddd xamarin_arch_trampoline + 189 37 monotouchtest 0x000000010fe7b1a1 xamarin_x86_64_common_trampoline + 110 38 UIKit 0x0000000111b9876b -[UITableView _selectRowAtIndexPath:animated:scrollPosition:notifyDelegate:] + 1810 39 UIKit 0x0000000111b98986 -[UITableView _userSelectRowAtPendingSelectionIndexPath:] + 344 40 UIKit 0x0000000111a6b5c9 _runAfterCACommitDeferredBlocks + 318 41 UIKit 0x0000000111a59dad _cleanUpAfterCAFlushAndRunDeferredBlocks + 280 42 UIKit 0x0000000111a89f68 _afterCACommitHandler + 137 43 CoreFoundation 0x000000011de3ddb7 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23 44 CoreFoundation 0x000000011de3dd0e __CFRunLoopDoObservers + 430 45 CoreFoundation 0x000000011de22324 __CFRunLoopRun + 1572 46 CoreFoundation 0x000000011de21a89 CFRunLoopRunSpecific + 409 47 GraphicsServices 0x0000000121b7e9c6 GSEventRunModal + 62 48 UIKit 0x0000000111a5f7d0 UIApplicationMain + 159 49 ??? 0x000000013c9c4474 0x0 + 5311841396 50 ??? 0x000000013c9c40ad 0x0 + 5311840429 ================================================================= Got a SIGSEGV while executing native code. This usually indicates a fatal error in the mono runtime or one of the native libraries used by your application. ================================================================= * [monotouch-test] Don't subclass MKMapView. (#2556) MKMapView doesn't like being subclassed (Apple says "you should not subclass the MKMapView class itself"). Bad things like this starts happening: Thread 0 name: tid_303 Dispatch queue: com.apple.main-thread Thread 0 Crashed: 0 libsystem_kernel.dylib 0x0000000186b25348 __pthread_kill + 8 1 libsystem_pthread.dylib 0x0000000186c39354 pthread_kill$VARIANT$mp + 396 2 libsystem_c.dylib 0x0000000186a94fd8 abort + 140 3 monotouchtest 0x0000000101c02c14 mono_handle_native_crash + 22047764 (mini-exceptions.c:2548) 4 monotouchtest 0x0000000101c0d02c mono_sigsegv_signal_handler + 22089772 (mini-runtime.c:2886) 5 libsystem_platform.dylib 0x0000000186c33b60 _sigtramp + 52 6 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 7 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 8 CoreFoundation 0x0000000186eda51c -[__NSArrayM dealloc] + 68 9 CoreFoundation 0x000000018703f5c8 __CFBasicHashDrain + 312 10 CoreFoundation 0x0000000186fb5b44 _CFRelease + 224 11 CoreText 0x000000018a808404 TDescriptorSource::PurgeFontFallbacksCache+ 488452 () + 92 12 CoreText 0x000000018a808374 TDescriptorSource::PurgeFromCaches+ 488308 (__CFURL const*) const + 176 13 CoreText 0x000000018a7eec74 CTFontRemoveFromCaches + 168 14 VectorKit 0x0000000196a539b0 +[VKSharedResourcesManager removeResourceUser:] + 324 15 VectorKit 0x0000000196ca27a4 md::MapEngine::~MapEngine+ 2643876 () + 360 16 VectorKit 0x0000000196ca2634 md::MapEngine::~MapEngine+ 2643508 () + 12 17 libobjc.A.dylib 0x000000018651eef4 object_cxxDestructFromClass+ 28404 (objc_object*, objc_class*) + 148 18 libobjc.A.dylib 0x000000018652c638 objc_destructInstance + 88 19 libobjc.A.dylib 0x000000018652c690 object_dispose + 16 20 QuartzCore 0x000000018afca3ac -[CALayer dealloc] + 116 21 VectorKit 0x0000000196a43294 -[VKMapView dealloc] + 940 22 QuartzCore 0x000000018af6aafc CA::release_objects+ 744188 (X::List<void const*>*) + 32 23 QuartzCore 0x000000018afd97d8 CA::Layer::~Layer+ 1198040 () + 276 24 QuartzCore 0x000000018afca37c -[CALayer dealloc] + 68 25 QuartzCore 0x000000018af6b16c CA::Transaction::commit+ 745836 () + 1052 26 UIKit 0x0000000190393290 _afterCACommitHandler + 256 27 CoreFoundation 0x0000000186fb38b8 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 32 28 CoreFoundation 0x0000000186fb1270 __CFRunLoopDoObservers + 412 29 CoreFoundation 0x0000000186fb182c __CFRunLoopRun + 1292 30 CoreFoundation 0x0000000186ed22d8 CFRunLoopRunSpecific + 436 31 GraphicsServices 0x0000000188d58f84 GSEventRunModal + 100 32 UIKit 0x000000019040427c UIApplicationMain + 208 33 monotouchtest 0x000000010106eb90 wrapper_managed_to_native_UIKit_UIApplication_UIApplicationMain_int_string___intptr_intptr + 9907088 (/<unknown>:1) 34 monotouchtest 0x0000000100f0d6ac UIKit_UIApplication_Main_string___intptr_intptr + 8459948 (UIApplication.cs:79) 35 monotouchtest 0x0000000100f0d66c UIKit_UIApplication_Main_string___string_string + 8459884 (UIApplication.cs:63) 36 monotouchtest 0x0000000100b10450 monotouchtest_Application_Main_string__ + 4277328 (Main.cs:27) 37 monotouchtest 0x0000000100e0c244 wrapper_runtime_invoke_object_runtime_invoke_dynamic_intptr_intptr_intptr_intptr + 244 38 monotouchtest 0x0000000101c10048 mono_jit_runtime_invoke + 22102088 (mini-runtime.c:2526) 39 monotouchtest 0x0000000101c75eec do_runtime_invoke + 22519532 (object.c:2829) 40 monotouchtest 0x0000000101c78a3c do_exec_main_checked + 22530620 (object.c:4623) 41 monotouchtest 0x0000000101bf9a1c mono_jit_exec + 22010396 (driver.g.c:1040) 42 monotouchtest 0x0000000101d13d60 xamarin_main + 23166304 (monotouch-main.m:482) 43 monotouchtest 0x00000001007de710 main + 927504 (main.m:67) 44 libdyld.dylib 0x00000001869f656c start + 4 * [introspection] Let SkipDueToAttributeInProperty skip setters too (#2557) `SkipDueToAttributeInProperty` which is used to check the availability attribute of properties when the Availability info only exist on the property and not on the property Getter or Setter was wrong. This lead to `setSpringLoaded` (which was introduced in iOS 11) to not be ignored by the test (making it fail). - Fix bug #59085: [introspection-ios] selector not found for UIKit.UIBarButtonItem : setSpringLoaded: - Broken test (https://bugzilla.xamarin.com/show_bug.cgi?id=59085) * [corevideo][watchos] Enable CoreVideo on watchOS (#2553) * [storekit] Fix CampaignToken typo (#2559) (#2560) - Fixes bug #59078: StoreProductParameters and invalid property for CampaignToken (https://bugzilla.xamarin.com/show_bug.cgi?id=59078) * [coreml][watchos] Enable API using CoreVideo on watchOS. Fix #58097 (#2561) https://bugzilla.xamarin.com/show_bug.cgi?id=58097 * Add missing [MarshalDirective] attributes. (#2558) * [bindings-generator] Improve build & project file. * Add missing [MarshalDirective] attributes. Add missing [MarshalDirective] attributes, which also requires implementing support for out parameters in the binding generator, since one of the signatures missing the [MarshalDirective] contains such an out parameter. Also add tests for all the API I've added [MarshalDirective] to. * [bindings-generator] Remove redundant if check. * [monotouch-test] Rename file to end with 'Test.cs'. * [tests] Fix a few build errors for Xamarin.Mac. * [uikit] Fix UIColor and UIInputViewController tvOS availability (#2569) - Fixes introspection tests on tvOS 10. * [storekit] Fix SKCloudServiceSetupMessageIdentifier and SKProductStorePromotionController tvOS availability (#2568) - Fixes introspection tests on tvOS 10. * [mapkit] Fix MKMapItemTypeIdentifier tvOS availability (#2566) - Also remove double [Mac] availability attribute. - Fixes introspection tests on tvOS 10. * [ARKit] Fix marshalling for ARPointCloud.RawFeaturePoints. (#2565) ARPointCloud.RawFeaturePoints is an array of Vector3, but each vector is 16-byte aligned (as if it were an array of Vector4). This means we need to account for this when creating a managed array from pointer to the native C-style array. * [ModelIO] Fix MDLVoxelIndexExtent struct. (#2564) The MDLVoxelIndexExtent is a struct containing two 4-dimensional vectors of integers (not floats, as originally and incorrectly implemented). Fix this my creating a new MDLVoxelIndexExtent2 struct with the right fields, re-implement all the API that exposes this struct and obsolete the old API. Also add missing [MarshalDirective] attributes. And write a test to make sure it works fine now and forever. * [coredata] Enable new fields since rdar #33878590 is fixed w/beta 6 (#2570) reference: https://trello.com/c/dlSRYPFx * [xtro-sharpie] Add a Simd check class to verify signatures with Simd types. * [Simd] Add simd matrix types. The OpenTK matrices (Matrix2/3/4) has a different memory layout than Apple's matrix_float2x2/matrix_float3x3/matrix_float4x4 matrices: the OpenTK versions are row-major, while Apple's versions are column-major. This means that when blitting memory from one to the other, the matrix will appear to have been transposed. See bug #[58599][2] for an example. Unfortunately we've already bound several API with Apple's matrix_floatXxX matrices using OpenTK's matrices, and although they're bound wrong, and the matrices appear transposed on input/output, we can't change the behavior because we have to maintain compatibility. This means we have to introduce new API, and then also just define new matrix types with the right memory layout (column-major). Additionally, in the future we might be able to mark these matrices as Simd-matrixes, so that the JIT/AOT compiler can generate the correct alignment for them, avoiding having to define a native conversion method (using the [MarshalDirective] hack). The matrices have been designed to match API-wise the matrices in the System.Numerics.Vectors namespace [1], but for the moment with only a few basic operations implemented (Determinant/Transpose/Multiply) defined (we can always add more later if we want to). In addition explicit conversion operators to and from the corresponding OpenTK.MatrixX are implemented, which means any operation defined in the OpenTK matrices can be used by converting back and forth. [1]: https://msdn.microsoft.com/en-us/library/system.numerics.matrix4x4(v=vs.111).aspx [2]: https://bugzilla.xamarin.com/show_bug.cgi?id=58599 * [ARKit] Use the new Simd matrix types. * [Vision] Use the new Simd matrix types. * [ModelIO] Use the new Simd-compatible matrix types, and deprecate the old API. * [GameplayKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [SpriteKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [xtro] Don't report missing [MarshalDirective] for obsolete methods. * [xtro] Remove unnecessary ignores. The implementation changed, and these stayed accidentally. * [wkwebkit] Fix (native) protocol names (#2572) Also ignore xtro's WKSnapshotConfiguration since it's an Apple bug 34185961 reference (xtro) !missing-protocol! WKURLSchemeHandler not bound !missing-protocol! WKURLSchemeTask not bound !unknown-protocol! WKUrlSchemeHandler bound !unknown-protocol! WKUrlSchemeTask bound !unknown-type! WKSnapshotConfiguration bound * [uikit] Fix enums availability attributes (#2575) - Fixes bug #59132: [uikit] Extra types in watchOS (https://bugzilla.xamarin.com/show_bug.cgi?id=59132) * [watchkit] Add missing designated initializers (#2574) references (xtro) !missing-designated-initializer! WKInterfaceController::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! WKUserNotificationInterfaceController::init is missing an [DesignatedInitializer] attribute * [xtro] Reword some of the Simd diagnostic messages according to review. * [tests] Make sure test symbols don't clash between different test libraries. Fixes this build problem for framework-test: clang: error: linker command failed with exit code 1 (use -v to see invocation) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_get_rotation_matrix'. MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticObjectTest.framework/XStaticObjectTest (Location related to previous error) MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticArTest.framework/XStaticArTest(libtest-ar.x86_64.o) (Location related to previous error) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransformcomponent_get_local_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_create_global_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float4x4'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float3x3'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float2x2'. MTOUCH: error MT5209: Native linking error: 6 duplicate symbols for architecture x86_64 MTOUCH: error MT5202: Native linking failed. Please review the build log. * [tests] Since libtest.a need ModelIO now, the corresponding LinkWith attributes need to state that too. * [introspection] Don't check native signatures on obsolete members, and ignore the right simd matrix types. Fixes this introspection/Mac problem: ***** ApiSignatureTest.NativeSignatures Selector: uniformWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: uniformWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: uniformWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: setMatrixFloat2x2Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: setMatrixFloat3x3Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: setMatrixFloat4x4Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: initWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: initWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: initWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded * [monotouch-tests] Include more custom asserts for watchOS to make the build work. Fixes this: Simd/MatrixFloat4x4Test.cs(28,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(29,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(37,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(48,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' [...] * [monotouch-test] Exclude code that requires the binding project from xammac tests. Exclude code that requires the test binding project from xammac tests because there's currently no XM version of the test binding project. Fixes this: tests/monotouch-test/SpriteKit/UniformTest.cs(20,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLMaterialProperty.cs(37,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLTransform.cs(34,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) * Bump version for preview #8 (#2576) * [spritekit] Audit fixes (xtro) (#2577) 1. SKVideoNode is now, partially, available on watchOS and does not require the extra, manual code to swicth selectors depending on the OS version being run. !missing-type! SKVideoNode not bound !missing-selector! SKVideoNode::anchorPoint not bound !missing-selector! SKVideoNode::initWithCoder: not bound !missing-selector! SKVideoNode::initWithFileNamed: not bound !missing-selector! SKVideoNode::initWithURL: not bound !missing-selector! SKVideoNode::setAnchorPoint: not bound !missing-selector! SKVideoNode::setSize: not bound !missing-selector! SKVideoNode::size not bound !missing-selector! +SKVideoNode::videoNodeWithFileNamed: not bound !missing-selector! +SKVideoNode::videoNodeWithURL: not bound 2. SKNodeFocusBehavior is exposed needlessly on watchOS because SpriteKit/Enums.cs was not processed by the generator, so [NoWatch] did not matter. !unknown-native-enum! SKNodeFocusBehavior bound It's also visible on macOS but nothing uses it (so we do not expose it needlessly) !missing-enum! SKNodeFocusBehavior not bound 3. Add missing designated initializer on default `init` !missing-designated-initializer! SKAttributeValue::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! SKNode::init is missing an [DesignatedInitializer] attribute 4. Remove inconsistency for SKNode subclasses wrt XAMCORE_4_0 The trio attributeValues, setAttributeValues and setValue:forAttributeNamed: that was moved from SKNode (deprecated) into its subclasses. This was done using XAMCORE_4_0 but not on every subclasses. This adds them everywhere to be consistent (only SKNode versions are not defined in XAMCORE_4_0) !missing-selector! SKEffectNode::attributeValues not bound !missing-selector! SKEffectNode::setAttributeValues: not bound !missing-selector! SKEffectNode::setValue:forAttributeNamed: not bound !missing-selector! SKEffectNode::valueForAttributeNamed: not bound !missing-selector! SKEmitterNode::attributeValues not bound !missing-selector! SKEmitterNode::setAttributeValues: not bound !missing-selector! SKEmitterNode::setValue:forAttributeNamed: not bound !missing-selector! SKEmitterNode::valueForAttributeNamed: not bound !missing-selector! SKSpriteNode::attributeValues not bound !missing-selector! SKSpriteNode::setAttributeValues: not bound !missing-selector! SKSpriteNode::setValue:forAttributeNamed: not bound !missing-selector! SKSpriteNode::valueForAttributeNamed: not bound * [introspection] Make sure '[FAIL]' is printed before every failure. (#2578) This makes xharness able to list the failures in the inline summary. * [xtro] Reword some of the Simd diagnostic messages according to review. * [xharness] Add a missing IsServerMode check to generate correct html. (#2581) * [SpriteKit] SKTransformNode is new in Xcode 9 so no need to keep the broken (and obsolete) non-simd version of RotationMatrix. * [intents] Fix some (partial) xtro issues and #59156 (#2585) reference https://bugzilla.xamarin.com/show_bug.cgi?id=59156 Remaining issues are filled in https://bugzilla.xamarin.com/show_bug.cgi?id=59183 !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound * [Intents] Confirm* interface methods should be bound as Confirm, Fixes Bug 59164 (#2591) * [Intents] Confirm* interface methods should probably be bound as Confirm, Fixes Bug 59164 https://bugzilla.xamarin.com/show_bug.cgi?id=59164 All Confirm* methods from *IntentHandling interfaces should be named just `Confirm` to avoid confusion because most of them do not directly confirm as an acion, but instead they **ask** for confirmation also we would follow swift's naming by doing this. * [Intents] XAMCORE_4_0 all Confirm* methods from *IntentHandling Turns any Confirm* into just Confirm inside a XAMCORE_4_0 block, * [Intents] Fix breaking changes in Intents added in Xcode 9 Bindings (#2590) Apple added more protocol conformances to INRidesharingDomainHandling and INPaymentsDomainHandling protocols in Xcode 9, I introduced these breaking changes back when I did intents binding so fixing them :) * [Metal] New bindings from Xcode 9 betas (#2457) * [AVFoundation] Updated bindings for xcode9. (#2272) * [Xcode9] Add IOSurface bindings (#2363) * This framework was a private framework before iOS 11. This framework was a private framework before iOS 11, yet the headers claim many API were introduced in iOS 10. So take account of this difference by using the private framework location in iOS 10.3 or earlier. Testing these API from Xcode works fine when run on an iOS 10.3 device, and I've confirmed the IOSurface framework is loaded from the private frameworks path on older devices (and when built using Xcode 9 and linked with the public framework path). * Disable code to make IOSurface work on iOS 10. Disable the code to make IOSurface work on iOS 10, since it may be rejected by the App Store. This also means adjusting the availability attributes, so that the introspection tests pass (and to document that technically these API won't work when used with Xamarin.iOS in iOS 10). I've filed bug #[59201][1] to keep track of this, maybe we can re-enable this later. [1]: https://bugzilla.xamarin.com/show_bug.cgi?id=59201 * [CoreMedia] Fix leak in CMAttachmentBearer.GetAttachments. (#2593) The caller owns the return value from CMCopyDictionaryOfAttachments, so tell Runtime.GetNSObject that. * [Intents] Adds missing API found by xtro, fixes Bug 59183 (#2596) https://bugzilla.xamarin.com/show_bug.cgi?id=59183 Fixes !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !incorrect-protocol-member! INUIHostedViewControlling::configureWithInteraction:context:completion: is OPTIONAL and should NOT be abstract * [xtro] Fix StartWorkingDirectory to enable debugging (#2598) * [iosurface] Enable for tvOS and XM classic (to avoid multiple defines around consumer API) (#2597) * [xtro] Fix EnumCheck (#2600) * [ARKit] Rename a few method to make them nicer. (#2604) * DisplayTransform -> GetDisplayTransform since methods should have verbs. * SessionWasInterrupted -> WasInterrupted and SessionInterruptionEnded -> InterruptionEnded since these names match better with the other names (CameraDidChangeTrackingState / DidFail / DidOutputAudioSampleBuffer: none are prefixed with 'Session'). Additionally, the type is a Model (for the delegate pattern), which means all methods are more-or-less event-like, and the first argument is always the same (the protocol itself), which is another indicator the methods should be named similarly. * [Foundation] Remove 'Key' suffix from some fields. (#2606) Of the 168 fields in NSMetadataItem, only these 5 hadn't removed the 'Key' suffix. So make them all equivalent by removing the 'Key' suffix from these 5 fields. * [ImageIO] Fix API to not duplicate the instance in instance methods. (#2609) An instance method does not need to take the instance as a parameter, so remove the first (instance) parameter for CGImageDestination.AddAuxiliaryDataInfo and CGImageSource.CopyAuxiliaryDataInfo. An alternative solution would be to make the methods static, but I like the instance API better. * [UIKit] De-model UIDataSourceTranslating. (#2603) It's not clear from neither the documentation nor the headers how this protocol is supposed to be used, and since it doesn't correspond to the delegate pattern, remove the [Model] attribute for now. We can always add it back later. * [CoreML] Improve API. (#2592) * [CoreML] Improve API. * The indices, shape and stride properties for MLMultiArray and MLMultiArrayConstraint can logically only be arrays of integers, so type them as such. This means adding overloads for MLMultiArray's constructors, GetObject and SetObject methods, and the indexers that takes nint[] arrays instead of NSNumber[] arrays. * Change MLFeatureValue's static factory methods to be a method ('Create') instead of a preposition, and call all the different factory methods the same, since they can be overloaded nicely. * [tests][monotouch-test] Add version check to MLMultiArrayTest and make sure the arrays we create are big enough for the data we put in them. * [tests][monotouch-test] MLMultiArray's elements aren't zero-initialized, so don't assume that in the tests. * Support overloading Objective-C methods based on static/instance. (#2607) Two Objective-C methods can be named identically as long as one is static and the other instance. We must support this since Apple did just this (in the NSItemProviderReading / NSItemProviderWriting protocols). We solve it by prepending a '+' or '-' to the selector when hashing it (to determine selector uniqueness, and to look the method up again at runtime). * [uikit] Update for Xcode 9 - Part 6 (#2602) NSAttributedString.h NSFileProviderExtension.h NSLayoutAnchor.h UIAccessibility.h UIAccessibilityAdditions.h UIAccessibilityContainer.h UIAccessibilityContentSizeCategoryImageAdjusting.h UIAccessibilityCustomRotor.h UIAccessibilityLocationDescriptor.h UITabBar.h UINavigationBar.h UIScreen.h * Xcode9 scenekit (#2512) * [SceneKit] basic work * Added key * [xcode9] SCNCameraController * [xcode9] SCNCamera updates * [xcode9] SCNMaterial * [xcode9] SCNGeometryTessellator, SCNCameraControlConfiguration, SCNView, small bits * Add trailing commas to last enum value * Remove whitespace noise * [scenekit] Update deprecated attributes messages * Addresses some of Rolf's feedback * Drop the WeakDelegate in SCNCameraController * Rename method to Render, remove ctor from class that can not be constructed in Palygrounds, add typo exception * [AppKit] Rename NSBezierPath.AppendBezierPathWithCGGlyph to match its sibling methods. (#2605) NSBezierPath contains a lot of 'AppendPathWithXXX' methods, that all map to 'appendBezierPathXXX' selectors. So rename AppendBezierPathWithCGGlyph accordingly, to make it more similar to the other methods in the same type. * [uikit] Add all UISpringLoadedInteractionSupporting (#2616) Types do not conform to the protocol but protocol methods work on those types (see monotouch-test). Fixed introspection tests accordingly and tested the selectors in monotouch-test. * [Intents] Add convenience ctor overload and call correct base ctor in manual ctor. (#2613) Add a convenience constructor overload in INGetUserCurrentRestaurantReservationBookingsIntent that uses nint instead of NSNumber, since logically "number of results" will always be some sort of integer. Also call the correct base constructor in INSpeakableString's custom constructor (same as any other generated constructor). Otherwise we end up doing something like this: [[[INSpeakableString alloc] init] initWith ...], i.e. calling two different init methods. * [coreimage] Add new headers API up to beta 6 (#2601) Filters are not complete (ref: #57350) https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * Some new constants are not yet documented (type is known), so they are commented / ignored https://bugzilla.xamarin.com/show_bug.cgi?id=59296 * Filled bug for [Wrap] inside [Category] so strong dictionary helpers can be re-enabled later https://bugzilla.xamarin.com/show_bug.cgi?id=59294 * [foundation] xtro fixes for watchOS (#2586) !missing-enum! NSProcessInfoThermalState not bound !missing-field! NSProcessInfoThermalStateDidChangeNotification not bound !missing-selector! NSProcessInfo::thermalState not bound Headers are wrong and preferredPresentationStyle is not in tvOS and watchOS !missing-selector! NSItemProvider::preferredPresentationStyle not bound !missing-selector! NSItemProvider::setPreferredPresentationStyle: not bound * [uikit] Also remove UIPreferredPresentationStyle enum from platform where it's not used * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. (#2614) * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. * NSItemProviderWriting: * NSItemProviderReading: Implement correctly and completely by uncommenting commented out code. * NSMutableString: * NSAttributedString: remove inlined members, since these classes don't implement NSItemProviderReading / NSItemProviderWriting (according to the headers at least). * NSUrl: all platforms now seem to implement NSItemProviderReading / NSItemProviderWriting. * NSString: all platforms now seem to implement both NSItemProviderReading and NSItemProviderWriting * UIColor: * UIImage: Update inlined protocol members according to the latest beta. Additionally, due to the following conditions: * The protocols all have the correct members now. * In the API definition we tell the generator to inline members from a protocol by inheriting from the corresponding interface. * The generator doesn't inline static members from protocols. several 'new' keywords had to be added to silence a compiler warning that occurrs when we manually inline a static member, since the member would be included in the type both from the inherited interface and the manual implementation. * [Foundation] Comment out NSItemProviderWriting.GetItemProviderVisibility to avoid inlining/generating unusable methods. NSItemProviderWriting.GetItemProviderVisibility is an optional method, and none of the native classes that implements NSItemProviderWriting actually imlements the method. This means inlining the method in those classes ends up creating unusable API; so just comment out the method to avoid generating the unusable API. The introspection tests found this: [FAIL] Foundation.NSString : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Foundation.NSUrl : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Contacts.CNContact : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] MapKit.MKMapItem : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIColor : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIImage : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] iOSApiSelectorTest.ApiSelectorTest.StaticMethods : 6 errors found in 2348 static selector validated: See also https://bugzilla.xamarin.com/show_bug.cgi?id=59308 * [iosurface] Add missing [TV] attributes (#2619) * [opengles] Enable the new API using IOSurface (#2618) The symbol only exists inside device libraries, not on simulator, and the introspection tests were updated to ignore it. Part of https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [avfoundation][watchos] Enable AudioBufferList (fix #59145) + audit (xtro) (#2617) 1. AudioBufferList is part of CoreAudio (wrong namespace, which needs a few changes in the generator) and now available in watchOS 4 https://bugzilla.xamarin.com/show_bug.cgi?id=59145 2. Also fixes xtro found issues: !missing-type! AVAudioRecorder not bound !missing-selector! AVAudioRecorder::averagePowerForChannel: not bound !missing-selector! AVAudioRecorder::channelAssignments not bound !missing-selector! AVAudioRecorder::currentTime not bound !missing-selector! AVAudioRecorder::delegate not bound !missing-selector! AVAudioRecorder::deviceCurrentTime not bound !missing-selector! AVAudioRecorder::format not bound !missing-selector! AVAudioRecorder::initWithURL:format:error: not bound !missing-selector! AVAudioRecorder::initWithURL:settings:error: not bound !missing-selector! AVAudioRecorder::isMeteringEnabled not bound !missing-selector! AVAudioRecorder::isRecording not bound !missing-selector! AVAudioRecorder::peakPowerForChannel: not bound !missing-selector! AVAudioRecorder::recordAtTime: not bound !missing-selector! AVAudioRecorder::recordAtTime:forDuration: not bound !missing-selector! AVAudioRecorder::recordForDuration: not bound !missing-selector! AVAudioRecorder::setChannelAssignments: not bound !missing-selector! AVAudioRecorder::setDelegate: not bound !missing-selector! AVAudioRecorder::setMeteringEnabled: not bound !missing-selector! AVAudioRecorder::settings not bound !missing-selector! AVAudioRecorder::url not bound !missing-protocol! AVAudioRecorderDelegate not bound !missing-selector! AVAudioEngine::inputNode not bound !missing-selector! AVAudioEngine::manualRenderingBlock not bound !missing-selector! AVAudioInputNode::setManualRenderingInputPCMFormat:inputBlock: not bound !missing-selector! AVAudioPlayer::format not bound !missing-selector! AVAudioSession::requestRecordPermission: not bound !unknown-field! AVFileType3GPP bound !unknown-field! AVFileType3GPP2 bound !unknown-field! AVFileTypeAC3 bound !unknown-field! AVFileTypeAIFC bound !unknown-field! AVFileTypeAIFF bound !unknown-field! AVFileTypeAMR bound !unknown-field! AVFileTypeAVCI bound !unknown-field! AVFileTypeAppleM4A bound !unknown-field! AVFileTypeAppleM4V bound !unknown-field! AVFileTypeCoreAudioFormat bound !unknown-field! AVFileTypeDNG bound !unknown-field! AVFileTypeEnhancedAC3 bound !unknown-field! AVFileTypeHEIC bound !unknown-field! AVFileTypeHEIF bound !unknown-field! AVFileTypeJPEG bound !unknown-field! AVFileTypeMPEG4 bound !unknown-field! AVFileTypeMPEGLayer3 bound !unknown-field! AVFileTypeQuickTimeMovie bound !unknown-field! AVFileTypeSunAU bound !unknown-field! AVFileTypeTIFF bound !unknown-field! AVFileTypeWAVE bound * [Metal] Implement API using IOSurface now that IOSurface is implemented. Partially fixes #58054. (#2621) https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [PdfKit] Improve PdfAnnotation.QuadrilateralPoints binding by making it strongly typed. (#2620) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). (#2622) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). * [ARKit/Vision] Use the new simd vector types instead of the OpenTK versions. * [ModelIO] Use the new simd vectors in new API (MDLVoxelIndexExtent2). This way we won't have to create a MDLVoxelIndexExtent3 in the future. * [SpriteKit] Use the new simd vectors in new API. * [metal] Audit (xtro) based fixes (#2623) !extra-protocol-member! unexpected selector MTLArgumentEncoder::newArgumentEncoderForBufferAtIndex: found !extra-protocol-member! unexpected selector MTLComputeCommandEncoder::dispatchThreads:threadsPerThreadgroup: found macos-only !missing-field! MTLDeviceRemovalRequestedNotification not bound !missing-field! MTLDeviceWasAddedNotification not bound !missing-field! MTLDeviceWasRemovedNotification not bound !missing-pinvoke! MTLCopyAllDevices is not bound * [CloudKit] Update bindings to beta 6. (#2615) * [FileProvider] Turn NSFileProviderItemIdentifier enum into a static class, fixes bug 59329 (#2634) https://bugzilla.xamarin.com/show_bug.cgi?id=59329 At the time of binding NSFileProviderItemIdentifier it wasn't clear how it was supposed to be used, I mean apple provides two keys which I thought were the only possible values hence binding it as an smart enum. Unfortunately this wasn't the case and the user can use those two values provided from the SDK or their own NSString Identifier. Swift provides a wrapper unfortunately we can't do the same due to NSFileProviderItemIdentifier is used in the NSFileProviderItem protocol and we currently do not support changing signatures on them. * [mtouch] Teach mtouch about the 'IOSurface' framework for tvOS. Fixes #59333. (#2630) https://bugzilla.xamarin.com/show_bug.cgi?id=59333 * Bump Touch.Unit to get fix for API breakage. (#2631) spouliot/Touch.Unit@8f1e19d [NUnitOutputTextWriter] Reintroduce previous constructor to make sure we don't break binary ABI. spouliot/Touch.Unit@00b0c0b [NUnitOutputTextWriter] Don't write invalid xml comments. spouliot/Touch.Unit@de9fe20 [TouchRunner] Restore the original code path when not wrapping NUnit xml output. * [IOSurface] Add missing availability attributes for tvOS. (#2629) * Bump versions for preview 9 (#2624) * [AVFoundation] Add missing interface AVRouteDetector. (#2637) * [tests] Update xtro to reduce list sizes (#2636) * Skip OpenTK duplicate declaration (we can't change them); * Fix rule name change for ARKit / simd; * Add missing default initializer on `init` to pending actions; * Add note for AVPersistableContentKeyRequest changes wrt tvOS; * [ReplayKit] Make RPBroadcastActivityViewController.LoadBroadcastActivityViewController async-capable. (#2639) * [xcode9] More SceneKit bindings (#2633) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 (#2644) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 https://bugzilla.xamarin.com/show_bug.cgi?id=59380 vector_float3 is 16 bytes, which means the binding is incorrect, because Vector3 is 12 bytes, and our code does not that difference into account. * Add tests * [DeviceCheck] Disable default ctor for DCDevice. (#2642) It doesn't seem to be useful according to the documentation, since it appears that the only way to get an instance is to use the static CurrentDevice property. * [audiounit] Audit (xtro) fixes for tvOS (#2635) Availability attributes in non-generated files don't hide symbols/code. reference: !unknown-pinvoke! AudioUnitExtensionCopyComponentList bound !unknown-pinvoke! AudioUnitExtensionSetComponentList bound * [tests] Make sure tvOS tests don't use the (unexisting) API * [tests] Add all test project variations to tests-mac.sln (#2579) * [xharness] Make sure generated mac projects have different project guids. * [introspection] Change the project guid so that it doesn't match the dontlink-mac project guid. * [tests] Add all test project variations to tests-mac.sln. * [xharness] Fix else condition. * [FileProvider] Adds missing NSFileProviderPage constants, fixes bug 59297. (#2646) https://bugzilla.xamarin.com/show_bug.cgi?id=59297 Adds NSFileProviderInitialPageSortedByName and NSFileProviderInitialPageSortedByDate NSData constants * [Xcode9] Remove NSFileProviderMessage and NSFileProviderMessageInterface (#2647) APIs were removed in beta 2 * [Foundation/UIKit] Provide LoadObject[s] methods that return the expected type in the callback. Fixes #59049. (#2638) The callback for these LoadObject[s] methods take an INSItemProviderReading parameter. This tells our runtime that we must provide an instance of a managed object that implements this interface (but nothing else), so we create a `NSItemProviderReadingWrapper` instance, which complies with the API (since the wrapper type implements the corresponding interface). Unfortunately these methods are supposed to return an instance of the passed- in type, so in order to comply with this soft (documentation-only) requirement, provide a wrapper method that creates instances of the right types. https://bugzilla.xamarin.com/show_bug.cgi?id=59049 * [arkit] Ignore deprecated selectors (#2645) * [FileProvider] Adds missing protocol and keys from audit (#2652) ``` !missing-protocol! NSFileProviderServiceSource not bound !missing-field! NSFileProviderErrorCollidingItemKey not bound !missing-field! NSFileProviderErrorNonExistentItemIdentifierKey not bound !missing-field! NSFileProviderFavoriteRankUnranked not bound ``` Also adds `NSXpcListenerEndpoint` to foundation, needed by `NSFileProviderServiceSource` protocol. * [tests][xtro] Workaround xtro runner dupe entry exception and update data files (#2654) * [AVFoundation] Rename field to match others. (#2657) * [homekit] Audit (xtro) fixes (#2653) - HMCharacteristicEvent conforms to NSMutableCopying on iOS11 which makes it 64 bits only (so adjust intro tests) - Ignore extra setters on HMMutablePresenceEvent, rdar 33883958 !missing-selector! HMMutablePresenceEvent::setPresenceEventType: not bound !missing-selector! HMMutablePresenceEvent::setPresenceUserType: not bound * [xtro] Add missing pinvoke to pending (#2662) - Bug 59422: [uikit] Missing UIContentSizeCategoryCompareToCategory & UIContentSizeCategoryIsAccessibilityCategory (https://bugzilla.xamarin.com/show_bug.cgi?id=59422) * Merge latest d15-3 fixes into xcode9 (#2660) * [msbuild] Re-added wildcard (*) expandsion for application-identifier in Entitlements.plist (#2186) Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=57119 * Bump mono (#2213) * Framework tests were still binding non-linked Simple class which errors now (#2216) (#2218) - Improve Makefile to rebuild when projects build with errors * Bump mono to get cecil fix for bug #56808. (#2222) https://bugzilla.xamarin.com/show_bug.cgi?id=56808 * [msbuild] Use @(ReferencePath) instead of @(ResolvedFiles) (#2188) (#2214) This allows things to work on both xbuild and msbuild. In xbuild, both lists are exactly the same and on msbuild, only @(ReferencePath) exists. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=55147 * NSActivityOptions.IdleDisplaySleepDisabled had wrong value (#2232) (#2239) This was due to an integer overflow. The original value was based on Int32 1 << 40 == 256 The correct value should be based on a UInt64. 1UL << 40 == 1099511627776 * [tests] Fix bug 57699 - [iOS]InternalsTest failure (Linkall) tests on device (#2243) Strip native debugging symbols should not be checked for debug builds * Bump mono to get fix for bug #57780. https://bugzilla.xamarin.com/show_bug.cgi?id=57780 * Update .gitmodules Change branch to d15-3 branch of mono * Bump maccore to get fix for bug #55064. https://bugzilla.xamarin.com/show_bug.cgi?id=55064 * [mono] Bump mono to get the head of cecil/mono-2017-04 and fix IsComObject #57919 Also fix #58789 [1], the typo in tools/mtouch/Tuning.cs showing in MT0000 errors instead MT2102. That's already in master and d15-4 mono bump includes: [2] commit 2a6502cee0df9de5198eafe7c8b5f6ac25106f34 (HEAD -> d15-3, origin/d15-3) Merge: 02457c20fcf 5e05cafc6f1 Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 10:04:06 2017 -0400 Merge pull request #5401 from marek-safar/com [Marshal.IsComObject] Make this predicate return false instead of thr… [3] commit 02457c20fcf57c0610e844d638eb1da82b5d1eb0 Merge: da80840ea55 73fd9a1b82e Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 09:59:06 2017 -0400 Merge pull request #5400 from spouliot/bump-cecil-58834-d15-3 [cecil] Bump to the head of the mono-2017-04 branch and pick the fix for bug #58834 References [1] https://bugzilla.xamarin.com/show_bug.cgi?id=58789 [2] https://bugzilla.xamarin.com/show_bug.cgi?id=57919 [3] https://bugzilla.xamarin.com/show_bug.cgi?id=58834 * [mtouch] Put 'mono_profiler_startup_log' in the symbol list. Fixes #58778. (#2501) We need the 'mono_profiler_startup_log' symbol when profiling is enabled, so make sure to add the symbol to the correct list of symbols we need. Previously we were passing `-u _mono_profiler_startup_log` to clang directly, which is fine, but not complete, since it does not write the symbol to the symbollist file (--symbollist=file), which means it wouldn't be preserved when the MSBuild tasks strip the executable. https://bugzilla.xamarin.com/show_bug.cgi?id=58778 * Bump versions for SR3 https://trello.com/c/EVze08ei * Bump mono to include HttpClientHandler fix #44027 https://trello.com/c/jYFXadH8/8-systemnethttp-close-request-stream-when-httpclienthandler https://bugzilla.xamarin.com/show_bug.cgi?id=44027 * [FileProvider] Add missing API and turn NSString to string (#2663) Turned NSString to string in order to match exisiting API. * [uikit] Add UIPasteConfigurationSupporting and UITextPasteConfigurationSupporting (#2649) - Fixes bug #59363: Missing UIPasteConfigurationSupporting, UITextPasteConfigurationSupporting, UITextDraggable and UITextDroppable on a couple of types (https://bugzilla.xamarin.com/show_bug.cgi?id=59363) * [uikit] Remove 129 types in UIPasteConfigurationSupporting case * [scenekit] Audit (xtro) fixes (#2648) This looks like an Apple breaking change (since `SCNAnimation` is new) but we now have: > typedef void (^SCNAnimationEventBlock)(id<SCNAnimation> animation, id animatedObject, BOOL playingBackward); bound as > delegate void SCNAnimationEventHandler (CAAnimation animation, NSObject animatedObject, bool playingBackward); and `CAAnimation` conforms to `SCNAnimation` but *only* the later is available on watchOS. The delegate is only updated (since it's new) on our watchOS profile. xtro references: (watchos) !unknown-protocol! SCNCameraControlConfiguration bound (tvos/watchos) !missing-selector! SCNAnimation::animationEvents not bound !missing-selector! SCNAnimation::setAnimationEvents: not bound !missing-selector! SCNConstraint::isEnabled not bound !missing-selector! SCNConstraint::setEnabled: not bound !missing-field! SCNSceneSourceConvertToYUpKey not bound !missing-field! SCNSceneSourceConvertUnitsToMetersKey not bound (ios/tvos) !missing-protocol-conformance! SCNNode should conform to UIFocusItem * Bump maccore post 15.3 merge (#2665) * Bump Xcode 9 to GM (#2667) * Force build (on wrench) * [avfoundation] Fix breaking changes (apidiff) (#2664) * [TVServices] Update to Xcode 9 GM (#2675) * [GameController] Update to Xcode 9 GM (#2673) * [LocalAuthentication] Update to Xcode 9 GM (#2671) * [LocalAuthentication] Update to Xcode 9 GM * Remove availability from BiometryNotAvailable, BiometryNotEnrolled and BiometryLockout * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer (#2659) * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer Some of the new added types were already present BUT under a #if MONOMAC, they had to be moved. * [AVFoundation] Set the wrongly added API to be obsolete and ensure it returns logical values. (#2650) * [xtro] The right platform for macOS is 'macos', not 'osx'. (#2677) The platform name is used to filter availability attributes, and if we use the wrong platform, we'll incorrectly skip all availability attributes. The net result in unclassified entries: https://gist.github.com/rolfbjarne/a4474bc2a40c49a85cad495b51bb514f * Various Xcode 9 API improvements and also fixes bug 59433 (#2676) https://bugzilla.xamarin.com/show_bug.cgi?id=59433 While fixing bug 59433 I noticed some additional issues outlined below: AVDepthData: * Renamed **non** static `Create` methods because `Create` only makes sense with the **Static** method in this context. Also by renaming the methods we are now closer to the names that swift uses. * Kept descriptive method names in favor of self-documenting code. `Convert`, `Apply` and `Replace` do not fully give us the intent of the method. * Added a convenience `Create` static method that takes a `CGImageAuxiliaryDataInfo`. * AvailableDepthDataTypes is now an array of `CVPixelFormatType` instead of a `NSNumber` array (The aactual fix for bug 59433). ImageIO: * Refactored `CGImageAuxiliaryDataInfo` to be a `StrongDictionary` in order to avoid most of the manual code and also to avoid reimplementing the `ToDictionary` method (which contained a subtle bug). * Adjusted code to reflect the above change. * Added missing `.ctor (IntPtr, bool)` to `CGImageMetadata` so the class is able to be created by our `Runtime.Get*`. * Simplified `CopyAuxiliaryDataInfo` method by using `CGImageAuxiliaryDataInfo` as a `DictionaryContainer`. Tests: * Added `xamarinmonkey.heic` which is an image that contains depth data needed to test above changes. * Adds `AVDepthDataTests` that touches most of the changes listed here. * Tweak the Simd-compatible matrices and vectors (#2668) * Rename them to be OpenTK.NMatrix# (instead of Simd.MatrixFloat#x#). * Remove the Vector2 and Vector4 variants, we'll use the OpenTK types instead (but we'll keep the NVector3 variant, since it's not identical to the OpenTK version). * Update the API to match their OpenTK counterparts better: * NMatrix2 and NMatrix3 have a 0-based R#C# scheme for their fields. * NMatrix4 has a 1-based M## scheme for its fields (i.e. no change). * [AVFoundation] Use Simd-matrix for API that needs it. (#2679) This also requires implementing the corresponding matrix (NMatrix4x3). Fixes this xtro issue: > !unknown-simd-type-in-signature! OpenTK.Matrix3 AVFoundation.AVCameraCalibrationData::get_GetIntrinsicMatrix(): the native signature has a simd type (matrix_float3x3), while the corresponding managed method is using an incorrect (non-simd) type. * [xtro] Fix checking availability on categories. (#2682) When checking for category availability, check if both the current declaration is a category, and if the current's declaration container is a category. Otherwise this scenario fails: * Category method is available. * Category does not have availability attributes. * Main class is unavailable. with this typical code sequence: ```csharp // don't process methods (or types) that are unavailable for the current platform if (!decl.IsAvailable () || !(decl.DeclContext as Decl).IsAvailable ()) return; ``` In which case we'd: * First check the method (`decl`): * It's available, so no further checks is done on the method. * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container's container is a category (it isn't, it's the namespace). and as such determine that the method is available. With this change, the second step will become: * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container is a category (it is), and if its main class is available (it isn't). and as such determine that the method is unavailable. * Check for attributes on the method's container (no attributes, so we continue). * Check if the method's Unclassified diff: https://gist.github.com/rolfbjarne/8fa80962596978a426eadf9b7ba39dc1 * [uikit] Update for Xcode 9 GM (#2670) * [AVFoundation] Implement AVCapturePhoto. Partially fixes #59388. (#2678) Fixes: > common.unclassified:!missing-type! AVCapturePhoto not bound https://bugzilla.xamarin.com/show_bug.cgi?id=59388 * Use strong dictionaries for AVCapturePhoto.Metadata and AVCapturePhoto.EmbeddedThumbnailPhotoFormat. * [SIMD] Implement Simd double types (VectorDouble3/MatrixDouble4x4). (#2632) The following types will be used by ModelIO bindings * Fix delta to be double * Rename Simd-compatible matrices and vectors to match our final naming. This also means removing the new Vector2 and Vector4 variants (but not Vector3). * [avfoundation] Remove AVAssetDownloadDelegate.DidLoadTimeRange since it was removed in one of the betas (#2687) * [foundation] Move NSUrlSessionMultipathServiceType to a file processed by the generator (for the availability attributes) (#2688) * [arkit] Update for Xcode 9 GM (#2681) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes (#2690) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes Type Changed: Intents.INCarSeatResolutionResult Removed methods: public static INCarSeatResolutionResult GetConfirmationRequired (INCarSeat valueToConfirm); public static INCarSeatResolutionResult GetSuccess (INCarSeat resolvedValue); * [avfoundation] Add missing protocol members and deprecations (#2691) !missing-protocol-member! AVCapturePhotoCaptureDelegate::captureOutput:didFinishProcessingPhoto:error: not found and the selector removed from PR#2687 was actually replaced with this one !missing-protocol-member! AVAssetDownloadDelegate::URLSession:aggregateAssetDownloadTask:didLoadTimeRange:totalTimeRangesLoaded:timeRangeExpectedToLoad:forMediaSelection: not found * [tests][xtro] Map some enums, more fix with protocols and update entries (#2692) * [Tests] Reenable dns tests on the watch. (#2674) * [arkit] Add ARBlendShapeLocationOptions strong dictionary (#2696) * [coreimage] Skip not yet bound filters added in Xcode9 (#2698) Tracked in https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * [Metal] Renamed MTLArgumentDescriptor.ArgumentDescriptor to Create, fixes bug 59498 (#2702) https://bugzilla.xamarin.com/show_bug.cgi?id=59498 From [argumentDescriptor docs](https://developer.apple.com/documentation/metal/mtlargumentdescriptor/2915746-argumentdescriptor?language=objc) > Creates an empty argument descriptor. * [msbuild] Always codesign app bundles if the codesign key is non-null (#2697) ...even if it is a simulator build. Turns out that starting with Xcode9, sim builds need to be codesigned for App Groups entitlements to work properly. Interestingly, the DetectSigningIdentity logic had a comment about needing to codesign simulator builds for some entitlements to work already starting with Xcode 8 but apparently the iOS targets did not respect this. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=59379 * [Foundation] Add NSProxy stub in order to workaround bug 59247 (#2693) https://bugzilla.xamarin.com/show_bug.cgi?id=59247 We need to have a better solution that removes all what NSProxy does not responds to. Right now this works because NSObject implements NSObject protocol just like NSProxy, but NSProxy responds to far less selectors hence doing it internal so it is not a breaking change when we provide the correct fix. * Keep NSProxy around and avoid XML linker description We need to keep NSProxy (avoid linking it) if WKNavigationDelegate or IWKNavigationDelegate is used. We know WKWebView will be there and can hold a reference to it. * [Xcode 9] Update Metal for GM (#2689) * [iosurface] IOSurface is not usable before iOS/tvOS 11. Fixes #59201 (#2706) Apple rejects apps that links with the previously private IOSurface.framework. We were not sure about this [1] and had it disabled (this is removed). However another bug stopped our adjustment logic [2] from being executed. This is needed since `clang` picks up the private framework if it does not find the public one (even when asking for a weak framework), [1] https://bugzilla.xamarin.com/show_bug.cgi?id=59201 [2] Added a while ago for JavascriptCore * Bump maccore to point to commit with the docs fix. (#2703) * Bump XI to 11.0.x (and XM to 3.99.9.x) (#2684) * fix typo
2017-09-16 00:53:16 +03:00
[Static]
[Export ("positionConstraintInWorldSpace:withBlock:")]
SCNTransformConstraint CreatePositionConstraint (bool inWorldSpace, Func<SCNNode, SCNVector3, SCNVector3> transformHandler);
[Watch (4,0), TV (11,0), Mac (10, 13, onlyOn64: true), iOS (11,0)]
Merge xcode9 into d15-4[-xi] (#2710) * [FileProvider] Add Xcode 9 Beta 1, 2 & 3 Bindings (#2279) * [FileProvider] Add Xcode 9 Beta 1 Bindings * Better naming * Feedback not related to BindAs * [FileProvider] Removes BindAs, add manual code for it and updated to Beta 3 * [FileProvider] Implement feedback * [CoreSpotlight] Updated spotlight bindings for xcode 9 beta 3. (#2193) Updated spotlight bindings for xcode 9 beta 3. * Fix warning caused by duplicate (#2354) * [FileProviderUI] Add Xcode 9 Beta 1 to 3 bindings (#2356) * Bump to Xcode 9 beta 4 * [arkit] ARLightEstimate does not conform to NSCopying anymore (fix unit test) * [uikit] NSFileProviderExtension.ReparentItem got a new parameter in beta4 (fix unit test) * [coreimage] CIImageAccumulator init returns nil in beta 4 There's no header change to mention `init` is not allowed but it's not clear how this default initializer could be used. Also make public some other API to construct this type (outside of XM). It's not clear why there were `internal` as they are (at least now) part of the header files. * [photos] Add helpers when PHLivePhotoEditingOption/NSDictionary is null (to avoid ambiguous API) (#2360) Adding a strongly typed `PHLivePhotoEditingOption` (a strongly typed version of an `NSDictionary`) can cause a `CS0121` (call is ambiguous) since using a `null` argument is common (only one option exist so far). This PR adds overloads that makes the code nicer in such case, e.g. before Xcode9: > // null is used when no options are given > _foo.SaveLivePhoto (output, null, completion); current (Xcode 9) > // casting required to remove ambiguity with PHLivePhotoEditingOption > _foo.SaveLivePhoto (output, (NSDictionary)null, completion); with this PR > // no option, no argument > _foo.SaveLivePhoto (output, completion); The same applies to `PrepareLivePhotoForPlayback`. * [tests] Disable/tweak two tests that breaks on (almost) all Xcode updates Those tests were not added to validate xOS so just keep the parts that helps us (without constantly checking back the new break flavor) * Disable watchOS to check if this hides others issues * [mapkit] Update for beta 4 * [coredata] Update for beta 4 * [wkwebkit] Update for beta 4 Note: WKWindowFeatures.h is not compiled (part of the framework umbrella) and the `@interface WKWindowFeatures (WKPrivate)` sounds like it should not have been exposed (it's all fields starting with `_`) * [corelocation] Update for beta 4 * Revert "Disable watchOS to check if this hides others issues" This reverts commit fed2249fa43290a1956ab2fe0d48f83ab6db9711. * [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]: https://github.com/xamarin/xamarin-macios/blob/f5956d6cc1eb5dfa7bab16628cf282d40237f64e/src/generator.cs#L5985 * [FinderSync] Update to beta 4 (#2377) * [ImageIO] Update to Xcode 9 (#2353) * [PhotosUI] Move macOS photosui bindings out of photos.cs into photosui.cs (#2358) * [quicklook] Update up to beta 4 (#2374) * [uikit] UIDragInteraction & UIDragInteractionDelegate (Xcode 9 b1,2,3) (#2357) * [safariservices] Update up to beta 4 (#2380) * [coreanimation] Update to beta 4 (#2382) Apple removed (mistake?) some API in beta 1. Filed as rdar 33590997 Internal tracking in https://trello.com/c/J8BDDUV9/86-33590997-coreanimation-quartzcore-api-removals * [storekit] Update up to beta 4 (#2379) * [CoreML] Update to Xcode 9 Beta 4 (#2387) * [uikit] UICollectionView/UITableView Drag & Drop (Xcode 9 b1,2,3 & 4) (#2355) * Update code after radar 32929318 and 32897776 are fixed in b4 (#2394) * [xcode9 CoreAudio] New definitions from Beta1 to Beta3 (#2359) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 (#2397) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 https://bugzilla.xamarin.com/show_bug.cgi?id=58512 Created strong API (VNBarcodeSymbology) on the following properties * VNDetectBarcodesRequest.SupportedSymbologies * VNDetectBarcodesRequest.Symbologies * VNBarcodeObservation.Symbology * Remove modern C# because classic can't do it 😡 * [mediaplayer] Update up to beta 4 (#2388) * [watchkit] Update to beta 4 (#2398) * Bump Visual Studio for Mac max version (#2408) * [coreimage] Add CIBarcodeDescriptor and enabled missing API for VNBarcodeObservation. Fix #58197 (#2411) https://bugzilla.xamarin.com/show_bug.cgi?id=58197 * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 (#2407) * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 * [uikit] Fixes based on comments * [coreimage] CIImageAccumulator API fixes. Fix #58349 (#2412) * Obsolete the default `init`; * XM exposed some older APIs using `int` instead of `CIFormat`. This is fixed and old APIs are obsoleted; * Both new & old APIs are now using `CIFormat` for both XI and XM. https://bugzilla.xamarin.com/show_bug.cgi?id=58349 * [uikit] UIText drag & drop - up to Xcode 9 beta 4 (#2410) * [uikit] UISplitView & UIStackView up to Xcode 9 beta 4 (#2425) * Bump XI/XM versions before preview 4 (#2422) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 (#2378) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 * [PDFKit] Implement feedback * [PDFKit] the forgotten enum * [PDFKit] More feedback * [PDFKit] Add Mac changes * Missing change * Fix test RectangleF VS CGRect * Pass -Wunguarded-availability-new to quiet a new clang warning (#2424) - https://bugzilla.xamarin.com/show_bug.cgi?id=58574 * [mtouch/mmp] Ignore warnings about unguarded code section with regards to availability. (#2441) * [monotouch-test] Remove workaround for fixed Apple bug. (#2445) * Bump to Xcode 9 beta 5. (#2447) * Bump to Xcode 9 beta 5. * [mmp] Disable the partial static registrar, because Apple's macOS SDK is broken. > In file included from Xamarin.Mac.registrar.mobile.i386.m:1: > In file included from ./Xamarin.Mac.registrar.mobile.i386.h:11: > /Applications/Xcode9-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVFoundation.h:88:9: fatal error: 'AVFoundation/AVRouteDetector.h' file not found https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [mmp] Fix partial static registrar removal. * [CallKit] Update to Xcode 9 beta 5. * [ARKit] ARPointCloud doesn't conform to NSCopying anymore in Xcode 9 beta 5. * [ARKit] Update to Xcode 9 beta 5 enough to make tests happy. * [CoreImage] Stub out new filters in Xcode 9 beta 5. * [tests][monotouch] Simplify some MDLMesh asserts since values change a lot between OS versions. * [mmp] Default to the dynamic registrar for release builds again, due to bug #58629. https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [tests][introspection] CXCall started implementing NSCopying without saying so in the headers. * Disable mmp static registrar tests due to 58629 for now * [quicklook] Update to beta 5 (#2450) * [photos] Update for beta 5 (#2452) Also update some existing enum members were added in beta 1 on macOS * [safariservices] Update for beta 5 (#2455) * [mediaplayer] Update to beta 5 (#2456) * [CoreLocation] Update Xcode 9 Beta 5 (#2453) * [CoreML] Update to Xcode 9 Beta 5 (#2454) * [Contacts] Update to Xcode 9 Beta 5 (#2451) * [Vision] Update to Xcode 9 Beta 5 (#2458) * [builds] Tell LLVM to stay away from newer macOS functions. (#2459) Fixes this build problem on Sierra: > ld: weak import of symbol '_futimens' not supported because of option: -no_weak_imports for architecture x86_64 This is a symbol that was (will be?) introduced in High Sierra. Interestingly this only occurs if the Xcode 8.X Command Line Tools haven't been manually installed. Because if the Xcode 8.X Command Line Tools are installed, this happens: 1. llvm's configure script detects that 'futimens' is not usable. 2. llvm's configure script detects that 'futimens' is not usable, because xcrun sets SDKROOT=/ when calling clang. a. When the SDKROOT variable is set, clang passes '-syslibroot /usr/lib' to ld. b. When ld gets '-syslibroot /usr/lib', ld looks in '/usr/lib' for a library that contains 'futimens' in the OS itself, and since we're on Sierra, that fails to link. c. So when llvm's configure script creates a test program that checks if 'futimens' is present, the program fails. This is correct, and makes llvm *not* use futimens. 3. xcrun sets SDKROOT=/ because /usr/share/current-os.sdk/Info.plist exists. If that file does not exist, then xcrun sets SDKROOT to Xcode9's macOS SDK (because that's what xcode-select reports). a. When SDKROOT is set to Xcode9's macOS SDK, the configure check for 'futimens' succeeds, because the macOS 10.13 SDK contains that function. b. llvm happily uses 'futimens', and then the final link fails because we're using a symbol not available on all target platforms. * [arkit] Update for Xcode 9 beta 5 - Part 1 (#2460) * [tests] The container app for watchOS tests should be 64-bit. (#2463) * [xharness] watchOS tests need to run in a clean environment. Works around #58348. (#2462) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [xharness] It watchOS tests don't need to be clean anymore. Fixes #58348. (#2473) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [uikit] UIView/UIScrollView/UIViewController up to Xcode 9 beta 5 (#2431) - Add NSDirectionalEdgeInsets type. - Includes DirectionalEdgeInsetsTest. * [AudioToolbox] Update bindings to Xcode 9 beta3 (not later changes). (#2294) * [xharness] Add a file existence check. (#2478) Fixes this exception: ``` Harness exception for 'introspection': System.IO.FileNotFoundException: Could not find file '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log'. File name: '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log' at System.IO.__Error.WinIOError (System.Int32 errorCode, System.String maybeFullPath) [0x00207] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/__error.cs:188 at System.IO.FileInfo.get_Length () [0x00038] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/fileinfo.cs:171 at xharness.CaptureLog.StopCapture () [0x00021] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Log.cs:252 at (wrapper remoting-invoke-with-check) xharness.CaptureLog:StopCapture () at xharness.AppRunner+<RunAsync>d__68.MoveNext () [0x0127f] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/AppRunner.cs:642 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter`1[TResult].GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:357 at xharness.RunSimulatorTask+<RunTestAsync>d__7.MoveNext () [0x0029d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2894 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.RunTestTask+<ExecuteAsync>d__8.MoveNext () [0x0010b] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2538 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.TestTask+<RunInternalAsync>d__87.MoveNext () [0x0010d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:1870 ``` I'm not sure how this can happen, but it has on the bots [1]. [1] https://jenkins.mono-project.com/job/xamarin-macios-pr-builder/4548/Test_Report/ * Bump versions for preview 5 (#2479) * [passkit] Update to beta 5 (#2481) * [tests] Remove workaround for radar #32688391. (#2486) * [replaykit] Update up to beta 5 (#2484) * Bump maccore to get fix for bug #55064. (#2487) * [apidiff] Update definition to new 10.12 (d15-3) stable release (#2490) * [SceneKit] basic work (#2483) * [coredata] Update to beta 5 (#2488) * [homekit] Update for Xcode 9 beta 5 (#2492) * [Foundation] Update for xcode9 (#2468) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 (#2493) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 * [Intents] Implement feedback * [Intents] Add a generic version for INInteraction.GetParameterValue * [Intents] Missing check * [Contacts] Add missing foundation NSItemProviderWriting protocol to CNContact (#2496) https://bugzilla.xamarin.com/show_bug.cgi?id=58203 This is available on all Contacts supported platforms ``` ./iPhoneOS.platform/Developer/SDKs/iPhoneOS11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchOS.platform/Developer/SDKs/WatchOS4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchSimulator.platform/Developer/SDKs/WatchSimulator4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ``` * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) (#2497) * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) * [IntentsUI] Better use a delegate instead so we have named params * Bump versions before 6th preview (#2514) * [arkit] Add missing MarshalDirective to ARPlaneAnchor (#2517) - Fixes bug #58648: ARPlaneAnchor.Extent property seems incorrect but changes to correct value after Debug access (https://bugzilla.xamarin.com/show_bug.cgi?id=58648) * [xtro-sharpie] Fix a compiler warning. (#2516) Fixes these warnings: Runner.cs(197,5): warning CS0642: Possible mistaken empty statement Runner.cs(199,5): warning CS0642: Possible mistaken empty statement Runner.cs(201,5): warning CS0642: Possible mistaken empty statement Runner.cs(203,5): warning CS0642: Possible mistaken empty statement Runner.cs(205,5): warning CS0642: Possible mistaken empty statement * [uikit] Update for Xcode 9 beta 5 - Part 3 (#2511) - UIKeyCommand - UINavigationBar - UINavigationItem - UIPasteboard - UITableViewHeaderFooterView * [xtro-sharpie] Remove xtro-plugin and misc other fixes. (#2522) * [xtro-sharpie] Build with msbuild and be as quiet as requested when building. * [xtro-sharpie] Must run as a 64-bit process, since the required native libraries are 64-bit. * [xtro-sharpie] Add run configurations to the project file to ease debugging in the IDE. * [xtro-sharpie] Remove xtro-plugin and the related commands. This was needed when there wasn't a 64-bit mono, in order to run xtro-sharpie in a 64-bit process. Now there is a 64-bit mono, so it's not needed anymore. Also improve makefile targets a bit, to auto-build stuff when needed, by setting the right dependencies. * Bump Xcode 9 to beta 6 (#2519) Disable watchOS tests again It seems like the Carousel crash from beta 4 is back to haunt us. This was working fine with beta 5. * Backport d15-3 SR2 fixes (#2515) * [coredata] Update to beta 6 (#2528) This seems to only revert some nullability changes from beta 5. * [coreml] Update to beta 6 (#2531) Fix our rdar 33643011 where additional setters were added in the headers but did not exists. * [videosubscriberaccount] Update to beta 6 (#2533) Only b1 and b2 introduced some additions/changes * [uikit] Update for Xcode 9 beta 6 - Part 4 (#2527) The following headers are now up to date: - UICollectionViewFlowLayout.h - UIDocumentPickerViewController.h - UIFontDescriptor.h - UIImage.h - UIImageView.h - UIImagePickerController.h * [xharness] Re-enable the watchOS tests. (#2534) It works fine for me locally, so let's see what Jenkins says. * [macos] Add new APIs in CoreWlan from Xcode9b3 (#2525) * Update AppKit bindings based on radar 33271241 results (#2518) * Update AppKit bindings based on radar 33271241 results - The header comment was updated to note it was NSSliderTouchBarItem view that has the protocol * Remove NSUserInterfaceCompression where not listed in header * [vision] Update to beta 6 (#2532) Removal of some deprecated (during beta) `init*` selectors. Also sync the versions that were inlined in subclasses - the old ones were not removed and the new ones were not added. * [xtro-sharpie] Many methods don't have selectors in Clang's API, so default to the name if no selector. (#2523) This makes a few more unclassified entries show up (mostly missing designated initializers): https://gist.github.com/rolfbjarne/07aa20f9b50b75bf3e69ac6a825e873a * [macos] Add ExternalAccessory APIs from xcode9 (#2526) * [58851] Disable NSMenuView in AllItemsWithNSMenuShouldAllowNull (#2504) * [arkit] Update for Xcode 9 beta 5 - Part 2 (#2505) - Add last missing selector. - Add tests for manual code. * [monotouch-test] Disable FontDescriptorTest.WithFeature (#2537) Disabled because it looks like the tvOS font we use: "Gujarati Sangam MN" does not have rare ligatures anymore (and the entire test is based on it). Before getting an actual fix for that, let's disable the test so it doesn't break all current builds. See: https://bugzilla.xamarin.com/show_bug.cgi?id=58929 * [xtro-sharpie] Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute. (#2524) Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute to calculate the native name for a TypeDefinition. Unclassified changes: https://gist.github.com/rolfbjarne/828f8ee41eebb0a3b60a38d71822fe59 * [foundation/uikit] Inline NSItemProvider_UIKitAdditions in NSItemProvider (#2538) As suggested here: https://github.com/xamarin/xamarin-macios/pull/2527#discussion_r134670981 * [intents] Fix breaking changes (api-diff) (#2543) Additions of @required members inside `INSpeakable` cannot be `[Abstract]` * [contacts] Fix breaking change (api-diff) (#2542) Type Changed: Contacts.CNPostalAddress Removed method: public static string LocalizeProperty (CNPostalAddressKeyOption option); * [macos] Reenable static registrar since Xcode9b6 un-broke SDK headers (#2544) - Fix a subtle spacing issues in PartialStaticLibrary property * [corebluetooth] Update up to beta 6 and enable it on watchOS (#2540) macOS 10.13 has finally catch up with iOS and this simplifies the bindings a bit. * [foundation] API fixes (apidiff) (#2545) 1. Let's not add new, already [Obsolete] API Type Changed: Foundation.NSDimension Added constructors: [Obsolete ("Not intended to be directly instantiated, this is an abstract class.")] public NSDimension (); 2. Fix inconsistently named API, e.g. Type Changed: Foundation.NSAttributedString Added properties: public static string[] ReadableTypeIdentifiersForItemProvider { get; } public static string[] WritableTypeIdentifiers { get; } * [pdfkit] Do not add already [Obsolete] API in new profiles (#2547) and ensure using the newer, correct API works cross-platforms iOS (before) [Obsolete ("Use 'Find (string, NSStringCompareOptions)' instead.")] public virtual PdfSelection[] Find (string text, nint options); public PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'Find (string, PdfSelection, NSStringCompareOptions)' instead.")] public virtual PdfSelection Find (string text, PdfSelection selection, nint options); public void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string, NSStringCompareOptions)' instead.")] public virtual void FindAsync (string text, nint options); public void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string [], NSStringCompareOptions)' instead.")] public virtual void FindAsync (string[] text, nint options); iOS (after) public virtual PdfSelection[] Find (string text, Foundation.NSStringCompareOptions compareOptions); public virtual PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); * Bump versions for the 7th preview (#2541) * Remove additions of AVKit removed in beta5 (#2536) * NSUrlSessionTask should implement NSProgressReporting for iOS (#2548) NSUrlSessionTask implements NSProgressReporting on iOS as well as Mac, so the #if MONOMAC isn't needed. * Add missing availability attributes causing failures on older iOS versions (#2550) * [vision] Minor fix wrt xtro (#2551) including some things we need to ignore manually !missing-field! VNVisionVersionNumber not bound !missing-pinvoke! VNImagePointForFaceLandmarkPoint is not bound !missing-pinvoke! VNNormalizedFaceBoundingBoxPointForLandmarkPoint is not bound * [uikit] NSFileProviderMessaging was removed in beta 2. Fixes #58222 (#2552) reference: https://bugzilla.xamarin.com/show_bug.cgi?id=58222 * [uikit] Update for Xcode 9 - Part 5 (#2546) Bindings for the following headers: - UIActivity.h - UIActivityItemProvider.h - UIAlertController.h - UIApplication.h - UIBarButtonItem.h - UIButton.h - UICollectionViewLayout.h - UIColor.h - UIControl.h - UIDocumentMenuViewController.h - UIFontMetrics.h - UIGestureRecognizer.h - UIGraphicsImageRenderer.h - UIInputViewController.h * [CoreText] Fix an extraneous free in CTFont.GetDefaultCascadeList. (#2555) We do not own the return value from CFArrayGetValueAtIndex, so don't say we do when creating CTFontDescriptor instances, since that leads to angry dragons: 2017-08-28 20:15:20.293 monotouchtest[33186:2311738] A_FontTest 2017-08-28 20:15:20.294 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithFontDescriptorAndOptions 2017-08-28 20:15:20.295 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithNameAndOptions 2017-08-28 20:15:20.296 monotouchtest[33186:2311738] critical: Stacktrace: at <unknown> <0xffffffff> at (wrapper managed-to-native) CoreText.CTFont.CTFontCopyDefaultCascadeListForLanguages (intptr,intptr) [0x0000a] in <ae65a2b1eea242d2b68fe784749543bf>:0 at CoreText.CTFont.GetDefaultCascadeList (string[]) [0x00013] in /work/maccore/xcode9/xamarin-macios/src/CoreText/CTFont.cs:2185 at MonoTouchFixtures.CoreText.A_FontTest.GetCascadeList () [0x0001e] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/CoreText/FontTest.cs:78 at (wrapper runtime-invoke) object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) [0x0004f] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) System.Reflection.MonoMethod.InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&) [0x00016] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at System.Reflection.MonoMethod.Invoke (object,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo) [0x00032] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/corlib/System.Reflection/MonoMethod.cs:305 at System.Reflection.MethodBase.Invoke (object,object[]) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/referencesource/mscorlib/system/reflection/methodbase.cs:229 at NUnit.Framework.Internal.Reflect.InvokeMethod (System.Reflection.MethodInfo,object,object[]) [0x00009] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Reflect.cs:215 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunNonAsyncTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x00025] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:116 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x0001a] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:90 at NUnit.Framework.Internal.Commands.TestMethodCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:66 at NUnit.Framework.Internal.Commands.SetUpTearDownCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00007] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/SetUpTearDownCommand.cs:84 at NUnit.Framework.Internal.WorkItems.SimpleWorkItem.PerformWork () [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/SimpleWorkItem.cs:64 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at MonoTouch.NUnit.UI.BaseTouchRunner.Run (NUnit.Framework.Internal.Test) [0x0004d] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:442 at MonoTouch.NUnit.UI.BaseTouchRunner.Run () [0x00030] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:171 at MonoTouch.Dialog.StringElement.Selected (MonoTouch.Dialog.DialogViewController,UIKit.UITableView,Foundation.NSIndexPath) [0x00008] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/Elements.cs:765 at MonoTouch.Dialog.DialogViewController.Selected (Foundation.NSIndexPath) [0x00026] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:577 at MonoTouch.Dialog.DialogViewController/Source.RowSelected (UIKit.UITableView,Foundation.NSIndexPath) [0x00016] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:402 at (wrapper runtime-invoke) <Module>.runtime_invoke_void__this___object_object (object,intptr,intptr,intptr) [0x0005d] in <32f0c196c5bc4aa18daea2ee64a7814e>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) UIKit.UIApplication.UIApplicationMain (int,string[],intptr,intptr) [0x0005c] in <ae65a2b1eea242d2b68fe784749543bf>:0 at UIKit.UIApplication.Main (string[],intptr,intptr) [0x00005] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:79 at UIKit.UIApplication.Main (string[],string,string) [0x00038] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:63 at monotouchtest.Application.Main (string[]) [0x00011] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/Main.cs:27 at (wrapper runtime-invoke) <Module>.runtime_invoke_void_object (object,intptr,intptr,intptr) [0x00051] in <30a7f7e09de9467b8b454221034a0e38>:0 Native stacktrace: 0 monotouchtest 0x000000010fca03c4 mono_handle_native_crash + 244 1 monotouchtest 0x000000010fcadd30 mono_sigsegv_signal_handler + 288 2 libsystem_platform.dylib 0x000000011feb3b3a _sigtramp + 26 3 CoreFoundation 0x000000011de035a2 computeSanitizedString + 146 4 CoreText 0x00000001168df314 _ZN15TPurgeableCache19RetainedValueForKeyEPKv + 54 5 CoreText 0x00000001168def85 _ZNK17TDescriptorSource22CopyDescriptorUncachedEPK7__CFURLbPK10__CFString + 55 6 CoreText 0x00000001168df34f _ZNK17TDescriptorSource14CopyDescriptorEPK7__CFURLbPK10__CFString + 27 7 CoreText 0x00000001168e20ad _ZNK17TDescriptorSource35CopyFontDescriptorPerPostScriptNameEPK10__CFStringmm + 297 8 CoreText 0x00000001168dfd9e _ZNK17TDescriptorSource30CopySystemFontDescriptorByNameEPK10__CFString10UIFontFlag + 54 9 CoreText 0x00000001168e54c4 _ZNK14TFontFallbacks17CopyFontFallbacksEPK10__CFStringS2_PK9__CFArray + 652 10 CoreText 0x00000001168e4a00 _ZNK14TFontFallbacks29CopyFontFallbacksForLanguagesEPK10__CFStringPK9__CFArray + 122 11 CoreText 0x00000001168e4971 _ZN17TDescriptorSource39CopyDefaultSubstitutionListForLanguagesEPK10__CFStringPK9__CFArray + 61 12 CoreText 0x00000001169397a7 _ZNK9TBaseFont28CreateSystemDefaultFallbacksEPK10__CFStringPK9__CFArray + 51 13 CoreText 0x000000011693999c _ZNK9TBaseFont15CreateFallbacksE10UIFontFlagPPK16__CFCharacterSetPK9__CFArray + 346 14 CoreText 0x00000001168c1036 _ZNK5TFont24CreateDefaultCascadeListEPK9__CFArray + 242 15 CoreText 0x00000001168b8ff9 CTFontCopyDefaultCascadeListForLanguages + 97 16 ??? 0x0000000140eaefd3 0x0 + 5384105939 17 ??? 0x0000000140eae761 0x0 + 5384103777 18 ??? 0x000000013c9c8e74 0x0 + 5311860340 19 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 20 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 21 monotouchtest 0x000000010fd71bac mono_runtime_try_invoke_array + 1292 22 monotouchtest 0x000000010fd15587 ves_icall_InternalInvoke + 647 23 ??? 0x000000013e9fcd13 0x0 + 5345627411 24 ??? 0x000000013e9fc738 0x0 + 5345625912 25 ??? 0x000000013e9fded5 0x0 + 5345631957 26 ??? 0x000000013e9fbb76 0x0 + 5345622902 27 ??? 0x000000013e9e237e 0x0 + 5345518462 28 ??? 0x000000013e9e237e 0x0 + 5345518462 29 ??? 0x000000013e9e237e 0x0 + 5345518462 30 ??? 0x000000013e9e237e 0x0 + 5345518462 31 ??? 0x000000013e873006 0x0 + 5344014342 32 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 33 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 34 monotouchtest 0x000000010fd6e320 mono_runtime_invoke + 208 35 monotouchtest 0x000000010fe71af1 xamarin_invoke_trampoline + 5617 36 monotouchtest 0x000000010fe79ddd xamarin_arch_trampoline + 189 37 monotouchtest 0x000000010fe7b1a1 xamarin_x86_64_common_trampoline + 110 38 UIKit 0x0000000111b9876b -[UITableView _selectRowAtIndexPath:animated:scrollPosition:notifyDelegate:] + 1810 39 UIKit 0x0000000111b98986 -[UITableView _userSelectRowAtPendingSelectionIndexPath:] + 344 40 UIKit 0x0000000111a6b5c9 _runAfterCACommitDeferredBlocks + 318 41 UIKit 0x0000000111a59dad _cleanUpAfterCAFlushAndRunDeferredBlocks + 280 42 UIKit 0x0000000111a89f68 _afterCACommitHandler + 137 43 CoreFoundation 0x000000011de3ddb7 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23 44 CoreFoundation 0x000000011de3dd0e __CFRunLoopDoObservers + 430 45 CoreFoundation 0x000000011de22324 __CFRunLoopRun + 1572 46 CoreFoundation 0x000000011de21a89 CFRunLoopRunSpecific + 409 47 GraphicsServices 0x0000000121b7e9c6 GSEventRunModal + 62 48 UIKit 0x0000000111a5f7d0 UIApplicationMain + 159 49 ??? 0x000000013c9c4474 0x0 + 5311841396 50 ??? 0x000000013c9c40ad 0x0 + 5311840429 ================================================================= Got a SIGSEGV while executing native code. This usually indicates a fatal error in the mono runtime or one of the native libraries used by your application. ================================================================= * [monotouch-test] Don't subclass MKMapView. (#2556) MKMapView doesn't like being subclassed (Apple says "you should not subclass the MKMapView class itself"). Bad things like this starts happening: Thread 0 name: tid_303 Dispatch queue: com.apple.main-thread Thread 0 Crashed: 0 libsystem_kernel.dylib 0x0000000186b25348 __pthread_kill + 8 1 libsystem_pthread.dylib 0x0000000186c39354 pthread_kill$VARIANT$mp + 396 2 libsystem_c.dylib 0x0000000186a94fd8 abort + 140 3 monotouchtest 0x0000000101c02c14 mono_handle_native_crash + 22047764 (mini-exceptions.c:2548) 4 monotouchtest 0x0000000101c0d02c mono_sigsegv_signal_handler + 22089772 (mini-runtime.c:2886) 5 libsystem_platform.dylib 0x0000000186c33b60 _sigtramp + 52 6 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 7 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 8 CoreFoundation 0x0000000186eda51c -[__NSArrayM dealloc] + 68 9 CoreFoundation 0x000000018703f5c8 __CFBasicHashDrain + 312 10 CoreFoundation 0x0000000186fb5b44 _CFRelease + 224 11 CoreText 0x000000018a808404 TDescriptorSource::PurgeFontFallbacksCache+ 488452 () + 92 12 CoreText 0x000000018a808374 TDescriptorSource::PurgeFromCaches+ 488308 (__CFURL const*) const + 176 13 CoreText 0x000000018a7eec74 CTFontRemoveFromCaches + 168 14 VectorKit 0x0000000196a539b0 +[VKSharedResourcesManager removeResourceUser:] + 324 15 VectorKit 0x0000000196ca27a4 md::MapEngine::~MapEngine+ 2643876 () + 360 16 VectorKit 0x0000000196ca2634 md::MapEngine::~MapEngine+ 2643508 () + 12 17 libobjc.A.dylib 0x000000018651eef4 object_cxxDestructFromClass+ 28404 (objc_object*, objc_class*) + 148 18 libobjc.A.dylib 0x000000018652c638 objc_destructInstance + 88 19 libobjc.A.dylib 0x000000018652c690 object_dispose + 16 20 QuartzCore 0x000000018afca3ac -[CALayer dealloc] + 116 21 VectorKit 0x0000000196a43294 -[VKMapView dealloc] + 940 22 QuartzCore 0x000000018af6aafc CA::release_objects+ 744188 (X::List<void const*>*) + 32 23 QuartzCore 0x000000018afd97d8 CA::Layer::~Layer+ 1198040 () + 276 24 QuartzCore 0x000000018afca37c -[CALayer dealloc] + 68 25 QuartzCore 0x000000018af6b16c CA::Transaction::commit+ 745836 () + 1052 26 UIKit 0x0000000190393290 _afterCACommitHandler + 256 27 CoreFoundation 0x0000000186fb38b8 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 32 28 CoreFoundation 0x0000000186fb1270 __CFRunLoopDoObservers + 412 29 CoreFoundation 0x0000000186fb182c __CFRunLoopRun + 1292 30 CoreFoundation 0x0000000186ed22d8 CFRunLoopRunSpecific + 436 31 GraphicsServices 0x0000000188d58f84 GSEventRunModal + 100 32 UIKit 0x000000019040427c UIApplicationMain + 208 33 monotouchtest 0x000000010106eb90 wrapper_managed_to_native_UIKit_UIApplication_UIApplicationMain_int_string___intptr_intptr + 9907088 (/<unknown>:1) 34 monotouchtest 0x0000000100f0d6ac UIKit_UIApplication_Main_string___intptr_intptr + 8459948 (UIApplication.cs:79) 35 monotouchtest 0x0000000100f0d66c UIKit_UIApplication_Main_string___string_string + 8459884 (UIApplication.cs:63) 36 monotouchtest 0x0000000100b10450 monotouchtest_Application_Main_string__ + 4277328 (Main.cs:27) 37 monotouchtest 0x0000000100e0c244 wrapper_runtime_invoke_object_runtime_invoke_dynamic_intptr_intptr_intptr_intptr + 244 38 monotouchtest 0x0000000101c10048 mono_jit_runtime_invoke + 22102088 (mini-runtime.c:2526) 39 monotouchtest 0x0000000101c75eec do_runtime_invoke + 22519532 (object.c:2829) 40 monotouchtest 0x0000000101c78a3c do_exec_main_checked + 22530620 (object.c:4623) 41 monotouchtest 0x0000000101bf9a1c mono_jit_exec + 22010396 (driver.g.c:1040) 42 monotouchtest 0x0000000101d13d60 xamarin_main + 23166304 (monotouch-main.m:482) 43 monotouchtest 0x00000001007de710 main + 927504 (main.m:67) 44 libdyld.dylib 0x00000001869f656c start + 4 * [introspection] Let SkipDueToAttributeInProperty skip setters too (#2557) `SkipDueToAttributeInProperty` which is used to check the availability attribute of properties when the Availability info only exist on the property and not on the property Getter or Setter was wrong. This lead to `setSpringLoaded` (which was introduced in iOS 11) to not be ignored by the test (making it fail). - Fix bug #59085: [introspection-ios] selector not found for UIKit.UIBarButtonItem : setSpringLoaded: - Broken test (https://bugzilla.xamarin.com/show_bug.cgi?id=59085) * [corevideo][watchos] Enable CoreVideo on watchOS (#2553) * [storekit] Fix CampaignToken typo (#2559) (#2560) - Fixes bug #59078: StoreProductParameters and invalid property for CampaignToken (https://bugzilla.xamarin.com/show_bug.cgi?id=59078) * [coreml][watchos] Enable API using CoreVideo on watchOS. Fix #58097 (#2561) https://bugzilla.xamarin.com/show_bug.cgi?id=58097 * Add missing [MarshalDirective] attributes. (#2558) * [bindings-generator] Improve build & project file. * Add missing [MarshalDirective] attributes. Add missing [MarshalDirective] attributes, which also requires implementing support for out parameters in the binding generator, since one of the signatures missing the [MarshalDirective] contains such an out parameter. Also add tests for all the API I've added [MarshalDirective] to. * [bindings-generator] Remove redundant if check. * [monotouch-test] Rename file to end with 'Test.cs'. * [tests] Fix a few build errors for Xamarin.Mac. * [uikit] Fix UIColor and UIInputViewController tvOS availability (#2569) - Fixes introspection tests on tvOS 10. * [storekit] Fix SKCloudServiceSetupMessageIdentifier and SKProductStorePromotionController tvOS availability (#2568) - Fixes introspection tests on tvOS 10. * [mapkit] Fix MKMapItemTypeIdentifier tvOS availability (#2566) - Also remove double [Mac] availability attribute. - Fixes introspection tests on tvOS 10. * [ARKit] Fix marshalling for ARPointCloud.RawFeaturePoints. (#2565) ARPointCloud.RawFeaturePoints is an array of Vector3, but each vector is 16-byte aligned (as if it were an array of Vector4). This means we need to account for this when creating a managed array from pointer to the native C-style array. * [ModelIO] Fix MDLVoxelIndexExtent struct. (#2564) The MDLVoxelIndexExtent is a struct containing two 4-dimensional vectors of integers (not floats, as originally and incorrectly implemented). Fix this my creating a new MDLVoxelIndexExtent2 struct with the right fields, re-implement all the API that exposes this struct and obsolete the old API. Also add missing [MarshalDirective] attributes. And write a test to make sure it works fine now and forever. * [coredata] Enable new fields since rdar #33878590 is fixed w/beta 6 (#2570) reference: https://trello.com/c/dlSRYPFx * [xtro-sharpie] Add a Simd check class to verify signatures with Simd types. * [Simd] Add simd matrix types. The OpenTK matrices (Matrix2/3/4) has a different memory layout than Apple's matrix_float2x2/matrix_float3x3/matrix_float4x4 matrices: the OpenTK versions are row-major, while Apple's versions are column-major. This means that when blitting memory from one to the other, the matrix will appear to have been transposed. See bug #[58599][2] for an example. Unfortunately we've already bound several API with Apple's matrix_floatXxX matrices using OpenTK's matrices, and although they're bound wrong, and the matrices appear transposed on input/output, we can't change the behavior because we have to maintain compatibility. This means we have to introduce new API, and then also just define new matrix types with the right memory layout (column-major). Additionally, in the future we might be able to mark these matrices as Simd-matrixes, so that the JIT/AOT compiler can generate the correct alignment for them, avoiding having to define a native conversion method (using the [MarshalDirective] hack). The matrices have been designed to match API-wise the matrices in the System.Numerics.Vectors namespace [1], but for the moment with only a few basic operations implemented (Determinant/Transpose/Multiply) defined (we can always add more later if we want to). In addition explicit conversion operators to and from the corresponding OpenTK.MatrixX are implemented, which means any operation defined in the OpenTK matrices can be used by converting back and forth. [1]: https://msdn.microsoft.com/en-us/library/system.numerics.matrix4x4(v=vs.111).aspx [2]: https://bugzilla.xamarin.com/show_bug.cgi?id=58599 * [ARKit] Use the new Simd matrix types. * [Vision] Use the new Simd matrix types. * [ModelIO] Use the new Simd-compatible matrix types, and deprecate the old API. * [GameplayKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [SpriteKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [xtro] Don't report missing [MarshalDirective] for obsolete methods. * [xtro] Remove unnecessary ignores. The implementation changed, and these stayed accidentally. * [wkwebkit] Fix (native) protocol names (#2572) Also ignore xtro's WKSnapshotConfiguration since it's an Apple bug 34185961 reference (xtro) !missing-protocol! WKURLSchemeHandler not bound !missing-protocol! WKURLSchemeTask not bound !unknown-protocol! WKUrlSchemeHandler bound !unknown-protocol! WKUrlSchemeTask bound !unknown-type! WKSnapshotConfiguration bound * [uikit] Fix enums availability attributes (#2575) - Fixes bug #59132: [uikit] Extra types in watchOS (https://bugzilla.xamarin.com/show_bug.cgi?id=59132) * [watchkit] Add missing designated initializers (#2574) references (xtro) !missing-designated-initializer! WKInterfaceController::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! WKUserNotificationInterfaceController::init is missing an [DesignatedInitializer] attribute * [xtro] Reword some of the Simd diagnostic messages according to review. * [tests] Make sure test symbols don't clash between different test libraries. Fixes this build problem for framework-test: clang: error: linker command failed with exit code 1 (use -v to see invocation) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_get_rotation_matrix'. MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticObjectTest.framework/XStaticObjectTest (Location related to previous error) MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticArTest.framework/XStaticArTest(libtest-ar.x86_64.o) (Location related to previous error) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransformcomponent_get_local_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_create_global_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float4x4'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float3x3'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float2x2'. MTOUCH: error MT5209: Native linking error: 6 duplicate symbols for architecture x86_64 MTOUCH: error MT5202: Native linking failed. Please review the build log. * [tests] Since libtest.a need ModelIO now, the corresponding LinkWith attributes need to state that too. * [introspection] Don't check native signatures on obsolete members, and ignore the right simd matrix types. Fixes this introspection/Mac problem: ***** ApiSignatureTest.NativeSignatures Selector: uniformWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: uniformWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: uniformWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: setMatrixFloat2x2Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: setMatrixFloat3x3Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: setMatrixFloat4x4Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: initWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: initWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: initWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded * [monotouch-tests] Include more custom asserts for watchOS to make the build work. Fixes this: Simd/MatrixFloat4x4Test.cs(28,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(29,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(37,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(48,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' [...] * [monotouch-test] Exclude code that requires the binding project from xammac tests. Exclude code that requires the test binding project from xammac tests because there's currently no XM version of the test binding project. Fixes this: tests/monotouch-test/SpriteKit/UniformTest.cs(20,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLMaterialProperty.cs(37,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLTransform.cs(34,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) * Bump version for preview #8 (#2576) * [spritekit] Audit fixes (xtro) (#2577) 1. SKVideoNode is now, partially, available on watchOS and does not require the extra, manual code to swicth selectors depending on the OS version being run. !missing-type! SKVideoNode not bound !missing-selector! SKVideoNode::anchorPoint not bound !missing-selector! SKVideoNode::initWithCoder: not bound !missing-selector! SKVideoNode::initWithFileNamed: not bound !missing-selector! SKVideoNode::initWithURL: not bound !missing-selector! SKVideoNode::setAnchorPoint: not bound !missing-selector! SKVideoNode::setSize: not bound !missing-selector! SKVideoNode::size not bound !missing-selector! +SKVideoNode::videoNodeWithFileNamed: not bound !missing-selector! +SKVideoNode::videoNodeWithURL: not bound 2. SKNodeFocusBehavior is exposed needlessly on watchOS because SpriteKit/Enums.cs was not processed by the generator, so [NoWatch] did not matter. !unknown-native-enum! SKNodeFocusBehavior bound It's also visible on macOS but nothing uses it (so we do not expose it needlessly) !missing-enum! SKNodeFocusBehavior not bound 3. Add missing designated initializer on default `init` !missing-designated-initializer! SKAttributeValue::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! SKNode::init is missing an [DesignatedInitializer] attribute 4. Remove inconsistency for SKNode subclasses wrt XAMCORE_4_0 The trio attributeValues, setAttributeValues and setValue:forAttributeNamed: that was moved from SKNode (deprecated) into its subclasses. This was done using XAMCORE_4_0 but not on every subclasses. This adds them everywhere to be consistent (only SKNode versions are not defined in XAMCORE_4_0) !missing-selector! SKEffectNode::attributeValues not bound !missing-selector! SKEffectNode::setAttributeValues: not bound !missing-selector! SKEffectNode::setValue:forAttributeNamed: not bound !missing-selector! SKEffectNode::valueForAttributeNamed: not bound !missing-selector! SKEmitterNode::attributeValues not bound !missing-selector! SKEmitterNode::setAttributeValues: not bound !missing-selector! SKEmitterNode::setValue:forAttributeNamed: not bound !missing-selector! SKEmitterNode::valueForAttributeNamed: not bound !missing-selector! SKSpriteNode::attributeValues not bound !missing-selector! SKSpriteNode::setAttributeValues: not bound !missing-selector! SKSpriteNode::setValue:forAttributeNamed: not bound !missing-selector! SKSpriteNode::valueForAttributeNamed: not bound * [introspection] Make sure '[FAIL]' is printed before every failure. (#2578) This makes xharness able to list the failures in the inline summary. * [xtro] Reword some of the Simd diagnostic messages according to review. * [xharness] Add a missing IsServerMode check to generate correct html. (#2581) * [SpriteKit] SKTransformNode is new in Xcode 9 so no need to keep the broken (and obsolete) non-simd version of RotationMatrix. * [intents] Fix some (partial) xtro issues and #59156 (#2585) reference https://bugzilla.xamarin.com/show_bug.cgi?id=59156 Remaining issues are filled in https://bugzilla.xamarin.com/show_bug.cgi?id=59183 !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound * [Intents] Confirm* interface methods should be bound as Confirm, Fixes Bug 59164 (#2591) * [Intents] Confirm* interface methods should probably be bound as Confirm, Fixes Bug 59164 https://bugzilla.xamarin.com/show_bug.cgi?id=59164 All Confirm* methods from *IntentHandling interfaces should be named just `Confirm` to avoid confusion because most of them do not directly confirm as an acion, but instead they **ask** for confirmation also we would follow swift's naming by doing this. * [Intents] XAMCORE_4_0 all Confirm* methods from *IntentHandling Turns any Confirm* into just Confirm inside a XAMCORE_4_0 block, * [Intents] Fix breaking changes in Intents added in Xcode 9 Bindings (#2590) Apple added more protocol conformances to INRidesharingDomainHandling and INPaymentsDomainHandling protocols in Xcode 9, I introduced these breaking changes back when I did intents binding so fixing them :) * [Metal] New bindings from Xcode 9 betas (#2457) * [AVFoundation] Updated bindings for xcode9. (#2272) * [Xcode9] Add IOSurface bindings (#2363) * This framework was a private framework before iOS 11. This framework was a private framework before iOS 11, yet the headers claim many API were introduced in iOS 10. So take account of this difference by using the private framework location in iOS 10.3 or earlier. Testing these API from Xcode works fine when run on an iOS 10.3 device, and I've confirmed the IOSurface framework is loaded from the private frameworks path on older devices (and when built using Xcode 9 and linked with the public framework path). * Disable code to make IOSurface work on iOS 10. Disable the code to make IOSurface work on iOS 10, since it may be rejected by the App Store. This also means adjusting the availability attributes, so that the introspection tests pass (and to document that technically these API won't work when used with Xamarin.iOS in iOS 10). I've filed bug #[59201][1] to keep track of this, maybe we can re-enable this later. [1]: https://bugzilla.xamarin.com/show_bug.cgi?id=59201 * [CoreMedia] Fix leak in CMAttachmentBearer.GetAttachments. (#2593) The caller owns the return value from CMCopyDictionaryOfAttachments, so tell Runtime.GetNSObject that. * [Intents] Adds missing API found by xtro, fixes Bug 59183 (#2596) https://bugzilla.xamarin.com/show_bug.cgi?id=59183 Fixes !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !incorrect-protocol-member! INUIHostedViewControlling::configureWithInteraction:context:completion: is OPTIONAL and should NOT be abstract * [xtro] Fix StartWorkingDirectory to enable debugging (#2598) * [iosurface] Enable for tvOS and XM classic (to avoid multiple defines around consumer API) (#2597) * [xtro] Fix EnumCheck (#2600) * [ARKit] Rename a few method to make them nicer. (#2604) * DisplayTransform -> GetDisplayTransform since methods should have verbs. * SessionWasInterrupted -> WasInterrupted and SessionInterruptionEnded -> InterruptionEnded since these names match better with the other names (CameraDidChangeTrackingState / DidFail / DidOutputAudioSampleBuffer: none are prefixed with 'Session'). Additionally, the type is a Model (for the delegate pattern), which means all methods are more-or-less event-like, and the first argument is always the same (the protocol itself), which is another indicator the methods should be named similarly. * [Foundation] Remove 'Key' suffix from some fields. (#2606) Of the 168 fields in NSMetadataItem, only these 5 hadn't removed the 'Key' suffix. So make them all equivalent by removing the 'Key' suffix from these 5 fields. * [ImageIO] Fix API to not duplicate the instance in instance methods. (#2609) An instance method does not need to take the instance as a parameter, so remove the first (instance) parameter for CGImageDestination.AddAuxiliaryDataInfo and CGImageSource.CopyAuxiliaryDataInfo. An alternative solution would be to make the methods static, but I like the instance API better. * [UIKit] De-model UIDataSourceTranslating. (#2603) It's not clear from neither the documentation nor the headers how this protocol is supposed to be used, and since it doesn't correspond to the delegate pattern, remove the [Model] attribute for now. We can always add it back later. * [CoreML] Improve API. (#2592) * [CoreML] Improve API. * The indices, shape and stride properties for MLMultiArray and MLMultiArrayConstraint can logically only be arrays of integers, so type them as such. This means adding overloads for MLMultiArray's constructors, GetObject and SetObject methods, and the indexers that takes nint[] arrays instead of NSNumber[] arrays. * Change MLFeatureValue's static factory methods to be a method ('Create') instead of a preposition, and call all the different factory methods the same, since they can be overloaded nicely. * [tests][monotouch-test] Add version check to MLMultiArrayTest and make sure the arrays we create are big enough for the data we put in them. * [tests][monotouch-test] MLMultiArray's elements aren't zero-initialized, so don't assume that in the tests. * Support overloading Objective-C methods based on static/instance. (#2607) Two Objective-C methods can be named identically as long as one is static and the other instance. We must support this since Apple did just this (in the NSItemProviderReading / NSItemProviderWriting protocols). We solve it by prepending a '+' or '-' to the selector when hashing it (to determine selector uniqueness, and to look the method up again at runtime). * [uikit] Update for Xcode 9 - Part 6 (#2602) NSAttributedString.h NSFileProviderExtension.h NSLayoutAnchor.h UIAccessibility.h UIAccessibilityAdditions.h UIAccessibilityContainer.h UIAccessibilityContentSizeCategoryImageAdjusting.h UIAccessibilityCustomRotor.h UIAccessibilityLocationDescriptor.h UITabBar.h UINavigationBar.h UIScreen.h * Xcode9 scenekit (#2512) * [SceneKit] basic work * Added key * [xcode9] SCNCameraController * [xcode9] SCNCamera updates * [xcode9] SCNMaterial * [xcode9] SCNGeometryTessellator, SCNCameraControlConfiguration, SCNView, small bits * Add trailing commas to last enum value * Remove whitespace noise * [scenekit] Update deprecated attributes messages * Addresses some of Rolf's feedback * Drop the WeakDelegate in SCNCameraController * Rename method to Render, remove ctor from class that can not be constructed in Palygrounds, add typo exception * [AppKit] Rename NSBezierPath.AppendBezierPathWithCGGlyph to match its sibling methods. (#2605) NSBezierPath contains a lot of 'AppendPathWithXXX' methods, that all map to 'appendBezierPathXXX' selectors. So rename AppendBezierPathWithCGGlyph accordingly, to make it more similar to the other methods in the same type. * [uikit] Add all UISpringLoadedInteractionSupporting (#2616) Types do not conform to the protocol but protocol methods work on those types (see monotouch-test). Fixed introspection tests accordingly and tested the selectors in monotouch-test. * [Intents] Add convenience ctor overload and call correct base ctor in manual ctor. (#2613) Add a convenience constructor overload in INGetUserCurrentRestaurantReservationBookingsIntent that uses nint instead of NSNumber, since logically "number of results" will always be some sort of integer. Also call the correct base constructor in INSpeakableString's custom constructor (same as any other generated constructor). Otherwise we end up doing something like this: [[[INSpeakableString alloc] init] initWith ...], i.e. calling two different init methods. * [coreimage] Add new headers API up to beta 6 (#2601) Filters are not complete (ref: #57350) https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * Some new constants are not yet documented (type is known), so they are commented / ignored https://bugzilla.xamarin.com/show_bug.cgi?id=59296 * Filled bug for [Wrap] inside [Category] so strong dictionary helpers can be re-enabled later https://bugzilla.xamarin.com/show_bug.cgi?id=59294 * [foundation] xtro fixes for watchOS (#2586) !missing-enum! NSProcessInfoThermalState not bound !missing-field! NSProcessInfoThermalStateDidChangeNotification not bound !missing-selector! NSProcessInfo::thermalState not bound Headers are wrong and preferredPresentationStyle is not in tvOS and watchOS !missing-selector! NSItemProvider::preferredPresentationStyle not bound !missing-selector! NSItemProvider::setPreferredPresentationStyle: not bound * [uikit] Also remove UIPreferredPresentationStyle enum from platform where it's not used * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. (#2614) * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. * NSItemProviderWriting: * NSItemProviderReading: Implement correctly and completely by uncommenting commented out code. * NSMutableString: * NSAttributedString: remove inlined members, since these classes don't implement NSItemProviderReading / NSItemProviderWriting (according to the headers at least). * NSUrl: all platforms now seem to implement NSItemProviderReading / NSItemProviderWriting. * NSString: all platforms now seem to implement both NSItemProviderReading and NSItemProviderWriting * UIColor: * UIImage: Update inlined protocol members according to the latest beta. Additionally, due to the following conditions: * The protocols all have the correct members now. * In the API definition we tell the generator to inline members from a protocol by inheriting from the corresponding interface. * The generator doesn't inline static members from protocols. several 'new' keywords had to be added to silence a compiler warning that occurrs when we manually inline a static member, since the member would be included in the type both from the inherited interface and the manual implementation. * [Foundation] Comment out NSItemProviderWriting.GetItemProviderVisibility to avoid inlining/generating unusable methods. NSItemProviderWriting.GetItemProviderVisibility is an optional method, and none of the native classes that implements NSItemProviderWriting actually imlements the method. This means inlining the method in those classes ends up creating unusable API; so just comment out the method to avoid generating the unusable API. The introspection tests found this: [FAIL] Foundation.NSString : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Foundation.NSUrl : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Contacts.CNContact : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] MapKit.MKMapItem : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIColor : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIImage : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] iOSApiSelectorTest.ApiSelectorTest.StaticMethods : 6 errors found in 2348 static selector validated: See also https://bugzilla.xamarin.com/show_bug.cgi?id=59308 * [iosurface] Add missing [TV] attributes (#2619) * [opengles] Enable the new API using IOSurface (#2618) The symbol only exists inside device libraries, not on simulator, and the introspection tests were updated to ignore it. Part of https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [avfoundation][watchos] Enable AudioBufferList (fix #59145) + audit (xtro) (#2617) 1. AudioBufferList is part of CoreAudio (wrong namespace, which needs a few changes in the generator) and now available in watchOS 4 https://bugzilla.xamarin.com/show_bug.cgi?id=59145 2. Also fixes xtro found issues: !missing-type! AVAudioRecorder not bound !missing-selector! AVAudioRecorder::averagePowerForChannel: not bound !missing-selector! AVAudioRecorder::channelAssignments not bound !missing-selector! AVAudioRecorder::currentTime not bound !missing-selector! AVAudioRecorder::delegate not bound !missing-selector! AVAudioRecorder::deviceCurrentTime not bound !missing-selector! AVAudioRecorder::format not bound !missing-selector! AVAudioRecorder::initWithURL:format:error: not bound !missing-selector! AVAudioRecorder::initWithURL:settings:error: not bound !missing-selector! AVAudioRecorder::isMeteringEnabled not bound !missing-selector! AVAudioRecorder::isRecording not bound !missing-selector! AVAudioRecorder::peakPowerForChannel: not bound !missing-selector! AVAudioRecorder::recordAtTime: not bound !missing-selector! AVAudioRecorder::recordAtTime:forDuration: not bound !missing-selector! AVAudioRecorder::recordForDuration: not bound !missing-selector! AVAudioRecorder::setChannelAssignments: not bound !missing-selector! AVAudioRecorder::setDelegate: not bound !missing-selector! AVAudioRecorder::setMeteringEnabled: not bound !missing-selector! AVAudioRecorder::settings not bound !missing-selector! AVAudioRecorder::url not bound !missing-protocol! AVAudioRecorderDelegate not bound !missing-selector! AVAudioEngine::inputNode not bound !missing-selector! AVAudioEngine::manualRenderingBlock not bound !missing-selector! AVAudioInputNode::setManualRenderingInputPCMFormat:inputBlock: not bound !missing-selector! AVAudioPlayer::format not bound !missing-selector! AVAudioSession::requestRecordPermission: not bound !unknown-field! AVFileType3GPP bound !unknown-field! AVFileType3GPP2 bound !unknown-field! AVFileTypeAC3 bound !unknown-field! AVFileTypeAIFC bound !unknown-field! AVFileTypeAIFF bound !unknown-field! AVFileTypeAMR bound !unknown-field! AVFileTypeAVCI bound !unknown-field! AVFileTypeAppleM4A bound !unknown-field! AVFileTypeAppleM4V bound !unknown-field! AVFileTypeCoreAudioFormat bound !unknown-field! AVFileTypeDNG bound !unknown-field! AVFileTypeEnhancedAC3 bound !unknown-field! AVFileTypeHEIC bound !unknown-field! AVFileTypeHEIF bound !unknown-field! AVFileTypeJPEG bound !unknown-field! AVFileTypeMPEG4 bound !unknown-field! AVFileTypeMPEGLayer3 bound !unknown-field! AVFileTypeQuickTimeMovie bound !unknown-field! AVFileTypeSunAU bound !unknown-field! AVFileTypeTIFF bound !unknown-field! AVFileTypeWAVE bound * [Metal] Implement API using IOSurface now that IOSurface is implemented. Partially fixes #58054. (#2621) https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [PdfKit] Improve PdfAnnotation.QuadrilateralPoints binding by making it strongly typed. (#2620) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). (#2622) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). * [ARKit/Vision] Use the new simd vector types instead of the OpenTK versions. * [ModelIO] Use the new simd vectors in new API (MDLVoxelIndexExtent2). This way we won't have to create a MDLVoxelIndexExtent3 in the future. * [SpriteKit] Use the new simd vectors in new API. * [metal] Audit (xtro) based fixes (#2623) !extra-protocol-member! unexpected selector MTLArgumentEncoder::newArgumentEncoderForBufferAtIndex: found !extra-protocol-member! unexpected selector MTLComputeCommandEncoder::dispatchThreads:threadsPerThreadgroup: found macos-only !missing-field! MTLDeviceRemovalRequestedNotification not bound !missing-field! MTLDeviceWasAddedNotification not bound !missing-field! MTLDeviceWasRemovedNotification not bound !missing-pinvoke! MTLCopyAllDevices is not bound * [CloudKit] Update bindings to beta 6. (#2615) * [FileProvider] Turn NSFileProviderItemIdentifier enum into a static class, fixes bug 59329 (#2634) https://bugzilla.xamarin.com/show_bug.cgi?id=59329 At the time of binding NSFileProviderItemIdentifier it wasn't clear how it was supposed to be used, I mean apple provides two keys which I thought were the only possible values hence binding it as an smart enum. Unfortunately this wasn't the case and the user can use those two values provided from the SDK or their own NSString Identifier. Swift provides a wrapper unfortunately we can't do the same due to NSFileProviderItemIdentifier is used in the NSFileProviderItem protocol and we currently do not support changing signatures on them. * [mtouch] Teach mtouch about the 'IOSurface' framework for tvOS. Fixes #59333. (#2630) https://bugzilla.xamarin.com/show_bug.cgi?id=59333 * Bump Touch.Unit to get fix for API breakage. (#2631) spouliot/Touch.Unit@8f1e19d [NUnitOutputTextWriter] Reintroduce previous constructor to make sure we don't break binary ABI. spouliot/Touch.Unit@00b0c0b [NUnitOutputTextWriter] Don't write invalid xml comments. spouliot/Touch.Unit@de9fe20 [TouchRunner] Restore the original code path when not wrapping NUnit xml output. * [IOSurface] Add missing availability attributes for tvOS. (#2629) * Bump versions for preview 9 (#2624) * [AVFoundation] Add missing interface AVRouteDetector. (#2637) * [tests] Update xtro to reduce list sizes (#2636) * Skip OpenTK duplicate declaration (we can't change them); * Fix rule name change for ARKit / simd; * Add missing default initializer on `init` to pending actions; * Add note for AVPersistableContentKeyRequest changes wrt tvOS; * [ReplayKit] Make RPBroadcastActivityViewController.LoadBroadcastActivityViewController async-capable. (#2639) * [xcode9] More SceneKit bindings (#2633) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 (#2644) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 https://bugzilla.xamarin.com/show_bug.cgi?id=59380 vector_float3 is 16 bytes, which means the binding is incorrect, because Vector3 is 12 bytes, and our code does not that difference into account. * Add tests * [DeviceCheck] Disable default ctor for DCDevice. (#2642) It doesn't seem to be useful according to the documentation, since it appears that the only way to get an instance is to use the static CurrentDevice property. * [audiounit] Audit (xtro) fixes for tvOS (#2635) Availability attributes in non-generated files don't hide symbols/code. reference: !unknown-pinvoke! AudioUnitExtensionCopyComponentList bound !unknown-pinvoke! AudioUnitExtensionSetComponentList bound * [tests] Make sure tvOS tests don't use the (unexisting) API * [tests] Add all test project variations to tests-mac.sln (#2579) * [xharness] Make sure generated mac projects have different project guids. * [introspection] Change the project guid so that it doesn't match the dontlink-mac project guid. * [tests] Add all test project variations to tests-mac.sln. * [xharness] Fix else condition. * [FileProvider] Adds missing NSFileProviderPage constants, fixes bug 59297. (#2646) https://bugzilla.xamarin.com/show_bug.cgi?id=59297 Adds NSFileProviderInitialPageSortedByName and NSFileProviderInitialPageSortedByDate NSData constants * [Xcode9] Remove NSFileProviderMessage and NSFileProviderMessageInterface (#2647) APIs were removed in beta 2 * [Foundation/UIKit] Provide LoadObject[s] methods that return the expected type in the callback. Fixes #59049. (#2638) The callback for these LoadObject[s] methods take an INSItemProviderReading parameter. This tells our runtime that we must provide an instance of a managed object that implements this interface (but nothing else), so we create a `NSItemProviderReadingWrapper` instance, which complies with the API (since the wrapper type implements the corresponding interface). Unfortunately these methods are supposed to return an instance of the passed- in type, so in order to comply with this soft (documentation-only) requirement, provide a wrapper method that creates instances of the right types. https://bugzilla.xamarin.com/show_bug.cgi?id=59049 * [arkit] Ignore deprecated selectors (#2645) * [FileProvider] Adds missing protocol and keys from audit (#2652) ``` !missing-protocol! NSFileProviderServiceSource not bound !missing-field! NSFileProviderErrorCollidingItemKey not bound !missing-field! NSFileProviderErrorNonExistentItemIdentifierKey not bound !missing-field! NSFileProviderFavoriteRankUnranked not bound ``` Also adds `NSXpcListenerEndpoint` to foundation, needed by `NSFileProviderServiceSource` protocol. * [tests][xtro] Workaround xtro runner dupe entry exception and update data files (#2654) * [AVFoundation] Rename field to match others. (#2657) * [homekit] Audit (xtro) fixes (#2653) - HMCharacteristicEvent conforms to NSMutableCopying on iOS11 which makes it 64 bits only (so adjust intro tests) - Ignore extra setters on HMMutablePresenceEvent, rdar 33883958 !missing-selector! HMMutablePresenceEvent::setPresenceEventType: not bound !missing-selector! HMMutablePresenceEvent::setPresenceUserType: not bound * [xtro] Add missing pinvoke to pending (#2662) - Bug 59422: [uikit] Missing UIContentSizeCategoryCompareToCategory & UIContentSizeCategoryIsAccessibilityCategory (https://bugzilla.xamarin.com/show_bug.cgi?id=59422) * Merge latest d15-3 fixes into xcode9 (#2660) * [msbuild] Re-added wildcard (*) expandsion for application-identifier in Entitlements.plist (#2186) Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=57119 * Bump mono (#2213) * Framework tests were still binding non-linked Simple class which errors now (#2216) (#2218) - Improve Makefile to rebuild when projects build with errors * Bump mono to get cecil fix for bug #56808. (#2222) https://bugzilla.xamarin.com/show_bug.cgi?id=56808 * [msbuild] Use @(ReferencePath) instead of @(ResolvedFiles) (#2188) (#2214) This allows things to work on both xbuild and msbuild. In xbuild, both lists are exactly the same and on msbuild, only @(ReferencePath) exists. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=55147 * NSActivityOptions.IdleDisplaySleepDisabled had wrong value (#2232) (#2239) This was due to an integer overflow. The original value was based on Int32 1 << 40 == 256 The correct value should be based on a UInt64. 1UL << 40 == 1099511627776 * [tests] Fix bug 57699 - [iOS]InternalsTest failure (Linkall) tests on device (#2243) Strip native debugging symbols should not be checked for debug builds * Bump mono to get fix for bug #57780. https://bugzilla.xamarin.com/show_bug.cgi?id=57780 * Update .gitmodules Change branch to d15-3 branch of mono * Bump maccore to get fix for bug #55064. https://bugzilla.xamarin.com/show_bug.cgi?id=55064 * [mono] Bump mono to get the head of cecil/mono-2017-04 and fix IsComObject #57919 Also fix #58789 [1], the typo in tools/mtouch/Tuning.cs showing in MT0000 errors instead MT2102. That's already in master and d15-4 mono bump includes: [2] commit 2a6502cee0df9de5198eafe7c8b5f6ac25106f34 (HEAD -> d15-3, origin/d15-3) Merge: 02457c20fcf 5e05cafc6f1 Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 10:04:06 2017 -0400 Merge pull request #5401 from marek-safar/com [Marshal.IsComObject] Make this predicate return false instead of thr… [3] commit 02457c20fcf57c0610e844d638eb1da82b5d1eb0 Merge: da80840ea55 73fd9a1b82e Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 09:59:06 2017 -0400 Merge pull request #5400 from spouliot/bump-cecil-58834-d15-3 [cecil] Bump to the head of the mono-2017-04 branch and pick the fix for bug #58834 References [1] https://bugzilla.xamarin.com/show_bug.cgi?id=58789 [2] https://bugzilla.xamarin.com/show_bug.cgi?id=57919 [3] https://bugzilla.xamarin.com/show_bug.cgi?id=58834 * [mtouch] Put 'mono_profiler_startup_log' in the symbol list. Fixes #58778. (#2501) We need the 'mono_profiler_startup_log' symbol when profiling is enabled, so make sure to add the symbol to the correct list of symbols we need. Previously we were passing `-u _mono_profiler_startup_log` to clang directly, which is fine, but not complete, since it does not write the symbol to the symbollist file (--symbollist=file), which means it wouldn't be preserved when the MSBuild tasks strip the executable. https://bugzilla.xamarin.com/show_bug.cgi?id=58778 * Bump versions for SR3 https://trello.com/c/EVze08ei * Bump mono to include HttpClientHandler fix #44027 https://trello.com/c/jYFXadH8/8-systemnethttp-close-request-stream-when-httpclienthandler https://bugzilla.xamarin.com/show_bug.cgi?id=44027 * [FileProvider] Add missing API and turn NSString to string (#2663) Turned NSString to string in order to match exisiting API. * [uikit] Add UIPasteConfigurationSupporting and UITextPasteConfigurationSupporting (#2649) - Fixes bug #59363: Missing UIPasteConfigurationSupporting, UITextPasteConfigurationSupporting, UITextDraggable and UITextDroppable on a couple of types (https://bugzilla.xamarin.com/show_bug.cgi?id=59363) * [uikit] Remove 129 types in UIPasteConfigurationSupporting case * [scenekit] Audit (xtro) fixes (#2648) This looks like an Apple breaking change (since `SCNAnimation` is new) but we now have: > typedef void (^SCNAnimationEventBlock)(id<SCNAnimation> animation, id animatedObject, BOOL playingBackward); bound as > delegate void SCNAnimationEventHandler (CAAnimation animation, NSObject animatedObject, bool playingBackward); and `CAAnimation` conforms to `SCNAnimation` but *only* the later is available on watchOS. The delegate is only updated (since it's new) on our watchOS profile. xtro references: (watchos) !unknown-protocol! SCNCameraControlConfiguration bound (tvos/watchos) !missing-selector! SCNAnimation::animationEvents not bound !missing-selector! SCNAnimation::setAnimationEvents: not bound !missing-selector! SCNConstraint::isEnabled not bound !missing-selector! SCNConstraint::setEnabled: not bound !missing-field! SCNSceneSourceConvertToYUpKey not bound !missing-field! SCNSceneSourceConvertUnitsToMetersKey not bound (ios/tvos) !missing-protocol-conformance! SCNNode should conform to UIFocusItem * Bump maccore post 15.3 merge (#2665) * Bump Xcode 9 to GM (#2667) * Force build (on wrench) * [avfoundation] Fix breaking changes (apidiff) (#2664) * [TVServices] Update to Xcode 9 GM (#2675) * [GameController] Update to Xcode 9 GM (#2673) * [LocalAuthentication] Update to Xcode 9 GM (#2671) * [LocalAuthentication] Update to Xcode 9 GM * Remove availability from BiometryNotAvailable, BiometryNotEnrolled and BiometryLockout * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer (#2659) * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer Some of the new added types were already present BUT under a #if MONOMAC, they had to be moved. * [AVFoundation] Set the wrongly added API to be obsolete and ensure it returns logical values. (#2650) * [xtro] The right platform for macOS is 'macos', not 'osx'. (#2677) The platform name is used to filter availability attributes, and if we use the wrong platform, we'll incorrectly skip all availability attributes. The net result in unclassified entries: https://gist.github.com/rolfbjarne/a4474bc2a40c49a85cad495b51bb514f * Various Xcode 9 API improvements and also fixes bug 59433 (#2676) https://bugzilla.xamarin.com/show_bug.cgi?id=59433 While fixing bug 59433 I noticed some additional issues outlined below: AVDepthData: * Renamed **non** static `Create` methods because `Create` only makes sense with the **Static** method in this context. Also by renaming the methods we are now closer to the names that swift uses. * Kept descriptive method names in favor of self-documenting code. `Convert`, `Apply` and `Replace` do not fully give us the intent of the method. * Added a convenience `Create` static method that takes a `CGImageAuxiliaryDataInfo`. * AvailableDepthDataTypes is now an array of `CVPixelFormatType` instead of a `NSNumber` array (The aactual fix for bug 59433). ImageIO: * Refactored `CGImageAuxiliaryDataInfo` to be a `StrongDictionary` in order to avoid most of the manual code and also to avoid reimplementing the `ToDictionary` method (which contained a subtle bug). * Adjusted code to reflect the above change. * Added missing `.ctor (IntPtr, bool)` to `CGImageMetadata` so the class is able to be created by our `Runtime.Get*`. * Simplified `CopyAuxiliaryDataInfo` method by using `CGImageAuxiliaryDataInfo` as a `DictionaryContainer`. Tests: * Added `xamarinmonkey.heic` which is an image that contains depth data needed to test above changes. * Adds `AVDepthDataTests` that touches most of the changes listed here. * Tweak the Simd-compatible matrices and vectors (#2668) * Rename them to be OpenTK.NMatrix# (instead of Simd.MatrixFloat#x#). * Remove the Vector2 and Vector4 variants, we'll use the OpenTK types instead (but we'll keep the NVector3 variant, since it's not identical to the OpenTK version). * Update the API to match their OpenTK counterparts better: * NMatrix2 and NMatrix3 have a 0-based R#C# scheme for their fields. * NMatrix4 has a 1-based M## scheme for its fields (i.e. no change). * [AVFoundation] Use Simd-matrix for API that needs it. (#2679) This also requires implementing the corresponding matrix (NMatrix4x3). Fixes this xtro issue: > !unknown-simd-type-in-signature! OpenTK.Matrix3 AVFoundation.AVCameraCalibrationData::get_GetIntrinsicMatrix(): the native signature has a simd type (matrix_float3x3), while the corresponding managed method is using an incorrect (non-simd) type. * [xtro] Fix checking availability on categories. (#2682) When checking for category availability, check if both the current declaration is a category, and if the current's declaration container is a category. Otherwise this scenario fails: * Category method is available. * Category does not have availability attributes. * Main class is unavailable. with this typical code sequence: ```csharp // don't process methods (or types) that are unavailable for the current platform if (!decl.IsAvailable () || !(decl.DeclContext as Decl).IsAvailable ()) return; ``` In which case we'd: * First check the method (`decl`): * It's available, so no further checks is done on the method. * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container's container is a category (it isn't, it's the namespace). and as such determine that the method is available. With this change, the second step will become: * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container is a category (it is), and if its main class is available (it isn't). and as such determine that the method is unavailable. * Check for attributes on the method's container (no attributes, so we continue). * Check if the method's Unclassified diff: https://gist.github.com/rolfbjarne/8fa80962596978a426eadf9b7ba39dc1 * [uikit] Update for Xcode 9 GM (#2670) * [AVFoundation] Implement AVCapturePhoto. Partially fixes #59388. (#2678) Fixes: > common.unclassified:!missing-type! AVCapturePhoto not bound https://bugzilla.xamarin.com/show_bug.cgi?id=59388 * Use strong dictionaries for AVCapturePhoto.Metadata and AVCapturePhoto.EmbeddedThumbnailPhotoFormat. * [SIMD] Implement Simd double types (VectorDouble3/MatrixDouble4x4). (#2632) The following types will be used by ModelIO bindings * Fix delta to be double * Rename Simd-compatible matrices and vectors to match our final naming. This also means removing the new Vector2 and Vector4 variants (but not Vector3). * [avfoundation] Remove AVAssetDownloadDelegate.DidLoadTimeRange since it was removed in one of the betas (#2687) * [foundation] Move NSUrlSessionMultipathServiceType to a file processed by the generator (for the availability attributes) (#2688) * [arkit] Update for Xcode 9 GM (#2681) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes (#2690) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes Type Changed: Intents.INCarSeatResolutionResult Removed methods: public static INCarSeatResolutionResult GetConfirmationRequired (INCarSeat valueToConfirm); public static INCarSeatResolutionResult GetSuccess (INCarSeat resolvedValue); * [avfoundation] Add missing protocol members and deprecations (#2691) !missing-protocol-member! AVCapturePhotoCaptureDelegate::captureOutput:didFinishProcessingPhoto:error: not found and the selector removed from PR#2687 was actually replaced with this one !missing-protocol-member! AVAssetDownloadDelegate::URLSession:aggregateAssetDownloadTask:didLoadTimeRange:totalTimeRangesLoaded:timeRangeExpectedToLoad:forMediaSelection: not found * [tests][xtro] Map some enums, more fix with protocols and update entries (#2692) * [Tests] Reenable dns tests on the watch. (#2674) * [arkit] Add ARBlendShapeLocationOptions strong dictionary (#2696) * [coreimage] Skip not yet bound filters added in Xcode9 (#2698) Tracked in https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * [Metal] Renamed MTLArgumentDescriptor.ArgumentDescriptor to Create, fixes bug 59498 (#2702) https://bugzilla.xamarin.com/show_bug.cgi?id=59498 From [argumentDescriptor docs](https://developer.apple.com/documentation/metal/mtlargumentdescriptor/2915746-argumentdescriptor?language=objc) > Creates an empty argument descriptor. * [msbuild] Always codesign app bundles if the codesign key is non-null (#2697) ...even if it is a simulator build. Turns out that starting with Xcode9, sim builds need to be codesigned for App Groups entitlements to work properly. Interestingly, the DetectSigningIdentity logic had a comment about needing to codesign simulator builds for some entitlements to work already starting with Xcode 8 but apparently the iOS targets did not respect this. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=59379 * [Foundation] Add NSProxy stub in order to workaround bug 59247 (#2693) https://bugzilla.xamarin.com/show_bug.cgi?id=59247 We need to have a better solution that removes all what NSProxy does not responds to. Right now this works because NSObject implements NSObject protocol just like NSProxy, but NSProxy responds to far less selectors hence doing it internal so it is not a breaking change when we provide the correct fix. * Keep NSProxy around and avoid XML linker description We need to keep NSProxy (avoid linking it) if WKNavigationDelegate or IWKNavigationDelegate is used. We know WKWebView will be there and can hold a reference to it. * [Xcode 9] Update Metal for GM (#2689) * [iosurface] IOSurface is not usable before iOS/tvOS 11. Fixes #59201 (#2706) Apple rejects apps that links with the previously private IOSurface.framework. We were not sure about this [1] and had it disabled (this is removed). However another bug stopped our adjustment logic [2] from being executed. This is needed since `clang` picks up the private framework if it does not find the public one (even when asking for a weak framework), [1] https://bugzilla.xamarin.com/show_bug.cgi?id=59201 [2] Added a while ago for JavascriptCore * Bump maccore to point to commit with the docs fix. (#2703) * Bump XI to 11.0.x (and XM to 3.99.9.x) (#2684) * fix typo
2017-09-16 00:53:16 +03:00
[Static]
[Export ("orientationConstraintInWorldSpace:withBlock:")]
SCNTransformConstraint CreateOrientationConstraint (bool inWorldSpace, Func<SCNNode, SCNQuaternion, SCNQuaternion> transformHandler);
2016-04-21 15:30:02 +03:00
}
[Watch (3,0)]
2016-04-21 15:30:02 +03:00
[Mac (10,9), iOS (8,0)]
[BaseType (typeof (NSObject))]
[DisableDefaultCtor]
interface SCNLevelOfDetail : NSCopying, NSSecureCoding {
[Export ("geometry")]
SCNGeometry Geometry { get; }
[Export ("screenSpaceRadius")]
nfloat ScreenSpaceRadius { get; }
[Export ("worldSpaceDistance")]
nfloat WorldSpaceDistance { get; }
[Static, Export ("levelOfDetailWithGeometry:screenSpaceRadius:")]
SCNLevelOfDetail CreateWithScreenSpaceRadius ([NullAllowed] SCNGeometry geometry, nfloat screenSpaceRadius);
[Static, Export ("levelOfDetailWithGeometry:worldSpaceDistance:")]
SCNLevelOfDetail CreateWithWorldSpaceDistance ([NullAllowed] SCNGeometry geometry, nfloat worldSpaceDistance);
}
[Watch (3,0)]
2016-04-21 15:30:02 +03:00
[Mac (10,9), iOS (8,0)]
[Static]
interface _SCNShaderModifiers {
[Internal, Field ("SCNShaderModifierEntryPointGeometry")]
NSString EntryPointGeometryKey { get; }
[Internal, Field ("SCNShaderModifierEntryPointSurface")]
NSString EntryPointSurfaceKey { get; }
[Internal, Field ("SCNShaderModifierEntryPointLightingModel")]
NSString EntryPointLightingModelKey { get; }
[Internal, Field ("SCNShaderModifierEntryPointFragment")]
NSString EntryPointFragmentKey { get; }
}
[Watch (3,0)]
2016-04-21 15:30:02 +03:00
[Mac (10,10), iOS (8,0)]
[Protocol, Model]
[BaseType (typeof (NSObject))]
interface SCNActionable {
#if XAMCORE_2_0
[Abstract]
#endif
[Export ("runAction:")]
void RunAction (SCNAction action);
#if XAMCORE_2_0
[Abstract]
#endif
[Export ("runAction:completionHandler:")]
void RunAction (SCNAction action, [NullAllowed] Action block);
#if XAMCORE_2_0
[Abstract]
#endif
[Export ("runAction:forKey:")]
void RunAction (SCNAction action, [NullAllowed] string key);
#if XAMCORE_2_0
[Abstract]
#endif
[Export ("runAction:forKey:completionHandler:")]
void RunAction (SCNAction action, [NullAllowed] string key, [NullAllowed] Action block);
#if XAMCORE_2_0
[Abstract]
#endif
[Export ("hasActions")]
bool HasActions ();
#if XAMCORE_2_0
[Abstract]
#endif
[Export ("actionForKey:")]
SCNAction GetAction (string key);
#if XAMCORE_2_0
[Abstract]
#endif
[Export ("removeActionForKey:")]
void RemoveAction (string key);
#if XAMCORE_2_0
[Abstract]
#endif
[Export ("removeAllActions")]
void RemoveAllActions ();
#if XAMCORE_4_0
[Abstract]
#endif
2016-04-21 15:30:02 +03:00
[iOS (8,0), Mac(10,10)]
[Export ("actionKeys")]
string [] ActionKeys { get; }
}
[Mac (10,10), iOS (8,0)]
delegate void SCNActionNodeWithElapsedTimeHandler (SCNNode node, nfloat elapsedTime);
[Watch (3,0)]
2016-04-21 15:30:02 +03:00
[Mac (10,10), iOS (8,0)]
[BaseType (typeof (NSObject))]
interface SCNAction : NSCopying, NSSecureCoding {
[Export ("duration")]
double DurationInSeconds { get; set; }
[Export ("timingMode")]
SCNActionTimingMode TimingMode { get; set; }
[NullAllowed, Export ("timingFunction", ArgumentSemantic.Assign)]
Action<float> TimingFunction { get; set; }
[Export ("speed")]
nfloat Speed { get; set; }
[Export ("reversedAction")]
SCNAction ReversedAction ();
[Static, Export ("moveByX:y:z:duration:")]
SCNAction MoveBy (nfloat deltaX, nfloat deltaY, nfloat deltaZ, double durationInSeconds);
[Static, Export ("moveBy:duration:")]
SCNAction MoveBy (SCNVector3 delta, double durationInSeconds);
[Static, Export ("moveTo:duration:")]
SCNAction MoveTo (SCNVector3 location, double durationInSeconds);
[Static, Export ("rotateByX:y:z:duration:")]
SCNAction RotateBy (nfloat xAngle, nfloat yAngle, nfloat zAngle, double durationInSeconds);
[Static, Export ("rotateByAngle:aroundAxis:duration:")]
SCNAction RotateBy (nfloat angle, SCNVector3 axis, double durationInSeconds);
[Static, Export ("rotateToX:y:z:duration:")]
SCNAction RotateTo (nfloat xAngle, nfloat yAngle, nfloat zAngle, double durationInSeconds);
[Static, Export ("rotateToX:y:z:duration:shortestUnitArc:")]
SCNAction RotateTo (nfloat xAngle, nfloat yAngle, nfloat zAngle, double durationInSeconds, bool shortestUnitArc);
[Static, Export ("rotateToAxisAngle:duration:")]
SCNAction RotateTo (SCNVector4 axisAngle, double durationInSeconds);
[Static, Export ("scaleBy:duration:")]
SCNAction ScaleBy (nfloat scale, double durationInSeconds);
[Static, Export ("scaleTo:duration:")]
SCNAction ScaleTo (nfloat scale, double durationInSeconds);
[Static, Export ("sequence:")]
SCNAction Sequence (SCNAction [] actions);
[Static, Export ("group:")]
SCNAction Group (SCNAction [] actions);
[Static, Export ("repeatAction:count:")]
SCNAction RepeatAction (SCNAction action, nuint count);
[Static, Export ("repeatActionForever:")]
SCNAction RepeatActionForever (SCNAction action);
[Static, Export ("fadeInWithDuration:")]
SCNAction FadeIn (double durationInSeconds);
[Static, Export ("fadeOutWithDuration:")]
SCNAction FadeOut (double durationInSeconds);
[Static, Export ("fadeOpacityBy:duration:")]
SCNAction FadeOpacityBy (nfloat factor, double durationInSeconds);
[Static, Export ("fadeOpacityTo:duration:")]
SCNAction FadeOpacityTo (nfloat opacity, double durationInSeconds);
[Static, Export ("waitForDuration:")]
SCNAction Wait (double durationInSeconds);
[Static, Export ("waitForDuration:withRange:")]
SCNAction Wait (double durationInSeconds, double durationRange);
[Static, Export ("removeFromParentNode")]
SCNAction RemoveFromParentNode ();
[Static, Export ("runBlock:")]
SCNAction Run (Action<SCNNode> handler);
[Static, Export ("runBlock:queue:")]
SCNAction Run (Action<SCNNode> handler, DispatchQueue queue);
[Static, Export ("javaScriptActionWithScript:duration:")]
SCNAction FromJavascript (string script, double seconds);
[Static, Export ("customActionWithDuration:actionBlock:")]
SCNAction CustomAction (double seconds, SCNActionNodeWithElapsedTimeHandler handler);
[Mac (10,11), iOS (9,0)]
[Static, Export ("hide")]
SCNAction Hide ();
[Mac (10,11), iOS (9,0)]
[Static, Export ("unhide")]
SCNAction Unhide ();
[Mac (10,11), iOS (9,0)]
[Static, Export ("playAudioSource:waitForCompletion:")]
SCNAction PlayAudioSource (SCNAudioSource source, bool wait);
}
[Mac (10,8), iOS (8,0)]
delegate void SCNBindingHandler (uint /* unsigned int */ programId, uint /* unsigned int */ location, SCNNode renderedNode, SCNRenderer renderer);
[Watch (3,0)]
2016-04-21 15:30:02 +03:00
[StrongDictionary ("_SCNShaderModifiers")]
interface SCNShaderModifiers {
string EntryPointGeometry { get; set; }
string EntryPointSurface { get; set; }
string EntryPointLightingModel { get; set; }
string EntryPointFragment { get; set; }
}
[Watch (3,0)]
2016-04-21 15:30:02 +03:00
[Mac (10,9), iOS (8,0)]
[Protocol, Model]
[BaseType (typeof (NSObject))]
interface SCNShadable {
[Mac (10,9, onlyOn64 : true)] // Not marked, but crashes 32-bit - 17695192
[NullAllowed] // by default this property is null
[Export ("shaderModifiers", ArgumentSemantic.Copy)]
NSDictionary WeakShaderModifiers { get; set; }
[Mac (10,9, onlyOn64 : true)] // Not marked, but crashes 32-bit - 17695192
[Wrap ("WeakShaderModifiers")]
SCNShaderModifiers ShaderModifiers { get; set; }
[NoWatch]
2016-04-21 15:30:02 +03:00
[NullAllowed] // by default this property is null
[Export ("program", ArgumentSemantic.Retain)]
SCNProgram Program { get; set; }
[Mac (10,9), NoWatch]
2016-04-21 15:30:02 +03:00
[Export ("handleBindingOfSymbol:usingBlock:")]
void HandleBinding (string symbol, SCNBindingHandler handler);
[Mac (10,9), NoWatch]
2016-04-21 15:30:02 +03:00
[Export ("handleUnbindingOfSymbol:usingBlock:")]
void HandleUnbinding (string symbol, SCNBindingHandler handler);
}
[Watch (3,0)]
2016-04-21 15:30:02 +03:00
[Mac (10,10), iOS (8,0)]
[BaseType (typeof (NSObject))]
[DisableDefaultCtor]
interface SCNTechnique : SCNAnimatable, NSCopying, NSSecureCoding {
[Export ("dictionaryRepresentation")]
#if XAMCORE_2_0
NSDictionary ToDictionary ();
#else
[Obsolete ("Use ToDictionary () instead")]
NSDictionary DictionaryRepresentation { get; }
#endif
[Static, Export ("techniqueWithDictionary:")]
SCNTechnique Create (NSDictionary dictionary);
[Static, Export ("techniqueBySequencingTechniques:")]
SCNTechnique Create (SCNTechnique [] techniques);
[NoWatch]
2016-04-21 15:30:02 +03:00
[Export ("handleBindingOfSymbol:usingBlock:")]
void HandleBinding (string symbol, [NullAllowed] SCNBindingHandler handler);
[iOS (9,0)][Mac (10,11)]
[Internal, Export ("objectForKeyedSubscript:")]
[return: NullAllowed]
NSObject _GetObject (NSObject key);
[iOS (9,0)][Mac (10,11)]
[Internal, Export ("setObject:forKeyedSubscript:")]
void _SetObject ([NullAllowed] NSObject obj, INSCopying key);
}
[Watch (3,0)]
2016-04-21 15:30:02 +03:00
[Mac (10,10), iOS (8,0)]
[Protocol, Model]
[BaseType (typeof (NSObject))]
interface SCNTechniqueSupport {
[Abstract]
[Mac (10,10), iOS (8,0)]
[Export ("technique", ArgumentSemantic.Copy)]
SCNTechnique Technique { get; [NullAllowed] set; }
}
[Watch (3,0)]
2016-04-21 15:30:02 +03:00
[Mac (10,10), iOS (8,0)]
[Static]
interface SCNPhysicsTestKeys {
[Field ("SCNPhysicsTestCollisionBitMaskKey")]
NSString CollisionBitMaskKey { get; }
[Field ("SCNPhysicsTestSearchModeKey")]
NSString SearchModeKey { get; }
[Field ("SCNPhysicsTestBackfaceCullingKey")]
NSString BackfaceCullingKey { get; }
}
[Watch (3,0)]
2016-04-21 15:30:02 +03:00
[Mac (10,10), iOS (8,0)]
[Static]
interface SCNPhysicsTestSearchModeKeys {
[Field ("SCNPhysicsTestSearchModeAny")]
NSString Any { get; }
[Field ("SCNPhysicsTestSearchModeClosest")]
NSString Closest { get; }
[Field ("SCNPhysicsTestSearchModeAll")]
NSString All { get; }
}
[Watch (3,0)]
2016-04-21 15:30:02 +03:00
[Mac (10,10), iOS (8,0)]
[BaseType (typeof (NSObject))]
[DisableDefaultCtor]
interface SCNPhysicsBody : NSCopying, NSSecureCoding {
[Static, Export ("staticBody")]
SCNPhysicsBody CreateStaticBody ();
[Static, Export ("dynamicBody")]
SCNPhysicsBody CreateDynamicBody ();
[Static, Export ("kinematicBody")]
SCNPhysicsBody CreateKinematicBody ();
[Static, Export ("bodyWithType:shape:")]
SCNPhysicsBody CreateBody (SCNPhysicsBodyType type, [NullAllowed] SCNPhysicsShape shape);
[Export ("type")]
SCNPhysicsBodyType Type { get; set; }
[Export ("mass")]
nfloat Mass { get; set; }
[Export ("friction")]
nfloat Friction { get; set; }
[Export ("charge")]
nfloat Charge { get; set; }
[Export ("restitution")]
nfloat Restitution { get; set; }
[Export ("rollingFriction")]
nfloat RollingFriction { get; set; }
[Export ("physicsShape", ArgumentSemantic.Retain)]
SCNPhysicsShape PhysicsShape { get; set; }
[Export ("isResting")]
bool IsResting { get; }
[Export ("allowsResting")]
bool AllowsResting { get; set; }
[Export ("velocity")]
SCNVector3 Velocity { get; set; }
[Export ("angularVelocity")]
SCNVector4 AngularVelocity { get; set; }
[Export ("damping")]
nfloat Damping { get; set; }
[Export ("angularDamping")]
nfloat AngularDamping { get; set; }
[Export ("velocityFactor")]
SCNVector3 VelocityFactor { get; set; }
[Export ("angularVelocityFactor")]
SCNVector3 AngularVelocityFactor { get; set; }
[Export ("categoryBitMask", ArgumentSemantic.UnsafeUnretained)]
nuint CategoryBitMask { get; set; }
[Export ("collisionBitMask", ArgumentSemantic.UnsafeUnretained)]
nuint CollisionBitMask { get; set; }
[Export ("applyForce:impulse:")]
void ApplyForce (SCNVector3 direction, bool impulse);
[Export ("applyForce:atPosition:impulse:")]
void ApplyForce (SCNVector3 direction, SCNVector3 position, bool impulse);
[Export ("applyTorque:impulse:")]
void ApplyTorque (SCNVector4 torque, bool impulse);
[Export ("clearAllForces")]
void ClearAllForces ();
[Export ("resetTransform")]
void ResetTransform ();
[iOS (9,0), Mac(10,11)]
[Export ("momentOfInertia", ArgumentSemantic.Assign)]
SCNVector3 MomentOfInertia { get; set; }
[iOS (9,0), Mac(10,11)]
[Export ("usesDefaultMomentOfInertia")]
bool UsesDefaultMomentOfInertia { get; set; }
[iOS (9,0), Mac(10,11)]
[Export ("contactTestBitMask", ArgumentSemantic.Assign)]
nuint ContactTestBitMask { get; set; }
[iOS (9,0), Mac(10,11)]
[Export ("affectedByGravity")]
bool AffectedByGravity { [Bind ("isAffectedByGravity")] get; set; }
}
[Mac (10,10), iOS (8,0)]
delegate SCNVector3 SCNFieldForceEvaluator (SCNVector3 position, SCNVector3 velocity, float /* float, not CGFloat */ mass, float /* float, not CGFloat */ charge, double timeInSeconds);
[Watch (3,0)]
2016-04-21 15:30:02 +03:00
[Mac (10,10), iOS (8,0)]
[BaseType (typeof (NSObject))]
[DisableDefaultCtor]
interface SCNPhysicsField : NSCopying, NSSecureCoding {
[Static, Export ("dragField")]
SCNPhysicsField CreateDragField ();
[Static, Export ("vortexField")]
SCNPhysicsField CreateVortexField ();
[Static, Export ("radialGravityField")]
SCNPhysicsField CreateRadialGravityField ();
[Static, Export ("linearGravityField")]
SCNPhysicsField CreateLinearGravityField ();
[Static, Export ("noiseFieldWithSmoothness:animationSpeed:")]
SCNPhysicsField CreateNoiseField (nfloat smoothness, nfloat speed);
[Static, Export ("turbulenceFieldWithSmoothness:animationSpeed:")]
SCNPhysicsField CreateTurbulenceField (nfloat smoothness, nfloat speed);
[Static, Export ("springField")]
SCNPhysicsField CreateSpringField ();
[Static, Export ("electricField")]
SCNPhysicsField CreateElectricField ();
[Static, Export ("magneticField")]
SCNPhysicsField CreateMagneticField ();
[Static, Export ("customFieldWithEvaluationBlock:")]
SCNPhysicsField CustomField (SCNFieldForceEvaluator evaluator);
[Export ("strength")]
nfloat Strength { get; set; }
[Export ("falloffExponent")]
nfloat FalloffExponent { get; set; }
[Export ("minimumDistance")]
nfloat MinimumDistance { get; set; }
[Export ("active")]
bool Active { [Bind ("isActive")] get; set; }
[Export ("exclusive")]
bool Exclusive { [Bind ("isExclusive")] get; set; }
[Export ("halfExtent")]
SCNVector3 HalfExtent { get; set; }
[Export ("usesEllipsoidalExtent")]
bool UsesEllipsoidalExtent { get; set; }
[Export ("scope")]
SCNPhysicsFieldScope Scope { get; set; }
[Export ("offset")]
SCNVector3 Offset { get; set; }
[Export ("direction")]
SCNVector3 Direction { get; set; }
[Export ("categoryBitMask")]
nuint CategoryBitMask { get; set; }
}
[Watch (3,0)]
2016-04-21 15:30:02 +03:00
[StrongDictionary ("SCNPhysicsTestKeys")]
interface SCNPhysicsTest {
nuint CollisionBitMask { get; set; }
bool BackfaceCulling { get; set; }
[Internal, Export ("SCNPhysicsTestKeys.SearchModeKey")]
NSString _SearchMode { get; set; }
}
[Watch (3,0)]
2016-04-21 15:30:02 +03:00
[Mac (10,10), iOS (8,0)]
[BaseType (typeof (NSObject),
Delegates = new [] { "WeakContactDelegate" },
Events = new [] { typeof (SCNPhysicsContactDelegate) }
)]
[DisableDefaultCtor] // not to be allocated directly; use SCNScene.PhysicsWorld
interface SCNPhysicsWorld : NSSecureCoding {
[Export ("gravity")]
SCNVector3 Gravity { get; set; }
[Export ("speed")]
nfloat Speed { get; set; }
[Export ("timeStep")]
double TimeStep { get; set; }
[Export ("contactDelegate", ArgumentSemantic.UnsafeUnretained)]
[NullAllowed]
NSObject WeakContactDelegate { get; set; }
[Wrap ("WeakContactDelegate")]
[Protocolize]
SCNPhysicsContactDelegate ContactDelegate { get; set; }
[Export ("addBehavior:")]
void AddBehavior (SCNPhysicsBehavior behavior);
[Export ("removeBehavior:")]
void RemoveBehavior (SCNPhysicsBehavior behavior);
[Export ("removeAllBehaviors")]
void RemoveAllBehaviors ();
[Export ("allBehaviors")]
SCNPhysicsBehavior [] AllBehaviors { get; }
[Export ("rayTestWithSegmentFromPoint:toPoint:options:")]
[EditorBrowsable (EditorBrowsableState.Advanced)]
SCNHitTestResult [] RayTestWithSegmentFromPoint (SCNVector3 origin, SCNVector3 dest, [NullAllowed] NSDictionary options);
[Wrap ("RayTestWithSegmentFromPoint (origin, dest, options != null ? options.Dictionary : null)")]
SCNHitTestResult [] RayTestWithSegmentFromPoint (SCNVector3 origin, SCNVector3 dest, [NullAllowed] SCNPhysicsTest options);
[Export ("contactTestBetweenBody:andBody:options:")]
[EditorBrowsable (EditorBrowsableState.Advanced)]
SCNPhysicsContact [] ContactTest (SCNPhysicsBody bodyA, SCNPhysicsBody bodyB, [NullAllowed] NSDictionary options);
[Wrap ("ContactTest (bodyA, bodyB, options != null ? options.Dictionary : null)")]
SCNPhysicsContact [] ContactTest (SCNPhysicsBody bodyA, SCNPhysicsBody bodyB, [NullAllowed] SCNPhysicsTest options);
[Export ("contactTestWithBody:options:")]
[EditorBrowsable (EditorBrowsableState.Advanced)]
SCNPhysicsContact [] ContactTest (SCNPhysicsBody body, [NullAllowed] NSDictionary options);
[Wrap ("ContactTest (body, options != null ? options.Dictionary : null)")]
SCNPhysicsContact [] ContactTest (SCNPhysicsBody body, [NullAllowed] SCNPhysicsTest options);
[Export ("convexSweepTestWithShape:fromTransform:toTransform:options:")]
[EditorBrowsable (EditorBrowsableState.Advanced)]
SCNPhysicsContact [] ConvexSweepTest (SCNPhysicsShape shape, SCNMatrix4 from, SCNMatrix4 to, [NullAllowed] NSDictionary options);
[Wrap ("ConvexSweepTest (shape, from, to, options != null ? options.Dictionary : null)")]
SCNPhysicsContact [] ConvexSweepTest (SCNPhysicsShape shape, SCNMatrix4 from, SCNMatrix4 to, [NullAllowed] SCNPhysicsTest options);
[Export ("updateCollisionPairs")]
void UpdateCollisionPairs ();
}
[Watch (3,0)]
2016-04-21 15:30:02 +03:00
[Mac (10,10), iOS (8,0)]
[BaseType (typeof (NSObject))]
[DisableDefaultCtor]
interface SCNPhysicsShape : NSCopying, NSSecureCoding {
[Internal, Static, Export ("shapeWithShapes:transforms:")]
SCNPhysicsShape Create (SCNPhysicsShape [] shapes, NSValue [] transforms);
[Static, Export ("shapeWithGeometry:options:")]
[EditorBrowsable (EditorBrowsableState.Advanced)]
SCNPhysicsShape Create (SCNGeometry geometry, [NullAllowed] NSDictionary options);
[Static, Export ("shapeWithNode:options:")]
[EditorBrowsable (EditorBrowsableState.Advanced)]
SCNPhysicsShape Create (SCNNode node, [NullAllowed] NSDictionary options);
[iOS (9,0), Mac(10,11)]
[NullAllowed, Export ("options"), Internal]
NSDictionary _Options { get; }
[iOS (9,0), Mac(10,11)]
[Export ("sourceObject")]
NSObject SourceObject { get; }
[iOS (9,0), Mac(10,11)]
[NullAllowed, Export ("transforms")]
NSValue[] Transforms { get; }
}
[Watch (3,0)]
2016-04-21 15:30:02 +03:00
[Mac (10,10), iOS (8,0)]
[Static]
[EditorBrowsable (EditorBrowsableState.Advanced)]
interface SCNPhysicsShapeOptionsKeys {
[Field ("SCNPhysicsShapeScaleKey")]
NSString Scale { get; }
[TV (10, 0), Mac (10, 12), iOS (10, 0)]
[Field ("SCNPhysicsShapeOptionCollisionMargin")]
NSString CollisionMargin { get; }
2016-04-21 15:30:02 +03:00
[Field ("SCNPhysicsShapeKeepAsCompoundKey")]
NSString KeepAsCompound { get; }
[Field ("SCNPhysicsShapeTypeKey")]
NSString Type { get; }
}
[Watch (3,0)]
2016-04-21 15:30:02 +03:00
[Mac (10,10), iOS (8,0)]
[Static]
[EditorBrowsable (EditorBrowsableState.Advanced)]
interface SCNPhysicsShapeOptionsTypes {
[Field ("SCNPhysicsShapeTypeBoundingBox")]
NSString BoundingBox { get; }
[Field ("SCNPhysicsShapeTypeConvexHull")]
NSString ConvexHull { get; }
[Field ("SCNPhysicsShapeTypeConcavePolyhedron")]
NSString ConcavePolyhedron { get; }
}
[Watch (3,0)]
2016-04-21 15:30:02 +03:00
[Mac (10,10), iOS (8,0)]
[BaseType (typeof (NSObject))]
[DisableDefaultCtor]
interface SCNPhysicsContact {
[Export ("nodeA")]
SCNNode NodeA { get; }
[Export ("nodeB")]
SCNNode NodeB { get; }
[Export ("contactPoint")]
SCNVector3 ContactPoint { get; }
[Export ("contactNormal")]
SCNVector3 ContactNormal { get; }
[Export ("collisionImpulse")]
nfloat CollisionImpulse { get; }
[Export ("penetrationDistance")]
nfloat PenetrationDistance { get; }
[Watch (4,0), TV (11,0), Mac (10,13), iOS (11,0)]
[Export ("sweepTestFraction")]
nfloat SweepTestFraction { get; }
2016-04-21 15:30:02 +03:00
}
[Watch (3,0)]
2016-04-21 15:30:02 +03:00
[Mac (10,10), iOS (8,0)]
[Protocol, Model]
[BaseType (typeof (NSObject))]
interface SCNPhysicsContactDelegate {
[Export ("physicsWorld:didBeginContact:"), EventArgs ("SCNPhysicsContact")]
void DidBeginContact (SCNPhysicsWorld world, SCNPhysicsContact contact);
[Export ("physicsWorld:didUpdateContact:"), EventArgs ("SCNPhysicsContact")]
void DidUpdateContact (SCNPhysicsWorld world, SCNPhysicsContact contact);
[Export ("physicsWorld:didEndContact:"), EventArgs ("SCNPhysicsContact")]
void DidEndContact (SCNPhysicsWorld world, SCNPhysicsContact contact);
}
[Watch (3,0)]
2016-04-21 15:30:02 +03:00
[Mac (10,10), iOS (8,0)]
[BaseType (typeof (NSObject))]
[Abstract]
[DisableDefaultCtor]
interface SCNPhysicsBehavior : NSSecureCoding {
}
[Watch (3,0)]
2016-04-21 15:30:02 +03:00
[Mac (10,10), iOS (8,0)]
[BaseType (typeof (SCNPhysicsBehavior))]
[DisableDefaultCtor]
interface SCNPhysicsHingeJoint {
[Static, Export ("jointWithBodyA:axisA:anchorA:bodyB:axisB:anchorB:")]
SCNPhysicsHingeJoint Create (SCNPhysicsBody bodyA, SCNVector3 axisA, SCNVector3 anchorA,
[NullAllowed] SCNPhysicsBody bodyB, SCNVector3 axisB, SCNVector3 anchorB);
[Static, Export ("jointWithBody:axis:anchor:")]
SCNPhysicsHingeJoint Create (SCNPhysicsBody body, SCNVector3 axis, SCNVector3 anchor);
[Export ("bodyA")]
SCNPhysicsBody BodyA { get; }
[Export ("axisA")]
SCNVector3 AxisA { get; set; }
[Export ("anchorA")]
SCNVector3 AnchorA { get; set; }
[Export ("bodyB")]
SCNPhysicsBody BodyB { get; }
[Export ("axisB")]
SCNVector3 AxisB { get; set; }
[Export ("anchorB")]
SCNVector3 AnchorB { get; set; }
}
[Watch (3,0)]
2016-04-21 15:30:02 +03:00
[Mac (10,10), iOS (8,0)]
[BaseType (typeof (SCNPhysicsBehavior))]
[DisableDefaultCtor]
interface SCNPhysicsBallSocketJoint {
[Static, Export ("jointWithBodyA:anchorA:bodyB:anchorB:")]
SCNPhysicsBallSocketJoint Create (SCNPhysicsBody bodyA, SCNVector3 anchorA, SCNPhysicsBody bodyB, SCNVector3 anchorB);
[Static, Export ("jointWithBody:anchor:")]
SCNPhysicsBallSocketJoint Create (SCNPhysicsBody body, SCNVector3 anchor);
[Export ("bodyA")]
SCNPhysicsBody BodyA { get; }
[Export ("anchorA")]
SCNVector3 AnchorA { get; set; }
[Export ("bodyB")]
SCNPhysicsBody BodyB { get; }
[Export ("anchorB")]
SCNVector3 AnchorB { get; set; }
}
[Watch (3,0)]
2016-04-21 15:30:02 +03:00
[Mac (10,10), iOS (8,0)]
[BaseType (typeof (SCNPhysicsBehavior))]
[DisableDefaultCtor]
interface SCNPhysicsSliderJoint {
[Static, Export ("jointWithBodyA:axisA:anchorA:bodyB:axisB:anchorB:")]
SCNPhysicsSliderJoint Create (SCNPhysicsBody bodyA, SCNVector3 axisA,
SCNVector3 anchorA, SCNPhysicsBody bodyB, SCNVector3 axisB, SCNVector3 anchorB);
[Static, Export ("jointWithBody:axis:anchor:")]
SCNPhysicsSliderJoint Create (SCNPhysicsBody body, SCNVector3 axis, SCNVector3 anchor);
[Export ("bodyA")]
SCNPhysicsBody BodyA { get; }
[Export ("axisA")]
SCNVector3 AxisA { get; set; }
[Export ("anchorA")]
SCNVector3 AnchorA { get; set; }
[Export ("bodyB")]
SCNPhysicsBody BodyB { get; }
[Export ("axisB")]
SCNVector3 AxisB { get; set; }
[Export ("anchorB")]
SCNVector3 AnchorB { get; set; }
[Export ("minimumLinearLimit")]
nfloat MinimumLinearLimit { get; set; }
[Export ("maximumLinearLimit")]
nfloat MaximumLinearLimit { get; set; }
[Export ("minimumAngularLimit")]
nfloat MinimumAngularLimit { get; set; }
[Export ("maximumAngularLimit")]
nfloat MaximumAngularLimit { get; set; }
[Export ("motorTargetLinearVelocity")]
nfloat MotorTargetLinearVelocity { get; set; }
[Export ("motorMaximumForce")]
nfloat MotorMaximumForce { get; set; }
[Export ("motorTargetAngularVelocity")]
nfloat MotorTargetAngularVelocity { get; set; }
[Export ("motorMaximumTorque")]
nfloat MotorMaximumTorque { get; set; }
}
[Watch (3,0)]
2016-04-21 15:30:02 +03:00
[Mac (10,10), iOS (8,0)]
[BaseType (typeof (SCNPhysicsBehavior))]
[DisableDefaultCtor]
interface SCNPhysicsVehicle {
[Static, Export ("vehicleWithChassisBody:wheels:")]
SCNPhysicsVehicle Create (SCNPhysicsBody chassisBody, SCNPhysicsVehicleWheel [] wheels);
[Export ("speedInKilometersPerHour")]
nfloat SpeedInKilometersPerHour { get; }
[Export ("wheels")]
SCNPhysicsVehicleWheel [] Wheels { get; }
[Export ("chassisBody")]
SCNPhysicsBody ChassisBody { get; }
[Export ("applyEngineForce:forWheelAtIndex:")]
void ApplyEngineForce (nfloat value, nint index);
[Export ("setSteeringAngle:forWheelAtIndex:")]
void SetSteeringAngle (nfloat value, nint index);
[Export ("applyBrakingForce:forWheelAtIndex:")]
void ApplyBrakingForce (nfloat value, nint index);
}
[Watch (3,0)]
2016-04-21 15:30:02 +03:00
[Mac (10,10), iOS (8,0)]
[BaseType (typeof (NSObject))]
[DisableDefaultCtor]
interface SCNPhysicsVehicleWheel : NSCopying, NSSecureCoding {
[Static, Export ("wheelWithNode:")]
SCNPhysicsVehicleWheel Create (SCNNode node);
[Export ("node")]
SCNNode Node { get; }
[Export ("suspensionStiffness")]
nfloat SuspensionStiffness { get; set; }
[Export ("suspensionCompression")]
nfloat SuspensionCompression { get; set; }
[Export ("suspensionDamping")]
nfloat SuspensionDamping { get; set; }
[Export ("maximumSuspensionTravel")]
nfloat MaximumSuspensionTravel { get; set; }
[Export ("frictionSlip")]
nfloat FrictionSlip { get; set; }
[Export ("maximumSuspensionForce")]
nfloat MaximumSuspensionForce { get; set; }
[Export ("connectionPosition")]
SCNVector3 ConnectionPosition { get; set; }
[Export ("steeringAxis")]
SCNVector3 SteeringAxis { get; set; }
[Export ("axle")]
SCNVector3 Axle { get; set; }
[Export ("radius")]
nfloat Radius { get; set; }
[Export ("suspensionRestLength")]
nfloat SuspensionRestLength { get; set; }
}
[Watch (3,0)]
2016-04-21 15:30:02 +03:00
[Mac (10,10), iOS (8,0)]
[BaseType (typeof (NSObject))]
[DisableDefaultCtor]
interface SCNParticleSystem : NSCopying, NSSecureCoding, SCNAnimatable {
[Static, Export ("particleSystem")]
SCNParticleSystem Create ();
[Static, Export ("particleSystemNamed:inDirectory:")]
SCNParticleSystem Create (string name, [NullAllowed] string directory);
[Export ("emissionDuration")]
nfloat EmissionDuration { get; set; }
[Export ("emissionDurationVariation")]
nfloat EmissionDurationVariation { get; set; }
[Export ("idleDuration")]
nfloat IdleDuration { get; set; }
[Export ("idleDurationVariation")]
nfloat IdleDurationVariation { get; set; }
[Export ("loops")]
bool Loops { get; set; }
[Export ("birthRate")]
nfloat BirthRate { get; set; }
[Export ("birthRateVariation")]
nfloat BirthRateVariation { get; set; }
[Export ("warmupDuration")]
nfloat WarmupDuration { get; set; }
[Export ("emitterShape", ArgumentSemantic.Retain)]
SCNGeometry EmitterShape { get; set; }
[Export ("birthLocation")]
SCNParticleBirthLocation BirthLocation { get; set; }
[Export ("birthDirection")]
SCNParticleBirthDirection BirthDirection { get; set; }
[Export ("spreadingAngle")]
nfloat SpreadingAngle { get; set; }
[Export ("emittingDirection")]
SCNVector3 EmittingDirection { get; set; }
[Export ("acceleration")]
SCNVector3 Acceleration { get; set; }
[Export ("local")]
bool Local { [Bind ("isLocal")] get; set; }
[Export ("particleAngle")]
nfloat ParticleAngle { get; set; }
[Export ("particleAngleVariation")]
nfloat ParticleAngleVariation { get; set; }
[Export ("particleVelocity")]
nfloat ParticleVelocity { get; set; }
[Export ("particleVelocityVariation")]
nfloat ParticleVelocityVariation { get; set; }
[Export ("particleAngularVelocity")]
nfloat ParticleAngularVelocity { get; set; }
[Export ("particleAngularVelocityVariation")]
nfloat ParticleAngularVelocityVariation { get; set; }
[Export ("particleLifeSpan")]
nfloat ParticleLifeSpan { get; set; }
[Export ("particleLifeSpanVariation")]
nfloat ParticleLifeSpanVariation { get; set; }
[Export ("systemSpawnedOnDying", ArgumentSemantic.Retain)]
SCNParticleSystem SystemSpawnedOnDying { get; set; }
[Export ("systemSpawnedOnCollision", ArgumentSemantic.Retain)]
SCNParticleSystem SystemSpawnedOnCollision { get; set; }
[Export ("systemSpawnedOnLiving", ArgumentSemantic.Retain)]
SCNParticleSystem SystemSpawnedOnLiving { get; set; }
[Export ("particleImage", ArgumentSemantic.Retain)]
NSObject ParticleImage { get; set; }
[Export ("imageSequenceColumnCount")]
nuint ImageSequenceColumnCount { get; set; }
[Export ("imageSequenceRowCount")]
nuint ImageSequenceRowCount { get; set; }
[Export ("imageSequenceInitialFrame")]
nfloat ImageSequenceInitialFrame { get; set; }
[Export ("imageSequenceInitialFrameVariation")]
nfloat ImageSequenceInitialFrameVariation { get; set; }
[Export ("imageSequenceFrameRate")]
nfloat ImageSequenceFrameRate { get; set; }
[Export ("imageSequenceFrameRateVariation")]
nfloat ImageSequenceFrameRateVariation { get; set; }
[Export ("imageSequenceAnimationMode")]
SCNParticleImageSequenceAnimationMode ImageSequenceAnimationMode { get; set; }
[Export ("particleColor", ArgumentSemantic.Retain)]
NSColor ParticleColor { get; set; }
[Export ("particleColorVariation")]
SCNVector4 ParticleColorVariation { get; set; }
[Export ("particleSize")]
nfloat ParticleSize { get; set; }
[Export ("particleSizeVariation")]
nfloat ParticleSizeVariation { get; set; }
[Export ("blendMode")]
SCNParticleBlendMode BlendMode { get; set; }
[Export ("blackPassEnabled")]
bool BlackPassEnabled { [Bind ("isBlackPassEnabled")] get; set; }
[Export ("orientationMode")]
SCNParticleOrientationMode OrientationMode { get; set; }
[Export ("sortingMode")]
SCNParticleSortingMode SortingMode { get; set; }
[Export ("lightingEnabled")]
bool LightingEnabled { [Bind ("isLightingEnabled")] get; set; }
[Export ("affectedByGravity")]
bool AffectedByGravity { get; set; }
[Export ("affectedByPhysicsFields")]
bool AffectedByPhysicsFields { get; set; }
[Export ("particleDiesOnCollision")]
bool ParticleDiesOnCollision { get; set; }
[Export ("colliderNodes", ArgumentSemantic.Copy)]
SCNNode [] ColliderNodes { get; set; }
[Export ("particleMass")]
nfloat ParticleMass { get; set; }
[Export ("particleMassVariation")]
nfloat ParticleMassVariation { get; set; }
[Export ("particleBounce")]
nfloat ParticleBounce { get; set; }
[Export ("particleBounceVariation")]
nfloat ParticleBounceVariation { get; set; }
[Export ("particleFriction")]
nfloat ParticleFriction { get; set; }
[Export ("particleFrictionVariation")]
nfloat ParticleFrictionVariation { get; set; }
[Export ("particleCharge")]
nfloat ParticleCharge { get; set; }
[Export ("particleChargeVariation")]
nfloat ParticleChargeVariation { get; set; }
[Export ("dampingFactor")]
nfloat DampingFactor { get; set; }
[Export ("speedFactor")]
nfloat SpeedFactor { get; set; }
[Export ("stretchFactor")]
nfloat StretchFactor { get; set; }
[Export ("fresnelExponent")]
nfloat FresnelExponent { get; set; }
[Export ("propertyControllers", ArgumentSemantic.Copy), NullAllowed]
NSDictionary WeakPropertyControllers { get; set; }
[Export ("reset")]
void Reset ();
[Export ("handleEvent:forProperties:withBlock:")]
void HandleEvent (SCNParticleEvent evnt, NSString [] particleProperties, SCNParticleEventHandler handler);
[Export ("addModifierForProperties:atStage:withBlock:")]
void AddModifier (NSString [] properties, SCNParticleModifierStage stage, SCNParticleModifierHandler handler);
[Export ("removeModifiersOfStage:")]
void RemoveModifiers (SCNParticleModifierStage stage);
[Export ("removeAllModifiers")]
void RemoveAllModifiers ();
[Watch (4,0), TV (11,0), Mac (10,13), iOS (11,0)]
[Export ("orientationDirection", ArgumentSemantic.Assign)]
SCNVector3 OrientationDirection { get; set; }
[Watch (4,0), TV (11,0), Mac (10,13), iOS (11,0)]
[Export ("particleIntensity")]
nfloat ParticleIntensity { get; set; }
[Watch (4,0), TV (11,0), Mac (10,13), iOS (11,0)]
[Export ("particleIntensityVariation")]
nfloat ParticleIntensityVariation { get; set; }
2016-04-21 15:30:02 +03:00
}
[Watch (3,0)]
2016-04-21 15:30:02 +03:00
[Static]
interface SCNParticleProperty {
[Mac (10,10), iOS (8,0)]
[Field ("SCNParticlePropertyPosition")]
NSString Position { get; }
[Mac (10,10), iOS (8,0)]
[Field ("SCNParticlePropertyAngle")]
NSString Angle { get; }
[Mac (10,10), iOS (8,0)]
[Field ("SCNParticlePropertyRotationAxis")]
NSString RotationAxis { get; }
[Mac (10,10), iOS (8,0)]
[Field ("SCNParticlePropertyVelocity")]
NSString Velocity { get; }
[Mac (10,10), iOS (8,0)]
[Field ("SCNParticlePropertyAngularVelocity")]
NSString AngularVelocity { get; }
[Mac (10,10), iOS (8,0)]
[Field ("SCNParticlePropertyLife")]
NSString Life { get; }
[Mac (10,10), iOS (8,0)]
[Field ("SCNParticlePropertyColor")]
NSString Color { get; }
[Mac (10,10), iOS (8,0)]
[Field ("SCNParticlePropertyOpacity")]
NSString Opacity { get; }
[Mac (10,10), iOS (8,0)]
[Field ("SCNParticlePropertySize")]
NSString Size { get; }
[Mac (10,10), iOS (8,0)]
[Field ("SCNParticlePropertyFrame")]
NSString Frame { get; }
[Mac (10,10), iOS (8,0)]
[Field ("SCNParticlePropertyFrameRate")]
NSString FrameRate { get; }
[Mac (10,10), iOS (8,0)]
[Field ("SCNParticlePropertyBounce")]
NSString Bounce { get; }
[Mac (10,10), iOS (8,0)]
[Field ("SCNParticlePropertyCharge")]
NSString Charge { get; }
[Mac (10,10), iOS (8,0)]
[Field ("SCNParticlePropertyFriction")]
NSString Friction { get; }
[Mac (10, 10), iOS (8, 0)]
[Field ("SCNParticlePropertyContactPoint")]
NSString ContactPoint { get; }
[Mac (10, 10), iOS (8, 0)]
[Field ("SCNParticlePropertyContactNormal")]
NSString ContactNormal { get; }
2016-04-21 15:30:02 +03:00
}
[Mac (10,10), iOS (8,0)]
delegate void SCNParticleEventHandler (IntPtr data, IntPtr dataStride, IntPtr indices, nint count);
[Mac (10,10), iOS (8,0)]
delegate void SCNParticleModifierHandler (IntPtr data, IntPtr dataStride, nint start, nint end, float /* float, not CGFloat */ deltaTime);
[Watch (3,0)]
2016-04-21 15:30:02 +03:00
[Mac (10,10), iOS (8,0)]
[BaseType (typeof (NSObject))]
[DisableDefaultCtor]
interface SCNParticlePropertyController : NSSecureCoding, NSCopying {
[NoWatch]
2016-04-21 15:30:02 +03:00
[Static, Export ("controllerWithAnimation:")]
SCNParticlePropertyController Create (CAAnimation animation);
[NoWatch]
2016-04-21 15:30:02 +03:00
[Export ("animation", ArgumentSemantic.Retain)]
CAAnimation Animation { get; set; }
[Export ("inputMode")]
SCNParticleInputMode InputMode { get; set; }
[Export ("inputScale")]
nfloat InputScale { get; set; }
[Export ("inputBias")]
nfloat InputBias { get; set; }
[Export ("inputOrigin", ArgumentSemantic.Weak)]
SCNNode InputOrigin { get; set; }
[Export ("inputProperty")]
NSString InputProperty { get; set; }
}
[Watch (3,0)]
2016-04-21 15:30:02 +03:00
[iOS (9,0)][Mac (10,11)]
[BaseType (typeof (SCNConstraint))]
interface SCNBillboardConstraint {
[Static]
[Export ("billboardConstraint")]
SCNBillboardConstraint Create ();
[Export ("freeAxes", ArgumentSemantic.Assign)]
SCNBillboardAxis FreeAxes { get; set; }
}
[Watch (3,0)]
2016-04-21 15:30:02 +03:00
[iOS (9,0)][Mac (10,11)]
[BaseType (typeof (SCNNode))]
[DisableDefaultCtor]
interface SCNReferenceNode : NSCoding {
[Export ("initWithURL:")]
[DesignatedInitializer]
IntPtr Constructor (NSUrl referenceUrl);
[Static]
[Export ("referenceNodeWithURL:")]
SCNReferenceNode CreateFromUrl (NSUrl referenceUrl);
[Export ("referenceURL", ArgumentSemantic.Copy)]
NSUrl ReferenceUrl { get; set; }
[Export ("loadingPolicy", ArgumentSemantic.Assign)]
SCNReferenceLoadingPolicy LoadingPolicy { get; set; }
[Export ("load")]
void Load ();
[Export ("unload")]
void Unload ();
[Export ("loaded")]
bool Loaded { [Bind ("isLoaded")] get; }
}
interface ISCNBufferStream { }
[Watch (3,0)]
2016-04-21 15:30:02 +03:00
[iOS (9,0)][Mac (10,11)]
[Protocol]
interface SCNBufferStream {
[Abstract]
[Export ("writeBytes:length:")]
unsafe void Length (IntPtr bytes, nuint length);
}
Merge xcode9 into d15-4[-xi] (#2710) * [FileProvider] Add Xcode 9 Beta 1, 2 & 3 Bindings (#2279) * [FileProvider] Add Xcode 9 Beta 1 Bindings * Better naming * Feedback not related to BindAs * [FileProvider] Removes BindAs, add manual code for it and updated to Beta 3 * [FileProvider] Implement feedback * [CoreSpotlight] Updated spotlight bindings for xcode 9 beta 3. (#2193) Updated spotlight bindings for xcode 9 beta 3. * Fix warning caused by duplicate (#2354) * [FileProviderUI] Add Xcode 9 Beta 1 to 3 bindings (#2356) * Bump to Xcode 9 beta 4 * [arkit] ARLightEstimate does not conform to NSCopying anymore (fix unit test) * [uikit] NSFileProviderExtension.ReparentItem got a new parameter in beta4 (fix unit test) * [coreimage] CIImageAccumulator init returns nil in beta 4 There's no header change to mention `init` is not allowed but it's not clear how this default initializer could be used. Also make public some other API to construct this type (outside of XM). It's not clear why there were `internal` as they are (at least now) part of the header files. * [photos] Add helpers when PHLivePhotoEditingOption/NSDictionary is null (to avoid ambiguous API) (#2360) Adding a strongly typed `PHLivePhotoEditingOption` (a strongly typed version of an `NSDictionary`) can cause a `CS0121` (call is ambiguous) since using a `null` argument is common (only one option exist so far). This PR adds overloads that makes the code nicer in such case, e.g. before Xcode9: > // null is used when no options are given > _foo.SaveLivePhoto (output, null, completion); current (Xcode 9) > // casting required to remove ambiguity with PHLivePhotoEditingOption > _foo.SaveLivePhoto (output, (NSDictionary)null, completion); with this PR > // no option, no argument > _foo.SaveLivePhoto (output, completion); The same applies to `PrepareLivePhotoForPlayback`. * [tests] Disable/tweak two tests that breaks on (almost) all Xcode updates Those tests were not added to validate xOS so just keep the parts that helps us (without constantly checking back the new break flavor) * Disable watchOS to check if this hides others issues * [mapkit] Update for beta 4 * [coredata] Update for beta 4 * [wkwebkit] Update for beta 4 Note: WKWindowFeatures.h is not compiled (part of the framework umbrella) and the `@interface WKWindowFeatures (WKPrivate)` sounds like it should not have been exposed (it's all fields starting with `_`) * [corelocation] Update for beta 4 * Revert "Disable watchOS to check if this hides others issues" This reverts commit fed2249fa43290a1956ab2fe0d48f83ab6db9711. * [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]: https://github.com/xamarin/xamarin-macios/blob/f5956d6cc1eb5dfa7bab16628cf282d40237f64e/src/generator.cs#L5985 * [FinderSync] Update to beta 4 (#2377) * [ImageIO] Update to Xcode 9 (#2353) * [PhotosUI] Move macOS photosui bindings out of photos.cs into photosui.cs (#2358) * [quicklook] Update up to beta 4 (#2374) * [uikit] UIDragInteraction & UIDragInteractionDelegate (Xcode 9 b1,2,3) (#2357) * [safariservices] Update up to beta 4 (#2380) * [coreanimation] Update to beta 4 (#2382) Apple removed (mistake?) some API in beta 1. Filed as rdar 33590997 Internal tracking in https://trello.com/c/J8BDDUV9/86-33590997-coreanimation-quartzcore-api-removals * [storekit] Update up to beta 4 (#2379) * [CoreML] Update to Xcode 9 Beta 4 (#2387) * [uikit] UICollectionView/UITableView Drag & Drop (Xcode 9 b1,2,3 & 4) (#2355) * Update code after radar 32929318 and 32897776 are fixed in b4 (#2394) * [xcode9 CoreAudio] New definitions from Beta1 to Beta3 (#2359) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 (#2397) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 https://bugzilla.xamarin.com/show_bug.cgi?id=58512 Created strong API (VNBarcodeSymbology) on the following properties * VNDetectBarcodesRequest.SupportedSymbologies * VNDetectBarcodesRequest.Symbologies * VNBarcodeObservation.Symbology * Remove modern C# because classic can't do it 😡 * [mediaplayer] Update up to beta 4 (#2388) * [watchkit] Update to beta 4 (#2398) * Bump Visual Studio for Mac max version (#2408) * [coreimage] Add CIBarcodeDescriptor and enabled missing API for VNBarcodeObservation. Fix #58197 (#2411) https://bugzilla.xamarin.com/show_bug.cgi?id=58197 * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 (#2407) * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 * [uikit] Fixes based on comments * [coreimage] CIImageAccumulator API fixes. Fix #58349 (#2412) * Obsolete the default `init`; * XM exposed some older APIs using `int` instead of `CIFormat`. This is fixed and old APIs are obsoleted; * Both new & old APIs are now using `CIFormat` for both XI and XM. https://bugzilla.xamarin.com/show_bug.cgi?id=58349 * [uikit] UIText drag & drop - up to Xcode 9 beta 4 (#2410) * [uikit] UISplitView & UIStackView up to Xcode 9 beta 4 (#2425) * Bump XI/XM versions before preview 4 (#2422) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 (#2378) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 * [PDFKit] Implement feedback * [PDFKit] the forgotten enum * [PDFKit] More feedback * [PDFKit] Add Mac changes * Missing change * Fix test RectangleF VS CGRect * Pass -Wunguarded-availability-new to quiet a new clang warning (#2424) - https://bugzilla.xamarin.com/show_bug.cgi?id=58574 * [mtouch/mmp] Ignore warnings about unguarded code section with regards to availability. (#2441) * [monotouch-test] Remove workaround for fixed Apple bug. (#2445) * Bump to Xcode 9 beta 5. (#2447) * Bump to Xcode 9 beta 5. * [mmp] Disable the partial static registrar, because Apple's macOS SDK is broken. > In file included from Xamarin.Mac.registrar.mobile.i386.m:1: > In file included from ./Xamarin.Mac.registrar.mobile.i386.h:11: > /Applications/Xcode9-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVFoundation.h:88:9: fatal error: 'AVFoundation/AVRouteDetector.h' file not found https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [mmp] Fix partial static registrar removal. * [CallKit] Update to Xcode 9 beta 5. * [ARKit] ARPointCloud doesn't conform to NSCopying anymore in Xcode 9 beta 5. * [ARKit] Update to Xcode 9 beta 5 enough to make tests happy. * [CoreImage] Stub out new filters in Xcode 9 beta 5. * [tests][monotouch] Simplify some MDLMesh asserts since values change a lot between OS versions. * [mmp] Default to the dynamic registrar for release builds again, due to bug #58629. https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [tests][introspection] CXCall started implementing NSCopying without saying so in the headers. * Disable mmp static registrar tests due to 58629 for now * [quicklook] Update to beta 5 (#2450) * [photos] Update for beta 5 (#2452) Also update some existing enum members were added in beta 1 on macOS * [safariservices] Update for beta 5 (#2455) * [mediaplayer] Update to beta 5 (#2456) * [CoreLocation] Update Xcode 9 Beta 5 (#2453) * [CoreML] Update to Xcode 9 Beta 5 (#2454) * [Contacts] Update to Xcode 9 Beta 5 (#2451) * [Vision] Update to Xcode 9 Beta 5 (#2458) * [builds] Tell LLVM to stay away from newer macOS functions. (#2459) Fixes this build problem on Sierra: > ld: weak import of symbol '_futimens' not supported because of option: -no_weak_imports for architecture x86_64 This is a symbol that was (will be?) introduced in High Sierra. Interestingly this only occurs if the Xcode 8.X Command Line Tools haven't been manually installed. Because if the Xcode 8.X Command Line Tools are installed, this happens: 1. llvm's configure script detects that 'futimens' is not usable. 2. llvm's configure script detects that 'futimens' is not usable, because xcrun sets SDKROOT=/ when calling clang. a. When the SDKROOT variable is set, clang passes '-syslibroot /usr/lib' to ld. b. When ld gets '-syslibroot /usr/lib', ld looks in '/usr/lib' for a library that contains 'futimens' in the OS itself, and since we're on Sierra, that fails to link. c. So when llvm's configure script creates a test program that checks if 'futimens' is present, the program fails. This is correct, and makes llvm *not* use futimens. 3. xcrun sets SDKROOT=/ because /usr/share/current-os.sdk/Info.plist exists. If that file does not exist, then xcrun sets SDKROOT to Xcode9's macOS SDK (because that's what xcode-select reports). a. When SDKROOT is set to Xcode9's macOS SDK, the configure check for 'futimens' succeeds, because the macOS 10.13 SDK contains that function. b. llvm happily uses 'futimens', and then the final link fails because we're using a symbol not available on all target platforms. * [arkit] Update for Xcode 9 beta 5 - Part 1 (#2460) * [tests] The container app for watchOS tests should be 64-bit. (#2463) * [xharness] watchOS tests need to run in a clean environment. Works around #58348. (#2462) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [xharness] It watchOS tests don't need to be clean anymore. Fixes #58348. (#2473) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [uikit] UIView/UIScrollView/UIViewController up to Xcode 9 beta 5 (#2431) - Add NSDirectionalEdgeInsets type. - Includes DirectionalEdgeInsetsTest. * [AudioToolbox] Update bindings to Xcode 9 beta3 (not later changes). (#2294) * [xharness] Add a file existence check. (#2478) Fixes this exception: ``` Harness exception for 'introspection': System.IO.FileNotFoundException: Could not find file '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log'. File name: '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log' at System.IO.__Error.WinIOError (System.Int32 errorCode, System.String maybeFullPath) [0x00207] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/__error.cs:188 at System.IO.FileInfo.get_Length () [0x00038] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/fileinfo.cs:171 at xharness.CaptureLog.StopCapture () [0x00021] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Log.cs:252 at (wrapper remoting-invoke-with-check) xharness.CaptureLog:StopCapture () at xharness.AppRunner+<RunAsync>d__68.MoveNext () [0x0127f] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/AppRunner.cs:642 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter`1[TResult].GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:357 at xharness.RunSimulatorTask+<RunTestAsync>d__7.MoveNext () [0x0029d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2894 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.RunTestTask+<ExecuteAsync>d__8.MoveNext () [0x0010b] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2538 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.TestTask+<RunInternalAsync>d__87.MoveNext () [0x0010d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:1870 ``` I'm not sure how this can happen, but it has on the bots [1]. [1] https://jenkins.mono-project.com/job/xamarin-macios-pr-builder/4548/Test_Report/ * Bump versions for preview 5 (#2479) * [passkit] Update to beta 5 (#2481) * [tests] Remove workaround for radar #32688391. (#2486) * [replaykit] Update up to beta 5 (#2484) * Bump maccore to get fix for bug #55064. (#2487) * [apidiff] Update definition to new 10.12 (d15-3) stable release (#2490) * [SceneKit] basic work (#2483) * [coredata] Update to beta 5 (#2488) * [homekit] Update for Xcode 9 beta 5 (#2492) * [Foundation] Update for xcode9 (#2468) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 (#2493) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 * [Intents] Implement feedback * [Intents] Add a generic version for INInteraction.GetParameterValue * [Intents] Missing check * [Contacts] Add missing foundation NSItemProviderWriting protocol to CNContact (#2496) https://bugzilla.xamarin.com/show_bug.cgi?id=58203 This is available on all Contacts supported platforms ``` ./iPhoneOS.platform/Developer/SDKs/iPhoneOS11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchOS.platform/Developer/SDKs/WatchOS4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchSimulator.platform/Developer/SDKs/WatchSimulator4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ``` * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) (#2497) * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) * [IntentsUI] Better use a delegate instead so we have named params * Bump versions before 6th preview (#2514) * [arkit] Add missing MarshalDirective to ARPlaneAnchor (#2517) - Fixes bug #58648: ARPlaneAnchor.Extent property seems incorrect but changes to correct value after Debug access (https://bugzilla.xamarin.com/show_bug.cgi?id=58648) * [xtro-sharpie] Fix a compiler warning. (#2516) Fixes these warnings: Runner.cs(197,5): warning CS0642: Possible mistaken empty statement Runner.cs(199,5): warning CS0642: Possible mistaken empty statement Runner.cs(201,5): warning CS0642: Possible mistaken empty statement Runner.cs(203,5): warning CS0642: Possible mistaken empty statement Runner.cs(205,5): warning CS0642: Possible mistaken empty statement * [uikit] Update for Xcode 9 beta 5 - Part 3 (#2511) - UIKeyCommand - UINavigationBar - UINavigationItem - UIPasteboard - UITableViewHeaderFooterView * [xtro-sharpie] Remove xtro-plugin and misc other fixes. (#2522) * [xtro-sharpie] Build with msbuild and be as quiet as requested when building. * [xtro-sharpie] Must run as a 64-bit process, since the required native libraries are 64-bit. * [xtro-sharpie] Add run configurations to the project file to ease debugging in the IDE. * [xtro-sharpie] Remove xtro-plugin and the related commands. This was needed when there wasn't a 64-bit mono, in order to run xtro-sharpie in a 64-bit process. Now there is a 64-bit mono, so it's not needed anymore. Also improve makefile targets a bit, to auto-build stuff when needed, by setting the right dependencies. * Bump Xcode 9 to beta 6 (#2519) Disable watchOS tests again It seems like the Carousel crash from beta 4 is back to haunt us. This was working fine with beta 5. * Backport d15-3 SR2 fixes (#2515) * [coredata] Update to beta 6 (#2528) This seems to only revert some nullability changes from beta 5. * [coreml] Update to beta 6 (#2531) Fix our rdar 33643011 where additional setters were added in the headers but did not exists. * [videosubscriberaccount] Update to beta 6 (#2533) Only b1 and b2 introduced some additions/changes * [uikit] Update for Xcode 9 beta 6 - Part 4 (#2527) The following headers are now up to date: - UICollectionViewFlowLayout.h - UIDocumentPickerViewController.h - UIFontDescriptor.h - UIImage.h - UIImageView.h - UIImagePickerController.h * [xharness] Re-enable the watchOS tests. (#2534) It works fine for me locally, so let's see what Jenkins says. * [macos] Add new APIs in CoreWlan from Xcode9b3 (#2525) * Update AppKit bindings based on radar 33271241 results (#2518) * Update AppKit bindings based on radar 33271241 results - The header comment was updated to note it was NSSliderTouchBarItem view that has the protocol * Remove NSUserInterfaceCompression where not listed in header * [vision] Update to beta 6 (#2532) Removal of some deprecated (during beta) `init*` selectors. Also sync the versions that were inlined in subclasses - the old ones were not removed and the new ones were not added. * [xtro-sharpie] Many methods don't have selectors in Clang's API, so default to the name if no selector. (#2523) This makes a few more unclassified entries show up (mostly missing designated initializers): https://gist.github.com/rolfbjarne/07aa20f9b50b75bf3e69ac6a825e873a * [macos] Add ExternalAccessory APIs from xcode9 (#2526) * [58851] Disable NSMenuView in AllItemsWithNSMenuShouldAllowNull (#2504) * [arkit] Update for Xcode 9 beta 5 - Part 2 (#2505) - Add last missing selector. - Add tests for manual code. * [monotouch-test] Disable FontDescriptorTest.WithFeature (#2537) Disabled because it looks like the tvOS font we use: "Gujarati Sangam MN" does not have rare ligatures anymore (and the entire test is based on it). Before getting an actual fix for that, let's disable the test so it doesn't break all current builds. See: https://bugzilla.xamarin.com/show_bug.cgi?id=58929 * [xtro-sharpie] Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute. (#2524) Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute to calculate the native name for a TypeDefinition. Unclassified changes: https://gist.github.com/rolfbjarne/828f8ee41eebb0a3b60a38d71822fe59 * [foundation/uikit] Inline NSItemProvider_UIKitAdditions in NSItemProvider (#2538) As suggested here: https://github.com/xamarin/xamarin-macios/pull/2527#discussion_r134670981 * [intents] Fix breaking changes (api-diff) (#2543) Additions of @required members inside `INSpeakable` cannot be `[Abstract]` * [contacts] Fix breaking change (api-diff) (#2542) Type Changed: Contacts.CNPostalAddress Removed method: public static string LocalizeProperty (CNPostalAddressKeyOption option); * [macos] Reenable static registrar since Xcode9b6 un-broke SDK headers (#2544) - Fix a subtle spacing issues in PartialStaticLibrary property * [corebluetooth] Update up to beta 6 and enable it on watchOS (#2540) macOS 10.13 has finally catch up with iOS and this simplifies the bindings a bit. * [foundation] API fixes (apidiff) (#2545) 1. Let's not add new, already [Obsolete] API Type Changed: Foundation.NSDimension Added constructors: [Obsolete ("Not intended to be directly instantiated, this is an abstract class.")] public NSDimension (); 2. Fix inconsistently named API, e.g. Type Changed: Foundation.NSAttributedString Added properties: public static string[] ReadableTypeIdentifiersForItemProvider { get; } public static string[] WritableTypeIdentifiers { get; } * [pdfkit] Do not add already [Obsolete] API in new profiles (#2547) and ensure using the newer, correct API works cross-platforms iOS (before) [Obsolete ("Use 'Find (string, NSStringCompareOptions)' instead.")] public virtual PdfSelection[] Find (string text, nint options); public PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'Find (string, PdfSelection, NSStringCompareOptions)' instead.")] public virtual PdfSelection Find (string text, PdfSelection selection, nint options); public void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string, NSStringCompareOptions)' instead.")] public virtual void FindAsync (string text, nint options); public void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string [], NSStringCompareOptions)' instead.")] public virtual void FindAsync (string[] text, nint options); iOS (after) public virtual PdfSelection[] Find (string text, Foundation.NSStringCompareOptions compareOptions); public virtual PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); * Bump versions for the 7th preview (#2541) * Remove additions of AVKit removed in beta5 (#2536) * NSUrlSessionTask should implement NSProgressReporting for iOS (#2548) NSUrlSessionTask implements NSProgressReporting on iOS as well as Mac, so the #if MONOMAC isn't needed. * Add missing availability attributes causing failures on older iOS versions (#2550) * [vision] Minor fix wrt xtro (#2551) including some things we need to ignore manually !missing-field! VNVisionVersionNumber not bound !missing-pinvoke! VNImagePointForFaceLandmarkPoint is not bound !missing-pinvoke! VNNormalizedFaceBoundingBoxPointForLandmarkPoint is not bound * [uikit] NSFileProviderMessaging was removed in beta 2. Fixes #58222 (#2552) reference: https://bugzilla.xamarin.com/show_bug.cgi?id=58222 * [uikit] Update for Xcode 9 - Part 5 (#2546) Bindings for the following headers: - UIActivity.h - UIActivityItemProvider.h - UIAlertController.h - UIApplication.h - UIBarButtonItem.h - UIButton.h - UICollectionViewLayout.h - UIColor.h - UIControl.h - UIDocumentMenuViewController.h - UIFontMetrics.h - UIGestureRecognizer.h - UIGraphicsImageRenderer.h - UIInputViewController.h * [CoreText] Fix an extraneous free in CTFont.GetDefaultCascadeList. (#2555) We do not own the return value from CFArrayGetValueAtIndex, so don't say we do when creating CTFontDescriptor instances, since that leads to angry dragons: 2017-08-28 20:15:20.293 monotouchtest[33186:2311738] A_FontTest 2017-08-28 20:15:20.294 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithFontDescriptorAndOptions 2017-08-28 20:15:20.295 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithNameAndOptions 2017-08-28 20:15:20.296 monotouchtest[33186:2311738] critical: Stacktrace: at <unknown> <0xffffffff> at (wrapper managed-to-native) CoreText.CTFont.CTFontCopyDefaultCascadeListForLanguages (intptr,intptr) [0x0000a] in <ae65a2b1eea242d2b68fe784749543bf>:0 at CoreText.CTFont.GetDefaultCascadeList (string[]) [0x00013] in /work/maccore/xcode9/xamarin-macios/src/CoreText/CTFont.cs:2185 at MonoTouchFixtures.CoreText.A_FontTest.GetCascadeList () [0x0001e] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/CoreText/FontTest.cs:78 at (wrapper runtime-invoke) object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) [0x0004f] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) System.Reflection.MonoMethod.InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&) [0x00016] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at System.Reflection.MonoMethod.Invoke (object,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo) [0x00032] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/corlib/System.Reflection/MonoMethod.cs:305 at System.Reflection.MethodBase.Invoke (object,object[]) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/referencesource/mscorlib/system/reflection/methodbase.cs:229 at NUnit.Framework.Internal.Reflect.InvokeMethod (System.Reflection.MethodInfo,object,object[]) [0x00009] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Reflect.cs:215 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunNonAsyncTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x00025] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:116 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x0001a] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:90 at NUnit.Framework.Internal.Commands.TestMethodCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:66 at NUnit.Framework.Internal.Commands.SetUpTearDownCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00007] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/SetUpTearDownCommand.cs:84 at NUnit.Framework.Internal.WorkItems.SimpleWorkItem.PerformWork () [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/SimpleWorkItem.cs:64 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at MonoTouch.NUnit.UI.BaseTouchRunner.Run (NUnit.Framework.Internal.Test) [0x0004d] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:442 at MonoTouch.NUnit.UI.BaseTouchRunner.Run () [0x00030] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:171 at MonoTouch.Dialog.StringElement.Selected (MonoTouch.Dialog.DialogViewController,UIKit.UITableView,Foundation.NSIndexPath) [0x00008] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/Elements.cs:765 at MonoTouch.Dialog.DialogViewController.Selected (Foundation.NSIndexPath) [0x00026] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:577 at MonoTouch.Dialog.DialogViewController/Source.RowSelected (UIKit.UITableView,Foundation.NSIndexPath) [0x00016] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:402 at (wrapper runtime-invoke) <Module>.runtime_invoke_void__this___object_object (object,intptr,intptr,intptr) [0x0005d] in <32f0c196c5bc4aa18daea2ee64a7814e>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) UIKit.UIApplication.UIApplicationMain (int,string[],intptr,intptr) [0x0005c] in <ae65a2b1eea242d2b68fe784749543bf>:0 at UIKit.UIApplication.Main (string[],intptr,intptr) [0x00005] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:79 at UIKit.UIApplication.Main (string[],string,string) [0x00038] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:63 at monotouchtest.Application.Main (string[]) [0x00011] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/Main.cs:27 at (wrapper runtime-invoke) <Module>.runtime_invoke_void_object (object,intptr,intptr,intptr) [0x00051] in <30a7f7e09de9467b8b454221034a0e38>:0 Native stacktrace: 0 monotouchtest 0x000000010fca03c4 mono_handle_native_crash + 244 1 monotouchtest 0x000000010fcadd30 mono_sigsegv_signal_handler + 288 2 libsystem_platform.dylib 0x000000011feb3b3a _sigtramp + 26 3 CoreFoundation 0x000000011de035a2 computeSanitizedString + 146 4 CoreText 0x00000001168df314 _ZN15TPurgeableCache19RetainedValueForKeyEPKv + 54 5 CoreText 0x00000001168def85 _ZNK17TDescriptorSource22CopyDescriptorUncachedEPK7__CFURLbPK10__CFString + 55 6 CoreText 0x00000001168df34f _ZNK17TDescriptorSource14CopyDescriptorEPK7__CFURLbPK10__CFString + 27 7 CoreText 0x00000001168e20ad _ZNK17TDescriptorSource35CopyFontDescriptorPerPostScriptNameEPK10__CFStringmm + 297 8 CoreText 0x00000001168dfd9e _ZNK17TDescriptorSource30CopySystemFontDescriptorByNameEPK10__CFString10UIFontFlag + 54 9 CoreText 0x00000001168e54c4 _ZNK14TFontFallbacks17CopyFontFallbacksEPK10__CFStringS2_PK9__CFArray + 652 10 CoreText 0x00000001168e4a00 _ZNK14TFontFallbacks29CopyFontFallbacksForLanguagesEPK10__CFStringPK9__CFArray + 122 11 CoreText 0x00000001168e4971 _ZN17TDescriptorSource39CopyDefaultSubstitutionListForLanguagesEPK10__CFStringPK9__CFArray + 61 12 CoreText 0x00000001169397a7 _ZNK9TBaseFont28CreateSystemDefaultFallbacksEPK10__CFStringPK9__CFArray + 51 13 CoreText 0x000000011693999c _ZNK9TBaseFont15CreateFallbacksE10UIFontFlagPPK16__CFCharacterSetPK9__CFArray + 346 14 CoreText 0x00000001168c1036 _ZNK5TFont24CreateDefaultCascadeListEPK9__CFArray + 242 15 CoreText 0x00000001168b8ff9 CTFontCopyDefaultCascadeListForLanguages + 97 16 ??? 0x0000000140eaefd3 0x0 + 5384105939 17 ??? 0x0000000140eae761 0x0 + 5384103777 18 ??? 0x000000013c9c8e74 0x0 + 5311860340 19 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 20 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 21 monotouchtest 0x000000010fd71bac mono_runtime_try_invoke_array + 1292 22 monotouchtest 0x000000010fd15587 ves_icall_InternalInvoke + 647 23 ??? 0x000000013e9fcd13 0x0 + 5345627411 24 ??? 0x000000013e9fc738 0x0 + 5345625912 25 ??? 0x000000013e9fded5 0x0 + 5345631957 26 ??? 0x000000013e9fbb76 0x0 + 5345622902 27 ??? 0x000000013e9e237e 0x0 + 5345518462 28 ??? 0x000000013e9e237e 0x0 + 5345518462 29 ??? 0x000000013e9e237e 0x0 + 5345518462 30 ??? 0x000000013e9e237e 0x0 + 5345518462 31 ??? 0x000000013e873006 0x0 + 5344014342 32 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 33 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 34 monotouchtest 0x000000010fd6e320 mono_runtime_invoke + 208 35 monotouchtest 0x000000010fe71af1 xamarin_invoke_trampoline + 5617 36 monotouchtest 0x000000010fe79ddd xamarin_arch_trampoline + 189 37 monotouchtest 0x000000010fe7b1a1 xamarin_x86_64_common_trampoline + 110 38 UIKit 0x0000000111b9876b -[UITableView _selectRowAtIndexPath:animated:scrollPosition:notifyDelegate:] + 1810 39 UIKit 0x0000000111b98986 -[UITableView _userSelectRowAtPendingSelectionIndexPath:] + 344 40 UIKit 0x0000000111a6b5c9 _runAfterCACommitDeferredBlocks + 318 41 UIKit 0x0000000111a59dad _cleanUpAfterCAFlushAndRunDeferredBlocks + 280 42 UIKit 0x0000000111a89f68 _afterCACommitHandler + 137 43 CoreFoundation 0x000000011de3ddb7 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23 44 CoreFoundation 0x000000011de3dd0e __CFRunLoopDoObservers + 430 45 CoreFoundation 0x000000011de22324 __CFRunLoopRun + 1572 46 CoreFoundation 0x000000011de21a89 CFRunLoopRunSpecific + 409 47 GraphicsServices 0x0000000121b7e9c6 GSEventRunModal + 62 48 UIKit 0x0000000111a5f7d0 UIApplicationMain + 159 49 ??? 0x000000013c9c4474 0x0 + 5311841396 50 ??? 0x000000013c9c40ad 0x0 + 5311840429 ================================================================= Got a SIGSEGV while executing native code. This usually indicates a fatal error in the mono runtime or one of the native libraries used by your application. ================================================================= * [monotouch-test] Don't subclass MKMapView. (#2556) MKMapView doesn't like being subclassed (Apple says "you should not subclass the MKMapView class itself"). Bad things like this starts happening: Thread 0 name: tid_303 Dispatch queue: com.apple.main-thread Thread 0 Crashed: 0 libsystem_kernel.dylib 0x0000000186b25348 __pthread_kill + 8 1 libsystem_pthread.dylib 0x0000000186c39354 pthread_kill$VARIANT$mp + 396 2 libsystem_c.dylib 0x0000000186a94fd8 abort + 140 3 monotouchtest 0x0000000101c02c14 mono_handle_native_crash + 22047764 (mini-exceptions.c:2548) 4 monotouchtest 0x0000000101c0d02c mono_sigsegv_signal_handler + 22089772 (mini-runtime.c:2886) 5 libsystem_platform.dylib 0x0000000186c33b60 _sigtramp + 52 6 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 7 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 8 CoreFoundation 0x0000000186eda51c -[__NSArrayM dealloc] + 68 9 CoreFoundation 0x000000018703f5c8 __CFBasicHashDrain + 312 10 CoreFoundation 0x0000000186fb5b44 _CFRelease + 224 11 CoreText 0x000000018a808404 TDescriptorSource::PurgeFontFallbacksCache+ 488452 () + 92 12 CoreText 0x000000018a808374 TDescriptorSource::PurgeFromCaches+ 488308 (__CFURL const*) const + 176 13 CoreText 0x000000018a7eec74 CTFontRemoveFromCaches + 168 14 VectorKit 0x0000000196a539b0 +[VKSharedResourcesManager removeResourceUser:] + 324 15 VectorKit 0x0000000196ca27a4 md::MapEngine::~MapEngine+ 2643876 () + 360 16 VectorKit 0x0000000196ca2634 md::MapEngine::~MapEngine+ 2643508 () + 12 17 libobjc.A.dylib 0x000000018651eef4 object_cxxDestructFromClass+ 28404 (objc_object*, objc_class*) + 148 18 libobjc.A.dylib 0x000000018652c638 objc_destructInstance + 88 19 libobjc.A.dylib 0x000000018652c690 object_dispose + 16 20 QuartzCore 0x000000018afca3ac -[CALayer dealloc] + 116 21 VectorKit 0x0000000196a43294 -[VKMapView dealloc] + 940 22 QuartzCore 0x000000018af6aafc CA::release_objects+ 744188 (X::List<void const*>*) + 32 23 QuartzCore 0x000000018afd97d8 CA::Layer::~Layer+ 1198040 () + 276 24 QuartzCore 0x000000018afca37c -[CALayer dealloc] + 68 25 QuartzCore 0x000000018af6b16c CA::Transaction::commit+ 745836 () + 1052 26 UIKit 0x0000000190393290 _afterCACommitHandler + 256 27 CoreFoundation 0x0000000186fb38b8 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 32 28 CoreFoundation 0x0000000186fb1270 __CFRunLoopDoObservers + 412 29 CoreFoundation 0x0000000186fb182c __CFRunLoopRun + 1292 30 CoreFoundation 0x0000000186ed22d8 CFRunLoopRunSpecific + 436 31 GraphicsServices 0x0000000188d58f84 GSEventRunModal + 100 32 UIKit 0x000000019040427c UIApplicationMain + 208 33 monotouchtest 0x000000010106eb90 wrapper_managed_to_native_UIKit_UIApplication_UIApplicationMain_int_string___intptr_intptr + 9907088 (/<unknown>:1) 34 monotouchtest 0x0000000100f0d6ac UIKit_UIApplication_Main_string___intptr_intptr + 8459948 (UIApplication.cs:79) 35 monotouchtest 0x0000000100f0d66c UIKit_UIApplication_Main_string___string_string + 8459884 (UIApplication.cs:63) 36 monotouchtest 0x0000000100b10450 monotouchtest_Application_Main_string__ + 4277328 (Main.cs:27) 37 monotouchtest 0x0000000100e0c244 wrapper_runtime_invoke_object_runtime_invoke_dynamic_intptr_intptr_intptr_intptr + 244 38 monotouchtest 0x0000000101c10048 mono_jit_runtime_invoke + 22102088 (mini-runtime.c:2526) 39 monotouchtest 0x0000000101c75eec do_runtime_invoke + 22519532 (object.c:2829) 40 monotouchtest 0x0000000101c78a3c do_exec_main_checked + 22530620 (object.c:4623) 41 monotouchtest 0x0000000101bf9a1c mono_jit_exec + 22010396 (driver.g.c:1040) 42 monotouchtest 0x0000000101d13d60 xamarin_main + 23166304 (monotouch-main.m:482) 43 monotouchtest 0x00000001007de710 main + 927504 (main.m:67) 44 libdyld.dylib 0x00000001869f656c start + 4 * [introspection] Let SkipDueToAttributeInProperty skip setters too (#2557) `SkipDueToAttributeInProperty` which is used to check the availability attribute of properties when the Availability info only exist on the property and not on the property Getter or Setter was wrong. This lead to `setSpringLoaded` (which was introduced in iOS 11) to not be ignored by the test (making it fail). - Fix bug #59085: [introspection-ios] selector not found for UIKit.UIBarButtonItem : setSpringLoaded: - Broken test (https://bugzilla.xamarin.com/show_bug.cgi?id=59085) * [corevideo][watchos] Enable CoreVideo on watchOS (#2553) * [storekit] Fix CampaignToken typo (#2559) (#2560) - Fixes bug #59078: StoreProductParameters and invalid property for CampaignToken (https://bugzilla.xamarin.com/show_bug.cgi?id=59078) * [coreml][watchos] Enable API using CoreVideo on watchOS. Fix #58097 (#2561) https://bugzilla.xamarin.com/show_bug.cgi?id=58097 * Add missing [MarshalDirective] attributes. (#2558) * [bindings-generator] Improve build & project file. * Add missing [MarshalDirective] attributes. Add missing [MarshalDirective] attributes, which also requires implementing support for out parameters in the binding generator, since one of the signatures missing the [MarshalDirective] contains such an out parameter. Also add tests for all the API I've added [MarshalDirective] to. * [bindings-generator] Remove redundant if check. * [monotouch-test] Rename file to end with 'Test.cs'. * [tests] Fix a few build errors for Xamarin.Mac. * [uikit] Fix UIColor and UIInputViewController tvOS availability (#2569) - Fixes introspection tests on tvOS 10. * [storekit] Fix SKCloudServiceSetupMessageIdentifier and SKProductStorePromotionController tvOS availability (#2568) - Fixes introspection tests on tvOS 10. * [mapkit] Fix MKMapItemTypeIdentifier tvOS availability (#2566) - Also remove double [Mac] availability attribute. - Fixes introspection tests on tvOS 10. * [ARKit] Fix marshalling for ARPointCloud.RawFeaturePoints. (#2565) ARPointCloud.RawFeaturePoints is an array of Vector3, but each vector is 16-byte aligned (as if it were an array of Vector4). This means we need to account for this when creating a managed array from pointer to the native C-style array. * [ModelIO] Fix MDLVoxelIndexExtent struct. (#2564) The MDLVoxelIndexExtent is a struct containing two 4-dimensional vectors of integers (not floats, as originally and incorrectly implemented). Fix this my creating a new MDLVoxelIndexExtent2 struct with the right fields, re-implement all the API that exposes this struct and obsolete the old API. Also add missing [MarshalDirective] attributes. And write a test to make sure it works fine now and forever. * [coredata] Enable new fields since rdar #33878590 is fixed w/beta 6 (#2570) reference: https://trello.com/c/dlSRYPFx * [xtro-sharpie] Add a Simd check class to verify signatures with Simd types. * [Simd] Add simd matrix types. The OpenTK matrices (Matrix2/3/4) has a different memory layout than Apple's matrix_float2x2/matrix_float3x3/matrix_float4x4 matrices: the OpenTK versions are row-major, while Apple's versions are column-major. This means that when blitting memory from one to the other, the matrix will appear to have been transposed. See bug #[58599][2] for an example. Unfortunately we've already bound several API with Apple's matrix_floatXxX matrices using OpenTK's matrices, and although they're bound wrong, and the matrices appear transposed on input/output, we can't change the behavior because we have to maintain compatibility. This means we have to introduce new API, and then also just define new matrix types with the right memory layout (column-major). Additionally, in the future we might be able to mark these matrices as Simd-matrixes, so that the JIT/AOT compiler can generate the correct alignment for them, avoiding having to define a native conversion method (using the [MarshalDirective] hack). The matrices have been designed to match API-wise the matrices in the System.Numerics.Vectors namespace [1], but for the moment with only a few basic operations implemented (Determinant/Transpose/Multiply) defined (we can always add more later if we want to). In addition explicit conversion operators to and from the corresponding OpenTK.MatrixX are implemented, which means any operation defined in the OpenTK matrices can be used by converting back and forth. [1]: https://msdn.microsoft.com/en-us/library/system.numerics.matrix4x4(v=vs.111).aspx [2]: https://bugzilla.xamarin.com/show_bug.cgi?id=58599 * [ARKit] Use the new Simd matrix types. * [Vision] Use the new Simd matrix types. * [ModelIO] Use the new Simd-compatible matrix types, and deprecate the old API. * [GameplayKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [SpriteKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [xtro] Don't report missing [MarshalDirective] for obsolete methods. * [xtro] Remove unnecessary ignores. The implementation changed, and these stayed accidentally. * [wkwebkit] Fix (native) protocol names (#2572) Also ignore xtro's WKSnapshotConfiguration since it's an Apple bug 34185961 reference (xtro) !missing-protocol! WKURLSchemeHandler not bound !missing-protocol! WKURLSchemeTask not bound !unknown-protocol! WKUrlSchemeHandler bound !unknown-protocol! WKUrlSchemeTask bound !unknown-type! WKSnapshotConfiguration bound * [uikit] Fix enums availability attributes (#2575) - Fixes bug #59132: [uikit] Extra types in watchOS (https://bugzilla.xamarin.com/show_bug.cgi?id=59132) * [watchkit] Add missing designated initializers (#2574) references (xtro) !missing-designated-initializer! WKInterfaceController::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! WKUserNotificationInterfaceController::init is missing an [DesignatedInitializer] attribute * [xtro] Reword some of the Simd diagnostic messages according to review. * [tests] Make sure test symbols don't clash between different test libraries. Fixes this build problem for framework-test: clang: error: linker command failed with exit code 1 (use -v to see invocation) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_get_rotation_matrix'. MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticObjectTest.framework/XStaticObjectTest (Location related to previous error) MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticArTest.framework/XStaticArTest(libtest-ar.x86_64.o) (Location related to previous error) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransformcomponent_get_local_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_create_global_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float4x4'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float3x3'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float2x2'. MTOUCH: error MT5209: Native linking error: 6 duplicate symbols for architecture x86_64 MTOUCH: error MT5202: Native linking failed. Please review the build log. * [tests] Since libtest.a need ModelIO now, the corresponding LinkWith attributes need to state that too. * [introspection] Don't check native signatures on obsolete members, and ignore the right simd matrix types. Fixes this introspection/Mac problem: ***** ApiSignatureTest.NativeSignatures Selector: uniformWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: uniformWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: uniformWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: setMatrixFloat2x2Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: setMatrixFloat3x3Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: setMatrixFloat4x4Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: initWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: initWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: initWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded * [monotouch-tests] Include more custom asserts for watchOS to make the build work. Fixes this: Simd/MatrixFloat4x4Test.cs(28,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(29,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(37,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(48,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' [...] * [monotouch-test] Exclude code that requires the binding project from xammac tests. Exclude code that requires the test binding project from xammac tests because there's currently no XM version of the test binding project. Fixes this: tests/monotouch-test/SpriteKit/UniformTest.cs(20,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLMaterialProperty.cs(37,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLTransform.cs(34,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) * Bump version for preview #8 (#2576) * [spritekit] Audit fixes (xtro) (#2577) 1. SKVideoNode is now, partially, available on watchOS and does not require the extra, manual code to swicth selectors depending on the OS version being run. !missing-type! SKVideoNode not bound !missing-selector! SKVideoNode::anchorPoint not bound !missing-selector! SKVideoNode::initWithCoder: not bound !missing-selector! SKVideoNode::initWithFileNamed: not bound !missing-selector! SKVideoNode::initWithURL: not bound !missing-selector! SKVideoNode::setAnchorPoint: not bound !missing-selector! SKVideoNode::setSize: not bound !missing-selector! SKVideoNode::size not bound !missing-selector! +SKVideoNode::videoNodeWithFileNamed: not bound !missing-selector! +SKVideoNode::videoNodeWithURL: not bound 2. SKNodeFocusBehavior is exposed needlessly on watchOS because SpriteKit/Enums.cs was not processed by the generator, so [NoWatch] did not matter. !unknown-native-enum! SKNodeFocusBehavior bound It's also visible on macOS but nothing uses it (so we do not expose it needlessly) !missing-enum! SKNodeFocusBehavior not bound 3. Add missing designated initializer on default `init` !missing-designated-initializer! SKAttributeValue::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! SKNode::init is missing an [DesignatedInitializer] attribute 4. Remove inconsistency for SKNode subclasses wrt XAMCORE_4_0 The trio attributeValues, setAttributeValues and setValue:forAttributeNamed: that was moved from SKNode (deprecated) into its subclasses. This was done using XAMCORE_4_0 but not on every subclasses. This adds them everywhere to be consistent (only SKNode versions are not defined in XAMCORE_4_0) !missing-selector! SKEffectNode::attributeValues not bound !missing-selector! SKEffectNode::setAttributeValues: not bound !missing-selector! SKEffectNode::setValue:forAttributeNamed: not bound !missing-selector! SKEffectNode::valueForAttributeNamed: not bound !missing-selector! SKEmitterNode::attributeValues not bound !missing-selector! SKEmitterNode::setAttributeValues: not bound !missing-selector! SKEmitterNode::setValue:forAttributeNamed: not bound !missing-selector! SKEmitterNode::valueForAttributeNamed: not bound !missing-selector! SKSpriteNode::attributeValues not bound !missing-selector! SKSpriteNode::setAttributeValues: not bound !missing-selector! SKSpriteNode::setValue:forAttributeNamed: not bound !missing-selector! SKSpriteNode::valueForAttributeNamed: not bound * [introspection] Make sure '[FAIL]' is printed before every failure. (#2578) This makes xharness able to list the failures in the inline summary. * [xtro] Reword some of the Simd diagnostic messages according to review. * [xharness] Add a missing IsServerMode check to generate correct html. (#2581) * [SpriteKit] SKTransformNode is new in Xcode 9 so no need to keep the broken (and obsolete) non-simd version of RotationMatrix. * [intents] Fix some (partial) xtro issues and #59156 (#2585) reference https://bugzilla.xamarin.com/show_bug.cgi?id=59156 Remaining issues are filled in https://bugzilla.xamarin.com/show_bug.cgi?id=59183 !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound * [Intents] Confirm* interface methods should be bound as Confirm, Fixes Bug 59164 (#2591) * [Intents] Confirm* interface methods should probably be bound as Confirm, Fixes Bug 59164 https://bugzilla.xamarin.com/show_bug.cgi?id=59164 All Confirm* methods from *IntentHandling interfaces should be named just `Confirm` to avoid confusion because most of them do not directly confirm as an acion, but instead they **ask** for confirmation also we would follow swift's naming by doing this. * [Intents] XAMCORE_4_0 all Confirm* methods from *IntentHandling Turns any Confirm* into just Confirm inside a XAMCORE_4_0 block, * [Intents] Fix breaking changes in Intents added in Xcode 9 Bindings (#2590) Apple added more protocol conformances to INRidesharingDomainHandling and INPaymentsDomainHandling protocols in Xcode 9, I introduced these breaking changes back when I did intents binding so fixing them :) * [Metal] New bindings from Xcode 9 betas (#2457) * [AVFoundation] Updated bindings for xcode9. (#2272) * [Xcode9] Add IOSurface bindings (#2363) * This framework was a private framework before iOS 11. This framework was a private framework before iOS 11, yet the headers claim many API were introduced in iOS 10. So take account of this difference by using the private framework location in iOS 10.3 or earlier. Testing these API from Xcode works fine when run on an iOS 10.3 device, and I've confirmed the IOSurface framework is loaded from the private frameworks path on older devices (and when built using Xcode 9 and linked with the public framework path). * Disable code to make IOSurface work on iOS 10. Disable the code to make IOSurface work on iOS 10, since it may be rejected by the App Store. This also means adjusting the availability attributes, so that the introspection tests pass (and to document that technically these API won't work when used with Xamarin.iOS in iOS 10). I've filed bug #[59201][1] to keep track of this, maybe we can re-enable this later. [1]: https://bugzilla.xamarin.com/show_bug.cgi?id=59201 * [CoreMedia] Fix leak in CMAttachmentBearer.GetAttachments. (#2593) The caller owns the return value from CMCopyDictionaryOfAttachments, so tell Runtime.GetNSObject that. * [Intents] Adds missing API found by xtro, fixes Bug 59183 (#2596) https://bugzilla.xamarin.com/show_bug.cgi?id=59183 Fixes !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !incorrect-protocol-member! INUIHostedViewControlling::configureWithInteraction:context:completion: is OPTIONAL and should NOT be abstract * [xtro] Fix StartWorkingDirectory to enable debugging (#2598) * [iosurface] Enable for tvOS and XM classic (to avoid multiple defines around consumer API) (#2597) * [xtro] Fix EnumCheck (#2600) * [ARKit] Rename a few method to make them nicer. (#2604) * DisplayTransform -> GetDisplayTransform since methods should have verbs. * SessionWasInterrupted -> WasInterrupted and SessionInterruptionEnded -> InterruptionEnded since these names match better with the other names (CameraDidChangeTrackingState / DidFail / DidOutputAudioSampleBuffer: none are prefixed with 'Session'). Additionally, the type is a Model (for the delegate pattern), which means all methods are more-or-less event-like, and the first argument is always the same (the protocol itself), which is another indicator the methods should be named similarly. * [Foundation] Remove 'Key' suffix from some fields. (#2606) Of the 168 fields in NSMetadataItem, only these 5 hadn't removed the 'Key' suffix. So make them all equivalent by removing the 'Key' suffix from these 5 fields. * [ImageIO] Fix API to not duplicate the instance in instance methods. (#2609) An instance method does not need to take the instance as a parameter, so remove the first (instance) parameter for CGImageDestination.AddAuxiliaryDataInfo and CGImageSource.CopyAuxiliaryDataInfo. An alternative solution would be to make the methods static, but I like the instance API better. * [UIKit] De-model UIDataSourceTranslating. (#2603) It's not clear from neither the documentation nor the headers how this protocol is supposed to be used, and since it doesn't correspond to the delegate pattern, remove the [Model] attribute for now. We can always add it back later. * [CoreML] Improve API. (#2592) * [CoreML] Improve API. * The indices, shape and stride properties for MLMultiArray and MLMultiArrayConstraint can logically only be arrays of integers, so type them as such. This means adding overloads for MLMultiArray's constructors, GetObject and SetObject methods, and the indexers that takes nint[] arrays instead of NSNumber[] arrays. * Change MLFeatureValue's static factory methods to be a method ('Create') instead of a preposition, and call all the different factory methods the same, since they can be overloaded nicely. * [tests][monotouch-test] Add version check to MLMultiArrayTest and make sure the arrays we create are big enough for the data we put in them. * [tests][monotouch-test] MLMultiArray's elements aren't zero-initialized, so don't assume that in the tests. * Support overloading Objective-C methods based on static/instance. (#2607) Two Objective-C methods can be named identically as long as one is static and the other instance. We must support this since Apple did just this (in the NSItemProviderReading / NSItemProviderWriting protocols). We solve it by prepending a '+' or '-' to the selector when hashing it (to determine selector uniqueness, and to look the method up again at runtime). * [uikit] Update for Xcode 9 - Part 6 (#2602) NSAttributedString.h NSFileProviderExtension.h NSLayoutAnchor.h UIAccessibility.h UIAccessibilityAdditions.h UIAccessibilityContainer.h UIAccessibilityContentSizeCategoryImageAdjusting.h UIAccessibilityCustomRotor.h UIAccessibilityLocationDescriptor.h UITabBar.h UINavigationBar.h UIScreen.h * Xcode9 scenekit (#2512) * [SceneKit] basic work * Added key * [xcode9] SCNCameraController * [xcode9] SCNCamera updates * [xcode9] SCNMaterial * [xcode9] SCNGeometryTessellator, SCNCameraControlConfiguration, SCNView, small bits * Add trailing commas to last enum value * Remove whitespace noise * [scenekit] Update deprecated attributes messages * Addresses some of Rolf's feedback * Drop the WeakDelegate in SCNCameraController * Rename method to Render, remove ctor from class that can not be constructed in Palygrounds, add typo exception * [AppKit] Rename NSBezierPath.AppendBezierPathWithCGGlyph to match its sibling methods. (#2605) NSBezierPath contains a lot of 'AppendPathWithXXX' methods, that all map to 'appendBezierPathXXX' selectors. So rename AppendBezierPathWithCGGlyph accordingly, to make it more similar to the other methods in the same type. * [uikit] Add all UISpringLoadedInteractionSupporting (#2616) Types do not conform to the protocol but protocol methods work on those types (see monotouch-test). Fixed introspection tests accordingly and tested the selectors in monotouch-test. * [Intents] Add convenience ctor overload and call correct base ctor in manual ctor. (#2613) Add a convenience constructor overload in INGetUserCurrentRestaurantReservationBookingsIntent that uses nint instead of NSNumber, since logically "number of results" will always be some sort of integer. Also call the correct base constructor in INSpeakableString's custom constructor (same as any other generated constructor). Otherwise we end up doing something like this: [[[INSpeakableString alloc] init] initWith ...], i.e. calling two different init methods. * [coreimage] Add new headers API up to beta 6 (#2601) Filters are not complete (ref: #57350) https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * Some new constants are not yet documented (type is known), so they are commented / ignored https://bugzilla.xamarin.com/show_bug.cgi?id=59296 * Filled bug for [Wrap] inside [Category] so strong dictionary helpers can be re-enabled later https://bugzilla.xamarin.com/show_bug.cgi?id=59294 * [foundation] xtro fixes for watchOS (#2586) !missing-enum! NSProcessInfoThermalState not bound !missing-field! NSProcessInfoThermalStateDidChangeNotification not bound !missing-selector! NSProcessInfo::thermalState not bound Headers are wrong and preferredPresentationStyle is not in tvOS and watchOS !missing-selector! NSItemProvider::preferredPresentationStyle not bound !missing-selector! NSItemProvider::setPreferredPresentationStyle: not bound * [uikit] Also remove UIPreferredPresentationStyle enum from platform where it's not used * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. (#2614) * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. * NSItemProviderWriting: * NSItemProviderReading: Implement correctly and completely by uncommenting commented out code. * NSMutableString: * NSAttributedString: remove inlined members, since these classes don't implement NSItemProviderReading / NSItemProviderWriting (according to the headers at least). * NSUrl: all platforms now seem to implement NSItemProviderReading / NSItemProviderWriting. * NSString: all platforms now seem to implement both NSItemProviderReading and NSItemProviderWriting * UIColor: * UIImage: Update inlined protocol members according to the latest beta. Additionally, due to the following conditions: * The protocols all have the correct members now. * In the API definition we tell the generator to inline members from a protocol by inheriting from the corresponding interface. * The generator doesn't inline static members from protocols. several 'new' keywords had to be added to silence a compiler warning that occurrs when we manually inline a static member, since the member would be included in the type both from the inherited interface and the manual implementation. * [Foundation] Comment out NSItemProviderWriting.GetItemProviderVisibility to avoid inlining/generating unusable methods. NSItemProviderWriting.GetItemProviderVisibility is an optional method, and none of the native classes that implements NSItemProviderWriting actually imlements the method. This means inlining the method in those classes ends up creating unusable API; so just comment out the method to avoid generating the unusable API. The introspection tests found this: [FAIL] Foundation.NSString : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Foundation.NSUrl : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Contacts.CNContact : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] MapKit.MKMapItem : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIColor : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIImage : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] iOSApiSelectorTest.ApiSelectorTest.StaticMethods : 6 errors found in 2348 static selector validated: See also https://bugzilla.xamarin.com/show_bug.cgi?id=59308 * [iosurface] Add missing [TV] attributes (#2619) * [opengles] Enable the new API using IOSurface (#2618) The symbol only exists inside device libraries, not on simulator, and the introspection tests were updated to ignore it. Part of https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [avfoundation][watchos] Enable AudioBufferList (fix #59145) + audit (xtro) (#2617) 1. AudioBufferList is part of CoreAudio (wrong namespace, which needs a few changes in the generator) and now available in watchOS 4 https://bugzilla.xamarin.com/show_bug.cgi?id=59145 2. Also fixes xtro found issues: !missing-type! AVAudioRecorder not bound !missing-selector! AVAudioRecorder::averagePowerForChannel: not bound !missing-selector! AVAudioRecorder::channelAssignments not bound !missing-selector! AVAudioRecorder::currentTime not bound !missing-selector! AVAudioRecorder::delegate not bound !missing-selector! AVAudioRecorder::deviceCurrentTime not bound !missing-selector! AVAudioRecorder::format not bound !missing-selector! AVAudioRecorder::initWithURL:format:error: not bound !missing-selector! AVAudioRecorder::initWithURL:settings:error: not bound !missing-selector! AVAudioRecorder::isMeteringEnabled not bound !missing-selector! AVAudioRecorder::isRecording not bound !missing-selector! AVAudioRecorder::peakPowerForChannel: not bound !missing-selector! AVAudioRecorder::recordAtTime: not bound !missing-selector! AVAudioRecorder::recordAtTime:forDuration: not bound !missing-selector! AVAudioRecorder::recordForDuration: not bound !missing-selector! AVAudioRecorder::setChannelAssignments: not bound !missing-selector! AVAudioRecorder::setDelegate: not bound !missing-selector! AVAudioRecorder::setMeteringEnabled: not bound !missing-selector! AVAudioRecorder::settings not bound !missing-selector! AVAudioRecorder::url not bound !missing-protocol! AVAudioRecorderDelegate not bound !missing-selector! AVAudioEngine::inputNode not bound !missing-selector! AVAudioEngine::manualRenderingBlock not bound !missing-selector! AVAudioInputNode::setManualRenderingInputPCMFormat:inputBlock: not bound !missing-selector! AVAudioPlayer::format not bound !missing-selector! AVAudioSession::requestRecordPermission: not bound !unknown-field! AVFileType3GPP bound !unknown-field! AVFileType3GPP2 bound !unknown-field! AVFileTypeAC3 bound !unknown-field! AVFileTypeAIFC bound !unknown-field! AVFileTypeAIFF bound !unknown-field! AVFileTypeAMR bound !unknown-field! AVFileTypeAVCI bound !unknown-field! AVFileTypeAppleM4A bound !unknown-field! AVFileTypeAppleM4V bound !unknown-field! AVFileTypeCoreAudioFormat bound !unknown-field! AVFileTypeDNG bound !unknown-field! AVFileTypeEnhancedAC3 bound !unknown-field! AVFileTypeHEIC bound !unknown-field! AVFileTypeHEIF bound !unknown-field! AVFileTypeJPEG bound !unknown-field! AVFileTypeMPEG4 bound !unknown-field! AVFileTypeMPEGLayer3 bound !unknown-field! AVFileTypeQuickTimeMovie bound !unknown-field! AVFileTypeSunAU bound !unknown-field! AVFileTypeTIFF bound !unknown-field! AVFileTypeWAVE bound * [Metal] Implement API using IOSurface now that IOSurface is implemented. Partially fixes #58054. (#2621) https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [PdfKit] Improve PdfAnnotation.QuadrilateralPoints binding by making it strongly typed. (#2620) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). (#2622) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). * [ARKit/Vision] Use the new simd vector types instead of the OpenTK versions. * [ModelIO] Use the new simd vectors in new API (MDLVoxelIndexExtent2). This way we won't have to create a MDLVoxelIndexExtent3 in the future. * [SpriteKit] Use the new simd vectors in new API. * [metal] Audit (xtro) based fixes (#2623) !extra-protocol-member! unexpected selector MTLArgumentEncoder::newArgumentEncoderForBufferAtIndex: found !extra-protocol-member! unexpected selector MTLComputeCommandEncoder::dispatchThreads:threadsPerThreadgroup: found macos-only !missing-field! MTLDeviceRemovalRequestedNotification not bound !missing-field! MTLDeviceWasAddedNotification not bound !missing-field! MTLDeviceWasRemovedNotification not bound !missing-pinvoke! MTLCopyAllDevices is not bound * [CloudKit] Update bindings to beta 6. (#2615) * [FileProvider] Turn NSFileProviderItemIdentifier enum into a static class, fixes bug 59329 (#2634) https://bugzilla.xamarin.com/show_bug.cgi?id=59329 At the time of binding NSFileProviderItemIdentifier it wasn't clear how it was supposed to be used, I mean apple provides two keys which I thought were the only possible values hence binding it as an smart enum. Unfortunately this wasn't the case and the user can use those two values provided from the SDK or their own NSString Identifier. Swift provides a wrapper unfortunately we can't do the same due to NSFileProviderItemIdentifier is used in the NSFileProviderItem protocol and we currently do not support changing signatures on them. * [mtouch] Teach mtouch about the 'IOSurface' framework for tvOS. Fixes #59333. (#2630) https://bugzilla.xamarin.com/show_bug.cgi?id=59333 * Bump Touch.Unit to get fix for API breakage. (#2631) spouliot/Touch.Unit@8f1e19d [NUnitOutputTextWriter] Reintroduce previous constructor to make sure we don't break binary ABI. spouliot/Touch.Unit@00b0c0b [NUnitOutputTextWriter] Don't write invalid xml comments. spouliot/Touch.Unit@de9fe20 [TouchRunner] Restore the original code path when not wrapping NUnit xml output. * [IOSurface] Add missing availability attributes for tvOS. (#2629) * Bump versions for preview 9 (#2624) * [AVFoundation] Add missing interface AVRouteDetector. (#2637) * [tests] Update xtro to reduce list sizes (#2636) * Skip OpenTK duplicate declaration (we can't change them); * Fix rule name change for ARKit / simd; * Add missing default initializer on `init` to pending actions; * Add note for AVPersistableContentKeyRequest changes wrt tvOS; * [ReplayKit] Make RPBroadcastActivityViewController.LoadBroadcastActivityViewController async-capable. (#2639) * [xcode9] More SceneKit bindings (#2633) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 (#2644) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 https://bugzilla.xamarin.com/show_bug.cgi?id=59380 vector_float3 is 16 bytes, which means the binding is incorrect, because Vector3 is 12 bytes, and our code does not that difference into account. * Add tests * [DeviceCheck] Disable default ctor for DCDevice. (#2642) It doesn't seem to be useful according to the documentation, since it appears that the only way to get an instance is to use the static CurrentDevice property. * [audiounit] Audit (xtro) fixes for tvOS (#2635) Availability attributes in non-generated files don't hide symbols/code. reference: !unknown-pinvoke! AudioUnitExtensionCopyComponentList bound !unknown-pinvoke! AudioUnitExtensionSetComponentList bound * [tests] Make sure tvOS tests don't use the (unexisting) API * [tests] Add all test project variations to tests-mac.sln (#2579) * [xharness] Make sure generated mac projects have different project guids. * [introspection] Change the project guid so that it doesn't match the dontlink-mac project guid. * [tests] Add all test project variations to tests-mac.sln. * [xharness] Fix else condition. * [FileProvider] Adds missing NSFileProviderPage constants, fixes bug 59297. (#2646) https://bugzilla.xamarin.com/show_bug.cgi?id=59297 Adds NSFileProviderInitialPageSortedByName and NSFileProviderInitialPageSortedByDate NSData constants * [Xcode9] Remove NSFileProviderMessage and NSFileProviderMessageInterface (#2647) APIs were removed in beta 2 * [Foundation/UIKit] Provide LoadObject[s] methods that return the expected type in the callback. Fixes #59049. (#2638) The callback for these LoadObject[s] methods take an INSItemProviderReading parameter. This tells our runtime that we must provide an instance of a managed object that implements this interface (but nothing else), so we create a `NSItemProviderReadingWrapper` instance, which complies with the API (since the wrapper type implements the corresponding interface). Unfortunately these methods are supposed to return an instance of the passed- in type, so in order to comply with this soft (documentation-only) requirement, provide a wrapper method that creates instances of the right types. https://bugzilla.xamarin.com/show_bug.cgi?id=59049 * [arkit] Ignore deprecated selectors (#2645) * [FileProvider] Adds missing protocol and keys from audit (#2652) ``` !missing-protocol! NSFileProviderServiceSource not bound !missing-field! NSFileProviderErrorCollidingItemKey not bound !missing-field! NSFileProviderErrorNonExistentItemIdentifierKey not bound !missing-field! NSFileProviderFavoriteRankUnranked not bound ``` Also adds `NSXpcListenerEndpoint` to foundation, needed by `NSFileProviderServiceSource` protocol. * [tests][xtro] Workaround xtro runner dupe entry exception and update data files (#2654) * [AVFoundation] Rename field to match others. (#2657) * [homekit] Audit (xtro) fixes (#2653) - HMCharacteristicEvent conforms to NSMutableCopying on iOS11 which makes it 64 bits only (so adjust intro tests) - Ignore extra setters on HMMutablePresenceEvent, rdar 33883958 !missing-selector! HMMutablePresenceEvent::setPresenceEventType: not bound !missing-selector! HMMutablePresenceEvent::setPresenceUserType: not bound * [xtro] Add missing pinvoke to pending (#2662) - Bug 59422: [uikit] Missing UIContentSizeCategoryCompareToCategory & UIContentSizeCategoryIsAccessibilityCategory (https://bugzilla.xamarin.com/show_bug.cgi?id=59422) * Merge latest d15-3 fixes into xcode9 (#2660) * [msbuild] Re-added wildcard (*) expandsion for application-identifier in Entitlements.plist (#2186) Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=57119 * Bump mono (#2213) * Framework tests were still binding non-linked Simple class which errors now (#2216) (#2218) - Improve Makefile to rebuild when projects build with errors * Bump mono to get cecil fix for bug #56808. (#2222) https://bugzilla.xamarin.com/show_bug.cgi?id=56808 * [msbuild] Use @(ReferencePath) instead of @(ResolvedFiles) (#2188) (#2214) This allows things to work on both xbuild and msbuild. In xbuild, both lists are exactly the same and on msbuild, only @(ReferencePath) exists. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=55147 * NSActivityOptions.IdleDisplaySleepDisabled had wrong value (#2232) (#2239) This was due to an integer overflow. The original value was based on Int32 1 << 40 == 256 The correct value should be based on a UInt64. 1UL << 40 == 1099511627776 * [tests] Fix bug 57699 - [iOS]InternalsTest failure (Linkall) tests on device (#2243) Strip native debugging symbols should not be checked for debug builds * Bump mono to get fix for bug #57780. https://bugzilla.xamarin.com/show_bug.cgi?id=57780 * Update .gitmodules Change branch to d15-3 branch of mono * Bump maccore to get fix for bug #55064. https://bugzilla.xamarin.com/show_bug.cgi?id=55064 * [mono] Bump mono to get the head of cecil/mono-2017-04 and fix IsComObject #57919 Also fix #58789 [1], the typo in tools/mtouch/Tuning.cs showing in MT0000 errors instead MT2102. That's already in master and d15-4 mono bump includes: [2] commit 2a6502cee0df9de5198eafe7c8b5f6ac25106f34 (HEAD -> d15-3, origin/d15-3) Merge: 02457c20fcf 5e05cafc6f1 Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 10:04:06 2017 -0400 Merge pull request #5401 from marek-safar/com [Marshal.IsComObject] Make this predicate return false instead of thr… [3] commit 02457c20fcf57c0610e844d638eb1da82b5d1eb0 Merge: da80840ea55 73fd9a1b82e Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 09:59:06 2017 -0400 Merge pull request #5400 from spouliot/bump-cecil-58834-d15-3 [cecil] Bump to the head of the mono-2017-04 branch and pick the fix for bug #58834 References [1] https://bugzilla.xamarin.com/show_bug.cgi?id=58789 [2] https://bugzilla.xamarin.com/show_bug.cgi?id=57919 [3] https://bugzilla.xamarin.com/show_bug.cgi?id=58834 * [mtouch] Put 'mono_profiler_startup_log' in the symbol list. Fixes #58778. (#2501) We need the 'mono_profiler_startup_log' symbol when profiling is enabled, so make sure to add the symbol to the correct list of symbols we need. Previously we were passing `-u _mono_profiler_startup_log` to clang directly, which is fine, but not complete, since it does not write the symbol to the symbollist file (--symbollist=file), which means it wouldn't be preserved when the MSBuild tasks strip the executable. https://bugzilla.xamarin.com/show_bug.cgi?id=58778 * Bump versions for SR3 https://trello.com/c/EVze08ei * Bump mono to include HttpClientHandler fix #44027 https://trello.com/c/jYFXadH8/8-systemnethttp-close-request-stream-when-httpclienthandler https://bugzilla.xamarin.com/show_bug.cgi?id=44027 * [FileProvider] Add missing API and turn NSString to string (#2663) Turned NSString to string in order to match exisiting API. * [uikit] Add UIPasteConfigurationSupporting and UITextPasteConfigurationSupporting (#2649) - Fixes bug #59363: Missing UIPasteConfigurationSupporting, UITextPasteConfigurationSupporting, UITextDraggable and UITextDroppable on a couple of types (https://bugzilla.xamarin.com/show_bug.cgi?id=59363) * [uikit] Remove 129 types in UIPasteConfigurationSupporting case * [scenekit] Audit (xtro) fixes (#2648) This looks like an Apple breaking change (since `SCNAnimation` is new) but we now have: > typedef void (^SCNAnimationEventBlock)(id<SCNAnimation> animation, id animatedObject, BOOL playingBackward); bound as > delegate void SCNAnimationEventHandler (CAAnimation animation, NSObject animatedObject, bool playingBackward); and `CAAnimation` conforms to `SCNAnimation` but *only* the later is available on watchOS. The delegate is only updated (since it's new) on our watchOS profile. xtro references: (watchos) !unknown-protocol! SCNCameraControlConfiguration bound (tvos/watchos) !missing-selector! SCNAnimation::animationEvents not bound !missing-selector! SCNAnimation::setAnimationEvents: not bound !missing-selector! SCNConstraint::isEnabled not bound !missing-selector! SCNConstraint::setEnabled: not bound !missing-field! SCNSceneSourceConvertToYUpKey not bound !missing-field! SCNSceneSourceConvertUnitsToMetersKey not bound (ios/tvos) !missing-protocol-conformance! SCNNode should conform to UIFocusItem * Bump maccore post 15.3 merge (#2665) * Bump Xcode 9 to GM (#2667) * Force build (on wrench) * [avfoundation] Fix breaking changes (apidiff) (#2664) * [TVServices] Update to Xcode 9 GM (#2675) * [GameController] Update to Xcode 9 GM (#2673) * [LocalAuthentication] Update to Xcode 9 GM (#2671) * [LocalAuthentication] Update to Xcode 9 GM * Remove availability from BiometryNotAvailable, BiometryNotEnrolled and BiometryLockout * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer (#2659) * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer Some of the new added types were already present BUT under a #if MONOMAC, they had to be moved. * [AVFoundation] Set the wrongly added API to be obsolete and ensure it returns logical values. (#2650) * [xtro] The right platform for macOS is 'macos', not 'osx'. (#2677) The platform name is used to filter availability attributes, and if we use the wrong platform, we'll incorrectly skip all availability attributes. The net result in unclassified entries: https://gist.github.com/rolfbjarne/a4474bc2a40c49a85cad495b51bb514f * Various Xcode 9 API improvements and also fixes bug 59433 (#2676) https://bugzilla.xamarin.com/show_bug.cgi?id=59433 While fixing bug 59433 I noticed some additional issues outlined below: AVDepthData: * Renamed **non** static `Create` methods because `Create` only makes sense with the **Static** method in this context. Also by renaming the methods we are now closer to the names that swift uses. * Kept descriptive method names in favor of self-documenting code. `Convert`, `Apply` and `Replace` do not fully give us the intent of the method. * Added a convenience `Create` static method that takes a `CGImageAuxiliaryDataInfo`. * AvailableDepthDataTypes is now an array of `CVPixelFormatType` instead of a `NSNumber` array (The aactual fix for bug 59433). ImageIO: * Refactored `CGImageAuxiliaryDataInfo` to be a `StrongDictionary` in order to avoid most of the manual code and also to avoid reimplementing the `ToDictionary` method (which contained a subtle bug). * Adjusted code to reflect the above change. * Added missing `.ctor (IntPtr, bool)` to `CGImageMetadata` so the class is able to be created by our `Runtime.Get*`. * Simplified `CopyAuxiliaryDataInfo` method by using `CGImageAuxiliaryDataInfo` as a `DictionaryContainer`. Tests: * Added `xamarinmonkey.heic` which is an image that contains depth data needed to test above changes. * Adds `AVDepthDataTests` that touches most of the changes listed here. * Tweak the Simd-compatible matrices and vectors (#2668) * Rename them to be OpenTK.NMatrix# (instead of Simd.MatrixFloat#x#). * Remove the Vector2 and Vector4 variants, we'll use the OpenTK types instead (but we'll keep the NVector3 variant, since it's not identical to the OpenTK version). * Update the API to match their OpenTK counterparts better: * NMatrix2 and NMatrix3 have a 0-based R#C# scheme for their fields. * NMatrix4 has a 1-based M## scheme for its fields (i.e. no change). * [AVFoundation] Use Simd-matrix for API that needs it. (#2679) This also requires implementing the corresponding matrix (NMatrix4x3). Fixes this xtro issue: > !unknown-simd-type-in-signature! OpenTK.Matrix3 AVFoundation.AVCameraCalibrationData::get_GetIntrinsicMatrix(): the native signature has a simd type (matrix_float3x3), while the corresponding managed method is using an incorrect (non-simd) type. * [xtro] Fix checking availability on categories. (#2682) When checking for category availability, check if both the current declaration is a category, and if the current's declaration container is a category. Otherwise this scenario fails: * Category method is available. * Category does not have availability attributes. * Main class is unavailable. with this typical code sequence: ```csharp // don't process methods (or types) that are unavailable for the current platform if (!decl.IsAvailable () || !(decl.DeclContext as Decl).IsAvailable ()) return; ``` In which case we'd: * First check the method (`decl`): * It's available, so no further checks is done on the method. * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container's container is a category (it isn't, it's the namespace). and as such determine that the method is available. With this change, the second step will become: * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container is a category (it is), and if its main class is available (it isn't). and as such determine that the method is unavailable. * Check for attributes on the method's container (no attributes, so we continue). * Check if the method's Unclassified diff: https://gist.github.com/rolfbjarne/8fa80962596978a426eadf9b7ba39dc1 * [uikit] Update for Xcode 9 GM (#2670) * [AVFoundation] Implement AVCapturePhoto. Partially fixes #59388. (#2678) Fixes: > common.unclassified:!missing-type! AVCapturePhoto not bound https://bugzilla.xamarin.com/show_bug.cgi?id=59388 * Use strong dictionaries for AVCapturePhoto.Metadata and AVCapturePhoto.EmbeddedThumbnailPhotoFormat. * [SIMD] Implement Simd double types (VectorDouble3/MatrixDouble4x4). (#2632) The following types will be used by ModelIO bindings * Fix delta to be double * Rename Simd-compatible matrices and vectors to match our final naming. This also means removing the new Vector2 and Vector4 variants (but not Vector3). * [avfoundation] Remove AVAssetDownloadDelegate.DidLoadTimeRange since it was removed in one of the betas (#2687) * [foundation] Move NSUrlSessionMultipathServiceType to a file processed by the generator (for the availability attributes) (#2688) * [arkit] Update for Xcode 9 GM (#2681) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes (#2690) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes Type Changed: Intents.INCarSeatResolutionResult Removed methods: public static INCarSeatResolutionResult GetConfirmationRequired (INCarSeat valueToConfirm); public static INCarSeatResolutionResult GetSuccess (INCarSeat resolvedValue); * [avfoundation] Add missing protocol members and deprecations (#2691) !missing-protocol-member! AVCapturePhotoCaptureDelegate::captureOutput:didFinishProcessingPhoto:error: not found and the selector removed from PR#2687 was actually replaced with this one !missing-protocol-member! AVAssetDownloadDelegate::URLSession:aggregateAssetDownloadTask:didLoadTimeRange:totalTimeRangesLoaded:timeRangeExpectedToLoad:forMediaSelection: not found * [tests][xtro] Map some enums, more fix with protocols and update entries (#2692) * [Tests] Reenable dns tests on the watch. (#2674) * [arkit] Add ARBlendShapeLocationOptions strong dictionary (#2696) * [coreimage] Skip not yet bound filters added in Xcode9 (#2698) Tracked in https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * [Metal] Renamed MTLArgumentDescriptor.ArgumentDescriptor to Create, fixes bug 59498 (#2702) https://bugzilla.xamarin.com/show_bug.cgi?id=59498 From [argumentDescriptor docs](https://developer.apple.com/documentation/metal/mtlargumentdescriptor/2915746-argumentdescriptor?language=objc) > Creates an empty argument descriptor. * [msbuild] Always codesign app bundles if the codesign key is non-null (#2697) ...even if it is a simulator build. Turns out that starting with Xcode9, sim builds need to be codesigned for App Groups entitlements to work properly. Interestingly, the DetectSigningIdentity logic had a comment about needing to codesign simulator builds for some entitlements to work already starting with Xcode 8 but apparently the iOS targets did not respect this. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=59379 * [Foundation] Add NSProxy stub in order to workaround bug 59247 (#2693) https://bugzilla.xamarin.com/show_bug.cgi?id=59247 We need to have a better solution that removes all what NSProxy does not responds to. Right now this works because NSObject implements NSObject protocol just like NSProxy, but NSProxy responds to far less selectors hence doing it internal so it is not a breaking change when we provide the correct fix. * Keep NSProxy around and avoid XML linker description We need to keep NSProxy (avoid linking it) if WKNavigationDelegate or IWKNavigationDelegate is used. We know WKWebView will be there and can hold a reference to it. * [Xcode 9] Update Metal for GM (#2689) * [iosurface] IOSurface is not usable before iOS/tvOS 11. Fixes #59201 (#2706) Apple rejects apps that links with the previously private IOSurface.framework. We were not sure about this [1] and had it disabled (this is removed). However another bug stopped our adjustment logic [2] from being executed. This is needed since `clang` picks up the private framework if it does not find the public one (even when asking for a weak framework), [1] https://bugzilla.xamarin.com/show_bug.cgi?id=59201 [2] Added a while ago for JavascriptCore * Bump maccore to point to commit with the docs fix. (#2703) * Bump XI to 11.0.x (and XM to 3.99.9.x) (#2684) * fix typo
2017-09-16 00:53:16 +03:00
[Watch (4,0), TV (11,0), Mac (10, 13, onlyOn64: true), iOS (11,0)]
Merge xcode9 into d15-4[-xi] (#2710) * [FileProvider] Add Xcode 9 Beta 1, 2 & 3 Bindings (#2279) * [FileProvider] Add Xcode 9 Beta 1 Bindings * Better naming * Feedback not related to BindAs * [FileProvider] Removes BindAs, add manual code for it and updated to Beta 3 * [FileProvider] Implement feedback * [CoreSpotlight] Updated spotlight bindings for xcode 9 beta 3. (#2193) Updated spotlight bindings for xcode 9 beta 3. * Fix warning caused by duplicate (#2354) * [FileProviderUI] Add Xcode 9 Beta 1 to 3 bindings (#2356) * Bump to Xcode 9 beta 4 * [arkit] ARLightEstimate does not conform to NSCopying anymore (fix unit test) * [uikit] NSFileProviderExtension.ReparentItem got a new parameter in beta4 (fix unit test) * [coreimage] CIImageAccumulator init returns nil in beta 4 There's no header change to mention `init` is not allowed but it's not clear how this default initializer could be used. Also make public some other API to construct this type (outside of XM). It's not clear why there were `internal` as they are (at least now) part of the header files. * [photos] Add helpers when PHLivePhotoEditingOption/NSDictionary is null (to avoid ambiguous API) (#2360) Adding a strongly typed `PHLivePhotoEditingOption` (a strongly typed version of an `NSDictionary`) can cause a `CS0121` (call is ambiguous) since using a `null` argument is common (only one option exist so far). This PR adds overloads that makes the code nicer in such case, e.g. before Xcode9: > // null is used when no options are given > _foo.SaveLivePhoto (output, null, completion); current (Xcode 9) > // casting required to remove ambiguity with PHLivePhotoEditingOption > _foo.SaveLivePhoto (output, (NSDictionary)null, completion); with this PR > // no option, no argument > _foo.SaveLivePhoto (output, completion); The same applies to `PrepareLivePhotoForPlayback`. * [tests] Disable/tweak two tests that breaks on (almost) all Xcode updates Those tests were not added to validate xOS so just keep the parts that helps us (without constantly checking back the new break flavor) * Disable watchOS to check if this hides others issues * [mapkit] Update for beta 4 * [coredata] Update for beta 4 * [wkwebkit] Update for beta 4 Note: WKWindowFeatures.h is not compiled (part of the framework umbrella) and the `@interface WKWindowFeatures (WKPrivate)` sounds like it should not have been exposed (it's all fields starting with `_`) * [corelocation] Update for beta 4 * Revert "Disable watchOS to check if this hides others issues" This reverts commit fed2249fa43290a1956ab2fe0d48f83ab6db9711. * [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]: https://github.com/xamarin/xamarin-macios/blob/f5956d6cc1eb5dfa7bab16628cf282d40237f64e/src/generator.cs#L5985 * [FinderSync] Update to beta 4 (#2377) * [ImageIO] Update to Xcode 9 (#2353) * [PhotosUI] Move macOS photosui bindings out of photos.cs into photosui.cs (#2358) * [quicklook] Update up to beta 4 (#2374) * [uikit] UIDragInteraction & UIDragInteractionDelegate (Xcode 9 b1,2,3) (#2357) * [safariservices] Update up to beta 4 (#2380) * [coreanimation] Update to beta 4 (#2382) Apple removed (mistake?) some API in beta 1. Filed as rdar 33590997 Internal tracking in https://trello.com/c/J8BDDUV9/86-33590997-coreanimation-quartzcore-api-removals * [storekit] Update up to beta 4 (#2379) * [CoreML] Update to Xcode 9 Beta 4 (#2387) * [uikit] UICollectionView/UITableView Drag & Drop (Xcode 9 b1,2,3 & 4) (#2355) * Update code after radar 32929318 and 32897776 are fixed in b4 (#2394) * [xcode9 CoreAudio] New definitions from Beta1 to Beta3 (#2359) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 (#2397) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 https://bugzilla.xamarin.com/show_bug.cgi?id=58512 Created strong API (VNBarcodeSymbology) on the following properties * VNDetectBarcodesRequest.SupportedSymbologies * VNDetectBarcodesRequest.Symbologies * VNBarcodeObservation.Symbology * Remove modern C# because classic can't do it 😡 * [mediaplayer] Update up to beta 4 (#2388) * [watchkit] Update to beta 4 (#2398) * Bump Visual Studio for Mac max version (#2408) * [coreimage] Add CIBarcodeDescriptor and enabled missing API for VNBarcodeObservation. Fix #58197 (#2411) https://bugzilla.xamarin.com/show_bug.cgi?id=58197 * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 (#2407) * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 * [uikit] Fixes based on comments * [coreimage] CIImageAccumulator API fixes. Fix #58349 (#2412) * Obsolete the default `init`; * XM exposed some older APIs using `int` instead of `CIFormat`. This is fixed and old APIs are obsoleted; * Both new & old APIs are now using `CIFormat` for both XI and XM. https://bugzilla.xamarin.com/show_bug.cgi?id=58349 * [uikit] UIText drag & drop - up to Xcode 9 beta 4 (#2410) * [uikit] UISplitView & UIStackView up to Xcode 9 beta 4 (#2425) * Bump XI/XM versions before preview 4 (#2422) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 (#2378) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 * [PDFKit] Implement feedback * [PDFKit] the forgotten enum * [PDFKit] More feedback * [PDFKit] Add Mac changes * Missing change * Fix test RectangleF VS CGRect * Pass -Wunguarded-availability-new to quiet a new clang warning (#2424) - https://bugzilla.xamarin.com/show_bug.cgi?id=58574 * [mtouch/mmp] Ignore warnings about unguarded code section with regards to availability. (#2441) * [monotouch-test] Remove workaround for fixed Apple bug. (#2445) * Bump to Xcode 9 beta 5. (#2447) * Bump to Xcode 9 beta 5. * [mmp] Disable the partial static registrar, because Apple's macOS SDK is broken. > In file included from Xamarin.Mac.registrar.mobile.i386.m:1: > In file included from ./Xamarin.Mac.registrar.mobile.i386.h:11: > /Applications/Xcode9-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVFoundation.h:88:9: fatal error: 'AVFoundation/AVRouteDetector.h' file not found https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [mmp] Fix partial static registrar removal. * [CallKit] Update to Xcode 9 beta 5. * [ARKit] ARPointCloud doesn't conform to NSCopying anymore in Xcode 9 beta 5. * [ARKit] Update to Xcode 9 beta 5 enough to make tests happy. * [CoreImage] Stub out new filters in Xcode 9 beta 5. * [tests][monotouch] Simplify some MDLMesh asserts since values change a lot between OS versions. * [mmp] Default to the dynamic registrar for release builds again, due to bug #58629. https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [tests][introspection] CXCall started implementing NSCopying without saying so in the headers. * Disable mmp static registrar tests due to 58629 for now * [quicklook] Update to beta 5 (#2450) * [photos] Update for beta 5 (#2452) Also update some existing enum members were added in beta 1 on macOS * [safariservices] Update for beta 5 (#2455) * [mediaplayer] Update to beta 5 (#2456) * [CoreLocation] Update Xcode 9 Beta 5 (#2453) * [CoreML] Update to Xcode 9 Beta 5 (#2454) * [Contacts] Update to Xcode 9 Beta 5 (#2451) * [Vision] Update to Xcode 9 Beta 5 (#2458) * [builds] Tell LLVM to stay away from newer macOS functions. (#2459) Fixes this build problem on Sierra: > ld: weak import of symbol '_futimens' not supported because of option: -no_weak_imports for architecture x86_64 This is a symbol that was (will be?) introduced in High Sierra. Interestingly this only occurs if the Xcode 8.X Command Line Tools haven't been manually installed. Because if the Xcode 8.X Command Line Tools are installed, this happens: 1. llvm's configure script detects that 'futimens' is not usable. 2. llvm's configure script detects that 'futimens' is not usable, because xcrun sets SDKROOT=/ when calling clang. a. When the SDKROOT variable is set, clang passes '-syslibroot /usr/lib' to ld. b. When ld gets '-syslibroot /usr/lib', ld looks in '/usr/lib' for a library that contains 'futimens' in the OS itself, and since we're on Sierra, that fails to link. c. So when llvm's configure script creates a test program that checks if 'futimens' is present, the program fails. This is correct, and makes llvm *not* use futimens. 3. xcrun sets SDKROOT=/ because /usr/share/current-os.sdk/Info.plist exists. If that file does not exist, then xcrun sets SDKROOT to Xcode9's macOS SDK (because that's what xcode-select reports). a. When SDKROOT is set to Xcode9's macOS SDK, the configure check for 'futimens' succeeds, because the macOS 10.13 SDK contains that function. b. llvm happily uses 'futimens', and then the final link fails because we're using a symbol not available on all target platforms. * [arkit] Update for Xcode 9 beta 5 - Part 1 (#2460) * [tests] The container app for watchOS tests should be 64-bit. (#2463) * [xharness] watchOS tests need to run in a clean environment. Works around #58348. (#2462) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [xharness] It watchOS tests don't need to be clean anymore. Fixes #58348. (#2473) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [uikit] UIView/UIScrollView/UIViewController up to Xcode 9 beta 5 (#2431) - Add NSDirectionalEdgeInsets type. - Includes DirectionalEdgeInsetsTest. * [AudioToolbox] Update bindings to Xcode 9 beta3 (not later changes). (#2294) * [xharness] Add a file existence check. (#2478) Fixes this exception: ``` Harness exception for 'introspection': System.IO.FileNotFoundException: Could not find file '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log'. File name: '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log' at System.IO.__Error.WinIOError (System.Int32 errorCode, System.String maybeFullPath) [0x00207] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/__error.cs:188 at System.IO.FileInfo.get_Length () [0x00038] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/fileinfo.cs:171 at xharness.CaptureLog.StopCapture () [0x00021] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Log.cs:252 at (wrapper remoting-invoke-with-check) xharness.CaptureLog:StopCapture () at xharness.AppRunner+<RunAsync>d__68.MoveNext () [0x0127f] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/AppRunner.cs:642 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter`1[TResult].GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:357 at xharness.RunSimulatorTask+<RunTestAsync>d__7.MoveNext () [0x0029d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2894 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.RunTestTask+<ExecuteAsync>d__8.MoveNext () [0x0010b] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2538 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.TestTask+<RunInternalAsync>d__87.MoveNext () [0x0010d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:1870 ``` I'm not sure how this can happen, but it has on the bots [1]. [1] https://jenkins.mono-project.com/job/xamarin-macios-pr-builder/4548/Test_Report/ * Bump versions for preview 5 (#2479) * [passkit] Update to beta 5 (#2481) * [tests] Remove workaround for radar #32688391. (#2486) * [replaykit] Update up to beta 5 (#2484) * Bump maccore to get fix for bug #55064. (#2487) * [apidiff] Update definition to new 10.12 (d15-3) stable release (#2490) * [SceneKit] basic work (#2483) * [coredata] Update to beta 5 (#2488) * [homekit] Update for Xcode 9 beta 5 (#2492) * [Foundation] Update for xcode9 (#2468) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 (#2493) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 * [Intents] Implement feedback * [Intents] Add a generic version for INInteraction.GetParameterValue * [Intents] Missing check * [Contacts] Add missing foundation NSItemProviderWriting protocol to CNContact (#2496) https://bugzilla.xamarin.com/show_bug.cgi?id=58203 This is available on all Contacts supported platforms ``` ./iPhoneOS.platform/Developer/SDKs/iPhoneOS11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchOS.platform/Developer/SDKs/WatchOS4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchSimulator.platform/Developer/SDKs/WatchSimulator4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ``` * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) (#2497) * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) * [IntentsUI] Better use a delegate instead so we have named params * Bump versions before 6th preview (#2514) * [arkit] Add missing MarshalDirective to ARPlaneAnchor (#2517) - Fixes bug #58648: ARPlaneAnchor.Extent property seems incorrect but changes to correct value after Debug access (https://bugzilla.xamarin.com/show_bug.cgi?id=58648) * [xtro-sharpie] Fix a compiler warning. (#2516) Fixes these warnings: Runner.cs(197,5): warning CS0642: Possible mistaken empty statement Runner.cs(199,5): warning CS0642: Possible mistaken empty statement Runner.cs(201,5): warning CS0642: Possible mistaken empty statement Runner.cs(203,5): warning CS0642: Possible mistaken empty statement Runner.cs(205,5): warning CS0642: Possible mistaken empty statement * [uikit] Update for Xcode 9 beta 5 - Part 3 (#2511) - UIKeyCommand - UINavigationBar - UINavigationItem - UIPasteboard - UITableViewHeaderFooterView * [xtro-sharpie] Remove xtro-plugin and misc other fixes. (#2522) * [xtro-sharpie] Build with msbuild and be as quiet as requested when building. * [xtro-sharpie] Must run as a 64-bit process, since the required native libraries are 64-bit. * [xtro-sharpie] Add run configurations to the project file to ease debugging in the IDE. * [xtro-sharpie] Remove xtro-plugin and the related commands. This was needed when there wasn't a 64-bit mono, in order to run xtro-sharpie in a 64-bit process. Now there is a 64-bit mono, so it's not needed anymore. Also improve makefile targets a bit, to auto-build stuff when needed, by setting the right dependencies. * Bump Xcode 9 to beta 6 (#2519) Disable watchOS tests again It seems like the Carousel crash from beta 4 is back to haunt us. This was working fine with beta 5. * Backport d15-3 SR2 fixes (#2515) * [coredata] Update to beta 6 (#2528) This seems to only revert some nullability changes from beta 5. * [coreml] Update to beta 6 (#2531) Fix our rdar 33643011 where additional setters were added in the headers but did not exists. * [videosubscriberaccount] Update to beta 6 (#2533) Only b1 and b2 introduced some additions/changes * [uikit] Update for Xcode 9 beta 6 - Part 4 (#2527) The following headers are now up to date: - UICollectionViewFlowLayout.h - UIDocumentPickerViewController.h - UIFontDescriptor.h - UIImage.h - UIImageView.h - UIImagePickerController.h * [xharness] Re-enable the watchOS tests. (#2534) It works fine for me locally, so let's see what Jenkins says. * [macos] Add new APIs in CoreWlan from Xcode9b3 (#2525) * Update AppKit bindings based on radar 33271241 results (#2518) * Update AppKit bindings based on radar 33271241 results - The header comment was updated to note it was NSSliderTouchBarItem view that has the protocol * Remove NSUserInterfaceCompression where not listed in header * [vision] Update to beta 6 (#2532) Removal of some deprecated (during beta) `init*` selectors. Also sync the versions that were inlined in subclasses - the old ones were not removed and the new ones were not added. * [xtro-sharpie] Many methods don't have selectors in Clang's API, so default to the name if no selector. (#2523) This makes a few more unclassified entries show up (mostly missing designated initializers): https://gist.github.com/rolfbjarne/07aa20f9b50b75bf3e69ac6a825e873a * [macos] Add ExternalAccessory APIs from xcode9 (#2526) * [58851] Disable NSMenuView in AllItemsWithNSMenuShouldAllowNull (#2504) * [arkit] Update for Xcode 9 beta 5 - Part 2 (#2505) - Add last missing selector. - Add tests for manual code. * [monotouch-test] Disable FontDescriptorTest.WithFeature (#2537) Disabled because it looks like the tvOS font we use: "Gujarati Sangam MN" does not have rare ligatures anymore (and the entire test is based on it). Before getting an actual fix for that, let's disable the test so it doesn't break all current builds. See: https://bugzilla.xamarin.com/show_bug.cgi?id=58929 * [xtro-sharpie] Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute. (#2524) Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute to calculate the native name for a TypeDefinition. Unclassified changes: https://gist.github.com/rolfbjarne/828f8ee41eebb0a3b60a38d71822fe59 * [foundation/uikit] Inline NSItemProvider_UIKitAdditions in NSItemProvider (#2538) As suggested here: https://github.com/xamarin/xamarin-macios/pull/2527#discussion_r134670981 * [intents] Fix breaking changes (api-diff) (#2543) Additions of @required members inside `INSpeakable` cannot be `[Abstract]` * [contacts] Fix breaking change (api-diff) (#2542) Type Changed: Contacts.CNPostalAddress Removed method: public static string LocalizeProperty (CNPostalAddressKeyOption option); * [macos] Reenable static registrar since Xcode9b6 un-broke SDK headers (#2544) - Fix a subtle spacing issues in PartialStaticLibrary property * [corebluetooth] Update up to beta 6 and enable it on watchOS (#2540) macOS 10.13 has finally catch up with iOS and this simplifies the bindings a bit. * [foundation] API fixes (apidiff) (#2545) 1. Let's not add new, already [Obsolete] API Type Changed: Foundation.NSDimension Added constructors: [Obsolete ("Not intended to be directly instantiated, this is an abstract class.")] public NSDimension (); 2. Fix inconsistently named API, e.g. Type Changed: Foundation.NSAttributedString Added properties: public static string[] ReadableTypeIdentifiersForItemProvider { get; } public static string[] WritableTypeIdentifiers { get; } * [pdfkit] Do not add already [Obsolete] API in new profiles (#2547) and ensure using the newer, correct API works cross-platforms iOS (before) [Obsolete ("Use 'Find (string, NSStringCompareOptions)' instead.")] public virtual PdfSelection[] Find (string text, nint options); public PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'Find (string, PdfSelection, NSStringCompareOptions)' instead.")] public virtual PdfSelection Find (string text, PdfSelection selection, nint options); public void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string, NSStringCompareOptions)' instead.")] public virtual void FindAsync (string text, nint options); public void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string [], NSStringCompareOptions)' instead.")] public virtual void FindAsync (string[] text, nint options); iOS (after) public virtual PdfSelection[] Find (string text, Foundation.NSStringCompareOptions compareOptions); public virtual PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); * Bump versions for the 7th preview (#2541) * Remove additions of AVKit removed in beta5 (#2536) * NSUrlSessionTask should implement NSProgressReporting for iOS (#2548) NSUrlSessionTask implements NSProgressReporting on iOS as well as Mac, so the #if MONOMAC isn't needed. * Add missing availability attributes causing failures on older iOS versions (#2550) * [vision] Minor fix wrt xtro (#2551) including some things we need to ignore manually !missing-field! VNVisionVersionNumber not bound !missing-pinvoke! VNImagePointForFaceLandmarkPoint is not bound !missing-pinvoke! VNNormalizedFaceBoundingBoxPointForLandmarkPoint is not bound * [uikit] NSFileProviderMessaging was removed in beta 2. Fixes #58222 (#2552) reference: https://bugzilla.xamarin.com/show_bug.cgi?id=58222 * [uikit] Update for Xcode 9 - Part 5 (#2546) Bindings for the following headers: - UIActivity.h - UIActivityItemProvider.h - UIAlertController.h - UIApplication.h - UIBarButtonItem.h - UIButton.h - UICollectionViewLayout.h - UIColor.h - UIControl.h - UIDocumentMenuViewController.h - UIFontMetrics.h - UIGestureRecognizer.h - UIGraphicsImageRenderer.h - UIInputViewController.h * [CoreText] Fix an extraneous free in CTFont.GetDefaultCascadeList. (#2555) We do not own the return value from CFArrayGetValueAtIndex, so don't say we do when creating CTFontDescriptor instances, since that leads to angry dragons: 2017-08-28 20:15:20.293 monotouchtest[33186:2311738] A_FontTest 2017-08-28 20:15:20.294 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithFontDescriptorAndOptions 2017-08-28 20:15:20.295 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithNameAndOptions 2017-08-28 20:15:20.296 monotouchtest[33186:2311738] critical: Stacktrace: at <unknown> <0xffffffff> at (wrapper managed-to-native) CoreText.CTFont.CTFontCopyDefaultCascadeListForLanguages (intptr,intptr) [0x0000a] in <ae65a2b1eea242d2b68fe784749543bf>:0 at CoreText.CTFont.GetDefaultCascadeList (string[]) [0x00013] in /work/maccore/xcode9/xamarin-macios/src/CoreText/CTFont.cs:2185 at MonoTouchFixtures.CoreText.A_FontTest.GetCascadeList () [0x0001e] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/CoreText/FontTest.cs:78 at (wrapper runtime-invoke) object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) [0x0004f] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) System.Reflection.MonoMethod.InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&) [0x00016] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at System.Reflection.MonoMethod.Invoke (object,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo) [0x00032] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/corlib/System.Reflection/MonoMethod.cs:305 at System.Reflection.MethodBase.Invoke (object,object[]) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/referencesource/mscorlib/system/reflection/methodbase.cs:229 at NUnit.Framework.Internal.Reflect.InvokeMethod (System.Reflection.MethodInfo,object,object[]) [0x00009] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Reflect.cs:215 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunNonAsyncTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x00025] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:116 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x0001a] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:90 at NUnit.Framework.Internal.Commands.TestMethodCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:66 at NUnit.Framework.Internal.Commands.SetUpTearDownCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00007] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/SetUpTearDownCommand.cs:84 at NUnit.Framework.Internal.WorkItems.SimpleWorkItem.PerformWork () [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/SimpleWorkItem.cs:64 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at MonoTouch.NUnit.UI.BaseTouchRunner.Run (NUnit.Framework.Internal.Test) [0x0004d] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:442 at MonoTouch.NUnit.UI.BaseTouchRunner.Run () [0x00030] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:171 at MonoTouch.Dialog.StringElement.Selected (MonoTouch.Dialog.DialogViewController,UIKit.UITableView,Foundation.NSIndexPath) [0x00008] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/Elements.cs:765 at MonoTouch.Dialog.DialogViewController.Selected (Foundation.NSIndexPath) [0x00026] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:577 at MonoTouch.Dialog.DialogViewController/Source.RowSelected (UIKit.UITableView,Foundation.NSIndexPath) [0x00016] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:402 at (wrapper runtime-invoke) <Module>.runtime_invoke_void__this___object_object (object,intptr,intptr,intptr) [0x0005d] in <32f0c196c5bc4aa18daea2ee64a7814e>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) UIKit.UIApplication.UIApplicationMain (int,string[],intptr,intptr) [0x0005c] in <ae65a2b1eea242d2b68fe784749543bf>:0 at UIKit.UIApplication.Main (string[],intptr,intptr) [0x00005] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:79 at UIKit.UIApplication.Main (string[],string,string) [0x00038] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:63 at monotouchtest.Application.Main (string[]) [0x00011] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/Main.cs:27 at (wrapper runtime-invoke) <Module>.runtime_invoke_void_object (object,intptr,intptr,intptr) [0x00051] in <30a7f7e09de9467b8b454221034a0e38>:0 Native stacktrace: 0 monotouchtest 0x000000010fca03c4 mono_handle_native_crash + 244 1 monotouchtest 0x000000010fcadd30 mono_sigsegv_signal_handler + 288 2 libsystem_platform.dylib 0x000000011feb3b3a _sigtramp + 26 3 CoreFoundation 0x000000011de035a2 computeSanitizedString + 146 4 CoreText 0x00000001168df314 _ZN15TPurgeableCache19RetainedValueForKeyEPKv + 54 5 CoreText 0x00000001168def85 _ZNK17TDescriptorSource22CopyDescriptorUncachedEPK7__CFURLbPK10__CFString + 55 6 CoreText 0x00000001168df34f _ZNK17TDescriptorSource14CopyDescriptorEPK7__CFURLbPK10__CFString + 27 7 CoreText 0x00000001168e20ad _ZNK17TDescriptorSource35CopyFontDescriptorPerPostScriptNameEPK10__CFStringmm + 297 8 CoreText 0x00000001168dfd9e _ZNK17TDescriptorSource30CopySystemFontDescriptorByNameEPK10__CFString10UIFontFlag + 54 9 CoreText 0x00000001168e54c4 _ZNK14TFontFallbacks17CopyFontFallbacksEPK10__CFStringS2_PK9__CFArray + 652 10 CoreText 0x00000001168e4a00 _ZNK14TFontFallbacks29CopyFontFallbacksForLanguagesEPK10__CFStringPK9__CFArray + 122 11 CoreText 0x00000001168e4971 _ZN17TDescriptorSource39CopyDefaultSubstitutionListForLanguagesEPK10__CFStringPK9__CFArray + 61 12 CoreText 0x00000001169397a7 _ZNK9TBaseFont28CreateSystemDefaultFallbacksEPK10__CFStringPK9__CFArray + 51 13 CoreText 0x000000011693999c _ZNK9TBaseFont15CreateFallbacksE10UIFontFlagPPK16__CFCharacterSetPK9__CFArray + 346 14 CoreText 0x00000001168c1036 _ZNK5TFont24CreateDefaultCascadeListEPK9__CFArray + 242 15 CoreText 0x00000001168b8ff9 CTFontCopyDefaultCascadeListForLanguages + 97 16 ??? 0x0000000140eaefd3 0x0 + 5384105939 17 ??? 0x0000000140eae761 0x0 + 5384103777 18 ??? 0x000000013c9c8e74 0x0 + 5311860340 19 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 20 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 21 monotouchtest 0x000000010fd71bac mono_runtime_try_invoke_array + 1292 22 monotouchtest 0x000000010fd15587 ves_icall_InternalInvoke + 647 23 ??? 0x000000013e9fcd13 0x0 + 5345627411 24 ??? 0x000000013e9fc738 0x0 + 5345625912 25 ??? 0x000000013e9fded5 0x0 + 5345631957 26 ??? 0x000000013e9fbb76 0x0 + 5345622902 27 ??? 0x000000013e9e237e 0x0 + 5345518462 28 ??? 0x000000013e9e237e 0x0 + 5345518462 29 ??? 0x000000013e9e237e 0x0 + 5345518462 30 ??? 0x000000013e9e237e 0x0 + 5345518462 31 ??? 0x000000013e873006 0x0 + 5344014342 32 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 33 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 34 monotouchtest 0x000000010fd6e320 mono_runtime_invoke + 208 35 monotouchtest 0x000000010fe71af1 xamarin_invoke_trampoline + 5617 36 monotouchtest 0x000000010fe79ddd xamarin_arch_trampoline + 189 37 monotouchtest 0x000000010fe7b1a1 xamarin_x86_64_common_trampoline + 110 38 UIKit 0x0000000111b9876b -[UITableView _selectRowAtIndexPath:animated:scrollPosition:notifyDelegate:] + 1810 39 UIKit 0x0000000111b98986 -[UITableView _userSelectRowAtPendingSelectionIndexPath:] + 344 40 UIKit 0x0000000111a6b5c9 _runAfterCACommitDeferredBlocks + 318 41 UIKit 0x0000000111a59dad _cleanUpAfterCAFlushAndRunDeferredBlocks + 280 42 UIKit 0x0000000111a89f68 _afterCACommitHandler + 137 43 CoreFoundation 0x000000011de3ddb7 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23 44 CoreFoundation 0x000000011de3dd0e __CFRunLoopDoObservers + 430 45 CoreFoundation 0x000000011de22324 __CFRunLoopRun + 1572 46 CoreFoundation 0x000000011de21a89 CFRunLoopRunSpecific + 409 47 GraphicsServices 0x0000000121b7e9c6 GSEventRunModal + 62 48 UIKit 0x0000000111a5f7d0 UIApplicationMain + 159 49 ??? 0x000000013c9c4474 0x0 + 5311841396 50 ??? 0x000000013c9c40ad 0x0 + 5311840429 ================================================================= Got a SIGSEGV while executing native code. This usually indicates a fatal error in the mono runtime or one of the native libraries used by your application. ================================================================= * [monotouch-test] Don't subclass MKMapView. (#2556) MKMapView doesn't like being subclassed (Apple says "you should not subclass the MKMapView class itself"). Bad things like this starts happening: Thread 0 name: tid_303 Dispatch queue: com.apple.main-thread Thread 0 Crashed: 0 libsystem_kernel.dylib 0x0000000186b25348 __pthread_kill + 8 1 libsystem_pthread.dylib 0x0000000186c39354 pthread_kill$VARIANT$mp + 396 2 libsystem_c.dylib 0x0000000186a94fd8 abort + 140 3 monotouchtest 0x0000000101c02c14 mono_handle_native_crash + 22047764 (mini-exceptions.c:2548) 4 monotouchtest 0x0000000101c0d02c mono_sigsegv_signal_handler + 22089772 (mini-runtime.c:2886) 5 libsystem_platform.dylib 0x0000000186c33b60 _sigtramp + 52 6 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 7 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 8 CoreFoundation 0x0000000186eda51c -[__NSArrayM dealloc] + 68 9 CoreFoundation 0x000000018703f5c8 __CFBasicHashDrain + 312 10 CoreFoundation 0x0000000186fb5b44 _CFRelease + 224 11 CoreText 0x000000018a808404 TDescriptorSource::PurgeFontFallbacksCache+ 488452 () + 92 12 CoreText 0x000000018a808374 TDescriptorSource::PurgeFromCaches+ 488308 (__CFURL const*) const + 176 13 CoreText 0x000000018a7eec74 CTFontRemoveFromCaches + 168 14 VectorKit 0x0000000196a539b0 +[VKSharedResourcesManager removeResourceUser:] + 324 15 VectorKit 0x0000000196ca27a4 md::MapEngine::~MapEngine+ 2643876 () + 360 16 VectorKit 0x0000000196ca2634 md::MapEngine::~MapEngine+ 2643508 () + 12 17 libobjc.A.dylib 0x000000018651eef4 object_cxxDestructFromClass+ 28404 (objc_object*, objc_class*) + 148 18 libobjc.A.dylib 0x000000018652c638 objc_destructInstance + 88 19 libobjc.A.dylib 0x000000018652c690 object_dispose + 16 20 QuartzCore 0x000000018afca3ac -[CALayer dealloc] + 116 21 VectorKit 0x0000000196a43294 -[VKMapView dealloc] + 940 22 QuartzCore 0x000000018af6aafc CA::release_objects+ 744188 (X::List<void const*>*) + 32 23 QuartzCore 0x000000018afd97d8 CA::Layer::~Layer+ 1198040 () + 276 24 QuartzCore 0x000000018afca37c -[CALayer dealloc] + 68 25 QuartzCore 0x000000018af6b16c CA::Transaction::commit+ 745836 () + 1052 26 UIKit 0x0000000190393290 _afterCACommitHandler + 256 27 CoreFoundation 0x0000000186fb38b8 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 32 28 CoreFoundation 0x0000000186fb1270 __CFRunLoopDoObservers + 412 29 CoreFoundation 0x0000000186fb182c __CFRunLoopRun + 1292 30 CoreFoundation 0x0000000186ed22d8 CFRunLoopRunSpecific + 436 31 GraphicsServices 0x0000000188d58f84 GSEventRunModal + 100 32 UIKit 0x000000019040427c UIApplicationMain + 208 33 monotouchtest 0x000000010106eb90 wrapper_managed_to_native_UIKit_UIApplication_UIApplicationMain_int_string___intptr_intptr + 9907088 (/<unknown>:1) 34 monotouchtest 0x0000000100f0d6ac UIKit_UIApplication_Main_string___intptr_intptr + 8459948 (UIApplication.cs:79) 35 monotouchtest 0x0000000100f0d66c UIKit_UIApplication_Main_string___string_string + 8459884 (UIApplication.cs:63) 36 monotouchtest 0x0000000100b10450 monotouchtest_Application_Main_string__ + 4277328 (Main.cs:27) 37 monotouchtest 0x0000000100e0c244 wrapper_runtime_invoke_object_runtime_invoke_dynamic_intptr_intptr_intptr_intptr + 244 38 monotouchtest 0x0000000101c10048 mono_jit_runtime_invoke + 22102088 (mini-runtime.c:2526) 39 monotouchtest 0x0000000101c75eec do_runtime_invoke + 22519532 (object.c:2829) 40 monotouchtest 0x0000000101c78a3c do_exec_main_checked + 22530620 (object.c:4623) 41 monotouchtest 0x0000000101bf9a1c mono_jit_exec + 22010396 (driver.g.c:1040) 42 monotouchtest 0x0000000101d13d60 xamarin_main + 23166304 (monotouch-main.m:482) 43 monotouchtest 0x00000001007de710 main + 927504 (main.m:67) 44 libdyld.dylib 0x00000001869f656c start + 4 * [introspection] Let SkipDueToAttributeInProperty skip setters too (#2557) `SkipDueToAttributeInProperty` which is used to check the availability attribute of properties when the Availability info only exist on the property and not on the property Getter or Setter was wrong. This lead to `setSpringLoaded` (which was introduced in iOS 11) to not be ignored by the test (making it fail). - Fix bug #59085: [introspection-ios] selector not found for UIKit.UIBarButtonItem : setSpringLoaded: - Broken test (https://bugzilla.xamarin.com/show_bug.cgi?id=59085) * [corevideo][watchos] Enable CoreVideo on watchOS (#2553) * [storekit] Fix CampaignToken typo (#2559) (#2560) - Fixes bug #59078: StoreProductParameters and invalid property for CampaignToken (https://bugzilla.xamarin.com/show_bug.cgi?id=59078) * [coreml][watchos] Enable API using CoreVideo on watchOS. Fix #58097 (#2561) https://bugzilla.xamarin.com/show_bug.cgi?id=58097 * Add missing [MarshalDirective] attributes. (#2558) * [bindings-generator] Improve build & project file. * Add missing [MarshalDirective] attributes. Add missing [MarshalDirective] attributes, which also requires implementing support for out parameters in the binding generator, since one of the signatures missing the [MarshalDirective] contains such an out parameter. Also add tests for all the API I've added [MarshalDirective] to. * [bindings-generator] Remove redundant if check. * [monotouch-test] Rename file to end with 'Test.cs'. * [tests] Fix a few build errors for Xamarin.Mac. * [uikit] Fix UIColor and UIInputViewController tvOS availability (#2569) - Fixes introspection tests on tvOS 10. * [storekit] Fix SKCloudServiceSetupMessageIdentifier and SKProductStorePromotionController tvOS availability (#2568) - Fixes introspection tests on tvOS 10. * [mapkit] Fix MKMapItemTypeIdentifier tvOS availability (#2566) - Also remove double [Mac] availability attribute. - Fixes introspection tests on tvOS 10. * [ARKit] Fix marshalling for ARPointCloud.RawFeaturePoints. (#2565) ARPointCloud.RawFeaturePoints is an array of Vector3, but each vector is 16-byte aligned (as if it were an array of Vector4). This means we need to account for this when creating a managed array from pointer to the native C-style array. * [ModelIO] Fix MDLVoxelIndexExtent struct. (#2564) The MDLVoxelIndexExtent is a struct containing two 4-dimensional vectors of integers (not floats, as originally and incorrectly implemented). Fix this my creating a new MDLVoxelIndexExtent2 struct with the right fields, re-implement all the API that exposes this struct and obsolete the old API. Also add missing [MarshalDirective] attributes. And write a test to make sure it works fine now and forever. * [coredata] Enable new fields since rdar #33878590 is fixed w/beta 6 (#2570) reference: https://trello.com/c/dlSRYPFx * [xtro-sharpie] Add a Simd check class to verify signatures with Simd types. * [Simd] Add simd matrix types. The OpenTK matrices (Matrix2/3/4) has a different memory layout than Apple's matrix_float2x2/matrix_float3x3/matrix_float4x4 matrices: the OpenTK versions are row-major, while Apple's versions are column-major. This means that when blitting memory from one to the other, the matrix will appear to have been transposed. See bug #[58599][2] for an example. Unfortunately we've already bound several API with Apple's matrix_floatXxX matrices using OpenTK's matrices, and although they're bound wrong, and the matrices appear transposed on input/output, we can't change the behavior because we have to maintain compatibility. This means we have to introduce new API, and then also just define new matrix types with the right memory layout (column-major). Additionally, in the future we might be able to mark these matrices as Simd-matrixes, so that the JIT/AOT compiler can generate the correct alignment for them, avoiding having to define a native conversion method (using the [MarshalDirective] hack). The matrices have been designed to match API-wise the matrices in the System.Numerics.Vectors namespace [1], but for the moment with only a few basic operations implemented (Determinant/Transpose/Multiply) defined (we can always add more later if we want to). In addition explicit conversion operators to and from the corresponding OpenTK.MatrixX are implemented, which means any operation defined in the OpenTK matrices can be used by converting back and forth. [1]: https://msdn.microsoft.com/en-us/library/system.numerics.matrix4x4(v=vs.111).aspx [2]: https://bugzilla.xamarin.com/show_bug.cgi?id=58599 * [ARKit] Use the new Simd matrix types. * [Vision] Use the new Simd matrix types. * [ModelIO] Use the new Simd-compatible matrix types, and deprecate the old API. * [GameplayKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [SpriteKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [xtro] Don't report missing [MarshalDirective] for obsolete methods. * [xtro] Remove unnecessary ignores. The implementation changed, and these stayed accidentally. * [wkwebkit] Fix (native) protocol names (#2572) Also ignore xtro's WKSnapshotConfiguration since it's an Apple bug 34185961 reference (xtro) !missing-protocol! WKURLSchemeHandler not bound !missing-protocol! WKURLSchemeTask not bound !unknown-protocol! WKUrlSchemeHandler bound !unknown-protocol! WKUrlSchemeTask bound !unknown-type! WKSnapshotConfiguration bound * [uikit] Fix enums availability attributes (#2575) - Fixes bug #59132: [uikit] Extra types in watchOS (https://bugzilla.xamarin.com/show_bug.cgi?id=59132) * [watchkit] Add missing designated initializers (#2574) references (xtro) !missing-designated-initializer! WKInterfaceController::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! WKUserNotificationInterfaceController::init is missing an [DesignatedInitializer] attribute * [xtro] Reword some of the Simd diagnostic messages according to review. * [tests] Make sure test symbols don't clash between different test libraries. Fixes this build problem for framework-test: clang: error: linker command failed with exit code 1 (use -v to see invocation) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_get_rotation_matrix'. MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticObjectTest.framework/XStaticObjectTest (Location related to previous error) MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticArTest.framework/XStaticArTest(libtest-ar.x86_64.o) (Location related to previous error) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransformcomponent_get_local_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_create_global_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float4x4'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float3x3'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float2x2'. MTOUCH: error MT5209: Native linking error: 6 duplicate symbols for architecture x86_64 MTOUCH: error MT5202: Native linking failed. Please review the build log. * [tests] Since libtest.a need ModelIO now, the corresponding LinkWith attributes need to state that too. * [introspection] Don't check native signatures on obsolete members, and ignore the right simd matrix types. Fixes this introspection/Mac problem: ***** ApiSignatureTest.NativeSignatures Selector: uniformWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: uniformWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: uniformWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: setMatrixFloat2x2Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: setMatrixFloat3x3Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: setMatrixFloat4x4Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: initWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: initWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: initWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded * [monotouch-tests] Include more custom asserts for watchOS to make the build work. Fixes this: Simd/MatrixFloat4x4Test.cs(28,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(29,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(37,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(48,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' [...] * [monotouch-test] Exclude code that requires the binding project from xammac tests. Exclude code that requires the test binding project from xammac tests because there's currently no XM version of the test binding project. Fixes this: tests/monotouch-test/SpriteKit/UniformTest.cs(20,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLMaterialProperty.cs(37,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLTransform.cs(34,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) * Bump version for preview #8 (#2576) * [spritekit] Audit fixes (xtro) (#2577) 1. SKVideoNode is now, partially, available on watchOS and does not require the extra, manual code to swicth selectors depending on the OS version being run. !missing-type! SKVideoNode not bound !missing-selector! SKVideoNode::anchorPoint not bound !missing-selector! SKVideoNode::initWithCoder: not bound !missing-selector! SKVideoNode::initWithFileNamed: not bound !missing-selector! SKVideoNode::initWithURL: not bound !missing-selector! SKVideoNode::setAnchorPoint: not bound !missing-selector! SKVideoNode::setSize: not bound !missing-selector! SKVideoNode::size not bound !missing-selector! +SKVideoNode::videoNodeWithFileNamed: not bound !missing-selector! +SKVideoNode::videoNodeWithURL: not bound 2. SKNodeFocusBehavior is exposed needlessly on watchOS because SpriteKit/Enums.cs was not processed by the generator, so [NoWatch] did not matter. !unknown-native-enum! SKNodeFocusBehavior bound It's also visible on macOS but nothing uses it (so we do not expose it needlessly) !missing-enum! SKNodeFocusBehavior not bound 3. Add missing designated initializer on default `init` !missing-designated-initializer! SKAttributeValue::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! SKNode::init is missing an [DesignatedInitializer] attribute 4. Remove inconsistency for SKNode subclasses wrt XAMCORE_4_0 The trio attributeValues, setAttributeValues and setValue:forAttributeNamed: that was moved from SKNode (deprecated) into its subclasses. This was done using XAMCORE_4_0 but not on every subclasses. This adds them everywhere to be consistent (only SKNode versions are not defined in XAMCORE_4_0) !missing-selector! SKEffectNode::attributeValues not bound !missing-selector! SKEffectNode::setAttributeValues: not bound !missing-selector! SKEffectNode::setValue:forAttributeNamed: not bound !missing-selector! SKEffectNode::valueForAttributeNamed: not bound !missing-selector! SKEmitterNode::attributeValues not bound !missing-selector! SKEmitterNode::setAttributeValues: not bound !missing-selector! SKEmitterNode::setValue:forAttributeNamed: not bound !missing-selector! SKEmitterNode::valueForAttributeNamed: not bound !missing-selector! SKSpriteNode::attributeValues not bound !missing-selector! SKSpriteNode::setAttributeValues: not bound !missing-selector! SKSpriteNode::setValue:forAttributeNamed: not bound !missing-selector! SKSpriteNode::valueForAttributeNamed: not bound * [introspection] Make sure '[FAIL]' is printed before every failure. (#2578) This makes xharness able to list the failures in the inline summary. * [xtro] Reword some of the Simd diagnostic messages according to review. * [xharness] Add a missing IsServerMode check to generate correct html. (#2581) * [SpriteKit] SKTransformNode is new in Xcode 9 so no need to keep the broken (and obsolete) non-simd version of RotationMatrix. * [intents] Fix some (partial) xtro issues and #59156 (#2585) reference https://bugzilla.xamarin.com/show_bug.cgi?id=59156 Remaining issues are filled in https://bugzilla.xamarin.com/show_bug.cgi?id=59183 !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound * [Intents] Confirm* interface methods should be bound as Confirm, Fixes Bug 59164 (#2591) * [Intents] Confirm* interface methods should probably be bound as Confirm, Fixes Bug 59164 https://bugzilla.xamarin.com/show_bug.cgi?id=59164 All Confirm* methods from *IntentHandling interfaces should be named just `Confirm` to avoid confusion because most of them do not directly confirm as an acion, but instead they **ask** for confirmation also we would follow swift's naming by doing this. * [Intents] XAMCORE_4_0 all Confirm* methods from *IntentHandling Turns any Confirm* into just Confirm inside a XAMCORE_4_0 block, * [Intents] Fix breaking changes in Intents added in Xcode 9 Bindings (#2590) Apple added more protocol conformances to INRidesharingDomainHandling and INPaymentsDomainHandling protocols in Xcode 9, I introduced these breaking changes back when I did intents binding so fixing them :) * [Metal] New bindings from Xcode 9 betas (#2457) * [AVFoundation] Updated bindings for xcode9. (#2272) * [Xcode9] Add IOSurface bindings (#2363) * This framework was a private framework before iOS 11. This framework was a private framework before iOS 11, yet the headers claim many API were introduced in iOS 10. So take account of this difference by using the private framework location in iOS 10.3 or earlier. Testing these API from Xcode works fine when run on an iOS 10.3 device, and I've confirmed the IOSurface framework is loaded from the private frameworks path on older devices (and when built using Xcode 9 and linked with the public framework path). * Disable code to make IOSurface work on iOS 10. Disable the code to make IOSurface work on iOS 10, since it may be rejected by the App Store. This also means adjusting the availability attributes, so that the introspection tests pass (and to document that technically these API won't work when used with Xamarin.iOS in iOS 10). I've filed bug #[59201][1] to keep track of this, maybe we can re-enable this later. [1]: https://bugzilla.xamarin.com/show_bug.cgi?id=59201 * [CoreMedia] Fix leak in CMAttachmentBearer.GetAttachments. (#2593) The caller owns the return value from CMCopyDictionaryOfAttachments, so tell Runtime.GetNSObject that. * [Intents] Adds missing API found by xtro, fixes Bug 59183 (#2596) https://bugzilla.xamarin.com/show_bug.cgi?id=59183 Fixes !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !incorrect-protocol-member! INUIHostedViewControlling::configureWithInteraction:context:completion: is OPTIONAL and should NOT be abstract * [xtro] Fix StartWorkingDirectory to enable debugging (#2598) * [iosurface] Enable for tvOS and XM classic (to avoid multiple defines around consumer API) (#2597) * [xtro] Fix EnumCheck (#2600) * [ARKit] Rename a few method to make them nicer. (#2604) * DisplayTransform -> GetDisplayTransform since methods should have verbs. * SessionWasInterrupted -> WasInterrupted and SessionInterruptionEnded -> InterruptionEnded since these names match better with the other names (CameraDidChangeTrackingState / DidFail / DidOutputAudioSampleBuffer: none are prefixed with 'Session'). Additionally, the type is a Model (for the delegate pattern), which means all methods are more-or-less event-like, and the first argument is always the same (the protocol itself), which is another indicator the methods should be named similarly. * [Foundation] Remove 'Key' suffix from some fields. (#2606) Of the 168 fields in NSMetadataItem, only these 5 hadn't removed the 'Key' suffix. So make them all equivalent by removing the 'Key' suffix from these 5 fields. * [ImageIO] Fix API to not duplicate the instance in instance methods. (#2609) An instance method does not need to take the instance as a parameter, so remove the first (instance) parameter for CGImageDestination.AddAuxiliaryDataInfo and CGImageSource.CopyAuxiliaryDataInfo. An alternative solution would be to make the methods static, but I like the instance API better. * [UIKit] De-model UIDataSourceTranslating. (#2603) It's not clear from neither the documentation nor the headers how this protocol is supposed to be used, and since it doesn't correspond to the delegate pattern, remove the [Model] attribute for now. We can always add it back later. * [CoreML] Improve API. (#2592) * [CoreML] Improve API. * The indices, shape and stride properties for MLMultiArray and MLMultiArrayConstraint can logically only be arrays of integers, so type them as such. This means adding overloads for MLMultiArray's constructors, GetObject and SetObject methods, and the indexers that takes nint[] arrays instead of NSNumber[] arrays. * Change MLFeatureValue's static factory methods to be a method ('Create') instead of a preposition, and call all the different factory methods the same, since they can be overloaded nicely. * [tests][monotouch-test] Add version check to MLMultiArrayTest and make sure the arrays we create are big enough for the data we put in them. * [tests][monotouch-test] MLMultiArray's elements aren't zero-initialized, so don't assume that in the tests. * Support overloading Objective-C methods based on static/instance. (#2607) Two Objective-C methods can be named identically as long as one is static and the other instance. We must support this since Apple did just this (in the NSItemProviderReading / NSItemProviderWriting protocols). We solve it by prepending a '+' or '-' to the selector when hashing it (to determine selector uniqueness, and to look the method up again at runtime). * [uikit] Update for Xcode 9 - Part 6 (#2602) NSAttributedString.h NSFileProviderExtension.h NSLayoutAnchor.h UIAccessibility.h UIAccessibilityAdditions.h UIAccessibilityContainer.h UIAccessibilityContentSizeCategoryImageAdjusting.h UIAccessibilityCustomRotor.h UIAccessibilityLocationDescriptor.h UITabBar.h UINavigationBar.h UIScreen.h * Xcode9 scenekit (#2512) * [SceneKit] basic work * Added key * [xcode9] SCNCameraController * [xcode9] SCNCamera updates * [xcode9] SCNMaterial * [xcode9] SCNGeometryTessellator, SCNCameraControlConfiguration, SCNView, small bits * Add trailing commas to last enum value * Remove whitespace noise * [scenekit] Update deprecated attributes messages * Addresses some of Rolf's feedback * Drop the WeakDelegate in SCNCameraController * Rename method to Render, remove ctor from class that can not be constructed in Palygrounds, add typo exception * [AppKit] Rename NSBezierPath.AppendBezierPathWithCGGlyph to match its sibling methods. (#2605) NSBezierPath contains a lot of 'AppendPathWithXXX' methods, that all map to 'appendBezierPathXXX' selectors. So rename AppendBezierPathWithCGGlyph accordingly, to make it more similar to the other methods in the same type. * [uikit] Add all UISpringLoadedInteractionSupporting (#2616) Types do not conform to the protocol but protocol methods work on those types (see monotouch-test). Fixed introspection tests accordingly and tested the selectors in monotouch-test. * [Intents] Add convenience ctor overload and call correct base ctor in manual ctor. (#2613) Add a convenience constructor overload in INGetUserCurrentRestaurantReservationBookingsIntent that uses nint instead of NSNumber, since logically "number of results" will always be some sort of integer. Also call the correct base constructor in INSpeakableString's custom constructor (same as any other generated constructor). Otherwise we end up doing something like this: [[[INSpeakableString alloc] init] initWith ...], i.e. calling two different init methods. * [coreimage] Add new headers API up to beta 6 (#2601) Filters are not complete (ref: #57350) https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * Some new constants are not yet documented (type is known), so they are commented / ignored https://bugzilla.xamarin.com/show_bug.cgi?id=59296 * Filled bug for [Wrap] inside [Category] so strong dictionary helpers can be re-enabled later https://bugzilla.xamarin.com/show_bug.cgi?id=59294 * [foundation] xtro fixes for watchOS (#2586) !missing-enum! NSProcessInfoThermalState not bound !missing-field! NSProcessInfoThermalStateDidChangeNotification not bound !missing-selector! NSProcessInfo::thermalState not bound Headers are wrong and preferredPresentationStyle is not in tvOS and watchOS !missing-selector! NSItemProvider::preferredPresentationStyle not bound !missing-selector! NSItemProvider::setPreferredPresentationStyle: not bound * [uikit] Also remove UIPreferredPresentationStyle enum from platform where it's not used * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. (#2614) * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. * NSItemProviderWriting: * NSItemProviderReading: Implement correctly and completely by uncommenting commented out code. * NSMutableString: * NSAttributedString: remove inlined members, since these classes don't implement NSItemProviderReading / NSItemProviderWriting (according to the headers at least). * NSUrl: all platforms now seem to implement NSItemProviderReading / NSItemProviderWriting. * NSString: all platforms now seem to implement both NSItemProviderReading and NSItemProviderWriting * UIColor: * UIImage: Update inlined protocol members according to the latest beta. Additionally, due to the following conditions: * The protocols all have the correct members now. * In the API definition we tell the generator to inline members from a protocol by inheriting from the corresponding interface. * The generator doesn't inline static members from protocols. several 'new' keywords had to be added to silence a compiler warning that occurrs when we manually inline a static member, since the member would be included in the type both from the inherited interface and the manual implementation. * [Foundation] Comment out NSItemProviderWriting.GetItemProviderVisibility to avoid inlining/generating unusable methods. NSItemProviderWriting.GetItemProviderVisibility is an optional method, and none of the native classes that implements NSItemProviderWriting actually imlements the method. This means inlining the method in those classes ends up creating unusable API; so just comment out the method to avoid generating the unusable API. The introspection tests found this: [FAIL] Foundation.NSString : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Foundation.NSUrl : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Contacts.CNContact : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] MapKit.MKMapItem : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIColor : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIImage : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] iOSApiSelectorTest.ApiSelectorTest.StaticMethods : 6 errors found in 2348 static selector validated: See also https://bugzilla.xamarin.com/show_bug.cgi?id=59308 * [iosurface] Add missing [TV] attributes (#2619) * [opengles] Enable the new API using IOSurface (#2618) The symbol only exists inside device libraries, not on simulator, and the introspection tests were updated to ignore it. Part of https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [avfoundation][watchos] Enable AudioBufferList (fix #59145) + audit (xtro) (#2617) 1. AudioBufferList is part of CoreAudio (wrong namespace, which needs a few changes in the generator) and now available in watchOS 4 https://bugzilla.xamarin.com/show_bug.cgi?id=59145 2. Also fixes xtro found issues: !missing-type! AVAudioRecorder not bound !missing-selector! AVAudioRecorder::averagePowerForChannel: not bound !missing-selector! AVAudioRecorder::channelAssignments not bound !missing-selector! AVAudioRecorder::currentTime not bound !missing-selector! AVAudioRecorder::delegate not bound !missing-selector! AVAudioRecorder::deviceCurrentTime not bound !missing-selector! AVAudioRecorder::format not bound !missing-selector! AVAudioRecorder::initWithURL:format:error: not bound !missing-selector! AVAudioRecorder::initWithURL:settings:error: not bound !missing-selector! AVAudioRecorder::isMeteringEnabled not bound !missing-selector! AVAudioRecorder::isRecording not bound !missing-selector! AVAudioRecorder::peakPowerForChannel: not bound !missing-selector! AVAudioRecorder::recordAtTime: not bound !missing-selector! AVAudioRecorder::recordAtTime:forDuration: not bound !missing-selector! AVAudioRecorder::recordForDuration: not bound !missing-selector! AVAudioRecorder::setChannelAssignments: not bound !missing-selector! AVAudioRecorder::setDelegate: not bound !missing-selector! AVAudioRecorder::setMeteringEnabled: not bound !missing-selector! AVAudioRecorder::settings not bound !missing-selector! AVAudioRecorder::url not bound !missing-protocol! AVAudioRecorderDelegate not bound !missing-selector! AVAudioEngine::inputNode not bound !missing-selector! AVAudioEngine::manualRenderingBlock not bound !missing-selector! AVAudioInputNode::setManualRenderingInputPCMFormat:inputBlock: not bound !missing-selector! AVAudioPlayer::format not bound !missing-selector! AVAudioSession::requestRecordPermission: not bound !unknown-field! AVFileType3GPP bound !unknown-field! AVFileType3GPP2 bound !unknown-field! AVFileTypeAC3 bound !unknown-field! AVFileTypeAIFC bound !unknown-field! AVFileTypeAIFF bound !unknown-field! AVFileTypeAMR bound !unknown-field! AVFileTypeAVCI bound !unknown-field! AVFileTypeAppleM4A bound !unknown-field! AVFileTypeAppleM4V bound !unknown-field! AVFileTypeCoreAudioFormat bound !unknown-field! AVFileTypeDNG bound !unknown-field! AVFileTypeEnhancedAC3 bound !unknown-field! AVFileTypeHEIC bound !unknown-field! AVFileTypeHEIF bound !unknown-field! AVFileTypeJPEG bound !unknown-field! AVFileTypeMPEG4 bound !unknown-field! AVFileTypeMPEGLayer3 bound !unknown-field! AVFileTypeQuickTimeMovie bound !unknown-field! AVFileTypeSunAU bound !unknown-field! AVFileTypeTIFF bound !unknown-field! AVFileTypeWAVE bound * [Metal] Implement API using IOSurface now that IOSurface is implemented. Partially fixes #58054. (#2621) https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [PdfKit] Improve PdfAnnotation.QuadrilateralPoints binding by making it strongly typed. (#2620) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). (#2622) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). * [ARKit/Vision] Use the new simd vector types instead of the OpenTK versions. * [ModelIO] Use the new simd vectors in new API (MDLVoxelIndexExtent2). This way we won't have to create a MDLVoxelIndexExtent3 in the future. * [SpriteKit] Use the new simd vectors in new API. * [metal] Audit (xtro) based fixes (#2623) !extra-protocol-member! unexpected selector MTLArgumentEncoder::newArgumentEncoderForBufferAtIndex: found !extra-protocol-member! unexpected selector MTLComputeCommandEncoder::dispatchThreads:threadsPerThreadgroup: found macos-only !missing-field! MTLDeviceRemovalRequestedNotification not bound !missing-field! MTLDeviceWasAddedNotification not bound !missing-field! MTLDeviceWasRemovedNotification not bound !missing-pinvoke! MTLCopyAllDevices is not bound * [CloudKit] Update bindings to beta 6. (#2615) * [FileProvider] Turn NSFileProviderItemIdentifier enum into a static class, fixes bug 59329 (#2634) https://bugzilla.xamarin.com/show_bug.cgi?id=59329 At the time of binding NSFileProviderItemIdentifier it wasn't clear how it was supposed to be used, I mean apple provides two keys which I thought were the only possible values hence binding it as an smart enum. Unfortunately this wasn't the case and the user can use those two values provided from the SDK or their own NSString Identifier. Swift provides a wrapper unfortunately we can't do the same due to NSFileProviderItemIdentifier is used in the NSFileProviderItem protocol and we currently do not support changing signatures on them. * [mtouch] Teach mtouch about the 'IOSurface' framework for tvOS. Fixes #59333. (#2630) https://bugzilla.xamarin.com/show_bug.cgi?id=59333 * Bump Touch.Unit to get fix for API breakage. (#2631) spouliot/Touch.Unit@8f1e19d [NUnitOutputTextWriter] Reintroduce previous constructor to make sure we don't break binary ABI. spouliot/Touch.Unit@00b0c0b [NUnitOutputTextWriter] Don't write invalid xml comments. spouliot/Touch.Unit@de9fe20 [TouchRunner] Restore the original code path when not wrapping NUnit xml output. * [IOSurface] Add missing availability attributes for tvOS. (#2629) * Bump versions for preview 9 (#2624) * [AVFoundation] Add missing interface AVRouteDetector. (#2637) * [tests] Update xtro to reduce list sizes (#2636) * Skip OpenTK duplicate declaration (we can't change them); * Fix rule name change for ARKit / simd; * Add missing default initializer on `init` to pending actions; * Add note for AVPersistableContentKeyRequest changes wrt tvOS; * [ReplayKit] Make RPBroadcastActivityViewController.LoadBroadcastActivityViewController async-capable. (#2639) * [xcode9] More SceneKit bindings (#2633) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 (#2644) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 https://bugzilla.xamarin.com/show_bug.cgi?id=59380 vector_float3 is 16 bytes, which means the binding is incorrect, because Vector3 is 12 bytes, and our code does not that difference into account. * Add tests * [DeviceCheck] Disable default ctor for DCDevice. (#2642) It doesn't seem to be useful according to the documentation, since it appears that the only way to get an instance is to use the static CurrentDevice property. * [audiounit] Audit (xtro) fixes for tvOS (#2635) Availability attributes in non-generated files don't hide symbols/code. reference: !unknown-pinvoke! AudioUnitExtensionCopyComponentList bound !unknown-pinvoke! AudioUnitExtensionSetComponentList bound * [tests] Make sure tvOS tests don't use the (unexisting) API * [tests] Add all test project variations to tests-mac.sln (#2579) * [xharness] Make sure generated mac projects have different project guids. * [introspection] Change the project guid so that it doesn't match the dontlink-mac project guid. * [tests] Add all test project variations to tests-mac.sln. * [xharness] Fix else condition. * [FileProvider] Adds missing NSFileProviderPage constants, fixes bug 59297. (#2646) https://bugzilla.xamarin.com/show_bug.cgi?id=59297 Adds NSFileProviderInitialPageSortedByName and NSFileProviderInitialPageSortedByDate NSData constants * [Xcode9] Remove NSFileProviderMessage and NSFileProviderMessageInterface (#2647) APIs were removed in beta 2 * [Foundation/UIKit] Provide LoadObject[s] methods that return the expected type in the callback. Fixes #59049. (#2638) The callback for these LoadObject[s] methods take an INSItemProviderReading parameter. This tells our runtime that we must provide an instance of a managed object that implements this interface (but nothing else), so we create a `NSItemProviderReadingWrapper` instance, which complies with the API (since the wrapper type implements the corresponding interface). Unfortunately these methods are supposed to return an instance of the passed- in type, so in order to comply with this soft (documentation-only) requirement, provide a wrapper method that creates instances of the right types. https://bugzilla.xamarin.com/show_bug.cgi?id=59049 * [arkit] Ignore deprecated selectors (#2645) * [FileProvider] Adds missing protocol and keys from audit (#2652) ``` !missing-protocol! NSFileProviderServiceSource not bound !missing-field! NSFileProviderErrorCollidingItemKey not bound !missing-field! NSFileProviderErrorNonExistentItemIdentifierKey not bound !missing-field! NSFileProviderFavoriteRankUnranked not bound ``` Also adds `NSXpcListenerEndpoint` to foundation, needed by `NSFileProviderServiceSource` protocol. * [tests][xtro] Workaround xtro runner dupe entry exception and update data files (#2654) * [AVFoundation] Rename field to match others. (#2657) * [homekit] Audit (xtro) fixes (#2653) - HMCharacteristicEvent conforms to NSMutableCopying on iOS11 which makes it 64 bits only (so adjust intro tests) - Ignore extra setters on HMMutablePresenceEvent, rdar 33883958 !missing-selector! HMMutablePresenceEvent::setPresenceEventType: not bound !missing-selector! HMMutablePresenceEvent::setPresenceUserType: not bound * [xtro] Add missing pinvoke to pending (#2662) - Bug 59422: [uikit] Missing UIContentSizeCategoryCompareToCategory & UIContentSizeCategoryIsAccessibilityCategory (https://bugzilla.xamarin.com/show_bug.cgi?id=59422) * Merge latest d15-3 fixes into xcode9 (#2660) * [msbuild] Re-added wildcard (*) expandsion for application-identifier in Entitlements.plist (#2186) Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=57119 * Bump mono (#2213) * Framework tests were still binding non-linked Simple class which errors now (#2216) (#2218) - Improve Makefile to rebuild when projects build with errors * Bump mono to get cecil fix for bug #56808. (#2222) https://bugzilla.xamarin.com/show_bug.cgi?id=56808 * [msbuild] Use @(ReferencePath) instead of @(ResolvedFiles) (#2188) (#2214) This allows things to work on both xbuild and msbuild. In xbuild, both lists are exactly the same and on msbuild, only @(ReferencePath) exists. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=55147 * NSActivityOptions.IdleDisplaySleepDisabled had wrong value (#2232) (#2239) This was due to an integer overflow. The original value was based on Int32 1 << 40 == 256 The correct value should be based on a UInt64. 1UL << 40 == 1099511627776 * [tests] Fix bug 57699 - [iOS]InternalsTest failure (Linkall) tests on device (#2243) Strip native debugging symbols should not be checked for debug builds * Bump mono to get fix for bug #57780. https://bugzilla.xamarin.com/show_bug.cgi?id=57780 * Update .gitmodules Change branch to d15-3 branch of mono * Bump maccore to get fix for bug #55064. https://bugzilla.xamarin.com/show_bug.cgi?id=55064 * [mono] Bump mono to get the head of cecil/mono-2017-04 and fix IsComObject #57919 Also fix #58789 [1], the typo in tools/mtouch/Tuning.cs showing in MT0000 errors instead MT2102. That's already in master and d15-4 mono bump includes: [2] commit 2a6502cee0df9de5198eafe7c8b5f6ac25106f34 (HEAD -> d15-3, origin/d15-3) Merge: 02457c20fcf 5e05cafc6f1 Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 10:04:06 2017 -0400 Merge pull request #5401 from marek-safar/com [Marshal.IsComObject] Make this predicate return false instead of thr… [3] commit 02457c20fcf57c0610e844d638eb1da82b5d1eb0 Merge: da80840ea55 73fd9a1b82e Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 09:59:06 2017 -0400 Merge pull request #5400 from spouliot/bump-cecil-58834-d15-3 [cecil] Bump to the head of the mono-2017-04 branch and pick the fix for bug #58834 References [1] https://bugzilla.xamarin.com/show_bug.cgi?id=58789 [2] https://bugzilla.xamarin.com/show_bug.cgi?id=57919 [3] https://bugzilla.xamarin.com/show_bug.cgi?id=58834 * [mtouch] Put 'mono_profiler_startup_log' in the symbol list. Fixes #58778. (#2501) We need the 'mono_profiler_startup_log' symbol when profiling is enabled, so make sure to add the symbol to the correct list of symbols we need. Previously we were passing `-u _mono_profiler_startup_log` to clang directly, which is fine, but not complete, since it does not write the symbol to the symbollist file (--symbollist=file), which means it wouldn't be preserved when the MSBuild tasks strip the executable. https://bugzilla.xamarin.com/show_bug.cgi?id=58778 * Bump versions for SR3 https://trello.com/c/EVze08ei * Bump mono to include HttpClientHandler fix #44027 https://trello.com/c/jYFXadH8/8-systemnethttp-close-request-stream-when-httpclienthandler https://bugzilla.xamarin.com/show_bug.cgi?id=44027 * [FileProvider] Add missing API and turn NSString to string (#2663) Turned NSString to string in order to match exisiting API. * [uikit] Add UIPasteConfigurationSupporting and UITextPasteConfigurationSupporting (#2649) - Fixes bug #59363: Missing UIPasteConfigurationSupporting, UITextPasteConfigurationSupporting, UITextDraggable and UITextDroppable on a couple of types (https://bugzilla.xamarin.com/show_bug.cgi?id=59363) * [uikit] Remove 129 types in UIPasteConfigurationSupporting case * [scenekit] Audit (xtro) fixes (#2648) This looks like an Apple breaking change (since `SCNAnimation` is new) but we now have: > typedef void (^SCNAnimationEventBlock)(id<SCNAnimation> animation, id animatedObject, BOOL playingBackward); bound as > delegate void SCNAnimationEventHandler (CAAnimation animation, NSObject animatedObject, bool playingBackward); and `CAAnimation` conforms to `SCNAnimation` but *only* the later is available on watchOS. The delegate is only updated (since it's new) on our watchOS profile. xtro references: (watchos) !unknown-protocol! SCNCameraControlConfiguration bound (tvos/watchos) !missing-selector! SCNAnimation::animationEvents not bound !missing-selector! SCNAnimation::setAnimationEvents: not bound !missing-selector! SCNConstraint::isEnabled not bound !missing-selector! SCNConstraint::setEnabled: not bound !missing-field! SCNSceneSourceConvertToYUpKey not bound !missing-field! SCNSceneSourceConvertUnitsToMetersKey not bound (ios/tvos) !missing-protocol-conformance! SCNNode should conform to UIFocusItem * Bump maccore post 15.3 merge (#2665) * Bump Xcode 9 to GM (#2667) * Force build (on wrench) * [avfoundation] Fix breaking changes (apidiff) (#2664) * [TVServices] Update to Xcode 9 GM (#2675) * [GameController] Update to Xcode 9 GM (#2673) * [LocalAuthentication] Update to Xcode 9 GM (#2671) * [LocalAuthentication] Update to Xcode 9 GM * Remove availability from BiometryNotAvailable, BiometryNotEnrolled and BiometryLockout * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer (#2659) * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer Some of the new added types were already present BUT under a #if MONOMAC, they had to be moved. * [AVFoundation] Set the wrongly added API to be obsolete and ensure it returns logical values. (#2650) * [xtro] The right platform for macOS is 'macos', not 'osx'. (#2677) The platform name is used to filter availability attributes, and if we use the wrong platform, we'll incorrectly skip all availability attributes. The net result in unclassified entries: https://gist.github.com/rolfbjarne/a4474bc2a40c49a85cad495b51bb514f * Various Xcode 9 API improvements and also fixes bug 59433 (#2676) https://bugzilla.xamarin.com/show_bug.cgi?id=59433 While fixing bug 59433 I noticed some additional issues outlined below: AVDepthData: * Renamed **non** static `Create` methods because `Create` only makes sense with the **Static** method in this context. Also by renaming the methods we are now closer to the names that swift uses. * Kept descriptive method names in favor of self-documenting code. `Convert`, `Apply` and `Replace` do not fully give us the intent of the method. * Added a convenience `Create` static method that takes a `CGImageAuxiliaryDataInfo`. * AvailableDepthDataTypes is now an array of `CVPixelFormatType` instead of a `NSNumber` array (The aactual fix for bug 59433). ImageIO: * Refactored `CGImageAuxiliaryDataInfo` to be a `StrongDictionary` in order to avoid most of the manual code and also to avoid reimplementing the `ToDictionary` method (which contained a subtle bug). * Adjusted code to reflect the above change. * Added missing `.ctor (IntPtr, bool)` to `CGImageMetadata` so the class is able to be created by our `Runtime.Get*`. * Simplified `CopyAuxiliaryDataInfo` method by using `CGImageAuxiliaryDataInfo` as a `DictionaryContainer`. Tests: * Added `xamarinmonkey.heic` which is an image that contains depth data needed to test above changes. * Adds `AVDepthDataTests` that touches most of the changes listed here. * Tweak the Simd-compatible matrices and vectors (#2668) * Rename them to be OpenTK.NMatrix# (instead of Simd.MatrixFloat#x#). * Remove the Vector2 and Vector4 variants, we'll use the OpenTK types instead (but we'll keep the NVector3 variant, since it's not identical to the OpenTK version). * Update the API to match their OpenTK counterparts better: * NMatrix2 and NMatrix3 have a 0-based R#C# scheme for their fields. * NMatrix4 has a 1-based M## scheme for its fields (i.e. no change). * [AVFoundation] Use Simd-matrix for API that needs it. (#2679) This also requires implementing the corresponding matrix (NMatrix4x3). Fixes this xtro issue: > !unknown-simd-type-in-signature! OpenTK.Matrix3 AVFoundation.AVCameraCalibrationData::get_GetIntrinsicMatrix(): the native signature has a simd type (matrix_float3x3), while the corresponding managed method is using an incorrect (non-simd) type. * [xtro] Fix checking availability on categories. (#2682) When checking for category availability, check if both the current declaration is a category, and if the current's declaration container is a category. Otherwise this scenario fails: * Category method is available. * Category does not have availability attributes. * Main class is unavailable. with this typical code sequence: ```csharp // don't process methods (or types) that are unavailable for the current platform if (!decl.IsAvailable () || !(decl.DeclContext as Decl).IsAvailable ()) return; ``` In which case we'd: * First check the method (`decl`): * It's available, so no further checks is done on the method. * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container's container is a category (it isn't, it's the namespace). and as such determine that the method is available. With this change, the second step will become: * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container is a category (it is), and if its main class is available (it isn't). and as such determine that the method is unavailable. * Check for attributes on the method's container (no attributes, so we continue). * Check if the method's Unclassified diff: https://gist.github.com/rolfbjarne/8fa80962596978a426eadf9b7ba39dc1 * [uikit] Update for Xcode 9 GM (#2670) * [AVFoundation] Implement AVCapturePhoto. Partially fixes #59388. (#2678) Fixes: > common.unclassified:!missing-type! AVCapturePhoto not bound https://bugzilla.xamarin.com/show_bug.cgi?id=59388 * Use strong dictionaries for AVCapturePhoto.Metadata and AVCapturePhoto.EmbeddedThumbnailPhotoFormat. * [SIMD] Implement Simd double types (VectorDouble3/MatrixDouble4x4). (#2632) The following types will be used by ModelIO bindings * Fix delta to be double * Rename Simd-compatible matrices and vectors to match our final naming. This also means removing the new Vector2 and Vector4 variants (but not Vector3). * [avfoundation] Remove AVAssetDownloadDelegate.DidLoadTimeRange since it was removed in one of the betas (#2687) * [foundation] Move NSUrlSessionMultipathServiceType to a file processed by the generator (for the availability attributes) (#2688) * [arkit] Update for Xcode 9 GM (#2681) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes (#2690) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes Type Changed: Intents.INCarSeatResolutionResult Removed methods: public static INCarSeatResolutionResult GetConfirmationRequired (INCarSeat valueToConfirm); public static INCarSeatResolutionResult GetSuccess (INCarSeat resolvedValue); * [avfoundation] Add missing protocol members and deprecations (#2691) !missing-protocol-member! AVCapturePhotoCaptureDelegate::captureOutput:didFinishProcessingPhoto:error: not found and the selector removed from PR#2687 was actually replaced with this one !missing-protocol-member! AVAssetDownloadDelegate::URLSession:aggregateAssetDownloadTask:didLoadTimeRange:totalTimeRangesLoaded:timeRangeExpectedToLoad:forMediaSelection: not found * [tests][xtro] Map some enums, more fix with protocols and update entries (#2692) * [Tests] Reenable dns tests on the watch. (#2674) * [arkit] Add ARBlendShapeLocationOptions strong dictionary (#2696) * [coreimage] Skip not yet bound filters added in Xcode9 (#2698) Tracked in https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * [Metal] Renamed MTLArgumentDescriptor.ArgumentDescriptor to Create, fixes bug 59498 (#2702) https://bugzilla.xamarin.com/show_bug.cgi?id=59498 From [argumentDescriptor docs](https://developer.apple.com/documentation/metal/mtlargumentdescriptor/2915746-argumentdescriptor?language=objc) > Creates an empty argument descriptor. * [msbuild] Always codesign app bundles if the codesign key is non-null (#2697) ...even if it is a simulator build. Turns out that starting with Xcode9, sim builds need to be codesigned for App Groups entitlements to work properly. Interestingly, the DetectSigningIdentity logic had a comment about needing to codesign simulator builds for some entitlements to work already starting with Xcode 8 but apparently the iOS targets did not respect this. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=59379 * [Foundation] Add NSProxy stub in order to workaround bug 59247 (#2693) https://bugzilla.xamarin.com/show_bug.cgi?id=59247 We need to have a better solution that removes all what NSProxy does not responds to. Right now this works because NSObject implements NSObject protocol just like NSProxy, but NSProxy responds to far less selectors hence doing it internal so it is not a breaking change when we provide the correct fix. * Keep NSProxy around and avoid XML linker description We need to keep NSProxy (avoid linking it) if WKNavigationDelegate or IWKNavigationDelegate is used. We know WKWebView will be there and can hold a reference to it. * [Xcode 9] Update Metal for GM (#2689) * [iosurface] IOSurface is not usable before iOS/tvOS 11. Fixes #59201 (#2706) Apple rejects apps that links with the previously private IOSurface.framework. We were not sure about this [1] and had it disabled (this is removed). However another bug stopped our adjustment logic [2] from being executed. This is needed since `clang` picks up the private framework if it does not find the public one (even when asking for a weak framework), [1] https://bugzilla.xamarin.com/show_bug.cgi?id=59201 [2] Added a while ago for JavascriptCore * Bump maccore to point to commit with the docs fix. (#2703) * Bump XI to 11.0.x (and XM to 3.99.9.x) (#2684) * fix typo
2017-09-16 00:53:16 +03:00
[BaseType (typeof(NSObject))]
interface SCNTimingFunction : NSSecureCoding
{
[Static]
[Export ("functionWithTimingMode:")]
SCNTimingFunction Create (SCNActionTimingMode timingMode);
[Static, NoWatch]
[Export ("functionWithCAMediaTimingFunction:")]
SCNTimingFunction Create (CAMediaTimingFunction caTimingFunction);
}
// Use the Swift name SCNAnimationProtocol since it conflicts with the type name
[Protocol (Name="SCNAnimation")]
interface SCNAnimationProtocol {
}
interface ISCNAnimationProtocol {}
[Watch (4,0), TV (11,0), Mac (10, 13, onlyOn64: true), iOS (11,0)]
Merge xcode9 into d15-4[-xi] (#2710) * [FileProvider] Add Xcode 9 Beta 1, 2 & 3 Bindings (#2279) * [FileProvider] Add Xcode 9 Beta 1 Bindings * Better naming * Feedback not related to BindAs * [FileProvider] Removes BindAs, add manual code for it and updated to Beta 3 * [FileProvider] Implement feedback * [CoreSpotlight] Updated spotlight bindings for xcode 9 beta 3. (#2193) Updated spotlight bindings for xcode 9 beta 3. * Fix warning caused by duplicate (#2354) * [FileProviderUI] Add Xcode 9 Beta 1 to 3 bindings (#2356) * Bump to Xcode 9 beta 4 * [arkit] ARLightEstimate does not conform to NSCopying anymore (fix unit test) * [uikit] NSFileProviderExtension.ReparentItem got a new parameter in beta4 (fix unit test) * [coreimage] CIImageAccumulator init returns nil in beta 4 There's no header change to mention `init` is not allowed but it's not clear how this default initializer could be used. Also make public some other API to construct this type (outside of XM). It's not clear why there were `internal` as they are (at least now) part of the header files. * [photos] Add helpers when PHLivePhotoEditingOption/NSDictionary is null (to avoid ambiguous API) (#2360) Adding a strongly typed `PHLivePhotoEditingOption` (a strongly typed version of an `NSDictionary`) can cause a `CS0121` (call is ambiguous) since using a `null` argument is common (only one option exist so far). This PR adds overloads that makes the code nicer in such case, e.g. before Xcode9: > // null is used when no options are given > _foo.SaveLivePhoto (output, null, completion); current (Xcode 9) > // casting required to remove ambiguity with PHLivePhotoEditingOption > _foo.SaveLivePhoto (output, (NSDictionary)null, completion); with this PR > // no option, no argument > _foo.SaveLivePhoto (output, completion); The same applies to `PrepareLivePhotoForPlayback`. * [tests] Disable/tweak two tests that breaks on (almost) all Xcode updates Those tests were not added to validate xOS so just keep the parts that helps us (without constantly checking back the new break flavor) * Disable watchOS to check if this hides others issues * [mapkit] Update for beta 4 * [coredata] Update for beta 4 * [wkwebkit] Update for beta 4 Note: WKWindowFeatures.h is not compiled (part of the framework umbrella) and the `@interface WKWindowFeatures (WKPrivate)` sounds like it should not have been exposed (it's all fields starting with `_`) * [corelocation] Update for beta 4 * Revert "Disable watchOS to check if this hides others issues" This reverts commit fed2249fa43290a1956ab2fe0d48f83ab6db9711. * [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]: https://github.com/xamarin/xamarin-macios/blob/f5956d6cc1eb5dfa7bab16628cf282d40237f64e/src/generator.cs#L5985 * [FinderSync] Update to beta 4 (#2377) * [ImageIO] Update to Xcode 9 (#2353) * [PhotosUI] Move macOS photosui bindings out of photos.cs into photosui.cs (#2358) * [quicklook] Update up to beta 4 (#2374) * [uikit] UIDragInteraction & UIDragInteractionDelegate (Xcode 9 b1,2,3) (#2357) * [safariservices] Update up to beta 4 (#2380) * [coreanimation] Update to beta 4 (#2382) Apple removed (mistake?) some API in beta 1. Filed as rdar 33590997 Internal tracking in https://trello.com/c/J8BDDUV9/86-33590997-coreanimation-quartzcore-api-removals * [storekit] Update up to beta 4 (#2379) * [CoreML] Update to Xcode 9 Beta 4 (#2387) * [uikit] UICollectionView/UITableView Drag & Drop (Xcode 9 b1,2,3 & 4) (#2355) * Update code after radar 32929318 and 32897776 are fixed in b4 (#2394) * [xcode9 CoreAudio] New definitions from Beta1 to Beta3 (#2359) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 (#2397) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 https://bugzilla.xamarin.com/show_bug.cgi?id=58512 Created strong API (VNBarcodeSymbology) on the following properties * VNDetectBarcodesRequest.SupportedSymbologies * VNDetectBarcodesRequest.Symbologies * VNBarcodeObservation.Symbology * Remove modern C# because classic can't do it 😡 * [mediaplayer] Update up to beta 4 (#2388) * [watchkit] Update to beta 4 (#2398) * Bump Visual Studio for Mac max version (#2408) * [coreimage] Add CIBarcodeDescriptor and enabled missing API for VNBarcodeObservation. Fix #58197 (#2411) https://bugzilla.xamarin.com/show_bug.cgi?id=58197 * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 (#2407) * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 * [uikit] Fixes based on comments * [coreimage] CIImageAccumulator API fixes. Fix #58349 (#2412) * Obsolete the default `init`; * XM exposed some older APIs using `int` instead of `CIFormat`. This is fixed and old APIs are obsoleted; * Both new & old APIs are now using `CIFormat` for both XI and XM. https://bugzilla.xamarin.com/show_bug.cgi?id=58349 * [uikit] UIText drag & drop - up to Xcode 9 beta 4 (#2410) * [uikit] UISplitView & UIStackView up to Xcode 9 beta 4 (#2425) * Bump XI/XM versions before preview 4 (#2422) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 (#2378) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 * [PDFKit] Implement feedback * [PDFKit] the forgotten enum * [PDFKit] More feedback * [PDFKit] Add Mac changes * Missing change * Fix test RectangleF VS CGRect * Pass -Wunguarded-availability-new to quiet a new clang warning (#2424) - https://bugzilla.xamarin.com/show_bug.cgi?id=58574 * [mtouch/mmp] Ignore warnings about unguarded code section with regards to availability. (#2441) * [monotouch-test] Remove workaround for fixed Apple bug. (#2445) * Bump to Xcode 9 beta 5. (#2447) * Bump to Xcode 9 beta 5. * [mmp] Disable the partial static registrar, because Apple's macOS SDK is broken. > In file included from Xamarin.Mac.registrar.mobile.i386.m:1: > In file included from ./Xamarin.Mac.registrar.mobile.i386.h:11: > /Applications/Xcode9-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVFoundation.h:88:9: fatal error: 'AVFoundation/AVRouteDetector.h' file not found https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [mmp] Fix partial static registrar removal. * [CallKit] Update to Xcode 9 beta 5. * [ARKit] ARPointCloud doesn't conform to NSCopying anymore in Xcode 9 beta 5. * [ARKit] Update to Xcode 9 beta 5 enough to make tests happy. * [CoreImage] Stub out new filters in Xcode 9 beta 5. * [tests][monotouch] Simplify some MDLMesh asserts since values change a lot between OS versions. * [mmp] Default to the dynamic registrar for release builds again, due to bug #58629. https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [tests][introspection] CXCall started implementing NSCopying without saying so in the headers. * Disable mmp static registrar tests due to 58629 for now * [quicklook] Update to beta 5 (#2450) * [photos] Update for beta 5 (#2452) Also update some existing enum members were added in beta 1 on macOS * [safariservices] Update for beta 5 (#2455) * [mediaplayer] Update to beta 5 (#2456) * [CoreLocation] Update Xcode 9 Beta 5 (#2453) * [CoreML] Update to Xcode 9 Beta 5 (#2454) * [Contacts] Update to Xcode 9 Beta 5 (#2451) * [Vision] Update to Xcode 9 Beta 5 (#2458) * [builds] Tell LLVM to stay away from newer macOS functions. (#2459) Fixes this build problem on Sierra: > ld: weak import of symbol '_futimens' not supported because of option: -no_weak_imports for architecture x86_64 This is a symbol that was (will be?) introduced in High Sierra. Interestingly this only occurs if the Xcode 8.X Command Line Tools haven't been manually installed. Because if the Xcode 8.X Command Line Tools are installed, this happens: 1. llvm's configure script detects that 'futimens' is not usable. 2. llvm's configure script detects that 'futimens' is not usable, because xcrun sets SDKROOT=/ when calling clang. a. When the SDKROOT variable is set, clang passes '-syslibroot /usr/lib' to ld. b. When ld gets '-syslibroot /usr/lib', ld looks in '/usr/lib' for a library that contains 'futimens' in the OS itself, and since we're on Sierra, that fails to link. c. So when llvm's configure script creates a test program that checks if 'futimens' is present, the program fails. This is correct, and makes llvm *not* use futimens. 3. xcrun sets SDKROOT=/ because /usr/share/current-os.sdk/Info.plist exists. If that file does not exist, then xcrun sets SDKROOT to Xcode9's macOS SDK (because that's what xcode-select reports). a. When SDKROOT is set to Xcode9's macOS SDK, the configure check for 'futimens' succeeds, because the macOS 10.13 SDK contains that function. b. llvm happily uses 'futimens', and then the final link fails because we're using a symbol not available on all target platforms. * [arkit] Update for Xcode 9 beta 5 - Part 1 (#2460) * [tests] The container app for watchOS tests should be 64-bit. (#2463) * [xharness] watchOS tests need to run in a clean environment. Works around #58348. (#2462) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [xharness] It watchOS tests don't need to be clean anymore. Fixes #58348. (#2473) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [uikit] UIView/UIScrollView/UIViewController up to Xcode 9 beta 5 (#2431) - Add NSDirectionalEdgeInsets type. - Includes DirectionalEdgeInsetsTest. * [AudioToolbox] Update bindings to Xcode 9 beta3 (not later changes). (#2294) * [xharness] Add a file existence check. (#2478) Fixes this exception: ``` Harness exception for 'introspection': System.IO.FileNotFoundException: Could not find file '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log'. File name: '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log' at System.IO.__Error.WinIOError (System.Int32 errorCode, System.String maybeFullPath) [0x00207] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/__error.cs:188 at System.IO.FileInfo.get_Length () [0x00038] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/fileinfo.cs:171 at xharness.CaptureLog.StopCapture () [0x00021] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Log.cs:252 at (wrapper remoting-invoke-with-check) xharness.CaptureLog:StopCapture () at xharness.AppRunner+<RunAsync>d__68.MoveNext () [0x0127f] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/AppRunner.cs:642 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter`1[TResult].GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:357 at xharness.RunSimulatorTask+<RunTestAsync>d__7.MoveNext () [0x0029d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2894 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.RunTestTask+<ExecuteAsync>d__8.MoveNext () [0x0010b] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2538 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.TestTask+<RunInternalAsync>d__87.MoveNext () [0x0010d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:1870 ``` I'm not sure how this can happen, but it has on the bots [1]. [1] https://jenkins.mono-project.com/job/xamarin-macios-pr-builder/4548/Test_Report/ * Bump versions for preview 5 (#2479) * [passkit] Update to beta 5 (#2481) * [tests] Remove workaround for radar #32688391. (#2486) * [replaykit] Update up to beta 5 (#2484) * Bump maccore to get fix for bug #55064. (#2487) * [apidiff] Update definition to new 10.12 (d15-3) stable release (#2490) * [SceneKit] basic work (#2483) * [coredata] Update to beta 5 (#2488) * [homekit] Update for Xcode 9 beta 5 (#2492) * [Foundation] Update for xcode9 (#2468) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 (#2493) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 * [Intents] Implement feedback * [Intents] Add a generic version for INInteraction.GetParameterValue * [Intents] Missing check * [Contacts] Add missing foundation NSItemProviderWriting protocol to CNContact (#2496) https://bugzilla.xamarin.com/show_bug.cgi?id=58203 This is available on all Contacts supported platforms ``` ./iPhoneOS.platform/Developer/SDKs/iPhoneOS11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchOS.platform/Developer/SDKs/WatchOS4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchSimulator.platform/Developer/SDKs/WatchSimulator4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ``` * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) (#2497) * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) * [IntentsUI] Better use a delegate instead so we have named params * Bump versions before 6th preview (#2514) * [arkit] Add missing MarshalDirective to ARPlaneAnchor (#2517) - Fixes bug #58648: ARPlaneAnchor.Extent property seems incorrect but changes to correct value after Debug access (https://bugzilla.xamarin.com/show_bug.cgi?id=58648) * [xtro-sharpie] Fix a compiler warning. (#2516) Fixes these warnings: Runner.cs(197,5): warning CS0642: Possible mistaken empty statement Runner.cs(199,5): warning CS0642: Possible mistaken empty statement Runner.cs(201,5): warning CS0642: Possible mistaken empty statement Runner.cs(203,5): warning CS0642: Possible mistaken empty statement Runner.cs(205,5): warning CS0642: Possible mistaken empty statement * [uikit] Update for Xcode 9 beta 5 - Part 3 (#2511) - UIKeyCommand - UINavigationBar - UINavigationItem - UIPasteboard - UITableViewHeaderFooterView * [xtro-sharpie] Remove xtro-plugin and misc other fixes. (#2522) * [xtro-sharpie] Build with msbuild and be as quiet as requested when building. * [xtro-sharpie] Must run as a 64-bit process, since the required native libraries are 64-bit. * [xtro-sharpie] Add run configurations to the project file to ease debugging in the IDE. * [xtro-sharpie] Remove xtro-plugin and the related commands. This was needed when there wasn't a 64-bit mono, in order to run xtro-sharpie in a 64-bit process. Now there is a 64-bit mono, so it's not needed anymore. Also improve makefile targets a bit, to auto-build stuff when needed, by setting the right dependencies. * Bump Xcode 9 to beta 6 (#2519) Disable watchOS tests again It seems like the Carousel crash from beta 4 is back to haunt us. This was working fine with beta 5. * Backport d15-3 SR2 fixes (#2515) * [coredata] Update to beta 6 (#2528) This seems to only revert some nullability changes from beta 5. * [coreml] Update to beta 6 (#2531) Fix our rdar 33643011 where additional setters were added in the headers but did not exists. * [videosubscriberaccount] Update to beta 6 (#2533) Only b1 and b2 introduced some additions/changes * [uikit] Update for Xcode 9 beta 6 - Part 4 (#2527) The following headers are now up to date: - UICollectionViewFlowLayout.h - UIDocumentPickerViewController.h - UIFontDescriptor.h - UIImage.h - UIImageView.h - UIImagePickerController.h * [xharness] Re-enable the watchOS tests. (#2534) It works fine for me locally, so let's see what Jenkins says. * [macos] Add new APIs in CoreWlan from Xcode9b3 (#2525) * Update AppKit bindings based on radar 33271241 results (#2518) * Update AppKit bindings based on radar 33271241 results - The header comment was updated to note it was NSSliderTouchBarItem view that has the protocol * Remove NSUserInterfaceCompression where not listed in header * [vision] Update to beta 6 (#2532) Removal of some deprecated (during beta) `init*` selectors. Also sync the versions that were inlined in subclasses - the old ones were not removed and the new ones were not added. * [xtro-sharpie] Many methods don't have selectors in Clang's API, so default to the name if no selector. (#2523) This makes a few more unclassified entries show up (mostly missing designated initializers): https://gist.github.com/rolfbjarne/07aa20f9b50b75bf3e69ac6a825e873a * [macos] Add ExternalAccessory APIs from xcode9 (#2526) * [58851] Disable NSMenuView in AllItemsWithNSMenuShouldAllowNull (#2504) * [arkit] Update for Xcode 9 beta 5 - Part 2 (#2505) - Add last missing selector. - Add tests for manual code. * [monotouch-test] Disable FontDescriptorTest.WithFeature (#2537) Disabled because it looks like the tvOS font we use: "Gujarati Sangam MN" does not have rare ligatures anymore (and the entire test is based on it). Before getting an actual fix for that, let's disable the test so it doesn't break all current builds. See: https://bugzilla.xamarin.com/show_bug.cgi?id=58929 * [xtro-sharpie] Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute. (#2524) Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute to calculate the native name for a TypeDefinition. Unclassified changes: https://gist.github.com/rolfbjarne/828f8ee41eebb0a3b60a38d71822fe59 * [foundation/uikit] Inline NSItemProvider_UIKitAdditions in NSItemProvider (#2538) As suggested here: https://github.com/xamarin/xamarin-macios/pull/2527#discussion_r134670981 * [intents] Fix breaking changes (api-diff) (#2543) Additions of @required members inside `INSpeakable` cannot be `[Abstract]` * [contacts] Fix breaking change (api-diff) (#2542) Type Changed: Contacts.CNPostalAddress Removed method: public static string LocalizeProperty (CNPostalAddressKeyOption option); * [macos] Reenable static registrar since Xcode9b6 un-broke SDK headers (#2544) - Fix a subtle spacing issues in PartialStaticLibrary property * [corebluetooth] Update up to beta 6 and enable it on watchOS (#2540) macOS 10.13 has finally catch up with iOS and this simplifies the bindings a bit. * [foundation] API fixes (apidiff) (#2545) 1. Let's not add new, already [Obsolete] API Type Changed: Foundation.NSDimension Added constructors: [Obsolete ("Not intended to be directly instantiated, this is an abstract class.")] public NSDimension (); 2. Fix inconsistently named API, e.g. Type Changed: Foundation.NSAttributedString Added properties: public static string[] ReadableTypeIdentifiersForItemProvider { get; } public static string[] WritableTypeIdentifiers { get; } * [pdfkit] Do not add already [Obsolete] API in new profiles (#2547) and ensure using the newer, correct API works cross-platforms iOS (before) [Obsolete ("Use 'Find (string, NSStringCompareOptions)' instead.")] public virtual PdfSelection[] Find (string text, nint options); public PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'Find (string, PdfSelection, NSStringCompareOptions)' instead.")] public virtual PdfSelection Find (string text, PdfSelection selection, nint options); public void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string, NSStringCompareOptions)' instead.")] public virtual void FindAsync (string text, nint options); public void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string [], NSStringCompareOptions)' instead.")] public virtual void FindAsync (string[] text, nint options); iOS (after) public virtual PdfSelection[] Find (string text, Foundation.NSStringCompareOptions compareOptions); public virtual PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); * Bump versions for the 7th preview (#2541) * Remove additions of AVKit removed in beta5 (#2536) * NSUrlSessionTask should implement NSProgressReporting for iOS (#2548) NSUrlSessionTask implements NSProgressReporting on iOS as well as Mac, so the #if MONOMAC isn't needed. * Add missing availability attributes causing failures on older iOS versions (#2550) * [vision] Minor fix wrt xtro (#2551) including some things we need to ignore manually !missing-field! VNVisionVersionNumber not bound !missing-pinvoke! VNImagePointForFaceLandmarkPoint is not bound !missing-pinvoke! VNNormalizedFaceBoundingBoxPointForLandmarkPoint is not bound * [uikit] NSFileProviderMessaging was removed in beta 2. Fixes #58222 (#2552) reference: https://bugzilla.xamarin.com/show_bug.cgi?id=58222 * [uikit] Update for Xcode 9 - Part 5 (#2546) Bindings for the following headers: - UIActivity.h - UIActivityItemProvider.h - UIAlertController.h - UIApplication.h - UIBarButtonItem.h - UIButton.h - UICollectionViewLayout.h - UIColor.h - UIControl.h - UIDocumentMenuViewController.h - UIFontMetrics.h - UIGestureRecognizer.h - UIGraphicsImageRenderer.h - UIInputViewController.h * [CoreText] Fix an extraneous free in CTFont.GetDefaultCascadeList. (#2555) We do not own the return value from CFArrayGetValueAtIndex, so don't say we do when creating CTFontDescriptor instances, since that leads to angry dragons: 2017-08-28 20:15:20.293 monotouchtest[33186:2311738] A_FontTest 2017-08-28 20:15:20.294 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithFontDescriptorAndOptions 2017-08-28 20:15:20.295 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithNameAndOptions 2017-08-28 20:15:20.296 monotouchtest[33186:2311738] critical: Stacktrace: at <unknown> <0xffffffff> at (wrapper managed-to-native) CoreText.CTFont.CTFontCopyDefaultCascadeListForLanguages (intptr,intptr) [0x0000a] in <ae65a2b1eea242d2b68fe784749543bf>:0 at CoreText.CTFont.GetDefaultCascadeList (string[]) [0x00013] in /work/maccore/xcode9/xamarin-macios/src/CoreText/CTFont.cs:2185 at MonoTouchFixtures.CoreText.A_FontTest.GetCascadeList () [0x0001e] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/CoreText/FontTest.cs:78 at (wrapper runtime-invoke) object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) [0x0004f] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) System.Reflection.MonoMethod.InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&) [0x00016] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at System.Reflection.MonoMethod.Invoke (object,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo) [0x00032] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/corlib/System.Reflection/MonoMethod.cs:305 at System.Reflection.MethodBase.Invoke (object,object[]) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/referencesource/mscorlib/system/reflection/methodbase.cs:229 at NUnit.Framework.Internal.Reflect.InvokeMethod (System.Reflection.MethodInfo,object,object[]) [0x00009] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Reflect.cs:215 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunNonAsyncTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x00025] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:116 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x0001a] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:90 at NUnit.Framework.Internal.Commands.TestMethodCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:66 at NUnit.Framework.Internal.Commands.SetUpTearDownCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00007] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/SetUpTearDownCommand.cs:84 at NUnit.Framework.Internal.WorkItems.SimpleWorkItem.PerformWork () [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/SimpleWorkItem.cs:64 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at MonoTouch.NUnit.UI.BaseTouchRunner.Run (NUnit.Framework.Internal.Test) [0x0004d] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:442 at MonoTouch.NUnit.UI.BaseTouchRunner.Run () [0x00030] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:171 at MonoTouch.Dialog.StringElement.Selected (MonoTouch.Dialog.DialogViewController,UIKit.UITableView,Foundation.NSIndexPath) [0x00008] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/Elements.cs:765 at MonoTouch.Dialog.DialogViewController.Selected (Foundation.NSIndexPath) [0x00026] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:577 at MonoTouch.Dialog.DialogViewController/Source.RowSelected (UIKit.UITableView,Foundation.NSIndexPath) [0x00016] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:402 at (wrapper runtime-invoke) <Module>.runtime_invoke_void__this___object_object (object,intptr,intptr,intptr) [0x0005d] in <32f0c196c5bc4aa18daea2ee64a7814e>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) UIKit.UIApplication.UIApplicationMain (int,string[],intptr,intptr) [0x0005c] in <ae65a2b1eea242d2b68fe784749543bf>:0 at UIKit.UIApplication.Main (string[],intptr,intptr) [0x00005] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:79 at UIKit.UIApplication.Main (string[],string,string) [0x00038] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:63 at monotouchtest.Application.Main (string[]) [0x00011] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/Main.cs:27 at (wrapper runtime-invoke) <Module>.runtime_invoke_void_object (object,intptr,intptr,intptr) [0x00051] in <30a7f7e09de9467b8b454221034a0e38>:0 Native stacktrace: 0 monotouchtest 0x000000010fca03c4 mono_handle_native_crash + 244 1 monotouchtest 0x000000010fcadd30 mono_sigsegv_signal_handler + 288 2 libsystem_platform.dylib 0x000000011feb3b3a _sigtramp + 26 3 CoreFoundation 0x000000011de035a2 computeSanitizedString + 146 4 CoreText 0x00000001168df314 _ZN15TPurgeableCache19RetainedValueForKeyEPKv + 54 5 CoreText 0x00000001168def85 _ZNK17TDescriptorSource22CopyDescriptorUncachedEPK7__CFURLbPK10__CFString + 55 6 CoreText 0x00000001168df34f _ZNK17TDescriptorSource14CopyDescriptorEPK7__CFURLbPK10__CFString + 27 7 CoreText 0x00000001168e20ad _ZNK17TDescriptorSource35CopyFontDescriptorPerPostScriptNameEPK10__CFStringmm + 297 8 CoreText 0x00000001168dfd9e _ZNK17TDescriptorSource30CopySystemFontDescriptorByNameEPK10__CFString10UIFontFlag + 54 9 CoreText 0x00000001168e54c4 _ZNK14TFontFallbacks17CopyFontFallbacksEPK10__CFStringS2_PK9__CFArray + 652 10 CoreText 0x00000001168e4a00 _ZNK14TFontFallbacks29CopyFontFallbacksForLanguagesEPK10__CFStringPK9__CFArray + 122 11 CoreText 0x00000001168e4971 _ZN17TDescriptorSource39CopyDefaultSubstitutionListForLanguagesEPK10__CFStringPK9__CFArray + 61 12 CoreText 0x00000001169397a7 _ZNK9TBaseFont28CreateSystemDefaultFallbacksEPK10__CFStringPK9__CFArray + 51 13 CoreText 0x000000011693999c _ZNK9TBaseFont15CreateFallbacksE10UIFontFlagPPK16__CFCharacterSetPK9__CFArray + 346 14 CoreText 0x00000001168c1036 _ZNK5TFont24CreateDefaultCascadeListEPK9__CFArray + 242 15 CoreText 0x00000001168b8ff9 CTFontCopyDefaultCascadeListForLanguages + 97 16 ??? 0x0000000140eaefd3 0x0 + 5384105939 17 ??? 0x0000000140eae761 0x0 + 5384103777 18 ??? 0x000000013c9c8e74 0x0 + 5311860340 19 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 20 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 21 monotouchtest 0x000000010fd71bac mono_runtime_try_invoke_array + 1292 22 monotouchtest 0x000000010fd15587 ves_icall_InternalInvoke + 647 23 ??? 0x000000013e9fcd13 0x0 + 5345627411 24 ??? 0x000000013e9fc738 0x0 + 5345625912 25 ??? 0x000000013e9fded5 0x0 + 5345631957 26 ??? 0x000000013e9fbb76 0x0 + 5345622902 27 ??? 0x000000013e9e237e 0x0 + 5345518462 28 ??? 0x000000013e9e237e 0x0 + 5345518462 29 ??? 0x000000013e9e237e 0x0 + 5345518462 30 ??? 0x000000013e9e237e 0x0 + 5345518462 31 ??? 0x000000013e873006 0x0 + 5344014342 32 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 33 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 34 monotouchtest 0x000000010fd6e320 mono_runtime_invoke + 208 35 monotouchtest 0x000000010fe71af1 xamarin_invoke_trampoline + 5617 36 monotouchtest 0x000000010fe79ddd xamarin_arch_trampoline + 189 37 monotouchtest 0x000000010fe7b1a1 xamarin_x86_64_common_trampoline + 110 38 UIKit 0x0000000111b9876b -[UITableView _selectRowAtIndexPath:animated:scrollPosition:notifyDelegate:] + 1810 39 UIKit 0x0000000111b98986 -[UITableView _userSelectRowAtPendingSelectionIndexPath:] + 344 40 UIKit 0x0000000111a6b5c9 _runAfterCACommitDeferredBlocks + 318 41 UIKit 0x0000000111a59dad _cleanUpAfterCAFlushAndRunDeferredBlocks + 280 42 UIKit 0x0000000111a89f68 _afterCACommitHandler + 137 43 CoreFoundation 0x000000011de3ddb7 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23 44 CoreFoundation 0x000000011de3dd0e __CFRunLoopDoObservers + 430 45 CoreFoundation 0x000000011de22324 __CFRunLoopRun + 1572 46 CoreFoundation 0x000000011de21a89 CFRunLoopRunSpecific + 409 47 GraphicsServices 0x0000000121b7e9c6 GSEventRunModal + 62 48 UIKit 0x0000000111a5f7d0 UIApplicationMain + 159 49 ??? 0x000000013c9c4474 0x0 + 5311841396 50 ??? 0x000000013c9c40ad 0x0 + 5311840429 ================================================================= Got a SIGSEGV while executing native code. This usually indicates a fatal error in the mono runtime or one of the native libraries used by your application. ================================================================= * [monotouch-test] Don't subclass MKMapView. (#2556) MKMapView doesn't like being subclassed (Apple says "you should not subclass the MKMapView class itself"). Bad things like this starts happening: Thread 0 name: tid_303 Dispatch queue: com.apple.main-thread Thread 0 Crashed: 0 libsystem_kernel.dylib 0x0000000186b25348 __pthread_kill + 8 1 libsystem_pthread.dylib 0x0000000186c39354 pthread_kill$VARIANT$mp + 396 2 libsystem_c.dylib 0x0000000186a94fd8 abort + 140 3 monotouchtest 0x0000000101c02c14 mono_handle_native_crash + 22047764 (mini-exceptions.c:2548) 4 monotouchtest 0x0000000101c0d02c mono_sigsegv_signal_handler + 22089772 (mini-runtime.c:2886) 5 libsystem_platform.dylib 0x0000000186c33b60 _sigtramp + 52 6 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 7 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 8 CoreFoundation 0x0000000186eda51c -[__NSArrayM dealloc] + 68 9 CoreFoundation 0x000000018703f5c8 __CFBasicHashDrain + 312 10 CoreFoundation 0x0000000186fb5b44 _CFRelease + 224 11 CoreText 0x000000018a808404 TDescriptorSource::PurgeFontFallbacksCache+ 488452 () + 92 12 CoreText 0x000000018a808374 TDescriptorSource::PurgeFromCaches+ 488308 (__CFURL const*) const + 176 13 CoreText 0x000000018a7eec74 CTFontRemoveFromCaches + 168 14 VectorKit 0x0000000196a539b0 +[VKSharedResourcesManager removeResourceUser:] + 324 15 VectorKit 0x0000000196ca27a4 md::MapEngine::~MapEngine+ 2643876 () + 360 16 VectorKit 0x0000000196ca2634 md::MapEngine::~MapEngine+ 2643508 () + 12 17 libobjc.A.dylib 0x000000018651eef4 object_cxxDestructFromClass+ 28404 (objc_object*, objc_class*) + 148 18 libobjc.A.dylib 0x000000018652c638 objc_destructInstance + 88 19 libobjc.A.dylib 0x000000018652c690 object_dispose + 16 20 QuartzCore 0x000000018afca3ac -[CALayer dealloc] + 116 21 VectorKit 0x0000000196a43294 -[VKMapView dealloc] + 940 22 QuartzCore 0x000000018af6aafc CA::release_objects+ 744188 (X::List<void const*>*) + 32 23 QuartzCore 0x000000018afd97d8 CA::Layer::~Layer+ 1198040 () + 276 24 QuartzCore 0x000000018afca37c -[CALayer dealloc] + 68 25 QuartzCore 0x000000018af6b16c CA::Transaction::commit+ 745836 () + 1052 26 UIKit 0x0000000190393290 _afterCACommitHandler + 256 27 CoreFoundation 0x0000000186fb38b8 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 32 28 CoreFoundation 0x0000000186fb1270 __CFRunLoopDoObservers + 412 29 CoreFoundation 0x0000000186fb182c __CFRunLoopRun + 1292 30 CoreFoundation 0x0000000186ed22d8 CFRunLoopRunSpecific + 436 31 GraphicsServices 0x0000000188d58f84 GSEventRunModal + 100 32 UIKit 0x000000019040427c UIApplicationMain + 208 33 monotouchtest 0x000000010106eb90 wrapper_managed_to_native_UIKit_UIApplication_UIApplicationMain_int_string___intptr_intptr + 9907088 (/<unknown>:1) 34 monotouchtest 0x0000000100f0d6ac UIKit_UIApplication_Main_string___intptr_intptr + 8459948 (UIApplication.cs:79) 35 monotouchtest 0x0000000100f0d66c UIKit_UIApplication_Main_string___string_string + 8459884 (UIApplication.cs:63) 36 monotouchtest 0x0000000100b10450 monotouchtest_Application_Main_string__ + 4277328 (Main.cs:27) 37 monotouchtest 0x0000000100e0c244 wrapper_runtime_invoke_object_runtime_invoke_dynamic_intptr_intptr_intptr_intptr + 244 38 monotouchtest 0x0000000101c10048 mono_jit_runtime_invoke + 22102088 (mini-runtime.c:2526) 39 monotouchtest 0x0000000101c75eec do_runtime_invoke + 22519532 (object.c:2829) 40 monotouchtest 0x0000000101c78a3c do_exec_main_checked + 22530620 (object.c:4623) 41 monotouchtest 0x0000000101bf9a1c mono_jit_exec + 22010396 (driver.g.c:1040) 42 monotouchtest 0x0000000101d13d60 xamarin_main + 23166304 (monotouch-main.m:482) 43 monotouchtest 0x00000001007de710 main + 927504 (main.m:67) 44 libdyld.dylib 0x00000001869f656c start + 4 * [introspection] Let SkipDueToAttributeInProperty skip setters too (#2557) `SkipDueToAttributeInProperty` which is used to check the availability attribute of properties when the Availability info only exist on the property and not on the property Getter or Setter was wrong. This lead to `setSpringLoaded` (which was introduced in iOS 11) to not be ignored by the test (making it fail). - Fix bug #59085: [introspection-ios] selector not found for UIKit.UIBarButtonItem : setSpringLoaded: - Broken test (https://bugzilla.xamarin.com/show_bug.cgi?id=59085) * [corevideo][watchos] Enable CoreVideo on watchOS (#2553) * [storekit] Fix CampaignToken typo (#2559) (#2560) - Fixes bug #59078: StoreProductParameters and invalid property for CampaignToken (https://bugzilla.xamarin.com/show_bug.cgi?id=59078) * [coreml][watchos] Enable API using CoreVideo on watchOS. Fix #58097 (#2561) https://bugzilla.xamarin.com/show_bug.cgi?id=58097 * Add missing [MarshalDirective] attributes. (#2558) * [bindings-generator] Improve build & project file. * Add missing [MarshalDirective] attributes. Add missing [MarshalDirective] attributes, which also requires implementing support for out parameters in the binding generator, since one of the signatures missing the [MarshalDirective] contains such an out parameter. Also add tests for all the API I've added [MarshalDirective] to. * [bindings-generator] Remove redundant if check. * [monotouch-test] Rename file to end with 'Test.cs'. * [tests] Fix a few build errors for Xamarin.Mac. * [uikit] Fix UIColor and UIInputViewController tvOS availability (#2569) - Fixes introspection tests on tvOS 10. * [storekit] Fix SKCloudServiceSetupMessageIdentifier and SKProductStorePromotionController tvOS availability (#2568) - Fixes introspection tests on tvOS 10. * [mapkit] Fix MKMapItemTypeIdentifier tvOS availability (#2566) - Also remove double [Mac] availability attribute. - Fixes introspection tests on tvOS 10. * [ARKit] Fix marshalling for ARPointCloud.RawFeaturePoints. (#2565) ARPointCloud.RawFeaturePoints is an array of Vector3, but each vector is 16-byte aligned (as if it were an array of Vector4). This means we need to account for this when creating a managed array from pointer to the native C-style array. * [ModelIO] Fix MDLVoxelIndexExtent struct. (#2564) The MDLVoxelIndexExtent is a struct containing two 4-dimensional vectors of integers (not floats, as originally and incorrectly implemented). Fix this my creating a new MDLVoxelIndexExtent2 struct with the right fields, re-implement all the API that exposes this struct and obsolete the old API. Also add missing [MarshalDirective] attributes. And write a test to make sure it works fine now and forever. * [coredata] Enable new fields since rdar #33878590 is fixed w/beta 6 (#2570) reference: https://trello.com/c/dlSRYPFx * [xtro-sharpie] Add a Simd check class to verify signatures with Simd types. * [Simd] Add simd matrix types. The OpenTK matrices (Matrix2/3/4) has a different memory layout than Apple's matrix_float2x2/matrix_float3x3/matrix_float4x4 matrices: the OpenTK versions are row-major, while Apple's versions are column-major. This means that when blitting memory from one to the other, the matrix will appear to have been transposed. See bug #[58599][2] for an example. Unfortunately we've already bound several API with Apple's matrix_floatXxX matrices using OpenTK's matrices, and although they're bound wrong, and the matrices appear transposed on input/output, we can't change the behavior because we have to maintain compatibility. This means we have to introduce new API, and then also just define new matrix types with the right memory layout (column-major). Additionally, in the future we might be able to mark these matrices as Simd-matrixes, so that the JIT/AOT compiler can generate the correct alignment for them, avoiding having to define a native conversion method (using the [MarshalDirective] hack). The matrices have been designed to match API-wise the matrices in the System.Numerics.Vectors namespace [1], but for the moment with only a few basic operations implemented (Determinant/Transpose/Multiply) defined (we can always add more later if we want to). In addition explicit conversion operators to and from the corresponding OpenTK.MatrixX are implemented, which means any operation defined in the OpenTK matrices can be used by converting back and forth. [1]: https://msdn.microsoft.com/en-us/library/system.numerics.matrix4x4(v=vs.111).aspx [2]: https://bugzilla.xamarin.com/show_bug.cgi?id=58599 * [ARKit] Use the new Simd matrix types. * [Vision] Use the new Simd matrix types. * [ModelIO] Use the new Simd-compatible matrix types, and deprecate the old API. * [GameplayKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [SpriteKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [xtro] Don't report missing [MarshalDirective] for obsolete methods. * [xtro] Remove unnecessary ignores. The implementation changed, and these stayed accidentally. * [wkwebkit] Fix (native) protocol names (#2572) Also ignore xtro's WKSnapshotConfiguration since it's an Apple bug 34185961 reference (xtro) !missing-protocol! WKURLSchemeHandler not bound !missing-protocol! WKURLSchemeTask not bound !unknown-protocol! WKUrlSchemeHandler bound !unknown-protocol! WKUrlSchemeTask bound !unknown-type! WKSnapshotConfiguration bound * [uikit] Fix enums availability attributes (#2575) - Fixes bug #59132: [uikit] Extra types in watchOS (https://bugzilla.xamarin.com/show_bug.cgi?id=59132) * [watchkit] Add missing designated initializers (#2574) references (xtro) !missing-designated-initializer! WKInterfaceController::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! WKUserNotificationInterfaceController::init is missing an [DesignatedInitializer] attribute * [xtro] Reword some of the Simd diagnostic messages according to review. * [tests] Make sure test symbols don't clash between different test libraries. Fixes this build problem for framework-test: clang: error: linker command failed with exit code 1 (use -v to see invocation) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_get_rotation_matrix'. MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticObjectTest.framework/XStaticObjectTest (Location related to previous error) MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticArTest.framework/XStaticArTest(libtest-ar.x86_64.o) (Location related to previous error) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransformcomponent_get_local_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_create_global_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float4x4'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float3x3'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float2x2'. MTOUCH: error MT5209: Native linking error: 6 duplicate symbols for architecture x86_64 MTOUCH: error MT5202: Native linking failed. Please review the build log. * [tests] Since libtest.a need ModelIO now, the corresponding LinkWith attributes need to state that too. * [introspection] Don't check native signatures on obsolete members, and ignore the right simd matrix types. Fixes this introspection/Mac problem: ***** ApiSignatureTest.NativeSignatures Selector: uniformWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: uniformWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: uniformWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: setMatrixFloat2x2Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: setMatrixFloat3x3Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: setMatrixFloat4x4Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: initWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: initWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: initWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded * [monotouch-tests] Include more custom asserts for watchOS to make the build work. Fixes this: Simd/MatrixFloat4x4Test.cs(28,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(29,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(37,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(48,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' [...] * [monotouch-test] Exclude code that requires the binding project from xammac tests. Exclude code that requires the test binding project from xammac tests because there's currently no XM version of the test binding project. Fixes this: tests/monotouch-test/SpriteKit/UniformTest.cs(20,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLMaterialProperty.cs(37,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLTransform.cs(34,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) * Bump version for preview #8 (#2576) * [spritekit] Audit fixes (xtro) (#2577) 1. SKVideoNode is now, partially, available on watchOS and does not require the extra, manual code to swicth selectors depending on the OS version being run. !missing-type! SKVideoNode not bound !missing-selector! SKVideoNode::anchorPoint not bound !missing-selector! SKVideoNode::initWithCoder: not bound !missing-selector! SKVideoNode::initWithFileNamed: not bound !missing-selector! SKVideoNode::initWithURL: not bound !missing-selector! SKVideoNode::setAnchorPoint: not bound !missing-selector! SKVideoNode::setSize: not bound !missing-selector! SKVideoNode::size not bound !missing-selector! +SKVideoNode::videoNodeWithFileNamed: not bound !missing-selector! +SKVideoNode::videoNodeWithURL: not bound 2. SKNodeFocusBehavior is exposed needlessly on watchOS because SpriteKit/Enums.cs was not processed by the generator, so [NoWatch] did not matter. !unknown-native-enum! SKNodeFocusBehavior bound It's also visible on macOS but nothing uses it (so we do not expose it needlessly) !missing-enum! SKNodeFocusBehavior not bound 3. Add missing designated initializer on default `init` !missing-designated-initializer! SKAttributeValue::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! SKNode::init is missing an [DesignatedInitializer] attribute 4. Remove inconsistency for SKNode subclasses wrt XAMCORE_4_0 The trio attributeValues, setAttributeValues and setValue:forAttributeNamed: that was moved from SKNode (deprecated) into its subclasses. This was done using XAMCORE_4_0 but not on every subclasses. This adds them everywhere to be consistent (only SKNode versions are not defined in XAMCORE_4_0) !missing-selector! SKEffectNode::attributeValues not bound !missing-selector! SKEffectNode::setAttributeValues: not bound !missing-selector! SKEffectNode::setValue:forAttributeNamed: not bound !missing-selector! SKEffectNode::valueForAttributeNamed: not bound !missing-selector! SKEmitterNode::attributeValues not bound !missing-selector! SKEmitterNode::setAttributeValues: not bound !missing-selector! SKEmitterNode::setValue:forAttributeNamed: not bound !missing-selector! SKEmitterNode::valueForAttributeNamed: not bound !missing-selector! SKSpriteNode::attributeValues not bound !missing-selector! SKSpriteNode::setAttributeValues: not bound !missing-selector! SKSpriteNode::setValue:forAttributeNamed: not bound !missing-selector! SKSpriteNode::valueForAttributeNamed: not bound * [introspection] Make sure '[FAIL]' is printed before every failure. (#2578) This makes xharness able to list the failures in the inline summary. * [xtro] Reword some of the Simd diagnostic messages according to review. * [xharness] Add a missing IsServerMode check to generate correct html. (#2581) * [SpriteKit] SKTransformNode is new in Xcode 9 so no need to keep the broken (and obsolete) non-simd version of RotationMatrix. * [intents] Fix some (partial) xtro issues and #59156 (#2585) reference https://bugzilla.xamarin.com/show_bug.cgi?id=59156 Remaining issues are filled in https://bugzilla.xamarin.com/show_bug.cgi?id=59183 !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound * [Intents] Confirm* interface methods should be bound as Confirm, Fixes Bug 59164 (#2591) * [Intents] Confirm* interface methods should probably be bound as Confirm, Fixes Bug 59164 https://bugzilla.xamarin.com/show_bug.cgi?id=59164 All Confirm* methods from *IntentHandling interfaces should be named just `Confirm` to avoid confusion because most of them do not directly confirm as an acion, but instead they **ask** for confirmation also we would follow swift's naming by doing this. * [Intents] XAMCORE_4_0 all Confirm* methods from *IntentHandling Turns any Confirm* into just Confirm inside a XAMCORE_4_0 block, * [Intents] Fix breaking changes in Intents added in Xcode 9 Bindings (#2590) Apple added more protocol conformances to INRidesharingDomainHandling and INPaymentsDomainHandling protocols in Xcode 9, I introduced these breaking changes back when I did intents binding so fixing them :) * [Metal] New bindings from Xcode 9 betas (#2457) * [AVFoundation] Updated bindings for xcode9. (#2272) * [Xcode9] Add IOSurface bindings (#2363) * This framework was a private framework before iOS 11. This framework was a private framework before iOS 11, yet the headers claim many API were introduced in iOS 10. So take account of this difference by using the private framework location in iOS 10.3 or earlier. Testing these API from Xcode works fine when run on an iOS 10.3 device, and I've confirmed the IOSurface framework is loaded from the private frameworks path on older devices (and when built using Xcode 9 and linked with the public framework path). * Disable code to make IOSurface work on iOS 10. Disable the code to make IOSurface work on iOS 10, since it may be rejected by the App Store. This also means adjusting the availability attributes, so that the introspection tests pass (and to document that technically these API won't work when used with Xamarin.iOS in iOS 10). I've filed bug #[59201][1] to keep track of this, maybe we can re-enable this later. [1]: https://bugzilla.xamarin.com/show_bug.cgi?id=59201 * [CoreMedia] Fix leak in CMAttachmentBearer.GetAttachments. (#2593) The caller owns the return value from CMCopyDictionaryOfAttachments, so tell Runtime.GetNSObject that. * [Intents] Adds missing API found by xtro, fixes Bug 59183 (#2596) https://bugzilla.xamarin.com/show_bug.cgi?id=59183 Fixes !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !incorrect-protocol-member! INUIHostedViewControlling::configureWithInteraction:context:completion: is OPTIONAL and should NOT be abstract * [xtro] Fix StartWorkingDirectory to enable debugging (#2598) * [iosurface] Enable for tvOS and XM classic (to avoid multiple defines around consumer API) (#2597) * [xtro] Fix EnumCheck (#2600) * [ARKit] Rename a few method to make them nicer. (#2604) * DisplayTransform -> GetDisplayTransform since methods should have verbs. * SessionWasInterrupted -> WasInterrupted and SessionInterruptionEnded -> InterruptionEnded since these names match better with the other names (CameraDidChangeTrackingState / DidFail / DidOutputAudioSampleBuffer: none are prefixed with 'Session'). Additionally, the type is a Model (for the delegate pattern), which means all methods are more-or-less event-like, and the first argument is always the same (the protocol itself), which is another indicator the methods should be named similarly. * [Foundation] Remove 'Key' suffix from some fields. (#2606) Of the 168 fields in NSMetadataItem, only these 5 hadn't removed the 'Key' suffix. So make them all equivalent by removing the 'Key' suffix from these 5 fields. * [ImageIO] Fix API to not duplicate the instance in instance methods. (#2609) An instance method does not need to take the instance as a parameter, so remove the first (instance) parameter for CGImageDestination.AddAuxiliaryDataInfo and CGImageSource.CopyAuxiliaryDataInfo. An alternative solution would be to make the methods static, but I like the instance API better. * [UIKit] De-model UIDataSourceTranslating. (#2603) It's not clear from neither the documentation nor the headers how this protocol is supposed to be used, and since it doesn't correspond to the delegate pattern, remove the [Model] attribute for now. We can always add it back later. * [CoreML] Improve API. (#2592) * [CoreML] Improve API. * The indices, shape and stride properties for MLMultiArray and MLMultiArrayConstraint can logically only be arrays of integers, so type them as such. This means adding overloads for MLMultiArray's constructors, GetObject and SetObject methods, and the indexers that takes nint[] arrays instead of NSNumber[] arrays. * Change MLFeatureValue's static factory methods to be a method ('Create') instead of a preposition, and call all the different factory methods the same, since they can be overloaded nicely. * [tests][monotouch-test] Add version check to MLMultiArrayTest and make sure the arrays we create are big enough for the data we put in them. * [tests][monotouch-test] MLMultiArray's elements aren't zero-initialized, so don't assume that in the tests. * Support overloading Objective-C methods based on static/instance. (#2607) Two Objective-C methods can be named identically as long as one is static and the other instance. We must support this since Apple did just this (in the NSItemProviderReading / NSItemProviderWriting protocols). We solve it by prepending a '+' or '-' to the selector when hashing it (to determine selector uniqueness, and to look the method up again at runtime). * [uikit] Update for Xcode 9 - Part 6 (#2602) NSAttributedString.h NSFileProviderExtension.h NSLayoutAnchor.h UIAccessibility.h UIAccessibilityAdditions.h UIAccessibilityContainer.h UIAccessibilityContentSizeCategoryImageAdjusting.h UIAccessibilityCustomRotor.h UIAccessibilityLocationDescriptor.h UITabBar.h UINavigationBar.h UIScreen.h * Xcode9 scenekit (#2512) * [SceneKit] basic work * Added key * [xcode9] SCNCameraController * [xcode9] SCNCamera updates * [xcode9] SCNMaterial * [xcode9] SCNGeometryTessellator, SCNCameraControlConfiguration, SCNView, small bits * Add trailing commas to last enum value * Remove whitespace noise * [scenekit] Update deprecated attributes messages * Addresses some of Rolf's feedback * Drop the WeakDelegate in SCNCameraController * Rename method to Render, remove ctor from class that can not be constructed in Palygrounds, add typo exception * [AppKit] Rename NSBezierPath.AppendBezierPathWithCGGlyph to match its sibling methods. (#2605) NSBezierPath contains a lot of 'AppendPathWithXXX' methods, that all map to 'appendBezierPathXXX' selectors. So rename AppendBezierPathWithCGGlyph accordingly, to make it more similar to the other methods in the same type. * [uikit] Add all UISpringLoadedInteractionSupporting (#2616) Types do not conform to the protocol but protocol methods work on those types (see monotouch-test). Fixed introspection tests accordingly and tested the selectors in monotouch-test. * [Intents] Add convenience ctor overload and call correct base ctor in manual ctor. (#2613) Add a convenience constructor overload in INGetUserCurrentRestaurantReservationBookingsIntent that uses nint instead of NSNumber, since logically "number of results" will always be some sort of integer. Also call the correct base constructor in INSpeakableString's custom constructor (same as any other generated constructor). Otherwise we end up doing something like this: [[[INSpeakableString alloc] init] initWith ...], i.e. calling two different init methods. * [coreimage] Add new headers API up to beta 6 (#2601) Filters are not complete (ref: #57350) https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * Some new constants are not yet documented (type is known), so they are commented / ignored https://bugzilla.xamarin.com/show_bug.cgi?id=59296 * Filled bug for [Wrap] inside [Category] so strong dictionary helpers can be re-enabled later https://bugzilla.xamarin.com/show_bug.cgi?id=59294 * [foundation] xtro fixes for watchOS (#2586) !missing-enum! NSProcessInfoThermalState not bound !missing-field! NSProcessInfoThermalStateDidChangeNotification not bound !missing-selector! NSProcessInfo::thermalState not bound Headers are wrong and preferredPresentationStyle is not in tvOS and watchOS !missing-selector! NSItemProvider::preferredPresentationStyle not bound !missing-selector! NSItemProvider::setPreferredPresentationStyle: not bound * [uikit] Also remove UIPreferredPresentationStyle enum from platform where it's not used * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. (#2614) * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. * NSItemProviderWriting: * NSItemProviderReading: Implement correctly and completely by uncommenting commented out code. * NSMutableString: * NSAttributedString: remove inlined members, since these classes don't implement NSItemProviderReading / NSItemProviderWriting (according to the headers at least). * NSUrl: all platforms now seem to implement NSItemProviderReading / NSItemProviderWriting. * NSString: all platforms now seem to implement both NSItemProviderReading and NSItemProviderWriting * UIColor: * UIImage: Update inlined protocol members according to the latest beta. Additionally, due to the following conditions: * The protocols all have the correct members now. * In the API definition we tell the generator to inline members from a protocol by inheriting from the corresponding interface. * The generator doesn't inline static members from protocols. several 'new' keywords had to be added to silence a compiler warning that occurrs when we manually inline a static member, since the member would be included in the type both from the inherited interface and the manual implementation. * [Foundation] Comment out NSItemProviderWriting.GetItemProviderVisibility to avoid inlining/generating unusable methods. NSItemProviderWriting.GetItemProviderVisibility is an optional method, and none of the native classes that implements NSItemProviderWriting actually imlements the method. This means inlining the method in those classes ends up creating unusable API; so just comment out the method to avoid generating the unusable API. The introspection tests found this: [FAIL] Foundation.NSString : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Foundation.NSUrl : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Contacts.CNContact : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] MapKit.MKMapItem : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIColor : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIImage : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] iOSApiSelectorTest.ApiSelectorTest.StaticMethods : 6 errors found in 2348 static selector validated: See also https://bugzilla.xamarin.com/show_bug.cgi?id=59308 * [iosurface] Add missing [TV] attributes (#2619) * [opengles] Enable the new API using IOSurface (#2618) The symbol only exists inside device libraries, not on simulator, and the introspection tests were updated to ignore it. Part of https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [avfoundation][watchos] Enable AudioBufferList (fix #59145) + audit (xtro) (#2617) 1. AudioBufferList is part of CoreAudio (wrong namespace, which needs a few changes in the generator) and now available in watchOS 4 https://bugzilla.xamarin.com/show_bug.cgi?id=59145 2. Also fixes xtro found issues: !missing-type! AVAudioRecorder not bound !missing-selector! AVAudioRecorder::averagePowerForChannel: not bound !missing-selector! AVAudioRecorder::channelAssignments not bound !missing-selector! AVAudioRecorder::currentTime not bound !missing-selector! AVAudioRecorder::delegate not bound !missing-selector! AVAudioRecorder::deviceCurrentTime not bound !missing-selector! AVAudioRecorder::format not bound !missing-selector! AVAudioRecorder::initWithURL:format:error: not bound !missing-selector! AVAudioRecorder::initWithURL:settings:error: not bound !missing-selector! AVAudioRecorder::isMeteringEnabled not bound !missing-selector! AVAudioRecorder::isRecording not bound !missing-selector! AVAudioRecorder::peakPowerForChannel: not bound !missing-selector! AVAudioRecorder::recordAtTime: not bound !missing-selector! AVAudioRecorder::recordAtTime:forDuration: not bound !missing-selector! AVAudioRecorder::recordForDuration: not bound !missing-selector! AVAudioRecorder::setChannelAssignments: not bound !missing-selector! AVAudioRecorder::setDelegate: not bound !missing-selector! AVAudioRecorder::setMeteringEnabled: not bound !missing-selector! AVAudioRecorder::settings not bound !missing-selector! AVAudioRecorder::url not bound !missing-protocol! AVAudioRecorderDelegate not bound !missing-selector! AVAudioEngine::inputNode not bound !missing-selector! AVAudioEngine::manualRenderingBlock not bound !missing-selector! AVAudioInputNode::setManualRenderingInputPCMFormat:inputBlock: not bound !missing-selector! AVAudioPlayer::format not bound !missing-selector! AVAudioSession::requestRecordPermission: not bound !unknown-field! AVFileType3GPP bound !unknown-field! AVFileType3GPP2 bound !unknown-field! AVFileTypeAC3 bound !unknown-field! AVFileTypeAIFC bound !unknown-field! AVFileTypeAIFF bound !unknown-field! AVFileTypeAMR bound !unknown-field! AVFileTypeAVCI bound !unknown-field! AVFileTypeAppleM4A bound !unknown-field! AVFileTypeAppleM4V bound !unknown-field! AVFileTypeCoreAudioFormat bound !unknown-field! AVFileTypeDNG bound !unknown-field! AVFileTypeEnhancedAC3 bound !unknown-field! AVFileTypeHEIC bound !unknown-field! AVFileTypeHEIF bound !unknown-field! AVFileTypeJPEG bound !unknown-field! AVFileTypeMPEG4 bound !unknown-field! AVFileTypeMPEGLayer3 bound !unknown-field! AVFileTypeQuickTimeMovie bound !unknown-field! AVFileTypeSunAU bound !unknown-field! AVFileTypeTIFF bound !unknown-field! AVFileTypeWAVE bound * [Metal] Implement API using IOSurface now that IOSurface is implemented. Partially fixes #58054. (#2621) https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [PdfKit] Improve PdfAnnotation.QuadrilateralPoints binding by making it strongly typed. (#2620) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). (#2622) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). * [ARKit/Vision] Use the new simd vector types instead of the OpenTK versions. * [ModelIO] Use the new simd vectors in new API (MDLVoxelIndexExtent2). This way we won't have to create a MDLVoxelIndexExtent3 in the future. * [SpriteKit] Use the new simd vectors in new API. * [metal] Audit (xtro) based fixes (#2623) !extra-protocol-member! unexpected selector MTLArgumentEncoder::newArgumentEncoderForBufferAtIndex: found !extra-protocol-member! unexpected selector MTLComputeCommandEncoder::dispatchThreads:threadsPerThreadgroup: found macos-only !missing-field! MTLDeviceRemovalRequestedNotification not bound !missing-field! MTLDeviceWasAddedNotification not bound !missing-field! MTLDeviceWasRemovedNotification not bound !missing-pinvoke! MTLCopyAllDevices is not bound * [CloudKit] Update bindings to beta 6. (#2615) * [FileProvider] Turn NSFileProviderItemIdentifier enum into a static class, fixes bug 59329 (#2634) https://bugzilla.xamarin.com/show_bug.cgi?id=59329 At the time of binding NSFileProviderItemIdentifier it wasn't clear how it was supposed to be used, I mean apple provides two keys which I thought were the only possible values hence binding it as an smart enum. Unfortunately this wasn't the case and the user can use those two values provided from the SDK or their own NSString Identifier. Swift provides a wrapper unfortunately we can't do the same due to NSFileProviderItemIdentifier is used in the NSFileProviderItem protocol and we currently do not support changing signatures on them. * [mtouch] Teach mtouch about the 'IOSurface' framework for tvOS. Fixes #59333. (#2630) https://bugzilla.xamarin.com/show_bug.cgi?id=59333 * Bump Touch.Unit to get fix for API breakage. (#2631) spouliot/Touch.Unit@8f1e19d [NUnitOutputTextWriter] Reintroduce previous constructor to make sure we don't break binary ABI. spouliot/Touch.Unit@00b0c0b [NUnitOutputTextWriter] Don't write invalid xml comments. spouliot/Touch.Unit@de9fe20 [TouchRunner] Restore the original code path when not wrapping NUnit xml output. * [IOSurface] Add missing availability attributes for tvOS. (#2629) * Bump versions for preview 9 (#2624) * [AVFoundation] Add missing interface AVRouteDetector. (#2637) * [tests] Update xtro to reduce list sizes (#2636) * Skip OpenTK duplicate declaration (we can't change them); * Fix rule name change for ARKit / simd; * Add missing default initializer on `init` to pending actions; * Add note for AVPersistableContentKeyRequest changes wrt tvOS; * [ReplayKit] Make RPBroadcastActivityViewController.LoadBroadcastActivityViewController async-capable. (#2639) * [xcode9] More SceneKit bindings (#2633) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 (#2644) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 https://bugzilla.xamarin.com/show_bug.cgi?id=59380 vector_float3 is 16 bytes, which means the binding is incorrect, because Vector3 is 12 bytes, and our code does not that difference into account. * Add tests * [DeviceCheck] Disable default ctor for DCDevice. (#2642) It doesn't seem to be useful according to the documentation, since it appears that the only way to get an instance is to use the static CurrentDevice property. * [audiounit] Audit (xtro) fixes for tvOS (#2635) Availability attributes in non-generated files don't hide symbols/code. reference: !unknown-pinvoke! AudioUnitExtensionCopyComponentList bound !unknown-pinvoke! AudioUnitExtensionSetComponentList bound * [tests] Make sure tvOS tests don't use the (unexisting) API * [tests] Add all test project variations to tests-mac.sln (#2579) * [xharness] Make sure generated mac projects have different project guids. * [introspection] Change the project guid so that it doesn't match the dontlink-mac project guid. * [tests] Add all test project variations to tests-mac.sln. * [xharness] Fix else condition. * [FileProvider] Adds missing NSFileProviderPage constants, fixes bug 59297. (#2646) https://bugzilla.xamarin.com/show_bug.cgi?id=59297 Adds NSFileProviderInitialPageSortedByName and NSFileProviderInitialPageSortedByDate NSData constants * [Xcode9] Remove NSFileProviderMessage and NSFileProviderMessageInterface (#2647) APIs were removed in beta 2 * [Foundation/UIKit] Provide LoadObject[s] methods that return the expected type in the callback. Fixes #59049. (#2638) The callback for these LoadObject[s] methods take an INSItemProviderReading parameter. This tells our runtime that we must provide an instance of a managed object that implements this interface (but nothing else), so we create a `NSItemProviderReadingWrapper` instance, which complies with the API (since the wrapper type implements the corresponding interface). Unfortunately these methods are supposed to return an instance of the passed- in type, so in order to comply with this soft (documentation-only) requirement, provide a wrapper method that creates instances of the right types. https://bugzilla.xamarin.com/show_bug.cgi?id=59049 * [arkit] Ignore deprecated selectors (#2645) * [FileProvider] Adds missing protocol and keys from audit (#2652) ``` !missing-protocol! NSFileProviderServiceSource not bound !missing-field! NSFileProviderErrorCollidingItemKey not bound !missing-field! NSFileProviderErrorNonExistentItemIdentifierKey not bound !missing-field! NSFileProviderFavoriteRankUnranked not bound ``` Also adds `NSXpcListenerEndpoint` to foundation, needed by `NSFileProviderServiceSource` protocol. * [tests][xtro] Workaround xtro runner dupe entry exception and update data files (#2654) * [AVFoundation] Rename field to match others. (#2657) * [homekit] Audit (xtro) fixes (#2653) - HMCharacteristicEvent conforms to NSMutableCopying on iOS11 which makes it 64 bits only (so adjust intro tests) - Ignore extra setters on HMMutablePresenceEvent, rdar 33883958 !missing-selector! HMMutablePresenceEvent::setPresenceEventType: not bound !missing-selector! HMMutablePresenceEvent::setPresenceUserType: not bound * [xtro] Add missing pinvoke to pending (#2662) - Bug 59422: [uikit] Missing UIContentSizeCategoryCompareToCategory & UIContentSizeCategoryIsAccessibilityCategory (https://bugzilla.xamarin.com/show_bug.cgi?id=59422) * Merge latest d15-3 fixes into xcode9 (#2660) * [msbuild] Re-added wildcard (*) expandsion for application-identifier in Entitlements.plist (#2186) Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=57119 * Bump mono (#2213) * Framework tests were still binding non-linked Simple class which errors now (#2216) (#2218) - Improve Makefile to rebuild when projects build with errors * Bump mono to get cecil fix for bug #56808. (#2222) https://bugzilla.xamarin.com/show_bug.cgi?id=56808 * [msbuild] Use @(ReferencePath) instead of @(ResolvedFiles) (#2188) (#2214) This allows things to work on both xbuild and msbuild. In xbuild, both lists are exactly the same and on msbuild, only @(ReferencePath) exists. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=55147 * NSActivityOptions.IdleDisplaySleepDisabled had wrong value (#2232) (#2239) This was due to an integer overflow. The original value was based on Int32 1 << 40 == 256 The correct value should be based on a UInt64. 1UL << 40 == 1099511627776 * [tests] Fix bug 57699 - [iOS]InternalsTest failure (Linkall) tests on device (#2243) Strip native debugging symbols should not be checked for debug builds * Bump mono to get fix for bug #57780. https://bugzilla.xamarin.com/show_bug.cgi?id=57780 * Update .gitmodules Change branch to d15-3 branch of mono * Bump maccore to get fix for bug #55064. https://bugzilla.xamarin.com/show_bug.cgi?id=55064 * [mono] Bump mono to get the head of cecil/mono-2017-04 and fix IsComObject #57919 Also fix #58789 [1], the typo in tools/mtouch/Tuning.cs showing in MT0000 errors instead MT2102. That's already in master and d15-4 mono bump includes: [2] commit 2a6502cee0df9de5198eafe7c8b5f6ac25106f34 (HEAD -> d15-3, origin/d15-3) Merge: 02457c20fcf 5e05cafc6f1 Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 10:04:06 2017 -0400 Merge pull request #5401 from marek-safar/com [Marshal.IsComObject] Make this predicate return false instead of thr… [3] commit 02457c20fcf57c0610e844d638eb1da82b5d1eb0 Merge: da80840ea55 73fd9a1b82e Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 09:59:06 2017 -0400 Merge pull request #5400 from spouliot/bump-cecil-58834-d15-3 [cecil] Bump to the head of the mono-2017-04 branch and pick the fix for bug #58834 References [1] https://bugzilla.xamarin.com/show_bug.cgi?id=58789 [2] https://bugzilla.xamarin.com/show_bug.cgi?id=57919 [3] https://bugzilla.xamarin.com/show_bug.cgi?id=58834 * [mtouch] Put 'mono_profiler_startup_log' in the symbol list. Fixes #58778. (#2501) We need the 'mono_profiler_startup_log' symbol when profiling is enabled, so make sure to add the symbol to the correct list of symbols we need. Previously we were passing `-u _mono_profiler_startup_log` to clang directly, which is fine, but not complete, since it does not write the symbol to the symbollist file (--symbollist=file), which means it wouldn't be preserved when the MSBuild tasks strip the executable. https://bugzilla.xamarin.com/show_bug.cgi?id=58778 * Bump versions for SR3 https://trello.com/c/EVze08ei * Bump mono to include HttpClientHandler fix #44027 https://trello.com/c/jYFXadH8/8-systemnethttp-close-request-stream-when-httpclienthandler https://bugzilla.xamarin.com/show_bug.cgi?id=44027 * [FileProvider] Add missing API and turn NSString to string (#2663) Turned NSString to string in order to match exisiting API. * [uikit] Add UIPasteConfigurationSupporting and UITextPasteConfigurationSupporting (#2649) - Fixes bug #59363: Missing UIPasteConfigurationSupporting, UITextPasteConfigurationSupporting, UITextDraggable and UITextDroppable on a couple of types (https://bugzilla.xamarin.com/show_bug.cgi?id=59363) * [uikit] Remove 129 types in UIPasteConfigurationSupporting case * [scenekit] Audit (xtro) fixes (#2648) This looks like an Apple breaking change (since `SCNAnimation` is new) but we now have: > typedef void (^SCNAnimationEventBlock)(id<SCNAnimation> animation, id animatedObject, BOOL playingBackward); bound as > delegate void SCNAnimationEventHandler (CAAnimation animation, NSObject animatedObject, bool playingBackward); and `CAAnimation` conforms to `SCNAnimation` but *only* the later is available on watchOS. The delegate is only updated (since it's new) on our watchOS profile. xtro references: (watchos) !unknown-protocol! SCNCameraControlConfiguration bound (tvos/watchos) !missing-selector! SCNAnimation::animationEvents not bound !missing-selector! SCNAnimation::setAnimationEvents: not bound !missing-selector! SCNConstraint::isEnabled not bound !missing-selector! SCNConstraint::setEnabled: not bound !missing-field! SCNSceneSourceConvertToYUpKey not bound !missing-field! SCNSceneSourceConvertUnitsToMetersKey not bound (ios/tvos) !missing-protocol-conformance! SCNNode should conform to UIFocusItem * Bump maccore post 15.3 merge (#2665) * Bump Xcode 9 to GM (#2667) * Force build (on wrench) * [avfoundation] Fix breaking changes (apidiff) (#2664) * [TVServices] Update to Xcode 9 GM (#2675) * [GameController] Update to Xcode 9 GM (#2673) * [LocalAuthentication] Update to Xcode 9 GM (#2671) * [LocalAuthentication] Update to Xcode 9 GM * Remove availability from BiometryNotAvailable, BiometryNotEnrolled and BiometryLockout * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer (#2659) * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer Some of the new added types were already present BUT under a #if MONOMAC, they had to be moved. * [AVFoundation] Set the wrongly added API to be obsolete and ensure it returns logical values. (#2650) * [xtro] The right platform for macOS is 'macos', not 'osx'. (#2677) The platform name is used to filter availability attributes, and if we use the wrong platform, we'll incorrectly skip all availability attributes. The net result in unclassified entries: https://gist.github.com/rolfbjarne/a4474bc2a40c49a85cad495b51bb514f * Various Xcode 9 API improvements and also fixes bug 59433 (#2676) https://bugzilla.xamarin.com/show_bug.cgi?id=59433 While fixing bug 59433 I noticed some additional issues outlined below: AVDepthData: * Renamed **non** static `Create` methods because `Create` only makes sense with the **Static** method in this context. Also by renaming the methods we are now closer to the names that swift uses. * Kept descriptive method names in favor of self-documenting code. `Convert`, `Apply` and `Replace` do not fully give us the intent of the method. * Added a convenience `Create` static method that takes a `CGImageAuxiliaryDataInfo`. * AvailableDepthDataTypes is now an array of `CVPixelFormatType` instead of a `NSNumber` array (The aactual fix for bug 59433). ImageIO: * Refactored `CGImageAuxiliaryDataInfo` to be a `StrongDictionary` in order to avoid most of the manual code and also to avoid reimplementing the `ToDictionary` method (which contained a subtle bug). * Adjusted code to reflect the above change. * Added missing `.ctor (IntPtr, bool)` to `CGImageMetadata` so the class is able to be created by our `Runtime.Get*`. * Simplified `CopyAuxiliaryDataInfo` method by using `CGImageAuxiliaryDataInfo` as a `DictionaryContainer`. Tests: * Added `xamarinmonkey.heic` which is an image that contains depth data needed to test above changes. * Adds `AVDepthDataTests` that touches most of the changes listed here. * Tweak the Simd-compatible matrices and vectors (#2668) * Rename them to be OpenTK.NMatrix# (instead of Simd.MatrixFloat#x#). * Remove the Vector2 and Vector4 variants, we'll use the OpenTK types instead (but we'll keep the NVector3 variant, since it's not identical to the OpenTK version). * Update the API to match their OpenTK counterparts better: * NMatrix2 and NMatrix3 have a 0-based R#C# scheme for their fields. * NMatrix4 has a 1-based M## scheme for its fields (i.e. no change). * [AVFoundation] Use Simd-matrix for API that needs it. (#2679) This also requires implementing the corresponding matrix (NMatrix4x3). Fixes this xtro issue: > !unknown-simd-type-in-signature! OpenTK.Matrix3 AVFoundation.AVCameraCalibrationData::get_GetIntrinsicMatrix(): the native signature has a simd type (matrix_float3x3), while the corresponding managed method is using an incorrect (non-simd) type. * [xtro] Fix checking availability on categories. (#2682) When checking for category availability, check if both the current declaration is a category, and if the current's declaration container is a category. Otherwise this scenario fails: * Category method is available. * Category does not have availability attributes. * Main class is unavailable. with this typical code sequence: ```csharp // don't process methods (or types) that are unavailable for the current platform if (!decl.IsAvailable () || !(decl.DeclContext as Decl).IsAvailable ()) return; ``` In which case we'd: * First check the method (`decl`): * It's available, so no further checks is done on the method. * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container's container is a category (it isn't, it's the namespace). and as such determine that the method is available. With this change, the second step will become: * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container is a category (it is), and if its main class is available (it isn't). and as such determine that the method is unavailable. * Check for attributes on the method's container (no attributes, so we continue). * Check if the method's Unclassified diff: https://gist.github.com/rolfbjarne/8fa80962596978a426eadf9b7ba39dc1 * [uikit] Update for Xcode 9 GM (#2670) * [AVFoundation] Implement AVCapturePhoto. Partially fixes #59388. (#2678) Fixes: > common.unclassified:!missing-type! AVCapturePhoto not bound https://bugzilla.xamarin.com/show_bug.cgi?id=59388 * Use strong dictionaries for AVCapturePhoto.Metadata and AVCapturePhoto.EmbeddedThumbnailPhotoFormat. * [SIMD] Implement Simd double types (VectorDouble3/MatrixDouble4x4). (#2632) The following types will be used by ModelIO bindings * Fix delta to be double * Rename Simd-compatible matrices and vectors to match our final naming. This also means removing the new Vector2 and Vector4 variants (but not Vector3). * [avfoundation] Remove AVAssetDownloadDelegate.DidLoadTimeRange since it was removed in one of the betas (#2687) * [foundation] Move NSUrlSessionMultipathServiceType to a file processed by the generator (for the availability attributes) (#2688) * [arkit] Update for Xcode 9 GM (#2681) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes (#2690) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes Type Changed: Intents.INCarSeatResolutionResult Removed methods: public static INCarSeatResolutionResult GetConfirmationRequired (INCarSeat valueToConfirm); public static INCarSeatResolutionResult GetSuccess (INCarSeat resolvedValue); * [avfoundation] Add missing protocol members and deprecations (#2691) !missing-protocol-member! AVCapturePhotoCaptureDelegate::captureOutput:didFinishProcessingPhoto:error: not found and the selector removed from PR#2687 was actually replaced with this one !missing-protocol-member! AVAssetDownloadDelegate::URLSession:aggregateAssetDownloadTask:didLoadTimeRange:totalTimeRangesLoaded:timeRangeExpectedToLoad:forMediaSelection: not found * [tests][xtro] Map some enums, more fix with protocols and update entries (#2692) * [Tests] Reenable dns tests on the watch. (#2674) * [arkit] Add ARBlendShapeLocationOptions strong dictionary (#2696) * [coreimage] Skip not yet bound filters added in Xcode9 (#2698) Tracked in https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * [Metal] Renamed MTLArgumentDescriptor.ArgumentDescriptor to Create, fixes bug 59498 (#2702) https://bugzilla.xamarin.com/show_bug.cgi?id=59498 From [argumentDescriptor docs](https://developer.apple.com/documentation/metal/mtlargumentdescriptor/2915746-argumentdescriptor?language=objc) > Creates an empty argument descriptor. * [msbuild] Always codesign app bundles if the codesign key is non-null (#2697) ...even if it is a simulator build. Turns out that starting with Xcode9, sim builds need to be codesigned for App Groups entitlements to work properly. Interestingly, the DetectSigningIdentity logic had a comment about needing to codesign simulator builds for some entitlements to work already starting with Xcode 8 but apparently the iOS targets did not respect this. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=59379 * [Foundation] Add NSProxy stub in order to workaround bug 59247 (#2693) https://bugzilla.xamarin.com/show_bug.cgi?id=59247 We need to have a better solution that removes all what NSProxy does not responds to. Right now this works because NSObject implements NSObject protocol just like NSProxy, but NSProxy responds to far less selectors hence doing it internal so it is not a breaking change when we provide the correct fix. * Keep NSProxy around and avoid XML linker description We need to keep NSProxy (avoid linking it) if WKNavigationDelegate or IWKNavigationDelegate is used. We know WKWebView will be there and can hold a reference to it. * [Xcode 9] Update Metal for GM (#2689) * [iosurface] IOSurface is not usable before iOS/tvOS 11. Fixes #59201 (#2706) Apple rejects apps that links with the previously private IOSurface.framework. We were not sure about this [1] and had it disabled (this is removed). However another bug stopped our adjustment logic [2] from being executed. This is needed since `clang` picks up the private framework if it does not find the public one (even when asking for a weak framework), [1] https://bugzilla.xamarin.com/show_bug.cgi?id=59201 [2] Added a while ago for JavascriptCore * Bump maccore to point to commit with the docs fix. (#2703) * Bump XI to 11.0.x (and XM to 3.99.9.x) (#2684) * fix typo
2017-09-16 00:53:16 +03:00
[BaseType (typeof(NSObject))]
interface SCNAnimation : SCNAnimationProtocol, NSCopying, NSSecureCoding
{
[Static]
[Export ("animationWithContentsOfURL:")]
SCNAnimation FromUrl (NSUrl animationUrl);
[Static]
[Export ("animationNamed:")]
SCNAnimation FromName (string animationName);
[Static, NoWatch]
[Export ("animationWithCAAnimation:")]
SCNAnimation FromCAAnimation (CAAnimation caAnimation);
[Export ("duration")]
double Duration { get; set; }
[NullAllowed, Export ("keyPath")]
string KeyPath { get; set; }
[Export ("timingFunction", ArgumentSemantic.Retain)]
SCNTimingFunction TimingFunction { get; set; }
[Export ("blendInDuration")]
double BlendInDuration { get; set; }
[Export ("blendOutDuration")]
double BlendOutDuration { get; set; }
[Export ("removedOnCompletion")]
bool RemovedOnCompletion { [Bind ("isRemovedOnCompletion")] get; set; }
[Export ("appliedOnCompletion")]
bool AppliedOnCompletion { [Bind ("isAppliedOnCompletion")] get; set; }
[Export ("repeatCount")]
nfloat RepeatCount { get; set; }
[Export ("autoreverses")]
bool Autoreverses { get; set; }
[Export ("startDelay")]
double StartDelay { get; set; }
[Export ("timeOffset")]
double TimeOffset { get; set; }
[Export ("fillsForward")]
bool FillsForward { get; set; }
[Export ("fillsBackward")]
bool FillsBackward { get; set; }
[Export ("usesSceneTimeBase")]
bool UsesSceneTimeBase { get; set; }
[NullAllowed, Export ("animationDidStart", ArgumentSemantic.Copy)]
SCNAnimationDidStartHandler AnimationDidStart { get; set; }
[NullAllowed, Export ("animationDidStop", ArgumentSemantic.Copy)]
SCNAnimationDidStopHandler AnimationDidStop { get; set; }
[NullAllowed, Export ("animationEvents", ArgumentSemantic.Copy)]
SCNAnimationEvent[] AnimationEvents { get; set; }
[Export ("additive")]
bool Additive { [Bind ("isAdditive")] get; set; }
[Export ("cumulative")]
bool Cumulative { [Bind ("isCumulative")] get; set; }
}
[Watch (4,0), TV (11,0), Mac (10, 13, onlyOn64: true), iOS (11,0)]
Merge xcode9 into d15-4[-xi] (#2710) * [FileProvider] Add Xcode 9 Beta 1, 2 & 3 Bindings (#2279) * [FileProvider] Add Xcode 9 Beta 1 Bindings * Better naming * Feedback not related to BindAs * [FileProvider] Removes BindAs, add manual code for it and updated to Beta 3 * [FileProvider] Implement feedback * [CoreSpotlight] Updated spotlight bindings for xcode 9 beta 3. (#2193) Updated spotlight bindings for xcode 9 beta 3. * Fix warning caused by duplicate (#2354) * [FileProviderUI] Add Xcode 9 Beta 1 to 3 bindings (#2356) * Bump to Xcode 9 beta 4 * [arkit] ARLightEstimate does not conform to NSCopying anymore (fix unit test) * [uikit] NSFileProviderExtension.ReparentItem got a new parameter in beta4 (fix unit test) * [coreimage] CIImageAccumulator init returns nil in beta 4 There's no header change to mention `init` is not allowed but it's not clear how this default initializer could be used. Also make public some other API to construct this type (outside of XM). It's not clear why there were `internal` as they are (at least now) part of the header files. * [photos] Add helpers when PHLivePhotoEditingOption/NSDictionary is null (to avoid ambiguous API) (#2360) Adding a strongly typed `PHLivePhotoEditingOption` (a strongly typed version of an `NSDictionary`) can cause a `CS0121` (call is ambiguous) since using a `null` argument is common (only one option exist so far). This PR adds overloads that makes the code nicer in such case, e.g. before Xcode9: > // null is used when no options are given > _foo.SaveLivePhoto (output, null, completion); current (Xcode 9) > // casting required to remove ambiguity with PHLivePhotoEditingOption > _foo.SaveLivePhoto (output, (NSDictionary)null, completion); with this PR > // no option, no argument > _foo.SaveLivePhoto (output, completion); The same applies to `PrepareLivePhotoForPlayback`. * [tests] Disable/tweak two tests that breaks on (almost) all Xcode updates Those tests were not added to validate xOS so just keep the parts that helps us (without constantly checking back the new break flavor) * Disable watchOS to check if this hides others issues * [mapkit] Update for beta 4 * [coredata] Update for beta 4 * [wkwebkit] Update for beta 4 Note: WKWindowFeatures.h is not compiled (part of the framework umbrella) and the `@interface WKWindowFeatures (WKPrivate)` sounds like it should not have been exposed (it's all fields starting with `_`) * [corelocation] Update for beta 4 * Revert "Disable watchOS to check if this hides others issues" This reverts commit fed2249fa43290a1956ab2fe0d48f83ab6db9711. * [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]: https://github.com/xamarin/xamarin-macios/blob/f5956d6cc1eb5dfa7bab16628cf282d40237f64e/src/generator.cs#L5985 * [FinderSync] Update to beta 4 (#2377) * [ImageIO] Update to Xcode 9 (#2353) * [PhotosUI] Move macOS photosui bindings out of photos.cs into photosui.cs (#2358) * [quicklook] Update up to beta 4 (#2374) * [uikit] UIDragInteraction & UIDragInteractionDelegate (Xcode 9 b1,2,3) (#2357) * [safariservices] Update up to beta 4 (#2380) * [coreanimation] Update to beta 4 (#2382) Apple removed (mistake?) some API in beta 1. Filed as rdar 33590997 Internal tracking in https://trello.com/c/J8BDDUV9/86-33590997-coreanimation-quartzcore-api-removals * [storekit] Update up to beta 4 (#2379) * [CoreML] Update to Xcode 9 Beta 4 (#2387) * [uikit] UICollectionView/UITableView Drag & Drop (Xcode 9 b1,2,3 & 4) (#2355) * Update code after radar 32929318 and 32897776 are fixed in b4 (#2394) * [xcode9 CoreAudio] New definitions from Beta1 to Beta3 (#2359) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 (#2397) * [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 https://bugzilla.xamarin.com/show_bug.cgi?id=58512 Created strong API (VNBarcodeSymbology) on the following properties * VNDetectBarcodesRequest.SupportedSymbologies * VNDetectBarcodesRequest.Symbologies * VNBarcodeObservation.Symbology * Remove modern C# because classic can't do it 😡 * [mediaplayer] Update up to beta 4 (#2388) * [watchkit] Update to beta 4 (#2398) * Bump Visual Studio for Mac max version (#2408) * [coreimage] Add CIBarcodeDescriptor and enabled missing API for VNBarcodeObservation. Fix #58197 (#2411) https://bugzilla.xamarin.com/show_bug.cgi?id=58197 * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 (#2407) * [uikit] Update UIFocus related APIs to Xcode 9 beta 4 * [uikit] Fixes based on comments * [coreimage] CIImageAccumulator API fixes. Fix #58349 (#2412) * Obsolete the default `init`; * XM exposed some older APIs using `int` instead of `CIFormat`. This is fixed and old APIs are obsoleted; * Both new & old APIs are now using `CIFormat` for both XI and XM. https://bugzilla.xamarin.com/show_bug.cgi?id=58349 * [uikit] UIText drag & drop - up to Xcode 9 beta 4 (#2410) * [uikit] UISplitView & UIStackView up to Xcode 9 beta 4 (#2425) * Bump XI/XM versions before preview 4 (#2422) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 (#2378) * [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 * [PDFKit] Implement feedback * [PDFKit] the forgotten enum * [PDFKit] More feedback * [PDFKit] Add Mac changes * Missing change * Fix test RectangleF VS CGRect * Pass -Wunguarded-availability-new to quiet a new clang warning (#2424) - https://bugzilla.xamarin.com/show_bug.cgi?id=58574 * [mtouch/mmp] Ignore warnings about unguarded code section with regards to availability. (#2441) * [monotouch-test] Remove workaround for fixed Apple bug. (#2445) * Bump to Xcode 9 beta 5. (#2447) * Bump to Xcode 9 beta 5. * [mmp] Disable the partial static registrar, because Apple's macOS SDK is broken. > In file included from Xamarin.Mac.registrar.mobile.i386.m:1: > In file included from ./Xamarin.Mac.registrar.mobile.i386.h:11: > /Applications/Xcode9-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVFoundation.h:88:9: fatal error: 'AVFoundation/AVRouteDetector.h' file not found https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [mmp] Fix partial static registrar removal. * [CallKit] Update to Xcode 9 beta 5. * [ARKit] ARPointCloud doesn't conform to NSCopying anymore in Xcode 9 beta 5. * [ARKit] Update to Xcode 9 beta 5 enough to make tests happy. * [CoreImage] Stub out new filters in Xcode 9 beta 5. * [tests][monotouch] Simplify some MDLMesh asserts since values change a lot between OS versions. * [mmp] Default to the dynamic registrar for release builds again, due to bug #58629. https://bugzilla.xamarin.com/show_bug.cgi?id=58629 * [tests][introspection] CXCall started implementing NSCopying without saying so in the headers. * Disable mmp static registrar tests due to 58629 for now * [quicklook] Update to beta 5 (#2450) * [photos] Update for beta 5 (#2452) Also update some existing enum members were added in beta 1 on macOS * [safariservices] Update for beta 5 (#2455) * [mediaplayer] Update to beta 5 (#2456) * [CoreLocation] Update Xcode 9 Beta 5 (#2453) * [CoreML] Update to Xcode 9 Beta 5 (#2454) * [Contacts] Update to Xcode 9 Beta 5 (#2451) * [Vision] Update to Xcode 9 Beta 5 (#2458) * [builds] Tell LLVM to stay away from newer macOS functions. (#2459) Fixes this build problem on Sierra: > ld: weak import of symbol '_futimens' not supported because of option: -no_weak_imports for architecture x86_64 This is a symbol that was (will be?) introduced in High Sierra. Interestingly this only occurs if the Xcode 8.X Command Line Tools haven't been manually installed. Because if the Xcode 8.X Command Line Tools are installed, this happens: 1. llvm's configure script detects that 'futimens' is not usable. 2. llvm's configure script detects that 'futimens' is not usable, because xcrun sets SDKROOT=/ when calling clang. a. When the SDKROOT variable is set, clang passes '-syslibroot /usr/lib' to ld. b. When ld gets '-syslibroot /usr/lib', ld looks in '/usr/lib' for a library that contains 'futimens' in the OS itself, and since we're on Sierra, that fails to link. c. So when llvm's configure script creates a test program that checks if 'futimens' is present, the program fails. This is correct, and makes llvm *not* use futimens. 3. xcrun sets SDKROOT=/ because /usr/share/current-os.sdk/Info.plist exists. If that file does not exist, then xcrun sets SDKROOT to Xcode9's macOS SDK (because that's what xcode-select reports). a. When SDKROOT is set to Xcode9's macOS SDK, the configure check for 'futimens' succeeds, because the macOS 10.13 SDK contains that function. b. llvm happily uses 'futimens', and then the final link fails because we're using a symbol not available on all target platforms. * [arkit] Update for Xcode 9 beta 5 - Part 1 (#2460) * [tests] The container app for watchOS tests should be 64-bit. (#2463) * [xharness] watchOS tests need to run in a clean environment. Works around #58348. (#2462) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [xharness] It watchOS tests don't need to be clean anymore. Fixes #58348. (#2473) https://bugzilla.xamarin.com/show_bug.cgi?id=58348 * [uikit] UIView/UIScrollView/UIViewController up to Xcode 9 beta 5 (#2431) - Add NSDirectionalEdgeInsets type. - Includes DirectionalEdgeInsetsTest. * [AudioToolbox] Update bindings to Xcode 9 beta3 (not later changes). (#2294) * [xharness] Add a file existence check. (#2478) Fixes this exception: ``` Harness exception for 'introspection': System.IO.FileNotFoundException: Could not find file '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log'. File name: '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log' at System.IO.__Error.WinIOError (System.Int32 errorCode, System.String maybeFullPath) [0x00207] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/__error.cs:188 at System.IO.FileInfo.get_Length () [0x00038] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/fileinfo.cs:171 at xharness.CaptureLog.StopCapture () [0x00021] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Log.cs:252 at (wrapper remoting-invoke-with-check) xharness.CaptureLog:StopCapture () at xharness.AppRunner+<RunAsync>d__68.MoveNext () [0x0127f] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/AppRunner.cs:642 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter`1[TResult].GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:357 at xharness.RunSimulatorTask+<RunTestAsync>d__7.MoveNext () [0x0029d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2894 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.RunTestTask+<ExecuteAsync>d__8.MoveNext () [0x0010b] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2538 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113 at xharness.TestTask+<RunInternalAsync>d__87.MoveNext () [0x0010d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:1870 ``` I'm not sure how this can happen, but it has on the bots [1]. [1] https://jenkins.mono-project.com/job/xamarin-macios-pr-builder/4548/Test_Report/ * Bump versions for preview 5 (#2479) * [passkit] Update to beta 5 (#2481) * [tests] Remove workaround for radar #32688391. (#2486) * [replaykit] Update up to beta 5 (#2484) * Bump maccore to get fix for bug #55064. (#2487) * [apidiff] Update definition to new 10.12 (d15-3) stable release (#2490) * [SceneKit] basic work (#2483) * [coredata] Update to beta 5 (#2488) * [homekit] Update for Xcode 9 beta 5 (#2492) * [Foundation] Update for xcode9 (#2468) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 (#2493) * [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 * [Intents] Implement feedback * [Intents] Add a generic version for INInteraction.GetParameterValue * [Intents] Missing check * [Contacts] Add missing foundation NSItemProviderWriting protocol to CNContact (#2496) https://bugzilla.xamarin.com/show_bug.cgi?id=58203 This is available on all Contacts supported platforms ``` ./iPhoneOS.platform/Developer/SDKs/iPhoneOS11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchOS.platform/Developer/SDKs/WatchOS4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ./WatchSimulator.platform/Developer/SDKs/WatchSimulator4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting> ``` * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) (#2497) * [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) * [IntentsUI] Better use a delegate instead so we have named params * Bump versions before 6th preview (#2514) * [arkit] Add missing MarshalDirective to ARPlaneAnchor (#2517) - Fixes bug #58648: ARPlaneAnchor.Extent property seems incorrect but changes to correct value after Debug access (https://bugzilla.xamarin.com/show_bug.cgi?id=58648) * [xtro-sharpie] Fix a compiler warning. (#2516) Fixes these warnings: Runner.cs(197,5): warning CS0642: Possible mistaken empty statement Runner.cs(199,5): warning CS0642: Possible mistaken empty statement Runner.cs(201,5): warning CS0642: Possible mistaken empty statement Runner.cs(203,5): warning CS0642: Possible mistaken empty statement Runner.cs(205,5): warning CS0642: Possible mistaken empty statement * [uikit] Update for Xcode 9 beta 5 - Part 3 (#2511) - UIKeyCommand - UINavigationBar - UINavigationItem - UIPasteboard - UITableViewHeaderFooterView * [xtro-sharpie] Remove xtro-plugin and misc other fixes. (#2522) * [xtro-sharpie] Build with msbuild and be as quiet as requested when building. * [xtro-sharpie] Must run as a 64-bit process, since the required native libraries are 64-bit. * [xtro-sharpie] Add run configurations to the project file to ease debugging in the IDE. * [xtro-sharpie] Remove xtro-plugin and the related commands. This was needed when there wasn't a 64-bit mono, in order to run xtro-sharpie in a 64-bit process. Now there is a 64-bit mono, so it's not needed anymore. Also improve makefile targets a bit, to auto-build stuff when needed, by setting the right dependencies. * Bump Xcode 9 to beta 6 (#2519) Disable watchOS tests again It seems like the Carousel crash from beta 4 is back to haunt us. This was working fine with beta 5. * Backport d15-3 SR2 fixes (#2515) * [coredata] Update to beta 6 (#2528) This seems to only revert some nullability changes from beta 5. * [coreml] Update to beta 6 (#2531) Fix our rdar 33643011 where additional setters were added in the headers but did not exists. * [videosubscriberaccount] Update to beta 6 (#2533) Only b1 and b2 introduced some additions/changes * [uikit] Update for Xcode 9 beta 6 - Part 4 (#2527) The following headers are now up to date: - UICollectionViewFlowLayout.h - UIDocumentPickerViewController.h - UIFontDescriptor.h - UIImage.h - UIImageView.h - UIImagePickerController.h * [xharness] Re-enable the watchOS tests. (#2534) It works fine for me locally, so let's see what Jenkins says. * [macos] Add new APIs in CoreWlan from Xcode9b3 (#2525) * Update AppKit bindings based on radar 33271241 results (#2518) * Update AppKit bindings based on radar 33271241 results - The header comment was updated to note it was NSSliderTouchBarItem view that has the protocol * Remove NSUserInterfaceCompression where not listed in header * [vision] Update to beta 6 (#2532) Removal of some deprecated (during beta) `init*` selectors. Also sync the versions that were inlined in subclasses - the old ones were not removed and the new ones were not added. * [xtro-sharpie] Many methods don't have selectors in Clang's API, so default to the name if no selector. (#2523) This makes a few more unclassified entries show up (mostly missing designated initializers): https://gist.github.com/rolfbjarne/07aa20f9b50b75bf3e69ac6a825e873a * [macos] Add ExternalAccessory APIs from xcode9 (#2526) * [58851] Disable NSMenuView in AllItemsWithNSMenuShouldAllowNull (#2504) * [arkit] Update for Xcode 9 beta 5 - Part 2 (#2505) - Add last missing selector. - Add tests for manual code. * [monotouch-test] Disable FontDescriptorTest.WithFeature (#2537) Disabled because it looks like the tvOS font we use: "Gujarati Sangam MN" does not have rare ligatures anymore (and the entire test is based on it). Before getting an actual fix for that, let's disable the test so it doesn't break all current builds. See: https://bugzilla.xamarin.com/show_bug.cgi?id=58929 * [xtro-sharpie] Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute. (#2524) Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute to calculate the native name for a TypeDefinition. Unclassified changes: https://gist.github.com/rolfbjarne/828f8ee41eebb0a3b60a38d71822fe59 * [foundation/uikit] Inline NSItemProvider_UIKitAdditions in NSItemProvider (#2538) As suggested here: https://github.com/xamarin/xamarin-macios/pull/2527#discussion_r134670981 * [intents] Fix breaking changes (api-diff) (#2543) Additions of @required members inside `INSpeakable` cannot be `[Abstract]` * [contacts] Fix breaking change (api-diff) (#2542) Type Changed: Contacts.CNPostalAddress Removed method: public static string LocalizeProperty (CNPostalAddressKeyOption option); * [macos] Reenable static registrar since Xcode9b6 un-broke SDK headers (#2544) - Fix a subtle spacing issues in PartialStaticLibrary property * [corebluetooth] Update up to beta 6 and enable it on watchOS (#2540) macOS 10.13 has finally catch up with iOS and this simplifies the bindings a bit. * [foundation] API fixes (apidiff) (#2545) 1. Let's not add new, already [Obsolete] API Type Changed: Foundation.NSDimension Added constructors: [Obsolete ("Not intended to be directly instantiated, this is an abstract class.")] public NSDimension (); 2. Fix inconsistently named API, e.g. Type Changed: Foundation.NSAttributedString Added properties: public static string[] ReadableTypeIdentifiersForItemProvider { get; } public static string[] WritableTypeIdentifiers { get; } * [pdfkit] Do not add already [Obsolete] API in new profiles (#2547) and ensure using the newer, correct API works cross-platforms iOS (before) [Obsolete ("Use 'Find (string, NSStringCompareOptions)' instead.")] public virtual PdfSelection[] Find (string text, nint options); public PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'Find (string, PdfSelection, NSStringCompareOptions)' instead.")] public virtual PdfSelection Find (string text, PdfSelection selection, nint options); public void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string, NSStringCompareOptions)' instead.")] public virtual void FindAsync (string text, nint options); public void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); [Obsolete ("Use 'FindAsync (string [], NSStringCompareOptions)' instead.")] public virtual void FindAsync (string[] text, nint options); iOS (after) public virtual PdfSelection[] Find (string text, Foundation.NSStringCompareOptions compareOptions); public virtual PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions); public virtual void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions); * Bump versions for the 7th preview (#2541) * Remove additions of AVKit removed in beta5 (#2536) * NSUrlSessionTask should implement NSProgressReporting for iOS (#2548) NSUrlSessionTask implements NSProgressReporting on iOS as well as Mac, so the #if MONOMAC isn't needed. * Add missing availability attributes causing failures on older iOS versions (#2550) * [vision] Minor fix wrt xtro (#2551) including some things we need to ignore manually !missing-field! VNVisionVersionNumber not bound !missing-pinvoke! VNImagePointForFaceLandmarkPoint is not bound !missing-pinvoke! VNNormalizedFaceBoundingBoxPointForLandmarkPoint is not bound * [uikit] NSFileProviderMessaging was removed in beta 2. Fixes #58222 (#2552) reference: https://bugzilla.xamarin.com/show_bug.cgi?id=58222 * [uikit] Update for Xcode 9 - Part 5 (#2546) Bindings for the following headers: - UIActivity.h - UIActivityItemProvider.h - UIAlertController.h - UIApplication.h - UIBarButtonItem.h - UIButton.h - UICollectionViewLayout.h - UIColor.h - UIControl.h - UIDocumentMenuViewController.h - UIFontMetrics.h - UIGestureRecognizer.h - UIGraphicsImageRenderer.h - UIInputViewController.h * [CoreText] Fix an extraneous free in CTFont.GetDefaultCascadeList. (#2555) We do not own the return value from CFArrayGetValueAtIndex, so don't say we do when creating CTFontDescriptor instances, since that leads to angry dragons: 2017-08-28 20:15:20.293 monotouchtest[33186:2311738] A_FontTest 2017-08-28 20:15:20.294 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithFontDescriptorAndOptions 2017-08-28 20:15:20.295 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithNameAndOptions 2017-08-28 20:15:20.296 monotouchtest[33186:2311738] critical: Stacktrace: at <unknown> <0xffffffff> at (wrapper managed-to-native) CoreText.CTFont.CTFontCopyDefaultCascadeListForLanguages (intptr,intptr) [0x0000a] in <ae65a2b1eea242d2b68fe784749543bf>:0 at CoreText.CTFont.GetDefaultCascadeList (string[]) [0x00013] in /work/maccore/xcode9/xamarin-macios/src/CoreText/CTFont.cs:2185 at MonoTouchFixtures.CoreText.A_FontTest.GetCascadeList () [0x0001e] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/CoreText/FontTest.cs:78 at (wrapper runtime-invoke) object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) [0x0004f] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) System.Reflection.MonoMethod.InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&) [0x00016] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0 at System.Reflection.MonoMethod.Invoke (object,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo) [0x00032] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/corlib/System.Reflection/MonoMethod.cs:305 at System.Reflection.MethodBase.Invoke (object,object[]) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/referencesource/mscorlib/system/reflection/methodbase.cs:229 at NUnit.Framework.Internal.Reflect.InvokeMethod (System.Reflection.MethodInfo,object,object[]) [0x00009] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Reflect.cs:215 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunNonAsyncTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x00025] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:116 at NUnit.Framework.Internal.Commands.TestMethodCommand.RunTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x0001a] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:90 at NUnit.Framework.Internal.Commands.TestMethodCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:66 at NUnit.Framework.Internal.Commands.SetUpTearDownCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00007] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/SetUpTearDownCommand.cs:84 at NUnit.Framework.Internal.WorkItems.SimpleWorkItem.PerformWork () [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/SimpleWorkItem.cs:64 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154 at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93 at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196 at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136 at MonoTouch.NUnit.UI.BaseTouchRunner.Run (NUnit.Framework.Internal.Test) [0x0004d] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:442 at MonoTouch.NUnit.UI.BaseTouchRunner.Run () [0x00030] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:171 at MonoTouch.Dialog.StringElement.Selected (MonoTouch.Dialog.DialogViewController,UIKit.UITableView,Foundation.NSIndexPath) [0x00008] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/Elements.cs:765 at MonoTouch.Dialog.DialogViewController.Selected (Foundation.NSIndexPath) [0x00026] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:577 at MonoTouch.Dialog.DialogViewController/Source.RowSelected (UIKit.UITableView,Foundation.NSIndexPath) [0x00016] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:402 at (wrapper runtime-invoke) <Module>.runtime_invoke_void__this___object_object (object,intptr,intptr,intptr) [0x0005d] in <32f0c196c5bc4aa18daea2ee64a7814e>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) UIKit.UIApplication.UIApplicationMain (int,string[],intptr,intptr) [0x0005c] in <ae65a2b1eea242d2b68fe784749543bf>:0 at UIKit.UIApplication.Main (string[],intptr,intptr) [0x00005] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:79 at UIKit.UIApplication.Main (string[],string,string) [0x00038] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:63 at monotouchtest.Application.Main (string[]) [0x00011] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/Main.cs:27 at (wrapper runtime-invoke) <Module>.runtime_invoke_void_object (object,intptr,intptr,intptr) [0x00051] in <30a7f7e09de9467b8b454221034a0e38>:0 Native stacktrace: 0 monotouchtest 0x000000010fca03c4 mono_handle_native_crash + 244 1 monotouchtest 0x000000010fcadd30 mono_sigsegv_signal_handler + 288 2 libsystem_platform.dylib 0x000000011feb3b3a _sigtramp + 26 3 CoreFoundation 0x000000011de035a2 computeSanitizedString + 146 4 CoreText 0x00000001168df314 _ZN15TPurgeableCache19RetainedValueForKeyEPKv + 54 5 CoreText 0x00000001168def85 _ZNK17TDescriptorSource22CopyDescriptorUncachedEPK7__CFURLbPK10__CFString + 55 6 CoreText 0x00000001168df34f _ZNK17TDescriptorSource14CopyDescriptorEPK7__CFURLbPK10__CFString + 27 7 CoreText 0x00000001168e20ad _ZNK17TDescriptorSource35CopyFontDescriptorPerPostScriptNameEPK10__CFStringmm + 297 8 CoreText 0x00000001168dfd9e _ZNK17TDescriptorSource30CopySystemFontDescriptorByNameEPK10__CFString10UIFontFlag + 54 9 CoreText 0x00000001168e54c4 _ZNK14TFontFallbacks17CopyFontFallbacksEPK10__CFStringS2_PK9__CFArray + 652 10 CoreText 0x00000001168e4a00 _ZNK14TFontFallbacks29CopyFontFallbacksForLanguagesEPK10__CFStringPK9__CFArray + 122 11 CoreText 0x00000001168e4971 _ZN17TDescriptorSource39CopyDefaultSubstitutionListForLanguagesEPK10__CFStringPK9__CFArray + 61 12 CoreText 0x00000001169397a7 _ZNK9TBaseFont28CreateSystemDefaultFallbacksEPK10__CFStringPK9__CFArray + 51 13 CoreText 0x000000011693999c _ZNK9TBaseFont15CreateFallbacksE10UIFontFlagPPK16__CFCharacterSetPK9__CFArray + 346 14 CoreText 0x00000001168c1036 _ZNK5TFont24CreateDefaultCascadeListEPK9__CFArray + 242 15 CoreText 0x00000001168b8ff9 CTFontCopyDefaultCascadeListForLanguages + 97 16 ??? 0x0000000140eaefd3 0x0 + 5384105939 17 ??? 0x0000000140eae761 0x0 + 5384103777 18 ??? 0x000000013c9c8e74 0x0 + 5311860340 19 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 20 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 21 monotouchtest 0x000000010fd71bac mono_runtime_try_invoke_array + 1292 22 monotouchtest 0x000000010fd15587 ves_icall_InternalInvoke + 647 23 ??? 0x000000013e9fcd13 0x0 + 5345627411 24 ??? 0x000000013e9fc738 0x0 + 5345625912 25 ??? 0x000000013e9fded5 0x0 + 5345631957 26 ??? 0x000000013e9fbb76 0x0 + 5345622902 27 ??? 0x000000013e9e237e 0x0 + 5345518462 28 ??? 0x000000013e9e237e 0x0 + 5345518462 29 ??? 0x000000013e9e237e 0x0 + 5345518462 30 ??? 0x000000013e9e237e 0x0 + 5345518462 31 ??? 0x000000013e873006 0x0 + 5344014342 32 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273 33 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88 34 monotouchtest 0x000000010fd6e320 mono_runtime_invoke + 208 35 monotouchtest 0x000000010fe71af1 xamarin_invoke_trampoline + 5617 36 monotouchtest 0x000000010fe79ddd xamarin_arch_trampoline + 189 37 monotouchtest 0x000000010fe7b1a1 xamarin_x86_64_common_trampoline + 110 38 UIKit 0x0000000111b9876b -[UITableView _selectRowAtIndexPath:animated:scrollPosition:notifyDelegate:] + 1810 39 UIKit 0x0000000111b98986 -[UITableView _userSelectRowAtPendingSelectionIndexPath:] + 344 40 UIKit 0x0000000111a6b5c9 _runAfterCACommitDeferredBlocks + 318 41 UIKit 0x0000000111a59dad _cleanUpAfterCAFlushAndRunDeferredBlocks + 280 42 UIKit 0x0000000111a89f68 _afterCACommitHandler + 137 43 CoreFoundation 0x000000011de3ddb7 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23 44 CoreFoundation 0x000000011de3dd0e __CFRunLoopDoObservers + 430 45 CoreFoundation 0x000000011de22324 __CFRunLoopRun + 1572 46 CoreFoundation 0x000000011de21a89 CFRunLoopRunSpecific + 409 47 GraphicsServices 0x0000000121b7e9c6 GSEventRunModal + 62 48 UIKit 0x0000000111a5f7d0 UIApplicationMain + 159 49 ??? 0x000000013c9c4474 0x0 + 5311841396 50 ??? 0x000000013c9c40ad 0x0 + 5311840429 ================================================================= Got a SIGSEGV while executing native code. This usually indicates a fatal error in the mono runtime or one of the native libraries used by your application. ================================================================= * [monotouch-test] Don't subclass MKMapView. (#2556) MKMapView doesn't like being subclassed (Apple says "you should not subclass the MKMapView class itself"). Bad things like this starts happening: Thread 0 name: tid_303 Dispatch queue: com.apple.main-thread Thread 0 Crashed: 0 libsystem_kernel.dylib 0x0000000186b25348 __pthread_kill + 8 1 libsystem_pthread.dylib 0x0000000186c39354 pthread_kill$VARIANT$mp + 396 2 libsystem_c.dylib 0x0000000186a94fd8 abort + 140 3 monotouchtest 0x0000000101c02c14 mono_handle_native_crash + 22047764 (mini-exceptions.c:2548) 4 monotouchtest 0x0000000101c0d02c mono_sigsegv_signal_handler + 22089772 (mini-runtime.c:2886) 5 libsystem_platform.dylib 0x0000000186c33b60 _sigtramp + 52 6 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 7 CoreFoundation 0x0000000186f93108 cow_cleanup + 112 8 CoreFoundation 0x0000000186eda51c -[__NSArrayM dealloc] + 68 9 CoreFoundation 0x000000018703f5c8 __CFBasicHashDrain + 312 10 CoreFoundation 0x0000000186fb5b44 _CFRelease + 224 11 CoreText 0x000000018a808404 TDescriptorSource::PurgeFontFallbacksCache+ 488452 () + 92 12 CoreText 0x000000018a808374 TDescriptorSource::PurgeFromCaches+ 488308 (__CFURL const*) const + 176 13 CoreText 0x000000018a7eec74 CTFontRemoveFromCaches + 168 14 VectorKit 0x0000000196a539b0 +[VKSharedResourcesManager removeResourceUser:] + 324 15 VectorKit 0x0000000196ca27a4 md::MapEngine::~MapEngine+ 2643876 () + 360 16 VectorKit 0x0000000196ca2634 md::MapEngine::~MapEngine+ 2643508 () + 12 17 libobjc.A.dylib 0x000000018651eef4 object_cxxDestructFromClass+ 28404 (objc_object*, objc_class*) + 148 18 libobjc.A.dylib 0x000000018652c638 objc_destructInstance + 88 19 libobjc.A.dylib 0x000000018652c690 object_dispose + 16 20 QuartzCore 0x000000018afca3ac -[CALayer dealloc] + 116 21 VectorKit 0x0000000196a43294 -[VKMapView dealloc] + 940 22 QuartzCore 0x000000018af6aafc CA::release_objects+ 744188 (X::List<void const*>*) + 32 23 QuartzCore 0x000000018afd97d8 CA::Layer::~Layer+ 1198040 () + 276 24 QuartzCore 0x000000018afca37c -[CALayer dealloc] + 68 25 QuartzCore 0x000000018af6b16c CA::Transaction::commit+ 745836 () + 1052 26 UIKit 0x0000000190393290 _afterCACommitHandler + 256 27 CoreFoundation 0x0000000186fb38b8 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 32 28 CoreFoundation 0x0000000186fb1270 __CFRunLoopDoObservers + 412 29 CoreFoundation 0x0000000186fb182c __CFRunLoopRun + 1292 30 CoreFoundation 0x0000000186ed22d8 CFRunLoopRunSpecific + 436 31 GraphicsServices 0x0000000188d58f84 GSEventRunModal + 100 32 UIKit 0x000000019040427c UIApplicationMain + 208 33 monotouchtest 0x000000010106eb90 wrapper_managed_to_native_UIKit_UIApplication_UIApplicationMain_int_string___intptr_intptr + 9907088 (/<unknown>:1) 34 monotouchtest 0x0000000100f0d6ac UIKit_UIApplication_Main_string___intptr_intptr + 8459948 (UIApplication.cs:79) 35 monotouchtest 0x0000000100f0d66c UIKit_UIApplication_Main_string___string_string + 8459884 (UIApplication.cs:63) 36 monotouchtest 0x0000000100b10450 monotouchtest_Application_Main_string__ + 4277328 (Main.cs:27) 37 monotouchtest 0x0000000100e0c244 wrapper_runtime_invoke_object_runtime_invoke_dynamic_intptr_intptr_intptr_intptr + 244 38 monotouchtest 0x0000000101c10048 mono_jit_runtime_invoke + 22102088 (mini-runtime.c:2526) 39 monotouchtest 0x0000000101c75eec do_runtime_invoke + 22519532 (object.c:2829) 40 monotouchtest 0x0000000101c78a3c do_exec_main_checked + 22530620 (object.c:4623) 41 monotouchtest 0x0000000101bf9a1c mono_jit_exec + 22010396 (driver.g.c:1040) 42 monotouchtest 0x0000000101d13d60 xamarin_main + 23166304 (monotouch-main.m:482) 43 monotouchtest 0x00000001007de710 main + 927504 (main.m:67) 44 libdyld.dylib 0x00000001869f656c start + 4 * [introspection] Let SkipDueToAttributeInProperty skip setters too (#2557) `SkipDueToAttributeInProperty` which is used to check the availability attribute of properties when the Availability info only exist on the property and not on the property Getter or Setter was wrong. This lead to `setSpringLoaded` (which was introduced in iOS 11) to not be ignored by the test (making it fail). - Fix bug #59085: [introspection-ios] selector not found for UIKit.UIBarButtonItem : setSpringLoaded: - Broken test (https://bugzilla.xamarin.com/show_bug.cgi?id=59085) * [corevideo][watchos] Enable CoreVideo on watchOS (#2553) * [storekit] Fix CampaignToken typo (#2559) (#2560) - Fixes bug #59078: StoreProductParameters and invalid property for CampaignToken (https://bugzilla.xamarin.com/show_bug.cgi?id=59078) * [coreml][watchos] Enable API using CoreVideo on watchOS. Fix #58097 (#2561) https://bugzilla.xamarin.com/show_bug.cgi?id=58097 * Add missing [MarshalDirective] attributes. (#2558) * [bindings-generator] Improve build & project file. * Add missing [MarshalDirective] attributes. Add missing [MarshalDirective] attributes, which also requires implementing support for out parameters in the binding generator, since one of the signatures missing the [MarshalDirective] contains such an out parameter. Also add tests for all the API I've added [MarshalDirective] to. * [bindings-generator] Remove redundant if check. * [monotouch-test] Rename file to end with 'Test.cs'. * [tests] Fix a few build errors for Xamarin.Mac. * [uikit] Fix UIColor and UIInputViewController tvOS availability (#2569) - Fixes introspection tests on tvOS 10. * [storekit] Fix SKCloudServiceSetupMessageIdentifier and SKProductStorePromotionController tvOS availability (#2568) - Fixes introspection tests on tvOS 10. * [mapkit] Fix MKMapItemTypeIdentifier tvOS availability (#2566) - Also remove double [Mac] availability attribute. - Fixes introspection tests on tvOS 10. * [ARKit] Fix marshalling for ARPointCloud.RawFeaturePoints. (#2565) ARPointCloud.RawFeaturePoints is an array of Vector3, but each vector is 16-byte aligned (as if it were an array of Vector4). This means we need to account for this when creating a managed array from pointer to the native C-style array. * [ModelIO] Fix MDLVoxelIndexExtent struct. (#2564) The MDLVoxelIndexExtent is a struct containing two 4-dimensional vectors of integers (not floats, as originally and incorrectly implemented). Fix this my creating a new MDLVoxelIndexExtent2 struct with the right fields, re-implement all the API that exposes this struct and obsolete the old API. Also add missing [MarshalDirective] attributes. And write a test to make sure it works fine now and forever. * [coredata] Enable new fields since rdar #33878590 is fixed w/beta 6 (#2570) reference: https://trello.com/c/dlSRYPFx * [xtro-sharpie] Add a Simd check class to verify signatures with Simd types. * [Simd] Add simd matrix types. The OpenTK matrices (Matrix2/3/4) has a different memory layout than Apple's matrix_float2x2/matrix_float3x3/matrix_float4x4 matrices: the OpenTK versions are row-major, while Apple's versions are column-major. This means that when blitting memory from one to the other, the matrix will appear to have been transposed. See bug #[58599][2] for an example. Unfortunately we've already bound several API with Apple's matrix_floatXxX matrices using OpenTK's matrices, and although they're bound wrong, and the matrices appear transposed on input/output, we can't change the behavior because we have to maintain compatibility. This means we have to introduce new API, and then also just define new matrix types with the right memory layout (column-major). Additionally, in the future we might be able to mark these matrices as Simd-matrixes, so that the JIT/AOT compiler can generate the correct alignment for them, avoiding having to define a native conversion method (using the [MarshalDirective] hack). The matrices have been designed to match API-wise the matrices in the System.Numerics.Vectors namespace [1], but for the moment with only a few basic operations implemented (Determinant/Transpose/Multiply) defined (we can always add more later if we want to). In addition explicit conversion operators to and from the corresponding OpenTK.MatrixX are implemented, which means any operation defined in the OpenTK matrices can be used by converting back and forth. [1]: https://msdn.microsoft.com/en-us/library/system.numerics.matrix4x4(v=vs.111).aspx [2]: https://bugzilla.xamarin.com/show_bug.cgi?id=58599 * [ARKit] Use the new Simd matrix types. * [Vision] Use the new Simd matrix types. * [ModelIO] Use the new Simd-compatible matrix types, and deprecate the old API. * [GameplayKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [SpriteKit] Use the new Simd-compatible matrix types, and deprecate the old API. * [xtro] Don't report missing [MarshalDirective] for obsolete methods. * [xtro] Remove unnecessary ignores. The implementation changed, and these stayed accidentally. * [wkwebkit] Fix (native) protocol names (#2572) Also ignore xtro's WKSnapshotConfiguration since it's an Apple bug 34185961 reference (xtro) !missing-protocol! WKURLSchemeHandler not bound !missing-protocol! WKURLSchemeTask not bound !unknown-protocol! WKUrlSchemeHandler bound !unknown-protocol! WKUrlSchemeTask bound !unknown-type! WKSnapshotConfiguration bound * [uikit] Fix enums availability attributes (#2575) - Fixes bug #59132: [uikit] Extra types in watchOS (https://bugzilla.xamarin.com/show_bug.cgi?id=59132) * [watchkit] Add missing designated initializers (#2574) references (xtro) !missing-designated-initializer! WKInterfaceController::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! WKUserNotificationInterfaceController::init is missing an [DesignatedInitializer] attribute * [xtro] Reword some of the Simd diagnostic messages according to review. * [tests] Make sure test symbols don't clash between different test libraries. Fixes this build problem for framework-test: clang: error: linker command failed with exit code 1 (use -v to see invocation) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_get_rotation_matrix'. MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticObjectTest.framework/XStaticObjectTest (Location related to previous error) MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticArTest.framework/XStaticArTest(libtest-ar.x86_64.o) (Location related to previous error) MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransformcomponent_get_local_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_create_global_transform'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float4x4'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float3x3'. MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float2x2'. MTOUCH: error MT5209: Native linking error: 6 duplicate symbols for architecture x86_64 MTOUCH: error MT5202: Native linking failed. Please review the build log. * [tests] Since libtest.a need ModelIO now, the corresponding LinkWith attributes need to state that too. * [introspection] Don't check native signatures on obsolete members, and ignore the right simd matrix types. Fixes this introspection/Mac problem: ***** ApiSignatureTest.NativeSignatures Selector: uniformWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: uniformWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: uniformWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: setMatrixFloat2x2Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: setMatrixFloat3x3Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: setMatrixFloat4x4Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded Selector: initWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded Selector: initWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded Selector: initWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded * [monotouch-tests] Include more custom asserts for watchOS to make the build work. Fixes this: Simd/MatrixFloat4x4Test.cs(28,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(29,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(37,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' Simd/MatrixFloat4x4Test.cs(48,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual' [...] * [monotouch-test] Exclude code that requires the binding project from xammac tests. Exclude code that requires the test binding project from xammac tests because there's currently no XM version of the test binding project. Fixes this: tests/monotouch-test/SpriteKit/UniformTest.cs(20,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLMaterialProperty.cs(37,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) tests/monotouch-test/ModelIO/MDLTransform.cs(34,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?) * Bump version for preview #8 (#2576) * [spritekit] Audit fixes (xtro) (#2577) 1. SKVideoNode is now, partially, available on watchOS and does not require the extra, manual code to swicth selectors depending on the OS version being run. !missing-type! SKVideoNode not bound !missing-selector! SKVideoNode::anchorPoint not bound !missing-selector! SKVideoNode::initWithCoder: not bound !missing-selector! SKVideoNode::initWithFileNamed: not bound !missing-selector! SKVideoNode::initWithURL: not bound !missing-selector! SKVideoNode::setAnchorPoint: not bound !missing-selector! SKVideoNode::setSize: not bound !missing-selector! SKVideoNode::size not bound !missing-selector! +SKVideoNode::videoNodeWithFileNamed: not bound !missing-selector! +SKVideoNode::videoNodeWithURL: not bound 2. SKNodeFocusBehavior is exposed needlessly on watchOS because SpriteKit/Enums.cs was not processed by the generator, so [NoWatch] did not matter. !unknown-native-enum! SKNodeFocusBehavior bound It's also visible on macOS but nothing uses it (so we do not expose it needlessly) !missing-enum! SKNodeFocusBehavior not bound 3. Add missing designated initializer on default `init` !missing-designated-initializer! SKAttributeValue::init is missing an [DesignatedInitializer] attribute !missing-designated-initializer! SKNode::init is missing an [DesignatedInitializer] attribute 4. Remove inconsistency for SKNode subclasses wrt XAMCORE_4_0 The trio attributeValues, setAttributeValues and setValue:forAttributeNamed: that was moved from SKNode (deprecated) into its subclasses. This was done using XAMCORE_4_0 but not on every subclasses. This adds them everywhere to be consistent (only SKNode versions are not defined in XAMCORE_4_0) !missing-selector! SKEffectNode::attributeValues not bound !missing-selector! SKEffectNode::setAttributeValues: not bound !missing-selector! SKEffectNode::setValue:forAttributeNamed: not bound !missing-selector! SKEffectNode::valueForAttributeNamed: not bound !missing-selector! SKEmitterNode::attributeValues not bound !missing-selector! SKEmitterNode::setAttributeValues: not bound !missing-selector! SKEmitterNode::setValue:forAttributeNamed: not bound !missing-selector! SKEmitterNode::valueForAttributeNamed: not bound !missing-selector! SKSpriteNode::attributeValues not bound !missing-selector! SKSpriteNode::setAttributeValues: not bound !missing-selector! SKSpriteNode::setValue:forAttributeNamed: not bound !missing-selector! SKSpriteNode::valueForAttributeNamed: not bound * [introspection] Make sure '[FAIL]' is printed before every failure. (#2578) This makes xharness able to list the failures in the inline summary. * [xtro] Reword some of the Simd diagnostic messages according to review. * [xharness] Add a missing IsServerMode check to generate correct html. (#2581) * [SpriteKit] SKTransformNode is new in Xcode 9 so no need to keep the broken (and obsolete) non-simd version of RotationMatrix. * [intents] Fix some (partial) xtro issues and #59156 (#2585) reference https://bugzilla.xamarin.com/show_bug.cgi?id=59156 Remaining issues are filled in https://bugzilla.xamarin.com/show_bug.cgi?id=59183 !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound * [Intents] Confirm* interface methods should be bound as Confirm, Fixes Bug 59164 (#2591) * [Intents] Confirm* interface methods should probably be bound as Confirm, Fixes Bug 59164 https://bugzilla.xamarin.com/show_bug.cgi?id=59164 All Confirm* methods from *IntentHandling interfaces should be named just `Confirm` to avoid confusion because most of them do not directly confirm as an acion, but instead they **ask** for confirmation also we would follow swift's naming by doing this. * [Intents] XAMCORE_4_0 all Confirm* methods from *IntentHandling Turns any Confirm* into just Confirm inside a XAMCORE_4_0 block, * [Intents] Fix breaking changes in Intents added in Xcode 9 Bindings (#2590) Apple added more protocol conformances to INRidesharingDomainHandling and INPaymentsDomainHandling protocols in Xcode 9, I introduced these breaking changes back when I did intents binding so fixing them :) * [Metal] New bindings from Xcode 9 betas (#2457) * [AVFoundation] Updated bindings for xcode9. (#2272) * [Xcode9] Add IOSurface bindings (#2363) * This framework was a private framework before iOS 11. This framework was a private framework before iOS 11, yet the headers claim many API were introduced in iOS 10. So take account of this difference by using the private framework location in iOS 10.3 or earlier. Testing these API from Xcode works fine when run on an iOS 10.3 device, and I've confirmed the IOSurface framework is loaded from the private frameworks path on older devices (and when built using Xcode 9 and linked with the public framework path). * Disable code to make IOSurface work on iOS 10. Disable the code to make IOSurface work on iOS 10, since it may be rejected by the App Store. This also means adjusting the availability attributes, so that the introspection tests pass (and to document that technically these API won't work when used with Xamarin.iOS in iOS 10). I've filed bug #[59201][1] to keep track of this, maybe we can re-enable this later. [1]: https://bugzilla.xamarin.com/show_bug.cgi?id=59201 * [CoreMedia] Fix leak in CMAttachmentBearer.GetAttachments. (#2593) The caller owns the return value from CMCopyDictionaryOfAttachments, so tell Runtime.GetNSObject that. * [Intents] Adds missing API found by xtro, fixes Bug 59183 (#2596) https://bugzilla.xamarin.com/show_bug.cgi?id=59183 Fixes !missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound !missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound !missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound !incorrect-protocol-member! INUIHostedViewControlling::configureWithInteraction:context:completion: is OPTIONAL and should NOT be abstract * [xtro] Fix StartWorkingDirectory to enable debugging (#2598) * [iosurface] Enable for tvOS and XM classic (to avoid multiple defines around consumer API) (#2597) * [xtro] Fix EnumCheck (#2600) * [ARKit] Rename a few method to make them nicer. (#2604) * DisplayTransform -> GetDisplayTransform since methods should have verbs. * SessionWasInterrupted -> WasInterrupted and SessionInterruptionEnded -> InterruptionEnded since these names match better with the other names (CameraDidChangeTrackingState / DidFail / DidOutputAudioSampleBuffer: none are prefixed with 'Session'). Additionally, the type is a Model (for the delegate pattern), which means all methods are more-or-less event-like, and the first argument is always the same (the protocol itself), which is another indicator the methods should be named similarly. * [Foundation] Remove 'Key' suffix from some fields. (#2606) Of the 168 fields in NSMetadataItem, only these 5 hadn't removed the 'Key' suffix. So make them all equivalent by removing the 'Key' suffix from these 5 fields. * [ImageIO] Fix API to not duplicate the instance in instance methods. (#2609) An instance method does not need to take the instance as a parameter, so remove the first (instance) parameter for CGImageDestination.AddAuxiliaryDataInfo and CGImageSource.CopyAuxiliaryDataInfo. An alternative solution would be to make the methods static, but I like the instance API better. * [UIKit] De-model UIDataSourceTranslating. (#2603) It's not clear from neither the documentation nor the headers how this protocol is supposed to be used, and since it doesn't correspond to the delegate pattern, remove the [Model] attribute for now. We can always add it back later. * [CoreML] Improve API. (#2592) * [CoreML] Improve API. * The indices, shape and stride properties for MLMultiArray and MLMultiArrayConstraint can logically only be arrays of integers, so type them as such. This means adding overloads for MLMultiArray's constructors, GetObject and SetObject methods, and the indexers that takes nint[] arrays instead of NSNumber[] arrays. * Change MLFeatureValue's static factory methods to be a method ('Create') instead of a preposition, and call all the different factory methods the same, since they can be overloaded nicely. * [tests][monotouch-test] Add version check to MLMultiArrayTest and make sure the arrays we create are big enough for the data we put in them. * [tests][monotouch-test] MLMultiArray's elements aren't zero-initialized, so don't assume that in the tests. * Support overloading Objective-C methods based on static/instance. (#2607) Two Objective-C methods can be named identically as long as one is static and the other instance. We must support this since Apple did just this (in the NSItemProviderReading / NSItemProviderWriting protocols). We solve it by prepending a '+' or '-' to the selector when hashing it (to determine selector uniqueness, and to look the method up again at runtime). * [uikit] Update for Xcode 9 - Part 6 (#2602) NSAttributedString.h NSFileProviderExtension.h NSLayoutAnchor.h UIAccessibility.h UIAccessibilityAdditions.h UIAccessibilityContainer.h UIAccessibilityContentSizeCategoryImageAdjusting.h UIAccessibilityCustomRotor.h UIAccessibilityLocationDescriptor.h UITabBar.h UINavigationBar.h UIScreen.h * Xcode9 scenekit (#2512) * [SceneKit] basic work * Added key * [xcode9] SCNCameraController * [xcode9] SCNCamera updates * [xcode9] SCNMaterial * [xcode9] SCNGeometryTessellator, SCNCameraControlConfiguration, SCNView, small bits * Add trailing commas to last enum value * Remove whitespace noise * [scenekit] Update deprecated attributes messages * Addresses some of Rolf's feedback * Drop the WeakDelegate in SCNCameraController * Rename method to Render, remove ctor from class that can not be constructed in Palygrounds, add typo exception * [AppKit] Rename NSBezierPath.AppendBezierPathWithCGGlyph to match its sibling methods. (#2605) NSBezierPath contains a lot of 'AppendPathWithXXX' methods, that all map to 'appendBezierPathXXX' selectors. So rename AppendBezierPathWithCGGlyph accordingly, to make it more similar to the other methods in the same type. * [uikit] Add all UISpringLoadedInteractionSupporting (#2616) Types do not conform to the protocol but protocol methods work on those types (see monotouch-test). Fixed introspection tests accordingly and tested the selectors in monotouch-test. * [Intents] Add convenience ctor overload and call correct base ctor in manual ctor. (#2613) Add a convenience constructor overload in INGetUserCurrentRestaurantReservationBookingsIntent that uses nint instead of NSNumber, since logically "number of results" will always be some sort of integer. Also call the correct base constructor in INSpeakableString's custom constructor (same as any other generated constructor). Otherwise we end up doing something like this: [[[INSpeakableString alloc] init] initWith ...], i.e. calling two different init methods. * [coreimage] Add new headers API up to beta 6 (#2601) Filters are not complete (ref: #57350) https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * Some new constants are not yet documented (type is known), so they are commented / ignored https://bugzilla.xamarin.com/show_bug.cgi?id=59296 * Filled bug for [Wrap] inside [Category] so strong dictionary helpers can be re-enabled later https://bugzilla.xamarin.com/show_bug.cgi?id=59294 * [foundation] xtro fixes for watchOS (#2586) !missing-enum! NSProcessInfoThermalState not bound !missing-field! NSProcessInfoThermalStateDidChangeNotification not bound !missing-selector! NSProcessInfo::thermalState not bound Headers are wrong and preferredPresentationStyle is not in tvOS and watchOS !missing-selector! NSItemProvider::preferredPresentationStyle not bound !missing-selector! NSItemProvider::setPreferredPresentationStyle: not bound * [uikit] Also remove UIPreferredPresentationStyle enum from platform where it's not used * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. (#2614) * [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. * NSItemProviderWriting: * NSItemProviderReading: Implement correctly and completely by uncommenting commented out code. * NSMutableString: * NSAttributedString: remove inlined members, since these classes don't implement NSItemProviderReading / NSItemProviderWriting (according to the headers at least). * NSUrl: all platforms now seem to implement NSItemProviderReading / NSItemProviderWriting. * NSString: all platforms now seem to implement both NSItemProviderReading and NSItemProviderWriting * UIColor: * UIImage: Update inlined protocol members according to the latest beta. Additionally, due to the following conditions: * The protocols all have the correct members now. * In the API definition we tell the generator to inline members from a protocol by inheriting from the corresponding interface. * The generator doesn't inline static members from protocols. several 'new' keywords had to be added to silence a compiler warning that occurrs when we manually inline a static member, since the member would be included in the type both from the inherited interface and the manual implementation. * [Foundation] Comment out NSItemProviderWriting.GetItemProviderVisibility to avoid inlining/generating unusable methods. NSItemProviderWriting.GetItemProviderVisibility is an optional method, and none of the native classes that implements NSItemProviderWriting actually imlements the method. This means inlining the method in those classes ends up creating unusable API; so just comment out the method to avoid generating the unusable API. The introspection tests found this: [FAIL] Foundation.NSString : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Foundation.NSUrl : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] Contacts.CNContact : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] MapKit.MKMapItem : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIColor : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] UIKit.UIImage : itemProviderVisibilityForRepresentationWithTypeIdentifier: [FAIL] iOSApiSelectorTest.ApiSelectorTest.StaticMethods : 6 errors found in 2348 static selector validated: See also https://bugzilla.xamarin.com/show_bug.cgi?id=59308 * [iosurface] Add missing [TV] attributes (#2619) * [opengles] Enable the new API using IOSurface (#2618) The symbol only exists inside device libraries, not on simulator, and the introspection tests were updated to ignore it. Part of https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [avfoundation][watchos] Enable AudioBufferList (fix #59145) + audit (xtro) (#2617) 1. AudioBufferList is part of CoreAudio (wrong namespace, which needs a few changes in the generator) and now available in watchOS 4 https://bugzilla.xamarin.com/show_bug.cgi?id=59145 2. Also fixes xtro found issues: !missing-type! AVAudioRecorder not bound !missing-selector! AVAudioRecorder::averagePowerForChannel: not bound !missing-selector! AVAudioRecorder::channelAssignments not bound !missing-selector! AVAudioRecorder::currentTime not bound !missing-selector! AVAudioRecorder::delegate not bound !missing-selector! AVAudioRecorder::deviceCurrentTime not bound !missing-selector! AVAudioRecorder::format not bound !missing-selector! AVAudioRecorder::initWithURL:format:error: not bound !missing-selector! AVAudioRecorder::initWithURL:settings:error: not bound !missing-selector! AVAudioRecorder::isMeteringEnabled not bound !missing-selector! AVAudioRecorder::isRecording not bound !missing-selector! AVAudioRecorder::peakPowerForChannel: not bound !missing-selector! AVAudioRecorder::recordAtTime: not bound !missing-selector! AVAudioRecorder::recordAtTime:forDuration: not bound !missing-selector! AVAudioRecorder::recordForDuration: not bound !missing-selector! AVAudioRecorder::setChannelAssignments: not bound !missing-selector! AVAudioRecorder::setDelegate: not bound !missing-selector! AVAudioRecorder::setMeteringEnabled: not bound !missing-selector! AVAudioRecorder::settings not bound !missing-selector! AVAudioRecorder::url not bound !missing-protocol! AVAudioRecorderDelegate not bound !missing-selector! AVAudioEngine::inputNode not bound !missing-selector! AVAudioEngine::manualRenderingBlock not bound !missing-selector! AVAudioInputNode::setManualRenderingInputPCMFormat:inputBlock: not bound !missing-selector! AVAudioPlayer::format not bound !missing-selector! AVAudioSession::requestRecordPermission: not bound !unknown-field! AVFileType3GPP bound !unknown-field! AVFileType3GPP2 bound !unknown-field! AVFileTypeAC3 bound !unknown-field! AVFileTypeAIFC bound !unknown-field! AVFileTypeAIFF bound !unknown-field! AVFileTypeAMR bound !unknown-field! AVFileTypeAVCI bound !unknown-field! AVFileTypeAppleM4A bound !unknown-field! AVFileTypeAppleM4V bound !unknown-field! AVFileTypeCoreAudioFormat bound !unknown-field! AVFileTypeDNG bound !unknown-field! AVFileTypeEnhancedAC3 bound !unknown-field! AVFileTypeHEIC bound !unknown-field! AVFileTypeHEIF bound !unknown-field! AVFileTypeJPEG bound !unknown-field! AVFileTypeMPEG4 bound !unknown-field! AVFileTypeMPEGLayer3 bound !unknown-field! AVFileTypeQuickTimeMovie bound !unknown-field! AVFileTypeSunAU bound !unknown-field! AVFileTypeTIFF bound !unknown-field! AVFileTypeWAVE bound * [Metal] Implement API using IOSurface now that IOSurface is implemented. Partially fixes #58054. (#2621) https://bugzilla.xamarin.com/show_bug.cgi?id=58054 * [PdfKit] Improve PdfAnnotation.QuadrilateralPoints binding by making it strongly typed. (#2620) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). (#2622) * Implement Simd vector types (VectorFloat2/3/4/VectorInt4). * [ARKit/Vision] Use the new simd vector types instead of the OpenTK versions. * [ModelIO] Use the new simd vectors in new API (MDLVoxelIndexExtent2). This way we won't have to create a MDLVoxelIndexExtent3 in the future. * [SpriteKit] Use the new simd vectors in new API. * [metal] Audit (xtro) based fixes (#2623) !extra-protocol-member! unexpected selector MTLArgumentEncoder::newArgumentEncoderForBufferAtIndex: found !extra-protocol-member! unexpected selector MTLComputeCommandEncoder::dispatchThreads:threadsPerThreadgroup: found macos-only !missing-field! MTLDeviceRemovalRequestedNotification not bound !missing-field! MTLDeviceWasAddedNotification not bound !missing-field! MTLDeviceWasRemovedNotification not bound !missing-pinvoke! MTLCopyAllDevices is not bound * [CloudKit] Update bindings to beta 6. (#2615) * [FileProvider] Turn NSFileProviderItemIdentifier enum into a static class, fixes bug 59329 (#2634) https://bugzilla.xamarin.com/show_bug.cgi?id=59329 At the time of binding NSFileProviderItemIdentifier it wasn't clear how it was supposed to be used, I mean apple provides two keys which I thought were the only possible values hence binding it as an smart enum. Unfortunately this wasn't the case and the user can use those two values provided from the SDK or their own NSString Identifier. Swift provides a wrapper unfortunately we can't do the same due to NSFileProviderItemIdentifier is used in the NSFileProviderItem protocol and we currently do not support changing signatures on them. * [mtouch] Teach mtouch about the 'IOSurface' framework for tvOS. Fixes #59333. (#2630) https://bugzilla.xamarin.com/show_bug.cgi?id=59333 * Bump Touch.Unit to get fix for API breakage. (#2631) spouliot/Touch.Unit@8f1e19d [NUnitOutputTextWriter] Reintroduce previous constructor to make sure we don't break binary ABI. spouliot/Touch.Unit@00b0c0b [NUnitOutputTextWriter] Don't write invalid xml comments. spouliot/Touch.Unit@de9fe20 [TouchRunner] Restore the original code path when not wrapping NUnit xml output. * [IOSurface] Add missing availability attributes for tvOS. (#2629) * Bump versions for preview 9 (#2624) * [AVFoundation] Add missing interface AVRouteDetector. (#2637) * [tests] Update xtro to reduce list sizes (#2636) * Skip OpenTK duplicate declaration (we can't change them); * Fix rule name change for ARKit / simd; * Add missing default initializer on `init` to pending actions; * Add note for AVPersistableContentKeyRequest changes wrt tvOS; * [ReplayKit] Make RPBroadcastActivityViewController.LoadBroadcastActivityViewController async-capable. (#2639) * [xcode9] More SceneKit bindings (#2633) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 (#2644) * [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 https://bugzilla.xamarin.com/show_bug.cgi?id=59380 vector_float3 is 16 bytes, which means the binding is incorrect, because Vector3 is 12 bytes, and our code does not that difference into account. * Add tests * [DeviceCheck] Disable default ctor for DCDevice. (#2642) It doesn't seem to be useful according to the documentation, since it appears that the only way to get an instance is to use the static CurrentDevice property. * [audiounit] Audit (xtro) fixes for tvOS (#2635) Availability attributes in non-generated files don't hide symbols/code. reference: !unknown-pinvoke! AudioUnitExtensionCopyComponentList bound !unknown-pinvoke! AudioUnitExtensionSetComponentList bound * [tests] Make sure tvOS tests don't use the (unexisting) API * [tests] Add all test project variations to tests-mac.sln (#2579) * [xharness] Make sure generated mac projects have different project guids. * [introspection] Change the project guid so that it doesn't match the dontlink-mac project guid. * [tests] Add all test project variations to tests-mac.sln. * [xharness] Fix else condition. * [FileProvider] Adds missing NSFileProviderPage constants, fixes bug 59297. (#2646) https://bugzilla.xamarin.com/show_bug.cgi?id=59297 Adds NSFileProviderInitialPageSortedByName and NSFileProviderInitialPageSortedByDate NSData constants * [Xcode9] Remove NSFileProviderMessage and NSFileProviderMessageInterface (#2647) APIs were removed in beta 2 * [Foundation/UIKit] Provide LoadObject[s] methods that return the expected type in the callback. Fixes #59049. (#2638) The callback for these LoadObject[s] methods take an INSItemProviderReading parameter. This tells our runtime that we must provide an instance of a managed object that implements this interface (but nothing else), so we create a `NSItemProviderReadingWrapper` instance, which complies with the API (since the wrapper type implements the corresponding interface). Unfortunately these methods are supposed to return an instance of the passed- in type, so in order to comply with this soft (documentation-only) requirement, provide a wrapper method that creates instances of the right types. https://bugzilla.xamarin.com/show_bug.cgi?id=59049 * [arkit] Ignore deprecated selectors (#2645) * [FileProvider] Adds missing protocol and keys from audit (#2652) ``` !missing-protocol! NSFileProviderServiceSource not bound !missing-field! NSFileProviderErrorCollidingItemKey not bound !missing-field! NSFileProviderErrorNonExistentItemIdentifierKey not bound !missing-field! NSFileProviderFavoriteRankUnranked not bound ``` Also adds `NSXpcListenerEndpoint` to foundation, needed by `NSFileProviderServiceSource` protocol. * [tests][xtro] Workaround xtro runner dupe entry exception and update data files (#2654) * [AVFoundation] Rename field to match others. (#2657) * [homekit] Audit (xtro) fixes (#2653) - HMCharacteristicEvent conforms to NSMutableCopying on iOS11 which makes it 64 bits only (so adjust intro tests) - Ignore extra setters on HMMutablePresenceEvent, rdar 33883958 !missing-selector! HMMutablePresenceEvent::setPresenceEventType: not bound !missing-selector! HMMutablePresenceEvent::setPresenceUserType: not bound * [xtro] Add missing pinvoke to pending (#2662) - Bug 59422: [uikit] Missing UIContentSizeCategoryCompareToCategory & UIContentSizeCategoryIsAccessibilityCategory (https://bugzilla.xamarin.com/show_bug.cgi?id=59422) * Merge latest d15-3 fixes into xcode9 (#2660) * [msbuild] Re-added wildcard (*) expandsion for application-identifier in Entitlements.plist (#2186) Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=57119 * Bump mono (#2213) * Framework tests were still binding non-linked Simple class which errors now (#2216) (#2218) - Improve Makefile to rebuild when projects build with errors * Bump mono to get cecil fix for bug #56808. (#2222) https://bugzilla.xamarin.com/show_bug.cgi?id=56808 * [msbuild] Use @(ReferencePath) instead of @(ResolvedFiles) (#2188) (#2214) This allows things to work on both xbuild and msbuild. In xbuild, both lists are exactly the same and on msbuild, only @(ReferencePath) exists. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=55147 * NSActivityOptions.IdleDisplaySleepDisabled had wrong value (#2232) (#2239) This was due to an integer overflow. The original value was based on Int32 1 << 40 == 256 The correct value should be based on a UInt64. 1UL << 40 == 1099511627776 * [tests] Fix bug 57699 - [iOS]InternalsTest failure (Linkall) tests on device (#2243) Strip native debugging symbols should not be checked for debug builds * Bump mono to get fix for bug #57780. https://bugzilla.xamarin.com/show_bug.cgi?id=57780 * Update .gitmodules Change branch to d15-3 branch of mono * Bump maccore to get fix for bug #55064. https://bugzilla.xamarin.com/show_bug.cgi?id=55064 * [mono] Bump mono to get the head of cecil/mono-2017-04 and fix IsComObject #57919 Also fix #58789 [1], the typo in tools/mtouch/Tuning.cs showing in MT0000 errors instead MT2102. That's already in master and d15-4 mono bump includes: [2] commit 2a6502cee0df9de5198eafe7c8b5f6ac25106f34 (HEAD -> d15-3, origin/d15-3) Merge: 02457c20fcf 5e05cafc6f1 Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 10:04:06 2017 -0400 Merge pull request #5401 from marek-safar/com [Marshal.IsComObject] Make this predicate return false instead of thr… [3] commit 02457c20fcf57c0610e844d638eb1da82b5d1eb0 Merge: da80840ea55 73fd9a1b82e Author: Luis Aguilera <luis.aguilera@xamarin.com> Date: Fri Aug 18 09:59:06 2017 -0400 Merge pull request #5400 from spouliot/bump-cecil-58834-d15-3 [cecil] Bump to the head of the mono-2017-04 branch and pick the fix for bug #58834 References [1] https://bugzilla.xamarin.com/show_bug.cgi?id=58789 [2] https://bugzilla.xamarin.com/show_bug.cgi?id=57919 [3] https://bugzilla.xamarin.com/show_bug.cgi?id=58834 * [mtouch] Put 'mono_profiler_startup_log' in the symbol list. Fixes #58778. (#2501) We need the 'mono_profiler_startup_log' symbol when profiling is enabled, so make sure to add the symbol to the correct list of symbols we need. Previously we were passing `-u _mono_profiler_startup_log` to clang directly, which is fine, but not complete, since it does not write the symbol to the symbollist file (--symbollist=file), which means it wouldn't be preserved when the MSBuild tasks strip the executable. https://bugzilla.xamarin.com/show_bug.cgi?id=58778 * Bump versions for SR3 https://trello.com/c/EVze08ei * Bump mono to include HttpClientHandler fix #44027 https://trello.com/c/jYFXadH8/8-systemnethttp-close-request-stream-when-httpclienthandler https://bugzilla.xamarin.com/show_bug.cgi?id=44027 * [FileProvider] Add missing API and turn NSString to string (#2663) Turned NSString to string in order to match exisiting API. * [uikit] Add UIPasteConfigurationSupporting and UITextPasteConfigurationSupporting (#2649) - Fixes bug #59363: Missing UIPasteConfigurationSupporting, UITextPasteConfigurationSupporting, UITextDraggable and UITextDroppable on a couple of types (https://bugzilla.xamarin.com/show_bug.cgi?id=59363) * [uikit] Remove 129 types in UIPasteConfigurationSupporting case * [scenekit] Audit (xtro) fixes (#2648) This looks like an Apple breaking change (since `SCNAnimation` is new) but we now have: > typedef void (^SCNAnimationEventBlock)(id<SCNAnimation> animation, id animatedObject, BOOL playingBackward); bound as > delegate void SCNAnimationEventHandler (CAAnimation animation, NSObject animatedObject, bool playingBackward); and `CAAnimation` conforms to `SCNAnimation` but *only* the later is available on watchOS. The delegate is only updated (since it's new) on our watchOS profile. xtro references: (watchos) !unknown-protocol! SCNCameraControlConfiguration bound (tvos/watchos) !missing-selector! SCNAnimation::animationEvents not bound !missing-selector! SCNAnimation::setAnimationEvents: not bound !missing-selector! SCNConstraint::isEnabled not bound !missing-selector! SCNConstraint::setEnabled: not bound !missing-field! SCNSceneSourceConvertToYUpKey not bound !missing-field! SCNSceneSourceConvertUnitsToMetersKey not bound (ios/tvos) !missing-protocol-conformance! SCNNode should conform to UIFocusItem * Bump maccore post 15.3 merge (#2665) * Bump Xcode 9 to GM (#2667) * Force build (on wrench) * [avfoundation] Fix breaking changes (apidiff) (#2664) * [TVServices] Update to Xcode 9 GM (#2675) * [GameController] Update to Xcode 9 GM (#2673) * [LocalAuthentication] Update to Xcode 9 GM (#2671) * [LocalAuthentication] Update to Xcode 9 GM * Remove availability from BiometryNotAvailable, BiometryNotEnrolled and BiometryLockout * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer (#2659) * [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer Some of the new added types were already present BUT under a #if MONOMAC, they had to be moved. * [AVFoundation] Set the wrongly added API to be obsolete and ensure it returns logical values. (#2650) * [xtro] The right platform for macOS is 'macos', not 'osx'. (#2677) The platform name is used to filter availability attributes, and if we use the wrong platform, we'll incorrectly skip all availability attributes. The net result in unclassified entries: https://gist.github.com/rolfbjarne/a4474bc2a40c49a85cad495b51bb514f * Various Xcode 9 API improvements and also fixes bug 59433 (#2676) https://bugzilla.xamarin.com/show_bug.cgi?id=59433 While fixing bug 59433 I noticed some additional issues outlined below: AVDepthData: * Renamed **non** static `Create` methods because `Create` only makes sense with the **Static** method in this context. Also by renaming the methods we are now closer to the names that swift uses. * Kept descriptive method names in favor of self-documenting code. `Convert`, `Apply` and `Replace` do not fully give us the intent of the method. * Added a convenience `Create` static method that takes a `CGImageAuxiliaryDataInfo`. * AvailableDepthDataTypes is now an array of `CVPixelFormatType` instead of a `NSNumber` array (The aactual fix for bug 59433). ImageIO: * Refactored `CGImageAuxiliaryDataInfo` to be a `StrongDictionary` in order to avoid most of the manual code and also to avoid reimplementing the `ToDictionary` method (which contained a subtle bug). * Adjusted code to reflect the above change. * Added missing `.ctor (IntPtr, bool)` to `CGImageMetadata` so the class is able to be created by our `Runtime.Get*`. * Simplified `CopyAuxiliaryDataInfo` method by using `CGImageAuxiliaryDataInfo` as a `DictionaryContainer`. Tests: * Added `xamarinmonkey.heic` which is an image that contains depth data needed to test above changes. * Adds `AVDepthDataTests` that touches most of the changes listed here. * Tweak the Simd-compatible matrices and vectors (#2668) * Rename them to be OpenTK.NMatrix# (instead of Simd.MatrixFloat#x#). * Remove the Vector2 and Vector4 variants, we'll use the OpenTK types instead (but we'll keep the NVector3 variant, since it's not identical to the OpenTK version). * Update the API to match their OpenTK counterparts better: * NMatrix2 and NMatrix3 have a 0-based R#C# scheme for their fields. * NMatrix4 has a 1-based M## scheme for its fields (i.e. no change). * [AVFoundation] Use Simd-matrix for API that needs it. (#2679) This also requires implementing the corresponding matrix (NMatrix4x3). Fixes this xtro issue: > !unknown-simd-type-in-signature! OpenTK.Matrix3 AVFoundation.AVCameraCalibrationData::get_GetIntrinsicMatrix(): the native signature has a simd type (matrix_float3x3), while the corresponding managed method is using an incorrect (non-simd) type. * [xtro] Fix checking availability on categories. (#2682) When checking for category availability, check if both the current declaration is a category, and if the current's declaration container is a category. Otherwise this scenario fails: * Category method is available. * Category does not have availability attributes. * Main class is unavailable. with this typical code sequence: ```csharp // don't process methods (or types) that are unavailable for the current platform if (!decl.IsAvailable () || !(decl.DeclContext as Decl).IsAvailable ()) return; ``` In which case we'd: * First check the method (`decl`): * It's available, so no further checks is done on the method. * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container's container is a category (it isn't, it's the namespace). and as such determine that the method is available. With this change, the second step will become: * Then we'd check the method's container (`decl.DeclContext`): * The container (the category) does not have availability attributes. * Then we'd check if the container is a category (it is), and if its main class is available (it isn't). and as such determine that the method is unavailable. * Check for attributes on the method's container (no attributes, so we continue). * Check if the method's Unclassified diff: https://gist.github.com/rolfbjarne/8fa80962596978a426eadf9b7ba39dc1 * [uikit] Update for Xcode 9 GM (#2670) * [AVFoundation] Implement AVCapturePhoto. Partially fixes #59388. (#2678) Fixes: > common.unclassified:!missing-type! AVCapturePhoto not bound https://bugzilla.xamarin.com/show_bug.cgi?id=59388 * Use strong dictionaries for AVCapturePhoto.Metadata and AVCapturePhoto.EmbeddedThumbnailPhotoFormat. * [SIMD] Implement Simd double types (VectorDouble3/MatrixDouble4x4). (#2632) The following types will be used by ModelIO bindings * Fix delta to be double * Rename Simd-compatible matrices and vectors to match our final naming. This also means removing the new Vector2 and Vector4 variants (but not Vector3). * [avfoundation] Remove AVAssetDownloadDelegate.DidLoadTimeRange since it was removed in one of the betas (#2687) * [foundation] Move NSUrlSessionMultipathServiceType to a file processed by the generator (for the availability attributes) (#2688) * [arkit] Update for Xcode 9 GM (#2681) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes (#2690) * [Intents] Fix watchOS INCarSeatResolutionResult breaking changes Type Changed: Intents.INCarSeatResolutionResult Removed methods: public static INCarSeatResolutionResult GetConfirmationRequired (INCarSeat valueToConfirm); public static INCarSeatResolutionResult GetSuccess (INCarSeat resolvedValue); * [avfoundation] Add missing protocol members and deprecations (#2691) !missing-protocol-member! AVCapturePhotoCaptureDelegate::captureOutput:didFinishProcessingPhoto:error: not found and the selector removed from PR#2687 was actually replaced with this one !missing-protocol-member! AVAssetDownloadDelegate::URLSession:aggregateAssetDownloadTask:didLoadTimeRange:totalTimeRangesLoaded:timeRangeExpectedToLoad:forMediaSelection: not found * [tests][xtro] Map some enums, more fix with protocols and update entries (#2692) * [Tests] Reenable dns tests on the watch. (#2674) * [arkit] Add ARBlendShapeLocationOptions strong dictionary (#2696) * [coreimage] Skip not yet bound filters added in Xcode9 (#2698) Tracked in https://bugzilla.xamarin.com/show_bug.cgi?id=57350 * [Metal] Renamed MTLArgumentDescriptor.ArgumentDescriptor to Create, fixes bug 59498 (#2702) https://bugzilla.xamarin.com/show_bug.cgi?id=59498 From [argumentDescriptor docs](https://developer.apple.com/documentation/metal/mtlargumentdescriptor/2915746-argumentdescriptor?language=objc) > Creates an empty argument descriptor. * [msbuild] Always codesign app bundles if the codesign key is non-null (#2697) ...even if it is a simulator build. Turns out that starting with Xcode9, sim builds need to be codesigned for App Groups entitlements to work properly. Interestingly, the DetectSigningIdentity logic had a comment about needing to codesign simulator builds for some entitlements to work already starting with Xcode 8 but apparently the iOS targets did not respect this. Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=59379 * [Foundation] Add NSProxy stub in order to workaround bug 59247 (#2693) https://bugzilla.xamarin.com/show_bug.cgi?id=59247 We need to have a better solution that removes all what NSProxy does not responds to. Right now this works because NSObject implements NSObject protocol just like NSProxy, but NSProxy responds to far less selectors hence doing it internal so it is not a breaking change when we provide the correct fix. * Keep NSProxy around and avoid XML linker description We need to keep NSProxy (avoid linking it) if WKNavigationDelegate or IWKNavigationDelegate is used. We know WKWebView will be there and can hold a reference to it. * [Xcode 9] Update Metal for GM (#2689) * [iosurface] IOSurface is not usable before iOS/tvOS 11. Fixes #59201 (#2706) Apple rejects apps that links with the previously private IOSurface.framework. We were not sure about this [1] and had it disabled (this is removed). However another bug stopped our adjustment logic [2] from being executed. This is needed since `clang` picks up the private framework if it does not find the public one (even when asking for a weak framework), [1] https://bugzilla.xamarin.com/show_bug.cgi?id=59201 [2] Added a while ago for JavascriptCore * Bump maccore to point to commit with the docs fix. (#2703) * Bump XI to 11.0.x (and XM to 3.99.9.x) (#2684) * fix typo
2017-09-16 00:53:16 +03:00
[BaseType (typeof(NSObject))]
interface SCNAnimationPlayer : SCNAnimatable, NSCopying, NSSecureCoding
{
[Static]
[Export ("animationPlayerWithAnimation:")]
SCNAnimationPlayer FromAnimation (SCNAnimation animation);
[Export ("animation")]
SCNAnimation Animation { get; }
[Export ("speed")]
nfloat Speed { get; set; }
[Export ("blendFactor")]
nfloat BlendFactor { get; set; }
[Export ("paused")]
bool Paused { get; set; }
[Export ("play")]
void Play ();
[Export ("stop")]
void Stop ();
[Export ("stopWithBlendOutDuration:")]
void StopWithBlendOutDuration (double seconds);
}
[Watch (4,0), TV (11,0), Mac (10,13), iOS (11,0)]
[BaseType (typeof (SCNConstraint))]
interface SCNDistanceConstraint {
[Static]
[Export ("distanceConstraintWithTarget:")]
SCNDistanceConstraint FromTarget ([NullAllowed] SCNNode target);
[NullAllowed, Export ("target", ArgumentSemantic.Retain)]
SCNNode Target { get; set; }
[Export ("minimumDistance")]
nfloat MinimumDistance { get; set; }
[Export ("maximumDistance")]
nfloat MaximumDistance { get; set; }
}
[Watch (4,0), TV (11,0), Mac (10,13), iOS (11,0)]
[BaseType (typeof (SCNConstraint))]
interface SCNReplicatorConstraint {
[Static]
[Export ("replicatorConstraintWithTarget:")]
SCNReplicatorConstraint FromTarget ([NullAllowed] SCNNode target);
[NullAllowed, Export ("target", ArgumentSemantic.Retain)]
SCNNode Target { get; set; }
[Export ("replicatesOrientation")]
bool ReplicatesOrientation { get; set; }
[Export ("replicatesPosition")]
bool ReplicatesPosition { get; set; }
[Export ("replicatesScale")]
bool ReplicatesScale { get; set; }
[Export ("orientationOffset", ArgumentSemantic.Assign)]
SCNQuaternion OrientationOffset { get; set; }
[Export ("positionOffset", ArgumentSemantic.Assign)]
SCNVector3 PositionOffset { get; set; }
[Export ("scaleOffset", ArgumentSemantic.Assign)]
SCNVector3 ScaleOffset { get; set; }
}
[Watch (4,0), TV (11,0), Mac (10,13), iOS (11,0)]
[BaseType (typeof (SCNConstraint))]
interface SCNAccelerationConstraint {
[Static]
[Export ("accelerationConstraint")]
SCNAccelerationConstraint Create ();
[Export ("maximumLinearAcceleration")]
nfloat MaximumLinearAcceleration { get; set; }
[Export ("maximumLinearVelocity")]
nfloat MaximumLinearVelocity { get; set; }
[Export ("decelerationDistance")]
nfloat DecelerationDistance { get; set; }
[Export ("damping")]
nfloat Damping { get; set; }
}
[Watch (4,0), TV (11,0), Mac (10,13), iOS (11,0)]
[BaseType (typeof (SCNConstraint))]
interface SCNSliderConstraint {
[Static]
[Export ("sliderConstraint")]
SCNSliderConstraint Create ();
[Export ("collisionCategoryBitMask")]
nuint CollisionCategoryBitMask { get; set; }
[Export ("radius")]
nfloat Radius { get; set; }
[Export ("offset", ArgumentSemantic.Assign)]
SCNVector3 Offset { get; set; }
}
interface ISCNAvoidOccluderConstraintDelegate { }
[Watch (4,0), TV (11,0), Mac (10,13), iOS (11,0)]
[Protocol, Model]
[BaseType (typeof (NSObject))]
interface SCNAvoidOccluderConstraintDelegate {
[Export ("avoidOccluderConstraint:shouldAvoidOccluder:forNode:")]
bool ShouldAvoidOccluder (SCNAvoidOccluderConstraint constraint, SCNNode occluder, SCNNode node);
[Export ("avoidOccluderConstraint:didAvoidOccluder:forNode:")]
void DidAvoidOccluder (SCNAvoidOccluderConstraint constraint, SCNNode occluder, SCNNode node);
}
[Watch (4,0), TV (11,0), Mac (10,13), iOS (11,0)]
[BaseType (typeof (SCNConstraint))]
interface SCNAvoidOccluderConstraint {
[Static]
[Export ("avoidOccluderConstraintWithTarget:")]
SCNAvoidOccluderConstraint FromTarget ([NullAllowed] SCNNode target);
[NullAllowed, Export ("delegate", ArgumentSemantic.Assign)]
ISCNAvoidOccluderConstraintDelegate Delegate { get; set; }
[NullAllowed, Export ("target", ArgumentSemantic.Retain)]
SCNNode Target { get; set; }
[Export ("occluderCategoryBitMask")]
nuint OccluderCategoryBitMask { get; set; }
[Export ("bias")]
nfloat Bias { get; set; }
}
[Watch (4,0), TV (11,0), Mac (10,13), iOS (11,0)]
[BaseType (typeof(SCNPhysicsBehavior))]
interface SCNPhysicsConeTwistJoint {
[Static]
[Export ("jointWithBodyA:frameA:bodyB:frameB:")]
SCNPhysicsConeTwistJoint FromBodies (SCNPhysicsBody bodyA, SCNMatrix4 frameA, SCNPhysicsBody bodyB, SCNMatrix4 frameB);
[Static]
[Export ("jointWithBody:frame:")]
SCNPhysicsConeTwistJoint FromBody (SCNPhysicsBody body, SCNMatrix4 frame);
[Export ("bodyA")]
SCNPhysicsBody BodyA { get; }
[Export ("frameA", ArgumentSemantic.Assign)]
SCNMatrix4 FrameA { get; set; }
[NullAllowed, Export ("bodyB")]
SCNPhysicsBody BodyB { get; }
[Export ("frameB", ArgumentSemantic.Assign)]
SCNMatrix4 FrameB { get; set; }
[Export ("maximumAngularLimit1")]
nfloat MaximumAngularLimit1 { get; set; }
[Export ("maximumAngularLimit2")]
nfloat MaximumAngularLimit2 { get; set; }
[Export ("maximumTwistAngle")]
nfloat MaximumTwistAngle { get; set; }
}
2016-04-21 15:30:02 +03:00
}