xamarin-macios/src/uikit.cs

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

2016-04-21 15:30:02 +03:00
//
// This file describes the API that the generator will produce
//
// Authors:
// Geoff Norton
// Miguel de Icaza
//
// Copyright 2009-2011, Novell, Inc.
// Copyrigh 2011-2013, Xamarin Inc.
//
using XamCore.ObjCRuntime;
using XamCore.Foundation;
using XamCore.CoreGraphics;
using XamCore.CoreLocation;
using XamCore.UIKit;
using XamCore.CloudKit;
2016-04-21 15:30:02 +03:00
#if !TVOS
using XamCore.Contacts;
#endif
#if !WATCH
using XamCore.MediaPlayer;
using XamCore.CoreImage;
using XamCore.CoreAnimation;
#endif
using XamCore.CoreData;
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
#if IOS
using XamCore.FileProvider;
#endif // IOS
#if !TVOS
using XamCore.Intents;
#endif // !TVOS
#endif // XAMCORE_2_0
2016-04-21 15:30:02 +03:00
using System;
using System.ComponentModel;
namespace XamCore.UIKit {
[NoWatch]
[iOS (9,0)]
[Native]
[Flags]
public enum UIFocusHeading : nuint {
None = 0,
2016-04-21 15:30:02 +03:00
Up = 1 << 0,
Down = 1 << 1,
Left = 1 << 2,
Right = 1 << 3,
Next = 1 << 4,
Previous = 1 << 5,
2016-04-21 15:30:02 +03:00
}
[Native] // NSInteger -> UIApplication.h
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
[NoWatch]
[TV (11,0)]
2016-04-21 15:30:02 +03:00
public enum UIBackgroundRefreshStatus : nint {
Restricted, Denied, Available
}
[TV (10,0)][NoWatch]
2016-04-21 15:30:02 +03:00
[Native] // NSUInteger -> UIApplication.h
public enum UIBackgroundFetchResult : nuint_compat_int {
NewData, NoData, Failed
}
[NoTV][NoWatch]
[iOS (9,0)]
[Native]
public enum UIApplicationShortcutIconType : nint {
Compose,
Play,
Pause,
Add,
Location,
Search,
Share,
// iOS 9.1
Prohibit,
Contact,
Home,
MarkLocation,
Favorite,
Love,
Cloud,
Invitation,
Confirmation,
Mail,
Message,
Date,
Time,
CapturePhoto,
CaptureVideo,
Task,
TaskCompleted,
Alarm,
Bookmark,
Shuffle,
Audio,
Update
}
2016-09-08 04:25:28 +03:00
[NoWatch, NoTV, iOS (10,0)]
[Native]
public enum UIImpactFeedbackStyle : nint {
Light,
Medium,
Heavy
}
[NoWatch, NoTV, iOS (10,0)]
[Native]
public enum UINotificationFeedbackType : nint {
Success,
Warning,
Error
}
2016-04-21 15:30:02 +03:00
#if WATCH
// hacks to ease compilation
interface CIColor {}
2016-04-21 15:30:02 +03:00
#else
delegate void NSTextLayoutEnumerateLineFragments (CGRect rect, CGRect usedRectangle, NSTextContainer textContainer, NSRange glyphRange, ref bool stop);
delegate void NSTextLayoutEnumerateEnclosingRects (CGRect rect, ref bool stop);
delegate void UICompletionHandler (bool finished);
delegate void UIOperationHandler (bool success);
delegate void UICollectionViewLayoutInteractiveTransitionCompletion (bool completed, bool finished);
delegate void UIPrinterContactPrinterHandler (bool available);
delegate void UIPrinterPickerCompletionHandler (UIPrinterPickerController printerPickerController, bool userDidSelect, NSError error);
delegate UISplitViewControllerDisplayMode UISplitViewControllerFetchTargetForActionHandler (UISplitViewController svc);
delegate bool UISplitViewControllerDisplayEvent (UISplitViewController splitViewController, UIViewController vc, NSObject sender);
delegate UIViewController UISplitViewControllerGetViewController (UISplitViewController splitViewController);
delegate bool UISplitViewControllerCanCollapsePredicate (UISplitViewController splitViewController, UIViewController secondaryViewController, UIViewController primaryViewController);
delegate UIViewController UISplitViewControllerGetSecondaryViewController (UISplitViewController splitViewController, UIViewController primaryViewController);
delegate void UIActivityViewControllerCompletion (NSString activityType, bool completed, NSExtensionItem [] returnedItems, NSError error);
2016-04-21 15:30:02 +03:00
// In the hopes that the parameter is self document: this array can contain either UIDocuments or UIResponders
delegate void UIApplicationRestorationHandler (NSObject [] uidocumentOrResponderObjects);
2016-04-21 15:30:02 +03:00
#if !XAMCORE_3_0
[NoWatch]
[generator] Fixes bug 52570 - [generator] warn when [Static] is used in a [Category] (#1862) https://bugzilla.xamarin.com/show_bug.cgi?id=52570 In some cases you will find **static** members inside categories like in the following example: ```objc @interface FooObject (MyFooObjectExtension) + (BOOL)boolMethod:(NSRange *)range; @end ``` This will lead to an **incorrect** Category C# interface definition: ```csharp [Category] [BaseType (typeof (FooObject))] interface FooObject_Extensions { // Incorrect Interface definition [Static] [Export ("boolMethod:")] bool BoolMethod (NSRange range); } ``` This is incorrect because in order to use the `BoolMethod` extension you need an instance of `FooObject` but you are binding an ObjC **static** extension, this is a side effect due to the fact of how C# extension methods are implemented. The only way to use the above definitions is by the following ugly code: ```csharp (null as FooObject).BoolMethod (range); ``` The recommendation to avoid this is to inline the `BoolMethod` definition inside the `FooObject` interface definition itself, this will allow you to call this extension like it is intended `FooObject.BoolMethod (range)`. ```csharp [BaseType (typeof (NSObject))] interface FooObject { [Static] [Export ("boolMethod:")] bool BoolMethod (NSRange range); } ``` We will issue a warning (BI1117) whenever we find a `[Static]` member inside a `[Category]` definition. If you really want to have `[Static]` members inside your `[Category]` definitions you can silence the warning by using `[Category (allowStaticMembers: true)]` or by decorating either your member or `[Category]` interface definition with `[Internal]`.
2017-03-14 22:03:13 +03:00
[Category (allowStaticMembers: true)] // Classic isn't internal so we need this
[BaseType (typeof (NSAttributedString))]
2016-04-21 15:30:02 +03:00
interface NSAttributedStringAttachmentConveniences {
#if XAMCORE_2_0
[Internal]
#else
[EditorBrowsable (EditorBrowsableState.Advanced)] // this is not the one we want to be seen (compat only)
#endif
[Static, Export ("attributedStringWithAttachment:")]
NSAttributedString FromTextAttachment (NSTextAttachment attachment);
}
#endif
2016-09-08 04:25:28 +03:00
[NoWatch, NoTV, iOS (10,0)]
[DisableDefaultCtor]
[Abstract] // abstract class that should not be used directly
[BaseType (typeof (NSObject))]
interface UIFeedbackGenerator {
[Export ("prepare")]
void Prepare ();
}
[NoWatch, NoTV, iOS (10,0)]
[DisableDefaultCtor]
[BaseType (typeof (UIFeedbackGenerator))]
interface UIImpactFeedbackGenerator {
[Export ("initWithStyle:")]
IntPtr Constructor (UIImpactFeedbackStyle style);
[Export ("impactOccurred")]
void ImpactOccurred ();
}
[NoWatch, NoTV, iOS (10,0)]
[BaseType (typeof (UIFeedbackGenerator))]
interface UINotificationFeedbackGenerator {
[Export ("notificationOccurred:")]
void NotificationOccurred (UINotificationFeedbackType notificationType);
}
[NoWatch, NoTV, iOS (10,0)]
[BaseType (typeof (UIFeedbackGenerator))]
interface UISelectionFeedbackGenerator {
[Export ("selectionChanged")]
void SelectionChanged ();
}
interface IUICloudSharingControllerDelegate { }
[iOS (10,0), NoTV, NoWatch]
[Protocol, Model]
[BaseType (typeof (NSObject))]
interface UICloudSharingControllerDelegate {
[Abstract]
[Export ("cloudSharingController:failedToSaveShareWithError:")]
void FailedToSaveShare (UICloudSharingController csc, NSError error);
[Abstract]
[Export ("itemTitleForCloudSharingController:")]
[return: NullAllowed]
string GetItemTitle (UICloudSharingController csc);
[Export ("itemThumbnailDataForCloudSharingController:")]
[return: NullAllowed]
NSData GetItemThumbnailData (UICloudSharingController csc);
[Export ("itemTypeForCloudSharingController:")]
[return: NullAllowed]
string GetItemType (UICloudSharingController csc);
[Export ("cloudSharingControllerDidSaveShare:")]
void DidSaveShare (UICloudSharingController csc);
[Export ("cloudSharingControllerDidStopSharing:")]
void DidStopSharing (UICloudSharingController csc);
}
[iOS (10,0), NoTV, NoWatch]
delegate void UICloudSharingControllerPreparationHandler (UICloudSharingController controller, [BlockCallback] UICloudSharingControllerPreparationCompletionHandler completion);
[iOS (10,0), NoTV, NoWatch]
delegate void UICloudSharingControllerPreparationCompletionHandler ([NullAllowed] CKShare share, [NullAllowed] CKContainer container, [NullAllowed] NSError error);
2016-12-13 05:26:23 +03:00
[iOS (10,0), NoTV, NoWatch]
[BaseType (typeof (UIViewController))]
interface UICloudSharingController {
[Export ("initWithNibName:bundle:")]
[PostGet ("NibBundle")]
IntPtr Constructor ([NullAllowed] string nibName, [NullAllowed] NSBundle bundle);
[Export ("initWithPreparationHandler:")]
IntPtr Constructor (UICloudSharingControllerPreparationHandler preparationHandler);
[Export ("initWithShare:container:")]
IntPtr Constructor (CKShare share, CKContainer container);
[NullAllowed, Export ("delegate", ArgumentSemantic.Weak)]
IUICloudSharingControllerDelegate Delegate { get; set; }
[NullAllowed, Export ("share", ArgumentSemantic.Strong)]
CKShare Share { get; }
[Export ("availablePermissions", ArgumentSemantic.Assign)]
UICloudSharingPermissionOptions AvailablePermissions { get; set; }
[Export ("activityItemSource")]
IUIActivityItemSource ActivityItemSource { get; }
}
2016-04-21 15:30:02 +03:00
[NoWatch]
[Category]
[BaseType (typeof (NSAttributedString))]
interface NSAttributedString_NSAttributedStringKitAdditions {
[iOS (9,0)]
[Export ("containsAttachmentsInRange:")]
bool ContainsAttachments (NSRange range);
}
[NoWatch]
[iOS (9,0)]
[BaseType (typeof(NSObject))]
[DisableDefaultCtor] // NSInvalidArgumentException Reason: -[NSDataAsset init]: unrecognized selector sent to instance 0x7f6c8cc0
interface NSDataAsset : NSCopying
{
[Export ("initWithName:")]
IntPtr Constructor (string name);
[DesignatedInitializer]
[Export ("initWithName:bundle:")]
IntPtr Constructor (string name, NSBundle bundle);
[Export ("name")]
string Name { get; }
[Export ("data", ArgumentSemantic.Copy)]
NSData Data { get; }
[Export ("typeIdentifier")]
NSString TypeIdentifier { 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
delegate void NSFileProviderExtensionFetchThumbnailsHandler (NSString identifier, [NullAllowed] NSData imageData, [NullAllowed] NSError error);
2016-04-21 15:30:02 +03:00
[NoWatch]
[NoTV]
[iOS (8,0)]
[ThreadSafe]
2016-04-21 15:30:02 +03:00
[BaseType (typeof (NSObject))]
partial interface NSFileProviderExtension {
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, 11, 0, message: "Use 'NSFileProviderManager' instead.")]
2016-04-21 15:30:02 +03:00
[Static, Export ("writePlaceholderAtURL:withMetadata:error:")]
bool WritePlaceholder (NSUrl placeholderUrl, NSDictionary metadata, ref NSError error);
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, 11, 0, message: "Use 'FileProvider::NSFileProviderManager.GetPlaceholderUrl (NSUrl)' instead.")]
2016-04-21 15:30:02 +03:00
[Static, Export ("placeholderURLForURL:")]
NSUrl GetPlaceholderUrl (NSUrl url);
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, 11, 0, message: "Use 'FileProvider::NSFileProviderManager.ProviderIdentifier' instead.")]
2016-04-21 15:30:02 +03:00
[Export ("providerIdentifier")]
string ProviderIdentifier { 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
[Deprecated (PlatformName.iOS, 11, 0, message: "Use 'FileProvider::NSFileProviderManager.DocumentStorageUrl' instead.")]
2016-04-21 15:30:02 +03:00
[Export ("documentStorageURL")]
NSUrl DocumentStorageUrl { get; }
[Export ("URLForItemWithPersistentIdentifier:")]
NSUrl GetUrlForItem (string persistentIdentifier);
[Export ("persistentIdentifierForItemAtURL:")]
string GetPersistentIdentifier (NSUrl itemUrl);
[Export ("providePlaceholderAtURL:completionHandler:")]
[Async]
void ProvidePlaceholderAtUrl (NSUrl url, [NullAllowed] Action<NSError> completionHandler);
[Export ("startProvidingItemAtURL:completionHandler:")]
[Async]
void StartProvidingItemAtUrl (NSUrl url, [NullAllowed] Action<NSError> completionHandler);
[Export ("itemChangedAtURL:")]
void ItemChangedAtUrl (NSUrl url);
[Export ("stopProvidingItemAtURL:")]
void StopProvidingItemAtUrl (NSUrl url);
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 && IOS
[iOS (11,0)]
[Export ("itemForIdentifier:error:")]
[return: NullAllowed]
INSFileProviderItem GetItem (NSString identifier, out NSError error);
// Inlining NSFileProviderExtension (NSFileProviderActions) so we get asyncs
[iOS (11,0)]
[Async]
[Export ("importDocumentAtURL:toParentItemIdentifier:completionHandler:")]
void ImportDocument (NSUrl fileUrl, string parentItemIdentifier, Action<INSFileProviderItem, NSError> completionHandler);
[iOS (11,0)]
[Async]
[Export ("createDirectoryWithName:inParentItemIdentifier:completionHandler:")]
void CreateDirectory (string directoryName, string parentItemIdentifier, Action<INSFileProviderItem, NSError> completionHandler);
[iOS (11,0)]
[Async]
[Export ("renameItemWithIdentifier:toName:completionHandler:")]
void RenameItem (string itemIdentifier, string itemName, Action<INSFileProviderItem, NSError> completionHandler);
[iOS (11,0)]
[Async]
[Export ("reparentItemWithIdentifier:toParentItemWithIdentifier:newName:completionHandler:")]
void ReparentItem (string itemIdentifier, string parentItemIdentifier, [NullAllowed] string newName, Action<INSFileProviderItem, NSError> completionHandler);
[iOS (11,0)]
[Async]
[Export ("trashItemWithIdentifier:completionHandler:")]
void TrashItem (string itemIdentifier, Action<INSFileProviderItem, NSError> completionHandler);
[iOS (11,0)]
[Async]
[Export ("untrashItemWithIdentifier:toParentItemIdentifier:completionHandler:")]
void UntrashItem (string itemIdentifier, [NullAllowed] string parentItemIdentifier, Action<INSFileProviderItem, NSError> completionHandler);
[iOS (11,0)]
[Async]
[Export ("deleteItemWithIdentifier:completionHandler:")]
void DeleteItem (string itemIdentifier, Action<NSError> completionHandler);
[iOS (11,0)]
[Async]
[Export ("setLastUsedDate:forItemIdentifier:completionHandler:")]
void SetLastUsedDate ([NullAllowed] NSDate lastUsedDate, string itemIdentifier, Action<INSFileProviderItem, NSError> completionHandler);
[iOS (11,0)]
[Async]
[Export ("setTagData:forItemIdentifier:completionHandler:")]
void SetTagData ([NullAllowed] NSData tagData, string itemIdentifier, Action<INSFileProviderItem, NSError> completionHandler);
[iOS (11,0)]
[Async]
[Export ("setFavoriteRank:forItemIdentifier:completionHandler:")]
void SetFavoriteRank ([NullAllowed] NSNumber favoriteRank, string itemIdentifier, Action<INSFileProviderItem, NSError> completionHandler);
[iOS (11,0)]
[Export ("enumeratorForContainerItemIdentifier:error:")]
[return: NullAllowed]
XamCore.FileProvider.INSFileProviderEnumerator GetEnumerator (string containerItemIdentifier, out NSError error);
// From NSFileProviderExtension (NSFileProviderThumbnailing)
[iOS (11,0)]
[Export ("fetchThumbnailsForItemIdentifiers:requestedSize:perThumbnailCompletionHandler:completionHandler:")]
[Async]
NSProgress FetchThumbnails (NSString [] itemIdentifiers, CGSize size, NSFileProviderExtensionFetchThumbnailsHandler perThumbnailCompletionHandler, Action<NSError> completionHandler);
// From NSFileProviderExtension (NSFileProviderService)
[iOS (11,0)]
[Export ("supportedServiceSourcesForItemIdentifier:error:")]
[return: NullAllowed]
INSFileProviderServiceSource [] GetSupportedServiceSources (string itemIdentifier, out NSError error);
// From NSFileProviderExtension (NSFileProviderDomain)
[iOS (11,0)]
[NullAllowed, Export ("domain")]
NSFileProviderDomain Domain { get; }
#endif
2016-04-21 15:30:02 +03:00
}
#endif // !WATCH
[Category, BaseType (typeof (NSMutableAttributedString))]
interface NSMutableAttributedStringKitAdditions {
[Since (7,0)]
[Export ("fixAttributesInRange:")]
void FixAttributesInRange (NSRange range);
}
#if !WATCH
#if XAMCORE_2_0 // NSLayoutAnchor is a generic type, which we only support in Unified (for now)
[NoWatch]
[iOS (9,0)]
[BaseType (typeof(NSObject))]
[DisableDefaultCtor] // Handle is nil
interface NSLayoutAnchor<AnchorType>
2016-04-21 15:30:02 +03:00
{
[Export ("constraintEqualToAnchor:")]
NSLayoutConstraint ConstraintEqualTo (NSLayoutAnchor<AnchorType> anchor);
[Export ("constraintGreaterThanOrEqualToAnchor:")]
NSLayoutConstraint ConstraintGreaterThanOrEqualTo (NSLayoutAnchor<AnchorType> anchor);
[Export ("constraintLessThanOrEqualToAnchor:")]
NSLayoutConstraint ConstraintLessThanOrEqualTo (NSLayoutAnchor<AnchorType> anchor);
[Export ("constraintEqualToAnchor:constant:")]
NSLayoutConstraint ConstraintEqualTo (NSLayoutAnchor<AnchorType> anchor, nfloat constant);
[Export ("constraintGreaterThanOrEqualToAnchor:constant:")]
NSLayoutConstraint ConstraintGreaterThanOrEqualTo (NSLayoutAnchor<AnchorType> anchor, nfloat constant);
[Export ("constraintLessThanOrEqualToAnchor:constant:")]
NSLayoutConstraint ConstraintLessThanOrEqualTo (NSLayoutAnchor<AnchorType> anchor, nfloat constant);
}
[NoWatch]
[iOS (9,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
[TV (10,0)]
2016-04-21 15:30:02 +03:00
[BaseType (typeof(NSLayoutAnchor<NSLayoutXAxisAnchor>))]
[DisableDefaultCtor] // Handle is nil
interface NSLayoutXAxisAnchor
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
[iOS (10,0)]
[Export ("anchorWithOffsetToAnchor:")]
NSLayoutDimension CreateAnchorWithOffset (NSLayoutXAxisAnchor otherAnchor);
[TV (11,0), iOS (11,0)]
[Export ("constraintEqualToSystemSpacingAfterAnchor:multiplier:")]
NSLayoutConstraint ConstraintEqualToSystemSpacingAfterAnchor (NSLayoutXAxisAnchor anchor, nfloat multiplier);
[TV (11,0), iOS (11,0)]
[Export ("constraintGreaterThanOrEqualToSystemSpacingAfterAnchor:multiplier:")]
NSLayoutConstraint ConstraintGreaterThanOrEqualToSystemSpacingAfterAnchor (NSLayoutXAxisAnchor anchor, nfloat multiplier);
[TV (11,0), iOS (11,0)]
[Export ("constraintLessThanOrEqualToSystemSpacingAfterAnchor:multiplier:")]
NSLayoutConstraint ConstraintLessThanOrEqualToSystemSpacingAfterAnchor (NSLayoutXAxisAnchor anchor, nfloat multiplier);
2016-04-21 15:30:02 +03:00
}
[NoWatch]
[iOS (9,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
[TV (10,0)]
2016-04-21 15:30:02 +03:00
[BaseType (typeof(NSLayoutAnchor<NSLayoutYAxisAnchor>))]
[DisableDefaultCtor] // Handle is nil
interface NSLayoutYAxisAnchor
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
[iOS (10,0)]
[Export ("anchorWithOffsetToAnchor:")]
NSLayoutDimension CreateAnchorWithOffset (NSLayoutYAxisAnchor otherAnchor);
[TV (11,0), iOS (11,0)]
[Export ("constraintEqualToSystemSpacingBelowAnchor:multiplier:")]
NSLayoutConstraint ConstraintEqualToSystemSpacingBelowAnchor (NSLayoutYAxisAnchor anchor, nfloat multiplier);
[TV (11,0), iOS (11,0)]
[Export ("constraintGreaterThanOrEqualToSystemSpacingBelowAnchor:multiplier:")]
NSLayoutConstraint ConstraintGreaterThanOrEqualToSystemSpacingBelowAnchor (NSLayoutYAxisAnchor anchor, nfloat multiplier);
[TV (11,0), iOS (11,0)]
[Export ("constraintLessThanOrEqualToSystemSpacingBelowAnchor:multiplier:")]
NSLayoutConstraint ConstraintLessThanOrEqualToSystemSpacingBelowAnchor (NSLayoutYAxisAnchor anchor, nfloat multiplier);
2016-04-21 15:30:02 +03:00
}
[NoWatch]
[iOS (9,0)]
[BaseType (typeof(NSLayoutAnchor<NSLayoutDimension>))]
[DisableDefaultCtor] // Handle is nil
interface NSLayoutDimension
2016-04-21 15:30:02 +03:00
{
[Export ("constraintEqualToConstant:")]
NSLayoutConstraint ConstraintEqualTo (nfloat constant);
[Export ("constraintGreaterThanOrEqualToConstant:")]
NSLayoutConstraint ConstraintGreaterThanOrEqualTo (nfloat constant);
[Export ("constraintLessThanOrEqualToConstant:")]
NSLayoutConstraint ConstraintLessThanOrEqualTo (nfloat constant);
[Export ("constraintEqualToAnchor:multiplier:")]
NSLayoutConstraint ConstraintEqualTo (NSLayoutDimension anchor, nfloat multiplier);
[Export ("constraintGreaterThanOrEqualToAnchor:multiplier:")]
NSLayoutConstraint ConstraintGreaterThanOrEqualTo (NSLayoutDimension anchor, nfloat multiplier);
[Export ("constraintLessThanOrEqualToAnchor:multiplier:")]
NSLayoutConstraint ConstraintLessThanOrEqualTo (NSLayoutDimension anchor, nfloat multiplier);
[Export ("constraintEqualToAnchor:multiplier:constant:")]
NSLayoutConstraint ConstraintEqualTo (NSLayoutDimension anchor, nfloat multiplier, nfloat constant);
[Export ("constraintGreaterThanOrEqualToAnchor:multiplier:constant:")]
NSLayoutConstraint ConstraintGreaterThanOrEqualTo (NSLayoutDimension anchor, nfloat multiplier, nfloat constant);
[Export ("constraintLessThanOrEqualToAnchor:multiplier:constant:")]
NSLayoutConstraint ConstraintLessThanOrEqualTo (NSLayoutDimension anchor, nfloat multiplier, nfloat constant);
}
#endif // XAMCORE_2_0
[NoWatch]
[Since (6,0)]
[BaseType (typeof (NSObject))]
interface NSLayoutConstraint {
2016-04-21 15:30:02 +03:00
[Static]
[Export ("constraintsWithVisualFormat:options:metrics:views:")]
NSLayoutConstraint [] FromVisualFormat (string format, NSLayoutFormatOptions formatOptions, [NullAllowed] NSDictionary metrics, NSDictionary views);
[Static]
[Export ("constraintWithItem:attribute:relatedBy:toItem:attribute:multiplier:constant:")]
NSLayoutConstraint Create (INativeObject view1, NSLayoutAttribute attribute1, NSLayoutRelation relation, [NullAllowed] INativeObject view2, NSLayoutAttribute attribute2, nfloat multiplier, nfloat constant);
[Export ("priority")]
float Priority { get; set; } // Returns a float, not nfloat.
[Export ("shouldBeArchived")]
bool ShouldBeArchived { 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
[NullAllowed, Export ("firstItem", ArgumentSemantic.Assign)]
2016-04-21 15:30:02 +03:00
NSObject FirstItem { get; }
[Export ("firstAttribute")]
NSLayoutAttribute FirstAttribute { get; }
[Export ("relation")]
NSLayoutRelation Relation { get; }
[Export ("secondItem", ArgumentSemantic.Assign)]
NSObject SecondItem { get; }
[Export ("secondAttribute")]
NSLayoutAttribute SecondAttribute { get; }
[Export ("multiplier")]
nfloat Multiplier { get; }
[Export ("constant")]
nfloat Constant { get; set; }
[iOS (8,0)]
[Export ("active")]
bool Active { [Bind ("isActive")] get; set; }
[iOS (8,0)]
[Static, Export ("activateConstraints:")]
void ActivateConstraints (NSLayoutConstraint [] constraints);
[iOS (8,0)]
[Static, Export ("deactivateConstraints:")]
void DeactivateConstraints (NSLayoutConstraint [] constraints);
#if XAMCORE_2_0
[iOS (10,0), TV (10,0)]
[Export ("firstAnchor", ArgumentSemantic.Copy)]
[Internal]
IntPtr _FirstAnchor<AnchorType> ();
[iOS (10,0), TV (10,0)]
[NullAllowed, Export ("secondAnchor", ArgumentSemantic.Copy)]
[Internal]
IntPtr _SecondAnchor<AnchorType> ();
#endif
2016-04-21 15:30:02 +03:00
}
[NoWatch]
[iOS (7,0)] // Yup, it is declared as appearing in 7.0, even if it shipped with 8.0
[Category, BaseType(typeof(NSLayoutConstraint))]
interface NSIdentifier {
2016-04-21 15:30:02 +03:00
[Export ("identifier")]
string GetIdentifier ();
[Export ("setIdentifier:")]
void SetIdentifier ([NullAllowed] string id);
}
#endif // !WATCH
[Since (6,0)]
[ThreadSafe]
[BaseType (typeof (NSObject))]
interface NSParagraphStyle : NSSecureCoding, NSMutableCopying {
[Export ("lineSpacing")]
nfloat LineSpacing { get; [NotImplemented] set; }
[Export ("paragraphSpacing")]
nfloat ParagraphSpacing { get; [NotImplemented] set; }
[Export ("alignment")]
UITextAlignment Alignment { get; [NotImplemented] set; }
[Export ("headIndent")]
nfloat HeadIndent { get; [NotImplemented] set; }
[Export ("tailIndent")]
nfloat TailIndent { get; [NotImplemented] set; }
[Export ("firstLineHeadIndent")]
nfloat FirstLineHeadIndent { get; [NotImplemented] set; }
[Export ("minimumLineHeight")]
nfloat MinimumLineHeight { get; [NotImplemented] set; }
[Export ("maximumLineHeight")]
nfloat MaximumLineHeight { get; [NotImplemented] set; }
[Export ("lineBreakMode")]
UILineBreakMode LineBreakMode { get; [NotImplemented] set; }
[Export ("baseWritingDirection")]
NSWritingDirection BaseWritingDirection { get; [NotImplemented] set; }
[Export ("lineHeightMultiple")]
nfloat LineHeightMultiple { get; [NotImplemented] set; }
[Export ("paragraphSpacingBefore")]
nfloat ParagraphSpacingBefore { get; [NotImplemented] set; }
[Export ("hyphenationFactor")]
float HyphenationFactor { get; [NotImplemented] set; } // Returns a float, not nfloat.
[Static]
[Export ("defaultWritingDirectionForLanguage:")]
NSWritingDirection GetDefaultWritingDirection (string languageName);
[Static]
[Export ("defaultParagraphStyle")]
NSParagraphStyle Default { get; }
[Since (7,0)]
[Export ("defaultTabInterval")]
nfloat DefaultTabInterval { get; [NotImplemented] set; }
[Since (7,0)]
[Export ("tabStops", ArgumentSemantic.Copy)]
NSTextTab[] TabStops { get; [NotImplemented] set; }
[iOS (9,0)]
[Export ("allowsDefaultTighteningForTruncation")]
bool AllowsDefaultTighteningForTruncation { get; [NotImplemented] set; }
}
[Since (6,0)]
[ThreadSafe]
[BaseType (typeof (NSParagraphStyle))]
interface NSMutableParagraphStyle {
[Export ("lineSpacing")]
[Override]
nfloat LineSpacing { get; set; }
[Export ("alignment")]
[Override]
UITextAlignment Alignment { get; set; }
[Export ("headIndent")]
[Override]
nfloat HeadIndent { get; set; }
[Export ("tailIndent")]
[Override]
nfloat TailIndent { get; set; }
[Export ("firstLineHeadIndent")]
[Override]
nfloat FirstLineHeadIndent { get; set; }
[Export ("minimumLineHeight")]
[Override]
nfloat MinimumLineHeight { get; set; }
[Export ("maximumLineHeight")]
[Override]
nfloat MaximumLineHeight { get; set; }
[Export ("lineBreakMode")]
[Override]
UILineBreakMode LineBreakMode { get; set; }
[Export ("baseWritingDirection")]
[Override]
NSWritingDirection BaseWritingDirection { get; set; }
[Export ("lineHeightMultiple")]
[Override]
nfloat LineHeightMultiple { get; set; }
[Export ("paragraphSpacing")]
[Override]
nfloat ParagraphSpacing { get; set; }
[Export ("paragraphSpacingBefore")]
[Override]
nfloat ParagraphSpacingBefore { get; set; }
[Export ("hyphenationFactor")]
[Override]
float HyphenationFactor { get; set; } // Returns a float, not nfloat.
[Since (7,0)]
[Export ("defaultTabInterval")]
[Override]
nfloat DefaultTabInterval { get; set; }
[Since (7,0)]
[Export ("tabStops", ArgumentSemantic.Copy)]
[Override]
NSTextTab[] TabStops { get; set; }
[iOS (9,0)]
[Override]
[Export ("allowsDefaultTighteningForTruncation")]
bool AllowsDefaultTighteningForTruncation { get; set; }
[iOS (9,0)]
[Export ("addTabStop:")]
void AddTabStop (NSTextTab textTab);
[iOS (9,0)]
[Export ("removeTabStop:")]
void RemoveTabStop (NSTextTab textTab);
[iOS (9,0)]
[Export ("setParagraphStyle:")]
void SetParagraphStyle (NSParagraphStyle paragraphStyle);
}
[Since (7,0)]
[BaseType (typeof (NSObject))]
interface NSTextTab : NSCoding, NSCopying, NSSecureCoding {
2016-04-21 15:30:02 +03:00
[DesignatedInitializer]
[Export ("initWithTextAlignment:location:options:")]
[PostGet ("Options")]
IntPtr Constructor (UITextAlignment alignment, nfloat location, [NullAllowed] NSDictionary options);
[Export ("alignment")]
UITextAlignment Alignment { get; }
[Export ("location")]
nfloat Location { get; }
[Export ("options")]
NSDictionary Options { get; }
[Static]
[Export ("columnTerminatorsForLocale:")]
NSCharacterSet GetColumnTerminators ([NullAllowed] NSLocale locale);
[Field ("NSTabColumnTerminatorsAttributeName")]
NSString ColumnTerminatorsAttributeName { get; }
}
#if !WATCH
[BaseType (typeof (NSObject))]
[Since (6,0)]
interface NSShadow : NSCoding, NSCopying {
[Export ("shadowOffset", ArgumentSemantic.Assign)]
CGSize ShadowOffset { get; set; }
[Export ("shadowBlurRadius", ArgumentSemantic.Assign)]
nfloat ShadowBlurRadius { get; set; }
[Export ("shadowColor", ArgumentSemantic.Retain), NullAllowed]
UIColor ShadowColor { get; set; }
}
[Model]
[Protocol]
[BaseType (typeof (NSObject))]
partial interface NSTextAttachmentContainer {
2016-04-21 15:30:02 +03:00
#if XAMCORE_2_0
[Abstract]
#endif
[Export ("imageForBounds:textContainer:characterIndex:")]
UIImage GetImageForBounds (CGRect bounds, NSTextContainer textContainer, nuint characterIndex);
#if XAMCORE_2_0
[Abstract]
#endif
[Export ("attachmentBoundsForTextContainer:proposedLineFragment:glyphPosition:characterIndex:")]
CGRect GetAttachmentBounds (NSTextContainer textContainer, CGRect proposedLineFragment, CGPoint glyphPosition, nuint characterIndex);
}
[Since (7,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
partial interface NSTextAttachment : NSTextAttachmentContainer, NSCoding
#if !WATCH
, UIAccessibilityContentSizeCategoryImageAdjusting
#endif // !WATCH
{
2016-04-21 15:30:02 +03:00
[DesignatedInitializer]
[Export ("initWithData:ofType:")]
[PostGet ("Contents")]
IntPtr Constructor ([NullAllowed] NSData contentData, [NullAllowed] string uti);
[NullAllowed] // by default this property is null
[Export ("contents", ArgumentSemantic.Retain)]
NSData Contents { get; set; }
[NullAllowed] // by default this property is null
[Export ("fileType", ArgumentSemantic.Retain)]
string FileType { get; set; }
[NullAllowed] // by default this property is null
[Export ("image", ArgumentSemantic.Retain)]
UIImage Image { get; set; }
[Export ("bounds")]
CGRect Bounds { get; set; }
[NullAllowed] // by default this property is null
[Export ("fileWrapper", ArgumentSemantic.Retain)]
NSFileWrapper FileWrapper { get; set; }
}
[Protocol]
// no [Model] since it's not exposed in any API
// only NSTextContainer conforms to it but it's only queried by iOS itself
interface NSTextLayoutOrientationProvider {
2016-04-21 15:30:02 +03:00
[Abstract]
[Export ("layoutOrientation")]
NSTextLayoutOrientation LayoutOrientation {
get;
#if !XAMCORE_3_0
[NotImplemented] set;
#endif
}
}
[Since (7,0)]
[BaseType (typeof (NSObject))]
partial interface NSTextContainer : NSTextLayoutOrientationProvider, NSCoding {
2016-04-21 15:30:02 +03:00
[DesignatedInitializer]
[Export ("initWithSize:")]
IntPtr Constructor (CGSize size);
[NullAllowed] // by default this property is null
[Export ("layoutManager", ArgumentSemantic.Assign)]
NSLayoutManager LayoutManager { get; set; }
[Export ("size")]
CGSize Size { get; set; }
[NullAllowed] // by default this property is null
[Export ("exclusionPaths", ArgumentSemantic.Copy)]
UIBezierPath [] ExclusionPaths { get; set; }
[Export ("lineBreakMode")]
UILineBreakMode LineBreakMode { get; set; }
[Export ("lineFragmentPadding")]
nfloat LineFragmentPadding { get; set; }
[Export ("maximumNumberOfLines")]
nuint MaximumNumberOfLines { get; set; }
[Export ("lineFragmentRectForProposedRect:atIndex:writingDirection:remainingRect:")]
CGRect GetLineFragmentRect (CGRect proposedRect, nuint characterIndex, NSWritingDirection baseWritingDirection, out CGRect remainingRect);
[Export ("widthTracksTextView")]
bool WidthTracksTextView { get; set; }
[Export ("heightTracksTextView")]
bool HeightTracksTextView { get; set; }
[iOS (9,0)]
[Export ("replaceLayoutManager:")]
void ReplaceLayoutManager (NSLayoutManager newLayoutManager);
[iOS (9,0)]
[Export ("simpleRectangularTextContainer")]
bool IsSimpleRectangularTextContainer { [Bind ("isSimpleRectangularTextContainer")] get; }
}
[Since (7,0)]
[BaseType (typeof (NSMutableAttributedString), Delegates=new string [] { "Delegate" }, Events=new Type [] { typeof (NSTextStorageDelegate)})]
partial interface NSTextStorage {
2016-04-21 15:30:02 +03:00
[Export ("layoutManagers")]
NSObject [] LayoutManagers { get; }
[Export ("addLayoutManager:")]
void AddLayoutManager (NSLayoutManager aLayoutManager);
[Export ("removeLayoutManager:")]
[PostGet ("LayoutManagers")]
void RemoveLayoutManager (NSLayoutManager aLayoutManager);
[Export ("editedMask")]
NSTextStorageEditActions EditedMask { get; set; }
[Export ("editedRange")]
NSRange EditedRange { get;
#if !XAMCORE_3_0
[NotImplemented] set;
#endif
}
[Export ("changeInLength")]
nint ChangeInLength { get;
#if !XAMCORE_3_0
[NotImplemented] set;
#endif
}
[NullAllowed] // by default this property is null
[Export ("delegate", ArgumentSemantic.Assign)]
NSObject WeakDelegate { get; set; }
[Wrap ("WeakDelegate")]
[Protocolize]
NSTextStorageDelegate Delegate { get; set; }
[Export ("edited:range:changeInLength:")]
void Edited (NSTextStorageEditActions editedMask, NSRange editedRange, nint delta);
[Export ("processEditing")]
void ProcessEditing ();
[Export ("fixesAttributesLazily")]
bool FixesAttributesLazily { get; }
[Export ("invalidateAttributesInRange:")]
void InvalidateAttributes (NSRange range);
[Export ("ensureAttributesAreFixedInRange:")]
void EnsureAttributesAreFixed (NSRange range);
[Since (7,0)]
[Notification, Internal, Field ("NSTextStorageWillProcessEditingNotification")]
NSString WillProcessEditingNotification { get; }
[Since (7,0)]
[Notification, Internal, Field ("NSTextStorageDidProcessEditingNotification")]
NSString DidProcessEditingNotification { get; }
}
[Model]
[BaseType (typeof (NSObject))]
[Protocol]
partial interface NSTextStorageDelegate {
2016-04-21 15:30:02 +03:00
[Export ("textStorage:willProcessEditing:range:changeInLength:")][EventArgs ("NSTextStorage")]
void WillProcessEditing (NSTextStorage textStorage, NSTextStorageEditActions editedMask, NSRange editedRange, nint delta);
[Export ("textStorage:didProcessEditing:range:changeInLength:")][EventArgs ("NSTextStorage")]
void DidProcessEditing (NSTextStorage textStorage, NSTextStorageEditActions editedMask, NSRange editedRange, nint delta);
}
[Since (7,0)]
[BaseType (typeof (NSObject))]
interface NSLayoutManager : NSCoding {
2016-04-21 15:30:02 +03:00
[NullAllowed] // by default this property is null
[Export ("textStorage", ArgumentSemantic.Assign)]
NSTextStorage TextStorage { get; set; }
[Export ("textContainers")]
NSTextContainer [] TextContainers { get; }
[Export ("addTextContainer:")]
[PostGet ("TextContainers")]
void AddTextContainer (NSTextContainer container);
[Export ("insertTextContainer:atIndex:")]
[PostGet ("TextContainers")]
void InsertTextContainer (NSTextContainer container, nint index);
[Export ("removeTextContainerAtIndex:")]
[PostGet ("TextContainers")]
void RemoveTextContainer (nint index);
[Export ("textContainerChangedGeometry:")]
void TextContainerChangedGeometry (NSTextContainer container);
[Export ("delegate", ArgumentSemantic.Assign), NullAllowed]
NSObject WeakDelegate { get; set; }
[Wrap ("WeakDelegate")]
[Protocolize]
NSLayoutManagerDelegate Delegate { get; set; }
[Export ("showsInvisibleCharacters")]
bool ShowsInvisibleCharacters { get; set; }
[Export ("showsControlCharacters")]
bool ShowsControlCharacters { get; set; }
[Export ("hyphenationFactor")]
nfloat HyphenationFactor { get; set; }
[Export ("usesFontLeading")]
bool UsesFontLeading { get; set; }
[Export ("allowsNonContiguousLayout")]
bool AllowsNonContiguousLayout { get; set; }
[Export ("hasNonContiguousLayout")]
bool HasNonContiguousLayout { get; }
[Export ("invalidateGlyphsForCharacterRange:changeInLength:actualCharacterRange:")]
void InvalidateGlyphs (NSRange charRange, nint delta, out NSRange actualCharRange);
[Export ("invalidateLayoutForCharacterRange:actualCharacterRange:")]
void InvalidateLayout (NSRange charRange, out NSRange actualCharRange);
[Export ("invalidateDisplayForCharacterRange:")]
void InvalidateDisplayForCharacterRange (NSRange charRange);
[Export ("invalidateDisplayForGlyphRange:")]
void InvalidateDisplayForGlyphRange (NSRange glyphRange);
[Export ("processEditingForTextStorage:edited:range:changeInLength:invalidatedRange:")]
void ProcessEditing (NSTextStorage textStorage, NSTextStorageEditActions editMask, NSRange newCharRange, nint delta, NSRange invalidatedCharRange);
[Export ("ensureGlyphsForCharacterRange:")]
void EnsureGlyphsForCharacterRange (NSRange charRange);
[Export ("ensureGlyphsForGlyphRange:")]
void EnsureGlyphsForGlyphRange (NSRange glyphRange);
[Export ("ensureLayoutForCharacterRange:")]
void EnsureLayoutForCharacterRange (NSRange charRange);
[Export ("ensureLayoutForGlyphRange:")]
void EnsureLayoutForGlyphRange (NSRange glyphRange);
[Export ("ensureLayoutForTextContainer:")]
void EnsureLayoutForTextContainer (NSTextContainer container);
[Export ("ensureLayoutForBoundingRect:inTextContainer:")]
void EnsureLayoutForBoundingRect (CGRect bounds, NSTextContainer container);
[Export ("setGlyphs:properties:characterIndexes:font:forGlyphRange:")]
void SetGlyphs (IntPtr glyphs, IntPtr props, IntPtr charIndexes, UIFont aFont, NSRange glyphRange);
[Export ("numberOfGlyphs")]
nuint NumberOfGlyphs { get; }
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use 'GetGlyph' instead.")]
2016-04-21 15:30:02 +03:00
[Export ("glyphAtIndex:isValidIndex:")]
ushort GlyphAtIndex (nuint glyphIndex, ref bool isValidIndex);
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use 'GetGlyph' instead.")]
2016-04-21 15:30:02 +03:00
[Export ("glyphAtIndex:")]
ushort GlyphAtIndex (nuint glyphIndex);
[Export ("isValidGlyphIndex:")]
bool IsValidGlyphIndex (nuint glyphIndex);
[Export ("propertyForGlyphAtIndex:")]
NSGlyphProperty PropertyForGlyphAtIndex (nuint glyphIndex);
[Export ("characterIndexForGlyphAtIndex:")]
nuint CharacterIndexForGlyphAtIndex (nuint glyphIndex);
[Export ("glyphIndexForCharacterAtIndex:")]
nuint GlyphIndexForCharacterAtIndex (nuint charIndex);
[Export ("getGlyphsInRange:glyphs:properties:characterIndexes:bidiLevels:")]
[Internal]
nuint GetGlyphsInternal (NSRange glyphRange, IntPtr glyphBuffer, IntPtr props, IntPtr charIndexBuffer, IntPtr bidiLevelBuffer);
[Export ("setTextContainer:forGlyphRange:")]
void SetTextContainer (NSTextContainer container, NSRange glyphRange);
[Export ("setLineFragmentRect:forGlyphRange:usedRect:")]
void SetLineFragmentRect (CGRect fragmentRect, NSRange glyphRange, CGRect usedRect);
[Export ("setExtraLineFragmentRect:usedRect:textContainer:")]
void SetExtraLineFragmentRect (CGRect fragmentRect, CGRect usedRect, NSTextContainer container);
[Export ("setLocation:forStartOfGlyphRange:")]
void SetLocation (CGPoint location, NSRange glyphRange);
[Export ("setNotShownAttribute:forGlyphAtIndex:")]
void SetNotShownAttribute (bool flag, nuint glyphIndex);
[Export ("setDrawsOutsideLineFragment:forGlyphAtIndex:")]
void SetDrawsOutsideLineFragment (bool flag, nuint glyphIndex);
[Export ("setAttachmentSize:forGlyphRange:")]
void SetAttachmentSize (CGSize attachmentSize, NSRange glyphRange);
[Export ("getFirstUnlaidCharacterIndex:glyphIndex:")]
void GetFirstUnlaidCharacterIndex (ref nuint charIndex, ref nuint glyphIndex);
[Export ("firstUnlaidCharacterIndex")]
nuint FirstUnlaidCharacterIndex { get; }
[Export ("firstUnlaidGlyphIndex")]
nuint FirstUnlaidGlyphIndex { get; }
[Export ("textContainerForGlyphAtIndex:effectiveRange:")]
[Internal]
NSTextContainer TextContainerForGlyphAtIndexInternal (nuint glyphIndex, IntPtr effectiveGlyphRange);
[Export ("usedRectForTextContainer:")]
CGRect GetUsedRectForTextContainer (NSTextContainer container);
[Export ("lineFragmentRectForGlyphAtIndex:effectiveRange:")]
[Internal]
CGRect LineFragmentRectForGlyphAtIndexInternal (nuint glyphIndex, IntPtr effectiveGlyphRange);
[Export ("lineFragmentUsedRectForGlyphAtIndex:effectiveRange:")]
[Internal]
CGRect LineFragmentUsedRectForGlyphAtIndexInternal (nuint glyphIndex, IntPtr effectiveGlyphRange);
[Export ("extraLineFragmentRect", ArgumentSemantic.Copy)]
CGRect ExtraLineFragmentRect { get; }
[Export ("extraLineFragmentUsedRect", ArgumentSemantic.Copy)]
CGRect ExtraLineFragmentUsedRect { get; }
[Export ("extraLineFragmentTextContainer", ArgumentSemantic.Copy)]
NSTextContainer ExtraLineFragmentTextContainer { get; }
[Export ("locationForGlyphAtIndex:")]
CGPoint LocationForGlyphAtIndex (nuint glyphIndex);
[Export ("notShownAttributeForGlyphAtIndex:")]
bool NotShownAttributeForGlyphAtIndex (nuint glyphIndex);
[Export ("drawsOutsideLineFragmentForGlyphAtIndex:")]
bool DrawsOutsideLineFragmentForGlyphAtIndex (nuint glyphIndex);
[Export ("attachmentSizeForGlyphAtIndex:")]
CGSize AttachmentSizeForGlyphAtIndex (nuint glyphIndex);
[Export ("truncatedGlyphRangeInLineFragmentForGlyphAtIndex:")]
NSRange TruncatedGlyphRangeInLineFragmentForGlyphAtIndex (nuint glyphIndex);
[Export ("glyphRangeForCharacterRange:actualCharacterRange:")]
[Internal]
NSRange GlyphRangeForCharacterRangeInternal (NSRange charRange, IntPtr actualCharRange);
[Export ("characterRangeForGlyphRange:actualGlyphRange:")]
#if XAMCORE_2_0
[Internal]
#endif
NSRange CharacterRangeForGlyphRangeInternal (NSRange glyphRange, IntPtr actualGlyphRange);
[Export ("glyphRangeForTextContainer:")]
NSRange GetGlyphRange (NSTextContainer container);
[Export ("rangeOfNominallySpacedGlyphsContainingIndex:")]
NSRange RangeOfNominallySpacedGlyphsContainingIndex (nuint glyphIndex);
[Export ("boundingRectForGlyphRange:inTextContainer:")]
CGRect BoundingRectForGlyphRange (NSRange glyphRange, NSTextContainer container);
[Export ("glyphRangeForBoundingRect:inTextContainer:")]
NSRange GlyphRangeForBoundingRect (CGRect bounds, NSTextContainer container);
[Export ("glyphRangeForBoundingRectWithoutAdditionalLayout:inTextContainer:")]
NSRange GlyphRangeForBoundingRectWithoutAdditionalLayout (CGRect bounds, NSTextContainer container);
[Export ("glyphIndexForPoint:inTextContainer:fractionOfDistanceThroughGlyph:")]
nuint GlyphIndexForPoint (CGPoint point, NSTextContainer container, ref nfloat partialFraction);
[Export ("glyphIndexForPoint:inTextContainer:")]
nuint GlyphIndexForPoint (CGPoint point, NSTextContainer container);
[Export ("fractionOfDistanceThroughGlyphForPoint:inTextContainer:")]
nfloat FractionOfDistanceThroughGlyphForPoint (CGPoint point, NSTextContainer container);
[Export ("characterIndexForPoint:inTextContainer:fractionOfDistanceBetweenInsertionPoints:")]
nuint CharacterIndexForPoint (CGPoint point, NSTextContainer container, ref nfloat partialFraction);
[Export ("getLineFragmentInsertionPointsForCharacterAtIndex:alternatePositions:inDisplayOrder:positions:characterIndexes:")]
#if XAMCORE_2_0
[Internal]
#endif
nuint GetLineFragmentInsertionPoints (nuint charIndex, bool alternatePosition, bool inDisplayOrder, IntPtr positions, IntPtr charIndexes);
[Export ("enumerateLineFragmentsForGlyphRange:usingBlock:")]
void EnumerateLineFragments (NSRange glyphRange, NSTextLayoutEnumerateLineFragments callback);
[Export ("enumerateEnclosingRectsForGlyphRange:withinSelectedGlyphRange:inTextContainer:usingBlock:")]
void EnumerateEnclosingRects (NSRange glyphRange, NSRange selectedRange, NSTextContainer textContainer, NSTextLayoutEnumerateEnclosingRects callback);
[Export ("drawBackgroundForGlyphRange:atPoint:")]
void DrawBackgroundForGlyphRange (NSRange glyphsToShow, CGPoint origin);
[Export ("drawGlyphsForGlyphRange:atPoint:")]
void DrawGlyphs (NSRange glyphsToShow, CGPoint origin);
[Export ("showCGGlyphs:positions:count:font:matrix:attributes:inContext:")]
[Internal]
void ShowCGGlyphsInternal (IntPtr glyphs, IntPtr positions, nuint glyphCount, UIFont font, CGAffineTransform textMatrix, NSDictionary attributes, [NullAllowed] CGContext graphicsContext);
// Can't make this internal and expose a manually written API, since you're supposed to override this method, not call it yourself.
//[Export ("fillBackgroundRectArray:count:forCharacterRange:color:")]
//void FillBackgroundRectArray (IntPtr rectArray, nuint rectCount, NSRange charRange, UIColor color);
[Export ("drawUnderlineForGlyphRange:underlineType:baselineOffset:lineFragmentRect:lineFragmentGlyphRange:containerOrigin:")]
void DrawUnderline (NSRange glyphRange, NSUnderlineStyle underlineVal, nfloat baselineOffset, CGRect lineRect, NSRange lineGlyphRange, CGPoint containerOrigin);
[Export ("underlineGlyphRange:underlineType:lineFragmentRect:lineFragmentGlyphRange:containerOrigin:")]
void Underline (NSRange glyphRange, NSUnderlineStyle underlineVal, CGRect lineRect, NSRange lineGlyphRange, CGPoint containerOrigin);
[Export ("drawStrikethroughForGlyphRange:strikethroughType:baselineOffset:lineFragmentRect:lineFragmentGlyphRange:containerOrigin:")]
void DrawStrikethrough (NSRange glyphRange, NSUnderlineStyle strikethroughVal, nfloat baselineOffset, CGRect lineRect, NSRange lineGlyphRange, CGPoint containerOrigin);
[Export ("strikethroughGlyphRange:strikethroughType:lineFragmentRect:lineFragmentGlyphRange:containerOrigin:")]
void Strikethrough (NSRange glyphRange, NSUnderlineStyle strikethroughVal, CGRect lineRect, NSRange lineGlyphRange, CGPoint containerOrigin);
[iOS (9,0)]
[Export ("textContainerForGlyphAtIndex:effectiveRange:withoutAdditionalLayout:")]
[return: NullAllowed]
NSTextContainer GetTextContainer (nuint glyphIndex, out NSRange effectiveGlyphRange, bool withoutAdditionalLayout);
[iOS (9,0)]
[Export ("lineFragmentRectForGlyphAtIndex:effectiveRange:withoutAdditionalLayout:")]
CGRect GetLineFragmentRect (nuint glyphIndex, out NSRange effectiveGlyphRange, bool withoutAdditionalLayout);
[iOS (9,0)]
[Export ("lineFragmentUsedRectForGlyphAtIndex:effectiveRange:withoutAdditionalLayout:")]
CGRect GetLineFragmentUsedRect (nuint glyphIndex, out NSRange effectiveGlyphRange, bool withoutAdditionalLayout);
[iOS (9,0)] // documented as 7.0 but missing in 8.x
2016-04-21 15:30:02 +03:00
[Export ("CGGlyphAtIndex:isValidIndex:")]
unsafe ushort GetGlyph (nuint glyphIndex, ref bool isValidIndex);
[iOS (9,0)] // documented as 7.0 but missing in 8.x
2016-04-21 15:30:02 +03:00
[Export ("CGGlyphAtIndex:")]
ushort GetGlyph (nuint glyphIndex);
}
[Model, BaseType (typeof (NSObject))]
[Protocol]
[Since (7,0)]
partial interface NSLayoutManagerDelegate {
2016-04-21 15:30:02 +03:00
[Export ("layoutManager:shouldGenerateGlyphs:properties:characterIndexes:font:forGlyphRange:")]
nuint ShouldGenerateGlyphs (NSLayoutManager layoutManager, IntPtr glyphBuffer, IntPtr props, IntPtr charIndexes, UIFont aFont, NSRange glyphRange);
[Export ("layoutManager:lineSpacingAfterGlyphAtIndex:withProposedLineFragmentRect:")]
nfloat LineSpacingAfterGlyphAtIndex (NSLayoutManager layoutManager, nuint glyphIndex, CGRect rect);
[Export ("layoutManager:paragraphSpacingBeforeGlyphAtIndex:withProposedLineFragmentRect:")]
nfloat ParagraphSpacingBeforeGlyphAtIndex (NSLayoutManager layoutManager, nuint glyphIndex, CGRect rect);
[Export ("layoutManager:paragraphSpacingAfterGlyphAtIndex:withProposedLineFragmentRect:")]
nfloat ParagraphSpacingAfterGlyphAtIndex (NSLayoutManager layoutManager, nuint glyphIndex, CGRect rect);
[Export ("layoutManager:shouldUseAction:forControlCharacterAtIndex:")]
NSControlCharacterAction ShouldUseAction (NSLayoutManager layoutManager, NSControlCharacterAction action, nuint charIndex);
[Export ("layoutManager:shouldBreakLineByWordBeforeCharacterAtIndex:")]
bool ShouldBreakLineByWordBeforeCharacter (NSLayoutManager layoutManager, nuint charIndex);
[Export ("layoutManager:shouldBreakLineByHyphenatingBeforeCharacterAtIndex:")]
bool ShouldBreakLineByHyphenatingBeforeCharacter (NSLayoutManager layoutManager, nuint charIndex);
[Export ("layoutManager:boundingBoxForControlGlyphAtIndex:forTextContainer:proposedLineFragment:glyphPosition:characterIndex:")]
CGRect BoundingBoxForControlGlyph (NSLayoutManager layoutManager, nuint glyphIndex, NSTextContainer textContainer, CGRect proposedRect, CGPoint glyphPosition, nuint charIndex);
[Export ("layoutManagerDidInvalidateLayout:")]
void DidInvalidatedLayout (NSLayoutManager sender);
[Export ("layoutManager:didCompleteLayoutForTextContainer:atEnd:")]
void DidCompleteLayout (NSLayoutManager layoutManager, NSTextContainer textContainer, bool layoutFinishedFlag);
[Export ("layoutManager:textContainer:didChangeGeometryFromSize:")]
void DidChangeGeometry (NSLayoutManager layoutManager, NSTextContainer textContainer, CGSize oldSize);
[iOS (9,0)]
[Export ("layoutManager:shouldSetLineFragmentRect:lineFragmentUsedRect:baselineOffset:inTextContainer:forGlyphRange:")]
bool ShouldSetLineFragmentRect (NSLayoutManager layoutManager, ref CGRect lineFragmentRect, ref CGRect lineFragmentUsedRect, ref nfloat baselineOffset, NSTextContainer textContainer, NSRange glyphRange);
}
#endif // !WATCH
[Category]
[BaseType (typeof (NSCoder))]
interface NSCoder_UIGeometryKeyedCoding {
[Export ("encodeCGPoint:forKey:")]
void Encode (CGPoint point, string forKey);
[iOS(8,0)]
[Export ("encodeCGVector:forKey:")]
void Encode (CGVector vector, string forKey);
[Export ("encodeCGSize:forKey:")]
void Encode (CGSize size, string forKey);
[Export ("encodeCGRect:forKey:")]
void Encode (CGRect rect, string forKey);
[Export ("encodeCGAffineTransform:forKey:")]
void Encode (CGAffineTransform transform, string forKey);
[Export ("encodeUIEdgeInsets:forKey:")]
void Encode (UIEdgeInsets edgeInsets, string forKey);
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), iOS (11,0)]
[Export ("encodeDirectionalEdgeInsets:forKey:")]
void Encode (NSDirectionalEdgeInsets directionalEdgeInsets, string forKey);
2016-04-21 15:30:02 +03:00
[Export ("encodeUIOffset:forKey:")]
void Encode (UIOffset uiOffset, string forKey);
[Export ("decodeCGPointForKey:")]
CGPoint DecodeCGPoint (string key);
[iOS(8,0)]
[Export ("decodeCGVectorForKey:")]
CGVector DecodeCGVector (string key);
[Export ("decodeCGSizeForKey:")]
CGSize DecodeCGSize (string key);
[Export ("decodeCGRectForKey:")]
CGRect DecodeCGRect (string key);
[Export ("decodeCGAffineTransformForKey:")]
CGAffineTransform DecodeCGAffineTransform (string key);
[Export ("decodeUIEdgeInsetsForKey:")]
UIEdgeInsets DecodeUIEdgeInsets (string key);
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), iOS (11,0)]
[Export ("decodeDirectionalEdgeInsetsForKey:")]
NSDirectionalEdgeInsets DecodeDirectionalEdgeInsets (string key);
2016-04-21 15:30:02 +03:00
[Export ("decodeUIOffsetForKey:")]
UIOffset DecodeUIOffsetForKey (string key);
}
#if !WATCH
[NoTV]
[BaseType (typeof (NSObject))]
[Availability (Introduced = Platform.iOS_2_0, Deprecated = Platform.iOS_5_0, Message = "Use 'CoreMotion' instead.")]
interface UIAcceleration {
2016-04-21 15:30:02 +03:00
[Export ("timestamp")]
double Time { get; }
[Export ("x")]
double X { get; }
[Export ("y")]
double Y { get; }
[Export ("z")]
double Z { get; }
}
[NoTV]
[BaseType (typeof (NSObject), Delegates=new string [] { "WeakDelegate" }, Events=new Type [] {typeof(UIAccelerometerDelegate)})]
[Availability (Introduced = Platform.iOS_2_0, Deprecated = Platform.iOS_5_0, Message = "Use 'CoreMotion' instead.")]
interface UIAccelerometer {
2016-04-21 15:30:02 +03:00
[Static] [Export ("sharedAccelerometer")]
UIAccelerometer SharedAccelerometer { get; }
[Export ("updateInterval")]
double UpdateInterval { get; set; }
[Wrap ("WeakDelegate")]
[Protocolize]
UIAccelerometerDelegate Delegate { get; set; }
[Export ("delegate", ArgumentSemantic.Assign)][NullAllowed]
NSObject WeakDelegate { get; set; }
}
[NoTV]
[BaseType (typeof (NSObject))]
[Model]
[Protocol]
interface UIAccelerometerDelegate {
2016-04-21 15:30:02 +03:00
#pragma warning disable 618
[Export ("accelerometer:didAccelerate:"), EventArgs ("UIAccelerometer"), EventName ("Acceleration")]
void DidAccelerate (UIAccelerometer accelerometer, UIAcceleration acceleration);
#pragma warning restore 618
}
#endif // !WATCH
interface UIAccessibility {
2016-04-21 15:30:02 +03:00
[Export ("isAccessibilityElement")]
bool IsAccessibilityElement { get; set; }
[NullAllowed] // by default this property is null
[Export ("accessibilityLabel", ArgumentSemantic.Copy)]
string AccessibilityLabel { 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
[NoWatch]
[TV (11,0), iOS (11,0)]
[NullAllowed, Export ("accessibilityAttributedLabel", ArgumentSemantic.Copy)]
NSAttributedString AccessibilityAttributedLabel { get; set; }
2016-04-21 15:30:02 +03:00
[NullAllowed] // by default this property is null
[Export ("accessibilityHint", ArgumentSemantic.Copy)]
string AccessibilityHint { 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
[NoWatch]
[TV (11,0), iOS (11,0)]
[NullAllowed, Export ("accessibilityAttributedHint", ArgumentSemantic.Copy)]
NSAttributedString AccessibilityAttributedHint { get; set; }
2016-04-21 15:30:02 +03:00
[NullAllowed] // by default this property is null
[Export ("accessibilityValue", ArgumentSemantic.Copy)]
string AccessibilityValue { 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
[NoWatch]
[TV (11,0), iOS (11,0)]
[NullAllowed, Export ("accessibilityAttributedValue", ArgumentSemantic.Copy)]
NSAttributedString AccessibilityAttributedValue { get; set; }
2016-04-21 15:30:02 +03:00
[Export ("accessibilityTraits")]
UIAccessibilityTrait AccessibilityTraits { get; set; }
[Export ("accessibilityFrame")]
CGRect AccessibilityFrame { get; set; }
[Since (5,0)]
[Export ("accessibilityActivationPoint")]
CGPoint AccessibilityActivationPoint { get; set; }
[NullAllowed] // by default this property is null
[Export ("accessibilityLanguage", ArgumentSemantic.Retain)]
string AccessibilityLanguage { get; set; }
[Since (5,0)]
[Export ("accessibilityElementsHidden")]
bool AccessibilityElementsHidden { get; set; }
[Since (5,0)]
[Export ("accessibilityViewIsModal")]
bool AccessibilityViewIsModal { get; set; }
[Since (6,0)]
[Export ("shouldGroupAccessibilityChildren")]
bool ShouldGroupAccessibilityChildren { get; set; }
[Since (8,0)]
[Export ("accessibilityNavigationStyle")]
UIAccessibilityNavigationStyle AccessibilityNavigationStyle { get; set; }
[Field ("UIAccessibilityTraitNone")]
long TraitNone { get; }
[Field ("UIAccessibilityTraitButton")]
long TraitButton { get; }
[Field ("UIAccessibilityTraitLink")]
long TraitLink { get; }
[Since (6,0)]
[Field ("UIAccessibilityTraitHeader")]
long TraitHeader { get; }
[Field ("UIAccessibilityTraitSearchField")]
long TraitSearchField { get; }
[Field ("UIAccessibilityTraitImage")]
long TraitImage { get; }
[Field ("UIAccessibilityTraitSelected")]
long TraitSelected { get; }
[Field ("UIAccessibilityTraitPlaysSound")]
long TraitPlaysSound { get; }
[Field ("UIAccessibilityTraitKeyboardKey")]
long TraitKeyboardKey { get; }
[Field ("UIAccessibilityTraitStaticText")]
long TraitStaticText { get; }
[Field ("UIAccessibilityTraitSummaryElement")]
long TraitSummaryElement { get; }
[Field ("UIAccessibilityTraitNotEnabled")]
long TraitNotEnabled { get; }
[Field ("UIAccessibilityTraitUpdatesFrequently")]
long TraitUpdatesFrequently { get; }
[Field ("UIAccessibilityTraitStartsMediaSession")]
long TraitStartsMediaSession { get; }
[Field ("UIAccessibilityTraitAdjustable")]
long TraitAdjustable { get; }
[Since (5,0)]
[Field ("UIAccessibilityTraitAllowsDirectInteraction")]
long TraitAllowsDirectInteraction { get; }
[Since (5,0)]
[Field ("UIAccessibilityTraitCausesPageTurn")]
long TraitCausesPageTurn { get; }
[iOS (10,0), TV (10,0), Watch (3,0)]
2016-08-06 18:06:39 +03:00
[Field ("UIAccessibilityTraitTabBar")]
long TraitTabBar { get; }
2016-04-21 15:30:02 +03:00
[Since (6,0)]
[Field ("UIAccessibilityAnnouncementDidFinishNotification")]
[Notification (typeof (UIAccessibilityAnnouncementFinishedEventArgs))]
NSString AnnouncementDidFinishNotification { get; }
[NoWatch]
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, 11, 0, message: "Use 'VoiceOverStatusDidChangeNotification' instead.")]
[Deprecated (PlatformName.TvOS, 11, 0, message: "Use 'VoiceOverStatusDidChangeNotification' instead.")]
2016-04-21 15:30:02 +03:00
[Field ("UIAccessibilityVoiceOverStatusChanged")]
NSString VoiceOverStatusChanged { 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
[NoWatch]
[TV (11,0), iOS (11,0)]
[Field ("UIAccessibilityVoiceOverStatusDidChangeNotification")]
[Notification]
NSString VoiceOverStatusDidChangeNotification { get; }
2016-04-21 15:30:02 +03:00
[NoWatch]
[Since (5,0)]
[Field ("UIAccessibilityMonoAudioStatusDidChangeNotification")]
[Notification]
NSString MonoAudioStatusDidChangeNotification { get; }
[NoWatch]
[Since (5,0)]
[Field ("UIAccessibilityClosedCaptioningStatusDidChangeNotification")]
[Notification]
NSString ClosedCaptioningStatusDidChangeNotification { get; }
[NoWatch]
[Since (6,0)]
[Field ("UIAccessibilityInvertColorsStatusDidChangeNotification")]
[Notification]
NSString InvertColorsStatusDidChangeNotification { get; }
[NoWatch]
[Since (6,0)]
[Field ("UIAccessibilityGuidedAccessStatusDidChangeNotification")]
[Notification]
NSString GuidedAccessStatusDidChangeNotification { get; }
[Field ("UIAccessibilityScreenChangedNotification")]
int ScreenChangedNotification { get; } // This is int, not nint
[Field ("UIAccessibilityLayoutChangedNotification")]
int LayoutChangedNotification { get; } // This is int, not nint
[Field ("UIAccessibilityAnnouncementNotification")]
int AnnouncementNotification { get; } // This is int, not nint
[Since (4,2)]
[Field ("UIAccessibilityPageScrolledNotification")]
int PageScrolledNotification { get; } // This is int, not nint
[Since (7,0)]
[NullAllowed] // by default this property is null
[Export ("accessibilityPath", ArgumentSemantic.Copy)]
UIBezierPath AccessibilityPath { get; set; }
[Since (7,0)]
[Export ("accessibilityActivate")]
bool AccessibilityActivate ();
[Since (7,0)]
[Field ("UIAccessibilitySpeechAttributePunctuation")]
NSString SpeechAttributePunctuation { get; }
[Since (7,0)]
[Field ("UIAccessibilitySpeechAttributeLanguage")]
NSString SpeechAttributeLanguage { get; }
[Since (7,0)]
[Field ("UIAccessibilitySpeechAttributePitch")]
NSString SpeechAttributePitch { get; }
[NoWatch]
[iOS (8,0)]
[Notification]
[Field ("UIAccessibilityBoldTextStatusDidChangeNotification")]
NSString BoldTextStatusDidChangeNotification { get; }
[NoWatch]
[iOS (8,0)]
[Notification]
[Field ("UIAccessibilityDarkerSystemColorsStatusDidChangeNotification")]
NSString DarkerSystemColorsStatusDidChangeNotification { get; }
[NoWatch]
[iOS (8,0)]
[Notification]
[Field ("UIAccessibilityGrayscaleStatusDidChangeNotification")]
NSString GrayscaleStatusDidChangeNotification { get; }
[NoWatch]
[iOS (8,0)]
[Notification]
[Field ("UIAccessibilityReduceMotionStatusDidChangeNotification")]
NSString ReduceMotionStatusDidChangeNotification { get; }
[NoWatch]
[iOS (8,0)]
[Notification]
[Field ("UIAccessibilityReduceTransparencyStatusDidChangeNotification")]
NSString ReduceTransparencyStatusDidChangeNotification { get; }
[NoWatch]
[iOS (8,0)]
[Notification]
[Field ("UIAccessibilitySwitchControlStatusDidChangeNotification")]
NSString SwitchControlStatusDidChangeNotification { get; }
[iOS (8,0)]
[Field ("UIAccessibilityNotificationSwitchControlIdentifier")]
NSString NotificationSwitchControlIdentifier { get; }
// Chose int because this should be UIAccessibilityNotifications type
// just like UIAccessibilityAnnouncementNotification field
[iOS (8,0)]
//[Notification] // int ScreenChangedNotification doesn't use this attr either
[Field ("UIAccessibilityPauseAssistiveTechnologyNotification")]
int PauseAssistiveTechnologyNotification { get; } // UIAccessibilityNotifications => uint32_t
// Chose int because this should be UIAccessibilityNotifications type
// just like UIAccessibilityAnnouncementNotification field
[iOS (8,0)]
//[Notification] // int ScreenChangedNotification doesn't use this attr either
[Field ("UIAccessibilityResumeAssistiveTechnologyNotification")]
int ResumeAssistiveTechnologyNotification { get; } // UIAccessibilityNotifications => uint32_t
[NoWatch]
[iOS (8,0)]
[Notification]
[Field ("UIAccessibilitySpeakScreenStatusDidChangeNotification")]
NSString SpeakScreenStatusDidChangeNotification { get; }
[NoWatch]
[iOS (8,0)]
[Notification]
[Field ("UIAccessibilitySpeakSelectionStatusDidChangeNotification")]
NSString SpeakSelectionStatusDidChangeNotification { get; }
[NoWatch]
[iOS (9,0)]
[Notification]
[Field ("UIAccessibilityShakeToUndoDidChangeNotification")]
NSString ShakeToUndoDidChangeNotification { get; }
// FIXME: we only used this on a few types before, none of them available on tvOS
// but a new member was added to the platform...
[TV (9,0), NoWatch, NoiOS]
[NullAllowed, Export ("accessibilityHeaderElements", ArgumentSemantic.Copy)]
NSObject[] AccessibilityHeaderElements { get; set; }
[iOS (9, 0)]
[Notification]
[Field ("UIAccessibilityElementFocusedNotification")]
NSString ElementFocusedNotification { get; }
[iOS (9, 0)]
[Notification]
[Field ("UIAccessibilityFocusedElementKey")]
NSString FocusedElementKey { get; }
[iOS (9, 0)]
[Notification]
[Field ("UIAccessibilityUnfocusedElementKey")]
NSString UnfocusedElementKey { get; }
[iOS (9, 0)]
[Notification]
[Field ("UIAccessibilityAssistiveTechnologyKey")]
NSString AssistiveTechnologyKey { get; }
[iOS (9, 0)]
[Field ("UIAccessibilityNotificationVoiceOverIdentifier")]
NSString NotificationVoiceOverIdentifier { get; }
2016-08-06 18:06:39 +03:00
[NoWatch]
[NoTV]
2016-08-06 18:06:39 +03:00
[iOS (10,0)]
[Notification]
[Field ("UIAccessibilityHearingDevicePairedEarDidChangeNotification")]
NSString HearingDevicePairedEarDidChangeNotification { get; }
[NoWatch]
[iOS (10,0), TV (10,0)]
2016-08-06 18:06:39 +03:00
[Notification]
[Field ("UIAccessibilityAssistiveTouchStatusDidChangeNotification")]
NSString AssistiveTouchStatusDidChangeNotification { 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
[iOS (11,0), TV (11,0), Watch (4,0)]
[Field ("UIAccessibilitySpeechAttributeQueueAnnouncement")]
NSString SpeechAttributeQueueAnnouncement { get; }
[iOS (11,0), TV (11,0), Watch (4,0)]
[Field ("UIAccessibilitySpeechAttributeIPANotation")]
NSString SpeechAttributeIpaNotation { get; }
[iOS (11,0), TV (11,0), Watch (4,0)]
[Field ("UIAccessibilityTextAttributeHeadingLevel")]
NSString TextAttributeHeadingLevel { get; }
[iOS (11,0), TV (11,0), Watch (4,0)]
[Field ("UIAccessibilityTextAttributeCustom")]
NSString TextAttributeCustom { get; }
2016-04-21 15:30:02 +03:00
}
interface UIAccessibilityAnnouncementFinishedEventArgs {
[Export ("UIAccessibilityAnnouncementKeyStringValue")]
string Announcement { get; }
[Export ("UIAccessibilityAnnouncementKeyWasSuccessful")]
bool WasSuccessful { get; }
}
#if !WATCH
[Protocol (IsInformal = true)]
interface UIAccessibilityContainer {
[Export ("accessibilityElementCount")]
nint AccessibilityElementCount ();
[Export ("accessibilityElementAtIndex:")]
NSObject GetAccessibilityElementAt (nint index);
[Export ("indexOfAccessibilityElement:")]
nint GetIndexOfAccessibilityElement (NSObject element);
[Export ("accessibilityElements")]
[iOS (8,0)]
NSObject GetAccessibilityElements ();
[iOS (8,0)]
[Export ("setAccessibilityElements:")]
void SetAccessibilityElements ([NullAllowed] NSObject elements);
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 (11,0), TV (11,0)]
[Export ("accessibilityContainerType", ArgumentSemantic.Assign)]
UIAccessibilityContainerType AccessibilityContainerType { get; set; }
}
interface IUIAccessibilityContainerDataTableCell {}
[iOS (11,0), TV (11,0)]
[Protocol]
interface UIAccessibilityContainerDataTableCell {
[Abstract]
[Export ("accessibilityRowRange")]
NSRange GetAccessibilityRowRange ();
[Abstract]
[Export ("accessibilityColumnRange")]
NSRange GetAccessibilityColumnRange ();
}
[iOS (11,0), TV (11,0)]
[Protocol, Model]
[BaseType (typeof(NSObject))]
interface UIAccessibilityContainerDataTable {
[Abstract]
[Export ("accessibilityDataTableCellElementForRow:column:")]
[return: NullAllowed]
IUIAccessibilityContainerDataTableCell GetAccessibilityDataTableCellElement (nuint row, nuint column);
[Abstract]
[Export ("accessibilityRowCount")]
nuint AccessibilityRowCount { get; }
[Abstract]
[Export ("accessibilityColumnCount")]
nuint AccessibilityColumnCount { get; }
[Export ("accessibilityHeaderElementsForRow:")]
[return: NullAllowed]
IUIAccessibilityContainerDataTableCell[] GetAccessibilityHeaderElementsForRow (nuint row);
[Export ("accessibilityHeaderElementsForColumn:")]
[return: NullAllowed]
IUIAccessibilityContainerDataTableCell[] GetAccessibilityHeaderElementsForColumn (nuint column);
2016-04-21 15:30:02 +03:00
}
[iOS (8,0)]
[BaseType (typeof (NSObject))]
[DisableDefaultCtor] // NSInvalidArgumentException Please use the designated initializer
partial interface UIAccessibilityCustomAction {
2016-04-21 15:30:02 +03:00
[Export ("initWithName:target:selector:")]
IntPtr Constructor (string name, NSObject target, Selector selector);
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
[TV (11,0), iOS (11,0)]
[Export ("initWithAttributedName:target:selector:")]
IntPtr Constructor (NSAttributedString attributedName, [NullAllowed] NSObject target, Selector selector);
2016-04-21 15:30:02 +03:00
[NullAllowed] // by default this property is null
[Export ("name")]
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
[TV (11,0), iOS (11,0)]
[Export ("attributedName", ArgumentSemantic.Copy)]
NSAttributedString AttributedName { get; set; }
2016-04-21 15:30:02 +03:00
[NullAllowed] // by default this property is null
[Export ("target", ArgumentSemantic.Weak)]
NSObject Target { get; set; }
[NullAllowed] // by default this property is null
[Export ("selector", ArgumentSemantic.UnsafeUnretained)]
Selector Selector { get; set; }
}
2016-08-06 18:06:39 +03:00
delegate UIAccessibilityCustomRotorItemResult UIAccessibilityCustomRotorSearch (UIAccessibilityCustomRotorSearchPredicate predicate);
[iOS (10,0), TV (10,0)]
2016-08-06 18:06:39 +03:00
[BaseType (typeof (NSObject))]
interface UIAccessibilityCustomRotor {
[Export ("initWithName:itemSearchBlock:")]
IntPtr Constructor (string name, UIAccessibilityCustomRotorSearch itemSearchHandler);
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 (11,0), TV (11,0)]
[Export ("initWithAttributedName:itemSearchBlock:")]
IntPtr Constructor (NSAttributedString attributedName, UIAccessibilityCustomRotorSearch itemSearchBlock);
[iOS (11,0), TV (11,0)]
[Export ("initWithSystemType:itemSearchBlock:")]
IntPtr Constructor (UIAccessibilityCustomSystemRotorType type, UIAccessibilityCustomRotorSearch itemSearchBlock);
2016-08-06 18:06:39 +03:00
[Export ("name")]
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
[iOS (11,0), TV (11,0)]
[Export ("attributedName", ArgumentSemantic.Copy)]
NSAttributedString AttributedName { get; set; }
2016-08-06 18:06:39 +03:00
[Export ("itemSearchBlock", ArgumentSemantic.Copy)]
UIAccessibilityCustomRotorSearch ItemSearchHandler { 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
[iOS (11,0), TV (11,0)]
[Export ("systemRotorType")]
UIAccessibilityCustomSystemRotorType SystemRotorType { get; }
2016-08-06 18:06:39 +03:00
}
[iOS (10,0), TV (10,0)]
2016-08-06 18:06:39 +03:00
[Category]
[BaseType (typeof (NSObject))]
interface NSObject_UIAccessibilityCustomRotor {
[Export ("accessibilityCustomRotors")]
[return: NullAllowed]
UIAccessibilityCustomRotor [] GetAccessibilityCustomRotors ();
[Export ("setAccessibilityCustomRotors:")]
void SetAccessibilityCustomRotors ([NullAllowed] UIAccessibilityCustomRotor [] customRotors);
}
[iOS (10,0), TV (10,0)]
2016-08-06 18:06:39 +03:00
[BaseType (typeof(NSObject))]
interface UIAccessibilityCustomRotorItemResult {
[Export ("initWithTargetElement:targetRange:")]
IntPtr Constructor (NSObject targetElement, [NullAllowed] UITextRange targetRange);
[NullAllowed, Export ("targetElement", ArgumentSemantic.Weak)]
NSObject TargetElement { get; set; }
[NullAllowed, Export ("targetRange", ArgumentSemantic.Retain)]
UITextRange TargetRange { get; set; }
}
[iOS (10,0), TV (10,0)]
2016-08-06 18:06:39 +03:00
[BaseType (typeof(NSObject))]
interface UIAccessibilityCustomRotorSearchPredicate {
[Export ("currentItem", ArgumentSemantic.Retain)]
UIAccessibilityCustomRotorItemResult CurrentItem { get; set; }
[Export ("searchDirection", ArgumentSemantic.Assign)]
UIAccessibilityCustomRotorDirection SearchDirection { get; set; }
}
2016-04-21 15:30:02 +03:00
[BaseType (typeof (NSObject))]
#if XAMCORE_2_0
// only happens on the simulator (not devices) on iOS8 (still make sense)
[DisableDefaultCtor] // NSInvalidArgumentException Reason: Use initWithAccessibilityContainer:
#endif
interface UIAccessibilityElement : UIAccessibilityIdentification {
[Export ("initWithAccessibilityContainer:")]
IntPtr Constructor (NSObject container);
[NullAllowed] // by default this property is null
[Export ("accessibilityContainer", ArgumentSemantic.UnsafeUnretained)]
NSObject AccessibilityContainer { get; set; }
[Export ("isAccessibilityElement", ArgumentSemantic.UnsafeUnretained)]
bool IsAccessibilityElement { get; set; }
[NullAllowed] // by default this property is null
[Export ("accessibilityLabel", ArgumentSemantic.Retain)]
string AccessibilityLabel { get; set; }
[NullAllowed] // by default this property is null
[Export ("accessibilityHint", ArgumentSemantic.Retain)]
string AccessibilityHint { get; set; }
[NullAllowed] // by default this property is null
[Export ("accessibilityValue", ArgumentSemantic.Retain)]
string AccessibilityValue { get; set; }
[Export ("accessibilityFrame", ArgumentSemantic.UnsafeUnretained)]
CGRect AccessibilityFrame { get; set; }
[Export ("accessibilityTraits", ArgumentSemantic.UnsafeUnretained)]
ulong AccessibilityTraits { get; set; }
2016-08-06 18:06:39 +03:00
[iOS (10,0), TV (10,0)]
2016-08-06 18:06:39 +03:00
[Export ("accessibilityFrameInContainerSpace", ArgumentSemantic.Assign)]
CGRect AccessibilityFrameInContainerSpace { get; set; }
2016-04-21 15:30:02 +03:00
}
interface UIAccessibilityFocus {
2016-04-21 15:30:02 +03:00
[Export ("accessibilityElementDidBecomeFocused")]
void AccessibilityElementDidBecomeFocused ();
[Export ("accessibilityElementDidLoseFocus")]
void AccessibilityElementDidLoseFocus ();
[Export ("accessibilityElementIsFocused")]
bool AccessibilityElementIsFocused ();
[iOS (9,0)]
[Export ("accessibilityAssistiveTechnologyFocusedIdentifiers")]
NSSet<NSString> AccessibilityAssistiveTechnologyFocusedIdentifiers { get; }
}
interface UIAccessibilityAction {
2016-04-21 15:30:02 +03:00
#if !XAMCORE_2_0
[New] // To avoid the warning that we are overwriting the method in NSObject.
#endif
[Export ("accessibilityIncrement")]
void AccessibilityIncrement ();
#if !XAMCORE_2_0
[New] // To avoid the warning that we are overwriting the method in NSObject
#endif
[Export ("accessibilityDecrement")]
void AccessibilityDecrement ();
#if !XAMCORE_2_0
[New] // To avoid the warning that we are overwriting the method in NSObject
#endif
[Since (4,2)]
[Export ("accessibilityScroll:")]
bool AccessibilityScroll (UIAccessibilityScrollDirection direction);
[Since (5,0)]
[Export ("accessibilityPerformEscape")]
bool AccessibilityPerformEscape ();
[Since (6,0)]
[Export ("accessibilityPerformMagicTap")]
bool AccessibilityPerformMagicTap ();
[Since (8,0)]
[Export ("accessibilityCustomActions"), NullAllowed]
UIAccessibilityCustomAction [] AccessibilityCustomActions { 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
[NoWatch, NoTV]
[iOS (11,0)]
// NSObject category inlined in UIResponder
interface UIAccessibilityDragging {
[NullAllowed, Export ("accessibilityDragSourceDescriptors", ArgumentSemantic.Copy)]
UIAccessibilityLocationDescriptor[] AccessibilityDragSourceDescriptors { get; set; }
[NullAllowed, Export ("accessibilityDropPointDescriptors", ArgumentSemantic.Copy)]
UIAccessibilityLocationDescriptor[] AccessibilityDropPointDescriptors { get; set; }
}
[NoWatch, NoTV]
[iOS (11,0)]
[BaseType (typeof(NSObject))]
[DisableDefaultCtor]
interface UIAccessibilityLocationDescriptor {
[Export ("initWithName:view:")]
IntPtr Constructor (string name, UIView view);
[Export ("initWithName:point:inView:")]
IntPtr Constructor (string name, CGPoint point, UIView view);
[Export ("initWithAttributedName:point:inView:")]
[DesignatedInitializer]
IntPtr Constructor (NSAttributedString attributedName, CGPoint point, UIView view);
[NullAllowed, Export ("view", ArgumentSemantic.Weak)]
UIView View { get; }
[Export ("point")]
CGPoint Point { get; }
[Export ("name", ArgumentSemantic.Strong)]
string Name { get; }
[Export ("attributedName", ArgumentSemantic.Strong)]
NSAttributedString AttributedName { get; }
}
[NoWatch]
[TV (11,0), iOS (11,0)]
[Protocol]
interface UIAccessibilityContentSizeCategoryImageAdjusting {
[Abstract]
[Export ("adjustsImageSizeForAccessibilityContentSizeCategory")]
bool AdjustsImageSizeForAccessibilityContentSizeCategory { get; set; }
}
2016-04-21 15:30:02 +03:00
[NoTV]
[BaseType (typeof (UIView), KeepRefUntil="Dismissed", Delegates=new string [] { "WeakDelegate" }, Events=new Type [] {typeof(UIActionSheetDelegate)})]
interface UIActionSheet {
2016-04-21 15:30:02 +03:00
[Export ("initWithFrame:")]
IntPtr Constructor (CGRect frame);
[Availability (Deprecated=Platform.iOS_8_0, Message="Use 'UIAlertController' instead.")]
2016-04-21 15:30:02 +03:00
[Export ("initWithTitle:delegate:cancelButtonTitle:destructiveButtonTitle:otherButtonTitles:")][Internal][PostGet ("WeakDelegate")]
IntPtr Constructor ([NullAllowed] string title, [NullAllowed] IUIActionSheetDelegate Delegate, [NullAllowed] string cancelTitle, [NullAllowed] string destroy, [NullAllowed] string other);
[Export ("delegate", ArgumentSemantic.Assign)][NullAllowed]
NSObject WeakDelegate { get; set; }
[Wrap ("WeakDelegate")]
[Protocolize]
UIActionSheetDelegate Delegate { get; set; }
[NullAllowed] // by default this property is null
[Export ("title", ArgumentSemantic.Copy)]
string Title { get; set; }
[Export ("actionSheetStyle")]
UIActionSheetStyle Style { get; set; }
[Export ("addButtonWithTitle:")]
nint AddButton (string title);
[Export ("buttonTitleAtIndex:")]
string ButtonTitle (nint index);
[Export ("numberOfButtons")]
nint ButtonCount { get; }
[Export ("cancelButtonIndex")]
nint CancelButtonIndex { get; set; }
[Export ("destructiveButtonIndex")]
nint DestructiveButtonIndex { get; set; }
[Export ("firstOtherButtonIndex")]
nint FirstOtherButtonIndex { get; }
[Export ("visible")]
bool Visible { [Bind ("isVisible")] get; }
[Export ("showFromToolbar:")]
void ShowFromToolbar (UIToolbar view);
[Export ("showFromTabBar:")]
void ShowFromTabBar (UITabBar view);
[Export ("showInView:")]
void ShowInView (UIView view);
[Export ("dismissWithClickedButtonIndex:animated:")]
void DismissWithClickedButtonIndex (nint buttonIndex, bool animated);
[Since (3,2)]
[Export ("showFromBarButtonItem:animated:")]
void ShowFrom (UIBarButtonItem item, bool animated);
[Since (3,2)]
[Export ("showFromRect:inView:animated:")]
void ShowFrom (CGRect rect, UIView inView, bool animated);
}
interface IUIActionSheetDelegate {}
2016-04-21 15:30:02 +03:00
[NoTV]
[BaseType (typeof (NSObject))]
[Model]
[Protocol]
interface UIActionSheetDelegate {
2016-04-21 15:30:02 +03:00
[Export ("actionSheet:clickedButtonAtIndex:"), EventArgs ("UIButton")]
void Clicked (UIActionSheet actionSheet, nint buttonIndex);
[Export ("actionSheetCancel:"), EventArgs ("UIActionSheet")]
void Canceled (UIActionSheet actionSheet);
[Export ("willPresentActionSheet:"), EventArgs ("UIActionSheet")]
void WillPresent (UIActionSheet actionSheet);
[Export ("didPresentActionSheet:"), EventArgs ("UIActionSheet")]
void Presented (UIActionSheet actionSheet);
[Export ("actionSheet:willDismissWithButtonIndex:"), EventArgs ("UIButton")]
void WillDismiss (UIActionSheet actionSheet, nint buttonIndex);
[Export ("actionSheet:didDismissWithButtonIndex:"), EventArgs ("UIButton")]
void Dismissed (UIActionSheet actionSheet, nint buttonIndex);
}
[NoTV]
[Since (6,0)]
[BaseType (typeof (NSObject))]
interface UIActivity {
[Export ("activityType")]
NSString Type { get; }
[Export ("activityTitle")]
string Title { get; }
[Export ("activityImage")]
UIImage Image { get; }
[Export ("canPerformWithActivityItems:")]
bool CanPerform (NSObject [] activityItems);
[Export ("prepareWithActivityItems:")]
void Prepare (NSObject [] activityItems);
[Export ("activityViewController")]
UIViewController ViewController { get; }
[Export ("performActivity")]
void Perform ();
[Export ("activityDidFinish:")]
void Finished (bool completed);
[Since (7,0)]
[Export ("activityCategory"), Static]
UIActivityCategory Category { get; }
}
[NoTV]
[Since (6,0)]
[Static]
interface UIActivityType
{
[Field ("UIActivityTypePostToFacebook")]
NSString PostToFacebook { get; }
[Field ("UIActivityTypePostToTwitter")]
NSString PostToTwitter { get; }
[Field ("UIActivityTypePostToWeibo")]
NSString PostToWeibo { get; }
[Field ("UIActivityTypeMessage")]
NSString Message { get; }
[Field ("UIActivityTypeMail")]
NSString Mail { get; }
[Field ("UIActivityTypePrint")]
NSString Print { get; }
[Field ("UIActivityTypeCopyToPasteboard")]
NSString CopyToPasteboard { get; }
[Field ("UIActivityTypeAssignToContact")]
NSString AssignToContact { get; }
[Field ("UIActivityTypeSaveToCameraRoll")]
NSString SaveToCameraRoll { get; }
[Since (7,0)]
[Field ("UIActivityTypeAddToReadingList")]
NSString AddToReadingList { get; }
[Since (7,0)]
[Field ("UIActivityTypePostToFlickr")]
NSString PostToFlickr { get; }
[Since (7,0)]
[Field ("UIActivityTypePostToVimeo")]
NSString PostToVimeo { get; }
[Since (7,0)]
[Field ("UIActivityTypePostToTencentWeibo")]
NSString PostToTencentWeibo { get; }
[Since (7,0)]
[Field ("UIActivityTypeAirDrop")]
NSString AirDrop { get; }
[Since (9,0)]
[Field ("UIActivityTypeOpenInIBooks")]
NSString OpenInIBooks { 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
[iOS (11,0)]
[Field ("UIActivityTypeMarkupAsPDF")]
NSString MarkupAsPdf { get; }
2016-04-21 15:30:02 +03:00
}
//
// You're supposed to implement this protocol in your UIView subclasses, not provide
// a implementation for only this protocol, which is why there is no model to subclass.
//
[Protocol]
interface UIInputViewAudioFeedback {
[Export ("enableInputClicksWhenVisible")]
[Abstract] // it's technically optional but there's no point in adopting the protocol if you do not provide the implemenation
bool EnableInputClicksWhenVisible { get; }
}
[NoTV]
[Since (6,0)]
[BaseType (typeof (NSOperation))]
[ThreadSafe]
[DisableDefaultCtor] // NSInternalInconsistencyException Reason: Use initWithPlaceholderItem: to instantiate an instance of UIActivityItemProvider
interface UIActivityItemProvider : UIActivityItemSource {
[DesignatedInitializer]
[Export ("initWithPlaceholderItem:")]
[PostGet ("PlaceholderItem")]
IntPtr Constructor (NSObject placeholderItem);
[Export ("placeholderItem", ArgumentSemantic.Retain)]
NSObject PlaceholderItem { get; }
[Export ("activityType")]
NSString ActivityType { get; }
[Export ("item")]
NSObject Item { get; }
}
interface IUIActivityItemSource { }
2016-04-21 15:30:02 +03:00
[NoTV]
[Since (6,0)]
[BaseType (typeof (NSObject))]
[Model]
[Protocol]
interface UIActivityItemSource {
[Abstract]
[Export ("activityViewControllerPlaceholderItem:")]
NSObject GetPlaceholderData (UIActivityViewController activityViewController);
[Abstract]
[Export ("activityViewController:itemForActivityType:")]
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
NSObject GetItemForActivity (UIActivityViewController activityViewController, [NullAllowed] NSString activityType);
2016-04-21 15:30:02 +03:00
[Since (7,0)]
[Export ("activityViewController:dataTypeIdentifierForActivityType:")]
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
string GetDataTypeIdentifierForActivity (UIActivityViewController activityViewController, [NullAllowed] NSString activityType);
2016-04-21 15:30:02 +03:00
[Since (7,0)]
[Export ("activityViewController:subjectForActivityType:")]
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
string GetSubjectForActivity (UIActivityViewController activityViewController, [NullAllowed] NSString activityType);
2016-04-21 15:30:02 +03:00
[Since (7,0)]
[Export ("activityViewController:thumbnailImageForActivityType:suggestedSize:")]
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
UIImage GetThumbnailImageForActivity (UIActivityViewController activityViewController, [NullAllowed] NSString activityType, CGSize suggestedSize);
2016-04-21 15:30:02 +03:00
}
[NoTV]
[Since (6,0)]
[BaseType (typeof (UIViewController))]
[DisableDefaultCtor] // NSInternalInconsistencyException Reason: Use initWithActivityItems:applicationActivities: to instantiate an instance of UIActivityViewController
interface UIActivityViewController {
[DesignatedInitializer]
[Export ("initWithActivityItems:applicationActivities:")]
IntPtr Constructor (NSObject [] activityItems, [NullAllowed] UIActivity [] applicationActivities);
[NullAllowed] // by default this property is null
[Export ("completionHandler", ArgumentSemantic.Copy)]
[Availability (Deprecated = Platform.iOS_8_0, Message="Use the 'CompletionWithItemsHandler' property instead.")]
2016-04-21 15:30:02 +03:00
Action<NSString,bool> CompletionHandler { get; set; }
[Export ("excludedActivityTypes", ArgumentSemantic.Copy)]
[NullAllowed]
NSString [] ExcludedActivityTypes { get; set; }
[iOS (8,0)]
[NullAllowed, Export ("completionWithItemsHandler", ArgumentSemantic.Copy)]
UIActivityViewControllerCompletion CompletionWithItemsHandler { get; set; }
}
[iOS (8,0)]
[BaseType (typeof (NSObject))]
partial interface UIAlertAction : NSCopying {
2016-04-21 15:30:02 +03:00
[Export ("title")]
string Title { get; }
[Export ("style")]
UIAlertActionStyle Style { get; }
[Export ("enabled")]
bool Enabled { [Bind ("isEnabled")] get; set; }
[Static, Export ("actionWithTitle:style:handler:")]
UIAlertAction Create (string title, UIAlertActionStyle style, [NullAllowed] Action<UIAlertAction> handler);
}
[iOS (8,0)]
[BaseType (typeof (UIViewController))]
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
partial interface UIAlertController
#if IOS
: UISpringLoadedInteractionSupporting
#endif
{
2016-04-21 15:30:02 +03:00
[Export ("initWithNibName:bundle:")]
[PostGet ("NibBundle")]
IntPtr Constructor ([NullAllowed] string nibName, [NullAllowed] NSBundle bundle);
[Export ("actions")]
UIAlertAction [] Actions { get; }
[Export ("textFields")]
UITextField [] TextFields { get; }
[Export ("title", ArgumentSemantic.Copy), NullAllowed]
string Title { get; set; }
[Export ("message", ArgumentSemantic.Copy), NullAllowed]
string Message { get; set; }
[Export ("preferredStyle")]
UIAlertControllerStyle PreferredStyle { get; }
[Static, Export ("alertControllerWithTitle:message:preferredStyle:")]
UIAlertController Create ([NullAllowed] string title, [NullAllowed] string message, UIAlertControllerStyle preferredStyle);
[Export ("addAction:")]
void AddAction (UIAlertAction action);
[Export ("addTextFieldWithConfigurationHandler:")]
void AddTextField (Action<UITextField> configurationHandler);
[iOS(9,0)]
[Export ("preferredAction")]
[NullAllowed]
UIAlertAction PreferredAction { get; set; }
}
interface IUIAlertViewDelegate {}
2016-04-21 15:30:02 +03:00
[NoTV]
[BaseType (typeof (UIView), KeepRefUntil="Dismissed", Delegates=new string [] { "WeakDelegate" }, Events=new Type [] {typeof(UIAlertViewDelegate)})]
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use 'UIAlertController' with a 'UIAlertControllerStyle.Alert' type instead.")]
interface UIAlertView : NSCoding {
2016-04-21 15:30:02 +03:00
[DesignatedInitializer]
[Export ("initWithFrame:")]
IntPtr Constructor (CGRect frame);
[Sealed]
[Export ("initWithTitle:message:delegate:cancelButtonTitle:otherButtonTitles:", IsVariadic = true)][Internal][PostGet ("WeakDelegate")]
// The native function takes a variable number of arguments (otherButtonTitles), terminated with a nil value.
// Unfortunately iOS/ARM64 (not the general ARM64 ABI as published by ARM) has a different calling convention for varargs methods
// than regular methods: all variable arguments are passed on the stack, no matter how many normal arguments there are.
// Normally 8 arguments are passed in registers, then the subsequent ones are passed on the stack, so what we do is to provide
// 9 arguments, where the 9th is nil (this is the 'mustAlsoBeNull' argument). Remember that Objective-C always has two hidden
// arguments (id, SEL), which means we only need 7 more. And 'mustAlsoBeNull' is that 7th argument.
// So on ARM64 the 8th argument ('mustBeNull') is ignored, and iOS sees the 9th argument ('mustAlsoBeNull') as the 8th argument.
[Availability (Deprecated=Platform.iOS_8_0, Message="Use 'UIAlertController' instead.")]
IntPtr Constructor ([NullAllowed] string title, [NullAllowed] string message, [NullAllowed] IUIAlertViewDelegate viewDelegate, [NullAllowed] string cancelButtonTitle, IntPtr otherButtonTitles, IntPtr mustBeNull, IntPtr mustAlsoBeNull);
2016-04-21 15:30:02 +03:00
[Wrap ("WeakDelegate")]
[Protocolize]
UIAlertViewDelegate Delegate { get; set; }
[Export ("delegate", ArgumentSemantic.Assign)][NullAllowed]
NSObject WeakDelegate { get; set; }
[NullAllowed] // by default this property is null
[Export ("title", ArgumentSemantic.Copy)]
string Title { get; set; }
[NullAllowed] // by default this property is null
[Export ("message", ArgumentSemantic.Copy)]
string Message { get; set; }
[Export ("addButtonWithTitle:")]
nint AddButton ([NullAllowed] string title);
[Export ("buttonTitleAtIndex:")]
string ButtonTitle (nint index);
[Export ("numberOfButtons")]
nint ButtonCount { get; }
[Export ("cancelButtonIndex")]
nint CancelButtonIndex { get; set; }
[Export ("firstOtherButtonIndex")]
nint FirstOtherButtonIndex { get; }
[Export ("visible")]
bool Visible { [Bind ("isVisible")] get; }
[Export ("show")]
void Show ();
[Export ("dismissWithClickedButtonIndex:animated:")]
void DismissWithClickedButtonIndex (nint index, bool animated);
[Since (5,0)]
[Export ("alertViewStyle", ArgumentSemantic.Assign)]
UIAlertViewStyle AlertViewStyle { get; set; }
[Since (5,0)]
[Export ("textFieldAtIndex:")]
UITextField GetTextField (nint textFieldIndex);
}
[NoTV]
[BaseType (typeof (NSObject))]
[Model]
[Protocol]
interface UIAlertViewDelegate {
2016-04-21 15:30:02 +03:00
[Export ("alertView:clickedButtonAtIndex:"), EventArgs ("UIButton")]
void Clicked (UIAlertView alertview, nint buttonIndex);
[Export ("alertViewCancel:"), EventArgs ("UIAlertView")]
void Canceled (UIAlertView alertView);
[Export ("willPresentAlertView:"), EventArgs ("UIAlertView")]
void WillPresent (UIAlertView alertView);
[Export ("didPresentAlertView:"), EventArgs ("UIAlertView")]
void Presented (UIAlertView alertView);
[Export ("alertView:willDismissWithButtonIndex:"), EventArgs ("UIButton")]
void WillDismiss (UIAlertView alertView, nint buttonIndex);
[Export ("alertView:didDismissWithButtonIndex:"), EventArgs ("UIButton")]
void Dismissed (UIAlertView alertView, nint buttonIndex);
[Since (5,0)]
[Export ("alertViewShouldEnableFirstOtherButton:"), DelegateName ("UIAlertViewPredicate"), DefaultValue (true)]
bool ShouldEnableFirstOtherButton (UIAlertView alertView);
}
//
// This is an empty class, we manually bind the couple of static methods
// but it is used as a flag on handful of classes to generate the
// UIAppearance binding.
//
// When a new class adopts UIAppearance, merely list it as one of the
// base interfaces, this will generate the stubs for it.
//
[BaseType (typeof (NSObject))]
[Model]
[DisableDefaultCtor]
[Protocol]
interface UIAppearance {
2016-04-21 15:30:02 +03:00
}
[Since (9,0)]
[BaseType (typeof (UIView))]
interface UIStackView {
[Export ("initWithFrame:")]
[DesignatedInitializer]
2016-04-21 15:30:02 +03:00
IntPtr Constructor (CGRect frame);
[Export ("initWithArrangedSubviews:")]
IntPtr Constructor (UIView [] views);
[Export ("arrangedSubviews")]
UIView[] ArrangedSubviews { get; }
[Export ("axis")]
UILayoutConstraintAxis Axis { get; set; }
[Export ("distribution")]
UIStackViewDistribution Distribution { get; set; }
[Export ("alignment")]
UIStackViewAlignment Alignment { get; set; }
[Export ("spacing")]
nfloat Spacing { get; set; }
[Export ("baselineRelativeArrangement")]
bool BaselineRelativeArrangement { [Bind ("isBaselineRelativeArrangement")] get; set; }
[Export ("layoutMarginsRelativeArrangement")]
bool LayoutMarginsRelativeArrangement { [Bind ("isLayoutMarginsRelativeArrangement")] get; set; }
[Export ("addArrangedSubview:")]
void AddArrangedSubview (UIView view);
[Export ("removeArrangedSubview:")]
void RemoveArrangedSubview (UIView view);
[Export ("insertArrangedSubview:atIndex:")]
void InsertArrangedSubview (UIView view, nuint stackIndex);
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 (11,0), TV (11,0)]
[Export ("setCustomSpacing:afterView:")]
void SetCustomSpacing (nfloat spacing, UIView arrangedSubview);
[iOS (11,0), TV (11,0)]
[Export ("customSpacingAfterView:")]
nfloat GetCustomSpacing (UIView arrangedSubview);
2016-04-21 15:30:02 +03:00
}
[Static]
[Since (6,0)]
interface UIStateRestoration {
[Field ("UIStateRestorationViewControllerStoryboardKey")]
NSString ViewControllerStoryboardKey { get; }
}
[Since (7,0)]
[BaseType (typeof (NSObject))]
[Model]
[Protocol]
interface UIStateRestoring {
2016-04-21 15:30:02 +03:00
[Export ("restorationParent")]
IUIStateRestoring RestorationParent { get; }
[Export ("objectRestorationClass")]
Class ObjectRestorationClass { get; }
[Export ("encodeRestorableStateWithCoder:")]
void EncodeRestorableState (NSCoder coder);
[Export ("decodeRestorableStateWithCoder:")]
void DecodeRestorableState (NSCoder coder);
[Export ("applicationFinishedRestoringState")]
void ApplicationFinishedRestoringState ();
}
interface IUIStateRestoring {}
2016-04-21 15:30:02 +03:00
[BaseType (typeof (NSObject))]
[Model]
[Protocol]
[Since (7,0)]
interface UIObjectRestoration {
#if false
// a bit hard to support *static* as part of an interface / extension methods
[Static][Export ("objectWithRestorationIdentifierPath:coder:")]
IUIStateRestoring GetStateRestorationObjectFromPath (NSString [] identifierComponents, NSCoder coder);
#endif
}
2016-06-20 04:53:43 +03:00
interface IUIViewAnimating {}
[iOS(10,0)]
[Protocol]
interface UIViewAnimating
2016-06-20 04:53:43 +03:00
{
[Abstract]
[Export ("state")]
UIViewAnimatingState State { get; }
[Abstract]
[Export ("running")]
bool Running { [Bind ("isRunning")] get; }
[Abstract]
[Export ("reversed")]
bool Reversed { [Bind ("isReversed")] get; set; }
[Abstract]
[Export ("fractionComplete")]
nfloat FractionComplete { get; set; }
[Abstract]
[Export ("startAnimation")]
void StartAnimation ();
[Abstract]
[Export ("startAnimationAfterDelay:")]
void StartAnimation (double delay);
2016-06-20 04:53:43 +03:00
[Abstract]
[Export ("pauseAnimation")]
void PauseAnimation ();
[Abstract]
[Export ("stopAnimation:")]
void StopAnimation (bool withoutFinishing);
[Abstract]
[Export ("finishAnimationAtPosition:")]
void FinishAnimation (UIViewAnimatingPosition finalPosition);
2016-06-20 04:53:43 +03:00
}
interface IUIViewImplicitlyAnimating {}
2016-06-20 04:53:43 +03:00
[iOS(10,0)]
[Protocol]
interface UIViewImplicitlyAnimating : UIViewAnimating
2016-06-20 04:53:43 +03:00
{
[Export ("addAnimations:delayFactor:")]
void AddAnimations (Action animation, nfloat delayFactor);
[Export ("addAnimations:")]
void AddAnimations (Action animation);
[Export ("addCompletion:")]
void AddCompletion (Action<UIViewAnimatingPosition> completion);
[Export ("continueAnimationWithTimingParameters:durationFactor:")]
void ContinueAnimation ([NullAllowed] IUITimingCurveProvider parameters, nfloat durationFactor);
2016-06-20 04:53:43 +03:00
}
[iOS (10,0), TV (10,0)]
2016-06-20 04:53:43 +03:00
[BaseType (typeof(NSObject))]
interface UIViewPropertyAnimator : UIViewImplicitlyAnimating, NSCopying
{
[NullAllowed, Export ("timingParameters", ArgumentSemantic.Copy)]
IUITimingCurveProvider TimingParameters { get; }
[Export ("duration")]
double Duration { get; }
[Export ("delay")]
double Delay { get; }
2016-06-20 04:53:43 +03:00
[Export ("userInteractionEnabled")]
bool UserInteractionEnabled { [Bind ("isUserInteractionEnabled")] get; set; }
[Export ("manualHitTestingEnabled")]
bool ManualHitTestingEnabled { [Bind ("isManualHitTestingEnabled")] get; set; }
2016-06-20 04:53:43 +03:00
[Export ("interruptible")]
bool Interruptible { [Bind ("isInterruptible")] 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
[iOS (11,0), TV (11,0)]
[Export ("scrubsLinearly")]
bool ScrubsLinearly { get; set; }
[iOS (11,0), TV (11,0)]
[Export ("pausesOnCompletion")]
bool PausesOnCompletion { get; set; }
2016-06-20 04:53:43 +03:00
[Export ("initWithDuration:timingParameters:")]
[DesignatedInitializer]
IntPtr Constructor (double duration, IUITimingCurveProvider parameters);
[Export ("initWithDuration:curve:animations:")]
IntPtr Constructor (double duration, UIViewAnimationCurve curve, [NullAllowed] Action animations);
[Export ("initWithDuration:controlPoint1:controlPoint2:animations:")]
IntPtr Constructor (double duration, CGPoint point1, CGPoint point2, Action animations);
[Export ("initWithDuration:dampingRatio:animations:")]
IntPtr Constructor (double duration, nfloat ratio, [NullAllowed] Action animations);
[Static]
[Export ("runningPropertyAnimatorWithDuration:delay:options:animations:completion:")]
UIViewPropertyAnimator CreateRunningPropertyAnimator (double duration, double delay, UIViewAnimationOptions options, [NullAllowed] Action animations, [NullAllowed] Action<UIViewAnimatingPosition> completion);
2016-06-20 04:53:43 +03:00
}
interface IUIViewControllerPreviewing {}
2016-04-21 15:30:02 +03:00
[Protocol]
[iOS (9,0)]
interface UIViewControllerPreviewing {
[Abstract]
[Export ("previewingGestureRecognizerForFailureRelationship")]
UIGestureRecognizer PreviewingGestureRecognizerForFailureRelationship { get; }
[Abstract]
[Export ("delegate", ArgumentSemantic.Assign), NullAllowed]
NSObject WeakDelegate {
get; // readonly
#if !XAMCORE_3_0
[NotImplemented] set;
#endif
}
[Wrap ("WeakDelegate")]
IUIViewControllerPreviewingDelegate Delegate { get; }
[Abstract]
[Export ("sourceView")]
UIView SourceView { get; }
[Abstract]
[Export ("sourceRect")]
CGRect SourceRect { get; set; }
}
interface IUIViewControllerPreviewingDelegate {}
2016-04-21 15:30:02 +03:00
[Protocol]
[Model]
[iOS (9,0)]
[BaseType (typeof (NSObject))]
interface UIViewControllerPreviewingDelegate {
[Abstract]
[Export ("previewingContext:viewControllerForLocation:")]
UIViewController GetViewControllerForPreview (IUIViewControllerPreviewing previewingContext, CGPoint location);
[Abstract]
[Export ("previewingContext:commitViewController:")]
void CommitViewController (IUIViewControllerPreviewing previewingContext, UIViewController viewControllerToCommit);
}
[Protocol]
[Since (6,0)]
interface UIViewControllerRestoration {
#if false
/* we don't generate anything for static members in protocols now, so just keep this out */
[Static]
[Export ("viewControllerWithRestorationIdentifierPath:coder:")]
UIViewController GetStateRestorationViewController (NSString [] identifierComponents, NSCoder coder);
#endif
}
interface UIStatusBarFrameChangeEventArgs {
[Export ("UIApplicationStatusBarFrameUserInfoKey")]
CGRect StatusBarFrame { get; }
}
interface UIStatusBarOrientationChangeEventArgs {
[NoTV]
[Export ("UIApplicationStatusBarOrientationUserInfoKey")]
UIInterfaceOrientation StatusBarOrientation { get; }
}
interface UIApplicationLaunchEventArgs {
[NullAllowed]
[Export ("UIApplicationLaunchOptionsURLKey")]
NSUrl Url { get; }
[NullAllowed]
[Export ("UIApplicationLaunchOptionsSourceApplicationKey")]
string SourceApplication { get; }
[NoTV]
[NullAllowed]
[Export ("UIApplicationLaunchOptionsRemoteNotificationKey")]
NSDictionary RemoteNotifications { get; }
[ProbePresence]
[Export ("UIApplicationLaunchOptionsLocationKey")]
bool LocationLaunch { get; }
}
[StrongDictionary ("UIApplicationOpenUrlOptionKeys")]
interface UIApplicationOpenUrlOptions {
2016-04-21 15:30:02 +03:00
NSObject Annotation { get; set; }
string SourceApplication { get; set; }
bool OpenInPlace { get; set; }
[iOS (10, 0)]
bool UniversalLinksOnly { get; set; }
2016-04-21 15:30:02 +03:00
}
[iOS (9,0)]
[Static]
[Internal] // we'll make it public if there's a need for them (beside the strong dictionary we provide)
interface UIApplicationOpenUrlOptionKeys {
2016-04-21 15:30:02 +03:00
[Field ("UIApplicationOpenURLOptionsAnnotationKey")]
NSString AnnotationKey { get; }
[Field ("UIApplicationOpenURLOptionsSourceApplicationKey")]
NSString SourceApplicationKey { get; }
[Field ("UIApplicationOpenURLOptionsOpenInPlaceKey")]
NSString OpenInPlaceKey { get; }
[iOS (10,0), TV (10,0)]
[Field ("UIApplicationOpenURLOptionUniversalLinksOnly")]
NSString UniversalLinksOnlyKey { get; }
2016-04-21 15:30:02 +03:00
}
[NoWatch]
[iOS (2,0)]
[BaseType (typeof (UIResponder))]
interface UIApplication {
2016-04-21 15:30:02 +03:00
[Static, ThreadSafe]
[Export ("sharedApplication")]
UIApplication SharedApplication { get; }
[Export ("delegate", ArgumentSemantic.Assign)][ThreadSafe, NullAllowed]
NSObject WeakDelegate { get; set; }
[Wrap ("WeakDelegate")]
[Protocolize]
UIApplicationDelegate Delegate { get; set; }
[Export ("beginIgnoringInteractionEvents")]
void BeginIgnoringInteractionEvents ();
[Export ("endIgnoringInteractionEvents")]
void EndIgnoringInteractionEvents ();
[Export ("isIgnoringInteractionEvents")]
bool IsIgnoringInteractionEvents { get; }
[Export ("idleTimerDisabled")]
bool IdleTimerDisabled { [Bind ("isIdleTimerDisabled")] get; set; }
[Deprecated (PlatformName.iOS, 10, 0, message: "Please use the overload instead.")]
2016-04-21 15:30:02 +03:00
[Export ("openURL:")]
bool OpenUrl (NSUrl url);
[iOS (10,0), TV (10,0)]
[Export ("openURL:options:completionHandler:")]
void OpenUrl (NSUrl url, NSDictionary options, [NullAllowed] Action<bool> completion);
[iOS (10,0), TV (10,0)]
[Wrap ("OpenUrl (url, options?.Dictionary, completion)")]
[Async]
void OpenUrl (NSUrl url, UIApplicationOpenUrlOptions options, [NullAllowed] Action<bool> completion);
2016-04-21 15:30:02 +03:00
[Export ("canOpenURL:")]
bool CanOpenUrl ([NullAllowed] NSUrl url);
[Export ("sendEvent:")]
void SendEvent (UIEvent uievent);
[Export ("keyWindow")]
[Transient]
UIWindow KeyWindow { get; }
[Export ("windows")]
[Transient]
UIWindow [] Windows { get; }
[Export ("sendAction:to:from:forEvent:")]
bool SendAction (Selector action, [NullAllowed] NSObject target, [NullAllowed] NSObject sender, [NullAllowed] UIEvent forEvent);
[NoTV]
[Export ("networkActivityIndicatorVisible"), ThreadSafe]
bool NetworkActivityIndicatorVisible { [Bind ("isNetworkActivityIndicatorVisible")] get; set; }
[NoTV]
[Export ("statusBarStyle")]
UIStatusBarStyle StatusBarStyle { get; set; }
[NoTV]
[Export ("setStatusBarStyle:animated:")]
void SetStatusBarStyle (UIStatusBarStyle statusBarStyle, bool animated);
[NoTV]
[Export ("statusBarHidden")]
bool StatusBarHidden { [Bind ("isStatusBarHidden")] get; set; }
[NoTV]
[Since (3,2)]
[Export ("setStatusBarHidden:withAnimation:")]
void SetStatusBarHidden (bool state, UIStatusBarAnimation animation);
[NoTV]
[Export ("setStatusBarHidden:animated:")]
[Availability (Introduced = Platform.iOS_2_0, Deprecated = Platform.iOS_3_2, Message = "Use 'SetStatusBarHidden (bool, UIStatusBarAnimation)' instead.")]
2016-04-21 15:30:02 +03:00
void SetStatusBarHidden (bool hidden, bool animated);
[NoTV]
[Export ("statusBarOrientation")]
UIInterfaceOrientation StatusBarOrientation { get; set; }
[NoTV]
[Export ("setStatusBarOrientation:animated:")]
void SetStatusBarOrientation (UIInterfaceOrientation orientation, bool animated);
[NoTV]
[Export ("statusBarOrientationAnimationDuration")]
double StatusBarOrientationAnimationDuration { get; }
[NoTV]
[Export ("statusBarFrame")]
CGRect StatusBarFrame { get; }
[TV (10, 0)]
2016-04-21 15:30:02 +03:00
[Export ("applicationIconBadgeNumber")]
nint ApplicationIconBadgeNumber { get; set; }
[NoTV]
[Export ("applicationSupportsShakeToEdit")]
bool ApplicationSupportsShakeToEdit { get; set; }
// From @interface UIApplication (UIRemoteNotifications)
[NoTV]
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.iOS_8_0, Message = "Use 'RegisterUserNotifications', 'RegisterForNotifications' or 'UNUserNotificationCenter.RequestAuthorization' instead.")]
2016-04-21 15:30:02 +03:00
[Export ("registerForRemoteNotificationTypes:")]
void RegisterForRemoteNotificationTypes (UIRemoteNotificationType types);
// From @interface UIApplication (UIRemoteNotifications)
[Export ("unregisterForRemoteNotifications")]
void UnregisterForRemoteNotifications ();
// From @interface UIApplication (UIRemoteNotifications)
[NoTV]
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.iOS_8_0, Message = "Use 'CurrentUserNotificationSettings' or 'UNUserNotificationCenter.GetNotificationSettings' instead.")]
2016-04-21 15:30:02 +03:00
[Export ("enabledRemoteNotificationTypes")]
UIRemoteNotificationType EnabledRemoteNotificationTypes { get; }
[Field ("UIApplicationDidFinishLaunchingNotification")]
[Notification (typeof (UIApplicationLaunchEventArgs))]
NSString DidFinishLaunchingNotification { get; }
[Field ("UIApplicationDidBecomeActiveNotification")]
[Notification]
NSString DidBecomeActiveNotification { get; }
[Field ("UIApplicationWillResignActiveNotification")]
[Notification]
NSString WillResignActiveNotification { get; }
[Field ("UIApplicationDidReceiveMemoryWarningNotification")]
[Notification]
NSString DidReceiveMemoryWarningNotification { get; }
[Field ("UIApplicationWillTerminateNotification")]
[Notification]
NSString WillTerminateNotification { get; }
[Field ("UIApplicationSignificantTimeChangeNotification")]
[Notification]
NSString SignificantTimeChangeNotification { get; }
[NoTV]
[Field ("UIApplicationWillChangeStatusBarOrientationNotification")]
[Notification (typeof (UIStatusBarOrientationChangeEventArgs))]
NSString WillChangeStatusBarOrientationNotification { get; }
[NoTV]
[Field ("UIApplicationDidChangeStatusBarOrientationNotification")]
[Notification (typeof (UIStatusBarOrientationChangeEventArgs))]
NSString DidChangeStatusBarOrientationNotification { get; }
[NoTV]
[Field ("UIApplicationStatusBarOrientationUserInfoKey")]
NSString StatusBarOrientationUserInfoKey { get; }
[NoTV]
[Field ("UIApplicationWillChangeStatusBarFrameNotification")]
[Notification (typeof (UIStatusBarFrameChangeEventArgs))]
NSString WillChangeStatusBarFrameNotification { get; }
[NoTV]
[Field ("UIApplicationDidChangeStatusBarFrameNotification")]
[Notification (typeof (UIStatusBarFrameChangeEventArgs))]
NSString DidChangeStatusBarFrameNotification { get; }
[NoTV]
[Field ("UIApplicationStatusBarFrameUserInfoKey")]
NSString StatusBarFrameUserInfoKey { get; }
[Field ("UIApplicationLaunchOptionsURLKey")]
NSString LaunchOptionsUrlKey { get; }
[Field ("UIApplicationLaunchOptionsSourceApplicationKey")]
NSString LaunchOptionsSourceApplicationKey { get; }
[NoTV]
[Field ("UIApplicationLaunchOptionsRemoteNotificationKey")]
NSString LaunchOptionsRemoteNotificationKey { get; }
[Since (3,2)]
[Field ("UIApplicationLaunchOptionsAnnotationKey")]
NSString LaunchOptionsAnnotationKey { get; }
[Since (4,0)]
[Export ("applicationState")]
UIApplicationState ApplicationState { get; }
[Since (4,0), ThreadSafe]
[Export ("backgroundTimeRemaining")]
double BackgroundTimeRemaining { get; }
[Since (4,0), ThreadSafe]
[Export ("beginBackgroundTaskWithExpirationHandler:")]
nint BeginBackgroundTask ([NullAllowed] NSAction backgroundTimeExpired);
[Since (4,0), ThreadSafe]
[Export ("endBackgroundTask:")]
void EndBackgroundTask (nint taskId);
[NoTV]
[Since (4,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
[Deprecated (PlatformName.iOS, 9, 0, message: "Use 'PushKit' instead.")]
2016-04-21 15:30:02 +03:00
[Export ("setKeepAliveTimeout:handler:")]
bool SetKeepAliveTimeout (double timeout, [NullAllowed] NSAction handler);
[NoTV]
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, 9, 0, message: "Use 'PushKit' instead.")]
2016-04-21 15:30:02 +03:00
[Export ("clearKeepAliveTimeout")]
void ClearKeepAliveTimeout ();
[Since (4,0)]
[Export ("protectedDataAvailable")]
bool ProtectedDataAvailable { [Bind ("isProtectedDataAvailable")] get; }
// from @interface UIApplication (UILocalNotifications)
[NoTV]
[Since (4,0)]
[Deprecated (PlatformName.iOS, 10, 0, message: "Use 'UNUserNotificationCenter.AddNotificationRequest' instead.")]
2016-04-21 15:30:02 +03:00
[Export ("presentLocalNotificationNow:")]
#if XAMCORE_2_0
void PresentLocalNotificationNow (UILocalNotification notification);
#else
void PresentLocationNotificationNow (UILocalNotification notification);
#endif
// from @interface UIApplication (UILocalNotifications)
[NoTV]
[Since (4,0)]
[Deprecated (PlatformName.iOS, 10, 0, message: "Use 'UNUserNotificationCenter.AddNotificationRequest' instead.")]
2016-04-21 15:30:02 +03:00
[Export ("scheduleLocalNotification:")]
void ScheduleLocalNotification (UILocalNotification notification);
// from @interface UIApplication (UILocalNotifications)
[NoTV]
[Since (4,0)]
[Deprecated (PlatformName.iOS, 10, 0, message: "Use 'UNUserNotificationCenter.RemovePendingNotificationRequests' instead.")]
2016-04-21 15:30:02 +03:00
[Export ("cancelLocalNotification:")]
void CancelLocalNotification (UILocalNotification notification);
// from @interface UIApplication (UILocalNotifications)
[NoTV]
[Since (4,0)]
[Deprecated (PlatformName.iOS, 10, 0, message: "Use 'UNUserNotificationCenter.RemoveAllPendingNotificationRequests' instead.")]
2016-04-21 15:30:02 +03:00
[Export ("cancelAllLocalNotifications")]
void CancelAllLocalNotifications ();
// from @interface UIApplication (UILocalNotifications)
[NoTV]
[Since (4,0)]
[Deprecated (PlatformName.iOS, 10, 0, message: "Use 'UNUserNotificationCenter.GetPendingNotificationRequests' instead.")]
2016-04-21 15:30:02 +03:00
[Export ("scheduledLocalNotifications", ArgumentSemantic.Copy)]
UILocalNotification [] ScheduledLocalNotifications { get; set; }
// from @interface UIApplication (UIRemoteControlEvents)
[Since (4,0)]
[Export ("beginReceivingRemoteControlEvents")]
void BeginReceivingRemoteControlEvents ();
// from @interface UIApplication (UIRemoteControlEvents)
[Since (4,0)]
[Export ("endReceivingRemoteControlEvents")]
void EndReceivingRemoteControlEvents ();
[Since (4,0)]
[Field ("UIBackgroundTaskInvalid")]
nint BackgroundTaskInvalid { get; }
[Since (4,0)]
[Field ("UIMinimumKeepAliveTimeout")]
double /* NSTimeInternal */ MinimumKeepAliveTimeout { get; }
[Since (4,0)]
[Field ("UIApplicationProtectedDataWillBecomeUnavailable")]
[Notification]
NSString ProtectedDataWillBecomeUnavailable { get; }
[Since (4,0)]
[Field ("UIApplicationProtectedDataDidBecomeAvailable")]
[Notification]
NSString ProtectedDataDidBecomeAvailable { get; }
[Since (4,0)]
[Field ("UIApplicationLaunchOptionsLocationKey")]
NSString LaunchOptionsLocationKey { get; }
[Since (4,0)]
[Field ("UIApplicationDidEnterBackgroundNotification")]
[Notification]
NSString DidEnterBackgroundNotification { get; }
[Since (4,0)]
[Field ("UIApplicationWillEnterForegroundNotification")]
[Notification]
NSString WillEnterForegroundNotification { get; }
[NoTV]
[Since (4,0)]
[Deprecated (PlatformName.iOS, 10, 0, message: "Use 'UNUserNotificationCenterDelegate.DidReceiveNotificationResponse' instead.")]
2016-04-21 15:30:02 +03:00
[Field ("UIApplicationLaunchOptionsLocalNotificationKey")]
NSString LaunchOptionsLocalNotificationKey { get; }
[Since (5,0)]
[Export ("userInterfaceLayoutDirection")]
UIUserInterfaceLayoutDirection UserInterfaceLayoutDirection { get; }
// from @interface UIApplication (UINewsstand)
[NoTV]
[Since (5,0)]
[Deprecated (PlatformName.iOS, 9, 0)]
2016-04-21 15:30:02 +03:00
[Export ("setNewsstandIconImage:")]
void SetNewsstandIconImage ([NullAllowed] UIImage image);
2016-04-21 15:30:02 +03:00
[NoTV]
[Since (5,0)]
[Field ("UIApplicationLaunchOptionsNewsstandDownloadsKey")]
NSString LaunchOptionsNewsstandDownloadsKey { get; }
[Since (7,0)]
[Field ("UIApplicationLaunchOptionsBluetoothCentralsKey")]
NSString LaunchOptionsBluetoothCentralsKey { get; }
[Since (7,0)]
[Field ("UIApplicationLaunchOptionsBluetoothPeripheralsKey")]
NSString LaunchOptionsBluetoothPeripheralsKey { get; }
[NoTV]
[Since (9,0)]
[Field ("UIApplicationLaunchOptionsShortcutItemKey")]
NSString LaunchOptionsShortcutItemKey { get; }
//
// 6.0
//
// from @interface UIApplication (UIStateRestoration)
[Since(6,0)]
[Export ("extendStateRestoration")]
void ExtendStateRestoration ();
// from @interface UIApplication (UIStateRestoration)
[Since(6,0)]
[Export ("completeStateRestoration")]
void CompleteStateRestoration ();
[NoTV]
[Since(6,0)]
[Export ("supportedInterfaceOrientationsForWindow:")]
UIInterfaceOrientationMask SupportedInterfaceOrientationsForWindow ([Transient] UIWindow window);
[NoWatch]
[Field ("UITrackingRunLoopMode")]
NSString UITrackingRunLoopMode { get; }
[Since(6,0)]
[Field ("UIApplicationStateRestorationBundleVersionKey")]
NSString StateRestorationBundleVersionKey { get; }
[Since(6,0)]
[Field ("UIApplicationStateRestorationUserInterfaceIdiomKey")]
NSString StateRestorationUserInterfaceIdiomKey { get; }
//
// 7.0
//
[Since(7,0)]
[Field ("UIContentSizeCategoryDidChangeNotification")]
[Notification (typeof (UIContentSizeCategoryChangedEventArgs))]
NSString ContentSizeCategoryChangedNotification { get; }
[ThreadSafe]
[Since (7,0)]
[Export ("beginBackgroundTaskWithName:expirationHandler:")]
nint BeginBackgroundTask (string taskName, NSAction expirationHandler);
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
[TV (11,0)]
2016-04-21 15:30:02 +03:00
[Since (7,0)]
[Field ("UIApplicationBackgroundFetchIntervalMinimum")]
double BackgroundFetchIntervalMinimum { 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
[TV (11,0)]
2016-04-21 15:30:02 +03:00
[Since (7,0)]
[Field ("UIApplicationBackgroundFetchIntervalNever")]
double BackgroundFetchIntervalNever { 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
[TV (11,0)]
2016-04-21 15:30:02 +03:00
[Since (7,0)]
[Export ("setMinimumBackgroundFetchInterval:")]
void SetMinimumBackgroundFetchInterval (double minimumBackgroundFetchInterval);
[Since (7,0)]
[Export ("preferredContentSizeCategory")]
NSString PreferredContentSizeCategory { get; }
// from @interface UIApplication (UIStateRestoration)
[Since (7,0)]
[Export ("ignoreSnapshotOnNextApplicationLaunch")]
void IgnoreSnapshotOnNextApplicationLaunch ();
// from @interface UIApplication (UIStateRestoration)
[Export ("registerObjectForStateRestoration:restorationIdentifier:")]
[Since (7,0)]
[Static]
void RegisterObjectForStateRestoration (IUIStateRestoring uistateRestoringObject, string restorationIdentifier);
[Since (7,0)]
[Field ("UIApplicationStateRestorationTimestampKey")]
NSString StateRestorationTimestampKey { get; }
[Since (7,0)]
[Field ("UIApplicationStateRestorationSystemVersionKey")]
NSString StateRestorationSystemVersionKey { 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
[TV (11,0)]
2016-04-21 15:30:02 +03:00
[Since (7,0)]
[Export ("backgroundRefreshStatus")]
UIBackgroundRefreshStatus BackgroundRefreshStatus { 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
[TV (11,0)]
2016-04-21 15:30:02 +03:00
[Since (7,0)]
[Notification]
[Field ("UIApplicationBackgroundRefreshStatusDidChangeNotification")]
NSString BackgroundRefreshStatusDidChangeNotification { get; }
[Since (7,0)]
[Notification]
[Field ("UIApplicationUserDidTakeScreenshotNotification")]
NSString UserDidTakeScreenshotNotification { get; }
//
// 8.0
//
[iOS (8,0)]
[Field ("UIApplicationOpenSettingsURLString")]
NSString OpenSettingsUrlString { get; }
// from @interface UIApplication (UIUserNotificationSettings)
[NoTV]
[iOS (8,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
[Deprecated (PlatformName.iOS, 10, 0, message: "Use 'UNUserNotificationCenter.GetNotificationSettings' and 'UNUserNotificationCenter.GetNotificationCategories' instead.")]
2016-04-21 15:30:02 +03:00
[Export ("currentUserNotificationSettings")]
UIUserNotificationSettings CurrentUserNotificationSettings { get; }
// from @interface UIApplication (UIRemoteNotifications)
[iOS (8,0)]
[Export ("isRegisteredForRemoteNotifications")]
bool IsRegisteredForRemoteNotifications { get; }
// from @interface UIApplication (UIRemoteNotifications)
[iOS (8,0)]
[Export ("registerForRemoteNotifications")]
void RegisterForRemoteNotifications ();
// from @interface UIApplication (UIUserNotificationSettings)
[NoTV]
[iOS (8,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
[Deprecated (PlatformName.iOS, 10, 0, message: "Use 'UNUserNotificationCenter.RequestAuthorization' and 'UNUserNotificationCenter.SetNotificationCategories' instead.")]
2016-04-21 15:30:02 +03:00
[Export ("registerUserNotificationSettings:")]
void RegisterUserNotificationSettings (UIUserNotificationSettings notificationSettings);
[iOS (8,0)]
[Field ("UIApplicationLaunchOptionsUserActivityDictionaryKey")]
NSString LaunchOptionsUserActivityDictionaryKey { get; }
[iOS (8,0)]
[Field ("UIApplicationLaunchOptionsUserActivityTypeKey")]
NSString LaunchOptionsUserActivityTypeKey { get; }
[iOS (10,0), NoTV, NoWatch]
[Field ("UIApplicationLaunchOptionsCloudKitShareMetadataKey")]
NSString LaunchOptionsCloudKitShareMetadataKey { get; }
2016-04-21 15:30:02 +03:00
[NoTV]
[iOS (9,0)]
[NullAllowed, Export ("shortcutItems", ArgumentSemantic.Copy)]
UIApplicationShortcutItem[] ShortcutItems { get; set; }
//
// 10.0
//
// from @interface UIApplication (UIAlternateApplicationIcons)
[iOS (10,3)][TV (10,2)]
[Export ("supportsAlternateIcons")]
bool SupportsAlternateIcons { get; }
[iOS (10,3)][TV (10,2)]
[Async]
[Export ("setAlternateIconName:completionHandler:")]
void SetAlternateIconName ([NullAllowed] string alternateIconName, [NullAllowed] Action<NSError> completionHandler);
[iOS (10,3)][TV (10,2)]
[Export ("alternateIconName"), NullAllowed]
string AlternateIconName { get; }
2016-04-21 15:30:02 +03:00
}
[NoTV]
[iOS (9,0)]
[BaseType (typeof(NSObject))]
interface UIApplicationShortcutIcon : NSCopying
2016-04-21 15:30:02 +03:00
{
[Static]
[Export ("iconWithType:")]
UIApplicationShortcutIcon FromType (UIApplicationShortcutIconType type);
[Static]
[Export ("iconWithTemplateImageName:")]
UIApplicationShortcutIcon FromTemplateImageName (string templateImageName);
#if XAMCORE_2_0
#if IOS // This is inside ContactsUI.framework
[Static, Export ("iconWithContact:")]
UIApplicationShortcutIcon FromContact (CNContact contact);
#endif // IOS
#endif
}
[NoTV]
[iOS (9,0)]
[BaseType (typeof(NSObject))]
[DisableDefaultCtor]
interface UIApplicationShortcutItem : NSMutableCopying
2016-04-21 15:30:02 +03:00
{
[Export ("initWithType:localizedTitle:localizedSubtitle:icon:userInfo:")]
[DesignatedInitializer]
IntPtr Constructor (string type, string localizedTitle, [NullAllowed] string localizedSubtitle, [NullAllowed] UIApplicationShortcutIcon icon, [NullAllowed] NSDictionary<NSString,NSObject> userInfo);
[Export ("initWithType:localizedTitle:")]
IntPtr Constructor (string type, string localizedTitle);
[Export ("type")]
string Type { get; [NotImplemented] set; }
[Export ("localizedTitle")]
string LocalizedTitle { get; [NotImplemented] set; }
[NullAllowed, Export ("localizedSubtitle")]
string LocalizedSubtitle { get; [NotImplemented] set; }
[NullAllowed, Export ("icon", ArgumentSemantic.Copy)]
UIApplicationShortcutIcon Icon { get; [NotImplemented] set; }
[NullAllowed, Export ("userInfo", ArgumentSemantic.Copy)]
NSDictionary<NSString,NSObject> UserInfo { get; [NotImplemented] set; }
}
[NoTV]
[iOS (9,0)]
[BaseType (typeof (UIApplicationShortcutItem))]
[DisableDefaultCtor] // NSInvalidArgumentException Reason: Don't call -[UIApplicationShortcutItem init].
interface UIMutableApplicationShortcutItem
{
// inlined
[Export ("initWithType:localizedTitle:localizedSubtitle:icon:userInfo:")]
IntPtr Constructor (string type, string localizedTitle, [NullAllowed] string localizedSubtitle, [NullAllowed] UIApplicationShortcutIcon icon, [NullAllowed] NSDictionary<NSString,NSObject> userInfo);
// inlined
[Export ("initWithType:localizedTitle:")]
IntPtr Constructor (string type, string localizedTitle);
[Export ("type")]
[Override]
string Type { get; set; }
[Export ("localizedTitle")]
[Override]
string LocalizedTitle { get; set; }
[NullAllowed, Export ("localizedSubtitle")]
[Override]
string LocalizedSubtitle { get; set; }
[NullAllowed, Export ("icon", ArgumentSemantic.Copy)]
[Override]
UIApplicationShortcutIcon Icon { get; set; }
[NullAllowed, Export ("userInfo", ArgumentSemantic.Copy)]
[Override]
NSDictionary<NSString,NSObject> UserInfo { get; set; }
}
[Since (7,0)]
[BaseType (typeof (UIDynamicBehavior))]
[DisableDefaultCtor] // Objective-C exception thrown. Name: NSInvalidArgumentException Reason: init is undefined for objects of type UIAttachmentBehavior
interface UIAttachmentBehavior {
[Export ("items", ArgumentSemantic.Copy)]
IUIDynamicItem [] Items { get; }
[Export ("attachedBehaviorType")]
UIAttachmentBehaviorType AttachedBehaviorType { get; }
[Export ("anchorPoint")]
CGPoint AnchorPoint { get; set; }
[Export ("length")]
nfloat Length { get; set; }
[Export ("damping")]
nfloat Damping { get; set; }
[Export ("frequency")]
nfloat Frequency { get; set; }
[Export ("initWithItem:attachedToAnchor:")]
IntPtr Constructor (IUIDynamicItem item, CGPoint anchorPoint);
[DesignatedInitializer]
[Export ("initWithItem:offsetFromCenter:attachedToAnchor:")]
IntPtr Constructor (IUIDynamicItem item, UIOffset offset, CGPoint anchorPoint);
[Export ("initWithItem:attachedToItem:")]
IntPtr Constructor (IUIDynamicItem item, IUIDynamicItem attachedToItem);
[DesignatedInitializer]
[Export ("initWithItem:offsetFromCenter:attachedToItem:offsetFromCenter:")]
IntPtr Constructor (IUIDynamicItem item, UIOffset offsetFromCenter, IUIDynamicItem attachedToItem, UIOffset attachOffsetFromCenter);
[Static]
[iOS (9,0)]
[Export ("slidingAttachmentWithItem:attachedToItem:attachmentAnchor:axisOfTranslation:")]
UIAttachmentBehavior CreateSlidingAttachment (IUIDynamicItem item1, IUIDynamicItem item2, CGPoint attachmentAnchor, CGVector translationAxis);
[Static]
[iOS (9,0)]
[Export ("slidingAttachmentWithItem:attachmentAnchor:axisOfTranslation:")]
UIAttachmentBehavior CreateSlidingAttachment (IUIDynamicItem item, CGPoint attachmentAnchor, CGVector translationAxis);
// +(instancetype __nonnull)limitAttachmentWithItem:(id<UIDynamicItem> __nonnull)item1 offsetFromCenter:(UIOffset)offset1 attachedToItem:(id<UIDynamicItem> __nonnull)item2 offsetFromCenter:(UIOffset)offset2;
[Static]
[iOS (9,0)]
[Export ("limitAttachmentWithItem:offsetFromCenter:attachedToItem:offsetFromCenter:")]
UIAttachmentBehavior CreateLimitAttachment (IUIDynamicItem item1, UIOffset offsetFromCenter, IUIDynamicItem item2, UIOffset offsetFromCenter2);
[Static]
[iOS (9,0)]
[Export ("fixedAttachmentWithItem:attachedToItem:attachmentAnchor:")]
UIAttachmentBehavior CreateFixedAttachment (IUIDynamicItem item1, IUIDynamicItem item2, CGPoint attachmentAnchor);
[Static]
[iOS (9,0)]
[Export ("pinAttachmentWithItem:attachedToItem:attachmentAnchor:")]
UIAttachmentBehavior CreatePinAttachment (IUIDynamicItem item1, IUIDynamicItem item2, CGPoint attachmentAnchor);
[Export ("attachmentRange")]
[iOS (9,0)]
UIFloatRange AttachmentRange { get; set; }
[Export ("frictionTorque")]
[iOS (9,0)]
nfloat FrictionTorque { get; set; }
}
[iOS (10,0), TV (10,0)]
2016-06-20 04:53:43 +03:00
[Protocol]
interface UIContentSizeCategoryAdjusting {
2016-06-20 04:53:43 +03:00
[Abstract]
[iOS (10,0), TV (10,0)] // Repeated because of generator bug
2016-06-20 04:53:43 +03:00
[Export ("adjustsFontForContentSizeCategory")]
bool AdjustsFontForContentSizeCategory { get; set; }
}
2016-04-21 15:30:02 +03:00
interface UIContentSizeCategoryChangedEventArgs {
[Export ("UIContentSizeCategoryNewValueKey")]
NSString WeakNewValue { get; }
}
[Since (7,0)]
[Static]
[NoWatch]
public enum UIContentSizeCategory {
[iOS (10,0), TV (10,0)]
[Field ("UIContentSizeCategoryUnspecified")]
Unspecified,
2016-04-21 15:30:02 +03:00
[Field ("UIContentSizeCategoryExtraSmall")]
ExtraSmall,
2016-04-21 15:30:02 +03:00
[Field ("UIContentSizeCategorySmall")]
Small,
2016-04-21 15:30:02 +03:00
[Field ("UIContentSizeCategoryMedium")]
Medium,
2016-04-21 15:30:02 +03:00
[Field ("UIContentSizeCategoryLarge")]
Large,
2016-04-21 15:30:02 +03:00
[Field ("UIContentSizeCategoryExtraLarge")]
ExtraLarge,
2016-04-21 15:30:02 +03:00
[Field ("UIContentSizeCategoryExtraExtraLarge")]
ExtraExtraLarge,
2016-04-21 15:30:02 +03:00
[Field ("UIContentSizeCategoryExtraExtraExtraLarge")]
ExtraExtraExtraLarge,
2016-04-21 15:30:02 +03:00
[Field ("UIContentSizeCategoryAccessibilityMedium")]
AccessibilityMedium,
2016-04-21 15:30:02 +03:00
[Field ("UIContentSizeCategoryAccessibilityLarge")]
AccessibilityLarge,
2016-04-21 15:30:02 +03:00
[Field ("UIContentSizeCategoryAccessibilityExtraLarge")]
AccessibilityExtraLarge,
2016-04-21 15:30:02 +03:00
[Field ("UIContentSizeCategoryAccessibilityExtraExtraLarge")]
AccessibilityExtraExtraLarge,
2016-04-21 15:30:02 +03:00
[Field ("UIContentSizeCategoryAccessibilityExtraExtraExtraLarge")]
AccessibilityExtraExtraExtraLarge
2016-04-21 15:30:02 +03:00
}
interface IUICoordinateSpace {}
2016-04-21 15:30:02 +03:00
[Protocol]
[Model]
[BaseType (typeof (NSObject))]
[Abstract]
[iOS (8,0)]
interface UICoordinateSpace {
2016-04-21 15:30:02 +03:00
[Abstract]
[Export ("bounds")]
CGRect Bounds { get; }
[Abstract]
[Export ("convertPoint:toCoordinateSpace:")]
CGPoint ConvertPointToCoordinateSpace (CGPoint point, IUICoordinateSpace coordinateSpace);
[Abstract]
[Export ("convertPoint:fromCoordinateSpace:")]
CGPoint ConvertPointFromCoordinateSpace (CGPoint point, IUICoordinateSpace coordinateSpace);
[Abstract]
[Export ("convertRect:toCoordinateSpace:")]
CGRect ConvertRectToCoordinateSpace (CGRect rect, IUICoordinateSpace coordinateSpace);
[Abstract]
[Export ("convertRect:fromCoordinateSpace:")]
CGRect ConvertRectFromCoordinateSpace (CGRect rect, IUICoordinateSpace coordinateSpace);
}
[BaseType (typeof (NSObject))]
[Model]
[Protocol]
interface UIApplicationDelegate {
2016-04-21 15:30:02 +03:00
[Export ("applicationDidFinishLaunching:")]
void FinishedLaunching (UIApplication application);
[Export ("application:didFinishLaunchingWithOptions:")]
bool FinishedLaunching (UIApplication application, NSDictionary launchOptions);
[Export ("applicationDidBecomeActive:")]
void OnActivated (UIApplication application);
[Export ("applicationWillResignActive:")]
void OnResignActivation (UIApplication application);
[NoTV]
[Availability (Obsoleted = Platform.iOS_9_0, Message="Override 'OpenUrl (UIApplication, NSUrl, NSDictionary)'. The later will be called if both are implemented.")]
2016-04-21 15:30:02 +03:00
[Export ("application:handleOpenURL:")]
bool HandleOpenURL (UIApplication application, NSUrl url);
[Export ("applicationDidReceiveMemoryWarning:")]
void ReceiveMemoryWarning (UIApplication application);
[Export ("applicationWillTerminate:")]
void WillTerminate (UIApplication application);
[Export ("applicationSignificantTimeChange:")]
void ApplicationSignificantTimeChange (UIApplication application);
[NoTV]
[Export ("application:willChangeStatusBarOrientation:duration:")]
void WillChangeStatusBarOrientation (UIApplication application, UIInterfaceOrientation newStatusBarOrientation, double duration);
[NoTV]
[Export ("application:didChangeStatusBarOrientation:")]
void DidChangeStatusBarOrientation (UIApplication application, UIInterfaceOrientation oldStatusBarOrientation);
[NoTV]
[Export ("application:willChangeStatusBarFrame:")]
void WillChangeStatusBarFrame (UIApplication application, CGRect newStatusBarFrame);
[NoTV]
[Export ("application:didChangeStatusBarFrame:")]
void ChangedStatusBarFrame (UIApplication application, CGRect oldStatusBarFrame);
[Export ("application:didRegisterForRemoteNotificationsWithDeviceToken:")]
void RegisteredForRemoteNotifications (UIApplication application, NSData deviceToken);
[Export ("application:didFailToRegisterForRemoteNotificationsWithError:")]
void FailedToRegisterForRemoteNotifications (UIApplication application, NSError error);
[Deprecated (PlatformName.iOS, 10, 0, message: "Use 'UNUserNotificationCenterDelegate.WillPresentNotification/DidReceiveNotificationResponse' for user visible notifications and 'ReceivedRemoteNotification' for silent remote notifications.")]
2016-04-21 15:30:02 +03:00
[Export ("application:didReceiveRemoteNotification:")]
void ReceivedRemoteNotification (UIApplication application, NSDictionary userInfo);
[NoTV]
[Since (4,0)]
[Deprecated (PlatformName.iOS, 10, 0, message: "Use 'UNUserNotificationCenterDelegate.WillPresentNotification/DidReceiveNotificationResponse' instead.")]
2016-04-21 15:30:02 +03:00
[Export ("application:didReceiveLocalNotification:")]
void ReceivedLocalNotification (UIApplication application, UILocalNotification notification);
[Since (4,0)]
[Export ("applicationDidEnterBackground:")]
void DidEnterBackground (UIApplication application);
[Export ("applicationWillEnterForeground:")]
[Since (4,0)]
void WillEnterForeground (UIApplication application);
[Export ("applicationProtectedDataWillBecomeUnavailable:")]
[Since (4,0)]
void ProtectedDataWillBecomeUnavailable (UIApplication application);
[Export ("applicationProtectedDataDidBecomeAvailable:")]
[Since (4,0)]
void ProtectedDataDidBecomeAvailable (UIApplication application);
[NoTV]
[Availability (Obsoleted = Platform.iOS_9_0, Message="Override 'OpenUrl (UIApplication, NSUrl, NSDictionary)'. The later will be called if both are implemented.")]
2016-04-21 15:30:02 +03:00
[Export ("application:openURL:sourceApplication:annotation:")]
bool OpenUrl (UIApplication application, NSUrl url, string sourceApplication, NSObject annotation);
[iOS (9,0)]
[Export ("application:openURL:options:")]
bool OpenUrl (UIApplication app, NSUrl url, NSDictionary options);
[iOS (9,0)]
[Wrap ("OpenUrl(app, url, options.Dictionary)")]
bool OpenUrl (UIApplication app, NSUrl url, UIApplicationOpenUrlOptions options);
[Since (5,0)]
[Export ("window", ArgumentSemantic.Retain), NullAllowed]
UIWindow Window { get; set; }
//
// 6.0
//
[Since(6,0)]
[Export ("application:willFinishLaunchingWithOptions:")]
bool WillFinishLaunching (UIApplication application, NSDictionary launchOptions);
[NoTV]
[Since(6,0)]
[Export ("application:supportedInterfaceOrientationsForWindow:")]
UIInterfaceOrientationMask GetSupportedInterfaceOrientations (UIApplication application, [Transient] UIWindow forWindow);
[Since(6,0)]
[Export ("application:viewControllerWithRestorationIdentifierPath:coder:")]
UIViewController GetViewController (UIApplication application, string [] restorationIdentifierComponents, NSCoder coder);
[Since(6,0)]
[Export ("application:shouldSaveApplicationState:")]
bool ShouldSaveApplicationState (UIApplication application, NSCoder coder);
[Since(6,0)]
[Export ("application:shouldRestoreApplicationState:")]
bool ShouldRestoreApplicationState (UIApplication application, NSCoder coder);
[Since(6,0)]
[Export ("application:willEncodeRestorableStateWithCoder:")]
void WillEncodeRestorableState (UIApplication application, NSCoder coder);
[Since(6,0)]
[Export ("application:didDecodeRestorableStateWithCoder:")]
void DidDecodeRestorableState (UIApplication application, NSCoder coder);
// special case from UIAccessibilityAction. we added it (completly) on UIResponser but magic tap is also:
// "If youd like the Magic Tap gesture to perform the same action from anywhere within your app, it is more
// appropriate to implement the accessibilityPerformMagicTap method in your app delegate."
// ref: http://developer.apple.com/library/ios/#featuredarticles/ViewControllerPGforiPhoneOS/Accessibility/AccessibilityfromtheViewControllersPerspective.html
[NoTV]
[Since (6,0)]
[Export ("accessibilityPerformMagicTap")]
bool AccessibilityPerformMagicTap ();
[TV (10, 0)]
2016-04-21 15:30:02 +03:00
[Since (7,0)]
[Export ("application:didReceiveRemoteNotification:fetchCompletionHandler:")]
void DidReceiveRemoteNotification (UIApplication application, NSDictionary userInfo, Action<UIBackgroundFetchResult> completionHandler);
[Since (7,0)]
[Export ("application:handleEventsForBackgroundURLSession:completionHandler:")]
void HandleEventsForBackgroundUrl (UIApplication application, string sessionIdentifier, NSAction completionHandler);
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
[TV (11,0)]
2016-04-21 15:30:02 +03:00
[Since (7,0)]
[Export ("application:performFetchWithCompletionHandler:")]
void PerformFetch (UIApplication application, Action<UIBackgroundFetchResult> completionHandler);
//
// 8.0
//
[iOS (8,0)]
[Export ("application:continueUserActivity:restorationHandler:")]
bool ContinueUserActivity (UIApplication application, NSUserActivity userActivity, UIApplicationRestorationHandler completionHandler);
[iOS (8,0)]
[Export ("application:didFailToContinueUserActivityWithType:error:")]
#if XAMCORE_4_0
void DidFailToContinueUserActivity (UIApplication application, string userActivityType, NSError error);
#else
void DidFailToContinueUserActivitiy (UIApplication application, string userActivityType, NSError error);
#endif
[NoTV]
[iOS (8,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
[Deprecated (PlatformName.iOS, 10, 0, message: "Use 'UNUserNotificationCenter.RequestAuthorization' instead.")]
2016-04-21 15:30:02 +03:00
[Export ("application:didRegisterUserNotificationSettings:")]
void DidRegisterUserNotificationSettings (UIApplication application, UIUserNotificationSettings notificationSettings);
[NoTV]
[iOS (8,0)]
[Deprecated (PlatformName.iOS, 10, 0, message: "Use 'UNUserNotificationCenterDelegate.DidReceiveNotificationResponse' instead.")]
2016-04-21 15:30:02 +03:00
[Export ("application:handleActionWithIdentifier:forLocalNotification:completionHandler:")]
void HandleAction (UIApplication application, string actionIdentifier, UILocalNotification localNotification, Action completionHandler);
[NoTV]
[iOS (9,0)]
[Deprecated (PlatformName.iOS, 10, 0, message: "Use 'UNUserNotificationCenterDelegate.DidReceiveNotificationResponse' instead.")]
2016-04-21 15:30:02 +03:00
[Export ("application:handleActionWithIdentifier:forLocalNotification:withResponseInfo:completionHandler:")]
void HandleAction (UIApplication application, string actionIdentifier, UILocalNotification localNotification, NSDictionary responseInfo, Action completionHandler);
[NoTV]
[iOS (8,0)]
[Deprecated (PlatformName.iOS, 10, 0, message: "Use 'UNUserNotificationCenterDelegate.DidReceiveNotificationResponse' instead.")]
2016-04-21 15:30:02 +03:00
[Export ("application:handleActionWithIdentifier:forRemoteNotification:completionHandler:")]
void HandleAction (UIApplication application, string actionIdentifier, NSDictionary remoteNotificationInfo, Action completionHandler);
[NoTV]
[iOS (9,0)]
[Deprecated (PlatformName.iOS, 10, 0, message: "Use 'UNUserNotificationCenterDelegate.DidReceiveNotificationResponse' instead.")]
2016-04-21 15:30:02 +03:00
[Export ("application:handleActionWithIdentifier:forRemoteNotification:withResponseInfo:completionHandler:")]
void HandleAction (UIApplication application, string actionIdentifier, NSDictionary remoteNotificationInfo, NSDictionary responseInfo, Action completionHandler);
[NoTV]
[iOS (9,0)]
[Export ("application:performActionForShortcutItem:completionHandler:")]
void PerformActionForShortcutItem (UIApplication application, UIApplicationShortcutItem shortcutItem, UIOperationHandler completionHandler);
[iOS (8,0)]
[Export ("application:willContinueUserActivityWithType:")]
bool WillContinueUserActivity (UIApplication application, string userActivityType);
[iOS (8,0)]
[Export ("application:didUpdateUserActivity:")]
void UserActivityUpdated (UIApplication application, NSUserActivity userActivity);
[iOS (8,0)]
[Export ("application:shouldAllowExtensionPointIdentifier:")]
bool ShouldAllowExtensionPointIdentifier (UIApplication application, NSString extensionPointIdentifier);
[iOS (8,2)]
[Export ("application:handleWatchKitExtensionRequest:reply:")]
void HandleWatchKitExtensionRequest (UIApplication application, NSDictionary userInfo, Action<NSDictionary> reply);
[iOS (9,0)]
[Export ("applicationShouldRequestHealthAuthorization:")]
void ShouldRequestHealthAuthorization (UIApplication application);
[iOS (10,0), TV (10,0), NoWatch]
[Export ("application:userDidAcceptCloudKitShareWithMetadata:")]
void UserDidAcceptCloudKitShare (UIApplication application, CKShareMetadata cloudKitShareMetadata);
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 && !TVOS
[NoTV]
[iOS (11,0), Watch (4,0)]
[Export ("application:handleIntent:completionHandler:")]
void HandleIntent (UIApplication application, INIntent intent, Action<INIntentResponse> completionHandler);
#endif // XAMCORE_2_0 && !TVOS
2016-04-21 15:30:02 +03:00
}
[Static]
interface UIExtensionPointIdentifier {
2016-04-21 15:30:02 +03:00
[iOS (8,0)]
[Field ("UIApplicationKeyboardExtensionPointIdentifier")]
NSString Keyboard { get; }
}
[BaseType (typeof (NSObject))]
interface UIBarItem : NSCoding, UIAppearance, UIAccessibility, UIAccessibilityIdentification {
2016-04-21 15:30:02 +03:00
[Export ("enabled")][Abstract]
bool Enabled { [Bind ("isEnabled")] get; set; }
[Export ("title", ArgumentSemantic.Copy)][Abstract]
string Title { get;set; }
[Export ("image", ArgumentSemantic.Retain)][Abstract]
UIImage Image { get; set; }
[Export ("imageInsets")][Abstract]
UIEdgeInsets ImageInsets { get; set; }
[Export ("tag")][Abstract]
nint Tag { get; set; }
[NoTV]
[Since (5,0)]
[NullAllowed] // by default this property is null
[Export ("landscapeImagePhone", ArgumentSemantic.Retain)]
UIImage LandscapeImagePhone { get; set; }
[NoTV]
[Since (5,0)]
[Export ("landscapeImagePhoneInsets")]
UIEdgeInsets LandscapeImagePhoneInsets { get; set; }
[Since (5,0)]
[Export ("setTitleTextAttributes:forState:"), Internal]
[Appearance]
void _SetTitleTextAttributes ([NullAllowed] NSDictionary attributes, UIControlState state);
[Since (5,0)]
[Export ("titleTextAttributesForState:"), Internal]
[Appearance]
NSDictionary _GetTitleTextAttributes (UIControlState state);
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
[NoWatch]
[iOS (11,0), TV (11,0)]
[NullAllowed, Export ("largeContentSizeImage", ArgumentSemantic.Strong)]
UIImage LargeContentSizeImage { get; set; }
[NoWatch]
[iOS (11,0), TV (11,0)]
[Export ("largeContentSizeImageInsets", ArgumentSemantic.Assign)]
UIEdgeInsets LargeContentSizeImageInsets { get; set; }
2016-04-21 15:30:02 +03:00
}
[BaseType (typeof (UIBarItem))]
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 UIBarButtonItem : NSCoding
#if IOS
, UISpringLoadedInteractionSupporting
#endif
{
2016-04-21 15:30:02 +03:00
[Export ("initWithImage:style:target:action:")]
[PostGet ("Image")]
[PostGet ("Target")]
IntPtr Constructor ([NullAllowed] UIImage image, UIBarButtonItemStyle style, [NullAllowed] NSObject target, [NullAllowed] Selector action);
[Export ("initWithTitle:style:target:action:")]
[PostGet ("Target")]
IntPtr Constructor ([NullAllowed] string title, UIBarButtonItemStyle style, [NullAllowed] NSObject target, [NullAllowed] Selector action);
[Export ("initWithBarButtonSystemItem:target:action:")]
[PostGet ("Target")]
IntPtr Constructor (UIBarButtonSystemItem systemItem, [NullAllowed] NSObject target, [NullAllowed] Selector action);
[Export ("initWithCustomView:")]
[PostGet ("CustomView")]
IntPtr Constructor (UIView customView);
[Export ("style")]
UIBarButtonItemStyle Style { get; set; }
[Export ("width")]
nfloat Width { get; set; }
[NullAllowed] // by default this property is null
[Export ("possibleTitles", ArgumentSemantic.Copy)]
NSSet PossibleTitles { get; set; }
[Export ("customView", ArgumentSemantic.Retain), NullAllowed]
UIView CustomView { get; set; }
[Export ("action")][NullAllowed]
Selector Action { get; set; }
[NullAllowed] // by default this property is null
[Export ("target", ArgumentSemantic.Assign)]
NSObject Target { get; set; }
[Export ("enabled")][Override]
bool Enabled { [Bind ("isEnabled")] get; set; }
[NullAllowed]
[Export ("title", ArgumentSemantic.Copy)][Override]
string Title { get;set; }
[NullAllowed]
[Export ("image", ArgumentSemantic.Retain)][Override]
UIImage Image { get; set; }
[Export ("imageInsets")][Override]
UIEdgeInsets ImageInsets { get; set; }
[Export ("tag")][Override]
nint Tag { get; set; }
[Since (5,0)]
[Export ("tintColor", ArgumentSemantic.Retain), NullAllowed]
[Appearance]
UIColor TintColor { get; set; }
[Since (5,0)]
[Export ("initWithImage:landscapeImagePhone:style:target:action:"), PostGet ("Image")]
#if !TVOS
[PostGet ("LandscapeImagePhone")]
#endif
[PostGet ("Target")]
IntPtr Constructor ([NullAllowed] UIImage image, [NullAllowed] UIImage landscapeImagePhone, UIBarButtonItemStyle style, [NullAllowed] NSObject target, [NullAllowed] Selector action);
[Since (5,0)]
[Export ("setBackgroundImage:forState:barMetrics:")]
[Appearance]
void SetBackgroundImage ([NullAllowed] UIImage backgroundImage, UIControlState state, UIBarMetrics barMetrics);
[Since (5,0)]
[Export ("backgroundImageForState:barMetrics:")]
[Appearance]
UIImage GetBackgroundImage (UIControlState state, UIBarMetrics barMetrics);
[Since (5,0)]
[Export ("setBackgroundVerticalPositionAdjustment:forBarMetrics:")]
[Appearance]
void SetBackgroundVerticalPositionAdjustment (nfloat adjustment, UIBarMetrics forBarMetrics);
[Since (5,0)]
[Export ("backgroundVerticalPositionAdjustmentForBarMetrics:")]
[Appearance]
nfloat GetBackgroundVerticalPositionAdjustment (UIBarMetrics forBarMetrics);
[Since (5,0)]
[Export ("setTitlePositionAdjustment:forBarMetrics:")]
[Appearance]
void SetTitlePositionAdjustment (UIOffset adjustment, UIBarMetrics barMetrics);
[Since (5,0)]
[Export ("titlePositionAdjustmentForBarMetrics:")]
[Appearance]
UIOffset GetTitlePositionAdjustment (UIBarMetrics barMetrics);
[NoTV]
[Since (5,0)]
[Export ("setBackButtonBackgroundImage:forState:barMetrics:")]
[Appearance]
void SetBackButtonBackgroundImage ([NullAllowed] UIImage backgroundImage, UIControlState forState, UIBarMetrics barMetrics);
[NoTV]
[Since (5,0)]
[Export ("backButtonBackgroundImageForState:barMetrics:")]
[Appearance]
UIImage GetBackButtonBackgroundImage (UIControlState forState, UIBarMetrics barMetrics);
[NoTV]
[Since (5,0)]
[Export ("setBackButtonTitlePositionAdjustment:forBarMetrics:")]
[Appearance]
void SetBackButtonTitlePositionAdjustment (UIOffset adjustment, UIBarMetrics barMetrics);
[NoTV]
[Since (5,0)]
[Export ("backButtonTitlePositionAdjustmentForBarMetrics:")]
[Appearance]
UIOffset GetBackButtonTitlePositionAdjustment (UIBarMetrics barMetrics);
[NoTV]
[Since (5,0)]
[Export ("setBackButtonBackgroundVerticalPositionAdjustment:forBarMetrics:")]
[Appearance]
void SetBackButtonBackgroundVerticalPositionAdjustment (nfloat adjustment, UIBarMetrics barMetrics);
[NoTV]
[Since (5,0)]
[Export ("backButtonBackgroundVerticalPositionAdjustmentForBarMetrics:")]
[Appearance]
nfloat GetBackButtonBackgroundVerticalPositionAdjustment (UIBarMetrics barMetrics);
[Since(6,0)]
[Appearance]
[Export ("setBackgroundImage:forState:style:barMetrics:")]
void SetBackgroundImage ([NullAllowed] UIImage backgroundImage, UIControlState state, UIBarButtonItemStyle style, UIBarMetrics barMetrics);
[Since(6,0)]
[Appearance]
[Export ("backgroundImageForState:style:barMetrics:")]
UIImage GetBackgroundImage (UIControlState state, UIBarButtonItemStyle style, UIBarMetrics barMetrics);
[iOS (9,0)]
[NullAllowed, Export ("buttonGroup", ArgumentSemantic.Weak)]
UIBarButtonItemGroup ButtonGroup { get; }
}
[iOS (9,0)]
[BaseType (typeof(NSObject))]
interface UIBarButtonItemGroup : NSCoding
2016-04-21 15:30:02 +03:00
{
[DesignatedInitializer]
[Export ("initWithBarButtonItems:representativeItem:")]
IntPtr Constructor (UIBarButtonItem[] barButtonItems, [NullAllowed] UIBarButtonItem representativeItem);
[Export ("barButtonItems", ArgumentSemantic.Copy)]
UIBarButtonItem[] BarButtonItems { get; set; }
[NullAllowed, Export ("representativeItem", ArgumentSemantic.Strong)]
UIBarButtonItem RepresentativeItem { get; set; }
[Export ("displayingRepresentativeItem")]
bool DisplayingRepresentativeItem { [Bind ("isDisplayingRepresentativeItem")] get; }
}
[Since (6,0)]
[BaseType (typeof (UIView))]
interface UICollectionReusableView {
[Export ("initWithFrame:")]
IntPtr Constructor (CGRect frame);
[Export ("reuseIdentifier", ArgumentSemantic.Copy)]
NSString ReuseIdentifier { get; }
[Export ("prepareForReuse")]
void PrepareForReuse ();
[Export ("applyLayoutAttributes:")]
void ApplyLayoutAttributes ([NullAllowed] UICollectionViewLayoutAttributes layoutAttributes);
[Export ("willTransitionFromLayout:toLayout:")]
void WillTransition (UICollectionViewLayout oldLayout, UICollectionViewLayout newLayout);
[Export ("didTransitionFromLayout:toLayout:")]
void DidTransition (UICollectionViewLayout oldLayout, UICollectionViewLayout newLayout);
[iOS (8,0)]
[Export ("preferredLayoutAttributesFittingAttributes:")]
UICollectionViewLayoutAttributes PreferredLayoutAttributesFittingAttributes (UICollectionViewLayoutAttributes layoutAttributes);
}
[Since (6,0)]
[BaseType (typeof (UIScrollView))]
// Objective-C exception thrown. Name: NSInvalidArgumentException Reason: UICollectionView must be initialized with a non-nil layout parameter
[DisableDefaultCtor]
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 UICollectionView : NSCoding, UIDataSourceTranslating
#if IOS
, UISpringLoadedInteractionSupporting
#endif
{
2016-04-21 15:30:02 +03:00
[DesignatedInitializer]
[Export ("initWithFrame:collectionViewLayout:"), PostGet ("CollectionViewLayout")]
IntPtr Constructor (CGRect frame, UICollectionViewLayout layout);
[Export ("collectionViewLayout", ArgumentSemantic.Retain)]
UICollectionViewLayout CollectionViewLayout { get; set; }
[Export ("delegate", ArgumentSemantic.Assign), NullAllowed]
NSObject WeakDelegate { get; set; }
[Wrap ("WeakDelegate")]
[Protocolize]
UICollectionViewDelegate Delegate { get; set; }
[Export ("dataSource", ArgumentSemantic.Assign), NullAllowed]
NSObject WeakDataSource { get; set; }
[Wrap ("WeakDataSource")]
[Protocolize]
UICollectionViewDataSource DataSource { get; set; }
[Export ("backgroundView", ArgumentSemantic.Retain)]
UIView BackgroundView { get; [NullAllowed] set; }
[Export ("allowsSelection")]
bool AllowsSelection { get; set; }
[Export ("allowsMultipleSelection")]
bool AllowsMultipleSelection { get; set; }
[Export ("registerClass:forCellWithReuseIdentifier:"), Internal]
void RegisterClassForCell (IntPtr /* Class */cellClass, NSString reuseIdentifier);
[Export ("registerNib:forCellWithReuseIdentifier:")]
void RegisterNibForCell (UINib nib, NSString reuseIdentifier);
[Export ("registerClass:forSupplementaryViewOfKind:withReuseIdentifier:"), Protected]
void RegisterClassForSupplementaryView (IntPtr /*Class*/ viewClass, NSString kind, NSString reuseIdentifier);
[Export ("registerNib:forSupplementaryViewOfKind:withReuseIdentifier:")]
void RegisterNibForSupplementaryView (UINib nib, NSString kind, NSString reuseIdentifier);
[Export ("dequeueReusableCellWithReuseIdentifier:forIndexPath:")]
#if XAMCORE_2_0
UICollectionReusableView
#else
NSObject
#endif
DequeueReusableCell (NSString reuseIdentifier, NSIndexPath indexPath);
[Export ("dequeueReusableSupplementaryViewOfKind:withReuseIdentifier:forIndexPath:")]
#if XAMCORE_2_0
UICollectionReusableView
#else
NSObject
#endif
DequeueReusableSupplementaryView (NSString kind, NSString identifier, NSIndexPath indexPath);
[Export ("indexPathsForSelectedItems")]
NSIndexPath [] GetIndexPathsForSelectedItems ();
[Export ("selectItemAtIndexPath:animated:scrollPosition:")]
void SelectItem (NSIndexPath indexPath, bool animated, UICollectionViewScrollPosition scrollPosition);
[Export ("deselectItemAtIndexPath:animated:")]
void DeselectItem (NSIndexPath indexPath, bool animated);
[Export ("reloadData")]
void ReloadData ();
[Export ("setCollectionViewLayout:animated:")]
void SetCollectionViewLayout (UICollectionViewLayout layout, bool animated);
[Export ("numberOfSections")]
nint NumberOfSections ();
[Export ("numberOfItemsInSection:")]
nint NumberOfItemsInSection (nint section);
[Export ("layoutAttributesForItemAtIndexPath:")]
UICollectionViewLayoutAttributes GetLayoutAttributesForItem (NSIndexPath indexPath);
[Export ("layoutAttributesForSupplementaryElementOfKind:atIndexPath:")]
UICollectionViewLayoutAttributes GetLayoutAttributesForSupplementaryElement (NSString elementKind, NSIndexPath indexPath);
[Export ("indexPathForItemAtPoint:")]
NSIndexPath IndexPathForItemAtPoint (CGPoint point);
[Export ("indexPathForCell:")]
NSIndexPath IndexPathForCell (UICollectionViewCell cell);
[Export ("cellForItemAtIndexPath:")]
UICollectionViewCell CellForItem (NSIndexPath indexPath);
[Export ("visibleCells")]
UICollectionViewCell [] VisibleCells { get; }
[Export ("indexPathsForVisibleItems")]
NSIndexPath [] IndexPathsForVisibleItems { get; }
[Export ("scrollToItemAtIndexPath:atScrollPosition:animated:")]
void ScrollToItem (NSIndexPath indexPath, UICollectionViewScrollPosition scrollPosition, bool animated);
[Export ("insertSections:")]
void InsertSections (NSIndexSet sections);
[Export ("deleteSections:")]
void DeleteSections (NSIndexSet sections);
[Export ("reloadSections:")]
void ReloadSections (NSIndexSet sections);
[Export ("moveSection:toSection:")]
void MoveSection (nint section, nint newSection);
[Export ("insertItemsAtIndexPaths:")]
void InsertItems (NSIndexPath [] indexPaths);
[Export ("deleteItemsAtIndexPaths:")]
void DeleteItems (NSIndexPath [] indexPaths);
[Export ("reloadItemsAtIndexPaths:")]
void ReloadItems (NSIndexPath [] indexPaths);
[Export ("moveItemAtIndexPath:toIndexPath:")]
void MoveItem (NSIndexPath indexPath, NSIndexPath newIndexPath);
[Export ("performBatchUpdates:completion:")]
[Async]
void PerformBatchUpdates (NSAction updates, [NullAllowed] UICompletionHandler completed);
//
// 7.0
//
[Since (7,0)]
[Export ("startInteractiveTransitionToCollectionViewLayout:completion:")]
[Async (ResultTypeName="UICollectionViewTransitionResult")]
UICollectionViewTransitionLayout StartInteractiveTransition (UICollectionViewLayout newCollectionViewLayout,
UICollectionViewLayoutInteractiveTransitionCompletion completion);
[Since (7,0)]
[Export ("setCollectionViewLayout:animated:completion:")]
[Async]
void SetCollectionViewLayout (UICollectionViewLayout layout, bool animated, UICompletionHandler completion);
[Since (7,0)]
[Export ("finishInteractiveTransition")]
void FinishInteractiveTransition ();
[Since (7,0)]
[Export ("cancelInteractiveTransition")]
void CancelInteractiveTransition ();
[iOS (9,0)]
[Export ("beginInteractiveMovementForItemAtIndexPath:")]
bool BeginInteractiveMovementForItem (NSIndexPath indexPath);
[iOS (9,0)]
[Export ("updateInteractiveMovementTargetPosition:")]
void UpdateInteractiveMovement (CGPoint targetPosition);
[iOS (9,0)]
[Export ("endInteractiveMovement")]
void EndInteractiveMovement ();
[iOS (9,0)]
[Export ("cancelInteractiveMovement")]
void CancelInteractiveMovement ();
[iOS (9,0)]
[return : NullAllowed]
2016-04-21 15:30:02 +03:00
[Export ("supplementaryViewForElementKind:atIndexPath:")]
UICollectionReusableView GetSupplementaryView (NSString elementKind, NSIndexPath indexPath);
[iOS (9,0)]
[Export ("visibleSupplementaryViewsOfKind:")]
UICollectionReusableView[] GetVisibleSupplementaryViews (NSString elementKind);
[iOS (9,0)]
[Export ("indexPathsForVisibleSupplementaryElementsOfKind:")]
NSIndexPath[] GetIndexPathsForVisibleSupplementaryElements (NSString elementKind);
[iOS (9,0)] // added in Xcode 7.1 / iOS 9.1 SDK
[Export ("remembersLastFocusedIndexPath")]
bool RemembersLastFocusedIndexPath { get; set; }
2016-06-20 04:53:43 +03:00
[iOS (10,0), TV (10,0)]
2016-06-20 04:53:43 +03:00
[NullAllowed, Export ("prefetchDataSource", ArgumentSemantic.Weak)]
IUICollectionViewDataSourcePrefetching PrefetchDataSource { get; set; }
[iOS (10,0), TV (10,0)]
2016-06-20 04:53:43 +03:00
[Export ("prefetchingEnabled")]
bool PrefetchingEnabled { [Bind ("isPrefetchingEnabled")] 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
[NoWatch, NoTV]
[iOS (11,0)]
[NullAllowed, Export ("dragDelegate", ArgumentSemantic.Weak)]
IUICollectionViewDragDelegate DragDelegate { get; set; }
[NoWatch, NoTV]
[iOS (11,0)]
[NullAllowed, Export ("dropDelegate", ArgumentSemantic.Weak)]
IUICollectionViewDropDelegate DropDelegate { get; set; }
[NoWatch, NoTV]
[iOS (11,0)]
[Export ("dragInteractionEnabled")]
bool DragInteractionEnabled { get; set; }
[NoWatch, NoTV]
[iOS (11,0)]
[Export ("reorderingCadence", ArgumentSemantic.Assign)]
UICollectionViewReorderingCadence ReorderingCadence { get; set; }
[NoWatch]
[TV (11,0), iOS (11,0)]
[Export ("hasUncommittedUpdates")]
bool HasUncommittedUpdates { get; }
[NoWatch, NoTV]
[iOS (11,0)]
[Export ("hasActiveDrag")]
bool HasActiveDrag { get; }
[NoWatch, NoTV]
[iOS (11,0)]
[Export ("hasActiveDrop")]
bool HasActiveDrop { get; }
2016-04-21 15:30:02 +03:00
}
2016-06-20 04:53:43 +03:00
interface IUICollectionViewDataSourcePrefetching {}
[Protocol]
[iOS (10, 0)]
interface UICollectionViewDataSourcePrefetching {
2016-06-20 04:53:43 +03:00
[Abstract]
[Export ("collectionView:prefetchItemsAtIndexPaths:")]
void PrefetchItems (UICollectionView collectionView, NSIndexPath[] indexPaths);
[Export ("collectionView:cancelPrefetchingForItemsAtIndexPaths:")]
void CancelPrefetching (UICollectionView collectionView, NSIndexPath[] indexPaths);
}
2016-04-21 15:30:02 +03:00
//
// Combined version of UICollectionViewDataSource, UICollectionViewDelegate
//
[Since (6,0)]
[Model]
[BaseType (typeof (NSObject))]
[Protocol (IsInformal = true)]
interface UICollectionViewSource : UICollectionViewDataSource, UICollectionViewDelegate {
}
[Since (6,0)]
[BaseType (typeof (NSObject))]
[Model]
[Protocol]
interface UICollectionViewDataSource {
[Abstract]
[Export ("collectionView:numberOfItemsInSection:")]
nint GetItemsCount (UICollectionView collectionView, nint section);
[Abstract]
[Export ("collectionView:cellForItemAtIndexPath:")]
UICollectionViewCell GetCell (UICollectionView collectionView, NSIndexPath indexPath);
[Export ("numberOfSectionsInCollectionView:")]
nint NumberOfSections (UICollectionView collectionView);
[Export ("collectionView:viewForSupplementaryElementOfKind:atIndexPath:")]
UICollectionReusableView GetViewForSupplementaryElement (UICollectionView collectionView, NSString elementKind, NSIndexPath indexPath);
[iOS (9,0)]
[Export ("collectionView:canMoveItemAtIndexPath:")]
bool CanMoveItem (UICollectionView collectionView, NSIndexPath indexPath);
[iOS (9,0)]
[Export ("collectionView:moveItemAtIndexPath:toIndexPath:")]
void MoveItem (UICollectionView collectionView, NSIndexPath sourceIndexPath, NSIndexPath destinationIndexPath);
[iOS (10,3), TV (10,2)]
[return: NullAllowed]
[Export ("indexTitlesForCollectionView:")]
string [] GetIndexTitles (UICollectionView collectionView);
[iOS (10,3), TV (10,2)]
[return: NullAllowed]
[Export ("collectionView:indexPathForIndexTitle:atIndex:")]
NSIndexPath GetIndexPath (UICollectionView collectionView, string title, nint atIndex);
2016-04-21 15:30:02 +03:00
}
[Since (6,0)]
[Model]
[Protocol]
#if XAMCORE_3_0
// bind like UITableViewDelegate to avoid generating duplicate code
// it's an API break (binary, source should be fine)
[BaseType (typeof (UIScrollViewDelegate))]
interface UICollectionViewDelegate {
#else
[BaseType (typeof (NSObject))]
interface UICollectionViewDelegate : UIScrollViewDelegate {
#endif
[Export ("collectionView:shouldHighlightItemAtIndexPath:")]
bool ShouldHighlightItem (UICollectionView collectionView, NSIndexPath indexPath);
[Export ("collectionView:didHighlightItemAtIndexPath:")]
void ItemHighlighted (UICollectionView collectionView, NSIndexPath indexPath);
[Export ("collectionView:didUnhighlightItemAtIndexPath:")]
void ItemUnhighlighted (UICollectionView collectionView, NSIndexPath indexPath);
[Export ("collectionView:shouldSelectItemAtIndexPath:")]
bool ShouldSelectItem (UICollectionView collectionView, NSIndexPath indexPath);
[Export ("collectionView:shouldDeselectItemAtIndexPath:")]
bool ShouldDeselectItem (UICollectionView collectionView, NSIndexPath indexPath);
[Export ("collectionView:didSelectItemAtIndexPath:")]
void ItemSelected (UICollectionView collectionView, NSIndexPath indexPath);
[Export ("collectionView:didDeselectItemAtIndexPath:")]
void ItemDeselected (UICollectionView collectionView, NSIndexPath indexPath);
[iOS (8,0)]
[Export ("collectionView:willDisplayCell:forItemAtIndexPath:")]
void WillDisplayCell (UICollectionView collectionView, UICollectionViewCell cell, NSIndexPath indexPath);
[iOS (8,0)]
[Export ("collectionView:willDisplaySupplementaryView:forElementKind:atIndexPath:")]
void WillDisplaySupplementaryView (UICollectionView collectionView, UICollectionReusableView view, string elementKind, NSIndexPath indexPath);
[Export ("collectionView:didEndDisplayingCell:forItemAtIndexPath:")]
void CellDisplayingEnded (UICollectionView collectionView, UICollectionViewCell cell, NSIndexPath indexPath);
[Export ("collectionView:didEndDisplayingSupplementaryView:forElementOfKind:atIndexPath:")]
void SupplementaryViewDisplayingEnded (UICollectionView collectionView, UICollectionReusableView view, NSString elementKind, NSIndexPath indexPath);
[Export ("collectionView:shouldShowMenuForItemAtIndexPath:")]
bool ShouldShowMenu (UICollectionView collectionView, NSIndexPath indexPath);
[Export ("collectionView:canPerformAction:forItemAtIndexPath:withSender:")]
bool CanPerformAction (UICollectionView collectionView, Selector action, NSIndexPath indexPath, NSObject sender);
[Export ("collectionView:performAction:forItemAtIndexPath:withSender:")]
void PerformAction (UICollectionView collectionView, Selector action, NSIndexPath indexPath, NSObject sender);
[Since (7,0)]
[Export ("collectionView:transitionLayoutForOldLayout:newLayout:")]
UICollectionViewTransitionLayout TransitionLayout (UICollectionView collectionView, UICollectionViewLayout fromLayout, UICollectionViewLayout toLayout);
[iOS (9,0)]
[Export ("collectionView:targetIndexPathForMoveFromItemAtIndexPath:toProposedIndexPath:")]
NSIndexPath GetTargetIndexPathForMove (UICollectionView collectionView, NSIndexPath originalIndexPath, NSIndexPath proposedIndexPath);
[iOS (9,0)]
[Export ("collectionView:targetContentOffsetForProposedContentOffset:")]
CGPoint GetTargetContentOffset (UICollectionView collectionView, CGPoint proposedContentOffset);
[iOS (9,0)]
[Export ("collectionView:canFocusItemAtIndexPath:")]
bool CanFocusItem (UICollectionView collectionView, NSIndexPath indexPath);
[iOS (9,0)]
[Export ("collectionView:shouldUpdateFocusInContext:")]
bool ShouldUpdateFocus (UICollectionView collectionView, UICollectionViewFocusUpdateContext context);
[iOS (9,0)]
[Export ("collectionView:didUpdateFocusInContext:withAnimationCoordinator:")]
void DidUpdateFocus (UICollectionView collectionView, UICollectionViewFocusUpdateContext context, UIFocusAnimationCoordinator coordinator);
[iOS (9,0)]
[Export ("indexPathForPreferredFocusedViewInCollectionView:")]
[return: NullAllowed]
NSIndexPath GetIndexPathForPreferredFocusedView (UICollectionView collectionView);
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
[NoWatch, NoTV]
[iOS (11,0)]
[Export ("collectionView:shouldSpringLoadItemAtIndexPath:withContext:")]
bool ShouldSpringLoadItem (UICollectionView collectionView, NSIndexPath indexPath, IUISpringLoadedInteractionContext context);
2016-04-21 15:30:02 +03:00
}
[Since (6,0)]
[BaseType (typeof (UICollectionReusableView))]
interface UICollectionViewCell {
[Export ("initWithFrame:")]
IntPtr Constructor (CGRect frame);
[Export ("contentView")]
UIView ContentView { get; }
[Export ("selected")]
bool Selected { [Bind ("isSelected")] get; set; }
[Export ("highlighted")]
bool Highlighted { [Bind ("isHighlighted")] get; set; }
[NullAllowed] // by default this property is null
[Export ("backgroundView", ArgumentSemantic.Retain)]
UIView BackgroundView { get; set; }
[NullAllowed] // by default this property is null
[Export ("selectedBackgroundView", ArgumentSemantic.Retain)]
UIView SelectedBackgroundView { 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
[NoWatch, NoTV]
[iOS (11,0)]
[Export ("dragStateDidChange:")]
void DragStateDidChange (UICollectionViewCellDragState dragState);
2016-04-21 15:30:02 +03:00
}
[Since (6,0)]
[BaseType (typeof (UIViewController))]
interface UICollectionViewController : UICollectionViewSource, NSCoding {
[DesignatedInitializer]
[Export ("initWithNibName:bundle:")]
[PostGet ("NibBundle")]
IntPtr Constructor ([NullAllowed] string nibName, [NullAllowed] NSBundle bundle);
[Export ("collectionView", ArgumentSemantic.Retain)]
UICollectionView CollectionView { get; set; }
[Export ("clearsSelectionOnViewWillAppear")]
bool ClearsSelectionOnViewWillAppear { get; set; }
// The PostSnippet is there to ensure that "layout" is alive
// note: we can't use [PostGet] since it would not work before iOS7 so the hack must remain...
[DesignatedInitializer]
[Export ("initWithCollectionViewLayout:")]
IntPtr Constructor (UICollectionViewLayout layout);
[Since (7,0)]
[Export ("collectionViewLayout")]
UICollectionViewLayout Layout { get; }
[Since (7,0)]
[Export ("useLayoutToLayoutNavigationTransitions", ArgumentSemantic.Assign)]
bool UseLayoutToLayoutNavigationTransitions { get; set; }
[iOS (9,0)]
[Export ("installsStandardGestureForInteractiveMovement")]
bool InstallsStandardGestureForInteractiveMovement { get; set; }
}
[Since (6,0)]
[BaseType (typeof (UICollectionViewDelegate))]
[Model]
[Protocol]
interface UICollectionViewDelegateFlowLayout {
[Export ("collectionView:layout:sizeForItemAtIndexPath:")]
CGSize GetSizeForItem (UICollectionView collectionView, UICollectionViewLayout layout, NSIndexPath indexPath);
[Export ("collectionView:layout:insetForSectionAtIndex:")]
UIEdgeInsets GetInsetForSection (UICollectionView collectionView, UICollectionViewLayout layout, nint section);
[Export ("collectionView:layout:minimumLineSpacingForSectionAtIndex:")]
nfloat GetMinimumLineSpacingForSection (UICollectionView collectionView, UICollectionViewLayout layout, nint section);
[Export ("collectionView:layout:minimumInteritemSpacingForSectionAtIndex:")]
nfloat GetMinimumInteritemSpacingForSection (UICollectionView collectionView, UICollectionViewLayout layout, nint section);
[Export ("collectionView:layout:referenceSizeForHeaderInSection:")]
CGSize GetReferenceSizeForHeader (UICollectionView collectionView, UICollectionViewLayout layout, nint section);
[Export ("collectionView:layout:referenceSizeForFooterInSection:")]
CGSize GetReferenceSizeForFooter (UICollectionView collectionView, UICollectionViewLayout layout, nint section);
}
[Since (6,0)]
[BaseType (typeof (UICollectionViewLayout))]
interface UICollectionViewFlowLayout {
[Export ("minimumLineSpacing")]
nfloat MinimumLineSpacing { get; set; }
[Export ("minimumInteritemSpacing")]
nfloat MinimumInteritemSpacing { get; set; }
[Export ("itemSize")]
CGSize ItemSize { get; set; }
// Default value of this property is CGSize.Zero, setting to any other value causes each cell to be queried
[iOS (8,0)]
[Export ("estimatedItemSize")]
CGSize EstimatedItemSize { get; set; }
[Export ("scrollDirection")]
UICollectionViewScrollDirection ScrollDirection { get; set; }
[Export ("headerReferenceSize")]
CGSize HeaderReferenceSize { get; set; }
[Export ("footerReferenceSize")]
CGSize FooterReferenceSize { get; set; }
[Export ("sectionInset")]
UIEdgeInsets SectionInset { 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
[NoWatch]
[iOS (11,0), TV (11,0)]
[Export ("sectionInsetReference", ArgumentSemantic.Assign)]
UICollectionViewFlowLayoutSectionInsetReference SectionInsetReference { get; set; }
2016-04-21 15:30:02 +03:00
[iOS (9,0)]
[Export ("sectionHeadersPinToVisibleBounds")]
bool SectionHeadersPinToVisibleBounds { get; set; }
[iOS (9,0)]
[Export ("sectionFootersPinToVisibleBounds")]
2016-06-20 04:53:43 +03:00
bool SectionFootersPinToVisibleBounds { get; set; }
[iOS (10,0), TV (10,0)]
2016-06-20 04:53:43 +03:00
[Field ("UICollectionViewFlowLayoutAutomaticSize")]
CGSize AutomaticSize { get; }
2016-04-21 15:30:02 +03:00
}
[Since (6,0)]
[BaseType (typeof (NSObject))]
interface UICollectionViewLayout : NSCoding {
[Export ("collectionView")]
UICollectionView CollectionView { get; }
[Export ("invalidateLayout")]
void InvalidateLayout ();
[Export ("registerClass:forDecorationViewOfKind:"), Internal]
void RegisterClassForDecorationView (IntPtr classPtr, NSString kind);
[Export ("registerNib:forDecorationViewOfKind:")]
void RegisterNibForDecorationView ([NullAllowed] UINib nib, NSString kind);
//
// Subclassing methods
//
[Export ("prepareLayout")]
void PrepareLayout ();
[Export ("layoutAttributesForElementsInRect:")]
UICollectionViewLayoutAttributes [] LayoutAttributesForElementsInRect (CGRect rect);
[Export ("layoutAttributesForItemAtIndexPath:")]
UICollectionViewLayoutAttributes LayoutAttributesForItem (NSIndexPath indexPath);
[Export ("layoutAttributesForSupplementaryViewOfKind:atIndexPath:")]
UICollectionViewLayoutAttributes LayoutAttributesForSupplementaryView (NSString kind, NSIndexPath indexPath);
[Export ("layoutAttributesForDecorationViewOfKind:atIndexPath:")]
UICollectionViewLayoutAttributes LayoutAttributesForDecorationView (NSString kind, NSIndexPath indexPath);
[Export ("shouldInvalidateLayoutForBoundsChange:")]
bool ShouldInvalidateLayoutForBoundsChange (CGRect newBounds);
[Export ("targetContentOffsetForProposedContentOffset:withScrollingVelocity:")]
CGPoint TargetContentOffset (CGPoint proposedContentOffset, CGPoint scrollingVelocity);
[Export ("collectionViewContentSize")]
CGSize CollectionViewContentSize { get; }
[Export ("prepareForAnimatedBoundsChange:")]
void PrepareForAnimatedBoundsChange (CGRect oldBounds);
[iOS (8,0)]
[Export ("invalidationContextForPreferredLayoutAttributes:withOriginalAttributes:")]
UICollectionViewLayoutInvalidationContext GetInvalidationContext (UICollectionViewLayoutAttributes preferredAttributes, UICollectionViewLayoutAttributes originalAttributes);
[iOS (8,0)]
[Export ("shouldInvalidateLayoutForPreferredLayoutAttributes:withOriginalAttributes:")]
bool ShouldInvalidateLayout (UICollectionViewLayoutAttributes preferredAttributes, UICollectionViewLayoutAttributes originalAttributes);
//
// Update Support Hooks
//
[Export ("prepareForCollectionViewUpdates:")]
void PrepareForCollectionViewUpdates (UICollectionViewUpdateItem [] updateItems);
[Export ("finalizeCollectionViewUpdates")]
void FinalizeCollectionViewUpdates ();
[Export ("initialLayoutAttributesForAppearingItemAtIndexPath:")]
UICollectionViewLayoutAttributes InitialLayoutAttributesForAppearingItem (NSIndexPath itemIndexPath);
[Export ("finalLayoutAttributesForDisappearingItemAtIndexPath:")]
UICollectionViewLayoutAttributes FinalLayoutAttributesForDisappearingItem (NSIndexPath itemIndexPath);
[Export ("initialLayoutAttributesForAppearingSupplementaryElementOfKind:atIndexPath:")]
UICollectionViewLayoutAttributes InitialLayoutAttributesForAppearingSupplementaryElement (NSString elementKind, NSIndexPath elementIndexPath);
[Export ("finalLayoutAttributesForDisappearingSupplementaryElementOfKind:atIndexPath:")]
UICollectionViewLayoutAttributes FinalLayoutAttributesForDisappearingSupplementaryElement (NSString elementKind, NSIndexPath elementIndexPath);
[Export ("initialLayoutAttributesForAppearingDecorationElementOfKind:atIndexPath:")]
UICollectionViewLayoutAttributes InitialLayoutAttributesForAppearingDecorationElement (NSString elementKind, NSIndexPath decorationIndexPath);
[Export ("finalLayoutAttributesForDisappearingDecorationElementOfKind:atIndexPath:")]
UICollectionViewLayoutAttributes FinalLayoutAttributesForDisappearingDecorationElement (NSString elementKind, NSIndexPath decorationIndexPath);
[Export ("finalizeAnimatedBoundsChange")]
void FinalizeAnimatedBoundsChange ();
[Static, Export ("layoutAttributesClass")]
Class LayoutAttributesClass { get; }
[Since (7,0)]
[Static, Export ("invalidationContextClass")]
Class InvalidationContextClass ();
[Since (7,0)]
[Export ("invalidationContextForBoundsChange:")]
UICollectionViewLayoutInvalidationContext GetInvalidationContextForBoundsChange (CGRect newBounds);
[Since (7,0)]
[Export ("indexPathsToDeleteForSupplementaryViewOfKind:")]
NSIndexPath [] GetIndexPathsToDeleteForSupplementaryView (NSString kind);
[Since (7,0)]
[Export ("indexPathsToDeleteForDecorationViewOfKind:")]
NSIndexPath [] GetIndexPathsToDeleteForDecorationViewOfKind (NSString kind);
[Since (7,0)]
[Export ("indexPathsToInsertForSupplementaryViewOfKind:")]
NSIndexPath [] GetIndexPathsToInsertForSupplementaryView (NSString kind);
[Since (7,0)]
[Export ("indexPathsToInsertForDecorationViewOfKind:")]
NSIndexPath [] GetIndexPathsToInsertForDecorationView (NSString kind);
[Since (7,0)]
[Export ("invalidateLayoutWithContext:")]
void InvalidateLayout (UICollectionViewLayoutInvalidationContext context);
[Since (7,0)]
[Export ("finalizeLayoutTransition")]
void FinalizeLayoutTransition ();
[Since (7,0)]
[Export ("prepareForTransitionFromLayout:")]
void PrepareForTransitionFromLayout (UICollectionViewLayout oldLayout);
[Since (7,0)]
[Export ("prepareForTransitionToLayout:")]
void PrepareForTransitionToLayout (UICollectionViewLayout newLayout);
[Since (7,0)]
[Export ("targetContentOffsetForProposedContentOffset:")]
CGPoint TargetContentOffsetForProposedContentOffset (CGPoint proposedContentOffset);
[iOS (9,0)]
[Export ("targetIndexPathForInteractivelyMovingItem:withPosition:")]
NSIndexPath GetTargetIndexPathForInteractivelyMovingItem (NSIndexPath previousIndexPath, CGPoint position);
[iOS (9,0)]
[Export ("layoutAttributesForInteractivelyMovingItemAtIndexPath:withTargetPosition:")]
UICollectionViewLayoutAttributes GetLayoutAttributesForInteractivelyMovingItem (NSIndexPath indexPath, CGPoint targetPosition);
[iOS (9,0)]
[Export ("invalidationContextForInteractivelyMovingItems:withTargetPosition:previousIndexPaths:previousPosition:")]
UICollectionViewLayoutInvalidationContext GetInvalidationContextForInteractivelyMovingItems (NSIndexPath[] targetIndexPaths, CGPoint targetPosition, NSIndexPath[] previousIndexPaths, CGPoint previousPosition);
[iOS (9,0)]
[Export ("invalidationContextForEndingInteractiveMovementOfItemsToFinalIndexPaths:previousIndexPaths:movementCancelled:")]
UICollectionViewLayoutInvalidationContext GetInvalidationContextForEndingInteractiveMovementOfItems (NSIndexPath[] finalIndexPaths, NSIndexPath[] previousIndexPaths, bool movementCancelled);
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
[NoWatch]
[iOS (11,0), TV (11,0)]
[Export ("developmentLayoutDirection")]
UIUserInterfaceLayoutDirection DevelopmentLayoutDirection { get; }
[NoWatch]
[iOS (11,0), TV (11,0)]
[Export ("flipsHorizontallyInOppositeLayoutDirection")]
bool FlipsHorizontallyInOppositeLayoutDirection { get; }
2016-04-21 15:30:02 +03:00
}
[Since (6,0)]
[BaseType (typeof (NSObject))]
interface UICollectionViewLayoutAttributes : UIDynamicItem, NSCopying {
[Export ("frame")]
CGRect Frame { get; set; }
[Export ("center")]
new CGPoint Center { get; set; }
[Export ("size")]
CGSize Size { get; set; }
[Export ("transform3D")]
CATransform3D Transform3D { get; set; }
[Export ("alpha")]
nfloat Alpha { get; set; }
[Export ("zIndex")]
nint ZIndex { get; set; }
[Export ("hidden")]
bool Hidden { [Bind ("isHidden")] get; set; }
[Export ("indexPath", ArgumentSemantic.Retain)]
NSIndexPath IndexPath { get; set; }
[Export ("representedElementCategory")]
UICollectionElementCategory RepresentedElementCategory { get; }
[Export ("representedElementKind")]
string RepresentedElementKind { get; }
[Static]
[Export ("layoutAttributesForCellWithIndexPath:")]
UICollectionViewLayoutAttributes CreateForCell (NSIndexPath indexPath);
[Static]
[Export ("layoutAttributesForDecorationViewOfKind:withIndexPath:")]
UICollectionViewLayoutAttributes CreateForDecorationView (NSString kind, NSIndexPath indexPath);
[Static]
[Export ("layoutAttributesForSupplementaryViewOfKind:withIndexPath:")]
UICollectionViewLayoutAttributes CreateForSupplementaryView (NSString kind, NSIndexPath indexPath);
[Since (7,0)]
[Export ("bounds")]
new CGRect Bounds { get; set; }
[Since (7,0)]
[Export ("transform")]
new CGAffineTransform Transform { get; set; }
}
[Since (7,0)]
[BaseType (typeof (NSObject))]
interface UICollectionViewLayoutInvalidationContext {
[Export ("invalidateDataSourceCounts")]
bool InvalidateDataSourceCounts { get; }
[Export ("invalidateEverything")]
bool InvalidateEverything { get; }
[iOS (8,0)]
[Export ("invalidatedItemIndexPaths")]
NSIndexPath [] InvalidatedItemIndexPaths { get; }
[iOS (8,0)]
[Export ("invalidatedSupplementaryIndexPaths")]
NSDictionary InvalidatedSupplementaryIndexPaths { get; }
[iOS (8,0)]
[Export ("invalidatedDecorationIndexPaths")]
NSDictionary InvalidatedDecorationIndexPaths { get; }
[iOS (8,0)]
[Export ("contentOffsetAdjustment")]
CGPoint ContentOffsetAdjustment { get; set; }
[iOS (8,0)]
[Export ("contentSizeAdjustment")]
CGSize ContentSizeAdjustment { get; set; }
[iOS (8,0)]
[Export ("invalidateItemsAtIndexPaths:")]
void InvalidateItems (NSIndexPath [] indexPaths);
[iOS (8,0)]
[Export ("invalidateSupplementaryElementsOfKind:atIndexPaths:")]
void InvalidateSupplementaryElements (NSString elementKind, NSIndexPath [] indexPaths);
[iOS (8,0)]
[Export ("invalidateDecorationElementsOfKind:atIndexPaths:")]
void InvalidateDecorationElements (NSString elementKind, NSIndexPath [] indexPaths);
[iOS (9,0)]
[NullAllowed, Export ("previousIndexPathsForInteractivelyMovingItems")]
NSIndexPath[] PreviousIndexPathsForInteractivelyMovingItems { get; }
[iOS (9,0)]
[NullAllowed, Export ("targetIndexPathsForInteractivelyMovingItems")]
NSIndexPath[] TargetIndexPathsForInteractivelyMovingItems { get; }
[iOS (9,0)]
[Export ("interactiveMovementTarget")]
CGPoint InteractiveMovementTarget { get; }
}
[Since (7,0)]
[BaseType (typeof (UICollectionViewLayoutInvalidationContext))]
partial interface UICollectionViewFlowLayoutInvalidationContext {
2016-04-21 15:30:02 +03:00
[Export ("invalidateFlowLayoutDelegateMetrics")]
bool InvalidateFlowLayoutDelegateMetrics { get; set; }
[Export ("invalidateFlowLayoutAttributes")]
bool InvalidateFlowLayoutAttributes { get; set; }
}
[Since (7,0)]
[BaseType (typeof (UICollectionViewLayout))]
[DisableDefaultCtor] // NSInternalInconsistencyException Reason: -[UICollectionViewTransitionLayout init] is not a valid initializer - use -initWithCurrentLayout:nextLayout: instead
interface UICollectionViewTransitionLayout : NSCoding {
[Export ("currentLayout")]
UICollectionViewLayout CurrentLayout { get; }
[Export ("nextLayout")]
UICollectionViewLayout NextLayout { get; }
[DesignatedInitializer]
[Export ("initWithCurrentLayout:nextLayout:")]
[PostGet ("CurrentLayout")]
[PostGet ("NextLayout")]
IntPtr Constructor (UICollectionViewLayout currentLayout, UICollectionViewLayout newLayout);
[Export ("updateValue:forAnimatedKey:")]
void UpdateValue (nfloat value, string animatedKey);
[Export ("valueForAnimatedKey:")]
nfloat GetValueForAnimatedKey (string animatedKey);
[Export ("transitionProgress", ArgumentSemantic.Assign)]
nfloat TransitionProgress { get; set; }
}
[Since (6,0)]
[BaseType (typeof (NSObject))]
interface UICollectionViewUpdateItem {
[NullAllowed]
[Export ("indexPathBeforeUpdate")]
NSIndexPath IndexPathBeforeUpdate { get; }
[NullAllowed]
[Export ("indexPathAfterUpdate")]
NSIndexPath IndexPathAfterUpdate { get; }
[Export ("updateAction")]
UICollectionUpdateAction UpdateAction { get; }
}
[Since (6,0)]
[Static]
interface UICollectionElementKindSectionKey
{
[Field ("UICollectionElementKindSectionHeader")]
NSString Header { get; }
[Field ("UICollectionElementKindSectionFooter")]
NSString Footer { get; }
}
#endif // !WATCH
[BaseType (typeof (NSObject))]
[ThreadSafe]
// returns NIL handle causing exceptions in further calls, e.g. ToString
// Objective-C exception thrown. Name: NSInvalidArgumentException Reason: *** -CGColor not defined for the UIColor <UIPlaceholderColor: 0x114f5ad0>; need to first convert colorspace.
[DisableDefaultCtor]
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 UIColor : NSSecureCoding, NSCopying
#if !TVOS && !WATCH
, NSItemProviderWriting, NSItemProviderReading
#endif
{
2016-04-21 15:30:02 +03:00
[Export ("colorWithWhite:alpha:")][Static]
UIColor FromWhiteAlpha (nfloat white, nfloat alpha);
[Export ("colorWithHue:saturation:brightness:alpha:")][Static]
UIColor FromHSBA (nfloat hue, nfloat saturation, nfloat brightness, nfloat alpha);
[Export ("colorWithRed:green:blue:alpha:")][Static]
UIColor FromRGBA (nfloat red, nfloat green, nfloat blue, nfloat alpha);
[Export ("colorWithCGColor:")][Static]
UIColor FromCGColor (CGColor color);
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 (11,0), TV (11,0)]
[Static]
[Export ("colorNamed:")]
[return: NullAllowed]
UIColor FromName (string name);
#if !WATCH
[iOS (11,0), TV (11,0)]
[Static]
[Export ("colorNamed:inBundle:compatibleWithTraitCollection:")]
[return: NullAllowed]
UIColor FromName (string name, [NullAllowed] NSBundle inBundle, [NullAllowed] UITraitCollection compatibleWithTraitCollection);
#endif
[iOS (10,0), TV (10,0), Watch (3,0)]
[Static]
[Export ("colorWithDisplayP3Red:green:blue:alpha:")]
UIColor FromDisplayP3 (nfloat red, nfloat green, nfloat blue, nfloat alpha);
2016-04-21 15:30:02 +03:00
[Export ("colorWithPatternImage:")][Static]
UIColor FromPatternImage (UIImage image);
[Export ("initWithRed:green:blue:alpha:")]
IntPtr Constructor (nfloat red, nfloat green, nfloat blue, nfloat alpha);
[Export ("initWithPatternImage:")]
IntPtr Constructor (UIImage patternImage);
[Export ("initWithWhite:alpha:")]
IntPtr Constructor (nfloat white, nfloat alpha);
// [Export ("initWithHue:saturation:brightness:alpha:")]
// IntPtr Constructor (nfloat red, nfloat green, nfloat blue, nfloat alpha);
//
// This method is not bound as a constructor because the binding already has a constructor that
// takes 4 doubles (RGBA constructor) meaning that we would need to use an enum to diff between them making the API
// uglier when it is not needed. The developer can use colorWithHue:saturation:brightness:alpha:
// instead.
[Export ("initWithCGColor:")]
IntPtr Constructor (CGColor color);
[Static] [Export ("clearColor")]
UIColor Clear { get; }
[Static] [Export ("blackColor")]
UIColor Black { get; }
[Static] [Export ("darkGrayColor")]
UIColor DarkGray { get; }
[Static] [Export ("lightGrayColor")]
UIColor LightGray { get; }
[Static] [Export ("whiteColor")]
UIColor White { get; }
[Static] [Export ("grayColor")]
UIColor Gray { get; }
[Static] [Export ("redColor")]
UIColor Red { get; }
[Static] [Export ("greenColor")]
UIColor Green { get; }
[Static] [Export ("blueColor")]
UIColor Blue { get; }
[Static] [Export ("cyanColor")]
UIColor Cyan { get; }
[Static] [Export ("yellowColor")]
UIColor Yellow { get; }
[Static] [Export ("magentaColor")]
UIColor Magenta { get; }
[Static] [Export ("orangeColor")]
UIColor Orange { get; }
[Static] [Export ("purpleColor")]
UIColor Purple { get; }
[Static] [Export ("brownColor")]
UIColor Brown { get; }
[Export ("set")]
void SetColor ();
[Export ("setFill")]
void SetFill ();
[Export ("setStroke")]
void SetStroke ();
[Export ("colorWithAlphaComponent:")]
UIColor ColorWithAlpha (nfloat alpha);
[Export ("CGColor")]
CGColor CGColor { get; }
[NoWatch]
[Export ("CIColor")]
CIColor CIColor { get; }
[NoWatch][NoTV]
[Export ("lightTextColor")]
[Static]
UIColor LightTextColor { get; }
[NoWatch][NoTV]
[Export ("darkTextColor")]
[Static]
UIColor DarkTextColor { get; }
[NoWatch][NoTV]
[Export ("groupTableViewBackgroundColor")][Static]
UIColor GroupTableViewBackgroundColor { get; }
[Availability (Introduced = Platform.iOS_2_0, Deprecated = Platform.iOS_7_0)]
[NoWatch][NoTV]
[Export ("viewFlipsideBackgroundColor")][Static]
UIColor ViewFlipsideBackgroundColor { get; }
[Since (3,2)]
[Availability (Introduced = Platform.iOS_3_2, Deprecated = Platform.iOS_7_0)]
[NoWatch][NoTV]
[Export ("scrollViewTexturedBackgroundColor")][Static]
UIColor ScrollViewTexturedBackgroundColor { get; }
[Since (5,0)]
[Availability (Introduced = Platform.iOS_5_0, Deprecated = Platform.iOS_7_0)]
[NoWatch][NoTV]
[Static, Export ("underPageBackgroundColor")]
UIColor UnderPageBackgroundColor { get; }
[NoWatch]
[Since (5,0)]
[Static, Export ("colorWithCIColor:")]
UIColor FromCIColor (CIColor color);
[NoWatch]
[Since (5,0)]
[Export ("initWithCIColor:")]
IntPtr Constructor (CIColor ciColor);
[Export ("getWhite:alpha:")]
bool GetWhite (out nfloat white, out nfloat alpha);
#if false
// for testing the managed implementations
[Export ("getHue:saturation:brightness:alpha:")]
bool GetHSBA (out nfloat hue, out nfloat saturation, out nfloat brightness, out nfloat alpha);
[Export ("getRed:green:blue:alpha:")]
bool GetRGBA2 (out nfloat red, out nfloat green, out nfloat blue, out nfloat alpha);
#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
// From the NSItemProviderReading protocol, a static method.
[Static]
[iOS (11,0), NoWatch, NoTV]
[Export ("readableTypeIdentifiersForItemProvider", ArgumentSemantic.Copy)]
#if !WATCH && !TVOS
new
#endif
string[] ReadableTypeIdentifiers { get; }
// From the NSItemProviderReading protocol, a static method.
[iOS (11,0), NoWatch, NoTV]
[Static]
[Export ("objectWithItemProviderData:typeIdentifier:error:")]
[return: NullAllowed]
#if !WATCH && !TVOS
new
#endif
UIColor GetObject (NSData data, string typeIdentifier, [NullAllowed] out NSError outError);
// From the NSItemProviderWriting protocol, a static method.
// NSItemProviderWriting doesn't seem to be implemented for tvOS/watchOS, even though the headers say otherwise.
[NoWatch, NoTV, iOS (11,0)]
[Static]
[Export ("writableTypeIdentifiersForItemProvider", ArgumentSemantic.Copy)]
#if !WATCH && !TVOS
new
#endif
string[] WritableTypeIdentifiers { get; }
2016-04-21 15:30:02 +03:00
}
#if !WATCH
[Since (7,0)]
[BaseType (typeof (UIDynamicBehavior),
Delegates=new string [] { "CollisionDelegate" },
Events=new Type [] { typeof (UICollisionBehaviorDelegate)})]
interface UICollisionBehavior {
[DesignatedInitializer]
[Export ("initWithItems:")]
IntPtr Constructor ([Params] IUIDynamicItem [] items);
[Export ("items", ArgumentSemantic.Copy)]
IUIDynamicItem [] Items { get; }
[Export ("collisionMode")]
UICollisionBehaviorMode CollisionMode { get; set; }
[Export ("translatesReferenceBoundsIntoBoundary")]
bool TranslatesReferenceBoundsIntoBoundary { get; set; }
[Export ("boundaryIdentifiers", ArgumentSemantic.Copy)]
NSObject [] BoundaryIdentifiers { get; }
[Export ("collisionDelegate", ArgumentSemantic.Assign), NullAllowed]
NSObject WeakCollisionDelegate { get; set; }
[Wrap ("WeakCollisionDelegate")]
[Protocolize]
UICollisionBehaviorDelegate CollisionDelegate { get; set; }
[Export ("addItem:")]
void AddItem (IUIDynamicItem dynamicItem);
[Export ("removeItem:")]
void RemoveItem (IUIDynamicItem dynamicItem);
[Export ("setTranslatesReferenceBoundsIntoBoundaryWithInsets:")]
void SetTranslatesReferenceBoundsIntoBoundaryWithInsets (UIEdgeInsets insets);
[Export ("addBoundaryWithIdentifier:forPath:")]
[PostGet ("BoundaryIdentifiers")]
void AddBoundary (NSObject boundaryIdentifier, UIBezierPath bezierPath);
[Export ("addBoundaryWithIdentifier:fromPoint:toPoint:")]
[PostGet ("BoundaryIdentifiers")]
void AddBoundary (NSObject boundaryIdentifier, CGPoint fromPoint, CGPoint toPoint);
[Export ("boundaryWithIdentifier:")]
UIBezierPath GetBoundary (NSObject boundaryIdentifier);
[Export ("removeBoundaryWithIdentifier:")]
void RemoveBoundary (NSObject boundaryIdentifier);
[Export ("removeAllBoundaries")]
void RemoveAllBoundaries ();
}
[Since (7,0)]
[BaseType (typeof (NSObject))]
[Protocol]
[Model]
interface UICollisionBehaviorDelegate {
[Export ("collisionBehavior:beganContactForItem:withItem:atPoint:")][EventArgs ("UICollisionBeganContact")]
void BeganContact (UICollisionBehavior behavior, IUIDynamicItem firstItem, IUIDynamicItem secondItem, CGPoint atPoint);
[Export ("collisionBehavior:endedContactForItem:withItem:")][EventArgs ("UICollisionEndedContact")]
void EndedContact (UICollisionBehavior behavior, IUIDynamicItem firstItem, IUIDynamicItem secondItem);
[Export ("collisionBehavior:beganContactForItem:withBoundaryIdentifier:atPoint:")][EventArgs ("UICollisionBeganBoundaryContact")]
void BeganBoundaryContact (UICollisionBehavior behavior, IUIDynamicItem dynamicItem, [NullAllowed] NSObject boundaryIdentifier, CGPoint atPoint);
[Export ("collisionBehavior:endedContactForItem:withBoundaryIdentifier:")][EventArgs ("UICollisionEndedBoundaryContact")]
void EndedBoundaryContact (UICollisionBehavior behavior, IUIDynamicItem dynamicItem, [NullAllowed] NSObject boundaryIdentifier);
}
[NoTV]
[Since (5,0)]
[BaseType (typeof (NSObject))]
// Objective-C exception thrown. Name: NSInternalInconsistencyException Reason: do not call -[UIDocument init] - the designated initializer is -[UIDocument initWithFileURL:
[DisableDefaultCtor]
[ThreadSafe]
interface UIDocument : NSFilePresenter, NSProgressReporting {
[Export ("localizedName", ArgumentSemantic.Copy)]
string LocalizedName { get; }
[Export ("fileType", ArgumentSemantic.Copy)]
string FileType { get; }
[Export ("fileModificationDate", ArgumentSemantic.Copy)]
NSDate FileModificationDate { get; set; }
[Export ("documentState")]
UIDocumentState DocumentState { get; }
[DesignatedInitializer]
[Export ("initWithFileURL:")]
[PostGet ("FileUrl")]
IntPtr Constructor (NSUrl url);
[Export ("fileURL")]
NSUrl FileUrl { get; }
[Export ("openWithCompletionHandler:")]
[Async]
void Open ([NullAllowed] UIOperationHandler completionHandler);
[Export ("closeWithCompletionHandler:")]
[Async]
void Close ([NullAllowed] UIOperationHandler completionHandler);
[Export ("loadFromContents:ofType:error:")]
bool LoadFromContents (NSObject contents, [NullAllowed] string typeName, out NSError outError);
[Export ("contentsForType:error:")]
NSObject ContentsForType (string typeName, out NSError outError);
[Export ("disableEditing")]
void DisableEditing ();
[Export ("enableEditing")]
void EnableEditing ();
[Export ("undoManager", ArgumentSemantic.Retain)]
NSUndoManager UndoManager { get; set; }
[Export ("hasUnsavedChanges")]
bool HasUnsavedChanges { get; }
[Export ("updateChangeCount:")]
void UpdateChangeCount (UIDocumentChangeKind change);
[Export ("changeCountTokenForSaveOperation:")]
NSObject ChangeCountTokenForSaveOperation (UIDocumentSaveOperation saveOperation);
[Export ("updateChangeCountWithToken:forSaveOperation:")]
void UpdateChangeCount (NSObject changeCountToken, UIDocumentSaveOperation saveOperation);
[Export ("saveToURL:forSaveOperation:completionHandler:")]
[Async]
void Save (NSUrl url, UIDocumentSaveOperation saveOperation, [NullAllowed] UIOperationHandler completionHandler);
[Export ("autosaveWithCompletionHandler:")]
[Async]
void AutoSave ([NullAllowed] UIOperationHandler completionHandler);
[Export ("savingFileType")]
string SavingFileType { get; }
[Export ("fileNameExtensionForType:saveOperation:")]
string GetFileNameExtension ([NullAllowed] string typeName, UIDocumentSaveOperation saveOperation);
[Export ("writeContents:andAttributes:safelyToURL:forSaveOperation:error:")]
bool WriteContents (NSObject contents, [NullAllowed] NSDictionary additionalFileAttributes, NSUrl url, UIDocumentSaveOperation saveOperation, out NSError outError);
[Export ("writeContents:toURL:forSaveOperation:originalContentsURL:error:")]
bool WriteContents (NSObject contents, NSUrl toUrl, UIDocumentSaveOperation saveOperation, [NullAllowed] NSUrl originalContentsURL, out NSError outError);
[Export ("fileAttributesToWriteToURL:forSaveOperation:error:")]
NSDictionary GetFileAttributesToWrite (NSUrl forUrl, UIDocumentSaveOperation saveOperation, out NSError outError);
[Export ("readFromURL:error:")]
bool Read (NSUrl fromUrl, out NSError outError);
[Export ("performAsynchronousFileAccessUsingBlock:")]
[Async]
void PerformAsynchronousFileAccess (/* non null*/ NSAction action);
[Export ("handleError:userInteractionPermitted:")]
void HandleError (NSError error, bool userInteractionPermitted);
[Export ("finishedHandlingError:recovered:")]
void FinishedHandlingError (NSError error, bool recovered);
[Export ("userInteractionNoLongerPermittedForError:")]
void UserInteractionNoLongerPermittedForError (NSError error);
[Export ("revertToContentsOfURL:completionHandler:")]
[Async]
void RevertToContentsOfUrl (NSUrl url, [NullAllowed] UIOperationHandler completionHandler);
[Field ("UIDocumentStateChangedNotification")]
[Notification]
NSString StateChangedNotification { get; }
// ActivityContinuation Category
[iOS (8,0)]
[Export ("userActivity", ArgumentSemantic.Retain)]
NSUserActivity UserActivity { get; set; }
[iOS (8,0)]
[Export ("updateUserActivityState:")]
void UpdateUserActivityState (NSUserActivity userActivity);
[iOS (8,0)]
[Export ("restoreUserActivityState:")]
void RestoreUserActivityState (NSUserActivity userActivity);
[iOS (8,0)]
[Field ("NSUserActivityDocumentURLKey")]
NSString UserActivityDocumentUrlKey { get; }
2016-06-20 04:53:43 +03:00
2016-04-21 15:30:02 +03:00
}
[BaseType (typeof (NSObject))]
[Protocol]
[Model]
interface UIDynamicAnimatorDelegate {
#if !XAMCORE_4_0
[Abstract]
#endif
[Export ("dynamicAnimatorWillResume:")]
void WillResume (UIDynamicAnimator animator);
#if !XAMCORE_4_0
[Abstract]
#endif
[Export ("dynamicAnimatorDidPause:")]
void DidPause (UIDynamicAnimator animator);
}
[Since (7,0)]
[BaseType (typeof (NSObject))]
interface UIDynamicAnimator {
[DesignatedInitializer]
[Export ("initWithReferenceView:")]
IntPtr Constructor (UIView referenceView);
[Export ("referenceView")]
UIView ReferenceView { get; }
[Export ("behaviors", ArgumentSemantic.Copy)]
UIDynamicBehavior [] Behaviors { get; }
[Export ("running")]
bool Running { [Bind ("isRunning")] get; }
[Export ("delegate", ArgumentSemantic.Assign), NullAllowed]
NSObject WeakDelegate { get; set; }
[Wrap ("WeakDelegate")]
[Protocolize]
UIDynamicAnimatorDelegate Delegate { get; set; }
[Export ("addBehavior:")]
[PostGet ("Behaviors")]
void AddBehavior ([NullAllowed] UIDynamicBehavior behavior);
[Export ("removeBehavior:")]
[PostGet ("Behaviors")]
void RemoveBehavior ([NullAllowed] UIDynamicBehavior behavior);
[Export ("removeAllBehaviors")]
[PostGet ("Behaviors")]
void RemoveAllBehaviors ();
[Export ("itemsInRect:")]
IUIDynamicItem [] GetDynamicItems (CGRect rect);
[Export ("elapsedTime")]
double ElapsedTime { get; }
[Export ("updateItemUsingCurrentState:")]
void UpdateItemUsingCurrentState (IUIDynamicItem uiDynamicItem);
//
// From UIDynamicAnimator (UICollectionViewAdditions)
//
[Export ("initWithCollectionViewLayout:")]
IntPtr Constructor (UICollectionViewLayout layout);
[Export ("layoutAttributesForCellAtIndexPath:")]
UICollectionViewLayoutAttributes GetLayoutAttributesForCell (NSIndexPath cellIndexPath);
[Export ("layoutAttributesForSupplementaryViewOfKind:atIndexPath:")]
UICollectionViewLayoutAttributes GetLayoutAttributesForSupplementaryView (NSString viewKind, NSIndexPath viewIndexPath);
[Export ("layoutAttributesForDecorationViewOfKind:atIndexPath:")]
UICollectionViewLayoutAttributes GetLayoutAttributesForDecorationView (NSString viewKind, NSIndexPath viewIndexPath);
}
[Since (7,0)]
[BaseType (typeof (UIDynamicBehavior))]
interface UIDynamicItemBehavior {
2016-04-21 15:30:02 +03:00
[DesignatedInitializer]
[Export ("initWithItems:")]
IntPtr Constructor ([Params] IUIDynamicItem [] items);
[Export ("items", ArgumentSemantic.Copy)]
IUIDynamicItem [] Items { get; }
[Export ("elasticity")]
nfloat Elasticity { get; set; }
[Export ("friction")]
nfloat Friction { get; set; }
[Export ("density")]
nfloat Density { get; set; }
[Export ("resistance")]
nfloat Resistance { get; set; }
[Export ("angularResistance")]
nfloat AngularResistance { get; set; }
[Export ("allowsRotation")]
bool AllowsRotation { get; set; }
[Export ("addItem:")]
[PostGet ("Items")]
void AddItem (IUIDynamicItem dynamicItem);
[Export ("removeItem:")]
[PostGet ("Items")]
void RemoveItem (IUIDynamicItem dynamicItem);
[Export ("addLinearVelocity:forItem:")]
void AddLinearVelocityForItem (CGPoint velocity, IUIDynamicItem dynamicItem);
[Export ("linearVelocityForItem:")]
CGPoint GetLinearVelocityForItem (IUIDynamicItem dynamicItem);
[Export ("addAngularVelocity:forItem:")]
void AddAngularVelocityForItem (nfloat velocity, IUIDynamicItem dynamicItem);
[Export ("angularVelocityForItem:")]
nfloat GetAngularVelocityForItem (IUIDynamicItem dynamicItem);
[iOS (9,0)]
[Export ("charge", ArgumentSemantic.Assign)]
nfloat Charge { get; set; }
[iOS (9,0)]
[Export ("anchored")]
bool Anchored { [Bind ("isAnchored")] get; set; }
}
[iOS (7,0)]
[BaseType (typeof (NSObject))]
[Protocol]
[Model]
interface UIDynamicItem {
2016-04-21 15:30:02 +03:00
[Abstract]
[Export ("center")]
CGPoint Center { get; set; }
[Abstract]
[Export ("bounds")]
CGRect Bounds { get; }
[Abstract]
[Export ("transform")]
CGAffineTransform Transform { get; set; }
[iOS (9,0)]
[Export ("collisionBoundsType")]
UIDynamicItemCollisionBoundsType CollisionBoundsType { get; }
[iOS (9,0)]
[Export ("collisionBoundingPath")]
UIBezierPath CollisionBoundingPath { get; }
}
[iOS (9,0)]
[BaseType (typeof(NSObject))]
interface UIDynamicItemGroup : UIDynamicItem
{
[Export ("initWithItems:")]
IntPtr Constructor (IUIDynamicItem[] items);
[Export ("items", ArgumentSemantic.Copy)]
IUIDynamicItem[] Items { get; }
}
interface IUIDynamicItem {}
2016-04-21 15:30:02 +03:00
[Since (7,0)]
[BaseType (typeof (NSObject))]
interface UIDynamicBehavior {
[Export ("childBehaviors", ArgumentSemantic.Copy)]
UIDynamicBehavior [] ChildBehaviors { get; }
[NullAllowed] // by default this property is null
[Export ("action", ArgumentSemantic.Copy)]
NSAction Action { get; set; }
[Export ("addChildBehavior:")]
[PostGet ("ChildBehaviors")]
void AddChildBehavior (UIDynamicBehavior behavior);
[Export ("removeChildBehavior:")]
[PostGet ("ChildBehaviors")]
void RemoveChildBehavior (UIDynamicBehavior behavior);
[Export ("dynamicAnimator")]
UIDynamicAnimator DynamicAnimator { get; }
[Export ("willMoveToAnimator:")]
void WillMoveToAnimator ([NullAllowed] UIDynamicAnimator targetAnimator);
}
[iOS (9,0)]
[BaseType (typeof(UIDynamicBehavior))]
[DisableDefaultCtor]
interface UIFieldBehavior
{
[Export ("addItem:")]
void AddItem (IUIDynamicItem item);
[Export ("removeItem:")]
void RemoveItem (IUIDynamicItem item);
[Export ("items", ArgumentSemantic.Copy)]
IUIDynamicItem[] Items { get; }
[Export ("position", ArgumentSemantic.Assign)]
CGPoint Position { get; set; }
[Export ("region", ArgumentSemantic.Strong)]
UIRegion Region { get; set; }
[Export ("strength", ArgumentSemantic.Assign)]
nfloat Strength { get; set; }
[Export ("falloff", ArgumentSemantic.Assign)]
nfloat Falloff { get; set; }
[Export ("minimumRadius", ArgumentSemantic.Assign)]
nfloat MinimumRadius { get; set; }
[Export ("direction", ArgumentSemantic.Assign)]
CGVector Direction { get; set; }
[Export ("smoothness", ArgumentSemantic.Assign)]
nfloat Smoothness { get; set; }
[Export ("animationSpeed", ArgumentSemantic.Assign)]
nfloat AnimationSpeed { get; set; }
[Static]
[Export ("dragField")]
UIFieldBehavior CreateDragField ();
[Static]
[Export ("vortexField")]
UIFieldBehavior CreateVortexField ();
[Static]
[Export ("radialGravityFieldWithPosition:")]
UIFieldBehavior CreateRadialGravityField (CGPoint position);
[Static]
[Export ("linearGravityFieldWithVector:")]
UIFieldBehavior CreateLinearGravityField (CGVector direction);
[Static]
[Export ("velocityFieldWithVector:")]
UIFieldBehavior CreateVelocityField (CGVector direction);
[Static]
[Export ("noiseFieldWithSmoothness:animationSpeed:")]
UIFieldBehavior CreateNoiseField (nfloat smoothness, nfloat speed);
[Static]
[Export ("turbulenceFieldWithSmoothness:animationSpeed:")]
UIFieldBehavior CreateTurbulenceField (nfloat smoothness, nfloat speed);
[Static]
[Export ("springField")]
UIFieldBehavior CreateSpringField ();
[Static]
[Export ("electricField")]
UIFieldBehavior CreateElectricField ();
[Static]
[Export ("magneticField")]
UIFieldBehavior CreateMagneticField ();
[Static]
[Export ("fieldWithEvaluationBlock:")]
UIFieldBehavior CreateCustomField (UIFieldCustomEvaluator evaluator);
}
delegate CGVector UIFieldCustomEvaluator (UIFieldBehavior field, CGPoint position, CGVector velocity, nfloat mass, nfloat charge, double deltaTime);
#endif // !WATCH
[Static][Internal]
[iOS (8,2)]
interface UIFontWeightConstants {
2016-04-21 15:30:02 +03:00
[Field ("UIFontWeightUltraLight")]
nfloat UltraLight { get; }
[Field ("UIFontWeightThin")]
nfloat Thin { get; }
[Field ("UIFontWeightLight")]
nfloat Light { get; }
[Field ("UIFontWeightRegular")]
nfloat Regular { get; }
[Field ("UIFontWeightMedium")]
nfloat Medium { get; }
[Field ("UIFontWeightSemibold")]
nfloat Semibold { get; }
[Field ("UIFontWeightBold")]
nfloat Bold { get; }
[Field ("UIFontWeightHeavy")]
nfloat Heavy { get; }
[Field ("UIFontWeightBlack")]
nfloat Black { get; }
}
[BaseType (typeof (NSObject))]
[ThreadSafe]
[DisableDefaultCtor] // iOS7 -> Objective-C exception thrown. Name: NSInvalidArgumentException Reason: -[UIFont ctFontRef]: unrecognized selector sent to instance 0x15b283c0
// note: because of bug 25511 (managed Dispose / native semi-factory) we need to return a copy of the UIFont for every static method that returns an UIFont
interface UIFont : NSCopying {
2016-04-21 15:30:02 +03:00
[Static] [Export ("systemFontOfSize:")]
[Internal] // bug 25511
IntPtr _SystemFontOfSize (nfloat size);
[iOS (8,2)]
[EditorBrowsable (EditorBrowsableState.Advanced)] // we prefer to show the one using the enum
[Internal] // bug 25511
[Static][Export ("systemFontOfSize:weight:")]
IntPtr _SystemFontOfSize (nfloat size, nfloat weight);
[iOS (9,0)]
[EditorBrowsable (EditorBrowsableState.Advanced)] // we prefer to show the one using the enum
[Internal] // bug 25511
[Static][Export ("monospacedDigitSystemFontOfSize:weight:")]
IntPtr _MonospacedDigitSystemFontOfSize (nfloat fontSize, nfloat weight);
[Static] [Export ("boldSystemFontOfSize:")]
[Internal] // bug 25511
IntPtr _BoldSystemFontOfSize (nfloat size);
[Static] [Export ("italicSystemFontOfSize:")]
[Internal] // bug 25511
IntPtr _ItalicSystemFontOfSize (nfloat size);
[Static] [Export ("fontWithName:size:")]
[Internal] // bug 25511
IntPtr _FromName (string name, nfloat size);
[NoWatch][NoTV]
[Static] [Export ("labelFontSize")]
nfloat LabelFontSize { get; }
[NoWatch][NoTV]
[Static] [Export ("buttonFontSize")]
nfloat ButtonFontSize { get; }
[NoWatch][NoTV]
[Static] [Export ("smallSystemFontSize")]
nfloat SmallSystemFontSize { get; }
[NoWatch][NoTV]
[Static] [Export ("systemFontSize")]
nfloat SystemFontSize { get; }
[Export ("fontWithSize:")]
[Internal] // bug 25511
IntPtr _WithSize (nfloat size);
[Export ("familyName", ArgumentSemantic.Retain)]
string FamilyName { get; }
[Export ("fontName", ArgumentSemantic.Retain)]
string Name { get; }
[Export ("pointSize")]
nfloat PointSize { get; }
[Export ("ascender")]
nfloat Ascender { get; }
[Export ("descender")]
nfloat Descender { get; }
[Export ("leading")]
nfloat Leading { get; }
[Export ("capHeight")]
nfloat CapHeight { get; }
[Export ("xHeight")]
nfloat xHeight { get; }
[Since (4,0)]
[Export ("lineHeight")]
nfloat LineHeight { get; }
[Static] [Export ("familyNames")]
string [] FamilyNames { get; }
[Static] [Export ("fontNamesForFamilyName:")]
string [] FontNamesForFamilyName (string familyName);
[Since (7,0)]
[Export ("fontDescriptor")]
UIFontDescriptor FontDescriptor { get; }
[Since (7,0)]
[Static, Export ("fontWithDescriptor:size:")]
[Internal] // bug 25511
IntPtr _FromDescriptor (UIFontDescriptor descriptor, nfloat pointSize);
[Since (7,0)]
[Static, Export ("preferredFontForTextStyle:")]
[Internal] // bug 25511
IntPtr _GetPreferredFontForTextStyle (NSString uiFontTextStyle);
// FIXME [Watch (3,0)] the API is present but UITraitCollection is not exposed / rdar 27785753
#if !WATCH
[iOS (10,0), TV (10,0)]
[Static]
[Export ("preferredFontForTextStyle:compatibleWithTraitCollection:")]
[Internal]
IntPtr _GetPreferredFontForTextStyle (NSString uiFontTextStyle, [NullAllowed] UITraitCollection traitCollection);
#endif
}
public enum UIFontTextStyle {
2016-04-21 15:30:02 +03:00
[Since (7,0)]
[Field ("UIFontTextStyleHeadline")]
Headline,
2016-04-21 15:30:02 +03:00
[Since (7,0)]
[Field ("UIFontTextStyleBody")]
Body,
2016-04-21 15:30:02 +03:00
[Since (7,0)]
[Field ("UIFontTextStyleSubheadline")]
Subheadline,
2016-04-21 15:30:02 +03:00
[Since (7,0)]
[Field ("UIFontTextStyleFootnote")]
Footnote,
2016-04-21 15:30:02 +03:00
[Since (7,0)]
[Field ("UIFontTextStyleCaption1")]
Caption1,
2016-04-21 15:30:02 +03:00
[Since (7,0)]
[Field ("UIFontTextStyleCaption2")]
Caption2,
2016-04-21 15:30:02 +03:00
[Since (9,0)]
[Field ("UIFontTextStyleTitle1")]
Title1,
2016-04-21 15:30:02 +03:00
[Since (9,0)]
[Field ("UIFontTextStyleTitle2")]
Title2,
2016-04-21 15:30:02 +03:00
[Since (9,0)]
[Field ("UIFontTextStyleTitle3")]
Title3,
2016-04-21 15:30:02 +03:00
[Since (9,0)]
[Field ("UIFontTextStyleCallout")]
Callout,
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
[NoWatch, NoTV]
[iOS (11,0)]
[Field ("UIFontTextStyleLargeTitle")]
LargeTitle,
2016-04-21 15:30:02 +03:00
}
[Since (7,0)]
[BaseType (typeof (NSObject))]
[ThreadSafe]
partial interface UIFontDescriptor : NSSecureCoding, NSCopying {
2016-04-21 15:30:02 +03:00
[Export ("postscriptName")]
string PostscriptName { get; }
[Export ("pointSize")]
nfloat PointSize { get; }
[Export ("matrix")]
CGAffineTransform Matrix { get; }
[Export ("symbolicTraits")]
UIFontDescriptorSymbolicTraits SymbolicTraits { get; }
[Export ("objectForKey:")]
NSObject GetObject (NSString anAttribute);
[Export ("fontAttributes")]
NSDictionary WeakFontAttributes { get; }
[Wrap ("WeakFontAttributes")]
UIFontAttributes FontAttributes { get; }
[Export ("matchingFontDescriptorsWithMandatoryKeys:")]
UIFontDescriptor [] GetMatchingFontDescriptors ([NullAllowed] NSSet mandatoryKeys);
[Static, Export ("fontDescriptorWithFontAttributes:")]
UIFontDescriptor FromAttributes (NSDictionary attributes);
[Static, Wrap ("FromAttributes (attributes == null ? null : attributes.Dictionary)")]
UIFontDescriptor FromAttributes (UIFontAttributes attributes);
[Static, Export ("fontDescriptorWithName:size:")]
UIFontDescriptor FromName (string fontName, nfloat size);
[Static, Export ("fontDescriptorWithName:matrix:")]
UIFontDescriptor FromName (string fontName, CGAffineTransform matrix);
[Static, Export ("preferredFontDescriptorWithTextStyle:")]
UIFontDescriptor GetPreferredDescriptorForTextStyle (NSString uiFontTextStyle);
[Static]
[Wrap ("GetPreferredDescriptorForTextStyle (uiFontTextStyle.GetConstant ())")]
UIFontDescriptor GetPreferredDescriptorForTextStyle (UIFontTextStyle uiFontTextStyle);
// FIXME [Watch (3,0)] the API is present but UITraitCollection is not exposed / rdar #27785753
#if !WATCH
[iOS (10,0), TV (10,0)]
[Static]
[Export ("preferredFontDescriptorWithTextStyle:compatibleWithTraitCollection:")]
UIFontDescriptor GetPreferredDescriptorForTextStyle (NSString uiFontTextStyle, [NullAllowed] UITraitCollection traitCollection);
[iOS (10,0), TV (10,0)]
[Static]
[Wrap ("GetPreferredDescriptorForTextStyle (uiFontTextStyle.GetConstant (), traitCollection)")]
UIFontDescriptor GetPreferredDescriptorForTextStyle (UIFontTextStyle uiFontTextStyle, [NullAllowed] UITraitCollection traitCollection);
#endif
2016-04-21 15:30:02 +03:00
[DesignatedInitializer]
[Export ("initWithFontAttributes:")]
IntPtr Constructor (NSDictionary attributes);
[DesignatedInitializer]
[Wrap ("this (attributes == null ? null : attributes.Dictionary)")]
IntPtr Constructor (UIFontAttributes attributes);
[Export ("fontDescriptorByAddingAttributes:")]
UIFontDescriptor CreateWithAttributes (NSDictionary attributes);
[Wrap ("CreateWithAttributes (attributes == null ? null : attributes.Dictionary)")]
UIFontDescriptor CreateWithAttributes (UIFontAttributes attributes);
[Export ("fontDescriptorWithSymbolicTraits:")]
UIFontDescriptor CreateWithTraits (UIFontDescriptorSymbolicTraits symbolicTraits);
[Export ("fontDescriptorWithSize:")]
UIFontDescriptor CreateWithSize (nfloat newPointSize);
[Export ("fontDescriptorWithMatrix:")]
UIFontDescriptor CreateWithMatrix (CGAffineTransform matrix);
[Export ("fontDescriptorWithFace:")]
UIFontDescriptor CreateWithFace (string newFace);
[Export ("fontDescriptorWithFamily:")]
UIFontDescriptor CreateWithFamily (string newFamily);
//
// Internal fields
//
[Internal, Field ("UIFontDescriptorFamilyAttribute")]
NSString FamilyAttribute { get; }
[Internal, Field ("UIFontDescriptorNameAttribute")]
NSString NameAttribute { get; }
[Internal, Field ("UIFontDescriptorFaceAttribute")]
NSString FaceAttribute { get; }
[Internal, Field ("UIFontDescriptorSizeAttribute")]
NSString SizeAttribute { get; }
[Internal, Field ("UIFontDescriptorVisibleNameAttribute")]
NSString VisibleNameAttribute { get; }
[Internal, Field ("UIFontDescriptorMatrixAttribute")]
NSString MatrixAttribute { get; }
#if !XAMCORE_2_0
// that got removed in iOS7 betas... so we remove it from unified
// in case Apple starts to disallow it (and rejects apps that refers to it)
[Internal, Field ("UIFontDescriptorVariationAttribute")]
NSString VariationAttribute { get; }
#endif
[Internal, Field ("UIFontDescriptorCharacterSetAttribute")]
NSString CharacterSetAttribute { get; }
[Internal, Field ("UIFontDescriptorCascadeListAttribute")]
NSString CascadeListAttribute { get; }
[Internal, Field ("UIFontDescriptorTraitsAttribute")]
NSString TraitsAttribute { get; }
[Internal, Field ("UIFontDescriptorFixedAdvanceAttribute")]
NSString FixedAdvanceAttribute { get; }
[Internal, Field ("UIFontDescriptorFeatureSettingsAttribute")]
NSString FeatureSettingsAttribute { get; }
[Internal, Field ("UIFontDescriptorTextStyleAttribute")]
NSString TextStyleAttribute { get; }
[Internal, Field ("UIFontSymbolicTrait")]
NSString SymbolicTrait { get; }
[Internal, Field ("UIFontWeightTrait")]
NSString WeightTrait { get; }
[Internal, Field ("UIFontWidthTrait")]
NSString WidthTrait { get; }
[Internal, Field ("UIFontSlantTrait")]
NSString SlantTrait { get; }
[Internal, Field ("UIFontFeatureSelectorIdentifierKey")]
NSString UIFontFeatureSelectorIdentifierKey { get; }
[Internal, Field ("UIFontFeatureTypeIdentifierKey")]
NSString UIFontFeatureTypeIdentifierKey { get; }
}
#if !WATCH
[Since (3,2)]
[BaseType (typeof(NSObject), Delegates=new string [] {"WeakDelegate"}, Events=new Type[] {typeof (UIGestureRecognizerDelegate)})]
interface UIGestureRecognizer {
2016-04-21 15:30:02 +03:00
[DesignatedInitializer]
[Export ("initWithTarget:action:")]
IntPtr Constructor (NSObject target, Selector action);
[Export ("initWithTarget:action:")]
[Sealed]
[Internal]
IntPtr Constructor (NSObject target, IntPtr /* SEL */ action);
[Export ("delegate", ArgumentSemantic.Assign), NullAllowed]
NSObject WeakDelegate { get; set; }
[Wrap ("WeakDelegate")]
[Protocolize]
UIGestureRecognizerDelegate Delegate { get; set; }
[Export ("enabled")]
bool Enabled { [Bind ("isEnabled")] get; set; }
[Export ("state")]
UIGestureRecognizerState State { get; set; }
[Export ("view")]
[Transient]
UIView View { get; }
[Export ("addTarget:action:")]
void AddTarget (NSObject target, Selector action);
[Export ("addTarget:action:")]
[Internal] [Sealed]
void AddTarget (NSObject target, IntPtr action);
[Export ("removeTarget:action:")]
void RemoveTarget ([NullAllowed] NSObject target, [NullAllowed] Selector action);
[Export ("removeTarget:action:")]
[Internal] [Sealed]
void RemoveTarget ([NullAllowed] NSObject target, IntPtr action);
[Export ("locationInView:")]
CGPoint LocationInView ([NullAllowed] UIView view);
[Export ("cancelsTouchesInView")]
bool CancelsTouchesInView { get; set; }
[Export ("delaysTouchesBegan")]
bool DelaysTouchesBegan { get; set; }
[Export ("delaysTouchesEnded")]
bool DelaysTouchesEnded { get; set; }
[Export ("locationOfTouch:inView:")]
CGPoint LocationOfTouch (nint touchIndex, [NullAllowed] UIView inView);
[Export ("numberOfTouches")]
nint NumberOfTouches { get; }
[Export ("requireGestureRecognizerToFail:")]
void RequireGestureRecognizerToFail (UIGestureRecognizer otherGestureRecognizer);
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
[TV (11,0), iOS (11,0)]
[NullAllowed, Export ("name")]
string Name { get; set; }
2016-04-21 15:30:02 +03:00
//
// These come from the UIGestureRecognizerProtected category, and you should only call
// these methods from a subclass of UIGestureRecognizer, never externally
//
[Export ("ignoreTouch:forEvent:")]
void IgnoreTouch (UITouch touch, UIEvent forEvent);
[iOS (9,0)]
[Sealed] // Docs: This method is intended to be called, not overridden.
[Export ("ignorePress:forEvent:")]
void IgnorePress (UIPress button, UIPressesEvent @event);
[Export ("reset")]
void Reset ();
[Export ("canPreventGestureRecognizer:")]
bool CanPreventGestureRecognizer (UIGestureRecognizer preventedGestureRecognizer);
[Export ("canBePreventedByGestureRecognizer:")]
bool CanBePreventedByGestureRecognizer (UIGestureRecognizer preventingGestureRecognizer);
[Export ("touchesBegan:withEvent:")]
void TouchesBegan (NSSet touches, UIEvent evt);
[Export ("touchesMoved:withEvent:")]
void TouchesMoved (NSSet touches, UIEvent evt);
[Export ("touchesEnded:withEvent:")]
void TouchesEnded (NSSet touches, UIEvent evt);
[Export ("touchesCancelled:withEvent:")]
void TouchesCancelled (NSSet touches, UIEvent evt);
[iOS (7,0)]
[Export ("shouldRequireFailureOfGestureRecognizer:")]
bool ShouldRequireFailureOfGestureRecognizer (UIGestureRecognizer otherGestureRecognizer);
[iOS (7,0)]
[Export ("shouldBeRequiredToFailByGestureRecognizer:")]
bool ShouldBeRequiredToFailByGestureRecognizer (UIGestureRecognizer otherGestureRecognizer);
[iOS (9,1)]
[Export ("touchesEstimatedPropertiesUpdated:")]
void TouchesEstimatedPropertiesUpdated (NSSet touches);
// FIXME: likely an array of UITouchType
[iOS (9,0)] // added in Xcode 7.1 / iOS 9.1 SDK
[Export ("allowedTouchTypes", ArgumentSemantic.Copy)]
NSNumber[] AllowedTouchTypes { get; set; }
// FIXME: likely an array of UIPressType
[iOS (9,0)] // added in Xcode 7.1 / iOS 9.1 SDK
[Export ("allowedPressTypes", ArgumentSemantic.Copy)]
NSNumber[] AllowedPressTypes { get; set; }
[iOS (9,2)]
[TV (9,1)]
[Export ("requiresExclusiveTouchType")]
bool RequiresExclusiveTouchType { get; set; }
2016-04-21 15:30:02 +03:00
[iOS (9,0)]
[Export ("pressesBegan:withEvent:")]
void PressesBegan (NSSet<UIPress> presses, UIPressesEvent evt);
[iOS (9,0)]
[Export ("pressesChanged:withEvent:")]
void PressesChanged (NSSet<UIPress> presses, UIPressesEvent evt);
[iOS (9,0)]
[Export ("pressesEnded:withEvent:")]
void PressesEnded (NSSet<UIPress> presses, UIPressesEvent evt);
[iOS (9,0)]
[Export ("pressesCancelled:withEvent:")]
void PressesCancelled (NSSet<UIPress> presses, UIPressesEvent evt);
}
[NoWatch]
[BaseType (typeof(NSObject))]
[Model][Since (3,2)]
[Protocol]
interface UIGestureRecognizerDelegate {
2016-04-21 15:30:02 +03:00
[Export ("gestureRecognizer:shouldReceiveTouch:"), DefaultValue (true), DelegateName ("UITouchEventArgs")]
bool ShouldReceiveTouch (UIGestureRecognizer recognizer, UITouch touch);
[Export ("gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer:"), DelegateName ("UIGesturesProbe"), DefaultValue (false)]
bool ShouldRecognizeSimultaneously (UIGestureRecognizer gestureRecognizer, UIGestureRecognizer otherGestureRecognizer);
[Export ("gestureRecognizerShouldBegin:"), DelegateName ("UIGestureProbe"), DefaultValue (true)]
bool ShouldBegin (UIGestureRecognizer recognizer);
[Since (7,0)]
[Export ("gestureRecognizer:shouldBeRequiredToFailByGestureRecognizer:"), DelegateName ("UIGesturesProbe"), DefaultValue (false)]
bool ShouldBeRequiredToFailBy (UIGestureRecognizer gestureRecognizer, UIGestureRecognizer otherGestureRecognizer);
[Since (7,0)]
[Export ("gestureRecognizer:shouldRequireFailureOfGestureRecognizer:"), DelegateName ("UIGesturesProbe"), DefaultValue (false)]
bool ShouldRequireFailureOf (UIGestureRecognizer gestureRecognizer, UIGestureRecognizer otherGestureRecognizer);
[iOS (9,0)]
[Export ("gestureRecognizer:shouldReceivePress:"), DelegateName ("UIGesturesPress"), DefaultValue (false)]
bool ShouldReceivePress (UIGestureRecognizer gestureRecognizer, UIPress press);
}
[iOS (10,0), TV (10,0)]
2016-06-15 01:53:41 +03:00
[BaseType (typeof(NSObject))]
interface UIGraphicsRendererFormat : NSCopying
{
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.TvOS, 11, 0, message: "Use 'PreferredFormat' instead.")]
2016-06-15 01:53:41 +03:00
[Static]
[Export ("defaultFormat")]
2016-06-15 09:35:05 +03:00
UIGraphicsRendererFormat DefaultFormat { get; }
2016-06-15 01:53:41 +03:00
[Export ("bounds")]
CGRect Bounds { 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
[TV (11,0), iOS (11,0)]
[Static]
[Export ("preferredFormat")]
UIGraphicsRendererFormat PreferredFormat { get; }
2016-06-15 01:53:41 +03:00
}
[iOS (10,0), TV (10,0)]
2016-06-15 01:53:41 +03:00
[BaseType (typeof(NSObject))]
interface UIGraphicsRendererContext
{
[Export ("CGContext")]
2016-06-15 09:35:05 +03:00
CGContext CGContext { get; }
2016-06-15 01:53:41 +03:00
[Export ("format")]
UIGraphicsRendererFormat Format { get; }
[Export ("fillRect:")]
void FillRect (CGRect rect);
[Export ("fillRect:blendMode:")]
void FillRect (CGRect rect, CGBlendMode blendMode);
[Export ("strokeRect:")]
void StrokeRect (CGRect rect);
[Export ("strokeRect:blendMode:")]
void StrokeRect (CGRect rect, CGBlendMode blendMode);
[Export ("clipToRect:")]
void ClipToRect (CGRect rect);
}
[iOS (10,0), TV (10,0)]
2016-06-15 01:53:41 +03:00
[BaseType (typeof(NSObject))]
[Abstract] // quote form headers "An abstract base class for creating graphics renderers. Do not use this class directly."
2016-06-15 01:53:41 +03:00
interface UIGraphicsRenderer
{
[Export ("initWithBounds:")]
IntPtr Constructor (CGRect bounds);
[Export ("initWithBounds:format:")]
[DesignatedInitializer]
IntPtr Constructor (CGRect bounds, UIGraphicsRendererFormat format);
[Export ("format")]
UIGraphicsRendererFormat Format { get; }
[Export ("allowsImageOutput")]
bool AllowsImageOutput { get; }
// From UIGraphicsRenderer (UIGraphicsRendererProtected) category
[Static]
[Export ("rendererContextClass")]
Class RendererContextClass { get; }
[Static]
[Export ("contextWithFormat:")]
[return: NullAllowed]
CGContext GetContext (UIGraphicsRendererFormat format);
[Static]
[Export ("prepareCGContext:withRendererContext:")]
void PrepareContext (CGContext context, UIGraphicsRendererContext rendererContext);
[Export ("runDrawingActions:completionActions:error:")]
bool Run (Action<UIGraphicsRendererContext> drawingActions, [NullAllowed] Action<UIGraphicsRendererContext> completionActions, [NullAllowed] out NSError error);
2016-06-15 01:53:41 +03:00
}
// Not worth it, Action<UIGraphicsImageRendererContext> conveys more data
//delegate void UIGraphicsImageDrawingActions (UIGraphicsImageRendererContext context);
[iOS (10,0), TV (10,0)]
2016-06-15 01:53:41 +03:00
[BaseType (typeof(UIGraphicsRendererFormat))]
interface UIGraphicsImageRendererFormat
2016-06-15 01:53:41 +03:00
{
[Export ("scale")]
nfloat Scale { get; set; }
[Export ("opaque")]
bool Opaque { get; set; }
[Export ("prefersExtendedRange")]
bool PrefersExtendedRange { get; set; }
[New] // kind of overloading a static member, make it return `instancetype`
[Static]
[Export ("defaultFormat")]
UIGraphicsImageRendererFormat DefaultFormat { 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
[iOS (11,0), TV (11,0)]
[Static]
[Export ("formatForTraitCollection:")]
UIGraphicsImageRendererFormat GetFormat (UITraitCollection traitCollection);
2016-06-15 01:53:41 +03:00
}
[iOS (10,0), TV (10,0)]
2016-06-15 01:53:41 +03:00
[BaseType (typeof(UIGraphicsRendererContext))]
interface UIGraphicsImageRendererContext
{
[Export ("currentImage")]
UIImage CurrentImage { get; }
}
[iOS (10,0), TV (10,0)]
2016-06-15 01:53:41 +03:00
[BaseType (typeof(UIGraphicsRenderer))]
interface UIGraphicsImageRenderer
{
[Export ("initWithSize:")]
IntPtr Constructor (CGSize size);
[Export ("initWithSize:format:")]
[DesignatedInitializer]
IntPtr Constructor (CGSize size, UIGraphicsImageRendererFormat format);
[Export ("initWithBounds:format:")]
[DesignatedInitializer]
IntPtr Constructor (CGRect bounds, UIGraphicsImageRendererFormat format);
[Export ("imageWithActions:")]
UIImage CreateImage (Action<UIGraphicsImageRendererContext> actions);
[Export ("PNGDataWithActions:")]
NSData CreatePng (Action<UIGraphicsImageRendererContext> actions);
[Export ("JPEGDataWithCompressionQuality:actions:")]
NSData CreateJpeg (nfloat compressionQuality, Action<UIGraphicsImageRendererContext> actions);
}
// Not worth it, Action<UIGraphicsImageRendererContext> conveys more data
//delegate void UIGraphicsPdfDrawingActions (UIGraphicsPdfRendererContext context);
// Action<UIGraphicsPdfRendererContext>
[iOS (10,0), TV (10,0)]
[BaseType (typeof (UIGraphicsRendererFormat), Name="UIGraphicsPDFRendererFormat")]
2016-06-15 01:53:41 +03:00
interface UIGraphicsPdfRendererFormat
{
[Export ("documentInfo", ArgumentSemantic.Copy)]
// TODO: add strongly typed binding
NSDictionary<NSString, NSObject> DocumentInfo { get; set; }
[New] // kind of overloading a static member, make it return `instancetype`
[Static]
[Export ("defaultFormat")]
UIGraphicsPdfRendererFormat DefaultFormat { get; }
2016-06-15 01:53:41 +03:00
}
[iOS (10,0), TV (10,0)]
[BaseType (typeof (UIGraphicsRendererContext), Name="UIGraphicsPDFRendererContext")]
2016-06-15 01:53:41 +03:00
interface UIGraphicsPdfRendererContext
{
[Export ("pdfContextBounds")]
CGRect PdfContextBounds { get; }
[Export ("beginPage")]
void BeginPage ();
[Export ("beginPageWithBounds:pageInfo:")]
void BeginPage (CGRect bounds, NSDictionary<NSString, NSObject> pageInfo);
[Export ("setURL:forRect:")]
2016-06-15 09:35:05 +03:00
void SetUrl (NSUrl url, CGRect rect);
2016-06-15 01:53:41 +03:00
[Export ("addDestinationWithName:atPoint:")]
2016-06-15 09:35:05 +03:00
void AddDestination (string name, CGPoint point);
2016-06-15 01:53:41 +03:00
[Export ("setDestinationWithName:forRect:")]
2016-06-15 09:35:05 +03:00
void SetDestination (string name, CGRect rect);
2016-06-15 01:53:41 +03:00
}
[iOS (10,0), TV (10,0)]
[BaseType (typeof (UIGraphicsRenderer), Name = "UIGraphicsPDFRenderer")]
2016-06-15 01:53:41 +03:00
interface UIGraphicsPdfRenderer
{
[Export ("initWithBounds:format:")]
[DesignatedInitializer]
IntPtr Constructor (CGRect bounds, UIGraphicsPdfRendererFormat format);
[Export ("writePDFToURL:withActions:error:")]
bool WritePdf (NSUrl url, Action<UIGraphicsPdfRendererContext> actions, out NSError error);
[Export ("PDFDataWithActions:")]
NSData CreatePdf (Action<UIGraphicsPdfRendererContext> actions);
}
2016-04-21 15:30:02 +03:00
[BaseType (typeof (UIDynamicBehavior))]
[Since (7,0)]
interface UIGravityBehavior {
[DesignatedInitializer]
[Export ("initWithItems:")]
IntPtr Constructor ([Params] IUIDynamicItem [] items);
[Export ("items", ArgumentSemantic.Copy)]
IUIDynamicItem [] Items { get; }
[Export ("addItem:")]
[PostGet ("Items")]
void AddItem (IUIDynamicItem dynamicItem);
[Export ("removeItem:")]
[PostGet ("Items")]
void RemoveItem (IUIDynamicItem dynamicItem);
[Export ("gravityDirection")]
CGVector GravityDirection { get; set; }
[Export ("angle")]
nfloat Angle { get; set; }
[Export ("magnitude")]
nfloat Magnitude { get; set; }
[Export ("setAngle:magnitude:")]
void SetAngleAndMagnitude (nfloat angle, nfloat magnitude);
}
// HACK: those members are not *required* in ObjC but we made them
// abstract to have them inlined in UITextField and UITextView
// Even more confusing it that respondToSelecttor return NO on them
// even if it works in _real_ life (compare unit and introspection tests)
[Protocol]
interface UITextInputTraits {
2016-04-21 15:30:02 +03:00
[Abstract]
[Export ("autocapitalizationType")]
UITextAutocapitalizationType AutocapitalizationType { get; set; }
[Abstract]
[Export ("autocorrectionType")]
UITextAutocorrectionType AutocorrectionType { get; set; }
[Abstract]
[Export ("keyboardType")]
UIKeyboardType KeyboardType { get; set; }
[Abstract]
[Export ("keyboardAppearance")]
UIKeyboardAppearance KeyboardAppearance { get; set; }
[Abstract]
[Export ("returnKeyType")]
UIReturnKeyType ReturnKeyType { get; set; }
[Abstract]
[Export ("enablesReturnKeyAutomatically")]
bool EnablesReturnKeyAutomatically { get; set; }
[Abstract]
[Export ("secureTextEntry")]
bool SecureTextEntry { [Bind ("isSecureTextEntry")] get; set; }
[Abstract]
[Since (5,0)]
[Export ("spellCheckingType")]
UITextSpellCheckingType SpellCheckingType { get; set; }
[iOS (10, 0)] // Did not add abstract here breaking change, anyways this is optional in objc
[Export ("textContentType")]
NSString TextContentType { 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
[iOS (11,0), TV (11,0)]
[Export ("smartQuotesType", ArgumentSemantic.Assign)]
UITextSmartQuotesType SmartQuotesType { get; set; }
[iOS (11,0), TV (11,0)]
[Export ("smartDashesType", ArgumentSemantic.Assign)]
UITextSmartDashesType SmartDashesType { get; set; }
[iOS (11,0), TV (11,0)]
[Export ("smartInsertDeleteType", ArgumentSemantic.Assign)]
UITextSmartInsertDeleteType SmartInsertDeleteType { get; set; }
2016-04-21 15:30:02 +03:00
}
interface UIKeyboardEventArgs {
[Export ("UIKeyboardFrameBeginUserInfoKey")]
CGRect FrameBegin { get; }
[NoTV]
[Export ("UIKeyboardFrameEndUserInfoKey")]
CGRect FrameEnd { get; }
[NoTV]
[Export ("UIKeyboardAnimationDurationUserInfoKey")]
double AnimationDuration { get; }
[NoTV]
[Export ("UIKeyboardAnimationCurveUserInfoKey")]
UIViewAnimationCurve AnimationCurve { get; }
}
[NoTV]
[Static]
interface UIKeyboard {
2016-04-21 15:30:02 +03:00
[NoTV]
[Field ("UIKeyboardWillShowNotification")]
[Notification (typeof (UIKeyboardEventArgs))]
NSString WillShowNotification { get; }
[NoTV]
[Field ("UIKeyboardDidShowNotification")]
[Notification (typeof (UIKeyboardEventArgs))]
NSString DidShowNotification { get; }
[NoTV]
[Field ("UIKeyboardWillHideNotification")]
[Notification (typeof (UIKeyboardEventArgs))]
NSString WillHideNotification { get; }
[NoTV]
[Field ("UIKeyboardDidHideNotification")]
[Notification (typeof (UIKeyboardEventArgs))]
NSString DidHideNotification { get; }
[NoTV]
[Since (5,0)]
[Field("UIKeyboardWillChangeFrameNotification")]
[Notification (typeof (UIKeyboardEventArgs))]
NSString WillChangeFrameNotification { get; }
[NoTV]
[Since (5,0)]
[Field("UIKeyboardDidChangeFrameNotification")]
[Notification (typeof (UIKeyboardEventArgs))]
NSString DidChangeFrameNotification { get; }
#if !XAMCORE_3_0
//
// Deprecated methods
//
[NoTV]
[Availability (Introduced = Platform.iOS_2_0, Deprecated = Platform.iOS_3_2)]
[Field ("UIKeyboardCenterBeginUserInfoKey")]
NSString CenterBeginUserInfoKey { get; }
[NoTV]
[Availability (Introduced = Platform.iOS_2_0, Deprecated = Platform.iOS_3_2)]
[Field ("UIKeyboardCenterEndUserInfoKey")]
NSString CenterEndUserInfoKey { get; }
[NoTV]
[Availability (Introduced = Platform.iOS_2_0, Deprecated = Platform.iOS_3_2)]
[Field ("UIKeyboardBoundsUserInfoKey")]
NSString BoundsUserInfoKey { get; }
#endif
//
// Keys
//
[NoTV]
[Since (3,2)]
[Field ("UIKeyboardAnimationCurveUserInfoKey")]
NSString AnimationCurveUserInfoKey { get; }
[NoTV]
[Since (3,2)]
[Field ("UIKeyboardAnimationDurationUserInfoKey")]
NSString AnimationDurationUserInfoKey { get; }
[NoTV]
[Since (3,2)]
[Field ("UIKeyboardFrameEndUserInfoKey")]
NSString FrameEndUserInfoKey { get; }
[NoTV]
[Since (3,2)]
[Field ("UIKeyboardFrameBeginUserInfoKey")]
NSString FrameBeginUserInfoKey { get; }
[NoTV]
[iOS (9,0)]
[Field ("UIKeyboardIsLocalUserInfoKey")]
NSString IsLocalUserInfoKey { get; }
}
[Since (7,0)]
[BaseType (typeof (NSObject))]
interface UIKeyCommand : NSCopying, NSSecureCoding {
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
[NullAllowed, Export ("input")]
2016-04-21 15:30:02 +03:00
NSString Input { get; }
[Export ("modifierFlags")]
UIKeyModifierFlags ModifierFlags { get; }
[Static, Export ("keyCommandWithInput:modifierFlags:action:")]
UIKeyCommand Create (NSString keyCommandInput, UIKeyModifierFlags modifierFlags, Selector action);
[Field ("UIKeyInputUpArrow")]
NSString UpArrow { get; }
[Field ("UIKeyInputDownArrow")]
NSString DownArrow { get; }
[Field ("UIKeyInputLeftArrow")]
NSString LeftArrow { get; }
[Field ("UIKeyInputRightArrow")]
NSString RightArrow { get; }
[Field ("UIKeyInputEscape")]
NSString Escape { get; }
[iOS (9,0)]
[Static]
[Export ("keyCommandWithInput:modifierFlags:action:discoverabilityTitle:")]
UIKeyCommand Create (NSString keyCommandInput, UIKeyModifierFlags modifierFlags, Selector action, NSString discoverabilityTitle);
[iOS (9,0)]
[NullAllowed]
[Export ("discoverabilityTitle")]
NSString DiscoverabilityTitle { get; set; }
}
[Since (5,0)]
[Protocol]
interface UIKeyInput : UITextInputTraits {
2016-04-21 15:30:02 +03:00
[Abstract]
[Export ("hasText")]
bool HasText { get; }
[Abstract]
[Export ("insertText:")]
void InsertText (string text);
[Abstract]
[Export ("deleteBackward")]
void DeleteBackward ();
}
[BaseType (typeof (NSObject))]
interface UITextPosition {
2016-04-21 15:30:02 +03:00
}
[BaseType (typeof (NSObject))]
interface UITextRange {
2016-04-21 15:30:02 +03:00
[Export ("isEmpty")]
bool IsEmpty { get; }
#if XAMCORE_2_0
[Export ("start")]
UITextPosition Start { get; }
[Export ("end")]
UITextPosition End { get; }
#else
[Export ("start"), Obsolete ("Use 'Start' instead.")]
2016-04-21 15:30:02 +03:00
UITextPosition start { get; }
[Wrap ("start")]
UITextPosition Start { get; }
[Export ("end"), Obsolete ("Use 'End' instead.")]
2016-04-21 15:30:02 +03:00
UITextPosition end { get; }
[Wrap ("end")]
UITextPosition End { get; }
#endif
}
interface IUITextInput {}
2016-04-21 15:30:02 +03:00
[Protocol]
interface UITextInput : UIKeyInput {
2016-04-21 15:30:02 +03:00
[Abstract]
[NullAllowed] // by default this property is null
[Export ("selectedTextRange", ArgumentSemantic.Copy)]
UITextRange SelectedTextRange { get; set; }
[Abstract]
[NullAllowed] // by default this property is null
[Export ("markedTextStyle", ArgumentSemantic.Copy)]
NSDictionary MarkedTextStyle { get; set; }
[Abstract]
[Export ("beginningOfDocument")]
UITextPosition BeginningOfDocument { get; }
[Abstract]
[Export ("endOfDocument")]
UITextPosition EndOfDocument { get; }
[Abstract]
[Export ("inputDelegate", ArgumentSemantic.Assign), NullAllowed]
NSObject WeakInputDelegate { get; set; }
[Wrap ("WeakInputDelegate")]
[Protocolize]
UITextInputDelegate InputDelegate { get; set; }
[Abstract]
[Export ("tokenizer")]
NSObject WeakTokenizer { get; }
[Wrap ("WeakTokenizer")]
[Protocolize]
UITextInputTokenizer Tokenizer { get; }
[Export ("textInputView")]
UIView TextInputView { get; }
[Export ("selectionAffinity")]
UITextStorageDirection SelectionAffinity { get; set; }
[Abstract]
[Export ("textInRange:")]
string TextInRange (UITextRange range);
[Abstract]
[Export ("replaceRange:withText:")]
void ReplaceText (UITextRange range, string text);
[Abstract]
[Export ("markedTextRange")]
UITextRange MarkedTextRange { get; }
[Abstract]
[Export ("setMarkedText:selectedRange:")]
void SetMarkedText (string markedText, NSRange selectedRange);
[Abstract]
[Export ("unmarkText")]
void UnmarkText ();
[Abstract]
[Export ("textRangeFromPosition:toPosition:")]
UITextRange GetTextRange (UITextPosition fromPosition, UITextPosition toPosition);
[Abstract]
[Export ("positionFromPosition:offset:")]
UITextPosition GetPosition (UITextPosition fromPosition, nint offset);
[Abstract]
[Export ("positionFromPosition:inDirection:offset:")]
UITextPosition GetPosition (UITextPosition fromPosition, UITextLayoutDirection inDirection, nint offset);
[Abstract]
[Export ("comparePosition:toPosition:")]
NSComparisonResult ComparePosition (UITextPosition first, UITextPosition second);
[Abstract]
[Export ("offsetFromPosition:toPosition:")]
nint GetOffsetFromPosition (UITextPosition fromPosition, UITextPosition toPosition);
[Abstract]
[Export ("positionWithinRange:farthestInDirection:")]
UITextPosition GetPositionWithinRange (UITextRange range, UITextLayoutDirection direction);
[Abstract]
[Export ("characterRangeByExtendingPosition:inDirection:")]
UITextRange GetCharacterRange (UITextPosition byExtendingPosition, UITextLayoutDirection direction);
[Abstract]
[Export ("baseWritingDirectionForPosition:inDirection:")]
UITextWritingDirection GetBaseWritingDirection (UITextPosition forPosition, UITextStorageDirection direction);
[Abstract]
[Export ("setBaseWritingDirection:forRange:")]
void SetBaseWritingDirectionforRange (UITextWritingDirection writingDirection, UITextRange range);
[Abstract]
[Export ("firstRectForRange:")]
CGRect GetFirstRectForRange (UITextRange range);
[Abstract]
[Export ("caretRectForPosition:")]
CGRect GetCaretRectForPosition ([NullAllowed] UITextPosition position);
[Abstract]
[Export ("closestPositionToPoint:")]
UITextPosition GetClosestPositionToPoint (CGPoint point);
[Abstract]
[Export ("closestPositionToPoint:withinRange:")]
UITextPosition GetClosestPositionToPoint (CGPoint point, UITextRange withinRange);
[Abstract]
[Export ("characterRangeAtPoint:")]
UITextRange GetCharacterRangeAtPoint (CGPoint point);
[Export ("textStylingAtPosition:inDirection:")]
NSDictionary GetTextStyling (UITextPosition atPosition, UITextStorageDirection inDirection);
[Export ("positionWithinRange:atCharacterOffset:")]
UITextPosition GetPosition (UITextRange withinRange, nint atCharacterOffset);
[Export ("characterOffsetOfPosition:withinRange:")]
nint GetCharacterOffsetOfPosition (UITextPosition position, UITextRange range);
[Availability (Deprecated = Platform.iOS_8_0, Message="Use 'NSAttributedString.BackgroundColorAttributeName'.")]
2016-04-21 15:30:02 +03:00
[Field ("UITextInputTextBackgroundColorKey")]
[NoTV]
NSString TextBackgroundColorKey { get; }
[Availability (Deprecated = Platform.iOS_8_0, Message="Use 'NSAttributedString.ForegroundColorAttributeName'.")]
2016-04-21 15:30:02 +03:00
[Field ("UITextInputTextColorKey")]
[NoTV]
NSString TextColorKey { get; }
[Availability (Deprecated = Platform.iOS_8_0, Message="Use 'NSAttributedString.FontAttributeName'.")]
2016-04-21 15:30:02 +03:00
[Field ("UITextInputTextFontKey")]
[NoTV]
NSString TextFontKey { get; }
[Field ("UITextInputCurrentInputModeDidChangeNotification")]
[Notification]
NSString CurrentInputModeDidChangeNotification { get; }
[Since (5,1)]
[Export ("dictationRecognitionFailed")]
void DictationRecognitionFailed ();
[Since (5,1)]
[Export ("dictationRecordingDidEnd")]
void DictationRecordingDidEnd ();
[Since (5,1)]
[Export ("insertDictationResult:")]
void InsertDictationResult (NSArray dictationResult);
[Since (6,0)]
[Abstract]
[Export ("selectionRectsForRange:")]
UITextSelectionRect [] GetSelectionRects (UITextRange range);
[Since (6,0)]
[Export ("shouldChangeTextInRange:replacementText:")]
bool ShouldChangeTextInRange (UITextRange inRange, string replacementText);
[Since (6,0)]
[Export ("frameForDictationResultPlaceholder:")]
CGRect GetFrameForDictationResultPlaceholder (NSObject placeholder);
[Since (6,0)]
[Export ("insertDictationResultPlaceholder")]
NSObject InsertDictationResultPlaceholder ();
[Since (6,0)]
[Export ("removeDictationResultPlaceholder:willInsertResult:")]
void RemoveDictationResultPlaceholder (NSObject placeholder, bool willInsertResult);
[iOS (9,0)]
[Export ("beginFloatingCursorAtPoint:")]
void BeginFloatingCursor (CGPoint point);
[iOS (9,0)]
[Export ("updateFloatingCursorAtPoint:")]
void UpdateFloatingCursor (CGPoint point);
[iOS (9,0)]
[Export ("endFloatingCursor")]
void EndFloatingCursor ();
}
[NoTV]
[iOS (9,0)]
[BaseType (typeof(NSObject))]
interface UITextInputAssistantItem
2016-04-21 15:30:02 +03:00
{
[Export ("allowsHidingShortcuts")]
bool AllowsHidingShortcuts { get; set; }
[Export ("leadingBarButtonGroups", ArgumentSemantic.Copy), NullAllowed]
UIBarButtonItemGroup[] LeadingBarButtonGroups { get; set; }
[Export ("trailingBarButtonGroups", ArgumentSemantic.Copy), NullAllowed]
UIBarButtonItemGroup[] TrailingBarButtonGroups { get; set; }
}
[BaseType (typeof (NSObject))]
[Model]
[Protocol]
interface UITextInputTokenizer {
2016-04-21 15:30:02 +03:00
[Abstract]
[Export ("rangeEnclosingPosition:withGranularity:inDirection:")]
UITextRange GetRangeEnclosingPosition (UITextPosition position, UITextGranularity granularity, UITextDirection direction);
[Abstract]
[Export ("isPosition:atBoundary:inDirection:")]
bool ProbeDirection (UITextPosition probePosition, UITextGranularity atBoundary, UITextDirection inDirection);
[Abstract]
[Export ("positionFromPosition:toBoundary:inDirection:")]
UITextPosition GetPosition (UITextPosition fromPosition, UITextGranularity toBoundary, UITextDirection inDirection);
[Abstract]
[Export ("isPosition:withinTextUnit:inDirection:")]
bool ProbeDirectionWithinTextUnit (UITextPosition probePosition, UITextGranularity withinTextUnit, UITextDirection inDirection);
}
[Since (5,0)]
#if XAMCORE_2_0
[BaseType (typeof (NSObject))]
interface UITextInputStringTokenizer : UITextInputTokenizer{
2016-04-21 15:30:02 +03:00
#else
[BaseType (typeof (UITextInputTokenizer))]
interface UITextInputStringTokenizer {
2016-04-21 15:30:02 +03:00
#endif
[Export ("initWithTextInput:")]
#if XAMCORE_2_0
IntPtr Constructor (IUITextInput textInput);
#else
IntPtr Constructor (NSObject /* UITextInput */ textInput);
#endif
}
[BaseType (typeof (NSObject))]
[Model]
[Protocol]
interface UITextInputDelegate {
2016-04-21 15:30:02 +03:00
[Abstract]
[Export ("selectionWillChange:")]
#if XAMCORE_2_0
void SelectionWillChange (IUITextInput uiTextInput);
#else
void SelectionWillChange (NSObject /* UITextInput */ uiTextInput);
#endif
[Abstract]
[Export ("selectionDidChange:")]
#if XAMCORE_2_0
void SelectionDidChange (IUITextInput uiTextInput);
#else
void SelectionDidChange (NSObject /* UITextInput */ uiTextInput);
#endif
[Abstract]
[Export ("textWillChange:")]
#if XAMCORE_2_0
void TextWillChange (IUITextInput textInput);
#else
void TextWillChange (NSObject /* UITextInput */ textInput);
#endif
[Abstract]
[Export ("textDidChange:")]
#if XAMCORE_2_0
void TextDidChange (IUITextInput textInput);
#else
void TextDidChange (NSObject /* UITextInput */ textInput);
#endif
}
[Since (6,0)]
[BaseType (typeof (NSObject))]
interface UITextSelectionRect {
2016-04-21 15:30:02 +03:00
[Export ("rect")]
CGRect Rect { get; }
[Export ("writingDirection")]
UITextWritingDirection WritingDirection { get; }
[Export ("containsStart")]
bool ContainsStart { get; }
[Export ("containsEnd")]
bool ContainsEnd { get; }
[Export ("isVertical")]
bool IsVertical { get; }
}
[NoTV]
[iOS (8,0)]
[BaseType (typeof (NSObject))]
partial interface UILexicon : NSCopying {
2016-04-21 15:30:02 +03:00
[Export ("entries")]
UILexiconEntry [] Entries { get; }
}
[NoTV]
[iOS (8,0)]
[BaseType (typeof (NSObject))]
partial interface UILexiconEntry : NSCopying {
2016-04-21 15:30:02 +03:00
[Export ("documentText")]
string DocumentText { get; }
[Export ("userInput")]
string UserInput { get; }
}
[BaseType (typeof (NSObject))]
interface UILocalizedIndexedCollation {
2016-04-21 15:30:02 +03:00
[Export ("sectionTitles")]
string [] SectionTitles { get; }
[Export ("sectionIndexTitles")]
string [] SectionIndexTitles { get; }
[Static]
[Export ("currentCollation")]
UILocalizedIndexedCollation CurrentCollation ();
[Export ("sectionForSectionIndexTitleAtIndex:")]
nint GetSectionForSectionIndexTitle (nint indexTitleIndex);
[Export ("sectionForObject:collationStringSelector:")]
nint GetSectionForObject (NSObject obj, Selector collationStringSelector);
[Export ("sortedArrayFromArray:collationStringSelector:")]
NSObject [] SortedArrayFromArraycollationStringSelector (NSObject [] array, Selector collationStringSelector);
}
#endif // !WATCH
[NoTV]
[Since (4,0)]
[BaseType (typeof (NSObject))]
[Availability (Deprecated = Platform.iOS_10_0, Message = "Use 'UserNotifications.UNNotificationRequest' instead.")]
interface UILocalNotification : NSCoding, NSCopying {
2016-04-21 15:30:02 +03:00
[Export ("fireDate", ArgumentSemantic.Copy)]
[NullAllowed]
NSDate FireDate { get; set; }
[Export ("timeZone", ArgumentSemantic.Copy)]
[NullAllowed]
NSTimeZone TimeZone { get; set; }
[Export ("repeatInterval")]
NSCalendarUnit RepeatInterval { get; set; }
[Export ("repeatCalendar", ArgumentSemantic.Copy)]
[NullAllowed]
NSCalendar RepeatCalendar { get; set; }
[Export ("alertBody", ArgumentSemantic.Copy)]
[NullAllowed]
string AlertBody { get; set; }
[Export ("hasAction")]
bool HasAction { get; set; }
[Export ("alertAction", ArgumentSemantic.Copy)]
[NullAllowed]
string AlertAction { get; set; }
[Export ("alertLaunchImage", ArgumentSemantic.Copy)]
[NullAllowed]
string AlertLaunchImage { get; set; }
[Export ("soundName", ArgumentSemantic.Copy)]
[NullAllowed]
string SoundName { get; set; }
[Export ("applicationIconBadgeNumber")]
nint ApplicationIconBadgeNumber { get; set; }
[Export ("userInfo", ArgumentSemantic.Copy)]
[NullAllowed]
NSDictionary UserInfo { get; set; }
[Deprecated (PlatformName.iOS, 10, 0, message: "Use 'UNNotificationSound.DefaultSound' instead.")]
2016-04-21 15:30:02 +03:00
[Field ("UILocalNotificationDefaultSoundName")]
NSString DefaultSoundName { get; }
[iOS (8,0)]
[NullAllowed] // by default this property is null
[Export ("region", ArgumentSemantic.Copy)]
CLRegion Region { get; set; }
[iOS (8,0)]
[Export ("regionTriggersOnce", ArgumentSemantic.UnsafeUnretained)]
bool RegionTriggersOnce { get; set; }
[iOS (8,0)]
[NullAllowed] // by default this property is null
[Export ("category")]
string Category { get; set; }
[iOS (8,2)]
[NullAllowed]
[Export ("alertTitle")]
string AlertTitle { get; set; }
}
#if !WATCH
[Since (3,2)]
[BaseType (typeof(UIGestureRecognizer))]
interface UILongPressGestureRecognizer {
2016-04-21 15:30:02 +03:00
[Export ("initWithTarget:action:")]
IntPtr Constructor (NSObject target, Selector action);
[NoTV]
[Export ("numberOfTouchesRequired")]
nuint NumberOfTouchesRequired { get; set; }
[Export ("minimumPressDuration")]
double MinimumPressDuration { get; set; }
[Export ("allowableMovement")]
nfloat AllowableMovement { get; set; }
[Export ("numberOfTapsRequired")]
nint NumberOfTapsRequired { get; set; }
}
[Since (3,2)]
[BaseType (typeof(UIGestureRecognizer))]
interface UITapGestureRecognizer {
2016-04-21 15:30:02 +03:00
[Export ("initWithTarget:action:")]
IntPtr Constructor (NSObject target, Selector action);
[Export ("numberOfTapsRequired")]
nuint NumberOfTapsRequired { get; set; }
[NoTV]
[Export ("numberOfTouchesRequired")]
nuint NumberOfTouchesRequired { get; set; }
}
[Since (3,2)]
[BaseType (typeof(UIGestureRecognizer))]
interface UIPanGestureRecognizer {
2016-04-21 15:30:02 +03:00
[Export ("initWithTarget:action:")]
IntPtr Constructor (NSObject target, Selector action);
[NoTV]
[Export ("minimumNumberOfTouches")]
nuint MinimumNumberOfTouches { get; set; }
[NoTV]
[Export ("maximumNumberOfTouches")]
nuint MaximumNumberOfTouches { get; set; }
[Export ("setTranslation:inView:")]
void SetTranslation (CGPoint translation, [NullAllowed] UIView view);
[Export ("translationInView:")]
CGPoint TranslationInView ([NullAllowed] UIView view);
[Export ("velocityInView:")]
CGPoint VelocityInView ([NullAllowed] UIView view);
}
[NoTV]
[Since (7,0)]
[BaseType (typeof (UIPanGestureRecognizer))]
interface UIScreenEdgePanGestureRecognizer {
2016-04-21 15:30:02 +03:00
// inherit .ctor
[Export ("initWithTarget:action:")]
IntPtr Constructor (NSObject target, Selector action);
[Export ("edges", ArgumentSemantic.Assign)]
UIRectEdge Edges { get; set; }
}
//
// This class comes with an "init" constructor (which we autogenerate)
// and does not require us to call this with initWithFrame:
//
[NoTV]
[Since(6,0)]
[BaseType (typeof (UIControl))]
interface UIRefreshControl : UIAppearance {
2016-04-21 15:30:02 +03:00
[Export ("refreshing")]
bool Refreshing { [Bind ("isRefreshing")] get; }
[NullAllowed] // by default this property is null
[Export ("attributedTitle", ArgumentSemantic.Retain)]
[Appearance]
NSAttributedString AttributedTitle { get; set; }
[Export ("beginRefreshing")]
void BeginRefreshing ();
[Export ("endRefreshing")]
void EndRefreshing ();
}
[iOS (9,0)]
[BaseType (typeof (NSObject))]
interface UIRegion : NSCopying, NSCoding {
[Static]
[Export ("infiniteRegion")]
UIRegion Infinite { get; }
[Export ("initWithRadius:")]
IntPtr Constructor (nfloat radius);
[Export ("initWithSize:")]
IntPtr Constructor (CGSize size);
[Export ("inverseRegion")]
UIRegion Inverse ();
[Export ("regionByUnionWithRegion:")]
UIRegion Union (UIRegion region);
[Export ("regionByDifferenceFromRegion:")]
UIRegion Difference (UIRegion region);
[Export ("regionByIntersectionWithRegion:")]
UIRegion Intersect (UIRegion region);
[Export ("containsPoint:")]
bool Contains (CGPoint point);
}
[NoTV]
[Since (3,2)]
[BaseType (typeof(UIGestureRecognizer))]
interface UIRotationGestureRecognizer {
2016-04-21 15:30:02 +03:00
[Export ("initWithTarget:action:")]
IntPtr Constructor (NSObject target, Selector action);
[Export ("rotation")]
nfloat Rotation { get; set; }
[Export ("velocity")]
nfloat Velocity { get; }
}
[NoTV]
[Since (3,2)]
[BaseType (typeof(UIGestureRecognizer))]
interface UIPinchGestureRecognizer {
2016-04-21 15:30:02 +03:00
[Export ("initWithTarget:action:")]
IntPtr Constructor (NSObject target, Selector action);
[Export ("scale")]
nfloat Scale { get; set; }
[Export ("velocity")]
nfloat Velocity { get; }
}
[Since (3,2)]
[BaseType (typeof(UIGestureRecognizer))]
interface UISwipeGestureRecognizer {
2016-04-21 15:30:02 +03:00
[Export ("initWithTarget:action:")]
IntPtr Constructor (NSObject target, Selector action);
[Export ("direction")]
UISwipeGestureRecognizerDirection Direction { get; set; }
[NoTV]
[Export ("numberOfTouchesRequired")]
nuint NumberOfTouchesRequired { get; set; }
}
[BaseType (typeof(UIView))]
interface UIActivityIndicatorView : NSCoding {
2016-04-21 15:30:02 +03:00
[DesignatedInitializer]
[Export ("initWithFrame:")]
IntPtr Constructor (CGRect frame);
[DesignatedInitializer]
[Export ("initWithActivityIndicatorStyle:")]
IntPtr Constructor (UIActivityIndicatorViewStyle style);
[Export ("activityIndicatorViewStyle")]
UIActivityIndicatorViewStyle ActivityIndicatorViewStyle { get; set; }
[Export ("hidesWhenStopped")]
bool HidesWhenStopped { get; set; }
[Export ("startAnimating")]
void StartAnimating ();
[Export ("stopAnimating")]
void StopAnimating ();
[Export ("isAnimating")]
bool IsAnimating { get; }
[Since (5,0)]
[Export ("color", ArgumentSemantic.Retain), NullAllowed]
[Appearance]
UIColor Color { get; set; }
}
#endif // !WATCH
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
[NoWatch, NoTV]
[iOS (11,0)]
[Protocol]
interface UIItemProviderPresentationSizeProviding {
[Abstract]
[Export ("preferredPresentationSizeForItemProvider")]
CGSize PreferredPresentationSizeForItemProvider { get; }
}
2016-04-21 15:30:02 +03:00
[BaseType (typeof (NSObject))]
interface UIImage : NSSecureCoding
2016-04-21 15:30:02 +03:00
#if !WATCH
, UIAccessibility, UIAccessibilityIdentification
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 !TVOS
, NSItemProviderWriting, NSItemProviderReading, UIItemProviderPresentationSizeProviding
#endif
2016-04-21 15:30:02 +03:00
#endif // !WATCH
{
[ThreadSafe]
[Export ("initWithContentsOfFile:")]
IntPtr Constructor (string filename);
[ThreadSafe]
[Export ("initWithData:")]
IntPtr Constructor (NSData data);
[ThreadSafe]
[Export ("size")]
[Autorelease]
CGSize Size { get; }
// Thread-safe in iOS 9 or later according to docs.
[ThreadSafe]
[Static] [Export ("imageNamed:")][Autorelease]
UIImage FromBundle (string name);
#if !WATCH
// Thread-safe in iOS 9 or later according to docs.
[ThreadSafe]
[iOS (8,0)]
[Static, Export ("imageNamed:inBundle:compatibleWithTraitCollection:")]
UIImage FromBundle (string name, [NullAllowed] NSBundle bundle, [NullAllowed] UITraitCollection traitCollection);
#endif // !WATCH
[Static] [Export ("imageWithContentsOfFile:")][Autorelease]
[ThreadSafe]
UIImage FromFile (string filename);
[Static] [Export ("imageWithData:")][Autorelease]
[ThreadSafe]
UIImage LoadFromData (NSData data);
[Static] [Export ("imageWithCGImage:")][Autorelease]
[ThreadSafe]
UIImage FromImage (CGImage image);
[Static][Export ("imageWithCGImage:scale:orientation:")][Autorelease]
[ThreadSafe]
UIImage FromImage (CGImage image, nfloat scale, UIImageOrientation orientation);
#if !WATCH
[Since (5,0)]
[Static][Export ("imageWithCIImage:")][Autorelease]
[ThreadSafe]
UIImage FromImage (CIImage image);
#endif // !WATCH
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
// From the NSItemProviderReading protocol, a static method.
[Static]
[iOS (11,0), NoWatch, NoTV]
[Export ("readableTypeIdentifiersForItemProvider", ArgumentSemantic.Copy)]
#if !WATCH && !TVOS
new
#endif
string[] ReadableTypeIdentifiers { get; }
// From the NSItemProviderReading protocol, a static method.
[Static]
[Export ("objectWithItemProviderData:typeIdentifier:error:")]
[iOS (11,0), NoWatch, NoTV]
[return: NullAllowed]
#if !WATCH && !TVOS
new
#endif
UIImage GetObject (NSData data, string typeIdentifier, [NullAllowed] out NSError outError);
2016-04-21 15:30:02 +03:00
[Export ("renderingMode")]
[ThreadSafe]
[Since (7,0)]
UIImageRenderingMode RenderingMode { get; }
[Export ("imageWithRenderingMode:")]
[ThreadSafe]
[Since (7,0)]
UIImage ImageWithRenderingMode (UIImageRenderingMode renderingMode);
[Export ("CGImage")]
[ThreadSafe]
CGImage CGImage { get; }
[Export ("imageOrientation")]
[ThreadSafe]
UIImageOrientation Orientation { get; }
[Export ("drawAtPoint:")]
[ThreadSafe]
void Draw (CGPoint point);
[Export ("drawAtPoint:blendMode:alpha:")]
[ThreadSafe]
void Draw (CGPoint point, CGBlendMode blendMode, nfloat alpha);
[Export ("drawInRect:")]
[ThreadSafe]
void Draw (CGRect rect);
[Export ("drawInRect:blendMode:alpha:")]
[ThreadSafe]
void Draw (CGRect rect, CGBlendMode blendMode, nfloat alpha);
[Export ("drawAsPatternInRect:")]
[ThreadSafe]
void DrawAsPatternInRect (CGRect rect);
[NoTV]
[Export ("stretchableImageWithLeftCapWidth:topCapHeight:")][Autorelease]
[ThreadSafe]
UIImage StretchableImage (nint leftCapWidth, nint topCapHeight);
[NoTV]
[Export ("leftCapWidth")]
[ThreadSafe]
nint LeftCapWidth { get; }
[NoTV]
[Export ("topCapHeight")]
[ThreadSafe]
nint TopCapHeight { get; }
[Since (4,0)]
[Export ("scale")]
[ThreadSafe]
nfloat CurrentScale { get; }
[Since (5,0)]
[Static, Export ("animatedImageNamed:duration:")][Autorelease]
[ThreadSafe]
UIImage CreateAnimatedImage (string name, double duration);
[Since (5,0)]
[Static, Export ("animatedImageWithImages:duration:")][Autorelease]
[ThreadSafe]
UIImage CreateAnimatedImage (UIImage [] images, double duration);
[Since (5,0)]
[Static, Export ("animatedResizableImageNamed:capInsets:duration:")][Autorelease]
[ThreadSafe]
UIImage CreateAnimatedImage (string name, UIEdgeInsets capInsets, double duration);
[Export ("initWithCGImage:")]
[ThreadSafe]
IntPtr Constructor (CGImage cgImage);
#if !WATCH
[Since (5,0)]
[Export ("initWithCIImage:")]
[ThreadSafe]
IntPtr Constructor (CIImage ciImage);
#endif // !WATCH
[Export ("initWithCGImage:scale:orientation:")]
[ThreadSafe]
IntPtr Constructor (CGImage cgImage, nfloat scale, UIImageOrientation orientation);
#if !WATCH
[Since (5,0)]
[Export ("CIImage")]
[ThreadSafe]
CIImage CIImage { get; }
#endif // !WATCH
[Since (5,0)]
[Export ("images")]
[ThreadSafe]
UIImage [] Images { get; }
[Since (5,0)]
[Export ("duration")]
[ThreadSafe]
double Duration { get; }
[Since (5,0)]
[Export ("resizableImageWithCapInsets:")][Autorelease]
[ThreadSafe]
UIImage CreateResizableImage (UIEdgeInsets capInsets);
[Since (5,0)]
[Export ("capInsets")]
[ThreadSafe]
UIEdgeInsets CapInsets { get; }
//
// 6.0
//
[Since(6,0)]
[Export ("alignmentRectInsets")]
[ThreadSafe]
UIEdgeInsets AlignmentRectInsets { get; }
[Since(6,0)]
[Static]
[Export ("imageWithData:scale:")]
[ThreadSafe, Autorelease]
UIImage LoadFromData (NSData data, nfloat scale);
#if !WATCH
[Since(6,0)]
[Static]
[Export ("imageWithCIImage:scale:orientation:")]
[ThreadSafe, Autorelease]
UIImage FromImage (CIImage ciImage, nfloat scale, UIImageOrientation orientation);
#endif // !WATCH
[Since(6,0)]
[Export ("initWithData:scale:")]
[ThreadSafe]
IntPtr Constructor (NSData data, nfloat scale);
#if !WATCH
[Since(6,0)]
[Export ("initWithCIImage:scale:orientation:")]
[ThreadSafe]
IntPtr Constructor (CIImage ciImage, nfloat scale, UIImageOrientation orientation);
#endif // !WATCH
[Since(6,0)]
[Export ("resizableImageWithCapInsets:resizingMode:")]
[ThreadSafe]
UIImage CreateResizableImage (UIEdgeInsets capInsets, UIImageResizingMode resizingMode);
[Since (6,0)]
[Static]
[Export ("animatedResizableImageNamed:capInsets:resizingMode:duration:")]
[ThreadSafe]
UIImage CreateAnimatedImage (string name, UIEdgeInsets capInsets, UIImageResizingMode resizingMode, double duration);
[Since(6,0)]
[Export ("imageWithAlignmentRectInsets:")]
[ThreadSafe, Autorelease]
UIImage ImageWithAlignmentRectInsets (UIEdgeInsets alignmentInsets);
[Since (6,0)]
[Export ("resizingMode")]
[ThreadSafe]
UIImageResizingMode ResizingMode { get; }
#if !WATCH
[iOS (8,0)]
[Export ("traitCollection")]
[ThreadSafe]
UITraitCollection TraitCollection { get; }
[iOS (8,0)]
[Export ("imageAsset")]
[ThreadSafe]
UIImageAsset ImageAsset { get; }
#endif // !WATCH
[iOS (9,0)]
[Export ("imageFlippedForRightToLeftLayoutDirection")]
UIImage GetImageFlippedForRightToLeftLayoutDirection ();
[iOS (9,0)]
[Export ("flipsForRightToLeftLayoutDirection")]
2016-06-20 04:53:43 +03:00
bool FlipsForRightToLeftLayoutDirection { get; }
#if !WATCH
[iOS (10,0), TV (10,0)]
2016-06-20 04:53:43 +03:00
[Export ("imageRendererFormat")]
UIGraphicsImageRendererFormat ImageRendererFormat { get; }
[iOS (10,0), TV (10,0)]
[Export ("imageWithHorizontallyFlippedOrientation")]
UIImage GetImageWithHorizontallyFlippedOrientation ();
2016-06-20 04:53:43 +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
// From the NSItemProviderWriting protocol, a static method.
// NSItemProviderWriting doesn't seem to be implemented for tvOS/watchOS, even though the headers say otherwise.
[NoWatch, NoTV, iOS (11,0)]
[Static]
[Export ("writableTypeIdentifiersForItemProvider", ArgumentSemantic.Copy)]
#if !WATCH && !TVOS
new
#endif
string[] WritableTypeIdentifiers { get; }
2016-04-21 15:30:02 +03:00
}
#if !WATCH
[iOS (8,0)]
[BaseType (typeof (NSObject))]
partial interface UIImageAsset : NSSecureCoding {
2016-04-21 15:30:02 +03:00
[Export ("imageWithTraitCollection:")]
UIImage FromTraitCollection (UITraitCollection traitCollection);
[Export ("registerImage:withTraitCollection:")]
void RegisterImage (UIImage image, UITraitCollection traitCollection);
[Export ("unregisterImageWithTraitCollection:")]
void UnregisterImageWithTraitCollection (UITraitCollection traitCollection);
}
[BaseType (typeof (NSObject))]
interface UIEvent {
2016-04-21 15:30:02 +03:00
[Export ("type")]
UIEventType Type { get; }
[Export ("subtype")]
UIEventSubtype Subtype { get; }
[Export ("timestamp")]
double Timestamp { get; }
[Export ("allTouches")]
NSSet AllTouches { get; }
[Export ("touchesForView:")]
NSSet TouchesForView (UIView view);
[Export ("touchesForWindow:")]
NSSet TouchesForWindow (UIWindow window);
[Since (3,2)]
[Export ("touchesForGestureRecognizer:")]
NSSet TouchesForGestureRecognizer (UIGestureRecognizer window);
[iOS (9,0)]
[Export ("coalescedTouchesForTouch:")]
[return: NullAllowed]
UITouch[] GetCoalescedTouches (UITouch touch);
[iOS (9,0)]
[Export ("predictedTouchesForTouch:")]
[return: NullAllowed]
UITouch[] GetPredictedTouches (UITouch touch);
}
// that's one of the few enums based on CGFloat - we expose the [n]float directly in the API
// but we need a way to give access to the constants to developers
[Static]
interface UIWindowLevel {
2016-04-21 15:30:02 +03:00
[Field ("UIWindowLevelNormal")]
nfloat Normal { get; }
[Field ("UIWindowLevelAlert")]
nfloat Alert { get; }
[NoTV]
[Field ("UIWindowLevelStatusBar")]
nfloat StatusBar { get; }
}
[BaseType (typeof (UIView))]
interface UIWindow {
2016-04-21 15:30:02 +03:00
[Export ("initWithFrame:")]
IntPtr Constructor (CGRect frame);
[Export ("makeKeyAndVisible")]
void MakeKeyAndVisible ();
[Export ("makeKeyWindow")]
void MakeKeyWindow ();
[Export ("becomeKeyWindow")]
void BecomeKeyWindow ();
[Export ("resignKeyWindow")]
void ResignKeyWindow ();
[Export ("isKeyWindow")]
bool IsKeyWindow { get; }
[Export ("windowLevel")]
nfloat WindowLevel { get; set; }
[Export ("convertPoint:fromWindow:")]
CGPoint ConvertPointFromWindow (CGPoint point, [NullAllowed] UIWindow window);
[Export ("convertPoint:toWindow:")]
CGPoint ConvertPointToWindow (CGPoint point, [NullAllowed] UIWindow window);
[Export ("convertRect:fromWindow:")]
CGRect ConvertRectFromWindow (CGRect rect, [NullAllowed] UIWindow window);
[Export ("convertRect:toWindow:")]
CGRect ConvertRectToWindow (CGRect rect, [NullAllowed] UIWindow window);
[Export ("sendEvent:")]
void SendEvent (UIEvent evt);
[NullAllowed] // by default this property is null
[Export ("rootViewController", ArgumentSemantic.Retain)]
UIViewController RootViewController { get; set; }
[Since (3,2)]
[Export ("screen", ArgumentSemantic.Retain)]
UIScreen Screen { get; set; }
[Field ("UIWindowDidBecomeVisibleNotification")]
[Notification]
NSString DidBecomeVisibleNotification { get; }
[Field ("UIWindowDidBecomeHiddenNotification")]
[Notification]
NSString DidBecomeHiddenNotification { get; }
[Field ("UIWindowDidBecomeKeyNotification")]
[Notification]
NSString DidBecomeKeyNotification { get; }
[Field ("UIWindowDidResignKeyNotification")]
[Notification]
NSString DidResignKeyNotification { get; }
}
[BaseType (typeof (UIView))]
interface UIControl {
2016-04-21 15:30:02 +03:00
[Export ("initWithFrame:")]
IntPtr Constructor (CGRect frame);
[Export ("enabled")]
bool Enabled { [Bind ("isEnabled")] get; set; }
[Export ("selected")]
bool Selected { [Bind("isSelected")] get; set; }
[Export ("highlighted")]
bool Highlighted { [Bind ("isHighlighted")] get; set; }
[Export ("contentVerticalAlignment")]
UIControlContentVerticalAlignment VerticalAlignment { get; set; }
[Export ("contentHorizontalAlignment")]
UIControlContentHorizontalAlignment HorizontalAlignment { 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
[NoWatch]
[iOS (11,0), TV (11,0)]
[Export ("effectiveContentHorizontalAlignment")]
UIControlContentHorizontalAlignment EffectiveContentHorizontalAlignment { get; }
2016-04-21 15:30:02 +03:00
[Export ("state")]
UIControlState State { get; }
[Export ("isTracking")]
bool Tracking { get; }
[Export ("isTouchInside")]
bool TouchInside { get; }
[Export ("beginTrackingWithTouch:withEvent:")]
bool BeginTracking (UITouch uitouch, [NullAllowed] UIEvent uievent);
[Export ("continueTrackingWithTouch:withEvent:")]
bool ContinueTracking (UITouch uitouch, [NullAllowed] UIEvent uievent);
[Export ("endTrackingWithTouch:withEvent:")]
void EndTracking (UITouch uitouch, [NullAllowed] UIEvent uievent);
[Export ("cancelTrackingWithEvent:")]
void CancelTracking ([NullAllowed] UIEvent uievent);
[Export ("addTarget:action:forControlEvents:")]
void AddTarget ([NullAllowed] NSObject target, Selector sel, UIControlEvent events);
[Sealed]
[Internal]
[Export ("addTarget:action:forControlEvents:")]
void AddTarget ([NullAllowed] NSObject target, IntPtr sel, UIControlEvent events);
[Export ("removeTarget:action:forControlEvents:")]
void RemoveTarget ([NullAllowed] NSObject target, [NullAllowed] Selector sel, UIControlEvent events);
[Sealed]
[Internal]
[Export ("removeTarget:action:forControlEvents:")]
void RemoveTarget ([NullAllowed] NSObject target, IntPtr sel, UIControlEvent events);
[Export ("allTargets")]
NSSet AllTargets { get; }
[Export ("allControlEvents")]
UIControlEvent AllControlEvents { get; }
[Export ("actionsForTarget:forControlEvent:")]
string [] GetActions ([NullAllowed] NSObject target, UIControlEvent events);
[Export ("sendAction:to:forEvent:")]
void SendAction (Selector action, [NullAllowed] NSObject target, [NullAllowed] UIEvent uievent);
[Export ("sendActionsForControlEvents:")]
void SendActionForControlEvents (UIControlEvent events);
}
[iOS (7,0)]
[BaseType (typeof (NSObject))]
[Model]
[Protocol]
interface UIBarPositioning {
2016-04-21 15:30:02 +03:00
#if XAMCORE_2_0
[Abstract]
#endif
[Since (7,0)]
[Export ("barPosition")]
UIBarPosition BarPosition { get; }
}
interface IUIBarPositioning {}
2016-04-21 15:30:02 +03:00
[iOS (7,0)]
[BaseType (typeof (NSObject))]
[Model]
[Protocol]
interface UIBarPositioningDelegate {
2016-04-21 15:30:02 +03:00
[Export ("positionForBar:")][DelegateName ("Func<IUIBarPositioning,UIBarPosition>"), NoDefaultValue]
UIBarPosition GetPositionForBar (IUIBarPositioning barPositioning);
}
#endif // !WATCH
[Since (3,2)]
[BaseType (typeof (NSObject))]
[ThreadSafe]
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 UIBezierPath : NSSecureCoding, NSCopying {
2016-04-21 15:30:02 +03:00
// initWithFrame: --> unrecognized selector
[Export ("bezierPath"), Static]
UIBezierPath Create ();
[Export ("bezierPathWithArcCenter:radius:startAngle:endAngle:clockwise:"), Static]
UIBezierPath FromArc (CGPoint center, nfloat radius, nfloat startAngle, nfloat endAngle, bool clockwise);
[Export ("bezierPathWithCGPath:"), Static]
UIBezierPath FromPath (CGPath path);
[Export ("bezierPathWithOvalInRect:"), Static]
UIBezierPath FromOval (CGRect inRect);
[Export ("bezierPathWithRect:"), Static]
UIBezierPath FromRect (CGRect rect);
[Export ("bezierPathWithRoundedRect:byRoundingCorners:cornerRadii:"), Static]
UIBezierPath FromRoundedRect (CGRect rect, UIRectCorner corners, CGSize radii);
[Export ("bezierPathWithRoundedRect:cornerRadius:"), Static]
UIBezierPath FromRoundedRect (CGRect rect, nfloat cornerRadius);
[Export ("CGPath")]
CGPath CGPath { get; [NullAllowed] set; }
[Export ("moveToPoint:")]
void MoveTo (CGPoint point);
[Export ("addLineToPoint:")]
void AddLineTo (CGPoint point);
[Export ("addCurveToPoint:controlPoint1:controlPoint2:")]
void AddCurveToPoint (CGPoint endPoint, CGPoint controlPoint1, CGPoint controlPoint2);
[Export ("addQuadCurveToPoint:controlPoint:")]
void AddQuadCurveToPoint (CGPoint endPoint, CGPoint controlPoint);
[Export ("closePath")]
void ClosePath ();
[Export ("removeAllPoints")]
void RemoveAllPoints ();
[Export ("appendPath:")]
void AppendPath (UIBezierPath path);
[Export ("applyTransform:")]
void ApplyTransform (CGAffineTransform transform);
[Export ("empty")]
bool Empty { [Bind ("isEmpty")] get; }
[Export ("bounds")]
CGRect Bounds { get; }
[Export ("currentPoint")]
CGPoint CurrentPoint { get; }
[Export ("containsPoint:")]
bool ContainsPoint (CGPoint point);
[Export ("lineWidth")]
nfloat LineWidth { get; set; }
[Export ("lineCapStyle")]
CGLineCap LineCapStyle { get; set; }
[Export ("lineJoinStyle")]
CGLineJoin LineJoinStyle { get; set; }
[Export ("miterLimit")]
nfloat MiterLimit { get; set; }
[Export ("flatness")]
nfloat Flatness { get; set; }
[Export ("usesEvenOddFillRule")]
bool UsesEvenOddFillRule { get; set; }
[Export ("fill")]
void Fill ();
[Export ("stroke")]
void Stroke ();
[Export ("fillWithBlendMode:alpha:")]
void Fill (CGBlendMode blendMode, nfloat alpha);
[Export ("strokeWithBlendMode:alpha:")]
void Stroke (CGBlendMode blendMode, nfloat alpha);
[Export ("addClip")]
void AddClip ();
[Internal]
[Export ("getLineDash:count:phase:")]
void _GetLineDash (IntPtr pattern, out nint count, out nfloat phase);
[Internal, Export ("setLineDash:count:phase:")]
void SetLineDash (IntPtr fvalues, nint count, nfloat phase);
[Since (4,0)]
[Export ("addArcWithCenter:radius:startAngle:endAngle:clockwise:")]
void AddArc (CGPoint center, nfloat radius, nfloat startAngle, nfloat endAngle, bool clockWise);
[Since(6,0)]
[Export ("bezierPathByReversingPath")]
UIBezierPath BezierPathByReversingPath ();
}
#if !WATCH
[BaseType (typeof (UIControl))]
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 UIButton : UIAccessibilityContentSizeCategoryImageAdjusting
#if IOS
, UISpringLoadedInteractionSupporting
#endif
{
2016-04-21 15:30:02 +03:00
[Export ("initWithFrame:")]
IntPtr Constructor (CGRect frame);
[Export ("buttonWithType:")] [Static]
UIButton FromType (UIButtonType type);
[Export ("contentEdgeInsets")]
UIEdgeInsets ContentEdgeInsets {get;set;}
[Export ("titleEdgeInsets")]
UIEdgeInsets TitleEdgeInsets { get; set; }
[Export ("reversesTitleShadowWhenHighlighted")]
bool ReverseTitleShadowWhenHighlighted { get; set; }
[Export ("imageEdgeInsets")]
UIEdgeInsets ImageEdgeInsets { get; set; }
[Export ("adjustsImageWhenHighlighted")]
bool AdjustsImageWhenHighlighted { get; set; }
[Export ("adjustsImageWhenDisabled")]
bool AdjustsImageWhenDisabled { get; set; }
[NoTV]
[Export ("showsTouchWhenHighlighted")]
bool ShowsTouchWhenHighlighted { get; set; }
[Export ("buttonType")]
UIButtonType ButtonType { get; }
[Export ("setTitle:forState:")]
void SetTitle ([NullAllowed] string title, UIControlState forState);
[Export ("setTitleColor:forState:")]
[Appearance]
void SetTitleColor ([NullAllowed] UIColor color, UIControlState forState);
[Export ("setTitleShadowColor:forState:")]
[Appearance]
void SetTitleShadowColor ([NullAllowed] UIColor color, UIControlState forState);
[Export ("setImage:forState:")]
[Appearance]
void SetImage ([NullAllowed] UIImage image, UIControlState forState);
[Export ("setBackgroundImage:forState:")]
[Appearance]
void SetBackgroundImage ([NullAllowed] UIImage image, UIControlState forState);
[Export ("titleForState:")]
string Title (UIControlState state);
[Export ("titleColorForState:")]
[Appearance]
UIColor TitleColor (UIControlState state);
[Export ("titleShadowColorForState:")]
[Appearance]
UIColor TitleShadowColor (UIControlState state);
[Export ("imageForState:")]
[Appearance]
UIImage ImageForState (UIControlState state);
[Export ("backgroundImageForState:")]
[Appearance]
UIImage BackgroundImageForState (UIControlState state);
[Export ("currentTitle", ArgumentSemantic.Retain)]
string CurrentTitle { get; }
[Export ("currentTitleColor", ArgumentSemantic.Retain)]
[Appearance]
UIColor CurrentTitleColor { get; }
[Export ("currentTitleShadowColor", ArgumentSemantic.Retain)]
[Appearance]
UIColor CurrentTitleShadowColor { get; }
[Export ("currentImage", ArgumentSemantic.Retain)]
[Appearance]
UIImage CurrentImage { get; }
[Export ("currentBackgroundImage", ArgumentSemantic.Retain)]
[Appearance]
UIImage CurrentBackgroundImage { get; }
[Export ("titleLabel", ArgumentSemantic.Retain)]
UILabel TitleLabel { get; }
[Export ("imageView", ArgumentSemantic.Retain)]
UIImageView ImageView { get; }
[Export ("backgroundRectForBounds:")]
CGRect BackgroundRectForBounds (CGRect rect);
[Export ("contentRectForBounds:")]
CGRect ContentRectForBounds (CGRect rect);
[Export ("titleRectForContentRect:")]
CGRect TitleRectForContentRect (CGRect rect);
[Export ("imageRectForContentRect:")]
CGRect ImageRectForContentRect (CGRect rect);
#if !XAMCORE_3_0
[Deprecated (PlatformName.iOS, 3, 0)]
[Export ("font", ArgumentSemantic.Retain)]
UIFont Font { get; set; }
[Deprecated (PlatformName.iOS, 3, 0)]
[Export ("lineBreakMode")]
UILineBreakMode LineBreakMode { get; set; }
[Deprecated (PlatformName.iOS, 3, 0)]
[Export ("titleShadowOffset")]
CGSize TitleShadowOffset { get; set; }
#endif
//
// 6.0
//
[Since(6,0)]
[Export ("currentAttributedTitle", ArgumentSemantic.Retain)]
NSAttributedString CurrentAttributedTitle { get; }
[Since(6,0)]
[Export ("setAttributedTitle:forState:")]
void SetAttributedTitle (NSAttributedString title, UIControlState state);
[Since(6,0)]
[Export ("attributedTitleForState:")]
NSAttributedString GetAttributedTitle (UIControlState state);
}
[BaseType (typeof (UIView))]
interface UILabel : UIContentSizeCategoryAdjusting {
2016-04-21 15:30:02 +03:00
[Export ("initWithFrame:")]
IntPtr Constructor (CGRect frame);
[Export ("text", ArgumentSemantic.Copy)][NullAllowed]
string Text { get; set; }
[Export ("font", ArgumentSemantic.Retain)]
[Appearance]
UIFont Font { get; set; }
[Export ("textColor", ArgumentSemantic.Retain)]
[Appearance]
[NullAllowed]
UIColor TextColor { get; set; }
[Export ("shadowColor", ArgumentSemantic.Retain)]
[Appearance]
[NullAllowed]
UIColor ShadowColor { get; set;}
[Export ("shadowOffset")]
[Appearance]
CGSize ShadowOffset { get; set; }
[Export ("textAlignment")]
UITextAlignment TextAlignment { get; set; }
[Export ("lineBreakMode")]
UILineBreakMode LineBreakMode { get; set; }
[Export ("highlightedTextColor", ArgumentSemantic.Retain)]
[Appearance]
[NullAllowed]
UIColor HighlightedTextColor { get; set; }
[Export ("highlighted")]
bool Highlighted { [Bind ("isHighlighted")] get; set; }
[Export ("enabled")]
bool Enabled { [Bind ("isEnabled")] get; set; }
[Export ("numberOfLines")]
nint Lines { get; set; }
[Export ("adjustsFontSizeToFitWidth")]
bool AdjustsFontSizeToFitWidth { get; set; }
[NoTV]
[Export ("minimumFontSize")]
[Availability (Introduced = Platform.iOS_2_0, Deprecated = Platform.iOS_6_0, Message = "Use 'MinimumScaleFactor' instead.")]
2016-04-21 15:30:02 +03:00
nfloat MinimumFontSize { get; set; }
[Export ("baselineAdjustment")]
UIBaselineAdjustment BaselineAdjustment { get; set; }
[Export ("textRectForBounds:limitedToNumberOfLines:")]
CGRect TextRectForBounds (CGRect bounds, nint numberOfLines);
[Export ("drawTextInRect:")]
void DrawText (CGRect rect);
//
// 6.0
//
[Since(6,0)]
[NullAllowed] // by default this property is null
[Export ("attributedText", ArgumentSemantic.Copy)]
NSAttributedString AttributedText { get; set; }
[NoTV]
[Since(6,0)]
[Export ("adjustsLetterSpacingToFitWidth")]
[Availability (Introduced = Platform.iOS_6_0, Deprecated = Platform.iOS_7_0, Message = "Use 'NSKernAttributeName' instead.")]
2016-04-21 15:30:02 +03:00
bool AdjustsLetterSpacingToFitWidth { get; set; }
[Since(6,0)]
[Export ("minimumScaleFactor")]
nfloat MinimumScaleFactor { get; set; }
[Since(6,0)]
[Export ("preferredMaxLayoutWidth")]
nfloat PreferredMaxLayoutWidth { get; set; }
[iOS (9,0)]
[Export ("allowsDefaultTighteningForTruncation")]
bool AllowsDefaultTighteningForTruncation { get; set; }
}
[BaseType (typeof (UIView))]
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 UIImageView
#if !WATCH
: UIAccessibilityContentSizeCategoryImageAdjusting
#endif // !WATCH
{
2016-04-21 15:30:02 +03:00
[Export ("initWithFrame:")]
IntPtr Constructor (CGRect frame);
[Export ("initWithImage:")]
[PostGet ("Image")]
IntPtr Constructor ([NullAllowed] UIImage image);
2016-04-21 15:30:02 +03:00
[Export ("initWithImage:highlightedImage:")]
[PostGet ("Image")]
[PostGet ("HighlightedImage")]
IntPtr Constructor ([NullAllowed] UIImage image, [NullAllowed] UIImage highlightedImage);
2016-04-21 15:30:02 +03:00
[Export ("image", ArgumentSemantic.Retain)][NullAllowed]
UIImage Image { get; set; }
[Export ("highlightedImage", ArgumentSemantic.Retain)][NullAllowed]
UIImage HighlightedImage { get; set; }
[Export ("highlighted")]
bool Highlighted { [Bind ("isHighlighted")] get; set; }
[Export ("animationImages", ArgumentSemantic.Copy)][NullAllowed]
UIImage [] AnimationImages { get; set; }
[Export ("highlightedAnimationImages", ArgumentSemantic.Copy)][NullAllowed]
UIImage [] HighlightedAnimationImages { get; set; }
[Export ("animationDuration")]
double AnimationDuration { get; set; }
[Export ("animationRepeatCount")]
nint AnimationRepeatCount { get; set; }
[Export ("startAnimating")]
void StartAnimating ();
[Export ("stopAnimating")]
void StopAnimating ();
[Export ("isAnimating")]
bool IsAnimating { get; }
[TV (9,0)]
[NoiOS] // UIKIT_AVAILABLE_TVOS_ONLY
[Export ("adjustsImageWhenAncestorFocused")]
bool AdjustsImageWhenAncestorFocused { get; set; }
[TV (9,0)]
[NoiOS] // UIKIT_AVAILABLE_TVOS_ONLY
[Export ("focusedFrameGuide")]
UILayoutGuide FocusedFrameGuide { 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
[TV (11, 0), NoWatch, NoiOS]
[Export ("overlayContentView", ArgumentSemantic.Strong)]
UIView OverlayContentView { get; }
[TV (11,0), NoWatch, NoiOS]
[Export ("masksFocusEffectToContents")]
bool MasksFocusEffectToContents { get; set; }
2016-04-21 15:30:02 +03:00
}
[NoTV]
[BaseType (typeof (UIControl))]
interface UIDatePicker {
2016-04-21 15:30:02 +03:00
[Export ("initWithFrame:")]
IntPtr Constructor (CGRect frame);
[Export ("datePickerMode")]
UIDatePickerMode Mode { get; set; }
[Export ("locale", ArgumentSemantic.Retain)]
NSLocale Locale { get; [NullAllowed] set; }
[Export ("timeZone", ArgumentSemantic.Retain)]
NSTimeZone TimeZone { get; [NullAllowed] set; }
[Export ("calendar", ArgumentSemantic.Copy)]
NSCalendar Calendar { get; [NullAllowed] set; }
// not fully clear from docs but null is not allowed:
// Objective-C exception thrown. Name: NSInternalInconsistencyException Reason: Invalid parameter not satisfying: date
[Export ("date", ArgumentSemantic.Retain)]
NSDate Date { get; set; }
[Export ("minimumDate", ArgumentSemantic.Retain)]
NSDate MinimumDate { get; [NullAllowed] set; }
[Export ("maximumDate", ArgumentSemantic.Retain)]
NSDate MaximumDate { get; [NullAllowed] set; }
[Export ("countDownDuration")]
double CountDownDuration { get; set; }
[Export ("minuteInterval")]
nint MinuteInterval { get; set; }
[Export ("setDate:animated:")]
void SetDate (NSDate date, bool animated);
}
[BaseType (typeof (NSObject))]
[ThreadSafe]
interface UIDevice {
2016-04-21 15:30:02 +03:00
[Static]
[Export ("currentDevice")]
UIDevice CurrentDevice { get; }
[Export ("name", ArgumentSemantic.Retain)]
string Name { get; }
[Export ("model", ArgumentSemantic.Retain)]
string Model { get; }
[Export ("localizedModel", ArgumentSemantic.Retain)]
string LocalizedModel { get; }
[Export ("systemName", ArgumentSemantic.Retain)]
string SystemName { get; }
[Export ("systemVersion", ArgumentSemantic.Retain)]
string SystemVersion { get; }
[NoTV]
[Export ("orientation")]
UIDeviceOrientation Orientation { get; }
#if false
[Obsolete ("Deprecated in iOS 5.0")]
[Export ("uniqueIdentifier", ArgumentSemantic.Retain)]
string UniqueIdentifier { get; }
#endif
[NoTV]
[Export ("generatesDeviceOrientationNotifications")]
bool GeneratesDeviceOrientationNotifications { [Bind ("isGeneratingDeviceOrientationNotifications")] get; }
[NoTV]
[Export ("beginGeneratingDeviceOrientationNotifications")]
void BeginGeneratingDeviceOrientationNotifications ();
[NoTV]
[Export ("endGeneratingDeviceOrientationNotifications")]
void EndGeneratingDeviceOrientationNotifications ();
[NoTV]
[Export ("batteryMonitoringEnabled")]
bool BatteryMonitoringEnabled { [Bind ("isBatteryMonitoringEnabled")] get; set; }
[NoTV]
[Export ("batteryState")]
UIDeviceBatteryState BatteryState { get; }
[NoTV]
[Export ("batteryLevel")]
float BatteryLevel { get; } // This is float, not nfloat
[Export ("proximityMonitoringEnabled")]
bool ProximityMonitoringEnabled { [Bind ("isProximityMonitoringEnabled")] get; set; }
[Export ("proximityState")]
bool ProximityState { get; }
[Since (3,2)]
[Internal]
[Export ("userInterfaceIdiom")]
UIUserInterfaceIdiom _UserInterfaceIdiom { get; }
[NoTV]
[Field ("UIDeviceOrientationDidChangeNotification")]
[Notification]
NSString OrientationDidChangeNotification { get; }
[NoTV]
[Field ("UIDeviceBatteryStateDidChangeNotification")]
[Notification]
NSString BatteryStateDidChangeNotification { get; }
[NoTV]
[Field ("UIDeviceBatteryLevelDidChangeNotification")]
[Notification]
NSString BatteryLevelDidChangeNotification { get; }
[Field ("UIDeviceProximityStateDidChangeNotification")]
[Notification]
NSString ProximityStateDidChangeNotification { get; }
[Since (4,0)]
[Export ("isMultitaskingSupported"), Internal]
bool _IsMultitaskingSupported { get; }
[Since (4,2)]
[Export ("playInputClick")]
void PlayInputClick ();
[Since(6,0)]
[Export ("identifierForVendor", ArgumentSemantic.Retain)]
NSUuid IdentifierForVendor { get; }
}
[Since (5,1)]
[BaseType (typeof (NSObject))]
interface UIDictationPhrase {
2016-04-21 15:30:02 +03:00
[Export ("alternativeInterpretations")]
string[] AlternativeInterpretations { get; }
[Export ("text")]
string Text { get; }
}
[NoTV]
[Since (3,2)]
[BaseType (typeof (NSObject), Delegates=new string [] {"WeakDelegate"}, Events=new Type [] {typeof (UIDocumentInteractionControllerDelegate)})]
interface UIDocumentInteractionController {
2016-04-21 15:30:02 +03:00
[Export ("interactionControllerWithURL:"), Static]
UIDocumentInteractionController FromUrl (NSUrl url);
[Export ("delegate", ArgumentSemantic.Assign), NullAllowed]
NSObject WeakDelegate { get; set; }
[Wrap ("WeakDelegate")]
[Protocolize]
UIDocumentInteractionControllerDelegate Delegate { get; set; }
// default value is null but it cannot be set back to null
// NSInternalInconsistencyException Reason: UIDocumentInteractionController: invalid scheme (null). Only the file scheme is supported.
[Export ("URL", ArgumentSemantic.Retain)]
NSUrl Url { get; set; }
[NullAllowed] // by default this property is null
[Export ("UTI", ArgumentSemantic.Copy)]
string Uti { get; set; }
[Export ("annotation", ArgumentSemantic.Retain), NullAllowed]
NSObject Annotation { get; set; }
[NullAllowed] // by default this property is null
[Export ("name", ArgumentSemantic.Copy)]
string Name { get; set; }
[Export ("icons")]
UIImage[] Icons { get; }
[Export ("dismissMenuAnimated:")]
void DismissMenu (bool animated);
[Export ("dismissPreviewAnimated:")]
void DismissPreview (bool animated);
[Export ("presentOpenInMenuFromBarButtonItem:animated:")]
bool PresentOpenInMenu (UIBarButtonItem item, bool animated);
[Export ("presentOpenInMenuFromRect:inView:animated:")]
bool PresentOpenInMenu (CGRect rect, UIView inView, bool animated);
[Export ("presentOptionsMenuFromBarButtonItem:animated:")]
bool PresentOptionsMenu (UIBarButtonItem item, bool animated);
[Export ("presentOptionsMenuFromRect:inView:animated:")]
bool PresentOptionsMenu (CGRect rect, UIView inView, bool animated);
[Export ("presentPreviewAnimated:")]
bool PresentPreview (bool animated);
[Export ("gestureRecognizers")]
UIGestureRecognizer [] GestureRecognizers { get; }
}
[NoTV]
[BaseType (typeof (NSObject))]
[Model]
[Since (3,2)]
[Protocol]
interface UIDocumentInteractionControllerDelegate {
2016-04-21 15:30:02 +03:00
[Availability (Introduced = Platform.iOS_3_2, Deprecated = Platform.iOS_6_0)]
[Export ("documentInteractionController:canPerformAction:"), DelegateName ("UIDocumentInteractionProbe"), DefaultValue (false)]
bool CanPerformAction (UIDocumentInteractionController controller, [NullAllowed] Selector action);
[Availability (Introduced = Platform.iOS_3_2, Deprecated = Platform.iOS_6_0)]
[Export ("documentInteractionController:performAction:"), DelegateName ("UIDocumentInteractionProbe"), DefaultValue (false)]
bool PerformAction (UIDocumentInteractionController controller, [NullAllowed] Selector action);
[Export ("documentInteractionController:didEndSendingToApplication:")]
[EventArgs ("UIDocumentSendingToApplication")]
void DidEndSendingToApplication (UIDocumentInteractionController controller, [NullAllowed] string application);
[Export ("documentInteractionController:willBeginSendingToApplication:")]
[EventArgs ("UIDocumentSendingToApplication")]
void WillBeginSendingToApplication (UIDocumentInteractionController controller, [NullAllowed] string application);
[Export ("documentInteractionControllerDidDismissOpenInMenu:")]
void DidDismissOpenInMenu (UIDocumentInteractionController controller);
[Export ("documentInteractionControllerDidDismissOptionsMenu:")]
void DidDismissOptionsMenu (UIDocumentInteractionController controller);
[Export ("documentInteractionControllerDidEndPreview:")]
void DidEndPreview (UIDocumentInteractionController controller);
[Export ("documentInteractionControllerRectForPreview:"), DelegateName ("UIDocumentInteractionRectangle"), DefaultValue (null)]
CGRect RectangleForPreview (UIDocumentInteractionController controller);
[Export ("documentInteractionControllerViewControllerForPreview:"), DelegateName ("UIDocumentViewController"), DefaultValue (null)]
UIViewController ViewControllerForPreview (UIDocumentInteractionController controller);
[Export ("documentInteractionControllerViewForPreview:"), DelegateName ("UIDocumentViewForPreview"), DefaultValue (null)]
UIView ViewForPreview (UIDocumentInteractionController controller);
[Export ("documentInteractionControllerWillBeginPreview:")]
void WillBeginPreview (UIDocumentInteractionController controller);
[Export ("documentInteractionControllerWillPresentOpenInMenu:")]
void WillPresentOpenInMenu (UIDocumentInteractionController controller);
[Export ("documentInteractionControllerWillPresentOptionsMenu:")]
void WillPresentOptionsMenu (UIDocumentInteractionController controller);
}
[NoTV]
[BaseType (typeof (UINavigationController), Delegates=new string [] { "Delegate" }, Events=new Type [] {typeof(UIImagePickerControllerDelegate)})]
interface UIImagePickerController {
2016-04-21 15:30:02 +03:00
[Export ("isSourceTypeAvailable:")][Static]
bool IsSourceTypeAvailable (UIImagePickerControllerSourceType sourceType);
[Export ("availableMediaTypesForSourceType:"), Static]
string [] AvailableMediaTypes (UIImagePickerControllerSourceType sourceType);
// This is the foundation to implement both id <UINavigationControllerDelegate, UIImagePickerControllerDelegate>
[Export("delegate", ArgumentSemantic.Assign)][NullAllowed]
NSObject Delegate { get; set; }
[Export ("sourceType")]
UIImagePickerControllerSourceType SourceType { get; set; }
[Export ("mediaTypes", ArgumentSemantic.Copy)]
string [] MediaTypes { get; set; }
#if !XAMCORE_3_0
[Export ("allowsImageEditing")]
[Availability (Introduced = Platform.iOS_2_0, Deprecated = Platform.iOS_3_1)]
bool AllowsImageEditing { get; set; }
#endif
//
// 3.1 APIs
//
[Export ("allowsEditing")]
bool AllowsEditing { get; set; }
[Export ("videoMaximumDuration")]
double VideoMaximumDuration { get; set; }
[Export ("videoQuality")]
UIImagePickerControllerQualityType VideoQuality { get; set; }
[Export ("showsCameraControls")]
bool ShowsCameraControls { get; set; }
[Export ("cameraOverlayView", ArgumentSemantic.Retain)]
UIView CameraOverlayView { get; set; }
[Export ("cameraViewTransform")]
CGAffineTransform CameraViewTransform { get; set; }
[Export ("takePicture")]
void TakePicture ();
[Export ("startVideoCapture")]
bool StartVideoCapture ();
[Export ("stopVideoCapture")]
void StopVideoCapture ();
[Export ("cameraCaptureMode")]
UIImagePickerControllerCameraCaptureMode CameraCaptureMode { get; set; }
[Static][Export ("availableCaptureModesForCameraDevice:")]
NSNumber [] AvailableCaptureModesForCameraDevice (UIImagePickerControllerCameraDevice cameraDevice);
[Export ("cameraDevice")]
UIImagePickerControllerCameraDevice CameraDevice { get; set; }
[Export ("cameraFlashMode")]
UIImagePickerControllerCameraFlashMode CameraFlashMode { get; set; }
[Static, Export ("isCameraDeviceAvailable:")]
bool IsCameraDeviceAvailable (UIImagePickerControllerCameraDevice cameraDevice);
[Static, Export ("isFlashAvailableForCameraDevice:")]
bool IsFlashAvailableForCameraDevice (UIImagePickerControllerCameraDevice cameraDevice);
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 (11,0)]
[Export ("imageExportPreset", ArgumentSemantic.Assign)]
UIImagePickerControllerImageUrlExportPreset ImageExportPreset { get; set; }
[iOS (11,0)]
[Export ("videoExportPreset")]
string VideoExportPreset { get; set; }
2016-04-21 15:30:02 +03:00
#if XAMCORE_2_0
// manually bound (const fields) in monotouch.dll - unlike the newer fields (static properties)
[Field ("UIImagePickerControllerMediaType")]
NSString MediaType { get; }
[Field ("UIImagePickerControllerOriginalImage")]
NSString OriginalImage { get; }
[Field ("UIImagePickerControllerEditedImage")]
NSString EditedImage { get; }
[Field ("UIImagePickerControllerCropRect")]
NSString CropRect { get; }
[Field ("UIImagePickerControllerMediaURL")]
NSString MediaURL { get; }
#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
[Deprecated (PlatformName.iOS, 11, 0, message: "Use 'UIImagePickerController.PHAsset' instead.")]
2016-04-21 15:30:02 +03:00
[Field ("UIImagePickerControllerReferenceURL")]
NSString ReferenceUrl { get; }
[Field ("UIImagePickerControllerMediaMetadata")]
NSString MediaMetadata { get; }
[iOS (9,1)]
[Field ("UIImagePickerControllerLivePhoto")]
NSString LivePhoto { 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
[iOS (11,0)]
[Field ("UIImagePickerControllerPHAsset")]
NSString PHAsset { get; }
[iOS (11,0)]
[Field ("UIImagePickerControllerImageURL")]
NSString ImageUrl { get; }
2016-04-21 15:30:02 +03:00
}
// UINavigationControllerDelegate, UIImagePickerControllerDelegate
[BaseType (typeof (UINavigationControllerDelegate))]
[NoTV]
[Model]
[Protocol]
interface UIImagePickerControllerDelegate {
2016-04-21 15:30:02 +03:00
#if !XAMCORE_3_0
[Availability (Introduced = Platform.iOS_2_0, Obsoleted = Platform.iOS_3_0)]
[Export ("imagePickerController:didFinishPickingImage:editingInfo:"), EventArgs ("UIImagePickerImagePicked")]
void FinishedPickingImage (UIImagePickerController picker, UIImage image, NSDictionary editingInfo);
#endif
[Export ("imagePickerController:didFinishPickingMediaWithInfo:"), EventArgs ("UIImagePickerMediaPicked")]
void FinishedPickingMedia (UIImagePickerController picker, NSDictionary info);
[Export ("imagePickerControllerDidCancel:"), EventArgs ("UIImagePickerController")]
void Canceled (UIImagePickerController picker);
}
[NoTV]
[Since (5,0)]
[BaseType (typeof (UIDocument))]
// *** Assertion failure in -[UIManagedDocument init], /SourceCache/UIKit_Sim/UIKit-1914.84/UIDocument.m:258
[DisableDefaultCtor]
interface UIManagedDocument {
// note: ctor are not inherited, but this is how the documentation tells you to create an UIManagedDocument
// https://developer.apple.com/library/ios/#documentation/UIKit/Reference/UIManagedDocument_Class/Reference/Reference.html
[Export ("initWithFileURL:")]
[PostGet ("FileUrl")]
IntPtr Constructor (NSUrl url);
[Export ("managedObjectContext", ArgumentSemantic.Retain)]
NSManagedObjectContext ManagedObjectContext { get; }
[Export ("managedObjectModel", ArgumentSemantic.Retain)]
NSManagedObjectModel ManagedObjectModel { get; }
[Export ("persistentStoreOptions", ArgumentSemantic.Copy)]
NSDictionary PersistentStoreOptions { get; set; }
[Export ("modelConfiguration", ArgumentSemantic.Copy)]
string ModelConfiguration { get; set; }
[Static]
[Export ("persistentStoreName")]
string PersistentStoreName { get; }
[Export ("configurePersistentStoreCoordinatorForURL:ofType:modelConfiguration:storeOptions:error:")]
bool ConfigurePersistentStoreCoordinator (NSUrl storeURL, string fileType, string configuration, NSDictionary storeOptions, NSError error);
[Export ("persistentStoreTypeForFileType:")]
string GetPersistentStoreType (string fileType);
[Export ("readAdditionalContentFromURL:error:")]
bool ReadAdditionalContent (NSUrl absoluteURL, out NSError error);
[Export ("additionalContentForURL:error:")]
NSObject AdditionalContent (NSUrl absoluteURL, out NSError error);
[Export ("writeAdditionalContent:toURL:originalContentsURL:error:")]
bool WriteAdditionalContent (NSObject content, NSUrl absoluteURL, NSUrl absoluteOriginalContentsURL, out NSError error);
}
[NoTV]
[BaseType (typeof (NSObject))]
interface UIMenuController {
2016-04-21 15:30:02 +03:00
[Static, Export ("sharedMenuController")]
UIMenuController SharedMenuController { get; }
[Export ("menuVisible")]
bool MenuVisible { [Bind ("isMenuVisible")] get; set; }
[Export ("setMenuVisible:animated:")]
void SetMenuVisible (bool visible, bool animated);
[Export ("setTargetRect:inView:")]
void SetTargetRect (CGRect rect, UIView inView);
[Export ("update")]
void Update ();
[Export ("menuFrame")]
CGRect MenuFrame { get; }
[Since (3,2)]
[Export ("arrowDirection")]
UIMenuControllerArrowDirection ArrowDirection { get; set; }
[Since (3,2)]
[NullAllowed] // by default this property is null
[Export ("menuItems", ArgumentSemantic.Copy)]
UIMenuItem [] MenuItems { get; set; }
[Field ("UIMenuControllerWillShowMenuNotification")]
[Notification]
NSString WillShowMenuNotification { get; }
[Field ("UIMenuControllerDidShowMenuNotification")]
[Notification]
NSString DidShowMenuNotification { get; }
[Field ("UIMenuControllerWillHideMenuNotification")]
[Notification]
NSString WillHideMenuNotification { get; }
[Field ("UIMenuControllerDidHideMenuNotification")]
[Notification]
NSString DidHideMenuNotification { get; }
[Field ("UIMenuControllerMenuFrameDidChangeNotification")]
[Notification]
NSString MenuFrameDidChangeNotification { get; }
}
[NoTV]
[Since (3,2)]
[BaseType (typeof (NSObject))]
interface UIMenuItem {
2016-04-21 15:30:02 +03:00
[DesignatedInitializer] // TODO: Add an overload that takes an Action maybe?
[Export ("initWithTitle:action:")]
IntPtr Constructor (string title, Selector action);
[NullAllowed] // by default this property is null
[Export ("title", ArgumentSemantic.Copy)]
string Title { get; set; }
[NullAllowed] // by default this property is null
[Export ("action")]
Selector Action { get; set; }
}
[BaseType (typeof (UIView))]
interface UINavigationBar : UIBarPositioning, NSCoding {
2016-04-21 15:30:02 +03:00
[Export ("initWithFrame:")]
IntPtr Constructor (CGRect frame);
[NoTV]
// [Appearance] rdar://22818366
2016-06-20 04:53:43 +03:00
[Appearance]
2016-04-21 15:30:02 +03:00
[Export ("barStyle", ArgumentSemantic.Assign)]
UIBarStyle BarStyle { get; set; }
[Export ("delegate", ArgumentSemantic.Assign)][NullAllowed]
NSObject WeakDelegate { get; set; }
[Wrap ("WeakDelegate")]
[Protocolize]
UINavigationBarDelegate Delegate { get; set; }
[Appearance]
[Export ("translucent", ArgumentSemantic.Assign)]
bool Translucent { [Bind ("isTranslucent")] get; set; }
[Export ("pushNavigationItem:animated:")]
[PostGet ("Items")] // that will [PostGet] TopItem too
void PushNavigationItem (UINavigationItem item, bool animated);
[Export ("popNavigationItemAnimated:")]
[PostGet ("Items")] // that will [PostGet] TopItem too
#if XAMCORE_2_0
UINavigationItem PopNavigationItem (bool animated);
#else
UINavigationItem PopNavigationItemAnimated (bool animated);
#endif
[Export ("topItem", ArgumentSemantic.Retain)]
UINavigationItem TopItem { get; }
[Export ("backItem", ArgumentSemantic.Retain)]
UINavigationItem BackItem { get; }
[Export ("items", ArgumentSemantic.Copy)]
[PostGet ("TopItem")]
UINavigationItem [] Items { get; set; }
[Export ("setItems:animated:")]
[PostGet ("Items")] // that will [PostGet] TopItem too
void SetItems (UINavigationItem [] items, bool animated);
[Since (5,0)]
[NullAllowed] // by default this property is null
[Export ("titleTextAttributes", ArgumentSemantic.Copy), Internal]
[Appearance]
NSDictionary _TitleTextAttributes { get; set; }
[Wrap ("_TitleTextAttributes")]
[Appearance]
UIStringAttributes TitleTextAttributes { get; set; }
[Since (5,0)]
[Export ("setBackgroundImage:forBarMetrics:")]
[Appearance]
void SetBackgroundImage ([NullAllowed] UIImage backgroundImage, UIBarMetrics barMetrics);
[Since (5,0)]
[Export ("backgroundImageForBarMetrics:")]
[Appearance]
UIImage GetBackgroundImage (UIBarMetrics forBarMetrics);
[Since (5,0)]
[Export ("setTitleVerticalPositionAdjustment:forBarMetrics:")]
[Appearance]
void SetTitleVerticalPositionAdjustment (nfloat adjustment, UIBarMetrics barMetrics);
[Since (5,0)]
[Export ("titleVerticalPositionAdjustmentForBarMetrics:")]
[Appearance]
nfloat GetTitleVerticalPositionAdjustment (UIBarMetrics barMetrics);
//
// 6.0
//
[Since(6,0)]
[Appearance]
[NullAllowed]
[Export ("shadowImage", ArgumentSemantic.Retain)]
UIImage ShadowImage { get; set; }
//
// 7.0
//
[Since (7,0)]
[Appearance]
[NullAllowed]
[Export ("barTintColor", ArgumentSemantic.Retain)]
UIColor BarTintColor { get; set; }
[NoTV]
[Since (7,0)]
[Appearance]
[NullAllowed]
[Export ("backIndicatorImage", ArgumentSemantic.Retain)]
UIImage BackIndicatorImage { get; set; }
[NoTV]
[Since (7,0)]
[Appearance]
[NullAllowed]
[Export ("backIndicatorTransitionMaskImage", ArgumentSemantic.Retain)]
UIImage BackIndicatorTransitionMaskImage { get; set; }
[Since (7,0)]
[Appearance]
[Export ("setBackgroundImage:forBarPosition:barMetrics:")]
void SetBackgroundImage ([NullAllowed] UIImage backgroundImage, UIBarPosition barPosition, UIBarMetrics barMetrics);
[Since (7,0)]
[Appearance]
[Export ("backgroundImageForBarPosition:barMetrics:")]
UIImage GetBackgroundImage (UIBarPosition barPosition, UIBarMetrics barMetrics);
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
[NoTV]
[iOS (11,0)]
[Export ("prefersLargeTitles")]
bool PrefersLargeTitles { get; set; }
[NoTV]
[iOS (11,0)]
[Internal, NullAllowed, Export ("largeTitleTextAttributes", ArgumentSemantic.Copy)]
[Appearance]
NSDictionary _LargeTitleTextAttributes { get; set; }
[NoTV]
[iOS (11,0)]
[Wrap ("_LargeTitleTextAttributes")]
[Appearance]
UIStringAttributes LargeTitleTextAttributes { get; set; }
2016-04-21 15:30:02 +03:00
}
[BaseType (typeof (UIBarPositioningDelegate))]
[Model]
[Protocol]
interface UINavigationBarDelegate {
2016-04-21 15:30:02 +03:00
[Export ("navigationBar:didPopItem:")]
void DidPopItem (UINavigationBar navigationBar, UINavigationItem item);
[Export ("navigationBar:shouldPopItem:")]
bool ShouldPopItem (UINavigationBar navigationBar, UINavigationItem item);
[Export ("navigationBar:didPushItem:")]
void DidPushItem (UINavigationBar navigationBar, UINavigationItem item);
[Export ("navigationBar:shouldPushItem:")]
bool ShouldPushItem (UINavigationBar navigationBar, UINavigationItem item);
}
[BaseType (typeof (NSObject))]
interface UINavigationItem : NSCoding {
2016-04-21 15:30:02 +03:00
[DesignatedInitializer]
[Export ("initWithTitle:")]
IntPtr Constructor (string title);
[NullAllowed] // by default this property is null
[Export ("title", ArgumentSemantic.Copy)]
string Title { get; set; }
[NoTV]
[NullAllowed] // by default this property is null
[Export ("backBarButtonItem", ArgumentSemantic.Retain)]
UIBarButtonItem BackBarButtonItem { get; set; }
[Export ("titleView", ArgumentSemantic.Retain), NullAllowed]
UIView TitleView { get; [NullAllowed] set; }
[NoTV]
[Export ("prompt", ArgumentSemantic.Copy), NullAllowed]
string Prompt { get; set; }
[NoTV]
[Export ("hidesBackButton", ArgumentSemantic.Assign)]
bool HidesBackButton { get; set; }
[NoTV]
[Export ("setHidesBackButton:animated:")]
void SetHidesBackButton (bool hides, bool animated);
[Export ("leftBarButtonItem", ArgumentSemantic.Retain)][NullAllowed]
UIBarButtonItem LeftBarButtonItem {
get;
// only on the setter to avoid endless recursion
[PostGet ("LeftBarButtonItems")]
set;
}
[Export ("rightBarButtonItem", ArgumentSemantic.Retain)][NullAllowed]
UIBarButtonItem RightBarButtonItem {
get;
// only on the setter to avoid endless recursion
[PostGet ("RightBarButtonItems")]
set;
}
[Export ("setLeftBarButtonItem:animated:")][PostGet ("LeftBarButtonItem")]
void SetLeftBarButtonItem ([NullAllowed] UIBarButtonItem item, bool animated);
[Export ("setRightBarButtonItem:animated:")][PostGet ("RightBarButtonItem")]
void SetRightBarButtonItem ([NullAllowed] UIBarButtonItem item, bool animated);
[Since (5,0)]
[NullAllowed] // by default this property is null
[Export ("leftBarButtonItems", ArgumentSemantic.Copy)]
[PostGet ("LeftBarButtonItem")]
UIBarButtonItem [] LeftBarButtonItems { get; set; }
[Since (5,0)]
[NullAllowed] // by default this property is null
[Export ("rightBarButtonItems", ArgumentSemantic.Copy)]
[PostGet ("RightBarButtonItem")]
UIBarButtonItem [] RightBarButtonItems { get; set; }
[NoTV]
[Since (5,0)]
[Export ("leftItemsSupplementBackButton")]
bool LeftItemsSupplementBackButton { get; set; }
[Since (5,0)]
[Export ("setLeftBarButtonItems:animated:")][PostGet ("LeftBarButtonItems")]
void SetLeftBarButtonItems (UIBarButtonItem [] items, bool animated);
[Since (5,0)]
[Export ("setRightBarButtonItems:animated:")][PostGet ("RightBarButtonItems")]
void SetRightBarButtonItems (UIBarButtonItem [] items, bool animated);
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
[NoTV]
[iOS (11,0)]
[Export ("largeTitleDisplayMode", ArgumentSemantic.Assign)]
UINavigationItemLargeTitleDisplayMode LargeTitleDisplayMode { get; set; }
[NoTV]
[iOS (11,0)]
[NullAllowed, Export ("searchController", ArgumentSemantic.Retain)]
UISearchController SearchController { get; set; }
[NoTV]
[iOS (11,0)]
[Export ("hidesSearchBarWhenScrolling")]
bool HidesSearchBarWhenScrolling { get; set; }
2016-04-21 15:30:02 +03:00
}
[BaseType (typeof (UIViewController))]
interface UINavigationController {
2016-04-21 15:30:02 +03:00
[Export ("initWithNibName:bundle:")]
[PostGet ("ViewControllers")] // that will PostGet TopViewController and VisibleViewController too
IntPtr Constructor ([NullAllowed] string nibName, [NullAllowed] NSBundle bundle);
[Internal, Export ("initWithNavigationBarClass:toolbarClass:")]
IntPtr Constructor (IntPtr navigationBarClass, IntPtr toolbarClass);
[Export ("initWithRootViewController:")]
[PostGet ("ViewControllers")] // that will PostGet TopViewController and VisibleViewController too
IntPtr Constructor (UIViewController rootViewController);
[Export ("pushViewController:animated:")]
[PostGet ("ViewControllers")] // that will PostGet TopViewController and VisibleViewController too
void PushViewController (UIViewController viewController, bool animated);
[Export ("popViewControllerAnimated:")]
[PostGet ("ViewControllers")] // that will PostGet TopViewController and VisibleViewController too
#if XAMCORE_2_0
UIViewController PopViewController (bool animated);
#else
UIViewController PopViewControllerAnimated (bool animated);
#endif
[Export ("popToViewController:animated:")]
[PostGet ("ViewControllers")] // that will PostGet TopViewController and VisibleViewController too
UIViewController [] PopToViewController (UIViewController viewController, bool animated);
[Export ("popToRootViewControllerAnimated:")]
[PostGet ("ViewControllers")] // that will PostGet TopViewController and VisibleViewController too
UIViewController [] PopToRootViewController (bool animated);
[Export ("topViewController", ArgumentSemantic.Retain)]
[Transient] // it's always part of ViewControllers
UIViewController TopViewController { get; }
[Export ("visibleViewController", ArgumentSemantic.Retain)]
[Transient] // it's always part of ViewControllers
UIViewController VisibleViewController { get; }
[Export ("viewControllers", ArgumentSemantic.Copy)]
[PostGet ("ChildViewControllers")] // for base backing field
[NullAllowed]
UIViewController [] ViewControllers { get; set; }
[Export ("setViewControllers:animated:")]
[PostGet ("ViewControllers")] // that will PostGet TopViewController and VisibleViewController too
void SetViewControllers ([NullAllowed] UIViewController [] controllers, bool animated);
[Export ("navigationBarHidden")]
bool NavigationBarHidden { [Bind ("isNavigationBarHidden")] get ; set; }
[Export ("setNavigationBarHidden:animated:")]
void SetNavigationBarHidden (bool hidden, bool animated);
[Export ("navigationBar")]
UINavigationBar NavigationBar { get; }
[NoTV]
[Export ("toolbarHidden")]
bool ToolbarHidden { [Bind ("isToolbarHidden")] get; set; }
[NoTV]
[Export ("setToolbarHidden:animated:")]
void SetToolbarHidden (bool hidden, bool animated);
[NoTV]
[Export ("toolbar")]
UIToolbar Toolbar { get; }
[Export ("delegate", ArgumentSemantic.Assign)][NullAllowed]
NSObject WeakDelegate { get; set; }
[Wrap ("WeakDelegate")]
[Protocolize]
UINavigationControllerDelegate Delegate { get; set; }
[Field ("UINavigationControllerHideShowBarDuration")]
nfloat HideShowBarDuration { get; }
[NoTV]
[Since (7,0)]
[Export ("interactivePopGestureRecognizer", ArgumentSemantic.Copy)]
UIGestureRecognizer InteractivePopGestureRecognizer { get; }
[NoTV]
[iOS (8,0)]
[Export ("hidesBarsWhenVerticallyCompact", ArgumentSemantic.UnsafeUnretained)]
bool HidesBarsWhenVerticallyCompact { get; set; }
[NoTV]
[iOS (8,0)]
[Export ("hidesBarsOnTap", ArgumentSemantic.UnsafeUnretained)]
bool HidesBarsOnTap { get; set; }
[iOS (8,0)]
[Export ("showViewController:sender:")]
void ShowViewController (UIViewController vc, [NullAllowed] NSObject sender);
[NoTV]
[iOS (8,0)]
[Export ("hidesBarsWhenKeyboardAppears", ArgumentSemantic.UnsafeUnretained)]
bool HidesBarsWhenKeyboardAppears { get; set; }
[NoTV]
[iOS (8,0)]
[Export ("hidesBarsOnSwipe", ArgumentSemantic.UnsafeUnretained)]
bool HidesBarsOnSwipe { get; set; }
[NoTV]
[iOS (8,0)]
[Export ("barHideOnSwipeGestureRecognizer", ArgumentSemantic.Retain)]
UIPanGestureRecognizer BarHideOnSwipeGestureRecognizer { get; }
[NoTV]
[iOS (8,0)]
[Export ("barHideOnTapGestureRecognizer", ArgumentSemantic.UnsafeUnretained)]
UITapGestureRecognizer BarHideOnTapGestureRecognizer { get; }
}
[BaseType (typeof (NSObject))]
[Model]
[Protocol]
interface UINavigationControllerDelegate {
2016-04-21 15:30:02 +03:00
[Export ("navigationController:willShowViewController:animated:"), EventArgs ("UINavigationController")]
void WillShowViewController (UINavigationController navigationController, [Transient] UIViewController viewController, bool animated);
[Export ("navigationController:didShowViewController:animated:"), EventArgs ("UINavigationController")]
void DidShowViewController (UINavigationController navigationController, [Transient] UIViewController viewController, bool animated);
[NoTV]
[Since(7,0)]
[Export ("navigationControllerSupportedInterfaceOrientations:")]
[NoDefaultValue]
[DelegateName ("Func<UINavigationController,UIInterfaceOrientationMask>")]
UIInterfaceOrientationMask SupportedInterfaceOrientations (UINavigationController navigationController);
[NoTV]
[Since(7,0)]
[Export ("navigationControllerPreferredInterfaceOrientationForPresentation:")]
[DelegateName ("Func<UINavigationController,UIInterfaceOrientation>")]
[NoDefaultValue]
UIInterfaceOrientation GetPreferredInterfaceOrientation (UINavigationController navigationController);
[Since (7,0)]
[Export ("navigationController:interactionControllerForAnimationController:")]
[DelegateName ("Func<UINavigationController,IUIViewControllerAnimatedTransitioning,IUIViewControllerInteractiveTransitioning>")]
[NoDefaultValue]
IUIViewControllerInteractiveTransitioning GetInteractionControllerForAnimationController (UINavigationController navigationController, IUIViewControllerAnimatedTransitioning animationController);
[Since (7,0)]
[Export ("navigationController:animationControllerForOperation:fromViewController:toViewController:")]
[DelegateName ("Func<UINavigationController,UINavigationControllerOperation,UIViewController,UIViewController,IUIViewControllerAnimatedTransitioning>")]
[NoDefaultValue]
IUIViewControllerAnimatedTransitioning GetAnimationControllerForOperation (UINavigationController navigationController, UINavigationControllerOperation operation, UIViewController fromViewController, UIViewController toViewController);
}
[BaseType (typeof (NSObject))]
interface UINib {
2016-04-21 15:30:02 +03:00
// note: the default `init` does not seems to create anything that can be used - but it does not crash when used
[Static]
[Export ("nibWithNibName:bundle:")]
UINib FromName (string name, [NullAllowed] NSBundle bundleOrNil);
[Static]
[Export ("nibWithData:bundle:")]
UINib FromData (NSData data, [NullAllowed] NSBundle bundleOrNil);
[Export ("instantiateWithOwner:options:")]
NSObject [] Instantiate ([NullAllowed] NSObject ownerOrNil, [NullAllowed] NSDictionary optionsOrNil);
[Field ("UINibExternalObjects")]
NSString ExternalObjectsKey { get; }
}
[BaseType (typeof (UIControl))]
interface UIPageControl : UIAppearance {
2016-04-21 15:30:02 +03:00
[Export ("initWithFrame:")]
IntPtr Constructor (CGRect frame);
[Export ("numberOfPages")]
nint Pages { get; set; }
[Export ("currentPage")]
nint CurrentPage { get; set; }
[Export ("hidesForSinglePage")]
bool HidesForSinglePage { get; set; }
[Export ("defersCurrentPageDisplay")]
bool DefersCurrentPageDisplay { get; set; }
[Export ("updateCurrentPageDisplay")]
void UpdateCurrentPageDisplay ();
[Export ("sizeForNumberOfPages:")]
CGSize SizeForNumberOfPages (nint pageCount);
[Since(6,0)]
[Appearance]
[NullAllowed]
[Export ("pageIndicatorTintColor", ArgumentSemantic.Retain)]
UIColor PageIndicatorTintColor { get; set; }
[Since(6,0)]
[Appearance]
[NullAllowed]
[Export ("currentPageIndicatorTintColor", ArgumentSemantic.Retain)]
UIColor CurrentPageIndicatorTintColor { get; set; }
}
[Since (5,0)]
[BaseType (typeof (UIViewController),
Delegates = new string [] { "WeakDelegate", "WeakDataSource" },
Events = new Type [] { typeof (UIPageViewControllerDelegate), typeof (UIPageViewControllerDataSource)} )]
interface UIPageViewController : NSCoding {
[Export ("initWithNibName:bundle:")]
[PostGet ("NibBundle")]
IntPtr Constructor ([NullAllowed] string nibName, [NullAllowed] NSBundle bundle);
[Export ("delegate", ArgumentSemantic.Assign), NullAllowed]
NSObject WeakDelegate { get; set; }
[Wrap ("WeakDelegate")]
[Protocolize]
UIPageViewControllerDelegate Delegate { get; set; }
[Export ("dataSource", ArgumentSemantic.Assign), NullAllowed]
NSObject WeakDataSource { get; set; }
[Wrap ("WeakDataSource")]
[Protocolize]
UIPageViewControllerDataSource DataSource { get; set; }
[Export ("transitionStyle")]
UIPageViewControllerTransitionStyle TransitionStyle { get; }
[Export ("navigationOrientation")]
UIPageViewControllerNavigationOrientation NavigationOrientation { get; }
[Export ("spineLocation")]
UIPageViewControllerSpineLocation SpineLocation { get; }
[Export ("doubleSided")]
bool DoubleSided { [Bind ("isDoubleSided")] get; set; }
[Export ("gestureRecognizers")]
UIGestureRecognizer [] GestureRecognizers { get; }
[Export ("viewControllers")]
UIViewController [] ViewControllers { get; }
[DesignatedInitializer]
[Export ("initWithTransitionStyle:navigationOrientation:options:")]
IntPtr Constructor (UIPageViewControllerTransitionStyle style, UIPageViewControllerNavigationOrientation navigationOrientation, NSDictionary options);
[Export ("setViewControllers:direction:animated:completion:")]
[PostGet ("ViewControllers")]
[Async]
void SetViewControllers (UIViewController [] viewControllers, UIPageViewControllerNavigationDirection direction, bool animated, [NullAllowed] UICompletionHandler completionHandler);
[Field ("UIPageViewControllerOptionSpineLocationKey")]
NSString OptionSpineLocationKey { get; }
[Since (6,0)]
[Internal, Field ("UIPageViewControllerOptionInterPageSpacingKey")]
NSString OptionInterPageSpacingKey { get; }
}
[Since (5,0)]
[BaseType (typeof (NSObject))]
[Model]
[Protocol]
interface UIPageViewControllerDelegate {
[Export ("pageViewController:didFinishAnimating:previousViewControllers:transitionCompleted:"), EventArgs ("UIPageViewFinishedAnimation")]
void DidFinishAnimating (UIPageViewController pageViewController, bool finished, UIViewController [] previousViewControllers, bool completed);
[NoTV]
[Export ("pageViewController:spineLocationForInterfaceOrientation:"), DelegateName ("UIPageViewSpineLocationCallback")]
[DefaultValue(UIPageViewControllerSpineLocation.Mid)]
UIPageViewControllerSpineLocation GetSpineLocation (UIPageViewController pageViewController, UIInterfaceOrientation orientation);
[Since(6,0)]
[Export ("pageViewController:willTransitionToViewControllers:"), EventArgs ("UIPageViewControllerTransition")]
void WillTransition (UIPageViewController pageViewController, UIViewController [] pendingViewControllers);
[NoTV]
[Since (7,0)]
[Export ("pageViewControllerSupportedInterfaceOrientations:")][DelegateName ("Func<UIPageViewController,UIInterfaceOrientationMask>")][DefaultValue (UIInterfaceOrientationMask.All)]
UIInterfaceOrientationMask SupportedInterfaceOrientations (UIPageViewController pageViewController);
[NoTV]
[Since (7,0)]
[Export ("pageViewControllerPreferredInterfaceOrientationForPresentation:")][DelegateName ("Func<UIPageViewController,UIInterfaceOrientation>")][DefaultValue (UIInterfaceOrientation.Portrait)]
UIInterfaceOrientation GetPreferredInterfaceOrientationForPresentation (UIPageViewController pageViewController);
}
[Since (5,0)]
[BaseType (typeof (NSObject))]
[Model]
[Protocol]
interface UIPageViewControllerDataSource {
[Abstract]
[Export ("pageViewController:viewControllerBeforeViewController:"), DelegateName ("UIPageViewGetViewController"), DefaultValue (null)]
UIViewController GetPreviousViewController (UIPageViewController pageViewController, UIViewController referenceViewController);
[Abstract]
[Export ("pageViewController:viewControllerAfterViewController:"), DelegateName ("UIPageViewGetViewController"), DefaultValue (null)]
UIViewController GetNextViewController (UIPageViewController pageViewController, UIViewController referenceViewController);
[Since (6,0)]
[Export ("presentationCountForPageViewController:"), DelegateName ("UIPageViewGetNumber"), DefaultValue (1)]
nint GetPresentationCount (UIPageViewController pageViewController);
[Since (6,0)]
[Export ("presentationIndexForPageViewController:"), DelegateName ("UIPageViewGetNumber"), DefaultValue (1)]
nint GetPresentationIndex (UIPageViewController pageViewController);
}
[NoTV]
interface UIPasteboardChangeEventArgs {
[Export ("UIPasteboardChangedTypesAddedKey")]
string [] TypesAdded { get; }
[Export ("UIPasteboardChangedTypesRemovedKey")]
string [] TypesRemoved { get; }
}
[NoTV]
[BaseType (typeof (NSObject))]
// Objective-C exception thrown. Name: NSInternalInconsistencyException Reason: Calling -[UIPasteboard init] is not allowed.
[DisableDefaultCtor]
interface UIPasteboard {
2016-04-21 15:30:02 +03:00
[Export ("generalPasteboard")][Static]
UIPasteboard General { get; }
[Export ("pasteboardWithName:create:")][Static]
UIPasteboard FromName (string name, bool create);
[Export ("pasteboardWithUniqueName")][Static]
UIPasteboard GetUnique ();
[Export ("name")]
string Name { get; }
[Export ("removePasteboardWithName:"), Static]
void Remove (string name);
[Export ("persistent")]
bool Persistent { [Bind ("isPersistent")] get;
[Deprecated (PlatformName.iOS, 10, 0)] set; }
2016-04-21 15:30:02 +03:00
[Export ("changeCount")]
nint ChangeCount { get; }
[Export ("pasteboardTypes")]
string [] Types { get; }
[Export ("containsPasteboardTypes:")]
bool Contains (string [] pasteboardTypes);
[Export ("dataForPasteboardType:")]
NSData DataForPasteboardType (string pasteboardType);
[Export ("valueForPasteboardType:")]
NSObject GetValue (string pasteboardType);
[Export ("setValue:forPasteboardType:")]
void SetValue (NSObject value, string pasteboardType);
[Export ("setData:forPasteboardType:")]
void SetData (NSData data, string forPasteboardType);
[Export ("numberOfItems")]
nint Count { get; }
#if XAMCORE_4_0
[Export ("pasteboardTypesForItemSet:")]
NSArray<NSString> [] GetPasteBoardTypes (NSIndexSet itemSet);
#else
2016-04-21 15:30:02 +03:00
[Export ("pasteboardTypesForItemSet:")]
NSArray [] PasteBoardTypesForSet (NSIndexSet itemSet);
#endif
2016-04-21 15:30:02 +03:00
[Export ("containsPasteboardTypes:inItemSet:")]
bool Contains (string [] pasteboardTypes, [NullAllowed] NSIndexSet itemSet);
[Export ("itemSetWithPasteboardTypes:")]
NSIndexSet ItemSetWithPasteboardTypes (string [] pasteboardTypes);
[Export ("valuesForPasteboardType:inItemSet:")]
NSData [] GetValuesForPasteboardType (string pasteboardType, NSIndexSet itemSet);
[Export ("dataForPasteboardType:inItemSet:")]
NSData [] GetDataForPasteboardType (string pasteboardType, NSIndexSet itemSet);
[Export ("items", ArgumentSemantic.Copy)]
NSDictionary [] Items { get; set; }
[Export ("addItems:")]
void AddItems (NSDictionary [] items);
[Field ("UIPasteboardChangedNotification")]
[Notification (typeof (UIPasteboardChangeEventArgs))]
NSString ChangedNotification { get; }
[Field ("UIPasteboardChangedTypesAddedKey")]
NSString ChangedTypesAddedKey { get; }
[Field ("UIPasteboardChangedTypesRemovedKey")]
NSString ChangedTypesRemovedKey { get; }
[Field ("UIPasteboardRemovedNotification")]
[Notification (typeof (UIPasteboardChangeEventArgs))]
NSString RemovedNotification { get; }
[Field ("UIPasteboardTypeListString")]
NSArray TypeListString { get; }
[Field ("UIPasteboardTypeListURL")]
NSArray TypeListURL { get; }
[Field ("UIPasteboardTypeListImage")]
NSArray TypeListImage { get; }
[Field ("UIPasteboardTypeListColor")]
NSArray TypeListColor { get; }
[iOS (10,0), NoWatch]
[Field ("UIPasteboardTypeAutomatic")]
NSString Automatic { get; }
2016-04-21 15:30:02 +03:00
[NullAllowed]
[Export ("string", ArgumentSemantic.Copy)]
string String { get; set; }
[NullAllowed]
[Export ("strings", ArgumentSemantic.Copy)]
string [] Strings { get; set; }
[NullAllowed]
[Export ("URL", ArgumentSemantic.Copy)]
NSUrl Url { get; set; }
[NullAllowed]
[Export ("URLs", ArgumentSemantic.Copy)]
NSUrl [] Urls { get; set; }
[NullAllowed]
[Export ("image", ArgumentSemantic.Copy)]
UIImage Image { get; set; }
// images bound manually (as it does not always returns UIImage)
[NullAllowed]
[Export ("color", ArgumentSemantic.Copy)]
UIColor Color { get; set; }
[NullAllowed]
[Export ("colors", ArgumentSemantic.Copy)]
UIColor [] Colors { get; set; }
2016-06-20 04:53:43 +03:00
[iOS (10,0)]
[Export ("setItems:options:")]
void SetItems (NSDictionary<NSString, NSObject>[] items, NSDictionary options);
2016-06-20 04:53:43 +03:00
#if !TVOS
[iOS (10,0)]
[Wrap ("SetItems (items, pasteboardOptions?.Dictionary)")]
void SetItems (NSDictionary<NSString, NSObject> [] items, UIPasteboardOptions pasteboardOptions);
#endif
2016-06-20 04:53:43 +03:00
[NoWatch, NoTV, iOS (10, 0)]
[Export ("hasStrings")]
bool HasStrings { get; }
[NoWatch, NoTV, iOS (10, 0)]
[Export ("hasURLs")]
bool HasUrls { get; }
2016-06-20 04:53:43 +03:00
[NoWatch, NoTV, iOS (10, 0)]
[Export ("hasImages")]
bool HasImages { get; }
[NoWatch, NoTV, iOS (10, 0)]
[Export ("hasColors")]
bool HasColors { 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
[NoWatch, NoTV, iOS (11,0)]
[Export ("itemProviders", ArgumentSemantic.Copy)]
NSItemProvider[] ItemProviders { get; set; }
[NoWatch, NoTV, iOS (11,0)]
[Export ("setItemProviders:localOnly:expirationDate:")]
void SetItemProviders (NSItemProvider[] itemProviders, bool localOnly, [NullAllowed] NSDate expirationDate);
[NoWatch, NoTV, iOS (11,0)]
[Export ("setObjects:")]
void SetObjects (INSItemProviderWriting[] objects);
[NoWatch, NoTV, iOS (11,0)]
[Export ("setObjects:localOnly:expirationDate:")]
void SetObjects (INSItemProviderWriting[] objects, bool localOnly, [NullAllowed] NSDate expirationDate);
2016-04-21 15:30:02 +03:00
}
[NoTV]
[Static]
interface UIPasteboardNames {
[Field ("UIPasteboardNameGeneral")]
NSString General { get; }
[Deprecated (PlatformName.iOS, 10, 0, message: "The 'Find' pasteboard is no longer available.")]
2016-04-21 15:30:02 +03:00
[Field ("UIPasteboardNameFind")]
NSString Find { get; }
}
#if !TVOS
[NoWatch, NoTV, iOS (10, 0)]
[StrongDictionary ("UIPasteboardOptionKeys")]
interface UIPasteboardOptions {
NSDate ExpirationDate { get; set; }
bool LocalOnly { get; set; }
}
#endif
[NoWatch, NoTV, iOS (10,0)]
[Static]
interface UIPasteboardOptionKeys {
[Field ("UIPasteboardOptionExpirationDate")]
NSString ExpirationDateKey { get; }
[Field ("UIPasteboardOptionLocalOnly")]
NSString LocalOnlyKey { get; }
}
2016-04-21 15:30:02 +03:00
[NoTV]
[BaseType (typeof (UIView), Delegates=new string [] { "WeakDelegate" })]
interface UIPickerView {
2016-04-21 15:30:02 +03:00
[Export ("initWithFrame:")]
IntPtr Constructor (CGRect frame);
[NullAllowed] // by default this property is null
[Export ("dataSource", ArgumentSemantic.Assign)]
#if XAMCORE_4_0
IUIPickerViewDataSource DataSource { get; set; }
#else
// should have been WeakDataSource
2016-04-21 15:30:02 +03:00
NSObject DataSource { get; set; }
#endif
2016-04-21 15:30:02 +03:00
[Export ("delegate", ArgumentSemantic.Assign)][NullAllowed]
NSObject WeakDelegate { get; set; }
[Wrap ("WeakDelegate")]
[Protocolize]
UIPickerViewDelegate Delegate { get; set; }
[Export ("showsSelectionIndicator")]
bool ShowSelectionIndicator { get; set; }
[Export ("numberOfComponents")]
nint NumberOfComponents { get; }
[Export ("numberOfRowsInComponent:")]
nint RowsInComponent (nint component);
[Export ("rowSizeForComponent:")]
CGSize RowSizeForComponent (nint component);
[Export ("viewForRow:forComponent:")]
UIView ViewFor (nint row, nint component);
[Export ("reloadAllComponents")]
void ReloadAllComponents ();
[Export ("reloadComponent:")]
void ReloadComponent (nint component);
[Export ("selectRow:inComponent:animated:")]
void Select (nint row, nint component, bool animated);
[Export ("selectedRowInComponent:")]
nint SelectedRowInComponent (nint component);
// UITableViewDataSource - only implements the two required members
// inlined both + UIPickerView.cs implements IUITableViewDataSource
[Export ("tableView:numberOfRowsInSection:")]
#if XAMCORE_4_0
nint RowsInSection (UITableView tableView, nint section);
#else
nint RowsInSection (UITableView tableview, nint section);
#endif
2016-04-21 15:30:02 +03:00
[Export ("tableView:cellForRowAtIndexPath:")]
UITableViewCell GetCell (UITableView tableView, NSIndexPath indexPath);
}
[NoTV]
[BaseType (typeof (NSObject))]
[Model]
[Protocol]
interface UIPickerViewDelegate {
2016-04-21 15:30:02 +03:00
[Export ("pickerView:rowHeightForComponent:")]
nfloat GetRowHeight (UIPickerView pickerView, nint component);
[Export ("pickerView:widthForComponent:")]
nfloat GetComponentWidth (UIPickerView pickerView, nint component);
[Export ("pickerView:titleForRow:forComponent:")]
string GetTitle (UIPickerView pickerView, nint row, nint component);
[Export ("pickerView:viewForRow:forComponent:reusingView:")]
UIView GetView (UIPickerView pickerView, nint row, nint component, UIView view);
[Export ("pickerView:didSelectRow:inComponent:")]
void Selected (UIPickerView pickerView, nint row, nint component);
[Since (6,0)]
[Export ("pickerView:attributedTitleForRow:forComponent:")]
NSAttributedString GetAttributedTitle (UIPickerView pickerView, nint row, nint component);
}
[NoTV]
[Protocol, Model]
[BaseType (typeof (UIPickerViewDelegate))]
interface UIPickerViewAccessibilityDelegate {
[Export ("pickerView:accessibilityLabelForComponent:")]
string GetAccessibilityLabel (UIPickerView pickerView, nint acessibilityLabelForComponent);
[Export ("pickerView:accessibilityHintForComponent:")]
string GetAccessibilityHint (UIPickerView pickerView, nint component);
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
[TV (11,0), iOS (11,0)]
[Export ("pickerView:accessibilityAttributedLabelForComponent:")]
[return: NullAllowed]
NSAttributedString GetAccessibilityAttributedLabel (UIPickerView pickerView, nint component);
[TV (11,0), iOS (11,0)]
[Export ("pickerView:accessibilityAttributedHintForComponent:")]
[return: NullAllowed]
NSAttributedString GetAccessibilityAttributedHint (UIPickerView pickerView, nint component);
2016-04-21 15:30:02 +03:00
}
[NoTV]
[BaseType (typeof (NSObject))]
[Model]
[Protocol]
interface UIPickerViewDataSource {
2016-04-21 15:30:02 +03:00
[Export ("numberOfComponentsInPickerView:")]
[Abstract]
nint GetComponentCount (UIPickerView pickerView);
[Export ("pickerView:numberOfRowsInComponent:")]
[Abstract]
nint GetRowsInComponent (UIPickerView pickerView, nint component);
}
[NoTV]
[BaseType (typeof (NSObject))]
[Model]
[Protocol (IsInformal = true)]
interface UIPickerViewModel : UIPickerViewDataSource, UIPickerViewDelegate {
2016-04-21 15:30:02 +03:00
}
[iOS (8,0)]
[BaseType (typeof (NSObject))]
[Model]
[Protocol]
partial interface UIContentContainer {
2016-04-21 15:30:02 +03:00
[Abstract]
[Export ("preferredContentSize")]
CGSize PreferredContentSize { get; }
[Abstract]
[Export ("preferredContentSizeDidChangeForChildContentContainer:")]
void PreferredContentSizeDidChangeForChildContentContainer (IUIContentContainer container);
[Abstract]
[Export ("systemLayoutFittingSizeDidChangeForChildContentContainer:")]
void SystemLayoutFittingSizeDidChangeForChildContentContainer (IUIContentContainer container);
[Abstract]
[Export ("sizeForChildContentContainer:withParentContainerSize:")]
CGSize GetSizeForChildContentContainer (IUIContentContainer contentContainer, CGSize parentContainerSize);
[Abstract]
[Export ("viewWillTransitionToSize:withTransitionCoordinator:")]
void ViewWillTransitionToSize (CGSize toSize, [NullAllowed] IUIViewControllerTransitionCoordinator coordinator);
[Abstract]
[Export ("willTransitionToTraitCollection:withTransitionCoordinator:")]
void WillTransitionToTraitCollection (UITraitCollection traitCollection, [NullAllowed] IUIViewControllerTransitionCoordinator coordinator);
}
[iOS(8,0),Protocol, Model]
[BaseType (typeof (NSObject))]
partial interface UIAppearanceContainer {
2016-04-21 15:30:02 +03:00
}
[iOS (8,0)]
[BaseType (typeof (NSObject))]
[DisableDefaultCtor] // NSInvalidArgumentException Reason: Don't call -[UIPresentationController init].
partial interface UIPresentationController : UIAppearanceContainer, UITraitEnvironment, UIContentContainer, UIFocusEnvironment {
2016-04-21 15:30:02 +03:00
[Export ("initWithPresentedViewController:presentingViewController:")]
[DesignatedInitializer]
2016-04-21 15:30:02 +03:00
IntPtr Constructor (UIViewController presentedViewController, [NullAllowed] UIViewController presentingViewController);
[Export ("presentingViewController", ArgumentSemantic.Retain)]
UIViewController PresentingViewController { get; }
[Export ("presentedViewController", ArgumentSemantic.Retain)]
UIViewController PresentedViewController { get; }
[Export ("presentationStyle")]
UIModalPresentationStyle PresentationStyle { get; }
[Export ("containerView")]
UIView ContainerView { get; }
[Export ("delegate", ArgumentSemantic.UnsafeUnretained), NullAllowed]
NSObject WeakDelegate { get; set; }
[Wrap ("WeakDelegate")]
[Protocolize]
UIAdaptivePresentationControllerDelegate Delegate { get; set; }
[Export ("overrideTraitCollection", ArgumentSemantic.Copy), NullAllowed]
UITraitCollection OverrideTraitCollection { get; set; }
[Export ("adaptivePresentationStyle")]
UIModalPresentationStyle AdaptivePresentationStyle ();
[iOS (8,3)]
[Export ("adaptivePresentationStyleForTraitCollection:")]
UIModalPresentationStyle AdaptivePresentationStyle (UITraitCollection traitCollection);
[Export ("containerViewWillLayoutSubviews")]
void ContainerViewWillLayoutSubviews ();
[Export ("containerViewDidLayoutSubviews")]
void ContainerViewDidLayoutSubviews ();
[Export ("presentedView")]
UIView PresentedView { get; }
[Export ("frameOfPresentedViewInContainerView")]
CGRect FrameOfPresentedViewInContainerView { get; }
[Export ("shouldPresentInFullscreen")]
bool ShouldPresentInFullscreen { get; }
[Export ("shouldRemovePresentersView")]
bool ShouldRemovePresentersView { get; }
[Export ("presentationTransitionWillBegin")]
void PresentationTransitionWillBegin ();
[Export ("presentationTransitionDidEnd:")]
void PresentationTransitionDidEnd (bool completed);
[Export ("dismissalTransitionWillBegin")]
void DismissalTransitionWillBegin ();
[Export ("dismissalTransitionDidEnd:")]
void DismissalTransitionDidEnd (bool completed);
}
delegate void UIPreviewHandler (UIPreviewAction action, UIViewController previewViewController);
[iOS (9,0)]
[BaseType (typeof (NSObject))]
interface UIPreviewAction : UIPreviewActionItem, NSCopying {
[Static, Export ("actionWithTitle:style:handler:")]
UIPreviewAction Create (string title, UIPreviewActionStyle style, UIPreviewHandler handler);
[Export ("handler")]
UIPreviewHandler Handler { get; }
}
[iOS (9,0)]
[BaseType (typeof (NSObject))]
interface UIPreviewActionGroup : UIPreviewActionItem, NSCopying {
[Static, Export ("actionGroupWithTitle:style:actions:")]
UIPreviewActionGroup Create (string title, UIPreviewActionStyle style, UIPreviewAction [] actions);
}
interface IUIPreviewActionItem {}
2016-04-21 15:30:02 +03:00
[iOS (9,0)]
[Protocol]
interface UIPreviewActionItem {
[Abstract]
[Export ("title")]
string Title { get; }
}
[BaseType (typeof (UIView))]
interface UIProgressView : NSCoding {
2016-04-21 15:30:02 +03:00
[DesignatedInitializer]
[Export ("initWithFrame:")]
IntPtr Constructor (CGRect frame);
[Export ("initWithProgressViewStyle:")]
IntPtr Constructor (UIProgressViewStyle style);
[Export ("progressViewStyle")]
UIProgressViewStyle Style { get; set; }
[Export ("progress")]
float Progress { get; set; } // This is float, not nfloat.
[Since (5,0)]
[Export ("progressTintColor", ArgumentSemantic.Retain)]
[Appearance]
[NullAllowed]
UIColor ProgressTintColor { get; set; }
[Since (5,0)]
[Export ("trackTintColor", ArgumentSemantic.Retain)]
[Appearance]
[NullAllowed]
UIColor TrackTintColor { get; set; }
[Since (5,0)]
[Export ("progressImage", ArgumentSemantic.Retain)]
[Appearance]
[NullAllowed]
UIImage ProgressImage { get; set; }
[Since (5,0)]
[Export ("trackImage", ArgumentSemantic.Retain)]
[Appearance]
[NullAllowed]
UIImage TrackImage { get; set; }
[Since (5,0)]
[Export ("setProgress:animated:")]
void SetProgress (float progress /* this is float, not nfloat */, bool animated);
[Since (9,0)]
[Export ("observedProgress")]
[NullAllowed]
NSProgress ObservedProgress { get; set; }
}
[Since (7,0)]
[BaseType (typeof (UIDynamicBehavior))]
partial interface UIPushBehavior {
2016-04-21 15:30:02 +03:00
[DesignatedInitializer]
[Export ("initWithItems:mode:")]
IntPtr Constructor (IUIDynamicItem [] items, UIPushBehaviorMode mode);
[Export ("addItem:")]
[PostGet ("Items")]
void AddItem (IUIDynamicItem dynamicItem);
[Export ("removeItem:")]
[PostGet ("Items")]
void RemoveItem (IUIDynamicItem dynamicItem);
[Export ("items", ArgumentSemantic.Copy)]
IUIDynamicItem [] Items { get; }
[Export ("targetOffsetFromCenterForItem:")]
UIOffset GetTargetOffsetFromCenter (IUIDynamicItem item);
[Export ("setTargetOffsetFromCenter:forItem:")]
void SetTargetOffset (UIOffset offset, IUIDynamicItem item);
[Export ("mode")]
UIPushBehaviorMode Mode { get; }
[Export ("active")]
bool Active { get; set; }
[Export ("angle")]
nfloat Angle { get; set; }
[Export ("magnitude")]
nfloat Magnitude { get; set; }
[Export ("setAngle:magnitude:")]
void SetAngleAndMagnitude (nfloat angle, nfloat magnitude);
[Export ("pushDirection")]
CGVector PushDirection { get; set; }
}
[Since (7,0)]
[BaseType (typeof (UIDynamicBehavior))]
[DisableDefaultCtor] // Objective-C exception thrown. Name: NSInvalidArgumentException Reason: init is undefined for objects of type UISnapBehavior
partial interface UISnapBehavior {
2016-04-21 15:30:02 +03:00
[DesignatedInitializer]
[Export ("initWithItem:snapToPoint:")]
IntPtr Constructor (IUIDynamicItem dynamicItem, CGPoint point);
[Export ("damping", ArgumentSemantic.Assign)]
nfloat Damping { get; set; }
[iOS (9,0)]
[Export ("snapPoint", ArgumentSemantic.Assign)]
CGPoint SnapPoint { get; set; }
}
[NoTV]
[Since (5,0)]
[BaseType (typeof (UIViewController))]
// iOS6 returns the following (confusing) message with the default .ctor:
// Objective-C exception thrown. Name: NSGenericException Reason: -[UIReferenceLibraryViewController initWithNibName:bundle:] is not a valid initializer. You must call -[UIReferenceLibraryViewController initWithTerm:].
[DisableDefaultCtor]
partial interface UIReferenceLibraryViewController : NSCoding {
2016-04-21 15:30:02 +03:00
[Export ("initWithNibName:bundle:")]
[PostGet ("NibBundle")]
IntPtr Constructor ([NullAllowed] string nibName, [NullAllowed] NSBundle bundle);
[Since (5,0)]
[Export ("dictionaryHasDefinitionForTerm:"), Static]
bool DictionaryHasDefinitionForTerm (string term);
[DesignatedInitializer]
[Since (5,0)]
[Export ("initWithTerm:")]
IntPtr Constructor (string term);
}
[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 UIResponder : UIAccessibilityAction, UIAccessibilityFocus
#if !TVOS
, UIAccessibilityDragging
#endif // !TVOS
#if IOS
, UIPasteConfigurationSupporting
#endif // IOS
{
2016-04-21 15:30:02 +03:00
[Export ("nextResponder")]
UIResponder NextResponder { get; }
[Export ("canBecomeFirstResponder")]
bool CanBecomeFirstResponder { get; }
[Export ("becomeFirstResponder")]
bool BecomeFirstResponder ();
[Export ("canResignFirstResponder")]
bool CanResignFirstResponder { get; }
[Export ("resignFirstResponder")]
bool ResignFirstResponder ();
[Export ("isFirstResponder")]
bool IsFirstResponder { get; }
[Export ("touchesBegan:withEvent:")]
void TouchesBegan (NSSet touches, [NullAllowed] UIEvent evt);
[Export ("touchesMoved:withEvent:")]
void TouchesMoved (NSSet touches, [NullAllowed] UIEvent evt);
[Export ("touchesEnded:withEvent:")]
void TouchesEnded (NSSet touches, [NullAllowed] UIEvent evt);
[Export ("touchesCancelled:withEvent:")]
void TouchesCancelled (NSSet touches, [NullAllowed] UIEvent evt);
[Export ("motionBegan:withEvent:")]
void MotionBegan (UIEventSubtype motion, [NullAllowed] UIEvent evt);
[Export ("motionEnded:withEvent:")]
void MotionEnded (UIEventSubtype motion, [NullAllowed] UIEvent evt);
[Export ("motionCancelled:withEvent:")]
void MotionCancelled (UIEventSubtype motion, [NullAllowed] UIEvent evt);
[Export ("canPerformAction:withSender:")]
bool CanPerform (Selector action, [NullAllowed] NSObject withSender);
[Export ("undoManager")]
NSUndoManager UndoManager { get; }
// 3.2
[Since (3,2)]
[Export ("inputAccessoryView")]
UIView InputAccessoryView { get; }
[Since (3,2)]
[Export ("inputView")]
UIView InputView { get; }
[Since (3,2)]
[Export ("reloadInputViews")]
void ReloadInputViews ();
[Since (4,0)]
[Export ("remoteControlReceivedWithEvent:")]
void RemoteControlReceived ([NullAllowed] UIEvent theEvent);
// From the informal protocol ( = category on NSObject) UIResponderStandardEditActions
[Export ("cut:")]
void Cut ([NullAllowed] NSObject sender);
[Export ("copy:")]
void Copy ([NullAllowed] NSObject sender);
[Export ("paste:")]
void Paste ([NullAllowed] NSObject sender);
[Export ("select:")]
void Select ([NullAllowed] NSObject sender);
[Export ("selectAll:")]
void SelectAll ([NullAllowed] NSObject sender);
[Export ("delete:")]
void Delete ([NullAllowed] NSObject sender);
[Since (5,0)]
[Export ("makeTextWritingDirectionLeftToRight:")]
void MakeTextWritingDirectionLeftToRight ([NullAllowed] NSObject sender);
[Since (5,0)]
[Export ("makeTextWritingDirectionRightToLeft:")]
void MakeTextWritingDirectionRightToLeft ([NullAllowed] NSObject sender);
//
// 6.0
//
[Since (6,0)]
[Export ("toggleBoldface:")]
void ToggleBoldface ([NullAllowed] NSObject sender);
[Since (6,0)]
[Export ("toggleItalics:")]
void ToggleItalics ([NullAllowed] NSObject sender);
[Since (6,0)]
[Export ("toggleUnderline:")]
void ToggleUnderline ([NullAllowed] NSObject sender);
//
// 7.0
//
[Since (7,0)]
[Export ("keyCommands")]
UIKeyCommand [] KeyCommands { get; }
[Since (7,0)]
[Static, Export ("clearTextInputContextIdentifier:")]
void ClearTextInputContextIdentifier (NSString identifier);
[Since (7,0)]
[Export ("targetForAction:withSender:")]
NSObject GetTargetForAction (Selector action, [NullAllowed] NSObject sender);
[Since (7,0)]
[Export ("textInputContextIdentifier")]
NSString TextInputContextIdentifier { get; }
[Since (7,0)]
[Export ("textInputMode")]
UITextInputMode TextInputMode { get; }
[iOS (8,0)]
[Export ("inputViewController")]
UIInputViewController InputViewController { get; }
[iOS (8,0)]
[Export ("inputAccessoryViewController")]
UIInputViewController InputAccessoryViewController { get; }
[iOS (8,0)]
[Export ("userActivity"), NullAllowed]
NSUserActivity UserActivity { get; set; }
[iOS (8,0)]
[Export ("updateUserActivityState:")]
void UpdateUserActivityState (NSUserActivity activity);
[iOS (8,0)]
[Export ("restoreUserActivityState:")]
void RestoreUserActivityState (NSUserActivity activity);
[iOS (9,0)]
[Export ("pressesBegan:withEvent:")]
void PressesBegan (NSSet<UIPress> presses, UIPressesEvent evt);
[iOS (9,0)]
[Export ("pressesChanged:withEvent:")]
void PressesChanged (NSSet<UIPress> presses, UIPressesEvent evt);
[iOS (9,0)]
[Export ("pressesEnded:withEvent:")]
void PressesEnded (NSSet<UIPress> presses, UIPressesEvent evt);
[iOS (9,0)]
[Export ("pressesCancelled:withEvent:")]
void PressesCancelled (NSSet<UIPress> presses, UIPressesEvent evt);
// from UIResponderInputViewAdditions (UIResponder) - other members already inlined
[NoTV]
[iOS (9,0)]
[Export ("inputAssistantItem", ArgumentSemantic.Strong)]
UITextInputAssistantItem InputAssistantItem { get; }
[iOS (9,1)]
[Export ("touchesEstimatedPropertiesUpdated:")]
void TouchesEstimatedPropertiesUpdated (NSSet touches);
}
[Category, BaseType (typeof (UIResponder))]
interface UIResponder_NSObjectExtension {
[Export ("decreaseSize:")]
void DecreaseSize ([NullAllowed] NSObject sender);
[Export ("increaseSize:")]
void IncreaseSize ([NullAllowed] NSObject sender);
}
[BaseType (typeof (NSObject))]
interface UIScreen : UITraitEnvironment {
2016-04-21 15:30:02 +03:00
[Export ("bounds")]
CGRect Bounds { get; }
[NoTV]
[Deprecated (PlatformName.iOS, 9, 0, message : "Use the 'Bounds' property.")]
2016-04-21 15:30:02 +03:00
[Export ("applicationFrame")]
CGRect ApplicationFrame { get; }
[Export ("mainScreen")][Static]
UIScreen MainScreen { get; }
[NoTV] // Xcode 7.2
[Since (3,2)]
[Export ("availableModes", ArgumentSemantic.Copy)]
UIScreenMode [] AvailableModes { get; }
[Since (3,2)]
[NullAllowed] // by default this property is null
[Export ("currentMode", ArgumentSemantic.Retain)]
UIScreenMode CurrentMode {
get;
#if !TVOS
set;
#endif
}
[NoTV] // Xcode 7.2
[Since (4,3)]
[Export ("preferredMode", ArgumentSemantic.Retain)]
UIScreenMode PreferredMode { get; }
[Since (4,3)]
[Export ("mirroredScreen", ArgumentSemantic.Retain)]
UIScreen MirroredScreen { get; }
[Since (3,2)]
[Export ("screens")][Static]
UIScreen [] Screens { get; }
[Since (4,0)]
[Export ("scale")]
nfloat Scale { get; }
[Since (4,0)]
[Export ("displayLinkWithTarget:selector:")]
CoreAnimation.CADisplayLink CreateDisplayLink (NSObject target, Selector sel);
[iOS (10,3), TV (10,2)]
[Export ("maximumFramesPerSecond")]
nint MaximumFramesPerSecond { get; }
2016-04-21 15:30:02 +03:00
[NoTV]
[Since (5,0)]
[Export ("brightness")]
nfloat Brightness { get; set; }
[NoTV]
[Since (5,0)]
[Export ("wantsSoftwareDimming")]
bool WantsSoftwareDimming { get; set; }
[Since (5,0)]
[Export ("overscanCompensation")]
UIScreenOverscanCompensation OverscanCompensation { get; set; }
[Since (5,0)]
[Field ("UIScreenBrightnessDidChangeNotification")]
[Notification]
NSString BrightnessDidChangeNotification { get; }
[Field ("UIScreenModeDidChangeNotification")]
[Notification]
NSString ModeDidChangeNotification { get; }
[Field ("UIScreenDidDisconnectNotification")]
[Notification]
NSString DidDisconnectNotification { get; }
[Field ("UIScreenDidConnectNotification")]
[Notification]
NSString DidConnectNotification { 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
[iOS (11,0), TV (11,0)]
[Field ("UIScreenCapturedDidChangeNotification")]
[Notification]
NSString CapturedDidChangeNotification { get; }
2016-04-21 15:30:02 +03:00
[Since (7,0)]
[return: NullAllowed]
2016-04-21 15:30:02 +03:00
[Export ("snapshotViewAfterScreenUpdates:")]
UIView SnapshotView (bool afterScreenUpdates);
[iOS (8,0)]
[Export ("nativeBounds")]
CGRect NativeBounds { get; }
[iOS (8,0)]
[Export ("nativeScale")]
nfloat NativeScale { get; }
[iOS (8,0)]
[Export ("coordinateSpace")]
IUICoordinateSpace CoordinateSpace { get; }
[iOS (8,0)]
[Export ("fixedCoordinateSpace")]
IUICoordinateSpace FixedCoordinateSpace { get; }
[iOS (9,0)]
[Export ("overscanCompensationInsets")]
UIEdgeInsets OverscanCompensationInsets { get; }
[iOS (9,0)] // added in Xcode 7.1 / iOS 9.1 SDK
[NullAllowed, Export ("focusedView", ArgumentSemantic.Weak)]
UIView FocusedView { get; }
[iOS (9,0)] // added in Xcode 7.1 / iOS 9.1 SDK
[Export ("supportsFocus")]
bool SupportsFocus { get; }
[iOS (10, 0)]
[NullAllowed, Export ("focusedItem", ArgumentSemantic.Weak)]
IUIFocusItem FocusedItem { 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
[iOS (11,0), TV (11,0)]
[Export ("captured")]
bool Captured { [Bind ("isCaptured")] get; }
2016-04-21 15:30:02 +03:00
}
[BaseType (typeof (UIView), Delegates=new string [] { "WeakDelegate" }, Events=new Type [] {typeof(UIScrollViewDelegate)})]
interface UIScrollView {
2016-04-21 15:30:02 +03:00
[Export ("initWithFrame:")]
IntPtr Constructor (CGRect frame);
[Export ("contentOffset")]
CGPoint ContentOffset { get; set; }
[Export ("contentSize")]
CGSize ContentSize { get; set; }
[Export ("contentInset")]
UIEdgeInsets ContentInset { 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
[iOS (11,0), TV (11,0)]
[Export ("adjustedContentInset")]
UIEdgeInsets AdjustedContentInset { get; }
[iOS (11,0), TV (11,0)]
[Export ("adjustedContentInsetDidChange")]
[Advice ("You must call the base method when overriding.")] // [RequiresSuper]
void AdjustedContentInsetDidChange ();
[iOS (11,0), TV (11,0)]
[Export ("contentInsetAdjustmentBehavior", ArgumentSemantic.Assign)]
UIScrollViewContentInsetAdjustmentBehavior ContentInsetAdjustmentBehavior { get; set; }
[iOS (11,0), TV (11,0)]
[Export ("contentLayoutGuide", ArgumentSemantic.Strong)]
UILayoutGuide ContentLayoutGuide { get; }
[iOS (11,0), TV (11,0)]
[Export ("frameLayoutGuide", ArgumentSemantic.Strong)]
UILayoutGuide FrameLayoutGuide { get; }
2016-04-21 15:30:02 +03:00
[Export ("delegate", ArgumentSemantic.Assign)][NullAllowed]
NSObject WeakDelegate { get; set; }
[Wrap ("WeakDelegate")]
[Protocolize]
UIScrollViewDelegate Delegate { get; set; }
[Export ("bounces")]
bool Bounces { get; set; }
[Export ("alwaysBounceVertical")]
bool AlwaysBounceVertical { get; set; }
[Export ("alwaysBounceHorizontal")]
bool AlwaysBounceHorizontal { get; set; }
[Export ("showsHorizontalScrollIndicator")]
bool ShowsHorizontalScrollIndicator { get; set; }
[Export ("showsVerticalScrollIndicator")]
bool ShowsVerticalScrollIndicator { get; set; }
[Export ("scrollIndicatorInsets")]
UIEdgeInsets ScrollIndicatorInsets { get; set; }
[Export ("indicatorStyle")]
UIScrollViewIndicatorStyle IndicatorStyle { get; set; }
[Export ("decelerationRate")]
nfloat DecelerationRate { get; set; }
[iOS (10,3), TV (10,2), NoWatch]
[Export ("indexDisplayMode")]
UIScrollViewIndexDisplayMode IndexDisplayMode { get; set; }
2016-04-21 15:30:02 +03:00
[NoTV]
[Export ("pagingEnabled")]
bool PagingEnabled { [Bind ("isPagingEnabled")] get; set; }
[Export ("directionalLockEnabled")]
bool DirectionalLockEnabled { [Bind ("isDirectionalLockEnabled")] get; set; }
[Export ("scrollEnabled")]
bool ScrollEnabled { [Bind ("isScrollEnabled")] get; set; }
[Export ("tracking")]
bool Tracking { [Bind("isTracking")] get; }
[Export ("dragging")]
bool Dragging { [Bind ("isDragging")] get; }
[Export ("decelerating")]
bool Decelerating { [Bind ("isDecelerating")] get; }
[Export ("setContentOffset:animated:")]
void SetContentOffset (CGPoint contentOffset, bool animated);
[Export ("scrollRectToVisible:animated:")]
void ScrollRectToVisible (CGRect rect, bool animated);
[Export ("flashScrollIndicators")]
void FlashScrollIndicators ();
[Export ("delaysContentTouches")]
bool DelaysContentTouches { get; set; }
[Export ("canCancelContentTouches")]
bool CanCancelContentTouches { get; set; }
[Export ("touchesShouldBegin:withEvent:inContentView:")]
bool TouchesShouldBegin (NSSet touches, UIEvent withEvent, UIView inContentView);
[Export ("touchesShouldCancelInContentView:")]
bool TouchesShouldCancelInContentView (UIView view);
[Export ("minimumZoomScale")]
nfloat MinimumZoomScale { get; set; }
[Export ("maximumZoomScale")]
nfloat MaximumZoomScale { get; set; }
[Export ("zoomScale")]
nfloat ZoomScale { get; set; }
[Export ("setZoomScale:animated:")]
void SetZoomScale (nfloat scale, bool animated);
[Export ("zoomToRect:animated:")]
void ZoomToRect (CGRect rect, bool animated);
[Export ("bouncesZoom")]
bool BouncesZoom { get; set; }
[Export ("zooming")]
bool Zooming { [Bind ("isZooming")] get; }
[Export ("zoomBouncing")]
bool ZoomBouncing { [Bind ("isZoomBouncing")] get; }
[NoTV]
[Export ("scrollsToTop")]
bool ScrollsToTop { get; set; }
[Since (5,0)]
[Export ("panGestureRecognizer")]
UIPanGestureRecognizer PanGestureRecognizer { get; }
[NoTV]
[Since (5,0)]
[Export ("pinchGestureRecognizer")]
UIPinchGestureRecognizer PinchGestureRecognizer { get; }
[Field ("UIScrollViewDecelerationRateNormal")]
nfloat DecelerationRateNormal { get; }
[Field ("UIScrollViewDecelerationRateFast")]
nfloat DecelerationRateFast { get; }
[Since (7,0)]
[Export ("keyboardDismissMode")]
UIScrollViewKeyboardDismissMode KeyboardDismissMode { 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
[NoWatch]
[iOS (11,0)]
2016-04-21 15:30:02 +03:00
[TV (9,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
[Deprecated (PlatformName.TvOS, 11, 0, message: "Configuring the 'PanGestureRecognizer' for indirect scrolling automatically supports directional presses now, so this property is no longer useful.")]
2016-04-21 15:30:02 +03:00
[Export ("directionalPressGestureRecognizer")]
UIGestureRecognizer DirectionalPressGestureRecognizer { get; }
Bump Xcode version to beta 2 (#349) Fix issues with monotouch-tests with beta2 * TLSMaximumSupportedProtocol returns Unknown, which also means default, instead of SslProtocol.Tls_1_2 * Setting NSZone.Name crash the app * The MDLMesh tests are broken in a different way than beta1 * [callkit] Disable CTCallCenter default ctor as it breaks introspection > [FAIL] Default constructor not allowed for CoreTelephony.CTCallCenter : SIGILL The exception, that we catch, puts the process in an unstable state. This cause weird results and crash later (wrong dispatch queue on main thread) when testing MapKit. Crashed Thread: 0 tid_a07 Dispatch queue: CTCallCenter Exception Type: EXC_BAD_ACCESS (SIGABRT) Exception Codes: KERN_INVALID_ADDRESS at 0x0000000000000004 Exception Note: EXC_CORPSE_NOTIFY VM Regions Near 0x4: --> __TEXT 0000000000097000-00000000004d2000 [ 4332K] r-x/rwx SM=COW /Users/USER/Library/Developer/CoreSimulator/Devices/9446B344-62A2-42A8-A8EE-9FE7AC6BA5C8/data/Containers/Bundle/Application/81183608-DADF-4226-B7FE-4B43759D679A/introspection.app/introspection Application Specific Information: BUG IN CLIENT OF LIBDISPATCH: dispatch_barrier_sync called on queue already owned by current thread abort() called CoreSimulator 278 - Device: iPhone 5 - Runtime: iOS 10.0 (14A5297c) - DeviceType: iPhone 5 Some beta2 adjustments (removals) to get green tests and be able to merge it so bindings of beta2 can start * [tests] NEFlowMetaData conformance to NSSecureCoding and NSCopying is new in beta2 (and check fails on OSX 10.11) * [uikit] Add [UIScrollView|UITableViewController].refreshControl to fix monotouch-test build UIRefreshControlHosting was removed in beta2 but we still need the refreshControl property on UIScrollView and UITableViewController to build monotouch-test
2016-07-07 20:10:24 +03:00
[NoTV][iOS (10,0)]
[NullAllowed, Export ("refreshControl", ArgumentSemantic.Strong)]
UIRefreshControl RefreshControl { get; set; }
2016-04-21 15:30:02 +03:00
}
[BaseType (typeof (NSObject))]
[Model]
[Protocol]
interface UIScrollViewDelegate {
2016-04-21 15:30:02 +03:00
[Export ("scrollViewDidScroll:"), EventArgs ("UIScrollView")]
void Scrolled (UIScrollView scrollView);
[Export ("scrollViewWillBeginDragging:"), EventArgs ("UIScrollView")]
void DraggingStarted (UIScrollView scrollView);
[Export ("scrollViewDidEndDragging:willDecelerate:"), EventArgs ("Dragging")]
void DraggingEnded (UIScrollView scrollView, [EventName ("decelerate")] bool willDecelerate);
[Export ("scrollViewWillBeginDecelerating:"), EventArgs ("UIScrollView")]
void DecelerationStarted (UIScrollView scrollView);
[Export ("scrollViewDidEndDecelerating:"), EventArgs ("UIScrollView")]
void DecelerationEnded (UIScrollView scrollView);
[Export ("scrollViewDidEndScrollingAnimation:"), EventArgs ("UIScrollView")]
void ScrollAnimationEnded (UIScrollView scrollView);
[Export ("viewForZoomingInScrollView:"), DelegateName ("UIScrollViewGetZoomView"), DefaultValue ("null")]
UIView ViewForZoomingInScrollView (UIScrollView scrollView);
[Export ("scrollViewShouldScrollToTop:"), DelegateName ("UIScrollViewCondition"), DefaultValue ("true")]
bool ShouldScrollToTop (UIScrollView scrollView);
[Export ("scrollViewDidScrollToTop:"), EventArgs ("UIScrollView")]
void ScrolledToTop (UIScrollView scrollView);
[Export ("scrollViewDidEndZooming:withView:atScale:"), EventArgs ("ZoomingEnded")]
void ZoomingEnded (UIScrollView scrollView, UIView withView, nfloat atScale);
[Since (3,2)]
[Export ("scrollViewDidZoom:"), EventArgs ("UIScrollView")]
void DidZoom (UIScrollView scrollView);
[Since (3,2)]
[Export ("scrollViewWillBeginZooming:withView:"), EventArgs ("UIScrollViewZooming")]
void ZoomingStarted (UIScrollView scrollView, UIView view);
[Since (5,0)]
[Export ("scrollViewWillEndDragging:withVelocity:targetContentOffset:"), EventArgs ("WillEndDragging")]
void WillEndDragging (UIScrollView scrollView, CGPoint velocity, ref CGPoint targetContentOffset);
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 (11,0), TV (11,0)]
[Export ("scrollViewDidChangeAdjustedContentInset:")]
void DidChangeAdjustedContentInset (UIScrollView scrollView);
2016-04-21 15:30:02 +03:00
}
[Protocol, Model]
[BaseType (typeof (UIScrollViewDelegate))]
interface UIScrollViewAccessibilityDelegate {
[Export ("accessibilityScrollStatusForScrollView:")]
string GetAccessibilityScrollStatus (UIScrollView scrollView);
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
[TV (11,0), iOS (11,0)]
[Export ("accessibilityAttributedScrollStatusForScrollView:")]
[return: NullAllowed]
NSAttributedString GetAccessibilityAttributedScrollStatus (UIScrollView scrollView);
2016-04-21 15:30:02 +03:00
}
[BaseType (typeof (UIView), Delegates=new string [] { "WeakDelegate" }, Events=new Type [] {typeof(UISearchBarDelegate)})]
#if TVOS
[DisableDefaultCtor] // - (instancetype)init __TVOS_PROHIBITED;
#endif
interface UISearchBar : UIBarPositioning, UITextInputTraits
2016-04-21 15:30:02 +03:00
#if !TVOS
, NSCoding
#endif
{
[NoTV]
[DesignatedInitializer]
[Export ("initWithFrame:")]
IntPtr Constructor (CGRect frame);
[NoTV]
[Export ("barStyle")]
UIBarStyle BarStyle { get; set; }
[Export ("delegate", ArgumentSemantic.Assign)][NullAllowed]
NSObject WeakDelegate { get; set; }
[Wrap ("WeakDelegate")]
[Protocolize]
UISearchBarDelegate Delegate { get; set; }
[Export ("text", ArgumentSemantic.Copy)][NullAllowed]
string Text { get; set; }
[NullAllowed] // by default this property is null
[Export ("prompt", ArgumentSemantic.Copy)]
string Prompt { get; set; }
[NullAllowed] // by default this property is null
[Export ("placeholder", ArgumentSemantic.Copy)]
string Placeholder { get; set; }
[NoTV]
[Export ("showsBookmarkButton")]
bool ShowsBookmarkButton { get; set; }
[NoTV]
[Export ("showsCancelButton")]
bool ShowsCancelButton { get; set; }
[Export ("selectedScopeButtonIndex")]
nint SelectedScopeButtonIndex { get; set; }
[Export ("showsScopeBar")]
bool ShowsScopeBar { get; set; }
[NullAllowed] // by default this property is null
[Export ("scopeButtonTitles", ArgumentSemantic.Copy)]
string [] ScopeButtonTitles { get; set; }
[Export ("translucent", ArgumentSemantic.Assign)]
bool Translucent { [Bind ("isTranslucent")] get; set; }
[NoTV]
[Export ("setShowsCancelButton:animated:")]
void SetShowsCancelButton (bool showsCancelButton, bool animated);
// 3.2
[NoTV]
[Since (3,2)]
[Export ("searchResultsButtonSelected")]
bool SearchResultsButtonSelected { [Bind ("isSearchResultsButtonSelected")] get; set; }
[NoTV]
[Since (3,2)]
[Export ("showsSearchResultsButton")]
bool ShowsSearchResultsButton { get; set; }
// 5.0
[Since (5,0)]
[Export ("backgroundImage", ArgumentSemantic.Retain)]
[Appearance]
[NullAllowed]
UIImage BackgroundImage { get; set; }
[Since (5,0)]
[Export ("scopeBarBackgroundImage", ArgumentSemantic.Retain)]
[Appearance]
[NullAllowed]
UIImage ScopeBarBackgroundImage { get; set; }
[Since (5,0)]
[Export ("searchFieldBackgroundPositionAdjustment")]
UIOffset SearchFieldBackgroundPositionAdjustment { get; set; }
[Since (5,0)]
[Export ("searchTextPositionAdjustment")]
UIOffset SearchTextPositionAdjustment { get; set; }
[Since (5,0)]
[Export ("setSearchFieldBackgroundImage:forState:")]
[Appearance]
void SetSearchFieldBackgroundImage ([NullAllowed] UIImage backgroundImage, UIControlState state);
[Since (5,0)]
[Export ("searchFieldBackgroundImageForState:")]
[Appearance]
UIImage GetSearchFieldBackgroundImage (UIControlState state);
[Since (5,0)]
[Export ("setImage:forSearchBarIcon:state:")]
[Appearance]
void SetImageforSearchBarIcon ([NullAllowed] UIImage iconImage, UISearchBarIcon icon, UIControlState state);
[Since (5,0)]
[Export ("imageForSearchBarIcon:state:")]
[Appearance]
UIImage GetImageForSearchBarIcon (UISearchBarIcon icon, UIControlState state);
[Since (5,0)]
[Export ("setScopeBarButtonBackgroundImage:forState:")]
[Appearance]
void SetScopeBarButtonBackgroundImage ([NullAllowed] UIImage backgroundImage, UIControlState state);
[Since (5,0)]
[Export ("scopeBarButtonBackgroundImageForState:")]
[Appearance]
UIImage GetScopeBarButtonBackgroundImage (UIControlState state);
[Since (5,0)]
[Export ("setScopeBarButtonDividerImage:forLeftSegmentState:rightSegmentState:")]
[Appearance]
void SetScopeBarButtonDividerImage ([NullAllowed] UIImage dividerImage, UIControlState leftState, UIControlState rightState);
[Since (5,0)]
[Export ("scopeBarButtonDividerImageForLeftSegmentState:rightSegmentState:")]
[Appearance]
UIImage GetScopeBarButtonDividerImage (UIControlState leftState, UIControlState rightState);
[Since (5,0)]
[Export ("setScopeBarButtonTitleTextAttributes:forState:"), Internal]
[Appearance]
void _SetScopeBarButtonTitle (NSDictionary attributes, UIControlState state);
[Since (5,0)]
[Export ("scopeBarButtonTitleTextAttributesForState:"), Internal]
[Appearance]
NSDictionary _GetScopeBarButtonTitleTextAttributes (UIControlState state);
[Since (5,0)]
[Export ("setPositionAdjustment:forSearchBarIcon:")]
void SetPositionAdjustmentforSearchBarIcon (UIOffset adjustment, UISearchBarIcon icon);
[Since (5,0)]
[Export ("positionAdjustmentForSearchBarIcon:")]
UIOffset GetPositionAdjustmentForSearchBarIcon (UISearchBarIcon icon);
[Since (6,0)]
[Export ("inputAccessoryView", ArgumentSemantic.Retain)][NullAllowed]
UIView InputAccessoryView { get; set; }
[Since (7,0)]
[Appearance]
[Export ("setBackgroundImage:forBarPosition:barMetrics:")]
void SetBackgroundImage ([NullAllowed] UIImage backgroundImage, UIBarPosition barPosition, UIBarMetrics barMetrics);
[Since (7,0)]
[Export ("backgroundImageForBarPosition:barMetrics:")]
[Appearance]
UIImage BackgroundImageForBarPosition (UIBarPosition barPosition, UIBarMetrics barMetrics);
#if !XAMCORE_2_0
// documented in https://developer.apple.com/library/prerelease/ios/releasenotes/General/iOS70APIDiffs/
// (but non-clickable) and NOT in the header files (or in the UISearchBar web documentation)
// that makes them private API
[Since (7,0)]
[Export ("setBackgroundImage:forBarMetrics:")]
[Appearance]
void SetBackgroundImage ([NullAllowed] UIImage backgroundImage, UIBarMetrics barMetrics);
// note that this one "work" on 7.x (i.e. as a private API) but does not on iOS8
[Since (7,0)]
[Export ("backgroundImageForBarMetrics:")]
[Appearance]
UIImage BackgroundImageForBarMetrics (UIBarMetrics barMetrics);
#endif
[Since (7,0), Export ("barTintColor", ArgumentSemantic.Retain)]
[Appearance]
[NullAllowed]
UIColor BarTintColor { get; set; }
[Since (7,0)]
[Export ("searchBarStyle")]
UISearchBarStyle SearchBarStyle { get; set; }
[NoTV]
[iOS (9,0)]
[Export ("inputAssistantItem", ArgumentSemantic.Strong)]
UITextInputAssistantItem InputAssistantItem { get; }
}
[BaseType (typeof (UIBarPositioningDelegate))]
[Model]
[Protocol]
interface UISearchBarDelegate {
2016-04-21 15:30:02 +03:00
[Export ("searchBarShouldBeginEditing:"), DefaultValue (true), DelegateName ("UISearchBarPredicate")]
bool ShouldBeginEditing (UISearchBar searchBar);
[Export ("searchBarTextDidBeginEditing:"), EventArgs ("UISearchBar")]
void OnEditingStarted (UISearchBar searchBar);
[Export ("searchBarShouldEndEditing:"), DelegateName ("UISearchBarPredicate"), DefaultValue (true)]
bool ShouldEndEditing (UISearchBar searchBar);
[Export ("searchBarTextDidEndEditing:"), EventArgs ("UISearchBar")]
void OnEditingStopped (UISearchBar searchBar);
[Export ("searchBar:textDidChange:"), EventArgs ("UISearchBarTextChanged")]
void TextChanged (UISearchBar searchBar, string searchText);
[Export ("searchBar:shouldChangeTextInRange:replacementText:"), DefaultValue (true), DelegateName ("UISearchBarRangeEventArgs")]
bool ShouldChangeTextInRange (UISearchBar searchBar, NSRange range, string text);
[Export ("searchBarSearchButtonClicked:"), EventArgs ("UISearchBar")]
void SearchButtonClicked (UISearchBar searchBar);
[NoTV]
[Export ("searchBarBookmarkButtonClicked:"), EventArgs ("UISearchBar")]
void BookmarkButtonClicked (UISearchBar searchBar);
[NoTV]
[Export ("searchBarCancelButtonClicked:"), EventArgs ("UISearchBar")]
void CancelButtonClicked (UISearchBar searchBar);
[Export ("searchBar:selectedScopeButtonIndexDidChange:"), EventArgs ("UISearchBarButtonIndex")]
void SelectedScopeButtonIndexChanged (UISearchBar searchBar, nint selectedScope);
[NoTV]
[Since (3,2)]
[Export ("searchBarResultsListButtonClicked:"), EventArgs ("UISearchBar")]
void ListButtonClicked (UISearchBar searchBar);
}
[iOS (9,1)][TV (9,0)]
[BaseType (typeof(UIViewController))]
interface UISearchContainerViewController
{
// inlined
[Export ("initWithNibName:bundle:")]
[PostGet ("NibBundle")]
IntPtr Constructor ([NullAllowed] string nibName, [NullAllowed] NSBundle bundle);
[Export ("searchController", ArgumentSemantic.Strong)]
UISearchController SearchController { get; }
[Export ("initWithSearchController:")]
IntPtr Constructor (UISearchController searchController);
}
[iOS (8,0)]
[BaseType (typeof (UIViewController))]
partial interface UISearchController : UIViewControllerTransitioningDelegate, UIViewControllerAnimatedTransitioning {
2016-04-21 15:30:02 +03:00
[Export ("initWithNibName:bundle:")]
[PostGet ("NibBundle")]
IntPtr Constructor ([NullAllowed] string nibName, [NullAllowed] NSBundle bundle);
[Export ("initWithSearchResultsController:")]
IntPtr Constructor ([NullAllowed] UIViewController searchResultsController);
[NullAllowed] // by default this property is null
[Export ("searchResultsUpdater", ArgumentSemantic.UnsafeUnretained)]
NSObject WeakSearchResultsUpdater { get; set; }
[Wrap ("WeakSearchResultsUpdater")][Protocolize]
UISearchResultsUpdating SearchResultsUpdater { get; set; }
[Export ("active", ArgumentSemantic.UnsafeUnretained)]
bool Active { [Bind ("isActive")] get; set; }
[Export ("delegate", ArgumentSemantic.UnsafeUnretained), NullAllowed]
NSObject WeakDelegate { get; set; }
[Wrap ("WeakDelegate")]
[Protocolize]
UISearchControllerDelegate Delegate { get; set; }
[NoTV]
[Export ("dimsBackgroundDuringPresentation", ArgumentSemantic.UnsafeUnretained)]
bool DimsBackgroundDuringPresentation { get; set; }
[Export ("hidesNavigationBarDuringPresentation", ArgumentSemantic.UnsafeUnretained)]
bool HidesNavigationBarDuringPresentation { get; set; }
[Export ("searchResultsController", ArgumentSemantic.Retain)]
UIViewController SearchResultsController { get; }
[Export ("searchBar", ArgumentSemantic.Retain)]
UISearchBar SearchBar { get; }
[iOS (9,1)]
[Export ("obscuresBackgroundDuringPresentation")]
bool ObscuresBackgroundDuringPresentation { get; set; }
}
[Protocol, Model]
[BaseType (typeof (NSObject))]
partial interface UISearchControllerDelegate {
2016-04-21 15:30:02 +03:00
[Export ("willPresentSearchController:")]
void WillPresentSearchController (UISearchController searchController);
[Export ("didPresentSearchController:")]
void DidPresentSearchController (UISearchController searchController);
[Export ("willDismissSearchController:")]
void WillDismissSearchController (UISearchController searchController);
[Export ("didDismissSearchController:")]
void DidDismissSearchController (UISearchController searchController);
[Export ("presentSearchController:")]
void PresentSearchController (UISearchController searchController);
}
[BaseType (typeof (NSObject))]
[Availability (Deprecated = Platform.iOS_8_0, Message="Use 'UISearchController'.")]
2016-04-21 15:30:02 +03:00
[NoTV]
interface UISearchDisplayController {
2016-04-21 15:30:02 +03:00
[Export ("initWithSearchBar:contentsController:")]
[PostGet ("SearchBar")]
[PostGet ("SearchContentsController")]
IntPtr Constructor (UISearchBar searchBar, UIViewController viewController);
[Export ("delegate", ArgumentSemantic.Assign)][NullAllowed]
NSObject WeakDelegate { get; set; }
[Wrap ("WeakDelegate")]
[Protocolize]
UISearchDisplayDelegate Delegate { get; set; }
[Export ("active")]
bool Active { [Bind ("isActive")] get; set; }
[Export ("setActive:animated:")]
void SetActive (bool visible, bool animated);
[Export ("searchBar")]
UISearchBar SearchBar { get; }
[Export ("searchContentsController")]
UIViewController SearchContentsController { get; }
[Export ("searchResultsTableView")]
UITableView SearchResultsTableView { get; }
[Export ("searchResultsDataSource", ArgumentSemantic.Assign)][NullAllowed]
NSObject SearchResultsWeakDataSource { get; set; }
[Wrap ("SearchResultsWeakDataSource")][Protocolize]
UITableViewDataSource SearchResultsDataSource { get; set; }
[Export ("searchResultsDelegate", ArgumentSemantic.Assign)][NullAllowed]
NSObject SearchResultsWeakDelegate { get; set; }
[Wrap ("SearchResultsWeakDelegate")]
[Protocolize]
UITableViewDelegate SearchResultsDelegate { get; set; }
[Since (5,0)]
[NullAllowed] // by default this property is null
[Export ("searchResultsTitle", ArgumentSemantic.Copy)]
string SearchResultsTitle { get; set; }
[Since (7,0)]
[Export ("displaysSearchBarInNavigationBar", ArgumentSemantic.Assign)]
bool DisplaysSearchBarInNavigationBar { get; set; }
[Since (7,0)]
[Export ("navigationItem")]
UINavigationItem NavigationItem { get; }
}
[BaseType (typeof (NSObject))]
[Model]
[Protocol]
[NoTV]
interface UISearchDisplayDelegate {
2016-04-21 15:30:02 +03:00
[Export ("searchDisplayControllerWillBeginSearch:")]
[Availability (Deprecated = Platform.iOS_8_0)]
2016-04-21 15:30:02 +03:00
void WillBeginSearch (UISearchDisplayController controller);
[Export ("searchDisplayControllerDidBeginSearch:")]
[Availability (Deprecated = Platform.iOS_8_0)]
2016-04-21 15:30:02 +03:00
void DidBeginSearch (UISearchDisplayController controller);
[Export ("searchDisplayControllerWillEndSearch:")]
[Availability (Deprecated = Platform.iOS_8_0)]
2016-04-21 15:30:02 +03:00
void WillEndSearch (UISearchDisplayController controller);
[Export ("searchDisplayControllerDidEndSearch:")]
[Availability (Deprecated = Platform.iOS_8_0)]
2016-04-21 15:30:02 +03:00
void DidEndSearch (UISearchDisplayController controller);
[Export ("searchDisplayController:didLoadSearchResultsTableView:")]
[Availability (Deprecated = Platform.iOS_8_0)]
2016-04-21 15:30:02 +03:00
void DidLoadSearchResults (UISearchDisplayController controller, UITableView tableView);
[Export ("searchDisplayController:willUnloadSearchResultsTableView:")]
[Availability (Deprecated = Platform.iOS_8_0)]
2016-04-21 15:30:02 +03:00
void WillUnloadSearchResults (UISearchDisplayController controller, UITableView tableView);
[Export ("searchDisplayController:willShowSearchResultsTableView:")]
[Availability (Deprecated = Platform.iOS_8_0)]
2016-04-21 15:30:02 +03:00
void WillShowSearchResults (UISearchDisplayController controller, UITableView tableView);
[Export ("searchDisplayController:didShowSearchResultsTableView:")]
[Availability (Deprecated = Platform.iOS_8_0)]
2016-04-21 15:30:02 +03:00
void DidShowSearchResults (UISearchDisplayController controller, UITableView tableView);
[Export ("searchDisplayController:willHideSearchResultsTableView:")]
[Availability (Deprecated = Platform.iOS_8_0)]
2016-04-21 15:30:02 +03:00
void WillHideSearchResults (UISearchDisplayController controller, UITableView tableView);
[Export ("searchDisplayController:didHideSearchResultsTableView:")]
[Availability (Deprecated = Platform.iOS_8_0)]
2016-04-21 15:30:02 +03:00
void DidHideSearchResults (UISearchDisplayController controller, UITableView tableView);
[Export ("searchDisplayController:shouldReloadTableForSearchString:")]
[Availability (Deprecated = Platform.iOS_8_0)]
2016-04-21 15:30:02 +03:00
bool ShouldReloadForSearchString (UISearchDisplayController controller, string forSearchString);
[Export ("searchDisplayController:shouldReloadTableForSearchScope:")]
[Availability (Deprecated = Platform.iOS_8_0)]
2016-04-21 15:30:02 +03:00
bool ShouldReloadForSearchScope (UISearchDisplayController controller, nint forSearchOption);
}
[Protocol, Model]
[BaseType (typeof (NSObject))]
partial interface UISearchResultsUpdating {
2016-04-21 15:30:02 +03:00
#if XAMCORE_2_0
[Abstract]
#endif
[Export ("updateSearchResultsForSearchController:")]
void UpdateSearchResultsForSearchController (UISearchController searchController);
}
[BaseType (typeof(UIControl))]
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 UISegmentedControl
#if IOS
: UISpringLoadedInteractionSupporting
#endif
{
[Export ("initWithItems:")]
IntPtr Constructor (NSArray items);
2016-04-21 15:30:02 +03:00
[Export ("initWithFrame:")]
IntPtr Constructor (CGRect frame);
[Export ("segmentedControlStyle")]
[NoTV][NoWatch]
[Availability (Introduced = Platform.iOS_2_0, Deprecated = Platform.iOS_7_0, Message = "The 'SegmentedControlStyle' property no longer has any effect.")]
2016-04-21 15:30:02 +03:00
UISegmentedControlStyle ControlStyle { get; set; }
[Export ("momentary")]
bool Momentary { [Bind ("isMomentary")] get; set; }
[Export ("numberOfSegments")]
nint NumberOfSegments { get; }
[Export ("insertSegmentWithTitle:atIndex:animated:")]
void InsertSegment (string title, nint pos, bool animated);
[Export ("insertSegmentWithImage:atIndex:animated:")]
void InsertSegment (UIImage image, nint pos, bool animated);
[Export ("removeSegmentAtIndex:animated:")]
void RemoveSegmentAtIndex (nint segment, bool animated);
[Export ("removeAllSegments")]
void RemoveAllSegments ();
[Export ("setTitle:forSegmentAtIndex:")]
void SetTitle (string title, nint segment);
[Export ("titleForSegmentAtIndex:")]
string TitleAt (nint segment);
[Export ("setImage:forSegmentAtIndex:")]
void SetImage (UIImage image, nint segment);
[Export ("imageForSegmentAtIndex:")]
UIImage ImageAt (nint segment);
[Export ("setWidth:forSegmentAtIndex:")]
void SetWidth (nfloat width, nint segment);
[Export ("widthForSegmentAtIndex:")]
nfloat SegmentWidth (nint segment);
[Export ("setContentOffset:forSegmentAtIndex:")]
void SetContentOffset (CGSize offset, nint segment);
[Export ("contentOffsetForSegmentAtIndex:")]
CGSize GetContentOffset (nint segment);
[Export ("setEnabled:forSegmentAtIndex:")]
void SetEnabled (bool enabled, nint segment);
[Export ("isEnabledForSegmentAtIndex:")]
bool IsEnabled (nint segment);
[Export ("selectedSegmentIndex")]
nint SelectedSegment { get; set; }
[Since (5,0)]
[Export ("apportionsSegmentWidthsByContent")]
bool ApportionsSegmentWidthsByContent { get; set; }
[Since (5,0)]
[Export ("setBackgroundImage:forState:barMetrics:")]
[Appearance]
void SetBackgroundImage ([NullAllowed] UIImage backgroundImage, UIControlState state, UIBarMetrics barMetrics);
[Since (5,0)]
[Export ("backgroundImageForState:barMetrics:")]
[Appearance]
UIImage GetBackgroundImage (UIControlState state, UIBarMetrics barMetrics);
[Since (5,0)]
[Export ("setDividerImage:forLeftSegmentState:rightSegmentState:barMetrics:")]
[Appearance]
void SetDividerImage ([NullAllowed] UIImage dividerImage, UIControlState leftSegmentState, UIControlState rightSegmentState, UIBarMetrics barMetrics);
[Since (5,0)]
[Export ("dividerImageForLeftSegmentState:rightSegmentState:barMetrics:")]
[Appearance]
UIImage DividerImageForLeftSegmentStaterightSegmentStatebarMetrics (UIControlState leftState, UIControlState rightState, UIBarMetrics barMetrics);
[Since (5,0)]
[Export ("setTitleTextAttributes:forState:"), Internal]
[Appearance]
void _SetTitleTextAttributes (NSDictionary attributes, UIControlState state);
[Since (5,0)]
[Export ("titleTextAttributesForState:"), Internal]
[Appearance]
NSDictionary _GetTitleTextAttributes (UIControlState state);
[Since (5,0)]
[Export ("setContentPositionAdjustment:forSegmentType:barMetrics:")]
[Appearance]
void SetContentPositionAdjustment (UIOffset adjustment, UISegmentedControlSegment leftCenterRightOrAlone, UIBarMetrics barMetrics);
[Since (5,0)]
[Export ("contentPositionAdjustmentForSegmentType:barMetrics:")]
[Appearance]
UIOffset ContentPositionAdjustment (UISegmentedControlSegment leftCenterRightOrAlone, UIBarMetrics barMetrics);
}
[NoTV]
[BaseType (typeof(UIControl))]
interface UISlider {
2016-04-21 15:30:02 +03:00
[Export ("initWithFrame:")]
IntPtr Constructor (CGRect frame);
[Export ("value")]
float Value { get; set; } // This is float, not nfloat
[Export ("minimumValue")]
float MinValue { get; set; } // This is float, not nfloat
[Export ("maximumValue")]
float MaxValue { get; set; } // This is float, not nfloat
[Export ("minimumValueImage", ArgumentSemantic.Retain)]
[Appearance]
[NullAllowed]
UIImage MinValueImage { get; set; }
[Export ("maximumValueImage", ArgumentSemantic.Retain)]
[Appearance]
[NullAllowed]
UIImage MaxValueImage { get; set; }
[Export ("continuous")]
bool Continuous { [Bind ("isContinuous")] get; set; }
[Export ("currentThumbImage")]
UIImage CurrentThumbImage { get; }
[Export ("currentMinimumTrackImage")]
UIImage CurrentMinTrackImage { get; }
[Export ("currentMaximumTrackImage")]
UIImage CurrentMaxTrackImage { get; }
[Export ("setValue:animated:")]
void SetValue (float value /* This is float, not nfloat */, bool animated);
[Export ("setThumbImage:forState:")]
[PostGet ("CurrentThumbImage")]
[Appearance]
void SetThumbImage ([NullAllowed] UIImage image, UIControlState forState);
[Export ("setMinimumTrackImage:forState:")]
[PostGet ("CurrentMinTrackImage")]
[Appearance]
void SetMinTrackImage ([NullAllowed] UIImage image, UIControlState forState);
[Export ("setMaximumTrackImage:forState:")]
[PostGet ("CurrentMaxTrackImage")]
[Appearance]
void SetMaxTrackImage ([NullAllowed] UIImage image, UIControlState forState);
[Export ("thumbImageForState:")]
[Appearance]
UIImage ThumbImage (UIControlState forState);
[Export ("minimumTrackImageForState:")]
[Appearance]
UIImage MinTrackImage (UIControlState forState);
[Export ("maximumTrackImageForState:")]
[Appearance]
UIImage MaxTrackImage (UIControlState forState);
[Export ("minimumValueImageRectForBounds:")]
CGRect MinValueImageRectForBounds (CGRect forBounds);
[Export ("maximumValueImageRectForBounds:")]
CGRect MaxValueImageRectForBounds (CGRect forBounds);
[Export ("trackRectForBounds:")]
CGRect TrackRectForBounds (CGRect forBounds);
[Export ("thumbRectForBounds:trackRect:value:")]
CGRect ThumbRectForBounds (CGRect bounds, CGRect trackRect, float value /* This is float, not nfloat */);
[Since (5,0)]
[Export ("minimumTrackTintColor", ArgumentSemantic.Retain)]
[Appearance]
[NullAllowed]
UIColor MinimumTrackTintColor { get; set; }
[Since (5,0)]
[Export ("maximumTrackTintColor", ArgumentSemantic.Retain)]
[Appearance]
[NullAllowed]
UIColor MaximumTrackTintColor { get; set; }
[Since (5,0)]
[Export ("thumbTintColor", ArgumentSemantic.Retain)]
[Appearance]
[NullAllowed]
UIColor ThumbTintColor { get; set; }
}
#endif // !WATCH
[Since (6,0)]
[Static]
interface UIStringAttributeKey {
2016-04-21 15:30:02 +03:00
[Field ("NSFontAttributeName")]
NSString Font { get; }
[Field ("NSForegroundColorAttributeName")]
NSString ForegroundColor { get; }
[Field ("NSBackgroundColorAttributeName")]
NSString BackgroundColor { get; }
[Field ("NSStrokeColorAttributeName")]
NSString StrokeColor { get; }
[Field ("NSStrikethroughStyleAttributeName")]
NSString StrikethroughStyle { get; }
[Field ("NSShadowAttributeName")]
NSString Shadow { get; }
[Field ("NSParagraphStyleAttributeName")]
NSString ParagraphStyle { get; }
[Field ("NSLigatureAttributeName")]
NSString Ligature { get; }
[Field ("NSKernAttributeName")]
NSString KerningAdjustment { get; }
[Field ("NSUnderlineStyleAttributeName")]
NSString UnderlineStyle { get; }
[Field ("NSStrokeWidthAttributeName")]
NSString StrokeWidth { get; }
[Field ("NSVerticalGlyphFormAttributeName")]
NSString VerticalGlyphForm { get; }
[Since (7,0)]
[Field ("NSTextEffectAttributeName")]
NSString TextEffect { get; }
[Since (7,0)]
[Field ("NSAttachmentAttributeName")]
NSString Attachment { get; }
[Since (7,0)]
[Field ("NSLinkAttributeName")]
NSString Link { get; }
[Since (7,0)]
[Field ("NSBaselineOffsetAttributeName")]
NSString BaselineOffset { get; }
[Since (7,0)]
[Field ("NSUnderlineColorAttributeName")]
NSString UnderlineColor { get; }
[Since (7,0)]
[Field ("NSStrikethroughColorAttributeName")]
NSString StrikethroughColor { get; }
[Since (7,0)]
[Field ("NSObliquenessAttributeName")]
NSString Obliqueness { get; }
[Since (7,0)]
[Field ("NSExpansionAttributeName")]
NSString Expansion { get; }
[Since (7,0)]
[Field ("NSWritingDirectionAttributeName")]
NSString WritingDirection { get; }
//
// These are internal, if we choose to expose these, we should
// put them on a better named class
//
[Since (7,0)]
[Internal, Field ("NSTextEffectLetterpressStyle")]
NSString NSTextEffectLetterpressStyle { get; }
//
// Document Types
//
[Since (7,0)]
[Internal, Field ("NSDocumentTypeDocumentAttribute")]
NSString NSDocumentTypeDocumentAttribute { get; }
[Since (7,0)]
[Internal, Field ("NSPlainTextDocumentType")]
NSString NSPlainTextDocumentType { get; }
[Since (7,0)]
[Internal, Field ("NSRTFDTextDocumentType")]
NSString NSRTFDTextDocumentType { get; }
[Since (7,0)]
[Internal, Field ("NSRTFTextDocumentType")]
NSString NSRTFTextDocumentType { get; }
[Since (7,0)]
[Internal, Field ("NSHTMLTextDocumentType")]
NSString NSHTMLTextDocumentType { get; }
//
//
//
[Since (7,0)]
[Internal, Field ("NSCharacterEncodingDocumentAttribute")]
NSString NSCharacterEncodingDocumentAttribute { get; }
[Since (7,0)]
[Internal, Field ("NSDefaultAttributesDocumentAttribute")]
NSString NSDefaultAttributesDocumentAttribute { get; }
[Since (7,0)]
[Internal, Field ("NSPaperSizeDocumentAttribute")]
NSString NSPaperSizeDocumentAttribute { get; }
[Since (7,0)]
[Internal, Field ("NSPaperMarginDocumentAttribute")]
NSString NSPaperMarginDocumentAttribute { get; }
[Since (7,0)]
[Internal, Field ("NSViewSizeDocumentAttribute")]
NSString NSViewSizeDocumentAttribute { get; }
[Since (7,0)]
[Internal, Field ("NSViewZoomDocumentAttribute")]
NSString NSViewZoomDocumentAttribute { get; }
[Since (7,0)]
[Internal, Field ("NSViewModeDocumentAttribute")]
NSString NSViewModeDocumentAttribute { get; }
[Since (7,0)]
[Internal, Field ("NSReadOnlyDocumentAttribute")]
NSString NSReadOnlyDocumentAttribute { get; }
[Since (7,0)]
[Internal, Field ("NSBackgroundColorDocumentAttribute")]
NSString NSBackgroundColorDocumentAttribute { get; }
[Since (7,0)]
[Internal, Field ("NSHyphenationFactorDocumentAttribute")]
NSString NSHyphenationFactorDocumentAttribute { get; }
[Since (7,0)]
[Internal, Field ("NSDefaultTabIntervalDocumentAttribute")]
NSString NSDefaultTabIntervalDocumentAttribute { get; }
}
#if !WATCH
[NoTV]
[BaseType (typeof(UIControl))]
interface UISwitch : NSCoding {
2016-04-21 15:30:02 +03:00
[DesignatedInitializer]
[Export ("initWithFrame:")]
IntPtr Constructor (CGRect frame);
[Export ("on")]
bool On { [Bind ("isOn")] get; set; }
[Export ("setOn:animated:")]
void SetState (bool newState, bool animated);
[Since (5,0)]
[Export ("onTintColor", ArgumentSemantic.Retain)]
[Appearance]
[NullAllowed]
UIColor OnTintColor { get; set; }
[Since (6,0)]
[Appearance]
[NullAllowed]
[Export ("thumbTintColor", ArgumentSemantic.Retain)]
UIColor ThumbTintColor { get; set; }
[Since (6,0)]
[Appearance]
[Export ("onImage", ArgumentSemantic.Retain)]
[NullAllowed]
UIImage OnImage { get; set; }
[Since (6,0)]
[Appearance]
[NullAllowed]
[Export ("offImage", ArgumentSemantic.Retain)]
UIImage OffImage { get; set; }
}
[BaseType (typeof (UIView), Delegates=new string [] { "WeakDelegate" }, Events=new Type [] {typeof(UITabBarDelegate)})]
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 UITabBar
#if IOS
: UISpringLoadedInteractionSupporting
#endif
{
2016-04-21 15:30:02 +03:00
[Export ("initWithFrame:")]
IntPtr Constructor (CGRect frame);
[Export ("delegate", ArgumentSemantic.Weak)][NullAllowed]
2016-04-21 15:30:02 +03:00
NSObject WeakDelegate { get; set; }
[Wrap ("WeakDelegate")][NullAllowed]
[Protocolize]
UITabBarDelegate Delegate { get; set; }
[Export ("items", ArgumentSemantic.Copy)]
[NullAllowed]
[PostGet ("SelectedItem")]
UITabBarItem [] Items { get; set; }
[Export ("selectedItem", ArgumentSemantic.Weak), NullAllowed]
2016-04-21 15:30:02 +03:00
UITabBarItem SelectedItem { get; set; }
[Export ("setItems:animated:")]
[PostGet ("Items")] // that will trigger a (required) PostGet on SelectedItems too
void SetItems ([NullAllowed] UITabBarItem [] items, bool animated);
[NoTV]
[Export ("beginCustomizingItems:")]
void BeginCustomizingItems ([NullAllowed] UITabBarItem [] items);
[NoTV]
[Export ("endCustomizingAnimated:")]
#if XAMCORE_2_0
bool EndCustomizing (bool animated);
#else
bool EndCustomizingAnimated (bool animated);
#endif
[NoTV]
[Export ("isCustomizing")]
bool IsCustomizing { get; }
[NoTV]
[Since (5,0)]
[Export ("selectedImageTintColor", ArgumentSemantic.Retain)]
[Availability (Deprecated = Platform.iOS_8_0)]
[NullAllowed]
[Appearance]
UIColor SelectedImageTintColor { get; set; }
[Since (5,0)]
[Export ("backgroundImage", ArgumentSemantic.Retain)]
[NullAllowed]
[Appearance]
UIImage BackgroundImage { get; set; }
[Since (5,0)]
[Export ("selectionIndicatorImage", ArgumentSemantic.Retain)]
[NullAllowed]
[Appearance]
UIImage SelectionIndicatorImage { get; set; }
[Since (6,0)]
[Export ("shadowImage", ArgumentSemantic.Retain)]
[Appearance]
[NullAllowed]
UIImage ShadowImage { get; set; }
[Since (7,0)]
[Export ("barTintColor", ArgumentSemantic.Retain)]
[Appearance]
[NullAllowed]
UIColor BarTintColor { get; set; }
[NoTV]
[Since (7,0)]
[Export ("itemPositioning")]
UITabBarItemPositioning ItemPositioning { get; set; }
[Since (7,0)]
[Export ("itemWidth")]
nfloat ItemWidth { get; set; }
[Since (7,0)]
[Export ("itemSpacing")]
nfloat ItemSpacing { get; set; }
[NoTV]
[Since (7,0)]
[Export ("barStyle")]
UIBarStyle BarStyle { get; set; }
[Since (7,0)]
[Export ("translucent")]
bool Translucent { [Bind ("isTranslucent")] get; set; }
[iOS (10,0), TV (10,0)]
[NullAllowed, Export ("unselectedItemTintColor", ArgumentSemantic.Copy)]
UIColor UnselectedItemTintColor { get; set; }
2016-04-21 15:30:02 +03:00
}
[BaseType (typeof (UIViewController), Delegates=new string [] { "WeakDelegate" }, Events=new Type [] {typeof(UITabBarControllerDelegate)})]
interface UITabBarController : UITabBarDelegate {
2016-04-21 15:30:02 +03:00
[Export ("initWithNibName:bundle:")]
[PostGet ("NibBundle")]
IntPtr Constructor ([NullAllowed] string nibName, [NullAllowed] NSBundle bundle);
[NullAllowed] // by default this property is null
[Export ("viewControllers", ArgumentSemantic.Copy)]
#if !TVOS
[PostGet ("CustomizableViewControllers")]
#endif
[PostGet ("SelectedViewController")]
UIViewController [] ViewControllers { get; set; }
[Export ("setViewControllers:animated:")]
[PostGet ("ViewControllers")] // indirectly call PostGet on CustomizableViewControllers and SelectedViewController
void SetViewControllers (UIViewController [] viewControllers, bool animated);
[NullAllowed] // by default this property is null
[Export ("selectedViewController", ArgumentSemantic.Assign)]
UIViewController SelectedViewController { get; set; }
[Export ("selectedIndex")]
nint SelectedIndex { get; [PostGet ("SelectedViewController")] set; }
[NoTV]
[Export ("moreNavigationController")]
UINavigationController MoreNavigationController { get; }
[NoTV]
[Export ("customizableViewControllers", ArgumentSemantic.Copy)]
UIViewController [] CustomizableViewControllers { get; [NullAllowed] set; }
[Export ("tabBar")]
UITabBar TabBar { get; }
[Wrap ("WeakDelegate")]
[Protocolize]
UITabBarControllerDelegate Delegate { get; set; }
[Export ("delegate", ArgumentSemantic.Assign)][NullAllowed]
NSObject WeakDelegate { get; set; }
}
[BaseType (typeof (NSObject))]
[Model]
[Protocol]
interface UITabBarDelegate {
2016-04-21 15:30:02 +03:00
[Export ("tabBar:didSelectItem:"), EventArgs ("UITabBarItem")]
void ItemSelected (UITabBar tabbar, UITabBarItem item);
[NoTV]
[Export ("tabBar:willBeginCustomizingItems:"), EventArgs ("UITabBarItems")]
void WillBeginCustomizingItems (UITabBar tabbar, UITabBarItem [] items);
[NoTV]
[Export ("tabBar:didBeginCustomizingItems:"), EventArgs ("UITabBarItems")]
void DidBeginCustomizingItems (UITabBar tabbar, UITabBarItem [] items);
[NoTV]
[Export ("tabBar:willEndCustomizingItems:changed:"), EventArgs ("UITabBarFinalItems")]
void WillEndCustomizingItems (UITabBar tabbar, UITabBarItem [] items, bool changed);
[NoTV]
[Export ("tabBar:didEndCustomizingItems:changed:"), EventArgs ("UITabBarFinalItems")]
void DidEndCustomizingItems (UITabBar tabbar, UITabBarItem [] items, bool changed);
}
[BaseType (typeof (NSObject))]
[Model]
[Protocol]
interface UITabBarControllerDelegate {
2016-04-21 15:30:02 +03:00
[Export ("tabBarController:shouldSelectViewController:"), DefaultValue (true), DelegateName ("UITabBarSelection")]
bool ShouldSelectViewController (UITabBarController tabBarController, UIViewController viewController);
[Export ("tabBarController:didSelectViewController:"), EventArgs ("UITabBarSelection")]
void ViewControllerSelected (UITabBarController tabBarController, UIViewController viewController);
[NoTV]
[Export ("tabBarController:willBeginCustomizingViewControllers:"), EventArgs ("UITabBarCustomize")]
void OnCustomizingViewControllers (UITabBarController tabBarController, UIViewController [] viewControllers);
[NoTV]
[Export ("tabBarController:willEndCustomizingViewControllers:changed:"), EventArgs ("UITabBarCustomizeChange")]
void OnEndCustomizingViewControllers (UITabBarController tabBarController, UIViewController [] viewControllers, bool changed);
[NoTV]
[Export ("tabBarController:didEndCustomizingViewControllers:changed:"), EventArgs ("UITabBarCustomizeChange")]
void FinishedCustomizingViewControllers (UITabBarController tabBarController, UIViewController [] viewControllers, bool changed);
[NoTV]
[Since (7,0), Export ("tabBarControllerSupportedInterfaceOrientations:")]
[NoDefaultValue]
[DelegateName ("Func<UITabBarController,UIInterfaceOrientationMask>")]
UIInterfaceOrientationMask SupportedInterfaceOrientations (UITabBarController tabBarController);
[NoTV]
[Since (7,0), Export ("tabBarControllerPreferredInterfaceOrientationForPresentation:")]
[NoDefaultValue]
[DelegateName ("Func<UITabBarController,UIInterfaceOrientation>")]
UIInterfaceOrientation GetPreferredInterfaceOrientation (UITabBarController tabBarController);
[Since (7,0), Export ("tabBarController:interactionControllerForAnimationController:")]
[NoDefaultValue]
[DelegateName ("Func<UITabBarController,IUIViewControllerAnimatedTransitioning,IUIViewControllerInteractiveTransitioning>")]
IUIViewControllerInteractiveTransitioning GetInteractionControllerForAnimationController (UITabBarController tabBarController,
IUIViewControllerAnimatedTransitioning animationController);
[Since (7,0), Export ("tabBarController:animationControllerForTransitionFromViewController:toViewController:")]
[NoDefaultValue]
[DelegateName ("Func<UITabBarController,UIViewController,UIViewController,IUIViewControllerAnimatedTransitioning>")]
IUIViewControllerAnimatedTransitioning GetAnimationControllerForTransition (UITabBarController tabBarController,
UIViewController fromViewController,
UIViewController toViewController);
}
[BaseType (typeof (UIBarItem))]
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 UITabBarItem : NSCoding
#if IOS
, UISpringLoadedInteractionSupporting
#endif
{
2016-04-21 15:30:02 +03:00
[Export ("enabled")][Override]
bool Enabled { [Bind ("isEnabled")] get; set; }
[Export ("title", ArgumentSemantic.Copy)][Override]
[NullAllowed]
string Title { get;set; }
[Export ("image", ArgumentSemantic.Retain)][Override]
[NullAllowed]
UIImage Image { get; set; }
[Export ("imageInsets")][Override]
UIEdgeInsets ImageInsets { get; set; }
[Export ("tag")][Override]
nint Tag { get; set; }
[Export ("initWithTitle:image:tag:")]
[PostGet ("Image")]
IntPtr Constructor ([NullAllowed] string title, [NullAllowed] UIImage image, nint tag);
[Export ("initWithTabBarSystemItem:tag:")]
IntPtr Constructor (UITabBarSystemItem systemItem, nint tag);
[Export ("badgeValue", ArgumentSemantic.Copy)][NullAllowed]
string BadgeValue { get; set; }
[NoTV]
[Availability (Introduced = Platform.iOS_5_0, Deprecated = Platform.iOS_7_0, Message = "Use the '(string, UIImage, UIImage)' constructor or the 'Image' and 'SelectedImage' properties along with 'RenderingMode = UIImageRenderingMode.AlwaysOriginal'.")]
2016-04-21 15:30:02 +03:00
[Export ("setFinishedSelectedImage:withFinishedUnselectedImage:")]
[PostGet ("FinishedSelectedImage")]
[PostGet ("FinishedUnselectedImage")]
void SetFinishedImages ([NullAllowed] UIImage selectedImage, [NullAllowed] UIImage unselectedImage);
[NoTV]
[Availability (Introduced = Platform.iOS_5_0, Deprecated = Platform.iOS_7_0)]
[Export ("finishedSelectedImage")]
UIImage FinishedSelectedImage { get; }
[NoTV]
[Availability (Introduced = Platform.iOS_5_0, Deprecated = Platform.iOS_7_0)]
[Export ("finishedUnselectedImage")]
UIImage FinishedUnselectedImage { get; }
[Since (5,0)]
[Export ("titlePositionAdjustment")]
[Appearance]
UIOffset TitlePositionAdjustment { get; set; }
[Since (7,0)]
[Export ("initWithTitle:image:selectedImage:")]
[PostGet ("Image")]
[PostGet ("SelectedImage")]
IntPtr Constructor ([NullAllowed] string title, [NullAllowed] UIImage image, [NullAllowed] UIImage selectedImage);
[Since (7,0)]
[Export ("selectedImage", ArgumentSemantic.Retain)][NullAllowed]
UIImage SelectedImage { get; set; }
[iOS (10,0), TV (10,0)]
[NullAllowed, Export ("badgeColor", ArgumentSemantic.Copy)]
UIColor BadgeColor { get; set; }
[iOS (10,0), TV (10,0)]
[Export ("setBadgeTextAttributes:forState:")]
[Internal]
void SetBadgeTextAttributes ([NullAllowed] NSDictionary textAttributes, UIControlState state);
[iOS (10,0), TV (10,0)]
[Wrap ("SetBadgeTextAttributes (textAttributes == null ? null : textAttributes.Dictionary, state)")]
void SetBadgeTextAttributes (UIStringAttributes textAttributes, UIControlState state);
[iOS (10,0), TV (10,0)]
[Export ("badgeTextAttributesForState:")]
[Internal]
NSDictionary<NSString, NSObject> _GetBadgeTextAttributes (UIControlState state);
[iOS (10,0), TV (10,0)]
[Wrap ("new UIStringAttributes (_GetBadgeTextAttributes(state))")]
UIStringAttributes GetBadgeTextAttributes (UIControlState state);
2016-04-21 15:30:02 +03:00
}
[BaseType (typeof(UIScrollView))]
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 UITableView : NSCoding, UIDataSourceTranslating
#if IOS
, UISpringLoadedInteractionSupporting
#endif
{
2016-04-21 15:30:02 +03:00
[Export ("initWithFrame:")]
IntPtr Constructor (CGRect frame);
[DesignatedInitializer]
[Export ("initWithFrame:style:")]
IntPtr Constructor (CGRect frame, UITableViewStyle style);
[Export ("style")]
UITableViewStyle Style { get; }
[Export ("dataSource", ArgumentSemantic.Assign)][NullAllowed]
NSObject WeakDataSource { get; set; }
[Wrap ("WeakDataSource")]
[Protocolize]
UITableViewDataSource DataSource { get; set; }
[Export ("delegate", ArgumentSemantic.Assign)][New][NullAllowed]
NSObject WeakDelegate { get; set; }
[Wrap ("WeakDelegate")][New]
[Protocolize]
UITableViewDelegate Delegate { get; set; }
[Export ("rowHeight")]
nfloat RowHeight { get; set; }
[Export ("sectionHeaderHeight")]
nfloat SectionHeaderHeight { get; set; }
[Export ("sectionFooterHeight")]
nfloat SectionFooterHeight { get; set; }
[Export ("reloadData")]
void ReloadData ();
[Export ("reloadSectionIndexTitles")]
void ReloadSectionIndexTitles ();
[Export ("numberOfSections")]
nint NumberOfSections ();
[Export ("numberOfRowsInSection:")]
nint NumberOfRowsInSection (nint section);
[Export ("rectForSection:")]
CGRect RectForSection (nint section);
[Export ("rectForHeaderInSection:")]
CGRect RectForHeaderInSection (nint section);
[Export ("rectForFooterInSection:")]
CGRect RectForFooterInSection (nint section);
[Export ("rectForRowAtIndexPath:")]
CGRect RectForRowAtIndexPath (NSIndexPath indexPath);
[Export ("indexPathForRowAtPoint:")]
NSIndexPath IndexPathForRowAtPoint (CGPoint point);
[Export ("indexPathForCell:")]
NSIndexPath IndexPathForCell (UITableViewCell cell);
[Export ("indexPathsForRowsInRect:")][Internal]
IntPtr _IndexPathsForRowsInRect (CGRect rect);
[Export ("cellForRowAtIndexPath:")]
UITableViewCell CellAt (NSIndexPath ns);
[Export ("visibleCells")]
UITableViewCell [] VisibleCells { get; }
[Export ("indexPathsForVisibleRows")]
[NullAllowed]
NSIndexPath [] IndexPathsForVisibleRows { get; }
[Export ("scrollToRowAtIndexPath:atScrollPosition:animated:")]
void ScrollToRow (NSIndexPath indexPath, UITableViewScrollPosition atScrollPosition, bool animated);
[Export ("scrollToNearestSelectedRowAtScrollPosition:animated:")]
void ScrollToNearestSelected (UITableViewScrollPosition atScrollPosition, bool animated);
[Export ("beginUpdates")]
void BeginUpdates ();
[Export ("endUpdates")]
void EndUpdates ();
[Export ("insertSections:withRowAnimation:")]
void InsertSections (NSIndexSet sections, UITableViewRowAnimation withRowAnimation);
[Export ("deleteSections:withRowAnimation:")]
void DeleteSections (NSIndexSet sections, UITableViewRowAnimation withRowAnimation);
[Export ("reloadSections:withRowAnimation:")]
void ReloadSections (NSIndexSet sections, UITableViewRowAnimation withRowAnimation);
[Export ("insertRowsAtIndexPaths:withRowAnimation:")]
void InsertRows (NSIndexPath [] atIndexPaths, UITableViewRowAnimation withRowAnimation);
[Export ("deleteRowsAtIndexPaths:withRowAnimation:")]
void DeleteRows (NSIndexPath [] atIndexPaths, UITableViewRowAnimation withRowAnimation);
[Export ("reloadRowsAtIndexPaths:withRowAnimation:")]
void ReloadRows (NSIndexPath [] atIndexPaths, UITableViewRowAnimation withRowAnimation);
[Export ("editing")]
bool Editing { [Bind ("isEditing")] get; set; }
[Export ("setEditing:animated:")]
void SetEditing (bool editing, bool animated);
[Export ("allowsSelection")]
bool AllowsSelection { get; set; }
[Export ("allowsSelectionDuringEditing")]
bool AllowsSelectionDuringEditing { get; set; }
[Export ("indexPathForSelectedRow")]
NSIndexPath IndexPathForSelectedRow { get; }
[Export ("selectRowAtIndexPath:animated:scrollPosition:")]
void SelectRow ([NullAllowed] NSIndexPath indexPath, bool animated, UITableViewScrollPosition scrollPosition);
[Export ("deselectRowAtIndexPath:animated:")]
void DeselectRow ([NullAllowed] NSIndexPath indexPath, bool animated);
[Export ("sectionIndexMinimumDisplayRowCount")]
nint SectionIndexMinimumDisplayRowCount { get; set; }
[NoTV][NoWatch]
[Export ("separatorStyle")]
UITableViewCellSeparatorStyle SeparatorStyle { get; set; }
[NoTV]
[Export ("separatorColor", ArgumentSemantic.Retain)]
[Appearance]
[NullAllowed] // nullable (and spotted by introspection on iOS9)
UIColor SeparatorColor { get; set; }
[Export ("tableHeaderView", ArgumentSemantic.Retain), NullAllowed]
UIView TableHeaderView { get; set; }
[Export ("tableFooterView", ArgumentSemantic.Retain), NullAllowed]
UIView TableFooterView { get; set; }
[Export ("dequeueReusableCellWithIdentifier:")]
UITableViewCell DequeueReusableCell (string identifier);
[Export ("dequeueReusableCellWithIdentifier:")][Sealed]
UITableViewCell DequeueReusableCell (NSString identifier);
// 3.2
[Since (3,2)]
[Export ("backgroundView", ArgumentSemantic.Retain), NullAllowed]
UIView BackgroundView { get; set; }
[NoTV]
[Field ("UITableViewIndexSearch")]
NSString IndexSearch { get; }
[Since (5,0)]
[Field ("UITableViewAutomaticDimension")]
nfloat AutomaticDimension { get; }
[Since (5,0)]
[Export ("allowsMultipleSelection")]
bool AllowsMultipleSelection { get; set; }
[Since (5,0)]
[Export ("allowsMultipleSelectionDuringEditing")]
bool AllowsMultipleSelectionDuringEditing { get; set; }
[Since (5,0)]
[Export ("moveSection:toSection:")]
void MoveSection (nint fromSection, nint toSection);
[Since (5,0)]
[Export ("moveRowAtIndexPath:toIndexPath:")]
void MoveRow (NSIndexPath fromIndexPath, NSIndexPath toIndexPath);
[Since (5,0)]
[Export ("indexPathsForSelectedRows")]
NSIndexPath [] IndexPathsForSelectedRows { get; }
[Since (5,0)]
[Export ("registerNib:forCellReuseIdentifier:")]
#if XAMCORE_2_0
void RegisterNibForCellReuse ([NullAllowed] UINib nib, NSString reuseIdentifier);
#else
void RegisterNibForCellReuse ([NullAllowed] UINib nib, string reuseIdentifier);
#endif
[Field ("UITableViewSelectionDidChangeNotification")]
[Notification]
NSString SelectionDidChangeNotification { get; }
//
// 6.0
//
[Since(6,0)]
[Appearance]
[NullAllowed]
[Export ("sectionIndexColor", ArgumentSemantic.Retain)]
UIColor SectionIndexColor { get; set; }
[Since(6,0)]
[Appearance]
[NullAllowed]
[Export ("sectionIndexTrackingBackgroundColor", ArgumentSemantic.Retain)]
UIColor SectionIndexTrackingBackgroundColor { get; set; }
[Since(6,0)]
[Export ("headerViewForSection:")]
UITableViewHeaderFooterView GetHeaderView (nint section);
[Since(6,0)]
[Export ("footerViewForSection:")]
UITableViewHeaderFooterView GetFooterView (nint section);
[Since(6,0)]
[Export ("dequeueReusableCellWithIdentifier:forIndexPath:")]
UITableViewCell DequeueReusableCell (NSString reuseIdentifier, NSIndexPath indexPath);
[Since(6,0)]
[Export ("dequeueReusableHeaderFooterViewWithIdentifier:")]
UITableViewHeaderFooterView DequeueReusableHeaderFooterView (NSString reuseIdentifier);
[Since(6,0)]
[Export ("registerClass:forCellReuseIdentifier:"), Internal]
void RegisterClassForCellReuse (IntPtr /*Class*/ cellClass, NSString reuseIdentifier);
[Since (6,0)]
[Export ("registerNib:forHeaderFooterViewReuseIdentifier:")]
#if XAMCORE_2_0
void RegisterNibForHeaderFooterViewReuse (UINib nib, NSString reuseIdentifier);
#else
void RegisterNibForHeaderFooterViewReuse (UINib nib, string reuseIdentifier);
#endif
[Since (6,0)]
[Export ("registerClass:forHeaderFooterViewReuseIdentifier:"), Internal]
void RegisterClassForHeaderFooterViewReuse (IntPtr /*Class*/ aClass, NSString reuseIdentifier);
//
// 7.0
//
[Since (7,0)]
[Export ("estimatedRowHeight", ArgumentSemantic.Assign)]
nfloat EstimatedRowHeight { get; set; }
[Since (7,0)]
[Export ("estimatedSectionHeaderHeight", ArgumentSemantic.Assign)]
nfloat EstimatedSectionHeaderHeight { get; set; }
[Since (7,0)]
[Export ("estimatedSectionFooterHeight", ArgumentSemantic.Assign)]
nfloat EstimatedSectionFooterHeight { get; set; }
[Since (7,0)]
[Appearance]
[NullAllowed] // by default this property is null
[Export ("sectionIndexBackgroundColor", ArgumentSemantic.Retain)]
UIColor SectionIndexBackgroundColor { get; set; }
[Since (7,0)]
[Appearance]
[Export ("separatorInset")]
UIEdgeInsets SeparatorInset { get; set; }
[NoTV]
[iOS (8,0)]
[NullAllowed] // by default this property is null
[Export ("separatorEffect", ArgumentSemantic.Copy)]
[Appearance]
UIVisualEffect SeparatorEffect { get; set; }
[iOS (9,0)]
[Export ("cellLayoutMarginsFollowReadableWidth")]
bool CellLayoutMarginsFollowReadableWidth { get; set; }
[iOS (9,0)] // added in Xcode 7.1 / iOS 9.1 SDK
[Export ("remembersLastFocusedIndexPath")]
bool RemembersLastFocusedIndexPath { get; set; }
[iOS (10,0), TV (10,0)]
[NullAllowed, Export ("prefetchDataSource", ArgumentSemantic.Weak)]
IUITableViewDataSourcePrefetching PrefetchDataSource { 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
[NoWatch, NoTV]
[iOS (11,0)]
[NullAllowed, Export ("dragDelegate", ArgumentSemantic.Weak)]
IUITableViewDragDelegate DragDelegate { get; set; }
[NoWatch, NoTV]
[iOS (11,0)]
[NullAllowed, Export ("dropDelegate", ArgumentSemantic.Weak)]
IUITableViewDropDelegate DropDelegate { get; set; }
[NoWatch]
[TV (11,0), iOS (11,0)]
[Export ("separatorInsetReference", ArgumentSemantic.Assign)]
UITableViewSeparatorInsetReference SeparatorInsetReference { get; set; }
[NoWatch]
[TV (11,0), iOS (11,0)]
[Async]
[Export ("performBatchUpdates:completion:")]
void PerformBatchUpdates ([NullAllowed] Action updates, [NullAllowed] Action<bool> completion);
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
[NoWatch]
[TV (11,0), iOS (11,0)]
[Export ("hasUncommittedUpdates")]
bool HasUncommittedUpdates { get; }
[NoWatch, NoTV]
[iOS (11,0)]
[Export ("dragInteractionEnabled")]
bool DragInteractionEnabled { get; set; }
[NoWatch, NoTV]
[iOS (11,0)]
[Export ("hasActiveDrag")]
bool HasActiveDrag { get; }
[NoWatch, NoTV]
[iOS (11,0)]
[Export ("hasActiveDrop")]
bool HasActiveDrop { get; }
[NoWatch]
[TV (11,0), iOS (11,0)]
[Export ("insetsContentViewsToSafeArea")]
bool InsetsContentViewsToSafeArea { get; set; }
2016-04-21 15:30:02 +03:00
}
interface IUITableViewDataSourcePrefetching {}
[iOS (10,0)]
[Protocol]
interface UITableViewDataSourcePrefetching
{
[Abstract]
[Export ("tableView:prefetchRowsAtIndexPaths:")]
void PrefetchRows (UITableView tableView, NSIndexPath[] indexPaths);
[Export ("tableView:cancelPrefetchingForRowsAtIndexPaths:")]
void CancelPrefetching (UITableView tableView, NSIndexPath[] indexPaths);
}
2016-04-21 15:30:02 +03:00
//
// This mixed both the UITableViewDataSource and UITableViewDelegate in a single class
//
[Model]
[BaseType (typeof (UIScrollViewDelegate))]
[Synthetic]
interface UITableViewSource {
2016-04-21 15:30:02 +03:00
[Export ("tableView:numberOfRowsInSection:")]
[Abstract]
#if XAMCORE_4_0
nint RowsInSection (UITableView tableView, nint section);
#else
nint RowsInSection (UITableView tableview, nint section);
#endif
2016-04-21 15:30:02 +03:00
[Export ("tableView:cellForRowAtIndexPath:")]
[Abstract]
UITableViewCell GetCell (UITableView tableView, NSIndexPath indexPath);
[Export ("numberOfSectionsInTableView:")]
nint NumberOfSections (UITableView tableView);
[Export ("tableView:titleForHeaderInSection:")]
string TitleForHeader (UITableView tableView, nint section);
[Export ("tableView:titleForFooterInSection:")]
string TitleForFooter (UITableView tableView, nint section);
[Export ("tableView:canEditRowAtIndexPath:")]
bool CanEditRow (UITableView tableView, NSIndexPath indexPath);
[Export ("tableView:canMoveRowAtIndexPath:")]
bool CanMoveRow (UITableView tableView, NSIndexPath indexPath);
[TV (10,2)]
2016-04-21 15:30:02 +03:00
[Export ("sectionIndexTitlesForTableView:")]
string [] SectionIndexTitles (UITableView tableView);
[TV (10,2)] // <- Header removed __TVOS_PROHIBITED;
2016-04-21 15:30:02 +03:00
[Export ("tableView:sectionForSectionIndexTitle:atIndex:")]
nint SectionFor (UITableView tableView, string title, nint atIndex);
[Export ("tableView:commitEditingStyle:forRowAtIndexPath:")]
void CommitEditingStyle (UITableView tableView, UITableViewCellEditingStyle editingStyle, NSIndexPath indexPath);
[Export ("tableView:moveRowAtIndexPath:toIndexPath:")]
void MoveRow (UITableView tableView, NSIndexPath sourceIndexPath, NSIndexPath destinationIndexPath);
[Export ("tableView:willDisplayCell:forRowAtIndexPath:")]
void WillDisplay (UITableView tableView, UITableViewCell cell, NSIndexPath indexPath);
[Export ("tableView:heightForRowAtIndexPath:")]
nfloat GetHeightForRow (UITableView tableView, NSIndexPath indexPath);
[Export ("tableView:heightForHeaderInSection:")]
nfloat GetHeightForHeader (UITableView tableView, nint section);
[Export ("tableView:heightForFooterInSection:")]
nfloat GetHeightForFooter (UITableView tableView, nint section);
[Export ("tableView:viewForHeaderInSection:")]
UIView GetViewForHeader (UITableView tableView, nint section);
[Export ("tableView:viewForFooterInSection:")]
UIView GetViewForFooter (UITableView tableView, nint section);
#if !XAMCORE_3_0
[Availability (Introduced = Platform.iOS_2_0, Deprecated = Platform.iOS_3_0)]
[Export ("tableView:accessoryTypeForRowWithIndexPath:")]
UITableViewCellAccessory AccessoryForRow (UITableView tableView, NSIndexPath indexPath);
#endif
[Export ("tableView:accessoryButtonTappedForRowWithIndexPath:")]
void AccessoryButtonTapped (UITableView tableView, NSIndexPath indexPath);
[Export ("tableView:willSelectRowAtIndexPath:")]
NSIndexPath WillSelectRow (UITableView tableView, NSIndexPath indexPath);
[Export ("tableView:willDeselectRowAtIndexPath:")]
NSIndexPath WillDeselectRow (UITableView tableView, NSIndexPath indexPath);
[Export ("tableView:didSelectRowAtIndexPath:")]
void RowSelected (UITableView tableView, NSIndexPath indexPath);
[Export ("tableView:didDeselectRowAtIndexPath:")]
void RowDeselected (UITableView tableView, NSIndexPath indexPath);
[Export ("tableView:editingStyleForRowAtIndexPath:")]
UITableViewCellEditingStyle EditingStyleForRow (UITableView tableView, NSIndexPath indexPath);
[NoTV]
[Export ("tableView:titleForDeleteConfirmationButtonForRowAtIndexPath:")]
string TitleForDeleteConfirmation (UITableView tableView, NSIndexPath indexPath);
[Export ("tableView:shouldIndentWhileEditingRowAtIndexPath:")]
bool ShouldIndentWhileEditing (UITableView tableView, NSIndexPath indexPath);
[NoTV]
[Export ("tableView:willBeginEditingRowAtIndexPath:")]
void WillBeginEditing (UITableView tableView, NSIndexPath indexPath);
[NoTV]
[Export ("tableView:didEndEditingRowAtIndexPath:")]
void DidEndEditing (UITableView tableView, [NullAllowed] NSIndexPath indexPath);
2016-04-21 15:30:02 +03:00
[Export ("tableView:targetIndexPathForMoveFromRowAtIndexPath:toProposedIndexPath:")]
NSIndexPath CustomizeMoveTarget (UITableView tableView, NSIndexPath sourceIndexPath, NSIndexPath proposedIndexPath);
[Export ("tableView:indentationLevelForRowAtIndexPath:")]
nint IndentationLevel (UITableView tableView, NSIndexPath indexPath);
// Copy Paste support
[Since (5,0)]
[Export ("tableView:shouldShowMenuForRowAtIndexPath:")]
bool ShouldShowMenu (UITableView tableView, NSIndexPath rowAtindexPath);
[Since (5,0)]
[Export ("tableView:canPerformAction:forRowAtIndexPath:withSender:")]
bool CanPerformAction (UITableView tableView, Selector action, NSIndexPath indexPath, [NullAllowed] NSObject sender);
[Since (5,0)]
[Export ("tableView:performAction:forRowAtIndexPath:withSender:")]
void PerformAction (UITableView tableView, Selector action, NSIndexPath indexPath, [NullAllowed] NSObject sender);
[Since(6,0)]
[Export ("tableView:willDisplayHeaderView:forSection:")]
void WillDisplayHeaderView (UITableView tableView, UIView headerView, nint section);
[Since(6,0)]
[Export ("tableView:willDisplayFooterView:forSection:")]
void WillDisplayFooterView (UITableView tableView, UIView footerView, nint section);
[Since(6,0)]
[Export ("tableView:didEndDisplayingCell:forRowAtIndexPath:")]
void CellDisplayingEnded (UITableView tableView, UITableViewCell cell, NSIndexPath indexPath);
[Since(6,0)]
[Export ("tableView:didEndDisplayingHeaderView:forSection:")]
void HeaderViewDisplayingEnded (UITableView tableView, UIView headerView, nint section);
[Since(6,0)]
[Export ("tableView:didEndDisplayingFooterView:forSection:")]
void FooterViewDisplayingEnded (UITableView tableView, UIView footerView, nint section);
[Since(6,0)]
[Export ("tableView:shouldHighlightRowAtIndexPath:")]
bool ShouldHighlightRow (UITableView tableView, NSIndexPath rowIndexPath);
[Since(6,0)]
[Export ("tableView:didHighlightRowAtIndexPath:")]
void RowHighlighted (UITableView tableView, NSIndexPath rowIndexPath);
[Since(6,0)]
[Export ("tableView:didUnhighlightRowAtIndexPath:")]
void RowUnhighlighted (UITableView tableView, NSIndexPath rowIndexPath);
[Since (7,0)]
[Export ("tableView:estimatedHeightForRowAtIndexPath:")]
nfloat EstimatedHeight (UITableView tableView, NSIndexPath indexPath);
[Since (7,0)]
[Export ("tableView:estimatedHeightForHeaderInSection:")]
nfloat EstimatedHeightForHeader (UITableView tableView, nint section);
[Since (7,0)]
[Export ("tableView:estimatedHeightForFooterInSection:")]
nfloat EstimatedHeightForFooter (UITableView tableView, nint section);
[NoTV]
[iOS (8,0)]
[Export ("tableView:editActionsForRowAtIndexPath:")]
UITableViewRowAction [] EditActionsForRow (UITableView tableView, NSIndexPath indexPath);
[iOS (9,0)]
[Export ("tableView:canFocusRowAtIndexPath:")]
bool CanFocusRow (UITableView tableView, NSIndexPath indexPath);
[iOS (9,0)]
[Export ("tableView:shouldUpdateFocusInContext:")]
bool ShouldUpdateFocus (UITableView tableView, UITableViewFocusUpdateContext context);
[iOS (9,0)]
[Export ("tableView:didUpdateFocusInContext:withAnimationCoordinator:")]
void DidUpdateFocus (UITableView tableView, UITableViewFocusUpdateContext context, UIFocusAnimationCoordinator coordinator);
[iOS (9,0)]
[Export ("indexPathForPreferredFocusedViewInTableView:")]
[return: NullAllowed]
NSIndexPath GetIndexPathForPreferredFocusedView (UITableView tableView);
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
[NoWatch, NoTV]
[iOS (11,0)]
[Export ("tableView:leadingSwipeActionsConfigurationForRowAtIndexPath:")]
[return: NullAllowed]
UISwipeActionsConfiguration GetLeadingSwipeActionsConfiguration (UITableView tableView, NSIndexPath indexPath);
[NoWatch, NoTV]
[iOS (11,0)]
[Export ("tableView:trailingSwipeActionsConfigurationForRowAtIndexPath:")]
[return: NullAllowed]
UISwipeActionsConfiguration GetTrailingSwipeActionsConfiguration (UITableView tableView, NSIndexPath indexPath);
[NoWatch, NoTV]
[iOS (11,0)]
[Export ("tableView:shouldSpringLoadRowAtIndexPath:withContext:")]
bool ShouldSpringLoadRow (UITableView tableView, NSIndexPath indexPath, IUISpringLoadedInteractionContext context);
2016-04-21 15:30:02 +03:00
// WARNING: If you add more methods here, add them to UITableViewController as well.
}
[BaseType (typeof (UIView))]
interface UITableViewCell : NSCoding, UIGestureRecognizerDelegate {
2016-04-21 15:30:02 +03:00
[Export ("initWithFrame:")]
IntPtr Constructor (CGRect frame);
[DesignatedInitializer]
[Export ("initWithStyle:reuseIdentifier:")]
IntPtr Constructor (UITableViewCellStyle style, [NullAllowed] NSString reuseIdentifier);
[Export ("imageView", ArgumentSemantic.Retain)]
UIImageView ImageView { get; }
[Export ("textLabel", ArgumentSemantic.Retain)]
UILabel TextLabel { get; }
[Export ("detailTextLabel", ArgumentSemantic.Retain)]
UILabel DetailTextLabel { get; }
[Export ("contentView", ArgumentSemantic.Retain)]
UIView ContentView { get; }
[Export ("backgroundView", ArgumentSemantic.Retain), NullAllowed]
UIView BackgroundView { get; set; }
[Export ("selectedBackgroundView", ArgumentSemantic.Retain), NullAllowed]
UIView SelectedBackgroundView { get; set; }
[Export ("reuseIdentifier", ArgumentSemantic.Copy)]
#if XAMCORE_2_0
NSString ReuseIdentifier { get; }
#else
string ReuseIdentifier { get; }
#endif
[Export ("prepareForReuse")]
void PrepareForReuse ();
[Export ("selectionStyle")]
UITableViewCellSelectionStyle SelectionStyle { get; set; }
[Export ("selected")]
bool Selected { [Bind ("isSelected")] get; set; }
[Export ("highlighted")]
bool Highlighted { [Bind ("isHighlighted")] get; set; }
[Export ("setSelected:animated:")]
void SetSelected (bool selected, bool animated);
[Export ("setHighlighted:animated:")]
void SetHighlighted (bool highlighted, bool animated);
[Export ("editingStyle")]
UITableViewCellEditingStyle EditingStyle { get; }
[Export ("showsReorderControl")]
bool ShowsReorderControl { get; set; }
[Export ("shouldIndentWhileEditing")]
bool ShouldIndentWhileEditing { get; set; }
[Export ("accessoryType")]
UITableViewCellAccessory Accessory { get; set; }
[Export ("accessoryView", ArgumentSemantic.Retain)][NullAllowed]
UIView AccessoryView { get; [NullAllowed] set; }
[Export ("editingAccessoryType")]
UITableViewCellAccessory EditingAccessory { get; set; }
[Export ("editingAccessoryView", ArgumentSemantic.Retain)][NullAllowed]
UIView EditingAccessoryView { get; set; }
[Export ("indentationLevel")]
nint IndentationLevel { get; set; }
[Export ("indentationWidth")]
nfloat IndentationWidth { get; set; }
[Export ("editing")]
bool Editing { [Bind ("isEditing")] get; set; }
[Export ("setEditing:animated:")]
void SetEditing (bool editing, bool animated);
[Export ("showingDeleteConfirmation")]
bool ShowingDeleteConfirmation { get; [NotImplemented] set; }
[Export ("willTransitionToState:")]
void WillTransitionToState (UITableViewCellState mask);
[Export ("didTransitionToState:")]
void DidTransitionToState (UITableViewCellState mask);
[Since (5,0)]
[Export ("multipleSelectionBackgroundView", ArgumentSemantic.Retain), NullAllowed]
UIView MultipleSelectionBackgroundView { get; set; }
[NoTV]
[Since (7,0)]
[Export ("separatorInset")]
UIEdgeInsets SeparatorInset { get; set; }
[iOS (9,0)] // introduced in Xcode 7.1 SDK (iOS 9.1 but hidden in 9.0)
[Export ("focusStyle", ArgumentSemantic.Assign)]
UITableViewCellFocusStyle FocusStyle { 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
[NoWatch, NoTV]
[iOS (11,0)]
[Export ("dragStateDidChange:")]
void DragStateDidChange (UITableViewCellDragState dragState);
[NoWatch, NoTV]
[iOS (11,0)]
[Export ("userInteractionEnabledWhileDragging")]
bool UserInteractionEnabledWhileDragging { get; set; }
2016-04-21 15:30:02 +03:00
}
[BaseType (typeof (UIViewController))]
interface UITableViewController : UITableViewDataSource, UITableViewDelegate {
2016-04-21 15:30:02 +03:00
[DesignatedInitializer]
[Export ("initWithNibName:bundle:")]
[PostGet ("NibBundle")]
IntPtr Constructor ([NullAllowed] string nibName, [NullAllowed] NSBundle bundle);
[DesignatedInitializer]
[Export ("initWithStyle:")]
IntPtr Constructor (UITableViewStyle withStyle);
[Export ("tableView", ArgumentSemantic.Retain)]
UITableView TableView { get; set; }
[Since (3,2)]
[Export ("clearsSelectionOnViewWillAppear")]
bool ClearsSelectionOnViewWillAppear { get; set; }
Bump Xcode version to beta 2 (#349) Fix issues with monotouch-tests with beta2 * TLSMaximumSupportedProtocol returns Unknown, which also means default, instead of SslProtocol.Tls_1_2 * Setting NSZone.Name crash the app * The MDLMesh tests are broken in a different way than beta1 * [callkit] Disable CTCallCenter default ctor as it breaks introspection > [FAIL] Default constructor not allowed for CoreTelephony.CTCallCenter : SIGILL The exception, that we catch, puts the process in an unstable state. This cause weird results and crash later (wrong dispatch queue on main thread) when testing MapKit. Crashed Thread: 0 tid_a07 Dispatch queue: CTCallCenter Exception Type: EXC_BAD_ACCESS (SIGABRT) Exception Codes: KERN_INVALID_ADDRESS at 0x0000000000000004 Exception Note: EXC_CORPSE_NOTIFY VM Regions Near 0x4: --> __TEXT 0000000000097000-00000000004d2000 [ 4332K] r-x/rwx SM=COW /Users/USER/Library/Developer/CoreSimulator/Devices/9446B344-62A2-42A8-A8EE-9FE7AC6BA5C8/data/Containers/Bundle/Application/81183608-DADF-4226-B7FE-4B43759D679A/introspection.app/introspection Application Specific Information: BUG IN CLIENT OF LIBDISPATCH: dispatch_barrier_sync called on queue already owned by current thread abort() called CoreSimulator 278 - Device: iPhone 5 - Runtime: iOS 10.0 (14A5297c) - DeviceType: iPhone 5 Some beta2 adjustments (removals) to get green tests and be able to merge it so bindings of beta2 can start * [tests] NEFlowMetaData conformance to NSSecureCoding and NSCopying is new in beta2 (and check fails on OSX 10.11) * [uikit] Add [UIScrollView|UITableViewController].refreshControl to fix monotouch-test build UIRefreshControlHosting was removed in beta2 but we still need the refreshControl property on UIScrollView and UITableViewController to build monotouch-test
2016-07-07 20:10:24 +03:00
[NoTV][iOS (6,0)]
[NullAllowed, Export ("refreshControl", ArgumentSemantic.Strong)]
UIRefreshControl RefreshControl { get; set; }
2016-04-21 15:30:02 +03:00
}
[BaseType (typeof (NSObject))]
[Model]
[Protocol]
interface UITableViewDataSource {
2016-04-21 15:30:02 +03:00
[Export ("tableView:numberOfRowsInSection:")]
[Abstract]
nint RowsInSection (UITableView tableView, nint section);
[Export ("tableView:cellForRowAtIndexPath:")]
[Abstract]
UITableViewCell GetCell (UITableView tableView, NSIndexPath indexPath);
[Export ("numberOfSectionsInTableView:")]
nint NumberOfSections (UITableView tableView);
[Export ("tableView:titleForHeaderInSection:")]
string TitleForHeader (UITableView tableView, nint section);
[Export ("tableView:titleForFooterInSection:")]
string TitleForFooter (UITableView tableView, nint section);
[Export ("tableView:canEditRowAtIndexPath:")]
bool CanEditRow (UITableView tableView, NSIndexPath indexPath);
[Export ("tableView:canMoveRowAtIndexPath:")]
bool CanMoveRow (UITableView tableView, NSIndexPath indexPath);
[TV (10,2)]
2016-04-21 15:30:02 +03:00
[Export ("sectionIndexTitlesForTableView:")]
string [] SectionIndexTitles (UITableView tableView);
[TV (10,2)]
2016-04-21 15:30:02 +03:00
[Export ("tableView:sectionForSectionIndexTitle:atIndex:")]
nint SectionFor (UITableView tableView, string title, nint atIndex);
[Export ("tableView:commitEditingStyle:forRowAtIndexPath:")]
void CommitEditingStyle (UITableView tableView, UITableViewCellEditingStyle editingStyle, NSIndexPath indexPath);
[Export ("tableView:moveRowAtIndexPath:toIndexPath:")]
void MoveRow (UITableView tableView, NSIndexPath sourceIndexPath, NSIndexPath destinationIndexPath);
}
[BaseType (typeof (UIScrollViewDelegate))]
[Model]
[Protocol]
interface UITableViewDelegate {
2016-04-21 15:30:02 +03:00
[Export ("tableView:willDisplayCell:forRowAtIndexPath:")]
void WillDisplay (UITableView tableView, UITableViewCell cell, NSIndexPath indexPath);
[Export ("tableView:heightForRowAtIndexPath:")]
nfloat GetHeightForRow (UITableView tableView, NSIndexPath indexPath);
[Export ("tableView:heightForHeaderInSection:")]
nfloat GetHeightForHeader (UITableView tableView, nint section);
[Export ("tableView:heightForFooterInSection:")]
nfloat GetHeightForFooter (UITableView tableView, nint section);
[Export ("tableView:viewForHeaderInSection:")]
UIView GetViewForHeader (UITableView tableView, nint section);
[Export ("tableView:viewForFooterInSection:")]
UIView GetViewForFooter (UITableView tableView, nint section);
#if !XAMCORE_3_0
[Availability (Introduced = Platform.iOS_2_0, Deprecated = Platform.iOS_3_0)]
[Export ("tableView:accessoryTypeForRowWithIndexPath:")]
UITableViewCellAccessory AccessoryForRow (UITableView tableView, NSIndexPath indexPath);
#endif
[Export ("tableView:accessoryButtonTappedForRowWithIndexPath:")]
void AccessoryButtonTapped (UITableView tableView, NSIndexPath indexPath);
[Export ("tableView:willSelectRowAtIndexPath:")]
NSIndexPath WillSelectRow (UITableView tableView, NSIndexPath indexPath);
[Export ("tableView:willDeselectRowAtIndexPath:")]
NSIndexPath WillDeselectRow (UITableView tableView, NSIndexPath indexPath);
[Export ("tableView:didSelectRowAtIndexPath:")]
void RowSelected (UITableView tableView, NSIndexPath indexPath);
[Export ("tableView:didDeselectRowAtIndexPath:")]
void RowDeselected (UITableView tableView, NSIndexPath indexPath);
[Export ("tableView:editingStyleForRowAtIndexPath:")]
UITableViewCellEditingStyle EditingStyleForRow (UITableView tableView, NSIndexPath indexPath);
[NoTV]
[Export ("tableView:titleForDeleteConfirmationButtonForRowAtIndexPath:")]
string TitleForDeleteConfirmation (UITableView tableView, NSIndexPath indexPath);
[Export ("tableView:shouldIndentWhileEditingRowAtIndexPath:")]
bool ShouldIndentWhileEditing (UITableView tableView, NSIndexPath indexPath);
[NoTV]
[Export ("tableView:willBeginEditingRowAtIndexPath:")]
void WillBeginEditing (UITableView tableView, NSIndexPath indexPath);
[NoTV]
[Export ("tableView:didEndEditingRowAtIndexPath:")]
void DidEndEditing (UITableView tableView, NSIndexPath indexPath);
[Export ("tableView:targetIndexPathForMoveFromRowAtIndexPath:toProposedIndexPath:")]
NSIndexPath CustomizeMoveTarget (UITableView tableView, NSIndexPath sourceIndexPath, NSIndexPath proposedIndexPath);
[Export ("tableView:indentationLevelForRowAtIndexPath:")]
nint IndentationLevel (UITableView tableView, NSIndexPath indexPath);
// Copy Paste support
[Since (5,0)]
[Export ("tableView:shouldShowMenuForRowAtIndexPath:")]
bool ShouldShowMenu (UITableView tableView, NSIndexPath rowAtindexPath);
[Since (5,0)]
[Export ("tableView:canPerformAction:forRowAtIndexPath:withSender:")]
bool CanPerformAction (UITableView tableView, Selector action, NSIndexPath indexPath, NSObject sender);
[Since (5,0)]
[Export ("tableView:performAction:forRowAtIndexPath:withSender:")]
void PerformAction (UITableView tableView, Selector action, NSIndexPath indexPath, NSObject sender);
[Since(6,0)]
[Export ("tableView:willDisplayHeaderView:forSection:")]
void WillDisplayHeaderView (UITableView tableView, UIView headerView, nint section);
[Since(6,0)]
[Export ("tableView:willDisplayFooterView:forSection:")]
void WillDisplayFooterView (UITableView tableView, UIView footerView, nint section);
[Since(6,0)]
[Export ("tableView:didEndDisplayingCell:forRowAtIndexPath:")]
void CellDisplayingEnded (UITableView tableView, UITableViewCell cell, NSIndexPath indexPath);
[Since(6,0)]
[Export ("tableView:didEndDisplayingHeaderView:forSection:")]
void HeaderViewDisplayingEnded (UITableView tableView, UIView headerView, nint section);
[Since(6,0)]
[Export ("tableView:didEndDisplayingFooterView:forSection:")]
void FooterViewDisplayingEnded (UITableView tableView, UIView footerView, nint section);
[Since(6,0)]
[Export ("tableView:shouldHighlightRowAtIndexPath:")]
bool ShouldHighlightRow (UITableView tableView, NSIndexPath rowIndexPath);
[Since(6,0)]
[Export ("tableView:didHighlightRowAtIndexPath:")]
void RowHighlighted (UITableView tableView, NSIndexPath rowIndexPath);
[Since(6,0)]
[Export ("tableView:didUnhighlightRowAtIndexPath:")]
void RowUnhighlighted (UITableView tableView, NSIndexPath rowIndexPath);
[Since (7,0)]
[Export ("tableView:estimatedHeightForRowAtIndexPath:")]
nfloat EstimatedHeight (UITableView tableView, NSIndexPath indexPath);
[Since (7,0)]
[Export ("tableView:estimatedHeightForHeaderInSection:")]
nfloat EstimatedHeightForHeader (UITableView tableView, nint section);
[Since (7,0)]
[Export ("tableView:estimatedHeightForFooterInSection:")]
nfloat EstimatedHeightForFooter (UITableView tableView, nint section);
[NoTV]
[iOS (8,0)]
[Export ("tableView:editActionsForRowAtIndexPath:")]
UITableViewRowAction [] EditActionsForRow (UITableView tableView, NSIndexPath indexPath);
[iOS (9,0)]
[Export ("tableView:canFocusRowAtIndexPath:")]
bool CanFocusRow (UITableView tableView, NSIndexPath indexPath);
[iOS (9,0)]
[Export ("tableView:shouldUpdateFocusInContext:")]
bool ShouldUpdateFocus (UITableView tableView, UITableViewFocusUpdateContext context);
[iOS (9,0)]
[Export ("tableView:didUpdateFocusInContext:withAnimationCoordinator:")]
void DidUpdateFocus (UITableView tableView, UITableViewFocusUpdateContext context, UIFocusAnimationCoordinator coordinator);
[iOS (9,0)]
[Export ("indexPathForPreferredFocusedViewInTableView:")]
[return: NullAllowed]
NSIndexPath GetIndexPathForPreferredFocusedView (UITableView tableView);
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
[NoWatch, NoTV]
[iOS (11,0)]
[Export ("tableView:leadingSwipeActionsConfigurationForRowAtIndexPath:")]
[return: NullAllowed]
UISwipeActionsConfiguration GetLeadingSwipeActionsConfiguration (UITableView tableView, NSIndexPath indexPath);
[NoWatch, NoTV]
[iOS (11,0)]
[Export ("tableView:trailingSwipeActionsConfigurationForRowAtIndexPath:")]
[return: NullAllowed]
UISwipeActionsConfiguration GetTrailingSwipeActionsConfiguration (UITableView tableView, NSIndexPath indexPath);
[NoWatch, NoTV]
[iOS (11,0)]
[Export ("tableView:shouldSpringLoadRowAtIndexPath:withContext:")]
bool ShouldSpringLoadRow (UITableView tableView, NSIndexPath indexPath, IUISpringLoadedInteractionContext context);
2016-04-21 15:30:02 +03:00
}
[Since (6,0)]
[BaseType (typeof (UIView))]
interface UITableViewHeaderFooterView : UIAppearance, NSCoding {
2016-04-21 15:30:02 +03:00
[Export ("initWithFrame:")]
IntPtr Constructor (CGRect frame);
[Export ("textLabel", ArgumentSemantic.Retain)]
UILabel TextLabel { get; }
[Export ("detailTextLabel", ArgumentSemantic.Retain)]
UILabel DetailTextLabel { get; }
[Export ("contentView", ArgumentSemantic.Retain)]
UIView ContentView { get; }
[NullAllowed] // by default this property is null
[Export ("backgroundView", ArgumentSemantic.Retain)]
UIView BackgroundView { get; set; }
[Export ("reuseIdentifier", ArgumentSemantic.Copy)]
NSString ReuseIdentifier { get; }
[DesignatedInitializer]
[Export ("initWithReuseIdentifier:")]
IntPtr Constructor (NSString reuseIdentifier);
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
[Advice ("You must call the base method when overriding.")] // [RequiresSuper]
2016-04-21 15:30:02 +03:00
[Export ("prepareForReuse")]
void PrepareForReuse ();
}
[NoTV]
[iOS (8,0)]
[BaseType (typeof (NSObject))]
interface UITableViewRowAction : NSCopying {
2016-04-21 15:30:02 +03:00
[Export ("style")]
UITableViewRowActionStyle Style { get; }
[NullAllowed] // by default this property is null
[Export ("title")]
string Title { get; set; }
[NullAllowed] // by default this property is null
[Export ("backgroundColor", ArgumentSemantic.Copy)]
UIColor BackgroundColor { get; set; }
[NullAllowed] // by default this property is null
[Export ("backgroundEffect", ArgumentSemantic.Copy)]
UIVisualEffect BackgroundEffect { get; set; }
[Static, Export ("rowActionWithStyle:title:handler:")]
UITableViewRowAction Create (UITableViewRowActionStyle style, [NullAllowed] string title, Action<UITableViewRowAction, NSIndexPath> handler);
}
[BaseType (typeof (UIControl), Delegates=new string [] { "WeakDelegate" })]
// , Events=new Type [] {typeof(UITextFieldDelegate)})] custom logic needed, see https://bugzilla.xamarin.com/show_bug.cgi?id=53174
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 UITextField : UITextInput, UIContentSizeCategoryAdjusting
#if IOS
, UITextDraggable, UITextDroppable, UITextPasteConfigurationSupporting
#endif // IOS
{
2016-04-21 15:30:02 +03:00
[Export ("initWithFrame:")]
IntPtr Constructor (CGRect frame);
[Export ("text", ArgumentSemantic.Copy)]
string Text { get; [NullAllowed] set; }
[Export ("textColor", ArgumentSemantic.Retain)]
UIColor TextColor { get; [NullAllowed] set; }
[Export ("font", ArgumentSemantic.Retain)]
UIFont Font { get; [NullAllowed] set; }
[Export ("textAlignment")]
UITextAlignment TextAlignment { get; set; }
[Export ("borderStyle")]
UITextBorderStyle BorderStyle { get; set; }
[Export ("placeholder", ArgumentSemantic.Copy)]
string Placeholder { get; [NullAllowed] set; }
[Export ("clearsOnBeginEditing")]
bool ClearsOnBeginEditing { get; set; }
[Export ("adjustsFontSizeToFitWidth")]
bool AdjustsFontSizeToFitWidth { get; set; }
[Export ("minimumFontSize")]
nfloat MinimumFontSize { get; set; }
[Export ("delegate", ArgumentSemantic.Assign)][NullAllowed]
NSObject WeakDelegate { get; [NullAllowed] set; }
[Wrap ("WeakDelegate")]
[Protocolize]
UITextFieldDelegate Delegate { get; [NullAllowed] set; }
[Export ("background", ArgumentSemantic.Retain)]
UIImage Background { get; [NullAllowed] set; }
[Export ("disabledBackground", ArgumentSemantic.Retain)]
UIImage DisabledBackground { get; [NullAllowed] set; }
[Export ("isEditing")]
bool IsEditing { get; }
[Export ("clearButtonMode")]
UITextFieldViewMode ClearButtonMode { get; set; }
[Export ("leftView", ArgumentSemantic.Retain)]
[NullAllowed]
UIView LeftView { get; set; }
[Export ("rightView", ArgumentSemantic.Retain)]
[NullAllowed]
UIView RightView { get; set; }
[Export ("leftViewMode")]
UITextFieldViewMode LeftViewMode { get; set; }
[Export ("rightViewMode")]
UITextFieldViewMode RightViewMode { get; set; }
[Export ("borderRectForBounds:")]
CGRect BorderRect (CGRect forBounds);
[Export ("textRectForBounds:")]
CGRect TextRect (CGRect forBounds);
[Export ("placeholderRectForBounds:")]
CGRect PlaceholderRect (CGRect forBounds);
[Export ("editingRectForBounds:")]
CGRect EditingRect (CGRect forBounds);
[Export ("clearButtonRectForBounds:")]
CGRect ClearButtonRect (CGRect forBounds);
[Export ("leftViewRectForBounds:")]
CGRect LeftViewRect (CGRect forBounds);
[Export ("rightViewRectForBounds:")]
CGRect RightViewRect (CGRect forBounds);
[Export ("drawTextInRect:")]
void DrawText (CGRect rect);
[Export ("drawPlaceholderInRect:")]
void DrawPlaceholder (CGRect rect);
// 3.2
[Since (3,2)]
[Export ("inputAccessoryView", ArgumentSemantic.Retain)][NullAllowed]
UIView InputAccessoryView { get; set; }
[Since (3,2)]
[Export ("inputView", ArgumentSemantic.Retain)][NullAllowed]
UIView InputView { get; set; }
[Field ("UITextFieldTextDidBeginEditingNotification")]
[Notification]
NSString TextDidBeginEditingNotification { get; }
[Field ("UITextFieldTextDidEndEditingNotification")]
[Notification]
NSString TextDidEndEditingNotification { get; }
[Field ("UITextFieldTextDidChangeNotification")]
[Notification]
NSString TextFieldTextDidChangeNotification { get; }
[iOS (10,0), TV (10,0)]
[Field ("UITextFieldDidEndEditingReasonKey")]
NSString DidEndEditingReasonKey { get; }
2016-04-21 15:30:02 +03:00
//
// 6.0
//
[Since (6,0)]
[NullAllowed] // by default this property is null (on 6.0, not later)
[Export ("attributedText", ArgumentSemantic.Copy)]
NSAttributedString AttributedText { get; set; }
[Since (6,0)]
[NullAllowed] // by default this property is null
[Export ("attributedPlaceholder", ArgumentSemantic.Copy)]
NSAttributedString AttributedPlaceholder { get; set; }
[Since (6,0)]
[Export ("allowsEditingTextAttributes")]
bool AllowsEditingTextAttributes { get; set; }
[Since (6,0)]
[Export ("clearsOnInsertion")]
bool ClearsOnInsertion { get; set; }
[Since (6,0)]
[NullAllowed] // by default this property is null
[Export ("typingAttributes", ArgumentSemantic.Copy)]
NSDictionary TypingAttributes { get; set; }
[Since (7,0)]
[Export ("defaultTextAttributes", ArgumentSemantic.Copy), NullAllowed]
NSDictionary WeakDefaultTextAttributes { get; set; }
}
[BaseType (typeof (NSObject))]
[Model]
[Protocol]
interface UITextFieldDelegate {
2016-04-21 15:30:02 +03:00
[Export ("textFieldShouldBeginEditing:"), DelegateName ("UITextFieldCondition"), DefaultValue (true)]
bool ShouldBeginEditing (UITextField textField);
[Export ("textFieldDidBeginEditing:"), EventArgs ("UITextField"), EventName ("Started")]
void EditingStarted (UITextField textField);
[Export ("textFieldShouldEndEditing:"), DelegateName ("UITextFieldCondition"), DefaultValue (true)]
bool ShouldEndEditing (UITextField textField);
[Export ("textFieldDidEndEditing:"), EventArgs ("UITextField"), EventName ("Ended")]
void EditingEnded (UITextField textField);
[iOS (10, 0)]
[Export ("textFieldDidEndEditing:reason:"), EventArgs ("UITextFieldEditingEnded"), EventName ("EndedWithReason")]
void EditingEnded (UITextField textField, UITextFieldDidEndEditingReason reason);
2016-04-21 15:30:02 +03:00
[Export ("textFieldShouldClear:"), DelegateName ("UITextFieldCondition"), DefaultValue ("true")]
bool ShouldClear (UITextField textField);
[Export ("textFieldShouldReturn:"), DelegateName ("UITextFieldCondition"), DefaultValue ("true")]
bool ShouldReturn (UITextField textField);
[Export ("textField:shouldChangeCharactersInRange:replacementString:"), DelegateName ("UITextFieldChange"), DefaultValue ("true")]
bool ShouldChangeCharacters (UITextField textField, NSRange range, string replacementString);
}
[BaseType (typeof (UIScrollView), Delegates=new string [] { "WeakDelegate" }, Events=new Type [] {typeof(UITextViewDelegate)})]
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 UITextView : UITextInput, NSCoding, UIContentSizeCategoryAdjusting
#if IOS
, UITextDraggable, UITextDroppable, UITextPasteConfigurationSupporting
#endif // IOS
{
2016-04-21 15:30:02 +03:00
[Export ("initWithFrame:")]
IntPtr Constructor (CGRect frame);
[Export ("text", ArgumentSemantic.Copy)][NullAllowed]
string Text { get; set; }
[NullAllowed] // by default this property is null
[Export ("font", ArgumentSemantic.Retain)]
UIFont Font { get; set; }
[NullAllowed] // by default this property is null
[Export ("textColor", ArgumentSemantic.Retain)]
UIColor TextColor { get; set; }
[Export ("editable")]
[NoTV]
bool Editable { [Bind ("isEditable")] get; set; }
[Export ("textAlignment")]
UITextAlignment TextAlignment { get; set; }
[Export ("selectedRange")]
NSRange SelectedRange { get; set; }
[Export ("scrollRangeToVisible:")]
void ScrollRangeToVisible (NSRange range);
[Wrap ("WeakDelegate")][New]
[Protocolize]
UITextViewDelegate Delegate { get; set; }
[Export ("delegate", ArgumentSemantic.Assign)][New][NullAllowed]
NSObject WeakDelegate { get; set; }
[Export ("dataDetectorTypes")]
[NoTV]
UIDataDetectorType DataDetectorTypes { get; set; }
// 3.2
[Since (3,2)]
[NullAllowed] // by default this property is null
[Export ("inputAccessoryView", ArgumentSemantic.Retain)]
UIView InputAccessoryView { get; set; }
[Since (3,2)]
[Export ("inputView", ArgumentSemantic.Retain)][NullAllowed]
UIView InputView { get; set; }
[Field ("UITextViewTextDidBeginEditingNotification")]
[Notification]
NSString TextDidBeginEditingNotification { get; }
[Field ("UITextViewTextDidChangeNotification")]
[Notification]
NSString TextDidChangeNotification { get; }
[Field ("UITextViewTextDidEndEditingNotification")]
[Notification]
NSString TextDidEndEditingNotification { get; }
//
// 6.0
//
[Since (6,0)]
[Export ("allowsEditingTextAttributes")]
bool AllowsEditingTextAttributes { get; set; }
[Since (6,0)]
[Export ("attributedText", ArgumentSemantic.Copy)]
NSAttributedString AttributedText { get; set; }
[Since (6,0)]
[Export ("clearsOnInsertion")]
bool ClearsOnInsertion { get; set; }
[Since (6,0)]
[NullAllowed] // by default this property is null
[Export ("typingAttributes", ArgumentSemantic.Copy)]
NSDictionary TypingAttributes {
// this avoids a crash (see unit tests) and behave like UITextField does (return null)
[PreSnippet ("if (SelectedRange.Length == 0) return null;")]
get;
set;
}
[Since (7,0)]
[Export ("selectable")]
bool Selectable { [Bind ("isSelectable")] get; set; }
[DesignatedInitializer]
[Since (7,0)]
[Export ("initWithFrame:textContainer:")]
[PostGet ("TextContainer")]
IntPtr Constructor (CGRect frame, NSTextContainer textContainer);
[Since (7,0)]
[Export ("textContainer", ArgumentSemantic.Copy)]
NSTextContainer TextContainer { get; }
[Since (7,0)]
[Export ("textContainerInset", ArgumentSemantic.Assign)]
UIEdgeInsets TextContainerInset { get; set; }
[Since (7,0)]
[Export ("layoutManager", ArgumentSemantic.Copy)]
NSLayoutManager LayoutManager { get; }
[Since (7,0)]
[Export ("textStorage", ArgumentSemantic.Retain)]
NSTextStorage TextStorage { get; }
[Since (7,0)]
[Export ("linkTextAttributes", ArgumentSemantic.Copy)]
NSDictionary WeakLinkTextAttributes { get; set; }
}
[BaseType (typeof(UIScrollViewDelegate))]
[Model]
[Protocol]
interface UITextViewDelegate {
2016-04-21 15:30:02 +03:00
[Export ("textViewShouldBeginEditing:"), DelegateName ("UITextViewCondition"), DefaultValue ("true")]
bool ShouldBeginEditing (UITextView textView);
[Export ("textViewShouldEndEditing:"), DelegateName ("UITextViewCondition"), DefaultValue ("true")]
bool ShouldEndEditing (UITextView textView);
[Export ("textViewDidBeginEditing:"), EventArgs ("UITextView"), EventName ("Started")]
void EditingStarted (UITextView textView);
[Export ("textViewDidEndEditing:"), EventArgs ("UITextView"), EventName ("Ended")]
void EditingEnded (UITextView textView);
[Export ("textView:shouldChangeTextInRange:replacementText:"), DelegateName ("UITextViewChange"), DefaultValue ("true")]
bool ShouldChangeText (UITextView textView, NSRange range, string text);
[Export ("textViewDidChange:"), EventArgs ("UITextView")]
void Changed (UITextView textView);
[Export ("textViewDidChangeSelection:"), EventArgs ("UITextView")]
void SelectionChanged (UITextView textView);
[Since (7,0)]
[Deprecated (PlatformName.iOS, 10, 0, message: "Use the 'ShouldInteractWithUrl' overload that takes 'UITextItemInteraction' instead.")]
2016-04-21 15:30:02 +03:00
[Export ("textView:shouldInteractWithURL:inRange:"), DelegateName ("Func<UITextView,NSUrl,NSRange,bool>"), DefaultValue ("true")]
bool ShouldInteractWithUrl (UITextView textView, NSUrl URL, NSRange characterRange);
[Since (7,0)]
[Deprecated (PlatformName.iOS, 10, 0, message: "Use the 'ShouldInteractWithTextAttachment' overload that takes 'UITextItemInteraction' instead.")]
2016-04-21 15:30:02 +03:00
[Export ("textView:shouldInteractWithTextAttachment:inRange:"), DelegateName ("Func<UITextView,NSTextAttachment,NSRange,bool>"), DefaultValue ("true")]
bool ShouldInteractWithTextAttachment (UITextView textView, NSTextAttachment textAttachment, NSRange characterRange);
[iOS (10, 0)]
[Export ("textView:shouldInteractWithURL:inRange:interaction:"), DelegateApiName ("AllowUrlInteraction"), DelegateName ("UITextViewDelegateShouldInteractUrlDelegate"), DefaultValue ("true")]
bool ShouldInteractWithUrl (UITextView textView, NSUrl url, NSRange characterRange, UITextItemInteraction interaction);
[iOS (10,0)]
[Export ("textView:shouldInteractWithTextAttachment:inRange:interaction:"), DelegateApiName ("AllowTextAttachmentInteraction"), DelegateName ("UITextViewDelegateShouldInteractTextDelegate"), DefaultValue ("true")]
bool ShouldInteractWithTextAttachment (UITextView textView, NSTextAttachment textAttachment, NSRange characterRange, UITextItemInteraction interaction);
2016-04-21 15:30:02 +03:00
}
[NoTV]
[BaseType (typeof (UIView))]
interface UIToolbar : UIBarPositioning {
2016-04-21 15:30:02 +03:00
[Export ("initWithFrame:")]
IntPtr Constructor (CGRect frame);
[Export ("barStyle")]
UIBarStyle BarStyle { get; set; }
[Export ("items", ArgumentSemantic.Copy)][NullAllowed]
UIBarButtonItem [] Items { get; set; }
[Export ("translucent", ArgumentSemantic.Assign)]
bool Translucent { [Bind ("isTranslucent")] get; set; }
// done manually so we can keep this "in sync" with 'Items' property
//[Export ("setItems:animated:")][PostGet ("Items")]
//void SetItems (UIBarButtonItem [] items, bool animated);
[Since (5,0)]
[Export ("setBackgroundImage:forToolbarPosition:barMetrics:")]
[Appearance]
void SetBackgroundImage ([NullAllowed] UIImage backgroundImage, UIToolbarPosition position, UIBarMetrics barMetrics);
[Since (5,0)]
[Export ("backgroundImageForToolbarPosition:barMetrics:")]
[Appearance]
UIImage GetBackgroundImage (UIToolbarPosition position, UIBarMetrics barMetrics);
[Since(6,0)]
[Appearance]
[Export ("setShadowImage:forToolbarPosition:")]
void SetShadowImage ([NullAllowed] UIImage shadowImage, UIToolbarPosition topOrBottom);
[Since(6,0)]
[Appearance]
[Export ("shadowImageForToolbarPosition:")]
UIImage GetShadowImage (UIToolbarPosition topOrBottom);
[Since (7,0)]
[Appearance]
[NullAllowed]
[Export ("barTintColor", ArgumentSemantic.Retain)]
UIColor BarTintColor { get; set; }
[Since (7,0)]
[Export ("delegate", ArgumentSemantic.Weak), NullAllowed]
2016-04-21 15:30:02 +03:00
NSObject WeakDelegate { get; set; }
[Wrap ("WeakDelegate")]
[Protocolize]
UIToolbarDelegate Delegate { get; set; }
}
interface IUITimingCurveProvider {}
[iOS (10,0)]
2016-06-20 04:53:43 +03:00
[Protocol]
interface UITimingCurveProvider : NSCoding, NSCopying {
2016-06-20 04:53:43 +03:00
[Abstract]
[Export ("timingCurveType")]
UITimingCurveType TimingCurveType { get; }
[Abstract]
[NullAllowed, Export ("cubicTimingParameters")]
UICubicTimingParameters CubicTimingParameters { get; }
[Abstract]
[NullAllowed, Export ("springTimingParameters")]
UISpringTimingParameters SpringTimingParameters { get; }
}
2016-04-21 15:30:02 +03:00
[NoTV]
[BaseType (typeof (UIBarPositioningDelegate))]
[Model]
[Protocol]
interface UIToolbarDelegate {
2016-04-21 15:30:02 +03:00
}
[BaseType (typeof (NSObject))]
interface UITouch {
2016-04-21 15:30:02 +03:00
[Export ("locationInView:")]
CGPoint LocationInView ([NullAllowed] UIView view);
[Export ("previousLocationInView:")]
CGPoint PreviousLocationInView ([NullAllowed] UIView view);
[Export ("view", ArgumentSemantic.Retain)]
UIView View { get; }
[Export ("window", ArgumentSemantic.Retain)]
[Transient]
UIWindow Window { get; }
[Export ("tapCount")]
nint TapCount { get; }
[Export ("timestamp")]
double Timestamp { get; }
[Export ("phase")]
UITouchPhase Phase { get; }
// 3.2
[Since (3,2)]
[Export ("gestureRecognizers", ArgumentSemantic.Copy)]
UIGestureRecognizer[] GestureRecognizers { get; }
[iOS (8,0)]
[Export ("majorRadius")]
nfloat MajorRadius { get; }
[iOS (8,0)]
[Export ("majorRadiusTolerance")]
nfloat MajorRadiusTolerance { get; }
[iOS (9,0)]
[Export ("force")]
nfloat Force { get; }
[iOS (9,0)]
[Export ("maximumPossibleForce")]
nfloat MaximumPossibleForce { get; }
[iOS (9,0)]
[Export ("type")]
UITouchType Type { get; }
[NoTV]
[iOS (9,1)]
[Export ("preciseLocationInView:")]
CGPoint GetPreciseLocation ([NullAllowed] UIView view);
[NoTV]
[iOS (9,1)]
[Export ("precisePreviousLocationInView:")]
CGPoint GetPrecisePreviousLocation ([NullAllowed] UIView view);
[NoTV] // stylus only, header unclear but not part of web documentation for tvOS
[iOS (9,1)]
[Export ("azimuthAngleInView:")]
nfloat GetAzimuthAngle ([NullAllowed] UIView view);
[NoTV] // stylus only, header unclear but not part of web documentation for tvOS
[iOS (9,1)]
[Export ("azimuthUnitVectorInView:")]
CGVector GetAzimuthUnitVector ([NullAllowed] UIView view);
[NoTV] // stylus only, header unclear but not part of web documentation for tvOS
[iOS (9,1)]
[Export ("altitudeAngle")]
nfloat AltitudeAngle { get; }
[NoTV] // header unclear but not part of web documentation for tvOS
[iOS (9,1)]
[NullAllowed, Export ("estimationUpdateIndex")]
NSNumber EstimationUpdateIndex { get; }
[NoTV] // header unclear but not part of web documentation for tvOS
[iOS (9,1)]
[Export ("estimatedProperties")]
UITouchProperties EstimatedProperties { get; }
[NoTV] // header unclear but not part of web documentation for tvOS
[iOS (9,1)]
[Export ("estimatedPropertiesExpectingUpdates")]
UITouchProperties EstimatedPropertiesExpectingUpdates { get; }
}
[NoTV]
[BaseType (typeof (UINavigationController), Delegates=new string [] { "WeakDelegate" }, Events=new Type [] {typeof(UIVideoEditorControllerDelegate)})]
interface UIVideoEditorController {
2016-04-21 15:30:02 +03:00
[Export ("canEditVideoAtPath:")][Static]
bool CanEditVideoAtPath (string path);
[Wrap ("WeakDelegate")]
[Protocolize]
// id<UINavigationControllerDelegate, UIVideoEditorControllerDelegate>
UIVideoEditorControllerDelegate Delegate { get; set; }
[Export ("delegate", ArgumentSemantic.Assign)][NullAllowed]
NSObject WeakDelegate { get; set; }
[Export ("videoPath", ArgumentSemantic.Copy)]
string VideoPath { get; set; }
[Export ("videoMaximumDuration")]
double VideoMaximumDuration { get; set; }
[Export ("videoQuality")]
UIImagePickerControllerQualityType VideoQuality { get; set; }
}
// id<UINavigationControllerDelegate, UIVideoEditorControllerDelegate>
[BaseType (typeof (UINavigationControllerDelegate))]
[NoTV]
[Model]
[Protocol]
interface UIVideoEditorControllerDelegate {
2016-04-21 15:30:02 +03:00
[Export ("videoEditorController:didSaveEditedVideoToPath:"), EventArgs ("UIPath"), EventName ("Saved")]
void VideoSaved (UIVideoEditorController editor, [EventName ("path")] string editedVideoPath);
[Export ("videoEditorController:didFailWithError:"), EventArgs ("NSError", true)]
void Failed (UIVideoEditorController editor, NSError error);
[Export ("videoEditorControllerDidCancel:")]
void UserCancelled (UIVideoEditorController editor);
}
[BaseType (typeof (UIResponder))]
interface UIView : UIAppearance, UIAppearanceContainer, UIAccessibility, UIDynamicItem, NSCoding, UIAccessibilityIdentification, UITraitEnvironment, UICoordinateSpace, UIFocusItem, CALayerDelegate {
2016-04-21 15:30:02 +03:00
[DesignatedInitializer]
[Export ("initWithFrame:")]
IntPtr Constructor (CGRect frame);
[Export ("addSubview:")][PostGet ("Subviews")]
void AddSubview (UIView view);
[ThreadSafe, Export ("drawRect:")]
void Draw (CGRect rect);
[Export ("backgroundColor", ArgumentSemantic.Retain)]
[Appearance]
[NullAllowed]
UIColor BackgroundColor { get; set; }
[ThreadSafe]
[Export ("bounds")]
new CGRect Bounds { get; set; }
#if !XAMCORE_2_0
// note: duplicate from maccore's foundation.cs where it's binded on NSString2
[Bind ("drawAtPoint:withFont:")]
//[Obsolete ("Deprecated in iOS7. Use NSString.DrawString(CGPoint, UIStringAttributes) instead")]
[ThreadSafe]
CGSize DrawString ([Target] string str, CGPoint point, UIFont font);
// note: duplicate from maccore's foundation.cs where it's binded on NSString2
[Bind ("drawAtPoint:forWidth:withFont:lineBreakMode:")]
//[Obsolete ("Deprecated in iOS7. Use NSString.DrawString(CGRect, UIStringAttributes) instead")]
[ThreadSafe]
CGSize DrawString ([Target] string str, CGPoint point, nfloat width, UIFont font, UILineBreakMode breakMode);
// note: duplicate from maccore's foundation.cs where it's binded on NSString2
[Bind ("drawAtPoint:forWidth:withFont:fontSize:lineBreakMode:baselineAdjustment:")]
//[Obsolete ("Deprecated in iOS7. Use NSString.DrawString(CGRect, UIStringAttributes) instead")]
[ThreadSafe]
CGSize DrawString ([Target] string str, CGPoint point, nfloat width, UIFont font, nfloat fontSize, UILineBreakMode breakMode, UIBaselineAdjustment adjustment);
// note: duplicate from maccore's foundation.cs where it's binded on NSString2
[Bind ("drawAtPoint:forWidth:withFont:minFontSize:actualFontSize:lineBreakMode:baselineAdjustment:")]
//[Obsolete ("Deprecated in iOS7. Use NSString.DrawString(CGRect, UIStringAttributes) instead")]
[ThreadSafe]
CGSize DrawString ([Target] string str, CGPoint point, nfloat width, UIFont font, nfloat minFontSize, ref nfloat actualFontSize, UILineBreakMode breakMode, UIBaselineAdjustment adjustment);
// note: duplicate from maccore's foundation.cs where it's binded on NSString2
[Bind ("drawInRect:withFont:")]
//[Obsolete ("Deprecated in iOS7. Use NSString.DrawString(CGRect, UIStringAttributes) instead")]
[ThreadSafe]
CGSize DrawString ([Target] string str, CGRect rect, UIFont font);
// note: duplicate from maccore's foundation.cs where it's binded on NSString2
[Bind ("drawInRect:withFont:lineBreakMode:")]
//[Obsolete ("Deprecated in iOS7. Use NSString.DrawString(CGRect, UIStringAttributes) instead")]
[ThreadSafe]
CGSize DrawString ([Target] string str, CGRect rect, UIFont font, UILineBreakMode mode);
// note: duplicate from maccore's foundation.cs where it's binded on NSString2
[Bind ("drawInRect:withFont:lineBreakMode:alignment:")]
//[Obsolete ("Deprecated in iOS7. Use NSString.DrawString(CGRect, UIStringAttributes) instead")]
[ThreadSafe]
CGSize DrawString ([Target] string str, CGRect rect, UIFont font, UILineBreakMode mode, UITextAlignment alignment);
[Bind ("endEditing:")]
bool EndEditing (bool force);
// note: duplicate from maccore's foundation.cs where it's binded on NSString2
[Bind ("sizeWithFont:")]
//[Obsolete ("Deprecated in iOS7. Use NSString.GetSizeUsingAttributes(UIStringAttributes) instead.")]
[ThreadSafe]
CGSize StringSize ([Target] string str, UIFont font);
// note: duplicate from maccore's foundation.cs where it's binded on NSString2
[Bind ("sizeWithFont:forWidth:lineBreakMode:")]
[ThreadSafe]
//[Obsolete ("Deprecated in iOS7. Use NSString.GetBoundingRect (CGSize, NSStringDrawingOptions, UIStringAttributes,NSStringDrawingContext) instead.")]
CGSize StringSize ([Target] string str, UIFont font, nfloat forWidth, UILineBreakMode breakMode);
// note: duplicate from maccore's foundation.cs where it's binded on NSString2
[Bind ("sizeWithFont:constrainedToSize:")]
//[Obsolete ("Deprecated in iOS7. Use NSString.GetBoundingRect (CGSize, NSStringDrawingOptions, UIStringAttributes,NSStringDrawingContext) instead.")]
[ThreadSafe]
CGSize StringSize ([Target] string str, UIFont font, CGSize constrainedToSize);
// note: duplicate from maccore's foundation.cs where it's binded on NSString2
[Bind ("sizeWithFont:constrainedToSize:lineBreakMode:")]
//[Obsolete ("Deprecated in iOS7. Use NSString.GetBoundingRect (CGSize, NSStringDrawingOptions, UIStringAttributes,NSStringDrawingContext) instead.")]
[ThreadSafe]
CGSize StringSize ([Target] string str, UIFont font, CGSize constrainedToSize, UILineBreakMode lineBreakMode);
// note: duplicate from maccore's foundation.cs where it's binded on NSString2
[Bind ("sizeWithFont:minFontSize:actualFontSize:forWidth:lineBreakMode:")]
// Wait for guidance here: https://devforums.apple.com/thread/203655
//[Obsolete ("Deprecated on iOS7. No guidance.")]
[ThreadSafe]
CGSize StringSize ([Target] string str, UIFont font, nfloat minFontSize, ref nfloat actualFontSize, nfloat forWidth, UILineBreakMode lineBreakMode);
#endif // !XAMCORE_2_0
[Export ("userInteractionEnabled")]
bool UserInteractionEnabled { [Bind ("isUserInteractionEnabled")]get; set; }
[Export ("tag")]
nint Tag { get;set; }
[ThreadSafe]
[Export ("layer", ArgumentSemantic.Retain)]
CoreAnimation.CALayer Layer { get; }
[Export ("frame")]
CGRect Frame { get; set; }
[Export ("center")]
new CGPoint Center { get; set; }
[Export ("transform")]
new CGAffineTransform Transform { get; set; }
[NoTV]
[Export ("multipleTouchEnabled")]
bool MultipleTouchEnabled { [Bind ("isMultipleTouchEnabled")] get; set; }
[NoTV]
[Export ("exclusiveTouch")]
bool ExclusiveTouch { [Bind ("isExclusiveTouch")] get; set; }
[Export ("hitTest:withEvent:")]
UIView HitTest (CGPoint point, [NullAllowed] UIEvent uievent);
[Export ("pointInside:withEvent:")]
bool PointInside (CGPoint point, [NullAllowed] UIEvent uievent);
[Export ("convertPoint:toView:")]
CGPoint ConvertPointToView (CGPoint point, [NullAllowed] UIView toView);
[Export ("convertPoint:fromView:")]
CGPoint ConvertPointFromView (CGPoint point, [NullAllowed] UIView fromView);
[Export ("convertRect:toView:")]
CGRect ConvertRectToView (CGRect rect, [NullAllowed] UIView toView);
[Export ("convertRect:fromView:")]
CGRect ConvertRectFromView (CGRect rect, [NullAllowed] UIView fromView);
[Export ("autoresizesSubviews")]
bool AutosizesSubviews { get; set; }
[Export ("autoresizingMask")]
UIViewAutoresizing AutoresizingMask { get; set; }
[Export ("sizeThatFits:")]
CGSize SizeThatFits (CGSize size);
[Export ("sizeToFit")]
void SizeToFit ();
[Export ("superview")]
UIView Superview { get; }
[Export ("subviews", ArgumentSemantic.Copy)]
UIView [] Subviews { get; }
[Export ("window")]
[Transient]
UIWindow Window { get; }
[Export ("removeFromSuperview")]
void RemoveFromSuperview ();
[Export ("insertSubview:atIndex:")][PostGet ("Subviews")]
void InsertSubview (UIView view, nint atIndex);
[Export ("exchangeSubviewAtIndex:withSubviewAtIndex:")]
void ExchangeSubview (nint atIndex, nint withSubviewAtIndex);
[Export ("insertSubview:belowSubview:")][PostGet ("Subviews")]
void InsertSubviewBelow (UIView view, UIView siblingSubview);
[Export ("insertSubview:aboveSubview:")][PostGet ("Subviews")]
void InsertSubviewAbove (UIView view, UIView siblingSubview);
[Export ("bringSubviewToFront:")]
void BringSubviewToFront (UIView view);
[Export ("sendSubviewToBack:")]
void SendSubviewToBack (UIView view);
[Export ("didAddSubview:")]
void SubviewAdded (UIView uiview);
[Export ("willRemoveSubview:")]
void WillRemoveSubview (UIView uiview);
[Export ("willMoveToSuperview:")]
void WillMoveToSuperview ([NullAllowed] UIView newsuper);
[Export ("didMoveToSuperview")]
void MovedToSuperview ();
[Export ("willMoveToWindow:")]
void WillMoveToWindow ([NullAllowed] UIWindow window);
[Export ("didMoveToWindow")]
void MovedToWindow ();
[Export ("isDescendantOfView:")]
bool IsDescendantOfView (UIView view);
[Export ("viewWithTag:")]
UIView ViewWithTag (nint tag);
[Export ("setNeedsLayout")]
void SetNeedsLayout ();
[Export ("layoutIfNeeded")]
void LayoutIfNeeded ();
[Export ("layoutSubviews")]
void LayoutSubviews ();
[Export ("setNeedsDisplay")]
void SetNeedsDisplay ();
[Export ("setNeedsDisplayInRect:")]
void SetNeedsDisplayInRect (CGRect rect);
[Export ("clipsToBounds")]
bool ClipsToBounds { get; set; }
[Export ("alpha")]
nfloat Alpha { get; set; }
[Export ("opaque")]
bool Opaque { [Bind ("isOpaque")] get; set; }
[Export ("clearsContextBeforeDrawing")]
bool ClearsContextBeforeDrawing { get; set; }
[Export ("hidden")]
bool Hidden { [Bind ("isHidden")] get; set; }
[Export ("contentMode")]
UIViewContentMode ContentMode { get; set; }
[NoTV]
[Export ("contentStretch")]
[Availability (Introduced = Platform.iOS_3_0, Deprecated = Platform.iOS_6_0, Message = "Use 'CreateResizableImage' instead.")]
2016-04-21 15:30:02 +03:00
CGRect ContentStretch { get; set; }
[Static] [Export ("beginAnimations:context:")]
void BeginAnimations ([NullAllowed] string animationID, IntPtr context);
[Static] [Export ("commitAnimations")]
void CommitAnimations ();
[Static] [Export ("setAnimationDelegate:")]
void SetAnimationDelegate (NSObject del);
[Static] [Export ("setAnimationWillStartSelector:")]
void SetAnimationWillStartSelector (Selector sel);
[Static] [Export ("setAnimationDidStopSelector:")]
void SetAnimationDidStopSelector (Selector sel);
[Static] [Export ("setAnimationDuration:")]
void SetAnimationDuration (double duration);
[Static] [Export ("setAnimationDelay:")]
void SetAnimationDelay (double delay);
[Static] [Export ("setAnimationStartDate:")]
void SetAnimationStartDate (NSDate startDate);
[Static] [Export ("setAnimationCurve:")]
void SetAnimationCurve (UIViewAnimationCurve curve);
[Static] [Export ("setAnimationRepeatCount:")]
void SetAnimationRepeatCount (float repeatCount /* This is float, not nfloat */);
[Static] [Export ("setAnimationRepeatAutoreverses:")]
void SetAnimationRepeatAutoreverses (bool repeatAutoreverses);
[Static] [Export ("setAnimationBeginsFromCurrentState:")]
void SetAnimationBeginsFromCurrentState (bool fromCurrentState);
[Static] [Export ("setAnimationTransition:forView:cache:")]
void SetAnimationTransition (UIViewAnimationTransition transition, UIView forView, bool cache);
[Static] [Export ("areAnimationsEnabled")]
bool AnimationsEnabled { [Bind ("areAnimationsEnabled")] get; [Bind ("setAnimationsEnabled:")] set; }
// 3.2:
[Since (3,2)]
[Export ("addGestureRecognizer:"), PostGet ("GestureRecognizers")]
void AddGestureRecognizer (UIGestureRecognizer gestureRecognizer);
[Since (3,2)]
[Export ("removeGestureRecognizer:"), PostGet ("GestureRecognizers")]
void RemoveGestureRecognizer (UIGestureRecognizer gestureRecognizer);
[Since (3,2)]
[NullAllowed] // by default this property is null
[Export ("gestureRecognizers", ArgumentSemantic.Copy)]
UIGestureRecognizer[] GestureRecognizers { get; set; }
[Since (4,0)]
[Static, Export ("animateWithDuration:animations:")]
void Animate (double duration, /* non null */ NSAction animation);
[Since (4,0)]
[Static, Export ("animateWithDuration:animations:completion:")]
[Async]
void AnimateNotify (double duration, /* non null */ NSAction animation, [NullAllowed] UICompletionHandler completion);
[Since (4,0)]
[Static, Export ("animateWithDuration:delay:options:animations:completion:")]
[Async]
void AnimateNotify (double duration, double delay, UIViewAnimationOptions options, /* non null */ NSAction animation, [NullAllowed] UICompletionHandler completion);
[Since (4,0)]
[Static, Export ("transitionFromView:toView:duration:options:completion:")]
[Async]
void TransitionNotify (UIView fromView, UIView toView, double duration, UIViewAnimationOptions options, [NullAllowed] UICompletionHandler completion);
[Since (4,0)]
[Static, Export ("transitionWithView:duration:options:animations:completion:")]
[Async]
void TransitionNotify (UIView withView, double duration, UIViewAnimationOptions options, [NullAllowed] NSAction animation, [NullAllowed] UICompletionHandler completion);
[Since (4,0)]
[Export ("contentScaleFactor")]
nfloat ContentScaleFactor { get; set; }
[NoTV]
[Since (4,2)]
[Export ("viewPrintFormatter")]
UIViewPrintFormatter ViewPrintFormatter { get; }
[NoTV]
[Since (4,2)]
[Export ("drawRect:forViewPrintFormatter:")]
void DrawRect (CGRect area, UIViewPrintFormatter formatter);
//
// 6.0
//
[Since(6,0)]
[Export ("constraints")]
NSLayoutConstraint [] Constraints { get; }
[Since(6,0)]
[Export ("addConstraint:")]
void AddConstraint (NSLayoutConstraint constraint);
[Since(6,0)]
[Export ("addConstraints:")]
void AddConstraints (NSLayoutConstraint [] constraints);
[Since(6,0)]
[Export ("removeConstraint:")]
void RemoveConstraint (NSLayoutConstraint constraint);
[Since(6,0)]
[Export ("removeConstraints:")]
void RemoveConstraints (NSLayoutConstraint [] constraints);
[Since(6,0)]
[Export ("needsUpdateConstraints")]
bool NeedsUpdateConstraints ();
[Since(6,0)]
[Export ("setNeedsUpdateConstraints")]
void SetNeedsUpdateConstraints ();
[Since(6,0)]
[Static]
[Export ("requiresConstraintBasedLayout")]
bool RequiresConstraintBasedLayout ();
[Since(6,0)]
[Export ("alignmentRectForFrame:")]
CGRect AlignmentRectForFrame (CGRect frame);
[Since(6,0)]
[Export ("frameForAlignmentRect:")]
CGRect FrameForAlignmentRect (CGRect alignmentRect);
[Since(6,0)]
[Export ("alignmentRectInsets")]
UIEdgeInsets AlignmentRectInsets { get; }
[NoTV]
[Since(6,0)]
[Export ("viewForBaselineLayout")]
[Availability (Deprecated = Platform.iOS_9_0, Message="Override 'ViewForFirstBaselineLayout' or 'ViewForLastBaselineLayout'.")]
2016-04-21 15:30:02 +03:00
UIView ViewForBaselineLayout { get; }
[Since (9,0)]
[Export ("viewForFirstBaselineLayout")]
UIView ViewForFirstBaselineLayout { get; }
[Since (9,0)]
[Export ("viewForLastBaselineLayout")]
UIView ViewForLastBaselineLayout { get; }
[Since(6,0)]
[Export ("intrinsicContentSize")]
CGSize IntrinsicContentSize { get; }
[Since(6,0)]
[Export ("invalidateIntrinsicContentSize")]
void InvalidateIntrinsicContentSize ();
[Since(6,0)]
[Export ("contentHuggingPriorityForAxis:")]
float ContentHuggingPriority (UILayoutConstraintAxis axis); // This returns a float, not nfloat.
[Since(6,0)]
[Export ("setContentHuggingPriority:forAxis:")]
void SetContentHuggingPriority (float priority /* this is a float, not nfloat */, UILayoutConstraintAxis axis);
[Since(6,0)]
[Export ("contentCompressionResistancePriorityForAxis:")]
float ContentCompressionResistancePriority (UILayoutConstraintAxis axis); // This returns a float, not nfloat.
[Since(6,0)]
[Export ("setContentCompressionResistancePriority:forAxis:")]
void SetContentCompressionResistancePriority (float priority /* this is a float, not nfloat */, UILayoutConstraintAxis axis);
[Since(6,0)]
[Export ("constraintsAffectingLayoutForAxis:")]
NSLayoutConstraint [] GetConstraintsAffectingLayout (UILayoutConstraintAxis axis);
[Since(6,0)]
[Export ("hasAmbiguousLayout")]
bool HasAmbiguousLayout { get; }
[Since(6,0)]
[Export ("exerciseAmbiguityInLayout")]
void ExerciseAmbiguityInLayout ();
[Since(6,0)]
[Export ("systemLayoutSizeFittingSize:")]
CGSize SystemLayoutSizeFittingSize (CGSize size);
[Since(6,0)]
[Export ("decodeRestorableStateWithCoder:")]
void DecodeRestorableState (NSCoder coder);
[Since(6,0)]
[Export ("encodeRestorableStateWithCoder:")]
void EncodeRestorableState (NSCoder coder);
[Since(6,0)]
[NullAllowed] // by default this property is null
[Export ("restorationIdentifier", ArgumentSemantic.Copy)]
string RestorationIdentifier { get; set; }
[Since(6,0)]
[Export ("gestureRecognizerShouldBegin:")]
bool GestureRecognizerShouldBegin (UIGestureRecognizer gestureRecognizer);
[Since(6,0)]
[Export ("translatesAutoresizingMaskIntoConstraints")]
bool TranslatesAutoresizingMaskIntoConstraints { get; set; }
[Since(6,0)]
[Export ("updateConstraintsIfNeeded")]
void UpdateConstraintsIfNeeded ();
[Since(6,0)]
[Export ("updateConstraints")]
void UpdateConstraints ();
[Since (6,0)]
[Field ("UIViewNoIntrinsicMetric")]
nfloat NoIntrinsicMetric { get; }
[iOS (6,0)]
[Field ("UILayoutFittingCompressedSize")]
CGSize UILayoutFittingCompressedSize { get; }
[iOS (6,0)]
[Field ("UILayoutFittingExpandedSize")]
CGSize UILayoutFittingExpandedSize { get; }
[NullAllowed]
[Export ("tintColor")]
[Appearance]
[Since (7,0)]
UIColor TintColor { get; set; }
[Since (7,0)]
[Export ("tintAdjustmentMode")]
UIViewTintAdjustmentMode TintAdjustmentMode { get; set; }
[Since (7,0)]
[Export ("tintColorDidChange")]
void TintColorDidChange ();
[Since (7,0)]
[Static, Export ("performWithoutAnimation:")]
void PerformWithoutAnimation (NSAction actionsWithoutAnimation);
[Since (7,0)]
[Static, Export ("performSystemAnimation:onViews:options:animations:completion:")]
[Async]
void PerformSystemAnimation (UISystemAnimation animation, UIView [] views, UIViewAnimationOptions options, NSAction parallelAnimations, UICompletionHandler completion);
[Since (7,0)]
[Static, Export ("animateKeyframesWithDuration:delay:options:animations:completion:")]
[Async]
void AnimateKeyframes (double duration, double delay, UIViewKeyframeAnimationOptions options, NSAction animations, UICompletionHandler completion);
[Since (7,0)]
[Static, Export ("addKeyframeWithRelativeStartTime:relativeDuration:animations:")]
void AddKeyframeWithRelativeStartTime (double frameStartTime, double frameDuration, NSAction animations);
[Since (7,0)]
[Export ("addMotionEffect:")]
[PostGet ("MotionEffects")]
void AddMotionEffect (UIMotionEffect effect);
[Since (7,0)]
[Export ("removeMotionEffect:")]
[PostGet ("MotionEffects")]
void RemoveMotionEffect (UIMotionEffect effect);
[Since (7,0)]
[NullAllowed] // by default this property is null
[Export ("motionEffects", ArgumentSemantic.Copy)]
UIMotionEffect [] MotionEffects { get; set; }
[Since (7,0)]
[Export ("snapshotViewAfterScreenUpdates:")]
UIView SnapshotView (bool afterScreenUpdates);
[Since (7,0)]
[Export ("resizableSnapshotViewFromRect:afterScreenUpdates:withCapInsets:")]
[return: NullAllowed]
2016-04-21 15:30:02 +03:00
UIView ResizableSnapshotView (CGRect rect, bool afterScreenUpdates, UIEdgeInsets capInsets);
[Since (7,0)]
[Export ("drawViewHierarchyInRect:afterScreenUpdates:")]
bool DrawViewHierarchy (CGRect rect, bool afterScreenUpdates);
[Since (7,0)]
[Static]
[Export ("animateWithDuration:delay:usingSpringWithDamping:initialSpringVelocity:options:animations:completion:")]
[Async]
void AnimateNotify (double duration, double delay, nfloat springWithDampingRatio, nfloat initialSpringVelocity, UIViewAnimationOptions options, NSAction animations, [NullAllowed] UICompletionHandler completion);
[iOS (8,0)]
[NullAllowed] // by default this property is null
[Export ("maskView", ArgumentSemantic.Retain)]
UIView MaskView { get; set; }
[iOS(8,0)]
[Export ("systemLayoutSizeFittingSize:withHorizontalFittingPriority:verticalFittingPriority:")]
// float, not CGFloat / nfloat, but we can't use an enum in the signature
CGSize SystemLayoutSizeFittingSize (CGSize targetSize, /* UILayoutPriority */ float horizontalFittingPriority, /* UILayoutPriority */ float verticalFittingPriority);
[iOS(8,0)]
[Export ("layoutMargins")]
UIEdgeInsets LayoutMargins { 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
[iOS (11,0), TV (11,0)]
[Export ("directionalLayoutMargins", ArgumentSemantic.Assign)]
NSDirectionalEdgeInsets DirectionalLayoutMargins { get; set; }
2016-04-21 15:30:02 +03:00
[iOS(8,0)]
[Export ("preservesSuperviewLayoutMargins")]
bool PreservesSuperviewLayoutMargins { 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
[iOS (11,0), TV (11,0)]
[Export ("insetsLayoutMarginsFromSafeArea")]
bool InsetsLayoutMarginsFromSafeArea { get; set; }
2016-04-21 15:30:02 +03:00
[iOS(8,0)]
[Export ("layoutMarginsDidChange")]
void LayoutMarginsDidChange ();
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 (11,0), TV (11,0)]
[Export ("safeAreaInsets")]
UIEdgeInsets SafeAreaInsets { get; }
[iOS (11,0), TV (11,0)]
[Export ("safeAreaInsetsDidChange")]
void SafeAreaInsetsDidChange ();
2016-04-21 15:30:02 +03:00
[iOS (9,0)]
[Static]
[Export ("userInterfaceLayoutDirectionForSemanticContentAttribute:")]
UIUserInterfaceLayoutDirection GetUserInterfaceLayoutDirection (UISemanticContentAttribute attribute);
[iOS (10,0), TV (10,0)]
[Static]
[Export ("userInterfaceLayoutDirectionForSemanticContentAttribute:relativeToLayoutDirection:")]
UIUserInterfaceLayoutDirection GetUserInterfaceLayoutDirection (UISemanticContentAttribute semanticContentAttribute, UIUserInterfaceLayoutDirection layoutDirection);
[iOS (10,0), TV (10,0)]
[Export ("effectiveUserInterfaceLayoutDirection")]
UIUserInterfaceLayoutDirection EffectiveUserInterfaceLayoutDirection { get; }
2016-04-21 15:30:02 +03:00
[iOS (9,0)]
[Export ("semanticContentAttribute", ArgumentSemantic.Assign)]
UISemanticContentAttribute SemanticContentAttribute { get; set; }
[iOS (9,0)]
[Export ("layoutMarginsGuide", ArgumentSemantic.Strong)]
UILayoutGuide LayoutMarginsGuide { get; }
[iOS (9,0)]
[Export ("readableContentGuide", ArgumentSemantic.Strong)]
UILayoutGuide ReadableContentGuide { 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
[iOS (11,0), TV (11,0)]
[Export ("safeAreaLayoutGuide", ArgumentSemantic.Strong)]
UILayoutGuide SafeAreaLayoutGuide { get; }
2016-04-21 15:30:02 +03:00
[iOS (9,0)]
[Export ("inheritedAnimationDuration")]
[Static]
double InheritedAnimationDuration { get; }
#if XAMCORE_2_0 // NSLayoutXAxisAnchor is a generic type, only supported in Unified (for now)
[iOS (9,0)]
[Export ("leadingAnchor")]
NSLayoutXAxisAnchor LeadingAnchor { get; }
[iOS (9,0)]
[Export ("trailingAnchor")]
NSLayoutXAxisAnchor TrailingAnchor { get; }
[iOS (9,0)]
[Export ("leftAnchor")]
NSLayoutXAxisAnchor LeftAnchor { get; }
[iOS (9,0)]
[Export ("rightAnchor")]
NSLayoutXAxisAnchor RightAnchor { get; }
[iOS (9,0)]
[Export ("topAnchor")]
NSLayoutYAxisAnchor TopAnchor { get; }
[iOS (9,0)]
[Export ("bottomAnchor")]
NSLayoutYAxisAnchor BottomAnchor { get; }
[iOS (9,0)]
[Export ("widthAnchor")]
NSLayoutDimension WidthAnchor { get; }
[iOS (9,0)]
[Export ("heightAnchor")]
NSLayoutDimension HeightAnchor { get; }
[iOS (9,0)]
[Export ("centerXAnchor")]
NSLayoutXAxisAnchor CenterXAnchor { get; }
[iOS (9,0)]
[Export ("centerYAnchor")]
NSLayoutYAxisAnchor CenterYAnchor { get; }
[iOS (9,0)]
[Export ("firstBaselineAnchor")]
NSLayoutYAxisAnchor FirstBaselineAnchor { get; }
[iOS (9,0)]
[Export ("lastBaselineAnchor")]
NSLayoutYAxisAnchor LastBaselineAnchor { get; }
#endif // XAMCORE_2_0
[iOS (9,0)]
[Export ("layoutGuides")]
UILayoutGuide [] LayoutGuides { get; }
[iOS (9,0)]
[Export ("addLayoutGuide:")]
void AddLayoutGuide (UILayoutGuide guide);
[iOS (9,0)]
[Export ("removeLayoutGuide:")]
void RemoveLayoutGuide (UILayoutGuide guide);
[iOS (9,0)] // added in Xcode 7.1 / iOS 9.1 SDK
[Export ("focused")]
bool Focused { [Bind ("isFocused")] get; }
[iOS (9,0)] // added in Xcode 7.1 / iOS 9.1 SDK
[Export ("canBecomeFocused")]
new bool CanBecomeFocused { 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
[NoWatch, NoTV, iOS (11,0)]
[Export ("addInteraction:")]
void AddInteraction (IUIInteraction interaction);
[NoWatch, NoTV, iOS (11,0)]
[Export ("removeInteraction:")]
void RemoveInteraction (IUIInteraction interaction);
[NoWatch, NoTV, iOS (11, 0)]
[Export ("interactions", ArgumentSemantic.Copy)]
IUIInteraction[] Interactions { get; set; }
// UIAccessibilityInvertColors category
[NoWatch]
[TV (11,0), iOS (11,0)]
[Export ("accessibilityIgnoresInvertColors")]
bool AccessibilityIgnoresInvertColors { get; set; }
2016-04-21 15:30:02 +03:00
}
[Category, BaseType (typeof (UIView))]
interface UIView_UITextField {
2016-04-21 15:30:02 +03:00
[Export ("endEditing:")]
bool EndEditing (bool force);
}
[iOS (10,0), TV (10,0)]
[Category]
[BaseType (typeof (UILayoutGuide))]
interface UILayoutGuide_UIConstraintBasedLayoutDebugging {
[Export ("constraintsAffectingLayoutForAxis:")]
NSLayoutConstraint [] GetConstraintsAffectingLayout (UILayoutConstraintAxis axis);
[Export ("hasAmbiguousLayout")]
bool GetHasAmbiguousLayout ();
}
interface IUIContentContainer {}
2016-04-21 15:30:02 +03:00
[BaseType (typeof (UIResponder))]
interface UIViewController : NSCoding, UIAppearanceContainer, UIContentContainer, UITraitEnvironment, UIFocusEnvironment {
2016-04-21 15:30:02 +03:00
[DesignatedInitializer]
[Export ("initWithNibName:bundle:")]
[PostGet ("NibBundle")]
IntPtr Constructor ([NullAllowed] string nibName, [NullAllowed] NSBundle bundle);
[Export ("view", ArgumentSemantic.Retain)]
[NullAllowed]
UIView View { get; set; }
[Export ("loadView")]
void LoadView ();
[Export ("viewDidLoad")]
void ViewDidLoad ();
[NoTV]
[Export ("viewDidUnload")]
[Availability (Introduced = Platform.iOS_3_0, Deprecated = Platform.iOS_6_0)]
2016-04-21 15:30:02 +03:00
void ViewDidUnload ();
[Export ("isViewLoaded")]
bool IsViewLoaded { get; }
[Export ("nibName", ArgumentSemantic.Copy)]
string NibName { get; }
[Export ("nibBundle", ArgumentSemantic.Retain)]
NSBundle NibBundle { get; }
[Export ("viewWillAppear:")]
void ViewWillAppear (bool animated);
[Export ("viewDidAppear:")]
void ViewDidAppear (bool animated);
[Export ("viewWillDisappear:")]
void ViewWillDisappear (bool animated);
[Export ("viewDidDisappear:")]
void ViewDidDisappear (bool animated);
[NullAllowed] // by default this property is null
[Export ("title", ArgumentSemantic.Copy)]
string Title { get; set; }
[Export ("didReceiveMemoryWarning")]
void DidReceiveMemoryWarning ();
[NoTV]
[Export ("presentModalViewController:animated:")]
[Availability (Introduced = Platform.iOS_2_0, Deprecated = Platform.iOS_6_0, Message = "Use 'PresentViewController (UIViewController, bool, NSAction)' instead and set the 'ModalViewController' property to true.")]
2016-04-21 15:30:02 +03:00
void PresentModalViewController (UIViewController modalViewController, bool animated);
[NoTV]
[Export ("dismissModalViewControllerAnimated:")]
[Availability (Introduced = Platform.iOS_2_0, Deprecated = Platform.iOS_6_0, Message = "Use 'DismissViewController (bool, NSAction)' instead.")]
2016-04-21 15:30:02 +03:00
#if XAMCORE_2_0
void DismissModalViewController (bool animated);
#else
void DismissModalViewControllerAnimated (bool animated);
#endif
[NoTV]
[Export ("modalViewController")]
[Availability (Introduced = Platform.iOS_2_0, Deprecated = Platform.iOS_6_0, Message = "Use 'PresentedViewController' instead.")]
2016-04-21 15:30:02 +03:00
UIViewController ModalViewController { get; }
[Export ("modalTransitionStyle", ArgumentSemantic.Assign)]
UIModalTransitionStyle ModalTransitionStyle { get; set; }
[NoTV]
[Export ("wantsFullScreenLayout", ArgumentSemantic.Assign)]
[Availability (Introduced = Platform.iOS_3_0, Deprecated = Platform.iOS_7_0, Message = "Use 'EdgesForExtendedLayout', 'ExtendedLayoutIncludesOpaqueBars' and 'AutomaticallyAdjustsScrollViewInsets' instead.")]
2016-04-21 15:30:02 +03:00
bool WantsFullScreenLayout { get; set; }
[Export ("parentViewController")][NullAllowed]
UIViewController ParentViewController { get; }
[Export ("tabBarItem", ArgumentSemantic.Retain)]
UITabBarItem TabBarItem { get; set; }
// UIViewControllerRotation category
[NoTV]
[Export ("shouldAutorotateToInterfaceOrientation:")]
[Availability (Introduced = Platform.iOS_2_0, Deprecated = Platform.iOS_6_0, Message = "Use both 'GetSupportedInterfaceOrientations' and 'PreferredInterfaceOrientationForPresentation' instead.")]
2016-04-21 15:30:02 +03:00
bool ShouldAutorotateToInterfaceOrientation (UIInterfaceOrientation toInterfaceOrientation);
[NoTV]
[Availability (Deprecated = Platform.iOS_8_0, Message="Use Adaptive View Controllers instead.")]
2016-04-21 15:30:02 +03:00
[Export ("rotatingHeaderView")]
UIView RotatingHeaderView { get; }
[NoTV]
[Availability (Deprecated = Platform.iOS_8_0, Message="Use Adaptive View Controllers instead.")]
2016-04-21 15:30:02 +03:00
[Export ("rotatingFooterView")]
UIView RotatingFooterView { get; }
[NoTV]
[Export ("interfaceOrientation")]
[Availability (Deprecated = Platform.iOS_8_0, Message="Use Adaptive View Controllers instead.")]
2016-04-21 15:30:02 +03:00
UIInterfaceOrientation InterfaceOrientation { get; }
[NoTV]
[Export ("willRotateToInterfaceOrientation:duration:")]
[Availability (Deprecated = Platform.iOS_8_0, Message="Use Adaptive View Controllers instead.")]
2016-04-21 15:30:02 +03:00
void WillRotate (UIInterfaceOrientation toInterfaceOrientation, double duration);
[NoTV]
[Export ("didRotateFromInterfaceOrientation:")]
[Availability (Deprecated = Platform.iOS_8_0, Message="Use Adaptive View Controllers instead.")]
2016-04-21 15:30:02 +03:00
void DidRotate (UIInterfaceOrientation fromInterfaceOrientation);
[NoTV]
[Export ("willAnimateRotationToInterfaceOrientation:duration:")]
[Availability (Deprecated = Platform.iOS_8_0, Message="Use Adaptive View Controllers instead.")]
2016-04-21 15:30:02 +03:00
void WillAnimateRotation (UIInterfaceOrientation toInterfaceOrientation, double duration);
[NoTV]
[Export ("willAnimateFirstHalfOfRotationToInterfaceOrientation:duration:")]
[Availability (Deprecated = Platform.iOS_5_0)]
void WillAnimateFirstHalfOfRotation (UIInterfaceOrientation toInterfaceOrientation, double duration);
[NoTV]
[Export ("didAnimateFirstHalfOfRotationToInterfaceOrientation:")]
[Availability (Deprecated = Platform.iOS_5_0)]
void DidAnimateFirstHalfOfRotation (UIInterfaceOrientation toInterfaceOrientation);
[NoTV]
[Export ("willAnimateSecondHalfOfRotationFromInterfaceOrientation:duration:")]
[Availability (Deprecated = Platform.iOS_5_0)]
void WillAnimateSecondHalfOfRotation (UIInterfaceOrientation fromInterfaceOrientation, double duration);
// These come from @interface UIViewController (UIViewControllerEditing)
[Export ("editing")]
bool Editing { [Bind ("isEditing")] get; set; }
[Export ("setEditing:animated:")]
void SetEditing (bool editing, bool animated);
[Export ("editButtonItem")]
UIBarButtonItem EditButtonItem { get; }
// These come from @interface UIViewController (UISearchDisplayControllerSupport)
[NoTV]
[Availability (Deprecated = Platform.iOS_8_0, Message="Use 'UISearchController' instead.")]
2016-04-21 15:30:02 +03:00
[Export ("searchDisplayController", ArgumentSemantic.Retain)]
UISearchDisplayController SearchDisplayController { get; }
// These come from @interface UIViewController (UINavigationControllerItem)
[Export ("navigationItem", ArgumentSemantic.Retain)]
UINavigationItem NavigationItem {get; }
[NoTV]
[Export ("hidesBottomBarWhenPushed")]
bool HidesBottomBarWhenPushed { get; set; }
[Since (3,2)]
[Export ("splitViewController", ArgumentSemantic.Retain)]
UISplitViewController SplitViewController { get; }
[Export ("tabBarController", ArgumentSemantic.Retain)]
UITabBarController TabBarController { get; }
[Export ("navigationController", ArgumentSemantic.Retain)]
UINavigationController NavigationController { get; }
// These come from @interface UIViewController (UINavigationControllerContextualToolbarItems)
[Export ("toolbarItems", ArgumentSemantic.Retain)]
UIBarButtonItem [] ToolbarItems { get; [NullAllowed] set; }
[NoTV]
[Export ("setToolbarItems:animated:")][PostGet ("ToolbarItems")]
void SetToolbarItems ([NullAllowed] UIBarButtonItem [] items, bool animated);
// These come in 3.2
[Since (3,2)]
[Export ("modalPresentationStyle", ArgumentSemantic.Assign)]
UIModalPresentationStyle ModalPresentationStyle { get; set; }
// 3.2 extensions from MoviePlayer
2016-12-13 05:26:23 +03:00
[NoMac]
2016-04-21 15:30:02 +03:00
[NoTV]
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.iOS_9_0, Message = "Use 'AVPlayerViewController' (AVKit) instead.")]
2016-04-21 15:30:02 +03:00
[Export ("presentMoviePlayerViewControllerAnimated:")]
void PresentMoviePlayerViewController (MPMoviePlayerViewController moviePlayerViewController);
2016-12-13 05:26:23 +03:00
[NoMac]
2016-04-21 15:30:02 +03:00
[NoTV]
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.iOS_9_0, Message = "Use 'AVPlayerViewController' (AVKit) instead.")]
2016-04-21 15:30:02 +03:00
[Export ("dismissMoviePlayerViewControllerAnimated")]
void DismissMoviePlayerViewController ();
// This is defined in a category in UIPopoverSupport.h: UIViewController (UIPopoverController)
[NoTV]
[Availability (Introduced = Platform.iOS_3_2, Deprecated = Platform.iOS_7_0, Message = "Use 'PreferredContentSize' instead.")]
2016-04-21 15:30:02 +03:00
[Export ("contentSizeForViewInPopover")]
CGSize ContentSizeForViewInPopover { get; set; }
// This is defined in a category in UIPopoverSupport.h: UIViewController (UIPopoverController)
[Since (3,2)]
[Export ("modalInPopover")]
bool ModalInPopover { [Bind ("isModalInPopover")] get; set; }
[Since (4,3)] // It seems apple added a setter now but seems it is a mistake on new property radar:27929872
2016-04-21 15:30:02 +03:00
[Export ("disablesAutomaticKeyboardDismissal")]
bool DisablesAutomaticKeyboardDismissal { get; }
[Since (5,0)]
[Export ("storyboard", ArgumentSemantic.Retain)]
UIStoryboard Storyboard { get; }
[Since (5,0)]
[Export ("presentedViewController")]
UIViewController PresentedViewController { get; }
[Since (5,0)]
[Export ("presentingViewController")]
UIViewController PresentingViewController { get; }
[Since (5,0)]
[Export ("definesPresentationContext", ArgumentSemantic.Assign)]
bool DefinesPresentationContext { get; set; }
[Since (5,0)]
[Export ("providesPresentationContextTransitionStyle", ArgumentSemantic.Assign)]
bool ProvidesPresentationContextTransitionStyle { get; set; }
[NoTV]
[Since (5,0)]
[Availability (Introduced = Platform.iOS_5_0, Deprecated = Platform.iOS_6_0)]
[Export ("viewWillUnload")]
void ViewWillUnload ();
[Since (5,0)]
[Export ("performSegueWithIdentifier:sender:")]
void PerformSegue (string identifier, [NullAllowed] NSObject sender);
[Since (5,0)]
[Export ("prepareForSegue:sender:")]
void PrepareForSegue (UIStoryboardSegue segue, [NullAllowed] NSObject sender);
[Since (5,0)]
[Export ("viewWillLayoutSubviews")]
void ViewWillLayoutSubviews ();
[Since (5,0)]
[Export ("viewDidLayoutSubviews")]
void ViewDidLayoutSubviews ();
[Since (5,0)]
[Export ("isBeingPresented")]
bool IsBeingPresented { get; }
[Since (5,0)]
[Export ("isBeingDismissed")]
bool IsBeingDismissed { get; }
[Since (5,0)]
[Export ("isMovingToParentViewController")]
bool IsMovingToParentViewController { get; }
[Since (5,0)]
[Export ("isMovingFromParentViewController")]
bool IsMovingFromParentViewController { get; }
[Since (5,0)]
[Export ("presentViewController:animated:completion:")]
[Async]
void PresentViewController (UIViewController viewControllerToPresent, bool animated, [NullAllowed] NSAction completionHandler);
[Since (5,0)]
[Export ("dismissViewControllerAnimated:completion:")]
[Async]
void DismissViewController (bool animated, [NullAllowed] NSAction completionHandler);
// UIViewControllerRotation
[NoTV]
[Since (5,0)]
[Static]
[Export ("attemptRotationToDeviceOrientation")]
void AttemptRotationToDeviceOrientation ();
[NoTV]
[Availability (Introduced = Platform.iOS_5_0, Deprecated = Platform.iOS_6_0)]
[Export ("automaticallyForwardAppearanceAndRotationMethodsToChildViewControllers")]
/*PROTECTED*/ bool AutomaticallyForwardAppearanceAndRotationMethodsToChildViewControllers { get; }
[Since (5,0)]
[Export ("childViewControllers")]
/*PROTECTED, MUSTCALLBASE*/ UIViewController [] ChildViewControllers { get; }
[Since (5,0)]
[Export ("addChildViewController:")]
[PostGet ("ChildViewControllers")]
/*PROTECTED, MUSTCALLBASE*/ void AddChildViewController (UIViewController childController);
[Since (5,0)]
[Export ("removeFromParentViewController")]
/*PROTECTED, MUSTCALLBASE*/ void RemoveFromParentViewController ();
[Since (5,0)]
[Export ("transitionFromViewController:toViewController:duration:options:animations:completion:")]
[Async]
/*PROTECTED, MUSTCALLBASE*/ void Transition (UIViewController fromViewController, UIViewController toViewController, double duration, UIViewAnimationOptions options, /* non null */ NSAction animations, UICompletionHandler completionHandler);
[Since (5,0)]
[Export ("willMoveToParentViewController:")]
void WillMoveToParentViewController ([NullAllowed] UIViewController parent);
[Since (5,0)]
[Export ("didMoveToParentViewController:")]
void DidMoveToParentViewController ([NullAllowed] UIViewController parent);
//
// Exposed in iOS 6.0, but they existed and are now officially supported on iOS 5.0
//
[Since (5,0)]
[Export ("beginAppearanceTransition:animated:")]
void BeginAppearanceTransition (bool isAppearing, bool animated);
[Since (5,0)]
[Export ("endAppearanceTransition")]
void EndAppearanceTransition ();
//
// 6.0
//
[Since (6,0)]
[Export ("shouldPerformSegueWithIdentifier:sender:")]
bool ShouldPerformSegue (string segueIdentifier, NSObject sender);
[Since (6,0)]
[Export ("canPerformUnwindSegueAction:fromViewController:withSender:")]
bool CanPerformUnwind (Selector segueAction, UIViewController fromViewController, NSObject sender);
[Since (6,0)]
[Export ("viewControllerForUnwindSegueAction:fromViewController:withSender:")]
UIViewController GetViewControllerForUnwind (Selector segueAction, UIViewController fromViewController, NSObject sender);
[Since (6,0)]
[Export ("segueForUnwindingToViewController:fromViewController:identifier:")]
UIStoryboardSegue GetSegueForUnwinding (UIViewController toViewController, UIViewController fromViewController, string identifier);
[NoTV]
[Since (6,0)]
[Export ("supportedInterfaceOrientations")]
UIInterfaceOrientationMask GetSupportedInterfaceOrientations ();
[NoTV]
[Since (6,0)]
[Export ("preferredInterfaceOrientationForPresentation")]
UIInterfaceOrientation PreferredInterfaceOrientationForPresentation ();
[NoTV]
[Since (6,0)]
[Availability (Deprecated = Platform.iOS_8_0, Message="Use Adaptive View Controllers instead.")]
2016-04-21 15:30:02 +03:00
[Export ("shouldAutomaticallyForwardRotationMethods")]
bool ShouldAutomaticallyForwardRotationMethods { get; }
[Since (6,0)]
[Export ("shouldAutomaticallyForwardAppearanceMethods")]
bool ShouldAutomaticallyForwardAppearanceMethods { get; }
[Since (6,0)]
[NullAllowed] // by default this property is null
[Export ("restorationIdentifier", ArgumentSemantic.Copy)]
string RestorationIdentifier { get; set; }
[NullAllowed]
[Since (6,0)]
[Export ("restorationClass")]
Class RestorationClass { get; set; }
[Since (6,0)]
[Export ("encodeRestorableStateWithCoder:")]
void EncodeRestorableState (NSCoder coder);
[Since (6,0)]
[Export ("decodeRestorableStateWithCoder:")]
void DecodeRestorableState (NSCoder coder);
[Since(6,0)]
[Export ("updateViewConstraints")]
void UpdateViewConstraints ();
[NoTV]
[Since (6,0)]
[Export ("shouldAutorotate")]
bool ShouldAutorotate ();
[Since (7,0)]
[Export ("edgesForExtendedLayout", ArgumentSemantic.Assign)]
UIRectEdge EdgesForExtendedLayout { get; set; }
[Since (7,0)]
[Export ("extendedLayoutIncludesOpaqueBars", ArgumentSemantic.Assign)]
bool ExtendedLayoutIncludesOpaqueBars { get; set; }
[Since (7,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
[Deprecated (PlatformName.iOS, 11, 0, message: "Use UIScrollView's 'ContentInsetAdjustmentBehavior' instead.")]
[Deprecated (PlatformName.TvOS, 11, 0, message: "Use UIScrollView's 'ContentInsetAdjustmentBehavior' instead.")]
2016-04-21 15:30:02 +03:00
[Export ("automaticallyAdjustsScrollViewInsets", ArgumentSemantic.Assign)]
bool AutomaticallyAdjustsScrollViewInsets { get; set; }
[Since (7,0)]
[Export ("preferredContentSize", ArgumentSemantic.Copy)]
new CGSize PreferredContentSize { get; set; }
[NoTV][NoWatch]
[Since (7,0)]
[Export ("preferredStatusBarStyle")]
UIStatusBarStyle PreferredStatusBarStyle ();
[NoTV]
[Since (7,0)]
[Export ("prefersStatusBarHidden")]
bool PrefersStatusBarHidden ();
[NoTV]
[Since (7,0)]
[Export ("setNeedsStatusBarAppearanceUpdate")]
void SetNeedsStatusBarAppearanceUpdate ();
[Since (7,0)]
[Export ("applicationFinishedRestoringState")]
void ApplicationFinishedRestoringState ();
[Since (7,0)]
[Export ("transitioningDelegate", ArgumentSemantic.Assign), NullAllowed]
NSObject WeakTransitioningDelegate { get; set; }
[Since (7,0)]
[Wrap ("WeakTransitioningDelegate")]
[Protocolize]
UIViewControllerTransitioningDelegate TransitioningDelegate { get; set; }
[NoTV]
[Since (7,0)]
[Export ("childViewControllerForStatusBarStyle")]
UIViewController ChildViewControllerForStatusBarStyle ();
[NoTV]
[Since (7,0)]
[Export ("childViewControllerForStatusBarHidden")]
UIViewController ChildViewControllerForStatusBarHidden ();
[Since (7,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
[Deprecated (PlatformName.iOS, 11, 0, message: "Use UIView's 'SafeAreaLayoutGuide' instead.")]
[Deprecated (PlatformName.TvOS, 11, 0, message: "Use UIView's 'SafeAreaLayoutGuide' instead.")]
2016-04-21 15:30:02 +03:00
[Export ("topLayoutGuide")]
IUILayoutSupport TopLayoutGuide { get; }
[Since (7,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
[Deprecated (PlatformName.iOS, 11, 0, message: "Use UIView's 'SafeAreaLayoutGuide' instead.")]
[Deprecated (PlatformName.TvOS, 11, 0, message: "Use UIView's 'SafeAreaLayoutGuide' instead.")]
2016-04-21 15:30:02 +03:00
[Export ("bottomLayoutGuide")]
IUILayoutSupport BottomLayoutGuide { get; }
[NoTV][NoWatch]
[Since (7,0)]
[Export ("preferredStatusBarUpdateAnimation")]
UIStatusBarAnimation PreferredStatusBarUpdateAnimation { get; }
[NoTV]
[Since (7,0)]
[Export ("modalPresentationCapturesStatusBarAppearance", ArgumentSemantic.Assign)]
bool ModalPresentationCapturesStatusBarAppearance { get; set; }
//
// iOS 8
//
[iOS (8,0)]
[Export ("targetViewControllerForAction:sender:")]
UIViewController GetTargetViewControllerForAction (Selector action, [NullAllowed] NSObject sender);
[iOS (8,0)]
[Export ("showViewController:sender:")]
void ShowViewController (UIViewController vc, [NullAllowed] NSObject sender);
[iOS (8,0)]
[Export ("showDetailViewController:sender:")]
void ShowDetailViewController (UIViewController vc, [NullAllowed] NSObject sender);
[iOS (8,0)]
[Export ("setOverrideTraitCollection:forChildViewController:")]
void SetOverrideTraitCollection (UITraitCollection collection, UIViewController childViewController);
[iOS (8,0)]
[Export ("overrideTraitCollectionForChildViewController:")]
UITraitCollection GetOverrideTraitCollectionForChildViewController (UIViewController childViewController);
[iOS (8,0)]
[Export ("extensionContext")]
NSExtensionContext ExtensionContext { get; }
[iOS (8,0)]
[Export ("presentationController")]
UIPresentationController PresentationController { get; }
[NoTV]
[iOS (8,0)]
[Export ("popoverPresentationController")]
UIPopoverPresentationController PopoverPresentationController { get; }
[iOS (8,0)]
[Field ("UIViewControllerShowDetailTargetDidChangeNotification")]
[Notification]
NSString ShowDetailTargetDidChangeNotification { get; }
[iOS (9,0)]
[Export ("loadViewIfNeeded")]
void LoadViewIfNeeded ();
[iOS (9,0)]
[Export ("viewIfLoaded", ArgumentSemantic.Strong), NullAllowed]
UIView ViewIfLoaded { get; }
[iOS (9,0)]
[Export ("allowedChildViewControllersForUnwindingFromSource:")]
UIViewController[] GetAllowedChildViewControllersForUnwinding (UIStoryboardUnwindSegueSource segueSource);
[iOS (9,0)]
[Export ("childViewControllerContainingSegueSource:")]
[return: NullAllowed]
UIViewController GetChildViewControllerContainingSegueSource (UIStoryboardUnwindSegueSource segueSource);
[iOS (9,0)]
[Export ("unwindForSegue:towardsViewController:")]
void Unwind (UIStoryboardSegue unwindSegue, UIViewController subsequentVC);
[iOS (9,0)]
[Export ("addKeyCommand:")]
void AddKeyCommand (UIKeyCommand command);
[iOS (9,0)]
[Export ("removeKeyCommand:")]
void RemoveKeyCommand (UIKeyCommand command);
[iOS (9,0)]
[Export ("registerForPreviewingWithDelegate:sourceView:")]
IUIViewControllerPreviewing RegisterForPreviewingWithDelegate (IUIViewControllerPreviewingDelegate previewingDelegate, UIView sourceView);
[iOS (9,0)]
[Export ("unregisterForPreviewingWithContext:")]
void UnregisterForPreviewingWithContext (IUIViewControllerPreviewing previewing);
[iOS (9,0)]
[Export ("previewActionItems")]
IUIPreviewActionItem[] PreviewActionItems { get; }
[Field ("UIViewControllerHierarchyInconsistencyException")]
NSString HierarchyInconsistencyException { get; }
[iOS (10,0), TV (10,0)]
[Export ("restoresFocusAfterTransition")]
bool RestoresFocusAfterTransition { 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
[NoWatch, NoiOS]
[TV (11,0)]
[Export ("preferredUserInterfaceStyle")]
UIUserInterfaceStyle PreferredUserInterfaceStyle { get; }
[NoWatch, NoiOS]
[TV (11,0)]
[Export ("setNeedsUserInterfaceAppearanceUpdate")]
void SetNeedsUserInterfaceAppearanceUpdate ();
[NoWatch, NoiOS]
[TV (11, 0)]
[NullAllowed, Export ("childViewControllerForUserInterfaceStyle")]
UIViewController ChildViewControllerForUserInterfaceStyle { get; }
[iOS (11,0), TV (11,0)]
[Export ("additionalSafeAreaInsets", ArgumentSemantic.Assign)]
UIEdgeInsets AdditionalSafeAreaInsets { get; set; }
[iOS (11,0), TV (11,0)]
[Export ("systemMinimumLayoutMargins")]
NSDirectionalEdgeInsets SystemMinimumLayoutMargins { get; }
[iOS (11,0), TV (11,0)]
[Export ("viewRespectsSystemMinimumLayoutMargins")]
bool ViewRespectsSystemMinimumLayoutMargins { get; set; }
[iOS (11,0), TV (11,0)]
[Export ("viewLayoutMarginsDidChange")]
[Advice ("You must call the base method when overriding.")] // [RequiresSuper]
void ViewLayoutMarginsDidChange ();
[iOS (11,0), TV (11,0)]
[Export ("viewSafeAreaInsetsDidChange")]
[Advice ("You must call the base method when overriding.")] // [RequiresSuper]
void ViewSafeAreaInsetsDidChange ();
[NoWatch, NoTV]
[iOS (11,0)]
[NullAllowed, Export ("childViewControllerForScreenEdgesDeferringSystemGestures")]
UIViewController ChildViewControllerForScreenEdgesDeferringSystemGestures { get; }
[NoWatch, NoTV]
[iOS (11,0)]
[Export ("preferredScreenEdgesDeferringSystemGestures")]
UIRectEdge PreferredScreenEdgesDeferringSystemGestures { get; }
[NoWatch, NoTV]
[iOS (11,0)]
[Export ("setNeedsUpdateOfScreenEdgesDeferringSystemGestures")]
void SetNeedsUpdateOfScreenEdgesDeferringSystemGestures ();
// UIHomeIndicatorAutoHidden (UIViewController) category
[NoWatch, NoTV]
[iOS (11,0)]
[NullAllowed, Export ("childViewControllerForHomeIndicatorAutoHidden")]
UIViewController ChildViewControllerForHomeIndicatorAutoHidden { get; }
[NoWatch, NoTV]
[iOS (11,0)]
[Export ("prefersHomeIndicatorAutoHidden")]
bool PrefersHomeIndicatorAutoHidden { get; }
[NoWatch, NoTV]
[iOS (11,0)]
[Export ("setNeedsUpdateOfHomeIndicatorAutoHidden")]
void SetNeedsUpdateOfHomeIndicatorAutoHidden ();
2016-04-21 15:30:02 +03:00
}
[Since (7,0)]
[Protocol, Model, BaseType (typeof (NSObject))]
partial interface UIViewControllerContextTransitioning {
2016-04-21 15:30:02 +03:00
[Abstract]
[Export ("containerView")]
UIView ContainerView { get; }
[Abstract]
[Export ("isAnimated")]
bool IsAnimated { get; }
[Abstract]
[Export ("isInteractive")]
bool IsInteractive { get; }
[Abstract]
[Export ("transitionWasCancelled")]
bool TransitionWasCancelled { get; }
[Abstract]
[Export ("presentationStyle")]
UIModalPresentationStyle PresentationStyle { get; }
[Abstract]
[Export ("updateInteractiveTransition:")]
void UpdateInteractiveTransition (nfloat percentComplete);
[Abstract]
[Export ("finishInteractiveTransition")]
void FinishInteractiveTransition ();
[Abstract]
[Export ("cancelInteractiveTransition")]
void CancelInteractiveTransition ();
[Abstract]
[Export ("completeTransition:")]
void CompleteTransition (bool didComplete);
[Abstract]
[Export ("viewControllerForKey:")]
UIViewController GetViewControllerForKey (NSString uiTransitionKey);
[Abstract]
[Export ("initialFrameForViewController:")]
CGRect GetInitialFrameForViewController (UIViewController vc);
[Abstract]
[Export ("finalFrameForViewController:")]
CGRect GetFinalFrameForViewController (UIViewController vc);
#if XAMCORE_2_0
[Abstract]
#endif
[Export ("viewForKey:")]
UIView GetViewFor (NSString uiTransitionContextToOrFromKey);
#if XAMCORE_2_0
[Abstract]
#endif
[Export ("targetTransform")]
CGAffineTransform TargetTransform { get; }
#if XAMCORE_4_0 // Can't break the world right now
[Abstract]
#endif
[iOS (10,0), TV (10,0)]
[Export ("pauseInteractiveTransition")]
void PauseInteractiveTransition ();
2016-04-21 15:30:02 +03:00
}
interface IUIViewControllerContextTransitioning {
2016-04-21 15:30:02 +03:00
}
interface IUITraitEnvironment {}
2016-04-21 15:30:02 +03:00
[BaseType (typeof (NSObject))]
[Model]
[Protocol]
[iOS (8,0)]
partial interface UITraitEnvironment {
2016-04-21 15:30:02 +03:00
#if XAMCORE_2_0
[Abstract]
#endif
[iOS (8,0)]
[Export ("traitCollection")]
UITraitCollection TraitCollection { get; }
#if XAMCORE_2_0
[Abstract]
#endif
[iOS (8,0)]
[Export ("traitCollectionDidChange:")]
void TraitCollectionDidChange ([NullAllowed] UITraitCollection previousTraitCollection);
}
[iOS (8,0)]
[BaseType (typeof (NSObject))]
partial interface UITraitCollection : NSCopying, NSSecureCoding {
[Export ("userInterfaceIdiom")]
UIUserInterfaceIdiom UserInterfaceIdiom { get; }
[TV (10, 0), NoWatch, NoiOS]
[Export ("userInterfaceStyle")]
UIUserInterfaceStyle UserInterfaceStyle { get; }
[Export ("displayScale")]
nfloat DisplayScale { get; }
[Export ("horizontalSizeClass")]
UIUserInterfaceSizeClass HorizontalSizeClass { get; }
[Export ("verticalSizeClass")]
UIUserInterfaceSizeClass VerticalSizeClass { get; }
[Export ("containsTraitsInCollection:")]
bool Contains (UITraitCollection trait);
[Static, Export ("traitCollectionWithTraitsFromCollections:")]
UITraitCollection FromTraitsFromCollections (UITraitCollection [] traitCollections);
[Static, Export ("traitCollectionWithUserInterfaceIdiom:")]
UITraitCollection FromUserInterfaceIdiom (UIUserInterfaceIdiom idiom);
[Static, Export ("traitCollectionWithDisplayScale:")]
UITraitCollection FromDisplayScale (nfloat scale);
[Static, Export ("traitCollectionWithHorizontalSizeClass:")]
UITraitCollection FromHorizontalSizeClass (UIUserInterfaceSizeClass horizontalSizeClass);
[Static, Export ("traitCollectionWithVerticalSizeClass:")]
UITraitCollection FromVerticalSizeClass (UIUserInterfaceSizeClass verticalSizeClass);
[iOS (9,0)]
[Static, Export ("traitCollectionWithForceTouchCapability:")]
UITraitCollection FromForceTouchCapability (UIForceTouchCapability capability);
[TV (10, 0), NoWatch, NoiOS]
[Static]
[Export ("traitCollectionWithUserInterfaceStyle:")]
UITraitCollection FromUserInterfaceStyle (UIUserInterfaceStyle userInterfaceStyle);
[iOS (10,0), TV (10,0)]
[Static]
[Export ("traitCollectionWithDisplayGamut:")]
UITraitCollection FromDisplayGamut (UIDisplayGamut displayGamut);
[iOS (10,0), TV (10,0)]
[Static]
[Export ("traitCollectionWithLayoutDirection:")]
UITraitCollection FromLayoutDirection (UITraitEnvironmentLayoutDirection layoutDirection);
2016-04-21 15:30:02 +03:00
[iOS (10,0), TV (10,0)]
[Static]
[Export ("traitCollectionWithPreferredContentSizeCategory:")]
[Internal]
UITraitCollection FromPreferredContentSizeCategory (NSString preferredContentSizeCategory);
[iOS (9,0)]
[Export ("forceTouchCapability")]
UIForceTouchCapability ForceTouchCapability { get; }
[iOS (10,0), TV (10,0)]
[Export ("displayGamut")]
UIDisplayGamut DisplayGamut { get; }
[iOS (10,0), TV (10,0)]
[Export ("preferredContentSizeCategory")]
string PreferredContentSizeCategory { get; }
[iOS (10,0), TV (10,0)]
[Export ("layoutDirection")]
UITraitEnvironmentLayoutDirection LayoutDirection { get; }
2016-04-21 15:30:02 +03:00
}
[Since (7,0)]
[Static]
partial interface UITransitionContext {
2016-04-21 15:30:02 +03:00
[Field ("UITransitionContextFromViewControllerKey")]
NSString FromViewControllerKey { get; }
[Field ("UITransitionContextToViewControllerKey")]
NSString ToViewControllerKey { get; }
[iOS(8,0)]
[Field ("UITransitionContextFromViewKey")]
NSString FromViewKey { get; }
[iOS (8,0)]
[Field ("UITransitionContextToViewKey")]
NSString ToViewKey { get; }
}
[Since (7,0)]
[Model, BaseType (typeof (NSObject))]
[Protocol]
partial interface UIViewControllerAnimatedTransitioning {
2016-04-21 15:30:02 +03:00
[Abstract]
[Export ("transitionDuration:")]
double TransitionDuration (IUIViewControllerContextTransitioning transitionContext);
[Abstract]
[Export ("animateTransition:")]
void AnimateTransition (IUIViewControllerContextTransitioning transitionContext);
[iOS (10, 0)]
[Export ("interruptibleAnimatorForTransition:")]
IUIViewImplicitlyAnimating GetInterruptibleAnimator (IUIViewControllerContextTransitioning transitionContext);
2016-04-21 15:30:02 +03:00
[Export ("animationEnded:")]
void AnimationEnded (bool transitionCompleted);
}
interface IUIViewControllerAnimatedTransitioning {}
2016-04-21 15:30:02 +03:00
[Since (7,0)]
[Model, BaseType (typeof (NSObject))]
[Protocol]
partial interface UIViewControllerInteractiveTransitioning {
2016-04-21 15:30:02 +03:00
[Abstract]
[Export ("startInteractiveTransition:")]
void StartInteractiveTransition (IUIViewControllerContextTransitioning transitionContext);
[Export ("completionSpeed")]
nfloat CompletionSpeed { get; }
[Export ("completionCurve")]
UIViewAnimationCurve CompletionCurve { get; }
[iOS (10,0), TV (10,0)]
[Export ("wantsInteractiveStart")]
bool WantsInteractiveStart { get; }
2016-04-21 15:30:02 +03:00
}
interface IUIViewControllerInteractiveTransitioning {}
2016-04-21 15:30:02 +03:00
[Model, BaseType (typeof (NSObject))]
[Protocol]
partial interface UIViewControllerTransitioningDelegate {
2016-04-21 15:30:02 +03:00
[Export ("animationControllerForPresentedController:presentingController:sourceController:")]
#if XAMCORE_2_0
IUIViewControllerAnimatedTransitioning GetAnimationControllerForPresentedController (UIViewController presented, UIViewController presenting, UIViewController source);
#else
IUIViewControllerAnimatedTransitioning PresentingController (UIViewController presented, UIViewController presenting, UIViewController source);
#endif
[Export ("animationControllerForDismissedController:")]
IUIViewControllerAnimatedTransitioning GetAnimationControllerForDismissedController (UIViewController dismissed);
[Export ("interactionControllerForPresentation:")]
IUIViewControllerInteractiveTransitioning GetInteractionControllerForPresentation (IUIViewControllerAnimatedTransitioning animator);
[Export ("interactionControllerForDismissal:")]
IUIViewControllerInteractiveTransitioning GetInteractionControllerForDismissal (IUIViewControllerAnimatedTransitioning animator);
[iOS (8,0)]
[Export ("presentationControllerForPresentedViewController:presentingViewController:sourceViewController:")]
UIPresentationController GetPresentationControllerForPresentedViewController (UIViewController presentedViewController, [NullAllowed] UIViewController presentingViewController, UIViewController sourceViewController);
2016-04-21 15:30:02 +03:00
}
[Since (7,0)]
[BaseType (typeof (NSObject))]
partial interface UIPercentDrivenInteractiveTransition : UIViewControllerInteractiveTransitioning {
2016-04-21 15:30:02 +03:00
[Export ("duration")]
nfloat Duration { get; }
[Export ("percentComplete")]
nfloat PercentComplete { get; }
[Export ("completionSpeed", ArgumentSemantic.Assign)]
new nfloat CompletionSpeed { get; set; }
[Export ("completionCurve", ArgumentSemantic.Assign)]
new UIViewAnimationCurve CompletionCurve { get; set; }
[iOS (10,0), TV (10,0)]
[NullAllowed, Export ("timingCurve", ArgumentSemantic.Strong)]
IUITimingCurveProvider TimingCurve { get; set; }
// getter comes from UIViewControllerInteractiveTransitioning but
// headers declares a setter here
[iOS (10,0), TV (10,0)]
[Export ("wantsInteractiveStart")]
new bool WantsInteractiveStart { get; set; }
[iOS (10,0), TV (10,0)]
[Export ("pauseInteractiveTransition")]
void PauseInteractiveTransition ();
2016-04-21 15:30:02 +03:00
[Export ("updateInteractiveTransition:")]
void UpdateInteractiveTransition (nfloat percentComplete);
[Export ("cancelInteractiveTransition")]
void CancelInteractiveTransition ();
[Export ("finishInteractiveTransition")]
void FinishInteractiveTransition ();
}
//
// This protocol is only for consumption (there is no API to set a transition coordinator context,
// you'll be provided an existing one), so we do not provide a model to subclass.
//
[Since (7,0)]
[Protocol]
partial interface UIViewControllerTransitionCoordinatorContext {
2016-04-21 15:30:02 +03:00
[Abstract]
[Export ("isAnimated")]
bool IsAnimated { get; }
[Abstract]
[Export ("presentationStyle")]
UIModalPresentationStyle PresentationStyle { get; }
[Abstract]
[Export ("initiallyInteractive")]
bool InitiallyInteractive { get; }
[Abstract]
[Export ("isInteractive")]
bool IsInteractive { get; }
[Abstract]
[Export ("isCancelled")]
bool IsCancelled { get; }
[Abstract]
[Export ("transitionDuration")]
double TransitionDuration { get; }
[Abstract]
[Export ("percentComplete")]
nfloat PercentComplete { get; }
[Abstract]
[Export ("completionVelocity")]
nfloat CompletionVelocity { get; }
[Abstract]
[Export ("completionCurve")]
UIViewAnimationCurve CompletionCurve { get; }
[Abstract]
[Export ("viewControllerForKey:")]
UIViewController GetViewControllerForKey (NSString uiTransitionKey);
[Abstract]
[Export ("containerView")]
UIView ContainerView { get; }
#if XAMCORE_2_0
[Abstract]
#endif
[iOS (8,0)]
[Export ("targetTransform")]
CGAffineTransform TargetTransform ();
#if XAMCORE_2_0
[Abstract]
#endif
[iOS (8,0)]
[Export ("viewForKey:")]
[EditorBrowsable (EditorBrowsableState.Advanced)] // this is not the one we want to be seen (compat only)
UIView GetTransitionViewControllerForKey (NSString key);
#if XAMCORE_4_0 // This is abstract in headers but is a breaking change
[Abstract]
#endif
[iOS (10, 0)]
[Export ("isInterruptible")]
bool IsInterruptible { get; }
2016-04-21 15:30:02 +03:00
}
interface IUIViewControllerTransitionCoordinatorContext {}
2016-04-21 15:30:02 +03:00
//
// This protocol is only for consumption (there is no API to set a transition coordinator,
// only get an existing one), so we do not provide a model to subclass.
//
[Since (7,0)]
[Protocol]
partial interface UIViewControllerTransitionCoordinator : UIViewControllerTransitionCoordinatorContext {
2016-04-21 15:30:02 +03:00
[Abstract]
[Export ("animateAlongsideTransition:completion:")]
bool AnimateAlongsideTransition (Action<IUIViewControllerTransitionCoordinatorContext> animate,
[NullAllowed] Action<IUIViewControllerTransitionCoordinatorContext> completion);
[Abstract]
[Export ("animateAlongsideTransitionInView:animation:completion:")]
bool AnimateAlongsideTransitionInView (UIView view, Action<IUIViewControllerTransitionCoordinatorContext> animation, [NullAllowed] Action<IUIViewControllerTransitionCoordinatorContext> completion);
[Abstract]
[Deprecated (PlatformName.iOS, 10, 0, message: "Use 'NotifyWhenInteractionChanges' instead.")]
2016-04-21 15:30:02 +03:00
[Export ("notifyWhenInteractionEndsUsingBlock:")]
void NotifyWhenInteractionEndsUsingBlock (Action<IUIViewControllerTransitionCoordinatorContext> handler);
#if XAMCORE_4_0 // This is abstract in headers but is a breaking change
[Abstract]
#endif
[iOS (10,0)]
[Export ("notifyWhenInteractionChangesUsingBlock:")]
void NotifyWhenInteractionChanges (Action<IUIViewControllerTransitionCoordinatorContext> handler);
2016-04-21 15:30:02 +03:00
}
interface IUIViewControllerTransitionCoordinator {}
2016-04-21 15:30:02 +03:00
[Category, BaseType (typeof (UIViewController))]
partial interface TransitionCoordinator_UIViewController {
2016-04-21 15:30:02 +03:00
[Export ("transitionCoordinator")]
IUIViewControllerTransitionCoordinator GetTransitionCoordinator ();
}
[NoTV]
[BaseType (typeof (UIView), Delegates=new string [] { "WeakDelegate" }, Events=new Type [] {typeof(UIWebViewDelegate)})]
interface UIWebView : UIScrollViewDelegate {
2016-04-21 15:30:02 +03:00
[Export ("initWithFrame:")]
IntPtr Constructor (CGRect frame);
[Export ("delegate", ArgumentSemantic.Assign)][NullAllowed]
NSObject WeakDelegate { get; set; }
[Wrap ("WeakDelegate")]
[Protocolize]
UIWebViewDelegate Delegate { get; set; }
[Export ("loadRequest:")]
void LoadRequest (NSUrlRequest r);
[Export ("loadHTMLString:baseURL:")]
void LoadHtmlString (string s, [NullAllowed] NSUrl baseUrl);
[Export ("loadData:MIMEType:textEncodingName:baseURL:")]
void LoadData (NSData data, string mimeType, string textEncodingName, NSUrl baseUrl);
[Export ("request", ArgumentSemantic.Retain)]
NSUrlRequest Request { get; }
[Export ("reload")]
void Reload ();
[Export ("stopLoading")]
void StopLoading ();
[Export ("goBack")]
void GoBack ();
[Export ("goForward")]
void GoForward ();
[Export ("canGoBack")]
bool CanGoBack { get; }
[Export ("canGoForward")]
bool CanGoForward { get; }
[Export ("isLoading")]
bool IsLoading { get; }
[Export ("stringByEvaluatingJavaScriptFromString:")]
string EvaluateJavascript (string script);
[Export ("scalesPageToFit")]
bool ScalesPageToFit { get; set; }
[Export ("dataDetectorTypes")]
UIDataDetectorType DataDetectorTypes { get; set; }
[Since (4,0)]
[Export ("allowsInlineMediaPlayback")]
bool AllowsInlineMediaPlayback { get; set; }
[Since (4,0)]
[Export ("mediaPlaybackRequiresUserAction")]
bool MediaPlaybackRequiresUserAction { get; set; }
[Since (5,0)]
[Export ("scrollView", ArgumentSemantic.Retain)]
UIScrollView ScrollView { get; }
[Since (5,0)]
[Export ("mediaPlaybackAllowsAirPlay")]
bool MediaPlaybackAllowsAirPlay { get; set; }
[Since (6,0)]
[Export ("suppressesIncrementalRendering")]
bool SuppressesIncrementalRendering { get; set; }
[Since (6,0)]
[Export ("keyboardDisplayRequiresUserAction")]
bool KeyboardDisplayRequiresUserAction { get; set; }
[Since (7,0)]
[Export ("paginationMode")]
UIWebPaginationMode PaginationMode { get; set; }
[Since (7,0)]
[Export ("paginationBreakingMode")]
UIWebPaginationBreakingMode PaginationBreakingMode { get; set; }
[Since (7,0)]
[Export ("pageLength")]
nfloat PageLength { get; set; }
[Since (7,0)]
[Export ("gapBetweenPages")]
nfloat GapBetweenPages { get; set; }
[Since (7,0)]
[Export ("pageCount")]
nint PageCount { get; }
[iOS (9,0)]
[Export ("allowsPictureInPictureMediaPlayback")]
bool AllowsPictureInPictureMediaPlayback { get; set; }
[iOS (9,0), Mac(10,11)]
[Export ("allowsLinkPreview")]
bool AllowsLinkPreview { get; set; }
}
[NoTV]
[BaseType (typeof (NSObject))]
[Model]
[Protocol]
interface UIWebViewDelegate {
2016-04-21 15:30:02 +03:00
[Export ("webView:shouldStartLoadWithRequest:navigationType:"), DelegateName ("UIWebLoaderControl"), DefaultValue ("true")]
bool ShouldStartLoad (UIWebView webView, NSUrlRequest request, UIWebViewNavigationType navigationType);
[Export ("webViewDidStartLoad:"), EventArgs ("UIWebView")]
void LoadStarted (UIWebView webView);
[Export ("webViewDidFinishLoad:"), EventArgs ("UIWebView"), EventName ("LoadFinished")]
void LoadingFinished (UIWebView webView);
[Export ("webView:didFailLoadWithError:"), EventArgs ("UIWebErrorArgs", false, true), EventName ("LoadError")]
void LoadFailed (UIWebView webView, NSError error);
}
[Since (3,2)]
[BaseType (typeof (NSObject))]
interface UITextChecker {
2016-04-21 15:30:02 +03:00
[Export ("rangeOfMisspelledWordInString:range:startingAt:wrap:language:")]
NSRange RangeOfMisspelledWordInString (string stringToCheck, NSRange range, nint startingOffset, bool wrapFlag, string language);
[Export ("guessesForWordRange:inString:language:")]
string [] GuessesForWordRange (NSRange range, string str, string language);
[Export ("completionsForPartialWordRange:inString:language:")]
string [] CompletionsForPartialWordRange (NSRange range, string str, string language);
[Export ("ignoreWord:")]
void IgnoreWord (string wordToIgnore);
[NullAllowed] // by default this property is null
[Export ("ignoredWords")]
string [] IgnoredWords { get; set; }
[Static]
[Export ("learnWord:")]
void LearnWord (string word);
[Static]
[Export ("unlearnWord:")]
void UnlearnWord (string word);
[Static]
[Export ("hasLearnedWord:")]
bool HasLearnedWord (string word);
[Static]
[Export ("availableLanguages")]
string AvailableLangauges { get; }
}
[Static]
[iOS (10,0), TV (10,0)]
interface UITextContentType {
[Field ("UITextContentTypeName")]
NSString Name { get; }
[Field ("UITextContentTypeNamePrefix")]
NSString NamePrefix { get; }
[Field ("UITextContentTypeGivenName")]
NSString GivenName { get; }
[Field ("UITextContentTypeMiddleName")]
NSString MiddleName { get; }
[Field ("UITextContentTypeFamilyName")]
NSString FamilyName { get; }
[Field ("UITextContentTypeNameSuffix")]
NSString NameSuffix { get; }
[Field ("UITextContentTypeNickname")]
NSString Nickname { get; }
[Field ("UITextContentTypeJobTitle")]
NSString JobTitle { get; }
[Field ("UITextContentTypeOrganizationName")]
NSString OrganizationName { get; }
[Field ("UITextContentTypeLocation")]
NSString Location { get; }
[Field ("UITextContentTypeFullStreetAddress")]
NSString FullStreetAddress { get; }
[Field ("UITextContentTypeStreetAddressLine1")]
NSString StreetAddressLine1 { get; }
[Field ("UITextContentTypeStreetAddressLine2")]
NSString StreetAddressLine2 { get; }
[Field ("UITextContentTypeAddressCity")]
NSString AddressCity { get; }
[Field ("UITextContentTypeAddressState")]
NSString AddressState { get; }
[Field ("UITextContentTypeAddressCityAndState")]
NSString AddressCityAndState { get; }
[Field ("UITextContentTypeSublocality")]
NSString Sublocality { get; }
[Field ("UITextContentTypeCountryName")]
NSString CountryName { get; }
[Field ("UITextContentTypePostalCode")]
NSString PostalCode { get; }
[Field ("UITextContentTypeTelephoneNumber")]
NSString TelephoneNumber { get; }
[Field ("UITextContentTypeEmailAddress")]
NSString EmailAddress { get; }
[Field ("UITextContentTypeURL")]
NSString Url { get; }
[Field ("UITextContentTypeCreditCardNumber")]
NSString CreditCardNumber { 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
[iOS (11,0), TV (11,0)]
[Field ("UITextContentTypeUsername")]
NSString Username { get; }
[iOS (11,0), TV (11,0)]
[Field ("UITextContentTypePassword")]
NSString Password { get; }
}
2016-04-21 15:30:02 +03:00
[Since (3,2)]
[BaseType (typeof (UIViewController), Delegates=new string [] { "WeakDelegate" }, Events=new Type [] {typeof(UISplitViewControllerDelegate)})]
interface UISplitViewController {
2016-04-21 15:30:02 +03:00
[Export ("initWithNibName:bundle:")]
[PostGet ("NibBundle")]
IntPtr Constructor ([NullAllowed] string nibName, [NullAllowed] NSBundle bundle);
[Export ("viewControllers", ArgumentSemantic.Copy)]
[PostGet ("ChildViewControllers")]
UIViewController [] ViewControllers { get; set; }
[Wrap ("WeakDelegate")]
[Protocolize]
UISplitViewControllerDelegate Delegate { get; set; }
[Export ("delegate", ArgumentSemantic.Assign)][NullAllowed]
NSObject WeakDelegate { get; set; }
[Since (5,1)]
[Export ("presentsWithGesture")]
bool PresentsWithGesture { get; set; }
//
// iOS 8
//
[iOS (8,0)]
[Export ("collapsed")]
bool Collapsed { [Bind ("isCollapsed")] get; }
[iOS (8,0)]
[Export ("preferredDisplayMode")]
UISplitViewControllerDisplayMode PreferredDisplayMode { get; set; }
[iOS (8,0)]
[Export ("displayMode")]
UISplitViewControllerDisplayMode DisplayMode { get; }
[iOS (8,0)]
[Export ("preferredPrimaryColumnWidthFraction", ArgumentSemantic.UnsafeUnretained)]
nfloat PreferredPrimaryColumnWidthFraction { get; set; }
[iOS (8,0)]
[Export ("minimumPrimaryColumnWidth", ArgumentSemantic.UnsafeUnretained)]
nfloat MinimumPrimaryColumnWidth { get; set; }
[iOS (8,0)]
[Export ("maximumPrimaryColumnWidth", ArgumentSemantic.UnsafeUnretained)]
nfloat MaximumPrimaryColumnWidth { get; set; }
[iOS (8,0)]
[Export ("primaryColumnWidth")]
nfloat PrimaryColumnWidth { get; }
[iOS (8,0)]
[Export ("displayModeButtonItem")]
UIBarButtonItem DisplayModeButtonItem { get; }
[iOS (8,0)]
[Export ("showViewController:sender:")]
void ShowViewController (UIViewController vc, [NullAllowed] NSObject sender);
[iOS (8,0)]
[Export ("showDetailViewController:sender:")]
void ShowDetailViewController (UIViewController vc, [NullAllowed] NSObject sender);
[iOS (8,0)]
[Field ("UISplitViewControllerAutomaticDimension")]
nfloat AutomaticDimension { 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
[iOS (11,0), TV (11,0)]
[Export ("primaryEdge", ArgumentSemantic.Assign)]
UISplitViewControllerPrimaryEdge PrimaryEdge { get; set; }
2016-04-21 15:30:02 +03:00
}
[Since (3,2)]
[BaseType (typeof (NSObject))]
[Model]
[Protocol]
interface UISplitViewControllerDelegate {
2016-04-21 15:30:02 +03:00
[NoTV]
[Since (7,0)] // While introduced in 7.0, it was not made public, it was only publicized in iOS 8 and made retroactively supported
[Export ("splitViewControllerSupportedInterfaceOrientations:"), DelegateName("Func<UISplitViewController,UIInterfaceOrientationMask>"), DefaultValue(UIInterfaceOrientationMask.All)]
UIInterfaceOrientationMask SupportedInterfaceOrientations (UISplitViewController splitViewController);
[NoTV]
[Since (7,0)] // While introduced in 7.0, it was not made public, it was only publicized in iOS 8 and made retroactively supported
[Export ("splitViewControllerPreferredInterfaceOrientationForPresentation:"), DelegateName("Func<UISplitViewController,UIInterfaceOrientation>"), DefaultValue (UIInterfaceOrientation.Unknown)]
UIInterfaceOrientation GetPreferredInterfaceOrientationForPresentation (UISplitViewController splitViewController);
[NoTV]
[Export ("splitViewController:popoverController:willPresentViewController:"), EventArgs ("UISplitViewPresent")]
[Availability (Deprecated = Platform.iOS_8_0, Message="Use 'UISearchController' instead.")]
2016-04-21 15:30:02 +03:00
void WillPresentViewController (UISplitViewController svc, UIPopoverController pc, UIViewController aViewController);
[NoTV]
[Export ("splitViewController:willHideViewController:withBarButtonItem:forPopoverController:"), EventArgs ("UISplitViewHide")]
[Availability (Deprecated = Platform.iOS_8_0, Message="Use 'UISearchController' instead.")]
2016-04-21 15:30:02 +03:00
void WillHideViewController (UISplitViewController svc, UIViewController aViewController, UIBarButtonItem barButtonItem, UIPopoverController pc);
[NoTV]
[Export ("splitViewController:willShowViewController:invalidatingBarButtonItem:"), EventArgs ("UISplitViewShow")]
[Availability (Deprecated = Platform.iOS_8_0, Message="Use 'UISearchController' instead.")]
2016-04-21 15:30:02 +03:00
void WillShowViewController (UISplitViewController svc, UIViewController aViewController, UIBarButtonItem button);
[NoTV]
[Since (5,0)]
[Export ("splitViewController:shouldHideViewController:inOrientation:"), DelegateName ("UISplitViewControllerHidePredicate"), DefaultValue (true)]
[Availability (Deprecated = Platform.iOS_8_0, Message="Use 'UISearchController' instead.")]
2016-04-21 15:30:02 +03:00
bool ShouldHideViewController (UISplitViewController svc, UIViewController viewController, UIInterfaceOrientation inOrientation);
[iOS (8,0)]
[Export ("splitViewController:willChangeToDisplayMode:"), EventArgs ("UISplitViewControllerDisplayMode")]
void WillChangeDisplayMode (UISplitViewController svc, UISplitViewControllerDisplayMode displayMode);
[iOS (8,0)]
[Export ("targetDisplayModeForActionInSplitViewController:"), DelegateName("UISplitViewControllerFetchTargetForActionHandler"), DefaultValue(UISplitViewControllerDisplayMode.Automatic)]
UISplitViewControllerDisplayMode GetTargetDisplayModeForAction (UISplitViewController svc);
[iOS (8,0)]
[Export ("splitViewController:showViewController:sender:"), DelegateName("UISplitViewControllerDisplayEvent"), DefaultValue(false)]
bool EventShowViewController (UISplitViewController splitViewController, UIViewController vc, NSObject sender);
[iOS (8,0)]
[Export ("splitViewController:showDetailViewController:sender:"), DelegateName("UISplitViewControllerDisplayEvent"),DefaultValue(false)]
bool EventShowDetailViewController (UISplitViewController splitViewController, UIViewController vc, NSObject sender);
[iOS (8,0)]
[Export ("primaryViewControllerForCollapsingSplitViewController:"), DelegateName("UISplitViewControllerGetViewController"), DefaultValue(null)]
UIViewController GetPrimaryViewControllerForCollapsingSplitViewController (UISplitViewController splitViewController);
[iOS (8,0)]
[Export ("primaryViewControllerForExpandingSplitViewController:"), DelegateName("UISplitViewControllerGetViewController"), DefaultValue(null)]
UIViewController GetPrimaryViewControllerForExpandingSplitViewController (UISplitViewController splitViewController);
[iOS (8,0)]
[Export ("splitViewController:collapseSecondaryViewController:ontoPrimaryViewController:"),DelegateName ("UISplitViewControllerCanCollapsePredicate"), DefaultValue (true)]
bool CollapseSecondViewController (UISplitViewController splitViewController, UIViewController secondaryViewController, UIViewController primaryViewController);
[iOS (8,0)]
[Export ("splitViewController:separateSecondaryViewControllerFromPrimaryViewController:"), DelegateName("UISplitViewControllerGetSecondaryViewController"), DefaultValue(null)]
UIViewController SeparateSecondaryViewController (UISplitViewController splitViewController, UIViewController primaryViewController);
}
[Category]
[BaseType (typeof (UIViewController))]
partial interface UISplitViewController_UIViewController {
2016-04-21 15:30:02 +03:00
[iOS (8,0)]
[Export ("splitViewController", ArgumentSemantic.Retain)]
UISplitViewController GetSplitViewController ();
[iOS (8,0)]
[Export ("collapseSecondaryViewController:forSplitViewController:")]
void CollapseSecondaryViewController (UIViewController secondaryViewController, UISplitViewController splitViewController);
[iOS (8,0)]
[Export ("separateSecondaryViewControllerForSplitViewController:")]
UIViewController SeparateSecondaryViewControllerForSplitViewController (UISplitViewController splitViewController);
}
[NoTV]
[Since (5,0)]
[BaseType (typeof (UIControl))]
interface UIStepper {
[Export ("initWithFrame:")]
IntPtr Constructor (CGRect frame);
[Export ("continuous")]
bool Continuous { [Bind ("isContinuous")] get; set; }
[Export ("autorepeat")]
bool AutoRepeat { get; set; }
[Export ("wraps")]
bool Wraps { get; set; }
[Export ("value")]
double Value { get; set; }
[Export ("minimumValue")]
double MinimumValue { get; set; }
[Export ("maximumValue")]
double MaximumValue { get; set; }
[Export ("stepValue")]
double StepValue { get; set; }
//
// 6.0
//
[Since(6,0)]
[Appearance]
[Export ("setBackgroundImage:forState:")]
void SetBackgroundImage ([NullAllowed] UIImage image, UIControlState state);
[Since(6,0)]
[Appearance]
[Export ("backgroundImageForState:")]
UIImage BackgroundImage (UIControlState state);
[Since(6,0)]
[Appearance]
[Export ("setDividerImage:forLeftSegmentState:rightSegmentState:")]
void SetDividerImage ([NullAllowed] UIImage image, UIControlState leftState, UIControlState rightState);
[Since(6,0)]
[Appearance]
[Export ("dividerImageForLeftSegmentState:rightSegmentState:")]
UIImage GetDividerImage (UIControlState leftState, UIControlState rightState);
[Since(6,0)]
[Appearance]
[Export ("setIncrementImage:forState:")]
void SetIncrementImage ([NullAllowed] UIImage image, UIControlState state);
[Since(6,0)]
[Appearance]
[Export ("incrementImageForState:")]
UIImage GetIncrementImage (UIControlState state);
[Since(6,0)]
[Appearance]
[Export ("setDecrementImage:forState:")]
void SetDecrementImage ([NullAllowed] UIImage image, UIControlState state);
[Since(6,0)]
[Appearance]
[Export ("decrementImageForState:")]
UIImage GetDecrementImage (UIControlState state);
}
[Since (5,0)]
[BaseType (typeof (NSObject))]
interface UIStoryboard {
2016-04-21 15:30:02 +03:00
[Static]
[Export ("storyboardWithName:bundle:")]
UIStoryboard FromName (string name, [NullAllowed] NSBundle storyboardBundleOrNil);
[Export ("instantiateInitialViewController")]
#if XAMCORE_2_0
UIViewController InstantiateInitialViewController ();
#else
NSObject InstantiateInitialViewController ();
#endif
[Export ("instantiateViewControllerWithIdentifier:")]
#if XAMCORE_2_0
UIViewController InstantiateViewController (string identifier);
#else
NSObject InstantiateViewController (string identifier);
#endif
}
[Availability (Deprecated = Platform.iOS_9_0)]
[Since (5,0)]
[DisableDefaultCtor] // as it subclass UIStoryboardSegue we end up with the same error
[BaseType (typeof (UIStoryboardSegue))]
interface UIStoryboardPopoverSegue {
[Export ("initWithIdentifier:source:destination:"), PostGet ("SourceViewController"), PostGet ("DestinationViewController")]
IntPtr Constructor ([NullAllowed] string identifier, UIViewController source, UIViewController destination);
[Export ("popoverController", ArgumentSemantic.Retain)]
UIPopoverController PopoverController { get; }
}
[Since (5,0)]
[BaseType (typeof (NSObject))]
[DisableDefaultCtor] // NSInvalidArgumentException Reason: Don't call -[UIStoryboardSegue init]
interface UIStoryboardSegue {
2016-04-21 15:30:02 +03:00
[DesignatedInitializer]
[Export ("initWithIdentifier:source:destination:"), PostGet ("SourceViewController"), PostGet ("DestinationViewController")]
IntPtr Constructor ([NullAllowed] string identifier, UIViewController source, UIViewController destination);
[Export ("identifier")]
[NullAllowed]
string Identifier { get; }
[Export ("sourceViewController")]
UIViewController SourceViewController { get; }
[Export ("destinationViewController")]
UIViewController DestinationViewController { get; }
[Export ("perform")]
void Perform ();
[Since(6,0)]
[Static]
[Export ("segueWithIdentifier:source:destination:performHandler:")]
UIStoryboardSegue Create ([NullAllowed] string identifier, UIViewController source, UIViewController destination, NSAction performHandler);
}
[Since (9,0)]
[BaseType (typeof (NSObject))]
[DisableDefaultCtor]
interface UIStoryboardUnwindSegueSource {
2016-04-21 15:30:02 +03:00
[Export ("sourceViewController")]
UIViewController SourceViewController { get; }
// ideally we would not expose a `Selector` but this is created by iOS (not user code) and it's a getter only property
[Export ("unwindAction")]
Selector UnwindAction { get; }
[Export ("sender")]
NSObject Sender { get; }
}
[Since (8,0)]
[Protocol]
interface UIPopoverBackgroundViewMethods {
2016-04-21 15:30:02 +03:00
//
// These must be overwritten by users, using the [Export ("...")] on the
// static method
//
[Static, Export ("arrowHeight")]
nfloat GetArrowHeight ();
[Static, Export ("arrowBase")]
nfloat GetArrowBase ();
[Static, Export ("contentViewInsets")]
UIEdgeInsets GetContentViewInsets ();
}
[Since (5,0)]
[BaseType (typeof (UIView))]
interface UIPopoverBackgroundView : UIPopoverBackgroundViewMethods {
2016-04-21 15:30:02 +03:00
[Export ("initWithFrame:")]
IntPtr Constructor (CGRect frame);
[Export ("arrowOffset")]
nfloat ArrowOffset { get; set; }
#pragma warning disable 618
[Export ("arrowDirection")]
UIPopoverArrowDirection ArrowDirection { get; set; }
#pragma warning restore 618
[Since(6,0)]
[Static, Export ("wantsDefaultContentAppearance")]
bool WantsDefaultContentAppearance { get; }
}
[Since (3,2)]
[BaseType (typeof (NSObject), Delegates=new string [] { "WeakDelegate" }, Events=new Type [] {typeof(UIPopoverControllerDelegate)})]
[DisableDefaultCtor] // bug #1786
interface UIPopoverController : UIAppearanceContainer {
2016-04-21 15:30:02 +03:00
[Export ("initWithContentViewController:")][PostGet ("ContentViewController")]
IntPtr Constructor (UIViewController viewController);
[Export ("contentViewController", ArgumentSemantic.Retain)]
UIViewController ContentViewController { get; set; }
[Export ("setContentViewController:animated:")][PostGet ("ContentViewController")]
void SetContentViewController (UIViewController viewController, bool animated);
[Export ("popoverContentSize")]
CGSize PopoverContentSize { get; set; }
[Export ("setPopoverContentSize:animated:")]
void SetPopoverContentSize (CGSize size, bool animated);
[Export ("passthroughViews", ArgumentSemantic.Copy)]
UIView [] PassthroughViews { get; set; }
[Wrap ("WeakDelegate")]
[Protocolize]
UIPopoverControllerDelegate Delegate { get; set; }
[Export ("delegate", ArgumentSemantic.Assign)][NullAllowed]
NSObject WeakDelegate { get; set; }
[Export ("popoverVisible")]
bool PopoverVisible { [Bind ("isPopoverVisible")] get; }
[Export ("popoverArrowDirection")]
UIPopoverArrowDirection PopoverArrowDirection { get; }
[Export ("presentPopoverFromRect:inView:permittedArrowDirections:animated:")]
void PresentFromRect (CGRect rect, UIView view, UIPopoverArrowDirection arrowDirections, bool animated);
[Export ("presentPopoverFromBarButtonItem:permittedArrowDirections:animated:")]
void PresentFromBarButtonItem (UIBarButtonItem item, UIPopoverArrowDirection arrowDirections, bool animated);
[Export ("dismissPopoverAnimated:")]
void Dismiss (bool animated);
// @property (nonatomic, readwrite) UIEdgeInsets popoverLayoutMargins
[Since (5,0)][Export ("popoverLayoutMargins")]
UIEdgeInsets PopoverLayoutMargins { get; set; }
// @property (nonatomic, readwrite, retain) Class popoverBackgroundViewClass
// Class is not pretty so we'll expose it manually as a System.Type
[Since (5,0)][Internal][Export ("popoverBackgroundViewClass", ArgumentSemantic.Retain)]
IntPtr PopoverBackgroundViewClass { get; set; }
[Since (7,0)]
[Export ("backgroundColor", ArgumentSemantic.Copy)]
UIColor BackgroundColor { get; set; }
}
[Since (3,2)]
[BaseType (typeof (NSObject))]
[Model]
[Protocol]
interface UIPopoverControllerDelegate {
2016-04-21 15:30:02 +03:00
[Export ("popoverControllerDidDismissPopover:"), EventArgs ("UIPopoverController")]
void DidDismiss (UIPopoverController popoverController);
[Export ("popoverControllerShouldDismissPopover:"), DelegateName ("UIPopoverControllerCondition"), DefaultValue ("true")]
bool ShouldDismiss (UIPopoverController popoverController);
[Since (7,0), Export ("popoverController:willRepositionPopoverToRect:inView:"), EventArgs ("UIPopoverControllerReposition")]
void WillReposition (UIPopoverController popoverController, ref CGRect rect, ref UIView view);
}
[NoTV]
[iOS (8,0)]
[BaseType (typeof (UIPresentationController),
Delegates=new string [] {"WeakDelegate"},
Events=new Type [] { typeof (UIPopoverPresentationControllerDelegate) })]
2016-04-21 15:30:02 +03:00
[DisableDefaultCtor] // NSGenericException Reason: -[UIPopoverController init] is not a valid initializer. You must call -[UIPopoverController initWithContentViewController:]
partial interface UIPopoverPresentationController {
2016-04-21 15:30:02 +03:00
// re-exposed from base class
[Export ("initWithPresentedViewController:presentingViewController:")]
IntPtr Constructor (UIViewController presentedViewController, [NullAllowed] UIViewController presentingViewController);
[Export ("delegate", ArgumentSemantic.UnsafeUnretained)]
NSObject WeakDelegate { get; set; }
#if !XAMCORE_2_0
[Wrap ("WeakDelegate")]
[Obsolete ("Use the Delegate property")]
UIPopoverPresentationControllerDelegate Delegat { get; set; }
#endif
[Wrap ("WeakDelegate")]
[Protocolize]
UIPopoverPresentationControllerDelegate Delegate { get; set; }
[Export ("permittedArrowDirections", ArgumentSemantic.UnsafeUnretained)]
UIPopoverArrowDirection PermittedArrowDirections { get; set; }
[Export ("sourceView", ArgumentSemantic.Retain)]
UIView SourceView { get; set; }
[Export ("sourceRect", ArgumentSemantic.UnsafeUnretained)]
CGRect SourceRect { get; set; }
[iOS (9,0)]
[Export ("canOverlapSourceViewRect")]
bool CanOverlapSourceViewRect { get; set; }
[Export ("barButtonItem", ArgumentSemantic.Retain), NullAllowed]
UIBarButtonItem BarButtonItem { get; set; }
[Export ("arrowDirection")]
UIPopoverArrowDirection ArrowDirection { get; }
[Export ("passthroughViews", ArgumentSemantic.Copy)]
UIView [] PassthroughViews { get; set; }
[Export ("backgroundColor", ArgumentSemantic.Copy), NullAllowed]
UIColor BackgroundColor { get; set; }
[Export ("popoverLayoutMargins")]
UIEdgeInsets PopoverLayoutMargins { get; set; }
[Internal] // expose as Type
[Export ("popoverBackgroundViewClass", ArgumentSemantic.Retain), NullAllowed]
IntPtr /* Class */ PopoverBackgroundViewClass { get; set; }
}
[Protocol, Model]
[BaseType (typeof (NSObject))]
partial interface UIAdaptivePresentationControllerDelegate {
[IgnoredInDelegate]
2016-04-21 15:30:02 +03:00
[Export ("adaptivePresentationStyleForPresentationController:")]
UIModalPresentationStyle GetAdaptivePresentationStyle (UIPresentationController forPresentationController);
[Export ("presentationController:viewControllerForAdaptivePresentationStyle:"),
DelegateName ("UIAdaptivePresentationWithStyleRequested"), DefaultValue (null)]
2016-04-21 15:30:02 +03:00
UIViewController GetViewControllerForAdaptivePresentation (UIPresentationController controller, UIModalPresentationStyle style);
[iOS (8,3)]
[Export ("adaptivePresentationStyleForPresentationController:traitCollection:"),
DelegateName ("UIAdaptivePresentationStyleWithTraitsRequested"), DefaultValue (UIModalPresentationStyle.None)]
2016-04-21 15:30:02 +03:00
UIModalPresentationStyle GetAdaptivePresentationStyle (UIPresentationController controller, UITraitCollection traitCollection);
[iOS (8,3)]
[Export ("presentationController:willPresentWithAdaptiveStyle:transitionCoordinator:"),
EventName ("WillPresentController"), EventArgs ("UIWillPresentAdaptiveStyle")]
2016-04-21 15:30:02 +03:00
void WillPresent (UIPresentationController presentationController, UIModalPresentationStyle style, IUIViewControllerTransitionCoordinator transitionCoordinator);
}
[NoTV]
[Protocol, Model]
[BaseType (typeof (UIAdaptivePresentationControllerDelegate))]
partial interface UIPopoverPresentationControllerDelegate {
[Export ("prepareForPopoverPresentation:"), EventName ("PrepareForPresentation")]
2016-04-21 15:30:02 +03:00
void PrepareForPopoverPresentation (UIPopoverPresentationController popoverPresentationController);
[Export ("popoverPresentationControllerShouldDismissPopover:"), DelegateName ("ShouldDismiss"), DefaultValue (true)]
2016-04-21 15:30:02 +03:00
bool ShouldDismissPopover (UIPopoverPresentationController popoverPresentationController);
[Export ("popoverPresentationControllerDidDismissPopover:"), EventName ("DidDismiss")]
2016-04-21 15:30:02 +03:00
void DidDismissPopover (UIPopoverPresentationController popoverPresentationController);
[Export ("popoverPresentationController:willRepositionPopoverToRect:inView:"),
EventName ("WillReposition"), EventArgs ("UIPopoverPresentationControllerReposition")]
2016-04-21 15:30:02 +03:00
void WillRepositionPopover (UIPopoverPresentationController popoverPresentationController, ref CGRect targetRect, ref UIView inView);
}
[Since (3,2)]
[BaseType (typeof (NSObject))]
interface UIScreenMode {
2016-04-21 15:30:02 +03:00
[Export ("pixelAspectRatio")]
nfloat PixelAspectRatio { get; }
[Export ("size")]
CGSize Size { get; }
}
[Since (4,2)]
[BaseType (typeof (NSObject))]
interface UITextInputMode : NSSecureCoding {
2016-04-21 15:30:02 +03:00
[Export ("currentInputMode"), NullAllowed][Static]
[Availability (Introduced = Platform.iOS_4_2, Deprecated = Platform.iOS_7_0)]
[NoTV]
UITextInputMode CurrentInputMode { get; }
[Export ("primaryLanguage", ArgumentSemantic.Retain)]
string PrimaryLanguage { get; }
[Field ("UITextInputCurrentInputModeDidChangeNotification")]
[Notification]
NSString CurrentInputModeDidChangeNotification { get; }
[Since (5,0)]
[Static]
[Export ("activeInputModes")]
UITextInputMode [] ActiveInputModes { get; }
}
[NoTV]
[iOS (8,0)]
[BaseType (typeof (NSObject))]
[DisableDefaultCtor] // NSGenericException Reason: -[UIPrinter init] not allowed
partial interface UIPrinter {
2016-04-21 15:30:02 +03:00
[Export ("URL", ArgumentSemantic.Copy)]
NSUrl Url { get; }
[Export ("displayName")]
string DisplayName { get; }
[Export ("displayLocation")]
string DisplayLocation { get; }
[Export ("supportedJobTypes")]
UIPrinterJobTypes SupportedJobTypes { get; }
[Export ("makeAndModel")]
string MakeAndModel { get; }
[Export ("supportsColor")]
bool SupportsColor { get; }
[Export ("supportsDuplex")]
bool SupportsDuplex { get; }
[Static, Export ("printerWithURL:")]
UIPrinter FromUrl (NSUrl url);
[Export ("contactPrinter:")]
[Async]
2016-04-21 15:30:02 +03:00
void ContactPrinter (UIPrinterContactPrinterHandler completionHandler);
}
[NoTV]
[iOS (8,0)]
[BaseType (typeof (NSObject))]
[DisableDefaultCtor] // NSGenericException Reason: -[UIPrinterPickerController init] not allowed
partial interface UIPrinterPickerController {
2016-04-21 15:30:02 +03:00
[Export ("selectedPrinter")]
UIPrinter SelectedPrinter { get; }
[Export ("delegate", ArgumentSemantic.UnsafeUnretained), NullAllowed]
NSObject WeakDelegate { get; set; }
[Wrap ("WeakDelegate")]
[Protocolize]
UIPrinterPickerControllerDelegate Delegate { get; set; }
[Static, Export ("printerPickerControllerWithInitiallySelectedPrinter:")]
UIPrinterPickerController FromPrinter ([NullAllowed] UIPrinter printer);
[Async (ResultTypeName = "UIPrinterPickerCompletionResult")]
2016-04-21 15:30:02 +03:00
[Export ("presentAnimated:completionHandler:")]
bool Present (bool animated, UIPrinterPickerCompletionHandler completion);
[Async (ResultTypeName = "UIPrinterPickerCompletionResult")]
2016-04-21 15:30:02 +03:00
[Export ("presentFromRect:inView:animated:completionHandler:")]
bool PresentFromRect (CGRect rect, UIView view, bool animated, UIPrinterPickerCompletionHandler completion);
[Async (ResultTypeName = "UIPrinterPickerCompletionResult")]
2016-04-21 15:30:02 +03:00
[Export ("presentFromBarButtonItem:animated:completionHandler:")]
bool PresentFromBarButtonItem (UIBarButtonItem item, bool animated, UIPrinterPickerCompletionHandler completion);
[Export ("dismissAnimated:")]
void Dismiss (bool animated);
}
[NoTV]
[Protocol, Model]
[BaseType (typeof (NSObject))]
partial interface UIPrinterPickerControllerDelegate {
2016-04-21 15:30:02 +03:00
[Export ("printerPickerControllerParentViewController:")]
UIViewController GetParentViewController (UIPrinterPickerController printerPickerController);
[Export ("printerPickerController:shouldShowPrinter:")]
bool ShouldShowPrinter (UIPrinterPickerController printerPickerController, UIPrinter printer);
[Export ("printerPickerControllerWillPresent:")]
void WillPresent (UIPrinterPickerController printerPickerController);
[Export ("printerPickerControllerDidPresent:")]
void DidPresent (UIPrinterPickerController printerPickerController);
[Export ("printerPickerControllerWillDismiss:")]
void WillDismiss (UIPrinterPickerController printerPickerController);
[Export ("printerPickerControllerDidDismiss:")]
void DidDismiss (UIPrinterPickerController printerPickerController);
[Export ("printerPickerControllerDidSelectPrinter:")]
void DidSelectPrinter (UIPrinterPickerController printerPickerController);
}
[NoTV]
[Since (4,2)]
[BaseType (typeof (NSObject))]
interface UIPrintPaper {
2016-04-21 15:30:02 +03:00
[Export ("bestPaperForPageSize:withPapersFromArray:")][Static]
UIPrintPaper ForPageSize (CGSize pageSize, UIPrintPaper [] paperList);
[Export ("paperSize")]
CGSize PaperSize { get; }
[Export ("printableRect")]
CGRect PrintableRect { get; }
}
[NoTV]
[Since (4,2)]
[BaseType (typeof (NSObject))]
interface UIPrintPageRenderer {
2016-04-21 15:30:02 +03:00
[Export ("footerHeight")]
nfloat FooterHeight { get; set; }
[Export ("headerHeight")]
nfloat HeaderHeight { get; set; }
[Export ("paperRect")]
CGRect PaperRect { get; }
[Export ("printableRect")]
CGRect PrintableRect { get; }
[NullAllowed] // by default this property is null
[Export ("printFormatters", ArgumentSemantic.Copy)]
UIPrintFormatter [] PrintFormatters { get; set; }
[Export ("addPrintFormatter:startingAtPageAtIndex:")]
void AddPrintFormatter (UIPrintFormatter formatter, nint pageIndex);
[Export ("drawContentForPageAtIndex:inRect:")]
void DrawContentForPage (nint index, CGRect contentRect);
[Export ("drawFooterForPageAtIndex:inRect:")]
void DrawFooterForPage (nint index, CGRect footerRect);
[Export ("drawHeaderForPageAtIndex:inRect:")]
void DrawHeaderForPage (nint index, CGRect headerRect);
[Export ("drawPageAtIndex:inRect:")]
void DrawPage (nint index, CGRect pageRect);
[Export ("drawPrintFormatter:forPageAtIndex:")]
void DrawPrintFormatterForPage (UIPrintFormatter printFormatter, nint index);
[Export ("numberOfPages")]
nint NumberOfPages { get; }
[Export ("prepareForDrawingPages:")]
void PrepareForDrawingPages (NSRange range);
[Export ("printFormattersForPageAtIndex:")]
UIPrintFormatter [] PrintFormattersForPage (nint index);
}
[NoTV]
[BaseType (typeof (NSObject))]
[Model]
[Protocol]
interface UIPrintInteractionControllerDelegate {
2016-04-21 15:30:02 +03:00
[Export ("printInteractionControllerParentViewController:"), DefaultValue (null), DelegateName ("UIPrintInteraction")]
UIViewController GetViewController (UIPrintInteractionController printInteractionController);
[Export ("printInteractionController:choosePaper:"), DefaultValue (null), DelegateName ("UIPrintInteractionPaperList")]
UIPrintPaper ChoosePaper (UIPrintInteractionController printInteractionController, UIPrintPaper [] paperList);
[Export ("printInteractionControllerWillPresentPrinterOptions:"), EventArgs ("UIPrintInteraction")]
void WillPresentPrinterOptions (UIPrintInteractionController printInteractionController);
[Export ("printInteractionControllerDidPresentPrinterOptions:"), EventArgs ("UIPrintInteraction")]
void DidPresentPrinterOptions (UIPrintInteractionController printInteractionController);
[Export ("printInteractionControllerWillDismissPrinterOptions:"), EventArgs ("UIPrintInteraction")]
void WillDismissPrinterOptions (UIPrintInteractionController printInteractionController);
[Export ("printInteractionControllerDidDismissPrinterOptions:"), EventArgs ("UIPrintInteraction")]
void DidDismissPrinterOptions (UIPrintInteractionController printInteractionController);
[Export ("printInteractionControllerWillStartJob:"), EventArgs ("UIPrintInteraction")]
void WillStartJob (UIPrintInteractionController printInteractionController);
[Export ("printInteractionControllerDidFinishJob:"), EventArgs ("UIPrintInteraction")]
void DidFinishJob (UIPrintInteractionController printInteractionController);
[Since (7,0), Export ("printInteractionController:cutLengthForPaper:")]
[NoDefaultValue]
#if XAMCORE_2_0
[DelegateName ("Func<UIPrintInteractionController,UIPrintPaper,nfloat>")]
#else
[DelegateName ("Func<UIPrintInteractionController,UIPrintPaper,float>")]
#endif
nfloat CutLengthForPaper (UIPrintInteractionController printInteractionController, UIPrintPaper paper);
[iOS (9, 0)]
[Export ("printInteractionController:chooseCutterBehavior:"), DefaultValue ("UIPrinterCutterBehavior.NoCut"), DelegateName ("UIPrintInteractionCutterBehavior")]
UIPrinterCutterBehavior ChooseCutterBehavior (UIPrintInteractionController printInteractionController, NSNumber [] availableBehaviors);
2016-04-21 15:30:02 +03:00
}
[NoTV]
[Since (4,2)]
[BaseType (typeof (NSObject), Delegates=new string [] { "WeakDelegate" }, Events=new Type [] {typeof(UIPrintInteractionControllerDelegate)})]
// Objective-C exception thrown. Name: NSGenericException Reason: -[UIPrintInteractionController init] not allowed
[DisableDefaultCtor]
interface UIPrintInteractionController {
2016-04-21 15:30:02 +03:00
[Wrap ("WeakDelegate")]
[Protocolize]
UIPrintInteractionControllerDelegate Delegate { get; set; }
[Export ("delegate", ArgumentSemantic.Assign)][NullAllowed]
NSObject WeakDelegate { get; set; }
[Export ("printFormatter", ArgumentSemantic.Retain)]
UIPrintFormatter PrintFormatter { get; set; }
[Export ("printInfo", ArgumentSemantic.Retain)]
UIPrintInfo PrintInfo { get; set; }
[Export ("printingItem", ArgumentSemantic.Copy)]
NSObject PrintingItem { get; set; }
[Export ("printingItems", ArgumentSemantic.Copy)]
NSObject [] PrintingItems { get; set; }
[Export ("printPageRenderer", ArgumentSemantic.Retain)]
UIPrintPageRenderer PrintPageRenderer { get; set; }
[Export ("printPaper")]
UIPrintPaper PrintPaper { get; }
[Deprecated (PlatformName.iOS, 10, 0, message: "Page range is now always shown.")]
2016-04-21 15:30:02 +03:00
[Export ("showsPageRange")]
bool ShowsPageRange { get; set; }
[Export ("canPrintData:")][Static]
bool CanPrint (NSData data);
[Export ("canPrintURL:")][Static]
bool CanPrint (NSUrl url);
[Export ("printingAvailable")][Static]
bool PrintingAvailable { [Bind ("isPrintingAvailable")] get; }
[Export ("printableUTIs")][Static]
NSSet PrintableUTIs { get; }
[Export ("sharedPrintController")][Static]
UIPrintInteractionController SharedPrintController { get; }
[Export ("dismissAnimated:")]
void Dismiss (bool animated);
[Export ("presentAnimated:completionHandler:")]
[Async (ResultTypeName = "UIPrintInteractionResult")]
// documentation (and header) mistake that Apple corrected (IIRC I filled that issue)
#if XAMCORE_2_0
bool
#else
void
#endif
Present (bool animated, UIPrintInteractionCompletionHandler completion);
[Export ("presentFromBarButtonItem:animated:completionHandler:")]
[Async (ResultTypeName = "UIPrintInteractionResult")]
// documentation (and header) mistake that Apple corrected (IIRC I filled that issue)
#if XAMCORE_2_0
bool
#else
void
#endif
PresentFromBarButtonItem (UIBarButtonItem item, bool animated, UIPrintInteractionCompletionHandler completion);
[Export ("presentFromRect:inView:animated:completionHandler:")]
[Async (ResultTypeName = "UIPrintInteractionResult")]
// documentation (and header) mistake that Apple corrected (IIRC I filled that issue)
#if XAMCORE_2_0
bool
#else
void
#endif
PresentFromRectInView (CGRect rect, UIView view, bool animated, UIPrintInteractionCompletionHandler completion);
[Since (7,0), Export ("showsNumberOfCopies")]
bool ShowsNumberOfCopies { get; set; }
[iOS (8,0)]
[Export ("showsPaperSelectionForLoadedPapers")]
bool ShowsPaperSelectionForLoadedPapers { get; set; }
[iOS (8,0)]
[Async (ResultTypeName = "UIPrintInteractionCompletionResult")]
2016-04-21 15:30:02 +03:00
[Export ("printToPrinter:completionHandler:")]
bool PrintToPrinter (UIPrinter printer, UIPrintInteractionCompletionHandler completion);
}
[NoTV]
[Since (4,2)]
[BaseType (typeof (NSObject))]
// Objective-C exception thrown. Name: NSGenericException Reason: -[UIPrintInfo init] not allowed
[DisableDefaultCtor]
interface UIPrintInfo : NSCoding, NSCopying {
2016-04-21 15:30:02 +03:00
[Export ("duplex")]
UIPrintInfoDuplex Duplex { get; set; }
[Export ("jobName", ArgumentSemantic.Copy)]
string JobName { get; set; }
[Export ("orientation")]
UIPrintInfoOrientation Orientation { get; set; }
[Export ("outputType")]
UIPrintInfoOutputType OutputType { get; set; }
[Export ("printerID", ArgumentSemantic.Copy)]
string PrinterID { get; set; }
[Export ("printInfo")][Static]
UIPrintInfo PrintInfo { get; }
[Export ("printInfoWithDictionary:")][Static]
UIPrintInfo FromDictionary (NSDictionary dictionary);
[Export ("dictionaryRepresentation")]
NSDictionary ToDictionary { get; }
}
[NoTV]
[Since (4,2)]
[BaseType (typeof (UIPrintFormatter))]
interface UIViewPrintFormatter {
2016-04-21 15:30:02 +03:00
[Export ("view")]
UIView View { get; }
}
[iOS (8,0)]
[BaseType (typeof (NSObject))]
partial interface UIVisualEffect : NSCopying, NSSecureCoding {
2016-04-21 15:30:02 +03:00
}
[iOS (8,0)]
[BaseType (typeof (UIVisualEffect))]
partial interface UIBlurEffect {
2016-04-21 15:30:02 +03:00
[Static, Export ("effectWithStyle:")]
UIBlurEffect FromStyle (UIBlurEffectStyle style);
}
[iOS (8,0)]
[BaseType (typeof (UIVisualEffect))]
partial interface UIVibrancyEffect {
2016-04-21 15:30:02 +03:00
[Static, Export ("effectForBlurEffect:")]
UIVibrancyEffect FromBlurEffect (UIBlurEffect blurEffect);
}
[iOS (8,0)]
[BaseType (typeof (UIView))]
partial interface UIVisualEffectView : NSSecureCoding {
2016-04-21 15:30:02 +03:00
[DesignatedInitializer]
[Export ("initWithEffect:")]
IntPtr Constructor ([NullAllowed] UIVisualEffect effect);
[Export ("contentView", ArgumentSemantic.Retain)]
UIView ContentView { get; }
[NullAllowed]
[Export ("effect", ArgumentSemantic.Copy)]
UIVisualEffect Effect { get; set; }
}
[NoTV]
[Since (4,2)]
[BaseType (typeof (UIPrintFormatter))]
// accessing the properties fails with 7.0GM if the default `init` is used to create the instance, e.g.
// [UISimpleTextPrintFormatter color]: unrecognized selector sent to instance 0x18bd70d0
[DisableDefaultCtor]
interface UISimpleTextPrintFormatter {
2016-04-21 15:30:02 +03:00
[NullAllowed]
[Export ("color", ArgumentSemantic.Retain)]
UIColor Color { get; set; }
[NullAllowed]
[Export ("font", ArgumentSemantic.Retain)]
UIFont Font { get; set; }
[NullAllowed]
[Export ("text", ArgumentSemantic.Copy)]
string Text { get; set; }
[Export ("textAlignment")]
UITextAlignment TextAlignment { get; set; }
[Export ("initWithText:")]
IntPtr Constructor ([NullAllowed] string text);
[Since (7,0)]
[Export ("initWithAttributedText:")]
IntPtr Constructor ([NullAllowed] NSAttributedString text);
[Since (7,0)]
[NullAllowed]
[Export ("attributedText", ArgumentSemantic.Copy)]
NSAttributedString AttributedText { get; set; }
}
[NoTV]
[Since (4,2)]
[BaseType (typeof (NSObject))]
interface UIPrintFormatter : NSCopying {
2016-04-21 15:30:02 +03:00
[Deprecated (PlatformName.iOS, 10, 0, message:"Use 'PerPageContentInsets' instead.")]
2016-04-21 15:30:02 +03:00
[Export ("contentInsets")]
UIEdgeInsets ContentInsets { get; set; }
[Export ("maximumContentHeight")]
nfloat MaximumContentHeight { get; set; }
[Export ("maximumContentWidth")]
nfloat MaximumContentWidth { get; set; }
[Export ("pageCount")]
nint PageCount { get; }
[Export ("printPageRenderer", ArgumentSemantic.Assign)]
UIPrintPageRenderer PrintPageRenderer { get; }
[Export ("startPage")]
nint StartPage { get; set; }
[Export ("drawInRect:forPageAtIndex:")]
void DrawRect (CGRect rect, nint pageIndex);
[Export ("rectForPageAtIndex:")]
CGRect RectangleForPage (nint pageIndex);
[Export ("removeFromPrintPageRenderer")]
void RemoveFromPrintPageRenderer ();
[iOS (8,0)]
[Export ("perPageContentInsets")]
UIEdgeInsets PerPageContentInsets { get; set; }
}
[NoTV]
[Since (4,2)]
[BaseType (typeof (UIPrintFormatter))]
#if XAMCORE_4_0
[DisableDefaultCtor] // nonfunctional (and it doesn't show up in the header anyway)
#endif
interface UIMarkupTextPrintFormatter {
2016-04-21 15:30:02 +03:00
[NullAllowed] // by default this property is null
[Export ("markupText", ArgumentSemantic.Copy)]
string MarkupText { get; set; }
[Export ("initWithMarkupText:")]
IntPtr Constructor ([NullAllowed] string text);
}
[Since(7,0)]
[BaseType (typeof (NSObject))]
interface UIMotionEffect : NSCoding, NSCopying {
2016-04-21 15:30:02 +03:00
[Export ("keyPathsAndRelativeValuesForViewerOffset:")]
NSDictionary ComputeKeyPathsAndRelativeValues (UIOffset viewerOffset);
}
[Since(7,0)]
[BaseType (typeof (UIMotionEffect))]
interface UIInterpolatingMotionEffect : NSCoding {
[DesignatedInitializer]
[Export ("initWithKeyPath:type:")]
IntPtr Constructor (string keyPath, UIInterpolatingMotionEffectType type);
[Export ("keyPath")]
string KeyPath { get; }
[Export ("type")]
UIInterpolatingMotionEffectType Type { get; }
[NullAllowed] // by default this property is null
[Export ("minimumRelativeValue", ArgumentSemantic.Retain)]
NSObject MinimumRelativeValue { get; set; }
[NullAllowed] // by default this property is null
[Export ("maximumRelativeValue", ArgumentSemantic.Retain)]
NSObject MaximumRelativeValue { get; set; }
}
[Since(7,0)]
[BaseType (typeof (UIMotionEffect))]
interface UIMotionEffectGroup {
[NullAllowed] // by default this property is null
[Export ("motionEffects", ArgumentSemantic.Copy)]
UIMotionEffect [] MotionEffects { get; set; }
}
[iOS (10,0), TV (10,0)]
2016-06-20 04:53:43 +03:00
[BaseType (typeof(NSObject))]
interface UISpringTimingParameters : UITimingCurveProvider
{
[Export ("initialVelocity")]
CGVector InitialVelocity { get; }
[Export ("initWithDampingRatio:initialVelocity:")]
[DesignatedInitializer]
IntPtr Constructor (nfloat ratio, CGVector velocity);
[Export ("initWithMass:stiffness:damping:initialVelocity:")]
[DesignatedInitializer]
IntPtr Constructor (nfloat mass, nfloat stiffness, nfloat damping, CGVector velocity);
[Export ("initWithDampingRatio:")]
IntPtr Constructor (nfloat ratio);
}
2016-04-21 15:30:02 +03:00
[NoTV]
[Category, BaseType (typeof (NSString))]
interface UIStringDrawing {
// note: duplicate from maccore's foundation.cs where it's binded on NSString2 (for Classic)
[ThreadSafe]
[Availability (Introduced = Platform.iOS_2_0, Deprecated = Platform.iOS_7_0, Message = "Use 'NSString.DrawString (CGPoint, UIStringAttributes)' instead.")]
2016-04-21 15:30:02 +03:00
[Export ("drawAtPoint:withFont:")]
CGSize DrawString (CGPoint point, UIFont font);
// note: duplicate from maccore's foundation.cs where it's binded on NSString2 (for Classic)
[ThreadSafe]
[Availability (Introduced = Platform.iOS_2_0, Deprecated = Platform.iOS_7_0, Message = "Use 'NSString.DrawString (CGRect, UIStringAttributes)' instead.")]
2016-04-21 15:30:02 +03:00
[Export ("drawAtPoint:forWidth:withFont:lineBreakMode:")]
CGSize DrawString (CGPoint point, nfloat width, UIFont font, UILineBreakMode breakMode);
// note: duplicate from maccore's foundation.cs where it's binded on NSString2 (for Classic)
[ThreadSafe]
[Availability (Introduced = Platform.iOS_2_0, Deprecated = Platform.iOS_7_0, Message = "Use 'NSString.DrawString (CGRect, UIStringAttributes)' instead.")]
2016-04-21 15:30:02 +03:00
[Export ("drawAtPoint:forWidth:withFont:fontSize:lineBreakMode:baselineAdjustment:")]
CGSize DrawString (CGPoint point, nfloat width, UIFont font, nfloat fontSize, UILineBreakMode breakMode, UIBaselineAdjustment adjustment);
// note: duplicate from maccore's foundation.cs where it's binded on NSString2 (for Classic)
[ThreadSafe]
[Availability (Introduced = Platform.iOS_2_0, Deprecated = Platform.iOS_7_0, Message = "Use 'NSString.DrawString (CGRect, UIStringAttributes)' instead.")]
2016-04-21 15:30:02 +03:00
[Export ("drawAtPoint:forWidth:withFont:minFontSize:actualFontSize:lineBreakMode:baselineAdjustment:")]
CGSize DrawString (CGPoint point, nfloat width, UIFont font, nfloat minFontSize, ref nfloat actualFontSize, UILineBreakMode breakMode, UIBaselineAdjustment adjustment);
// note: duplicate from maccore's foundation.cs where it's binded on NSString2 (for Classic)
[ThreadSafe]
[Availability (Introduced = Platform.iOS_2_0, Deprecated = Platform.iOS_7_0, Message = "Use 'NSString.DrawString (CGRect, UIStringAttributes)' instead.")]
2016-04-21 15:30:02 +03:00
[Export ("drawInRect:withFont:")]
CGSize DrawString (CGRect rect, UIFont font);
// note: duplicate from maccore's foundation.cs where it's binded on NSString2 (for Classic)
[ThreadSafe]
[Availability (Introduced = Platform.iOS_2_0, Deprecated = Platform.iOS_7_0, Message = "Use 'NSString.DrawString (CGRect, UIStringAttributes)' instead.")]
2016-04-21 15:30:02 +03:00
[Export ("drawInRect:withFont:lineBreakMode:")]
CGSize DrawString (CGRect rect, UIFont font, UILineBreakMode mode);
// note: duplicate from maccore's foundation.cs where it's binded on NSString2 (for Classic)
[ThreadSafe]
[Availability (Introduced = Platform.iOS_2_0, Deprecated = Platform.iOS_7_0, Message = "Use 'NSString.DrawString (CGRect, UIStringAttributes)' instead.")]
2016-04-21 15:30:02 +03:00
[Export ("drawInRect:withFont:lineBreakMode:alignment:")]
CGSize DrawString (CGRect rect, UIFont font, UILineBreakMode mode, UITextAlignment alignment);
// note: duplicate from maccore's foundation.cs where it's binded on NSString2 (for Classic)
[ThreadSafe]
[Availability (Introduced = Platform.iOS_2_0, Deprecated = Platform.iOS_7_0, Message = "Use 'NSString.GetSizeUsingAttributes (UIStringAttributes)' instead.")]
2016-04-21 15:30:02 +03:00
[Export ("sizeWithFont:")]
CGSize StringSize (UIFont font);
// note: duplicate from maccore's foundation.cs where it's binded on NSString2 (for Classic)
[ThreadSafe]
[Availability (Introduced = Platform.iOS_2_0, Deprecated = Platform.iOS_7_0, Message = "Use 'NSString.GetBoundingRect (CGSize, NSStringDrawingOptions, UIStringAttributes, NSStringDrawingContext)' instead.")]
2016-04-21 15:30:02 +03:00
[Export ("sizeWithFont:forWidth:lineBreakMode:")]
CGSize StringSize (UIFont font, nfloat forWidth, UILineBreakMode breakMode);
// note: duplicate from maccore's foundation.cs where it's binded on NSString2 (for Classic)
[ThreadSafe]
[Availability (Introduced = Platform.iOS_2_0, Deprecated = Platform.iOS_7_0, Message = "Use 'NSString.GetBoundingRect (CGSize, NSStringDrawingOptions, UIStringAttributes, NSStringDrawingContext)' instead.")]
2016-04-21 15:30:02 +03:00
[Export ("sizeWithFont:constrainedToSize:")]
CGSize StringSize (UIFont font, CGSize constrainedToSize);
// note: duplicate from maccore's foundation.cs where it's binded on NSString2 (for Classic)
[ThreadSafe]
[Availability (Introduced = Platform.iOS_2_0, Deprecated = Platform.iOS_7_0, Message = "Use 'NSString.GetBoundingRect (CGSize, NSStringDrawingOptions, UIStringAttributes, NSStringDrawingContext)' instead.")]
2016-04-21 15:30:02 +03:00
[Export ("sizeWithFont:constrainedToSize:lineBreakMode:")]
CGSize StringSize (UIFont font, CGSize constrainedToSize, UILineBreakMode lineBreakMode);
// note: duplicate from maccore's foundation.cs where it's binded on NSString2 (for Classic)
[ThreadSafe]
[Availability (Introduced = Platform.iOS_2_0, Deprecated = Platform.iOS_7_0)]
// Wait for guidance here: https://devforums.apple.com/thread/203655
//[Obsolete ("Deprecated on iOS7. No guidance.")]
[Export ("sizeWithFont:minFontSize:actualFontSize:forWidth:lineBreakMode:")]
CGSize StringSize (UIFont font, nfloat minFontSize, ref nfloat actualFontSize, nfloat forWidth, UILineBreakMode lineBreakMode);
}
#endif // !WATCH
[Category, BaseType (typeof (NSString))]
interface NSStringDrawing {
[Since (7,0)]
[Export ("sizeWithAttributes:")]
CGSize WeakGetSizeUsingAttributes (NSDictionary attributes);
[Since (7,0)]
[Wrap ("WeakGetSizeUsingAttributes (This, attributes.Dictionary)")]
CGSize GetSizeUsingAttributes (UIStringAttributes attributes);
[Since (7,0)]
[Export ("drawAtPoint:withAttributes:")]
void WeakDrawString (CGPoint point, NSDictionary attributes);
[Since (7,0)]
[Wrap ("WeakDrawString (This, point, attributes.Dictionary)")]
void DrawString (CGPoint point, UIStringAttributes attributes);
[Since (7,0)]
[Export ("drawInRect:withAttributes:")]
void WeakDrawString (CGRect rect, NSDictionary attributes);
[Since (7,0)]
[Wrap ("WeakDrawString (This, rect, attributes.Dictionary)")]
void DrawString (CGRect rect, UIStringAttributes attributes);
}
[Category, BaseType (typeof (NSString))]
interface NSExtendedStringDrawing {
[Since (7,0)]
[Export ("drawWithRect:options:attributes:context:")]
void WeakDrawString (CGRect rect, NSStringDrawingOptions options, NSDictionary attributes, [NullAllowed] NSStringDrawingContext context);
[Since (7,0)]
[Wrap ("WeakDrawString (This, rect, options, attributes == null ? null : attributes.Dictionary, context)")]
void DrawString (CGRect rect, NSStringDrawingOptions options, UIStringAttributes attributes, [NullAllowed] NSStringDrawingContext context);
[Since (7,0)]
[Export ("boundingRectWithSize:options:attributes:context:")]
CGRect WeakGetBoundingRect (CGSize size, NSStringDrawingOptions options, NSDictionary attributes, [NullAllowed] NSStringDrawingContext context);
[Since (7,0)]
[Wrap ("WeakGetBoundingRect (This, size, options, attributes == null ? null : attributes.Dictionary, context)")]
CGRect GetBoundingRect (CGSize size, NSStringDrawingOptions options, UIStringAttributes attributes, [NullAllowed] NSStringDrawingContext context);
}
#if !WATCH
[NoWatch]
[Since (7,0)]
[BaseType (typeof (UIView))]
interface UIInputView : NSCoding {
2016-04-21 15:30:02 +03:00
[DesignatedInitializer]
[Export ("initWithFrame:inputViewStyle:")]
IntPtr Constructor (CGRect frame, UIInputViewStyle inputViewStyle);
[Export ("inputViewStyle")]
UIInputViewStyle InputViewStyle { get; }
[iOS (9,0)]
[Export ("allowsSelfSizing")]
bool AllowsSelfSizing { get; set; }
}
interface IUITextInputDelegate {
2016-04-21 15:30:02 +03:00
}
interface IUITextDocumentProxy {}
2016-04-21 15:30:02 +03:00
[NoWatch]
[iOS (8,0)]
[BaseType (typeof (UIViewController))]
partial interface UIInputViewController : UITextInputDelegate {
2016-04-21 15:30:02 +03:00
[Export ("initWithNibName:bundle:")]
[PostGet ("NibBundle")]
IntPtr Constructor ([NullAllowed] string nibName, [NullAllowed] NSBundle bundle);
[Export ("inputView", ArgumentSemantic.Retain), NullAllowed]
UIInputView InputView { get; set; }
[Export ("textDocumentProxy"), NullAllowed]
IUITextDocumentProxy TextDocumentProxy { get; }
[Export ("dismissKeyboard")]
void DismissKeyboard ();
[Export ("advanceToNextInputMode")]
void AdvanceToNextInputMode ();
[NoTV]
[Export ("requestSupplementaryLexiconWithCompletion:")]
[Async]
void RequestSupplementaryLexicon (Action<UILexicon> completionHandler);
[NullAllowed] // by default this property is null
[Export ("primaryLanguage")]
string PrimaryLanguage { get; set; }
2016-06-20 04:53:43 +03:00
[iOS (10,0), TV (10,0)]
2016-06-20 04:53:43 +03:00
[Export ("handleInputModeListFromView:withEvent:")]
void HandleInputModeList (UIView fromView, UIEvent withEvent);
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 (11,0), TV (11,0)]
[Export ("hasFullAccess")]
bool HasFullAccess { get; }
[iOS (11,0), TV (11,0)]
[Export ("needsInputModeSwitchKey")]
bool NeedsInputModeSwitchKey { 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
[NoWatch, NoTV, iOS (11,0)]
[Protocol]
interface UIInteraction
{
[Abstract]
[Export ("view", ArgumentSemantic.Weak)]
UIView View { get; }
[Abstract]
[Export ("willMoveToView:")]
void WillMoveToView ([NullAllowed] UIView view);
[Abstract]
[Export ("didMoveToView:")]
void DidMoveToView ([NullAllowed] UIView view);
}
2016-04-21 15:30:02 +03:00
[NoWatch]
[iOS (8,0)]
[Protocol, Model]
[BaseType (typeof (NSObject))]
partial interface UITextDocumentProxy : UIKeyInput {
2016-04-21 15:30:02 +03:00
[Abstract]
[Export ("documentContextBeforeInput")]
string DocumentContextBeforeInput { get; }
[Abstract]
[Export ("documentContextAfterInput")]
string DocumentContextAfterInput { get; }
[Abstract]
[Export ("adjustTextPositionByCharacterOffset:")]
void AdjustTextPositionByCharacterOffset (nint offset);
2016-06-20 04:53:43 +03:00
// Another abstract that was introduced on this released, breaking ABI
// Radar: 26867207
#if XAMCORE_4_0
[Abstract]
#endif
2016-06-20 04:53:43 +03:00
[iOS (10, 0)]
[NullAllowed, Export ("documentInputMode")]
UITextInputMode DocumentInputMode { 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
// New abstract, breaks ABI
// Radar: 33685383
#if XAMCORE_4_0
[Abstract]
#endif
[iOS (11,0)]
[NullAllowed, Export ("selectedText")]
string SelectedText { get; }
// New abstract, breaks ABI
// Radar: 33685383
#if XAMCORE_4_0
[Abstract]
#endif
[iOS (11,0)]
[Export ("documentIdentifier", ArgumentSemantic.Copy)]
NSUuid DocumentIdentifier { get; }
2016-04-21 15:30:02 +03:00
}
[NoWatch]
[iOS (9,0)]
[BaseType (typeof(NSObject))]
interface UILayoutGuide : NSCoding
2016-04-21 15:30:02 +03:00
{
[Export ("layoutFrame")]
CGRect LayoutFrame { get; }
[NullAllowed, Export ("owningView", ArgumentSemantic.Weak)]
UIView OwningView { get; set; }
[Export ("identifier")]
string Identifier { get; set; }
#if XAMCORE_2_0 // NSLayoutXAxisAnchor is a generic type, only supported in Unified (for now)
[Export ("leadingAnchor", ArgumentSemantic.Strong)]
NSLayoutXAxisAnchor LeadingAnchor { get; }
[Export ("trailingAnchor", ArgumentSemantic.Strong)]
NSLayoutXAxisAnchor TrailingAnchor { get; }
[Export ("leftAnchor", ArgumentSemantic.Strong)]
NSLayoutXAxisAnchor LeftAnchor { get; }
[Export ("rightAnchor", ArgumentSemantic.Strong)]
NSLayoutXAxisAnchor RightAnchor { get; }
[Export ("topAnchor", ArgumentSemantic.Strong)]
NSLayoutYAxisAnchor TopAnchor { get; }
[Export ("bottomAnchor", ArgumentSemantic.Strong)]
NSLayoutYAxisAnchor BottomAnchor { get; }
[Export ("widthAnchor", ArgumentSemantic.Strong)]
NSLayoutDimension WidthAnchor { get; }
[Export ("heightAnchor", ArgumentSemantic.Strong)]
NSLayoutDimension HeightAnchor { get; }
[Export ("centerXAnchor", ArgumentSemantic.Strong)]
NSLayoutXAxisAnchor CenterXAnchor { get; }
[Export ("centerYAnchor", ArgumentSemantic.Strong)]
NSLayoutYAxisAnchor CenterYAnchor { get; }
#endif // XAMCORE_2_0
}
[NoWatch]
[Since (7,0)]
[Protocol]
[Model]
[BaseType (typeof (NSObject))]
interface UILayoutSupport {
2016-04-21 15:30:02 +03:00
[Export ("length")]
[Abstract]
nfloat Length { get; }
#if XAMCORE_2_0 // NSLayoutYAxisAnchor is generic, which is only supported in Unified (for now at least)
[iOS (9,0)]
[Export ("topAnchor", ArgumentSemantic.Strong)]
#if XAMCORE_4_0
// Apple added a new required member in iOS 9, but that breaks our binary compat, so we can't do that in our existing code.
[Abstract]
#endif
NSLayoutYAxisAnchor TopAnchor { get; }
[iOS (9,0)]
[Export ("bottomAnchor", ArgumentSemantic.Strong)]
#if XAMCORE_4_0
// Apple added a new required member in iOS 9, but that breaks our binary compat, so we can't do that in our existing code.
[Abstract]
#endif
NSLayoutYAxisAnchor BottomAnchor { get; }
[iOS (9,0)]
[Export ("heightAnchor", ArgumentSemantic.Strong)]
#if XAMCORE_4_0
// Apple added a new required member in iOS 9, but that breaks our binary compat, so we can't do that in our existing code.
[Abstract]
#endif
NSLayoutDimension HeightAnchor { get; }
#endif // XAMCORE_2_0
}
interface IUILayoutSupport {}
2016-04-21 15:30:02 +03:00
// This protocol is supposed to be an aggregate to existing classes,
// at the moment there is no API that require a specific UIAccessibilityIdentification
// implementation, so we don't provide a Model class (for now at least).
[NoWatch]
[Since (5, 0)]
[Protocol]
interface UIAccessibilityIdentification {
2016-04-21 15:30:02 +03:00
[Abstract]
[NullAllowed] // by default this property is null
[Export ("accessibilityIdentifier", ArgumentSemantic.Copy)]
string AccessibilityIdentifier { get; set; }
}
interface IUIAccessibilityIdentification {}
[Deprecated (PlatformName.iOS, 10, 0, message: "Use 'UserNotifications.UNNotificationSettings' instead.")]
2016-04-21 15:30:02 +03:00
[NoWatch]
[NoTV]
[iOS (8,0)]
[BaseType (typeof (NSObject))]
partial interface UIUserNotificationSettings : NSCoding, NSSecureCoding, NSCopying {
2016-04-21 15:30:02 +03:00
[Export ("types")]
UIUserNotificationType Types { get; }
[Export ("categories", ArgumentSemantic.Copy)]
NSSet Categories { get; }
[Static, Export ("settingsForTypes:categories:")]
UIUserNotificationSettings GetSettingsForTypes (UIUserNotificationType types, [NullAllowed] NSSet categories);
}
[NoWatch]
[NoTV]
[iOS (8,0)]
[Deprecated (PlatformName.iOS, 10, 0, message: "Use 'UserNotifications.UNNotificationCategory' instead.")]
2016-04-21 15:30:02 +03:00
[BaseType (typeof (NSObject))]
partial interface UIUserNotificationCategory : NSCopying, NSMutableCopying, NSSecureCoding {
2016-04-21 15:30:02 +03:00
[Export ("identifier")]
string Identifier { get; }
[Export ("actionsForContext:")]
UIUserNotificationAction [] GetActionsForContext (UIUserNotificationActionContext context);
}
[Deprecated (PlatformName.iOS, 10, 0, message: "Use 'UserNotifications.UNNotificationCategory' instead.")]
2016-04-21 15:30:02 +03:00
[NoWatch]
[NoTV]
[iOS (8,0)]
[BaseType (typeof (UIUserNotificationCategory))]
partial interface UIMutableUserNotificationCategory {
2016-04-21 15:30:02 +03:00
[NullAllowed] // by default this property is null
[Export ("identifier")]
string Identifier { get; set; }
[Export ("setActions:forContext:")]
void SetActions (UIUserNotificationAction [] actions, UIUserNotificationActionContext context);
}
[Deprecated (PlatformName.iOS, 10, 0, message: "Use 'UserNotifications.UNNotificationAction' instead.")]
2016-04-21 15:30:02 +03:00
[NoWatch]
[NoTV]
[iOS (8,0)]
[BaseType (typeof (NSObject))]
partial interface UIUserNotificationAction : NSCopying, NSMutableCopying, NSSecureCoding {
2016-04-21 15:30:02 +03:00
[Export ("identifier")]
string Identifier { get; }
[Export ("title")]
string Title { get; }
[Export ("activationMode", ArgumentSemantic.Assign)]
UIUserNotificationActivationMode ActivationMode { get; }
[Export ("authenticationRequired", ArgumentSemantic.Assign)]
bool AuthenticationRequired { [Bind ("isAuthenticationRequired")]get; }
[Export ("destructive", ArgumentSemantic.Assign)]
bool Destructive { [Bind ("isDestructive")]get; }
[iOS (9,0)]
[Export ("parameters", ArgumentSemantic.Copy)]
NSDictionary Parameters { get; [NotImplemented] set; }
[iOS (9,0)]
[Export ("behavior", ArgumentSemantic.Assign)]
UIUserNotificationActionBehavior Behavior { get; [NotImplemented] set;}
[iOS (9,0)]
[Deprecated (PlatformName.iOS, 10, 0, message: "Use 'UNTextInputNotificationAction.TextInputButtonTitle' instead.")]
2016-04-21 15:30:02 +03:00
[Field ("UIUserNotificationTextInputActionButtonTitleKey")]
NSString TextInputActionButtonTitleKey { get; }
// note: defined twice, where watchOS is defined it says it's not in iOS, the other one (for iOS 9) says it's not in tvOS
[iOS (9,0)]
[Deprecated (PlatformName.iOS, 10, 0, message: "Use 'UNTextInputNotificationResponse.UserText' instead.")]
2016-04-21 15:30:02 +03:00
[Field ("UIUserNotificationActionResponseTypedTextKey")]
NSString ResponseTypedTextKey { get; }
}
#else
[Watch (2,0)]
[Static]
[Deprecated (PlatformName.iOS, 10, 0, message: "Use 'UserNotifications.UNNotificationAction' or 'UserNotifications.UNTextInputNotificationAction' instead.")]
2016-04-21 15:30:02 +03:00
interface UIUserNotificationAction {
// note: defined twice, where watchOS is defined it says it's not in iOS, the other one (for iOS 9) says it's not in tvOS
[Field ("UIUserNotificationActionResponseTypedTextKey")]
NSString ResponseTypedTextKey { get; }
}
#endif
[Deprecated (PlatformName.iOS, 10, 0, message: "Use 'UserNotifications.UNNotificationAction' instead.")]
2016-04-21 15:30:02 +03:00
[NoWatch]
[NoTV]
[iOS (8,0)]
[BaseType (typeof (UIUserNotificationAction))]
partial interface UIMutableUserNotificationAction {
2016-04-21 15:30:02 +03:00
[NullAllowed] // by default this property is null
[Export ("identifier", ArgumentSemantic.Copy)]
string Identifier { get; set; }
[NullAllowed] // by default this property is null
[Export ("title", ArgumentSemantic.Copy)]
string Title { get; set; }
[Export ("activationMode", ArgumentSemantic.Assign)]
UIUserNotificationActivationMode ActivationMode { get; set; }
[Export ("authenticationRequired", ArgumentSemantic.Assign)]
bool AuthenticationRequired { [Bind ("isAuthenticationRequired")]get; set; }
[Export ("destructive", ArgumentSemantic.Assign)]
bool Destructive { [Bind ("isDestructive")]get; set; }
[iOS (9,0)]
[Export ("behavior", ArgumentSemantic.Assign)]
UIUserNotificationActionBehavior Behavior { get; set; }
[iOS (9,0)]
[Export ("parameters", ArgumentSemantic.Copy), NullAllowed]
NSDictionary Parameters { get; set; }
}
#if !WATCH
[NoWatch]
[NoTV]
[iOS (8,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
[Deprecated (PlatformName.iOS, 11, 0, message: "Use 'UIDocumentPickerViewController' instead.")]
2016-04-21 15:30:02 +03:00
[BaseType (typeof (UIViewController), Delegates=new string [] {"Delegate"}, Events=new Type [] {typeof (UIDocumentMenuDelegate)})]
[DisableDefaultCtor] // NSInvalidArgumentException Reason: You cannot initialize a UIDocumentMenuViewController except by the initWithDocumentTypes:inMode: and initWithURL:inMode: initializers.
partial interface UIDocumentMenuViewController : NSCoding {
2016-04-21 15:30:02 +03:00
[DesignatedInitializer]
[Export ("initWithDocumentTypes:inMode:")]
IntPtr Constructor (string [] allowedUTIs, UIDocumentPickerMode mode);
[DesignatedInitializer]
[Export ("initWithURL:inMode:")]
IntPtr Constructor (NSUrl url, UIDocumentPickerMode mode);
[Wrap ("WeakDelegate")]
[Protocolize]
UIDocumentMenuDelegate Delegate { get; set; }
[Export ("delegate", ArgumentSemantic.Weak), NullAllowed]
NSObject WeakDelegate { get; set; }
[Export ("addOptionWithTitle:image:order:handler:")]
[Async]
2016-04-21 15:30:02 +03:00
void AddOption (string title, [NullAllowed] UIImage image, UIDocumentMenuOrder order, Action completionHandler);
}
[NoWatch]
[NoTV]
[iOS (8,0)]
[Protocol, Model]
[BaseType (typeof (NSObject))]
partial interface UIDocumentMenuDelegate {
2016-04-21 15:30:02 +03:00
[Abstract]
[Export ("documentMenu:didPickDocumentPicker:"), EventArgs ("UIDocumentMenuDocumentPicked")]
void DidPickDocumentPicker (UIDocumentMenuViewController documentMenu, UIDocumentPickerViewController documentPicker);
#if !XAMCORE_4_0
[Abstract]
#endif
[Export ("documentMenuWasCancelled:")]
void WasCancelled (UIDocumentMenuViewController documentMenu);
}
[NoWatch]
[NoTV]
[iOS (8,0)]
[BaseType (typeof (UIViewController), Delegates=new string [] {"Delegate"}, Events=new Type [] {typeof (UIDocumentPickerDelegate)})]
[DisableDefaultCtor] // NSInvalidArgumentException Reason: You cannot initialize a UIDocumentPickerViewController except by the initWithDocumentTypes:inMode: and initWithURL:inMode: initializers
partial interface UIDocumentPickerViewController : NSCoding {
2016-04-21 15:30:02 +03:00
[DesignatedInitializer]
[Export ("initWithDocumentTypes:inMode:")]
IntPtr Constructor (string [] allowedUTIs, UIDocumentPickerMode mode);
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
[Advice ("This method will be deprecated in a future release and should be avoided. Instead, use 'UIDocumentPickerViewController (NSUrl[], UIDocumentPickerMode)'.")]
2016-04-21 15:30:02 +03:00
[DesignatedInitializer]
[Export ("initWithURL:inMode:")]
IntPtr Constructor (NSUrl url, UIDocumentPickerMode mode);
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 (11,0)]
[Export ("initWithURLs:inMode:")]
[DesignatedInitializer]
IntPtr Constructor (NSUrl[] urls, UIDocumentPickerMode mode);
2016-04-21 15:30:02 +03:00
[Export ("delegate", ArgumentSemantic.Weak), NullAllowed]
NSObject WeakDelegate { get; set; }
[Wrap ("WeakDelegate")]
[Protocolize]
UIDocumentPickerDelegate Delegate { get; set; }
[Export ("documentPickerMode", ArgumentSemantic.Assign)]
UIDocumentPickerMode DocumentPickerMode { 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
[iOS (11,0)]
[Export ("allowsMultipleSelection")]
bool AllowsMultipleSelection { get; set; }
2016-04-21 15:30:02 +03:00
}
[NoWatch]
[NoTV]
[iOS (8,0)]
[Protocol, Model]
[BaseType (typeof (NSObject))]
partial interface UIDocumentPickerDelegate {
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, 11, 0, message: "Implement 'DidPickDocument (UIDocumentPickerViewController, NSUrl[])' instead.")]
#if !XAMCORE_4_0
2016-04-21 15:30:02 +03:00
[Abstract]
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
[Export ("documentPicker:didPickDocumentAtURL:"), EventArgs ("UIDocumentPicked")]
void DidPickDocument (UIDocumentPickerViewController controller, NSUrl url);
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 (11,0)]
[Export ("documentPicker:didPickDocumentsAtURLs:"), EventArgs ("UIDocumentPickedAtUrls"), EventName ("DidPickDocumentAtUrls")]
void DidPickDocument (UIDocumentPickerViewController controller, NSUrl[] urls);
2016-04-21 15:30:02 +03:00
[Export ("documentPickerWasCancelled:")]
void WasCancelled (UIDocumentPickerViewController controller);
}
[NoWatch]
[NoTV]
[iOS (8,0)]
[BaseType (typeof (UIViewController))]
partial interface UIDocumentPickerExtensionViewController {
2016-04-21 15:30:02 +03:00
[Export ("initWithNibName:bundle:")]
[PostGet ("NibBundle")]
IntPtr Constructor ([NullAllowed] string nibName, [NullAllowed] NSBundle bundle);
[Export ("documentPickerMode", ArgumentSemantic.Assign)]
UIDocumentPickerMode DocumentPickerMode { get; }
[Export ("originalURL", ArgumentSemantic.Copy)]
NSUrl OriginalUrl { get; }
[Export ("validTypes", ArgumentSemantic.Copy)]
string [] ValidTypes { get; }
[Export ("providerIdentifier")]
string ProviderIdentifier { get; }
[Export ("documentStorageURL", ArgumentSemantic.Copy)]
NSUrl DocumentStorageUrl { get; }
[Export ("dismissGrantingAccessToURL:")]
void DismissGrantingAccess ([NullAllowed] NSUrl url);
[Export ("prepareForPresentationInMode:")]
void PrepareForPresentation (UIDocumentPickerMode mode);
}
// note: used (internally, not exposed) by UITableView and UICollectionView for state restoration
// user objects must adopt the protocol
[NoWatch]
[iOS (6,0)]
[Protocol]
interface UIDataSourceModelAssociation {
[Abstract]
[Export ("modelIdentifierForElementAtIndexPath:inView:")]
string GetModelIdentifier (NSIndexPath idx, UIView view);
[Abstract]
[Export ("indexPathForElementWithModelIdentifier:inView:")]
NSIndexPath GetIndexPath (string identifier, UIView view);
}
[NoWatch]
[iOS (5,0)]
[Protocol]
interface UIAccessibilityReadingContent {
[Abstract]
[Export ("accessibilityLineNumberForPoint:")]
nint GetAccessibilityLineNumber (CGPoint point);
[Abstract]
[Export ("accessibilityContentForLineNumber:")]
string GetAccessibilityContent (nint lineNumber);
[Abstract]
[Export ("accessibilityFrameForLineNumber:")]
CGRect GetAccessibilityFrame (nint lineNumber);
[Abstract]
[Export ("accessibilityPageContent")]
string GetAccessibilityPageContent ();
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
[TV (11,0), iOS (11,0)]
[Export ("accessibilityAttributedContentForLineNumber:")]
[return: NullAllowed]
NSAttributedString GetAccessibilityAttributedContent (nint lineNumber);
[TV (11,0), iOS (11,0)]
[NullAllowed, Export ("accessibilityAttributedPageContent")]
NSAttributedString GetAccessibilityAttributedPageContent ();
2016-04-21 15:30:02 +03:00
}
[NoWatch]
[iOS (7,0)]
[Protocol]
interface UIGuidedAccessRestrictionDelegate {
[Abstract]
[Export ("guidedAccessRestrictionIdentifiers")]
string [] GetGuidedAccessRestrictionIdentifiers { get; }
[Abstract]
[Export ("guidedAccessRestrictionWithIdentifier:didChangeState:")][EventArgs ("UIGuidedAccessRestriction")]
void GuidedAccessRestrictionChangedState (string restrictionIdentifier, UIGuidedAccessRestrictionState newRestrictionState);
[Abstract]
[Export ("textForGuidedAccessRestrictionWithIdentifier:")]
string GetTextForGuidedAccessRestriction (string restrictionIdentifier);
// Optional
[Export ("detailTextForGuidedAccessRestrictionWithIdentifier:")]
string GetDetailTextForGuidedAccessRestriction (string restrictionIdentifier);
}
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
[DisableDefaultCtor] // [Assert] -init is not a useful initializer for this class. Use one of the designated initializers instead
2016-04-21 15:30:02 +03:00
[NoWatch]
[iOS (9,0)] // added in Xcode 7.1 / iOS 9.1 SDK
[BaseType (typeof (UIFocusUpdateContext))]
interface UICollectionViewFocusUpdateContext {
[Export ("previouslyFocusedIndexPath", ArgumentSemantic.Strong)]
NSIndexPath PreviouslyFocusedIndexPath { [return: NullAllowed] get; }
[Export ("nextFocusedIndexPath", ArgumentSemantic.Strong)]
NSIndexPath NextFocusedIndexPath { [return: NullAllowed] get; }
}
[iOS (10,0), TV (10,0)]
2016-06-20 04:53:43 +03:00
[BaseType (typeof(NSObject))]
interface UICubicTimingParameters : UITimingCurveProvider
{
[Export ("animationCurve")]
UIViewAnimationCurve AnimationCurve { get; }
[Export ("controlPoint1")]
CGPoint ControlPoint1 { get; }
[Export ("controlPoint2")]
CGPoint ControlPoint2 { get; }
[Export ("initWithAnimationCurve:")]
[DesignatedInitializer]
IntPtr Constructor (UIViewAnimationCurve curve);
[Export ("initWithControlPoint1:controlPoint2:")]
[DesignatedInitializer]
IntPtr Constructor (CGPoint point1, CGPoint point2);
}
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 IUIFocusAnimationContext {}
[iOS (11,0)]
[Protocol]
interface UIFocusAnimationContext {
[Abstract]
[Export ("duration")]
double Duration { get; }
}
2016-06-20 04:53:43 +03:00
2016-04-21 15:30:02 +03:00
[NoWatch]
[iOS (9,0)]
[BaseType (typeof (NSObject))]
interface UIFocusAnimationCoordinator {
2016-04-21 15:30:02 +03:00
[Export ("addCoordinatedAnimations:completion:")]
[Async]
2016-04-21 15:30:02 +03:00
void AddCoordinatedAnimations ([NullAllowed] Action animations, [NullAllowed] Action completion);
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
[Async]
[TV (11,0), iOS (11,0)]
[Export ("addCoordinatedFocusingAnimations:completion:")]
void AddCoordinatedFocusingAnimations ([NullAllowed] Action<IUIFocusAnimationContext> animations, [NullAllowed] Action completion);
[Async]
[TV (11,0), iOS (11,0)]
[Export ("addCoordinatedUnfocusingAnimations:completion:")]
void AddCoordinatedUnfocusingAnimations ([NullAllowed] Action<IUIFocusAnimationContext> animations, [NullAllowed] Action completion);
2016-04-21 15:30:02 +03:00
}
[NoWatch]
[iOS (9,0)]
[BaseType (typeof (UILayoutGuide))]
interface UIFocusGuide {
[Export ("enabled")]
bool Enabled { [Bind ("isEnabled")] get; set; }
[Availability (Deprecated = Platform.iOS_10_0, Message = "Use 'PreferredFocusEnvironments' instead.")]
2016-04-21 15:30:02 +03:00
[NullAllowed, Export ("preferredFocusedView", ArgumentSemantic.Weak)]
UIView PreferredFocusedView { get; set; }
[iOS (10,0), TV (10,0)]
[Export ("preferredFocusEnvironments", ArgumentSemantic.Copy), NullAllowed] // null_resettable
IUIFocusEnvironment[] PreferredFocusEnvironments { get; set; }
2016-04-21 15:30:02 +03:00
}
interface IUIFocusItem {}
[iOS (10,0)]
[Protocol]
interface UIFocusItem : UIFocusEnvironment
{
[Abstract]
[Export ("canBecomeFocused")]
bool CanBecomeFocused { 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
[DisableDefaultCtor] // [Assert] -init is not a useful initializer for this class. Use one of the designated initializers instead
2016-04-21 15:30:02 +03:00
[NoWatch]
[iOS (9,0)]
[BaseType (typeof(NSObject))]
interface UIFocusUpdateContext {
2016-04-21 15:30:02 +03:00
[NullAllowed, Export ("previouslyFocusedView", ArgumentSemantic.Weak)]
UIView PreviouslyFocusedView { get; }
[NullAllowed, Export ("nextFocusedView", ArgumentSemantic.Weak)]
UIView NextFocusedView { get; }
[Export ("focusHeading", ArgumentSemantic.Assign)]
UIFocusHeading FocusHeading { get; }
[iOS (10,0), TV (10,0)]
[NullAllowed, Export ("previouslyFocusedItem", ArgumentSemantic.Weak)]
IUIFocusItem PreviouslyFocusedItem { get; }
[iOS (10,0), TV (10,0)]
[NullAllowed, Export ("nextFocusedItem", ArgumentSemantic.Weak)]
IUIFocusItem NextFocusedItem { 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
[iOS (11,0), TV (11,0)]
[Notification]
[Field ("UIFocusDidUpdateNotification")]
NSString DidUpdateNotification { get; }
[iOS (11,0), TV (11,0)]
[Notification]
[Field ("UIFocusMovementDidFailNotification")]
NSString MovementDidFailNotification { get; }
[iOS (11,0), TV (11,0)]
[Field ("UIFocusUpdateContextKey")]
NSString Key { get; }
[iOS (11,0), TV (11,0)]
[Field ("UIFocusUpdateAnimationCoordinatorKey")]
NSString AnimationCoordinatorKey { get; }
}
[NoWatch]
[iOS (11,0), TV (11,0)]
[BaseType (typeof(NSObject))]
[DisableDefaultCtor]
interface UIFocusSystem {
[Static]
[Export ("environment:containsEnvironment:")]
bool Contains (IUIFocusEnvironment environment, IUIFocusEnvironment otherEnvironment);
[NoiOS]
[Static]
[Export ("registerURL:forSoundIdentifier:")]
void RegisterUrl (NSUrl soundFileUrl, NSString identifier);
// The 2 values associated with the 'UIFocusSoundIdentifier' smart enum cannot be used.
// See https://developer.apple.com/documentation/uikit/uifocussystem/2887479-register
// Do not specify one of the UIKit sound identifiers (such as default); doing so will cause an immediate assertion failure and crash your app.
}
interface IUIFocusDebuggerOutput {}
[NoWatch]
[iOS (11,0), TV (11,0)]
[Protocol]
interface UIFocusDebuggerOutput {}
[NoWatch]
[iOS (11,0), TV (11,0)]
[BaseType (typeof(NSObject))]
interface UIFocusDebugger {
[Static]
[Export ("help")]
IUIFocusDebuggerOutput Help { get; }
[Static]
[Export ("status")]
IUIFocusDebuggerOutput Status { get; }
[Static]
[Export ("checkFocusabilityForItem:")]
IUIFocusDebuggerOutput CheckFocusability (IUIFocusItem item);
[Static]
[Export ("simulateFocusUpdateRequestFromEnvironment:")]
IUIFocusDebuggerOutput SimulateFocusUpdateRequest (IUIFocusEnvironment environment);
2016-04-21 15:30:02 +03:00
}
[NoWatch]
[iOS (9,0)]
[BaseType (typeof (NSObject))]
interface UIPress {
2016-04-21 15:30:02 +03:00
[Export ("timestamp")]
double /* NSTimeInterval */ Timestamp { get; }
[Export ("phase")]
UIPressPhase Phase { get; }
[Export ("type")]
UIPressType Type { get; }
[NullAllowed, Export ("window", ArgumentSemantic.Strong)]
UIWindow Window { get; }
[NullAllowed, Export ("responder", ArgumentSemantic.Strong)]
UIResponder Responder { get; }
[NullAllowed, Export ("gestureRecognizers", ArgumentSemantic.Copy)]
UIGestureRecognizer[] GestureRecognizers { get; }
[Export ("force")]
nfloat Force { get; }
}
[NoWatch]
[iOS (9,0)]
[BaseType (typeof (UIEvent))]
interface UIPressesEvent {
2016-04-21 15:30:02 +03:00
[Export ("allPresses")]
NSSet<UIPress> AllPresses { get; }
[Export ("pressesForGestureRecognizer:")]
NSSet<UIPress> GetPresses (UIGestureRecognizer gesture);
}
2016-08-06 18:06:39 +03:00
[NoWatch, NoTV, iOS (10,0)]
[BaseType (typeof(NSObject), Delegates=new string [] {"Delegate"}, Events=new Type [] { typeof (UIPreviewInteractionDelegate)})]
[DisableDefaultCtor]
interface UIPreviewInteraction {
[Export ("initWithView:")]
[DesignatedInitializer]
IntPtr Constructor (UIView view);
[NullAllowed, Export ("view", ArgumentSemantic.Weak)]
UIView View { get; }
[NullAllowed, Export ("delegate", ArgumentSemantic.Weak)]
IUIPreviewInteractionDelegate Delegate { get; set; }
[Export ("locationInCoordinateSpace:")]
CGPoint GetLocationInCoordinateSpace ([NullAllowed] IUICoordinateSpace coordinateSpace);
2016-08-06 18:06:39 +03:00
[Export ("cancelInteraction")]
void CancelInteraction ();
}
interface IUIPreviewInteractionDelegate { }
[NoWatch, NoTV, iOS (10, 0)]
[Protocol, Model]
[BaseType (typeof(NSObject))]
interface UIPreviewInteractionDelegate {
[Abstract]
[Export ("previewInteraction:didUpdatePreviewTransition:ended:")]
[EventArgs ("NSPreviewInteractionPreviewUpdate")]
void DidUpdatePreviewTransition (UIPreviewInteraction previewInteraction, nfloat transitionProgress, bool ended);
[Abstract]
[Export ("previewInteractionDidCancel:")]
void DidCancel (UIPreviewInteraction previewInteraction);
[Export ("previewInteractionShouldBegin:")]
[DelegateName ("Func<UIPreviewInteraction,bool>"), DefaultValue(true)]
bool ShouldBegin (UIPreviewInteraction previewInteraction);
[Export ("previewInteraction:didUpdateCommitTransition:ended:")]
[EventArgs ("NSPreviewInteractionPreviewUpdate")]
void DidUpdateCommit (UIPreviewInteraction previewInteraction, nfloat transitionProgress, bool ended);
}
2016-04-21 15:30:02 +03:00
[NoWatch]
[iOS (9,0)]
[BaseType (typeof (UIFocusUpdateContext))]
interface UITableViewFocusUpdateContext {
2016-04-21 15:30:02 +03:00
[Export ("previouslyFocusedIndexPath", ArgumentSemantic.Strong)]
NSIndexPath PreviouslyFocusedIndexPath { [return: NullAllowed] get; }
[Export ("nextFocusedIndexPath", ArgumentSemantic.Strong)]
NSIndexPath NextFocusedIndexPath { [return: NullAllowed] 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
[NoWatch, NoiOS]
[TV (11,0)]
public enum UIFocusSoundIdentifier {
[Field ("UIFocusSoundIdentifierNone")]
None,
[Field ("UIFocusSoundIdentifierDefault")]
Default,
}
interface IUIFocusEnvironment {}
2016-04-21 15:30:02 +03:00
[NoWatch]
[iOS (9,0)]
[Protocol]
interface UIFocusEnvironment {
// Apple moved this member to @optional since they deprecated it
// but that's a breaking change for us, so it remains [Abstract]
// and we need to teach the intro and xtro tests about it
2016-04-21 15:30:02 +03:00
[Abstract]
[NullAllowed, Export ("preferredFocusedView", ArgumentSemantic.Weak)]
[iOS (9,0)] // duplicated so it's inlined properly
[Availability (Deprecated = Platform.iOS_10_0, Message = "Use 'PreferredFocusEnvironments' instead.")]
2016-04-21 15:30:02 +03:00
UIView PreferredFocusedView { get; }
[Abstract]
[Export ("setNeedsFocusUpdate")]
void SetNeedsFocusUpdate ();
[Abstract]
[Export ("updateFocusIfNeeded")]
void UpdateFocusIfNeeded ();
[Abstract]
[Export ("shouldUpdateFocusInContext:")]
bool ShouldUpdateFocus (UIFocusUpdateContext context);
[Abstract]
[Export ("didUpdateFocusInContext:withAnimationCoordinator:")]
void DidUpdateFocus (UIFocusUpdateContext context, UIFocusAnimationCoordinator coordinator);
//
// FIXME: declared as a @required, but this breaks compatibility
// Radar: 26825293
//
#if XAMCORE_4_0
[Abstract]
#endif
[iOS (10, 0)]
[Export ("preferredFocusEnvironments", ArgumentSemantic.Copy)]
IUIFocusEnvironment[] PreferredFocusEnvironments { 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
[NoiOS]
[TV (11,0)]
[Export ("soundIdentifierForFocusUpdateInContext:")]
[return: NullAllowed]
NSString GetSoundIdentifier (UIFocusUpdateContext context);
2016-04-21 15:30:02 +03:00
}
#endif // !WATCH
[NoWatch][NoTV]
[Static][Internal]
interface UITextAttributesConstants {
[Field ("UITextAttributeFont")]
NSString Font { get; }
[Field ("UITextAttributeTextColor")]
NSString TextColor { get; }
[Field ("UITextAttributeTextShadowColor")]
NSString TextShadowColor { get; }
[Field ("UITextAttributeTextShadowOffset")]
NSString TextShadowOffset { 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
#if !WATCH
#region Drag and Drop
interface IUIInteraction {}
interface IUIDropSession {}
interface IUIDragDropSession {}
interface IUIDragAnimating {}
interface IUIDragSession {}
interface IUIDragInteractionDelegate {}
interface IUIDropInteractionDelegate {}
interface IUICollectionViewDragDelegate {}
interface IUICollectionViewDropDelegate {}
interface IUICollectionViewDropCoordinator {}
interface IUICollectionViewDropItem {}
interface IUICollectionViewDropPlaceholderContext {}
interface IUITableViewDragDelegate {}
interface IUITableViewDropDelegate {}
interface IUITableViewDropCoordinator {}
interface IUITableViewDropItem {}
interface IUITableViewDropPlaceholderContext {}
interface IUITextDragDelegate {}
interface IUITextDraggable {}
interface IUITextDragRequest {}
interface IUITextDroppable {}
interface IUITextDropDelegate {}
interface IUITextDropRequest {}
[NoWatch, NoTV, iOS (11,0)]
[Protocol]
interface UIDragAnimating
{
[Abstract]
[Export ("addAnimations:")]
void AddAnimations (Action animations);
[Abstract]
[Export ("addCompletion:")]
void AddCompletion (Action<UIViewAnimatingPosition> completion);
}
[NoWatch, NoTV, iOS (11,0)]
[Protocol]
interface UIDragDropSession
{
[Abstract]
[Export ("items")]
UIDragItem[] Items { get; }
[Abstract]
[Export ("locationInView:")]
CGPoint LocationInView ([NullAllowed] UIView view);
[Abstract]
[Export ("allowsMoveOperation")]
bool AllowsMoveOperation { get; }
[Abstract]
[Export ("restrictedToDraggingApplication")]
bool RestrictedToDraggingApplication { [Bind ("isRestrictedToDraggingApplication")] get; }
[Abstract]
[Export ("hasItemsConformingToTypeIdentifiers:")]
bool HasConformingItems (string[] typeIdentifiers);
[Abstract]
[Export ("canLoadObjectsOfClass:")]
bool CanLoadObjects (Class itemProviderReadingClass);
}
[NoWatch, NoTV, iOS (11,0)]
[BaseType (typeof(NSObject))]
[DisableDefaultCtor]
interface UIDragItem
{
[Export ("initWithItemProvider:")]
[DesignatedInitializer]
IntPtr Constructor (NSItemProvider itemProvider);
[Export ("itemProvider")]
NSItemProvider ItemProvider { get; }
[NullAllowed, Export ("localObject", ArgumentSemantic.Strong)]
NSObject LocalObject { get; set; }
[NullAllowed, Export ("previewProvider", ArgumentSemantic.Copy)]
Func<UIDragPreview> PreviewProvider { get; set; }
}
[NoWatch, NoTV, iOS (11,0)]
[BaseType (typeof(NSObject))]
[DisableDefaultCtor]
interface UIDragPreview : NSCopying
{
[Export ("initWithView:parameters:")]
[DesignatedInitializer]
IntPtr Constructor (UIView view, UIDragPreviewParameters parameters);
[Export ("initWithView:")]
IntPtr Constructor (UIView view);
[Export ("view")]
UIView View { get; }
[Export ("parameters", ArgumentSemantic.Copy)]
UIDragPreviewParameters Parameters { get; }
// From URLPreviews (UIDragPreview) category
[Static]
[Export ("previewForURL:")]
UIDragPreview GetPreview (NSUrl url);
[Static]
[Export ("previewForURL:title:")]
UIDragPreview GetPreview (NSUrl url, [NullAllowed] string title);
}
[NoWatch, NoTV, iOS (11,0)]
[BaseType (typeof(NSObject))]
interface UIDragPreviewParameters : NSCopying
{
[Export ("initWithTextLineRects:")]
IntPtr Constructor (NSValue[] textLineRects);
[NullAllowed, Export ("visiblePath", ArgumentSemantic.Copy)]
UIBezierPath VisiblePath { get; set; }
[Export ("backgroundColor", ArgumentSemantic.Copy)]
UIColor BackgroundColor { get; set; }
}
[NoWatch, NoTV, iOS (11,0)]
[BaseType (typeof(NSObject))]
[DisableDefaultCtor]
interface UIDragPreviewTarget : NSCopying
{
[Export ("initWithContainer:center:transform:")]
[DesignatedInitializer]
IntPtr Constructor (UIView container, CGPoint center, CGAffineTransform transform);
[Export ("initWithContainer:center:")]
IntPtr Constructor (UIView container, CGPoint center);
[Export ("container")]
UIView Container { get; }
[Export ("center")]
CGPoint Center { get; }
[Export ("transform")]
CGAffineTransform Transform { get; }
}
[NoWatch, NoTV, iOS (11,0)]
[Protocol]
interface UIDragSession : UIDragDropSession
{
[Abstract]
[NullAllowed, Export ("localContext", ArgumentSemantic.Strong)]
NSObject LocalContext { get; set; }
}
[NoWatch, NoTV]
[iOS (11,0)]
[BaseType (typeof(NSObject))]
[DisableDefaultCtor]
interface UIDragInteraction : UIInteraction {
[Export ("initWithDelegate:")]
[DesignatedInitializer]
IntPtr Constructor (IUIDragInteractionDelegate @delegate);
[NullAllowed, Export ("delegate", ArgumentSemantic.Weak)]
IUIDragInteractionDelegate Delegate { get; }
[Export ("allowsSimultaneousRecognitionDuringLift")]
bool AllowsSimultaneousRecognitionDuringLift { get; set; }
[Export ("enabled")]
bool Enabled { [Bind ("isEnabled")] get; set; }
[Static]
[Export ("enabledByDefault")]
bool EnabledByDefault { [Bind ("isEnabledByDefault")] get; }
}
[NoWatch, NoTV]
[iOS (11,0)]
[Protocol, Model]
[BaseType (typeof(NSObject))]
interface UIDragInteractionDelegate {
[Abstract]
[Export ("dragInteraction:itemsForBeginningSession:")]
UIDragItem[] GetItemsForBeginningSession (UIDragInteraction interaction, IUIDragSession session);
[Export ("dragInteraction:previewForLiftingItem:session:")]
[return: NullAllowed]
UITargetedDragPreview GetPreviewForLiftingItem (UIDragInteraction interaction, UIDragItem item, IUIDragSession session);
[Export ("dragInteraction:willAnimateLiftWithAnimator:session:")]
void WillAnimateLift (UIDragInteraction interaction, IUIDragAnimating animator, IUIDragSession session);
[Export ("dragInteraction:sessionWillBegin:")]
void SessionWillBegin (UIDragInteraction interaction, IUIDragSession session);
[Export ("dragInteraction:sessionAllowsMoveOperation:")]
bool SessionAllowsMoveOperation (UIDragInteraction interaction, IUIDragSession session);
[Export ("dragInteraction:sessionIsRestrictedToDraggingApplication:")]
bool SessionIsRestrictedToDraggingApplication (UIDragInteraction interaction, IUIDragSession session);
[Export ("dragInteraction:prefersFullSizePreviewsForSession:")]
bool PrefersFullSizePreviews (UIDragInteraction interaction, IUIDragSession session);
[Export ("dragInteraction:sessionDidMove:")]
void SessionDidMove (UIDragInteraction interaction, IUIDragSession session);
[Export ("dragInteraction:session:willEndWithOperation:")]
void SessionWillEnd (UIDragInteraction interaction, IUIDragSession session, UIDropOperation operation);
[Export ("dragInteraction:session:didEndWithOperation:")]
void SessionDidEnd (UIDragInteraction interaction, IUIDragSession session, UIDropOperation operation);
[Export ("dragInteraction:sessionDidTransferItems:")]
void SessionDidTransferItems (UIDragInteraction interaction, IUIDragSession session);
[Export ("dragInteraction:itemsForAddingToSession:withTouchAtPoint:")]
UIDragItem[] GetItemsForAddingToSession (UIDragInteraction interaction, IUIDragSession session, CGPoint point);
[Export ("dragInteraction:sessionForAddingItems:withTouchAtPoint:")]
[return: NullAllowed]
IUIDragSession GetSessionForAddingItems (UIDragInteraction interaction, IUIDragSession[] sessions, CGPoint point);
[Export ("dragInteraction:session:willAddItems:forInteraction:")]
void WillAddItems (UIDragInteraction interaction, IUIDragSession session, UIDragItem[] items, UIDragInteraction addingInteraction);
[Export ("dragInteraction:previewForCancellingItem:withDefault:")]
[return: NullAllowed]
UITargetedDragPreview GetPreviewForCancellingItem (UIDragInteraction interaction, UIDragItem item, UITargetedDragPreview defaultPreview);
[Export ("dragInteraction:item:willAnimateCancelWithAnimator:")]
void WillAnimateCancel (UIDragInteraction interaction, UIDragItem item, IUIDragAnimating animator);
}
[NoWatch, NoTV, iOS (11,0)]
[BaseType (typeof(NSObject))] // If Apple adds a delegate setter: Delegates=new string [] {"Delegate"}, Events=new Type [] { typeof (UIDropInteractionDelegate)})]
[DisableDefaultCtor]
interface UIDropInteraction : UIInteraction
{
[Export ("initWithDelegate:")]
[DesignatedInitializer]
IntPtr Constructor (IUIDropInteractionDelegate @delegate);
[Export ("delegate", ArgumentSemantic.Weak)]
[NullAllowed]
IUIDropInteractionDelegate Delegate { get; }
[Export ("allowsSimultaneousDropSessions")]
bool AllowsSimultaneousDropSessions { get; set; }
}
[NoWatch, NoTV, iOS (11,0)]
[Protocol, Model]
[BaseType (typeof(NSObject))]
interface UIDropInteractionDelegate
{
[Export ("dropInteraction:canHandleSession:"), DelegateName ("Func<UIDropInteraction,IUIDropSession,bool>"), NoDefaultValue]
bool CanHandleSession (UIDropInteraction interaction, IUIDropSession session);
[Export ("dropInteraction:sessionDidEnter:"), EventArgs ("UIDropInteraction")]
void SessionDidEnter (UIDropInteraction interaction, IUIDropSession session);
[Export ("dropInteraction:sessionDidUpdate:"), DelegateName ("Func<UIDropInteraction,IUIDropSession,UIDropProposal>"), NoDefaultValue]
UIDropProposal SessionDidUpdate (UIDropInteraction interaction, IUIDropSession session);
[Export ("dropInteraction:sessionDidExit:"), EventArgs ("UIDropInteraction")]
void SessionDidExit (UIDropInteraction interaction, IUIDropSession session);
[Export ("dropInteraction:performDrop:"), EventArgs ("UIDropInteraction")]
void PerformDrop (UIDropInteraction interaction, IUIDropSession session);
[Export ("dropInteraction:concludeDrop:"), EventArgs ("UIDropInteraction")]
void ConcludeDrop (UIDropInteraction interaction, IUIDropSession session);
[Export ("dropInteraction:sessionDidEnd:"), EventArgs ("UIDropInteraction")]
void SessionDidEnd (UIDropInteraction interaction, IUIDropSession session);
[Export ("dropInteraction:previewForDroppingItem:withDefault:")]
[return: NullAllowed][DelegateName("UIDropInteractionPreviewForItem"), NoDefaultValue]
UITargetedDragPreview GetPreviewForDroppingItem (UIDropInteraction interaction, UIDragItem item, UITargetedDragPreview defaultPreview);
[Export ("dropInteraction:item:willAnimateDropWithAnimator:"), EventArgs("UIDropInteractionAnimation")]
void WillAnimateDrop (UIDropInteraction interaction, UIDragItem item, IUIDragAnimating animator);
}
[NoWatch, NoTV, iOS (11,0)]
[BaseType (typeof(NSObject))]
[DisableDefaultCtor]
interface UIDropProposal : NSCopying
{
[Export ("initWithDropOperation:")]
[DesignatedInitializer]
IntPtr Constructor (UIDropOperation operation);
[Export ("operation")]
UIDropOperation Operation { get; }
[Export ("precise")]
bool Precise { [Bind ("isPrecise")] get; set; }
[Export ("prefersFullSizePreview")]
bool PrefersFullSizePreview { get; set; }
}
[NoWatch, NoTV, iOS (11,0)]
[Protocol]
interface UIDropSession : UIDragDropSession, NSProgressReporting
{
[Abstract]
[NullAllowed, Export ("localDragSession")]
IUIDragSession LocalDragSession { get; }
[Abstract]
[Export ("progressIndicatorStyle", ArgumentSemantic.Assign)]
UIDropSessionProgressIndicatorStyle ProgressIndicatorStyle { get; set; }
[Abstract]
[Export ("loadObjectsOfClass:completion:")]
NSProgress LoadObjects (Class itemProviderReadingClass, Action<INSItemProviderReading []> completion);
}
[NoWatch, NoTV, iOS (11,0)]
[BaseType (typeof(NSObject))]
[DisableDefaultCtor]
interface UITargetedDragPreview : NSCopying
{
[Export ("initWithView:parameters:target:")]
[DesignatedInitializer]
IntPtr Constructor (UIView view, UIDragPreviewParameters parameters, UIDragPreviewTarget target);
[Export ("initWithView:parameters:")]
IntPtr Constructor (UIView view, UIDragPreviewParameters parameters);
[Export ("initWithView:")]
IntPtr Constructor (UIView view);
[Export ("target")]
UIDragPreviewTarget Target { get; }
[Export ("view")]
UIView View { get; }
[Export ("parameters", ArgumentSemantic.Copy)]
UIDragPreviewParameters Parameters { get; }
[Export ("size")]
CGSize Size { get; }
[Export ("retargetedPreviewWithTarget:")]
UITargetedDragPreview GetRetargetedPreview (UIDragPreviewTarget newTarget);
// From URLPreviews (UITargetedDragPreview) category
[Static]
[Export ("previewForURL:target:")]
UITargetedDragPreview GetPreview (NSUrl url, UIDragPreviewTarget target);
[Static]
[Export ("previewForURL:title:target:")]
UITargetedDragPreview GetPreview (NSUrl url, [NullAllowed] string title, UIDragPreviewTarget target);
}
[NoWatch, NoTV]
[iOS (11,0)]
[Protocol, Model]
[BaseType (typeof(NSObject))]
interface UICollectionViewDragDelegate {
[Abstract]
[Export ("collectionView:itemsForBeginningDragSession:atIndexPath:")]
UIDragItem[] GetItemsForBeginningDragSession (UICollectionView collectionView, IUIDragSession session, NSIndexPath indexPath);
[Export ("collectionView:itemsForAddingToDragSession:atIndexPath:point:")]
UIDragItem[] GetItemsForAddingToDragSession (UICollectionView collectionView, IUIDragSession session, NSIndexPath indexPath, CGPoint point);
[Export ("collectionView:dragPreviewParametersForItemAtIndexPath:")]
[return: NullAllowed]
UIDragPreviewParameters GetDragPreviewParameters (UICollectionView collectionView, NSIndexPath indexPath);
[Export ("collectionView:dragSessionWillBegin:")]
void DragSessionWillBegin (UICollectionView collectionView, IUIDragSession session);
[Export ("collectionView:dragSessionDidEnd:")]
void DragSessionDidEnd (UICollectionView collectionView, IUIDragSession session);
[Export ("collectionView:dragSessionAllowsMoveOperation:")]
bool DragSessionAllowsMoveOperation (UICollectionView collectionView, IUIDragSession session);
[Export ("collectionView:dragSessionIsRestrictedToDraggingApplication:")]
bool DragSessionIsRestrictedToDraggingApplication (UICollectionView collectionView, IUIDragSession session);
}
[NoWatch, NoTV]
[iOS (11,0)]
[Protocol, Model]
[BaseType (typeof(NSObject))]
interface UICollectionViewDropDelegate {
[Abstract]
[Export ("collectionView:performDropWithCoordinator:")]
void PerformDrop (UICollectionView collectionView, IUICollectionViewDropCoordinator coordinator);
[Export ("collectionView:canHandleDropSession:")]
bool CanHandleDropSession (UICollectionView collectionView, IUIDropSession session);
[Export ("collectionView:dropSessionDidEnter:")]
void DropSessionDidEnter (UICollectionView collectionView, IUIDropSession session);
[Export ("collectionView:dropSessionDidUpdate:withDestinationIndexPath:")]
UICollectionViewDropProposal DropSessionDidUpdate (UICollectionView collectionView, IUIDropSession session, [NullAllowed] NSIndexPath destinationIndexPath);
[Export ("collectionView:dropSessionDidExit:")]
void DropSessionDidExit (UICollectionView collectionView, IUIDropSession session);
[Export ("collectionView:dropSessionDidEnd:")]
void DropSessionDidEnd (UICollectionView collectionView, IUIDropSession session);
[Export ("collectionView:dropPreviewParametersForItemAtIndexPath:")]
[return: NullAllowed]
UIDragPreviewParameters GetDropPreviewParameters (UICollectionView collectionView, NSIndexPath indexPath);
}
[NoWatch, NoTV]
[iOS (11,0)]
[BaseType (typeof(UIDropProposal))]
[DisableDefaultCtor] // NSInternalInconsistencyException Reason: Not implemented
interface UICollectionViewDropProposal {
// inline from base type
[Export ("initWithDropOperation:")]
[DesignatedInitializer]
IntPtr Constructor (UIDropOperation operation);
[Export ("initWithDropOperation:intent:")]
IntPtr Constructor (UIDropOperation operation, UICollectionViewDropIntent intent);
[Export ("intent")]
UICollectionViewDropIntent Intent { get; }
}
[NoWatch, NoTV]
[iOS (11,0)]
[Protocol]
interface UICollectionViewDropCoordinator {
[Abstract]
[Export ("items")]
IUICollectionViewDropItem[] Items { get; }
[Abstract]
[NullAllowed, Export ("destinationIndexPath")]
NSIndexPath DestinationIndexPath { get; }
[Abstract]
[Export ("proposal")]
UICollectionViewDropProposal Proposal { get; }
[Abstract]
[Export ("session")]
IUIDropSession Session { get; }
[Abstract]
[Export ("dropItem:toPlaceholder:")]
IUICollectionViewDropPlaceholderContext DropItemToPlaceholder (UIDragItem dragItem, UICollectionViewDropPlaceholder placeholder);
[Abstract]
[Export ("dropItem:toItemAtIndexPath:")]
IUIDragAnimating DropItemToItem (UIDragItem dragItem, NSIndexPath itemIndexPath);
[Abstract]
[Export ("dropItem:intoItemAtIndexPath:rect:")]
IUIDragAnimating DropItemIntoItem (UIDragItem dragItem, NSIndexPath itemIndexPath, CGRect rect);
[Abstract]
[Export ("dropItem:toTarget:")]
IUIDragAnimating DropItemToTarget (UIDragItem dragItem, UIDragPreviewTarget target);
}
[NoWatch, NoTV]
[iOS (11,0)]
[BaseType (typeof(NSObject))]
[DisableDefaultCtor]
interface UICollectionViewPlaceholder {
[Export ("initWithInsertionIndexPath:reuseIdentifier:")]
[DesignatedInitializer]
IntPtr Constructor (NSIndexPath insertionIndexPath, string reuseIdentifier);
[NullAllowed, Export ("cellUpdateHandler", ArgumentSemantic.Copy)]
Action<UICollectionViewCell> CellUpdateHandler { get; set; }
}
[NoWatch, NoTV]
[iOS (11,0)]
[BaseType (typeof(UICollectionViewPlaceholder))]
interface UICollectionViewDropPlaceholder {
// inlined
[Export ("initWithInsertionIndexPath:reuseIdentifier:")]
IntPtr Constructor (NSIndexPath insertionIndexPath, string reuseIdentifier);
[NullAllowed, Export ("previewParametersProvider", ArgumentSemantic.Copy)]
Func<UICollectionViewCell, UIDragPreviewParameters> PreviewParametersProvider { get; set; }
}
[NoWatch, NoTV]
[iOS (11,0)]
[Protocol]
interface UICollectionViewDropItem {
[Abstract]
[Export ("dragItem")]
UIDragItem DragItem { get; }
[Abstract]
[NullAllowed, Export ("sourceIndexPath")]
NSIndexPath SourceIndexPath { get; }
[Abstract]
[Export ("previewSize")]
CGSize PreviewSize { get; }
}
[NoWatch, NoTV]
[iOS (11,0)]
[Protocol]
interface UICollectionViewDropPlaceholderContext : UIDragAnimating {
[Abstract]
[Export ("dragItem")]
UIDragItem DragItem { get; }
[Abstract]
[Export ("commitInsertionWithDataSourceUpdates:")]
bool CommitInsertion (Action<NSIndexPath> dataSourceUpdates);
[Abstract]
[Export ("deletePlaceholder")]
bool DeletePlaceholder ();
[Abstract]
[Export ("setNeedsCellUpdate")]
void SetNeedsCellUpdate ();
}
[NoWatch, NoTV]
[iOS (11,0)]
[Protocol, Model]
[BaseType (typeof(NSObject))]
interface UITableViewDragDelegate {
[Abstract]
[Export ("tableView:itemsForBeginningDragSession:atIndexPath:")]
UIDragItem[] GetItemsForBeginningDragSession (UITableView tableView, IUIDragSession session, NSIndexPath indexPath);
[Export ("tableView:itemsForAddingToDragSession:atIndexPath:point:")]
UIDragItem[] GetItemsForAddingToDragSession (UITableView tableView, IUIDragSession session, NSIndexPath indexPath, CGPoint point);
[Export ("tableView:dragPreviewParametersForRowAtIndexPath:")]
[return: NullAllowed]
UIDragPreviewParameters GetDragPreviewParameters (UITableView tableView, NSIndexPath indexPath);
[Export ("tableView:dragSessionWillBegin:")]
void DragSessionWillBegin (UITableView tableView, IUIDragSession session);
[Export ("tableView:dragSessionDidEnd:")]
void DragSessionDidEnd (UITableView tableView, IUIDragSession session);
[Export ("tableView:dragSessionAllowsMoveOperation:")]
bool DragSessionAllowsMoveOperation (UITableView tableView, IUIDragSession session);
[Export ("tableView:dragSessionIsRestrictedToDraggingApplication:")]
bool DragSessionIsRestrictedToDraggingApplication (UITableView tableView, IUIDragSession session);
}
[NoWatch, NoTV]
[iOS (11,0)]
[Protocol, Model]
[BaseType (typeof(NSObject))]
interface UITableViewDropDelegate {
[Abstract]
[Export ("tableView:performDropWithCoordinator:")]
void PerformDrop (UITableView tableView, IUITableViewDropCoordinator coordinator);
[Export ("tableView:canHandleDropSession:")]
bool CanHandleDropSession (UITableView tableView, IUIDropSession session);
[Export ("tableView:dropSessionDidEnter:")]
void DropSessionDidEnter (UITableView tableView, IUIDropSession session);
[Export ("tableView:dropSessionDidUpdate:withDestinationIndexPath:")]
UITableViewDropProposal DropSessionDidUpdate (UITableView tableView, IUIDropSession session, [NullAllowed] NSIndexPath destinationIndexPath);
[Export ("tableView:dropSessionDidExit:")]
void DropSessionDidExit (UITableView tableView, IUIDropSession session);
[Export ("tableView:dropSessionDidEnd:")]
void DropSessionDidEnd (UITableView tableView, IUIDropSession session);
[Export ("tableView:dropPreviewParametersForRowAtIndexPath:")]
[return: NullAllowed]
UIDragPreviewParameters GetDropPreviewParameters (UITableView tableView, NSIndexPath indexPath);
}
[NoWatch, NoTV]
[iOS (11,0)]
[BaseType (typeof(UIDropProposal))]
[DisableDefaultCtor] // NSInternalInconsistencyException Reason: Not implemented
interface UITableViewDropProposal {
// inline from base type
[Export ("initWithDropOperation:")]
[DesignatedInitializer]
IntPtr Constructor (UIDropOperation operation);
[Export ("initWithDropOperation:intent:")]
IntPtr Constructor (UIDropOperation operation, UITableViewDropIntent intent);
[Export ("intent")]
UITableViewDropIntent Intent { get; }
}
[NoWatch, NoTV]
[iOS (11,0)]
[Protocol]
interface UITableViewDropCoordinator {
[Abstract]
[Export ("items")]
IUITableViewDropItem[] Items { get; }
[Abstract]
[NullAllowed, Export ("destinationIndexPath")]
NSIndexPath DestinationIndexPath { get; }
[Abstract]
[Export ("proposal")]
UITableViewDropProposal Proposal { get; }
[Abstract]
[Export ("session")]
IUIDropSession Session { get; }
[Abstract]
[Export ("dropItem:toPlaceholder:")]
IUITableViewDropPlaceholderContext DropItemToPlaceholder (UIDragItem dragItem, UITableViewDropPlaceholder placeholder);
[Abstract]
[Export ("dropItem:toRowAtIndexPath:")]
IUIDragAnimating DropItemToRow (UIDragItem dragItem, NSIndexPath indexPath);
[Abstract]
[Export ("dropItem:intoRowAtIndexPath:rect:")]
IUIDragAnimating DropItemIntoRow (UIDragItem dragItem, NSIndexPath indexPath, CGRect rect);
[Abstract]
[Export ("dropItem:toTarget:")]
IUIDragAnimating DropItemToTarget (UIDragItem dragItem, UIDragPreviewTarget target);
}
[NoWatch, NoTV]
[iOS (11,0)]
[BaseType (typeof(NSObject))]
[DisableDefaultCtor]
interface UITableViewPlaceholder {
[Export ("initWithInsertionIndexPath:reuseIdentifier:rowHeight:")]
[DesignatedInitializer]
IntPtr Constructor (NSIndexPath insertionIndexPath, string reuseIdentifier, nfloat rowHeight);
[NullAllowed, Export ("cellUpdateHandler", ArgumentSemantic.Copy)]
Action<UITableViewCell> CellUpdateHandler { get; set; }
}
[NoWatch, NoTV]
[iOS (11,0)]
[BaseType (typeof(UITableViewPlaceholder))]
interface UITableViewDropPlaceholder {
// inlined
[Export ("initWithInsertionIndexPath:reuseIdentifier:rowHeight:")]
IntPtr Constructor (NSIndexPath insertionIndexPath, string reuseIdentifier, nfloat rowHeight);
[NullAllowed, Export ("previewParametersProvider", ArgumentSemantic.Copy)]
Func<UITableViewCell, UIDragPreviewParameters> PreviewParametersProvider { get; set; }
}
[NoWatch, NoTV, iOS (11,0)]
[Protocol]
interface UITableViewDropItem {
[Abstract]
[Export ("dragItem")]
UIDragItem DragItem { get; }
[Abstract]
[NullAllowed, Export ("sourceIndexPath")]
NSIndexPath SourceIndexPath { get; }
[Abstract]
[Export ("previewSize")]
CGSize PreviewSize { get; }
}
[NoWatch, NoTV, iOS (11,0)]
[Protocol]
interface UITableViewDropPlaceholderContext : UIDragAnimating {
[Abstract]
[Export ("dragItem")]
UIDragItem DragItem { get; }
[Abstract]
[Export ("commitInsertionWithDataSourceUpdates:")]
bool CommitInsertion (Action<NSIndexPath> dataSourceUpdates);
[Abstract]
[Export ("deletePlaceholder")]
bool DeletePlaceholder ();
}
[NoWatch, NoTV]
[iOS (11,0)]
[BaseType (typeof(NSObject))]
[DisableDefaultCtor]
interface UITextDragPreviewRenderer {
[Export ("initWithLayoutManager:range:")]
IntPtr Constructor (NSLayoutManager layoutManager, NSRange range);
[Export ("initWithLayoutManager:range:unifyRects:")]
[DesignatedInitializer]
IntPtr Constructor (NSLayoutManager layoutManager, NSRange range, bool unifyRects);
[Export ("layoutManager")]
NSLayoutManager LayoutManager { get; }
[Export ("image")]
UIImage Image { get; }
[Export ("firstLineRect")]
CGRect FirstLineRect { get; }
[Export ("bodyRect")]
CGRect BodyRect { get; }
[Export ("lastLineRect")]
CGRect LastLineRect { get; }
[Export ("adjustFirstLineRect:bodyRect:lastLineRect:textOrigin:")]
void Adjust (ref CGRect firstLineRect, ref CGRect bodyRect, ref CGRect lastLineRect, CGPoint origin);
}
[NoWatch, NoTV]
[iOS (11,0)]
[Protocol]
interface UITextDraggable : UITextInput {
[Abstract]
[NullAllowed, Export ("textDragDelegate", ArgumentSemantic.Weak)]
IUITextDragDelegate TextDragDelegate { get; set; }
[Abstract]
[NullAllowed, Export ("textDragInteraction")]
UIDragInteraction TextDragInteraction { get; }
[Abstract]
[Export ("textDragActive")]
bool TextDragActive { [Bind ("isTextDragActive")] get; }
[Abstract]
[Export ("textDragOptions", ArgumentSemantic.Assign)]
UITextDragOptions TextDragOptions { get; set; }
}
[NoWatch, NoTV]
[iOS (11,0)]
[Protocol, Model]
[BaseType (typeof(NSObject))]
interface UITextDragDelegate {
[Export ("textDraggableView:itemsForDrag:")]
UIDragItem[] GetItemsForDrag (IUITextDraggable textDraggableView, IUITextDragRequest dragRequest);
[Export ("textDraggableView:dragPreviewForLiftingItem:session:")]
[return: NullAllowed]
UITargetedDragPreview GetPreviewForLiftingItem (IUITextDraggable textDraggableView, UIDragItem item, IUIDragSession session);
[Export ("textDraggableView:willAnimateLiftWithAnimator:session:")]
void WillAnimateLift (IUITextDraggable textDraggableView, IUIDragAnimating animator, IUIDragSession session);
[Export ("textDraggableView:dragSessionWillBegin:")]
void DragSessionWillBegin (IUITextDraggable textDraggableView, IUIDragSession session);
[Export ("textDraggableView:dragSessionDidEnd:withOperation:")]
void DragSessionDidEnd (IUITextDraggable textDraggableView, IUIDragSession session, UIDropOperation operation);
}
[NoWatch, NoTV]
[iOS (11,0)]
[Protocol]
interface UITextDragRequest {
[Abstract]
[Export ("dragRange")]
UITextRange DragRange { get; }
[Abstract]
[Export ("suggestedItems")]
UIDragItem[] SuggestedItems { get; }
[Abstract]
[Export ("existingItems")]
UIDragItem[] ExistingItems { get; }
[Abstract]
[Export ("selected")]
bool Selected { [Bind ("isSelected")] get; }
[Abstract]
[Export ("dragSession")]
IUIDragSession DragSession { get; }
}
[NoWatch, NoTV]
[iOS (11,0)]
[BaseType (typeof(UIDropProposal))]
[DisableDefaultCtor]
interface UITextDropProposal : NSCopying {
// inlined
[Export ("initWithDropOperation:")]
IntPtr Constructor (UIDropOperation operation);
[Export ("dropAction", ArgumentSemantic.Assign)]
UITextDropAction DropAction { get; set; }
[Export ("dropProgressMode", ArgumentSemantic.Assign)]
UITextDropProgressMode DropProgressMode { get; set; }
[Export ("useFastSameViewOperations")]
bool UseFastSameViewOperations { get; set; }
[Export ("dropPerformer", ArgumentSemantic.Assign)]
UITextDropPerformer DropPerformer { get; set; }
}
[NoWatch, NoTV]
[iOS (11,0)]
[Protocol]
interface UITextDroppable : UITextInput, UITextPasteConfigurationSupporting {
[Abstract]
[NullAllowed, Export ("textDropDelegate", ArgumentSemantic.Weak)]
IUITextDropDelegate TextDropDelegate { get; set; }
[Abstract]
[NullAllowed, Export ("textDropInteraction")]
UIDropInteraction TextDropInteraction { get; }
[Abstract]
[Export ("textDropActive")]
bool TextDropActive { [Bind ("isTextDropActive")] get; }
}
[NoWatch, NoTV]
[iOS (11,0)]
[Protocol, Model]
[BaseType (typeof(NSObject))]
interface UITextDropDelegate {
[Export ("textDroppableView:willBecomeEditableForDrop:")]
UITextDropEditability WillBecomeEditable (IUITextDroppable textDroppableView, IUITextDropRequest drop);
[Export ("textDroppableView:proposalForDrop:")]
UITextDropProposal GetProposalForDrop (IUITextDroppable textDroppableView, IUITextDropRequest drop);
[Export ("textDroppableView:willPerformDrop:")]
void WillPerformDrop (IUITextDroppable textDroppableView, IUITextDropRequest drop);
[Export ("textDroppableView:previewForDroppingAllItemsWithDefault:")]
[return: NullAllowed]
UITargetedDragPreview GetPreviewForDroppingAllItems (IUITextDroppable textDroppableView, UITargetedDragPreview defaultPreview);
[Export ("textDroppableView:dropSessionDidEnter:")]
void DropSessionDidEnter (IUITextDroppable textDroppableView, IUIDropSession session);
[Export ("textDroppableView:dropSessionDidUpdate:")]
void DropSessionDidUpdate (IUITextDroppable textDroppableView, IUIDropSession session);
[Export ("textDroppableView:dropSessionDidExit:")]
void DropSessionDidExit (IUITextDroppable textDroppableView, IUIDropSession session);
[Export ("textDroppableView:dropSessionDidEnd:")]
void DropSessionDidEnd (IUITextDroppable textDroppableView, IUIDropSession session);
}
[NoWatch, NoTV]
[iOS (11,0)]
[Protocol]
interface UITextDropRequest {
[Abstract]
[Export ("dropPosition")]
UITextPosition DropPosition { get; }
[Abstract]
[Export ("suggestedProposal")]
UITextDropProposal SuggestedProposal { get; }
[Abstract]
[Export ("sameView")]
bool SameView { [Bind ("isSameView")] get; }
[Abstract]
[Export ("dropSession")]
IUIDropSession DropSession { get; }
}
#endregion
[TV (11,0), iOS (11,0)]
[Protocol]
interface UIDataSourceTranslating {
[Abstract]
[Export ("presentationSectionIndexForDataSourceSectionIndex:")]
nint GetPresentationSectionIndex (nint dataSourceSectionIndex);
[Abstract]
[Export ("dataSourceSectionIndexForPresentationSectionIndex:")]
nint GetDataSourceSectionIndex (nint presentationSectionIndex);
[Abstract]
[Export ("presentationIndexPathForDataSourceIndexPath:")]
[return: NullAllowed]
NSIndexPath GetPresentationIndexPath ([NullAllowed] NSIndexPath dataSourceIndexPath);
[Abstract]
[Export ("dataSourceIndexPathForPresentationIndexPath:")]
[return: NullAllowed]
NSIndexPath GetDataSourceIndexPath ([NullAllowed] NSIndexPath presentationIndexPath);
[Abstract]
[Export ("performUsingPresentationValues:")]
void PerformUsingPresentationValues (Action actionsToTranslate);
}
[NoWatch, NoTV]
[iOS (11,0)]
[BaseType (typeof(NSObject))]
[DisableDefaultCtor]
interface UISpringLoadedInteraction : UIInteraction {
[Export ("initWithInteractionBehavior:interactionEffect:activationHandler:")]
[DesignatedInitializer]
IntPtr Constructor ([NullAllowed] IUISpringLoadedInteractionBehavior interactionBehavior, [NullAllowed] IUISpringLoadedInteractionEffect interactionEffect, Action<UISpringLoadedInteraction, IUISpringLoadedInteractionContext> handler);
[Export ("initWithActivationHandler:")]
IntPtr Constructor (Action<UISpringLoadedInteraction, IUISpringLoadedInteractionContext> handler);
[Export ("interactionBehavior", ArgumentSemantic.Strong)]
IUISpringLoadedInteractionBehavior InteractionBehavior { get; }
[Export ("interactionEffect", ArgumentSemantic.Strong)]
IUISpringLoadedInteractionEffect InteractionEffect { get; }
}
interface IUISpringLoadedInteractionBehavior {}
[NoWatch, NoTV]
[iOS (11,0)]
[Protocol]
interface UISpringLoadedInteractionBehavior {
[Abstract]
[Export ("shouldAllowInteraction:withContext:")]
bool ShouldAllowInteraction (UISpringLoadedInteraction interaction, IUISpringLoadedInteractionContext context);
[Export ("interactionDidFinish:")]
void InteractionDidFinish (UISpringLoadedInteraction interaction);
}
interface IUISpringLoadedInteractionEffect {}
[NoWatch, NoTV]
[iOS (11,0)]
[Protocol]
interface UISpringLoadedInteractionEffect {
[Abstract]
[Export ("interaction:didChangeWithContext:")]
void DidChange (UISpringLoadedInteraction interaction, IUISpringLoadedInteractionContext context);
}
interface IUISpringLoadedInteractionContext {}
[NoWatch, NoTV]
[iOS (11,0)]
[Protocol]
interface UISpringLoadedInteractionContext {
[Abstract]
[Export ("state")]
UISpringLoadedInteractionEffectState State { get; }
[Abstract]
[NullAllowed, Export ("targetView", ArgumentSemantic.Strong)]
UIView TargetView { get; set; }
[Abstract]
[NullAllowed, Export ("targetItem", ArgumentSemantic.Strong)]
NSObject TargetItem { get; set; }
[Abstract]
[Export ("locationInView:")]
CGPoint LocationInView ([NullAllowed] UIView view);
}
[NoWatch, NoTV]
[iOS (11,0)]
[Protocol]
interface UISpringLoadedInteractionSupporting {
[Abstract]
[Export ("springLoaded")]
bool SpringLoaded { [Bind ("isSpringLoaded")] get; set; }
}
// https://bugzilla.xamarin.com/show_bug.cgi?id=58282, we should be able to write one delegate with a 'Action<bool>'. See original signature:
// typedef void (^UIContextualActionHandler)(UIContextualAction * _Nonnull, __kindof UIView * _Nonnull, void (^ _Nonnull)(BOOL));
[NoWatch, NoTV]
[iOS (11,0)]
delegate void UIContextualActionHandler (UIContextualAction action, UIView sourceView, [BlockCallback] UIContextualActionCompletionHandler completionHandler);
[NoWatch, NoTV]
[iOS (11,0)]
delegate void UIContextualActionCompletionHandler (bool finished);
[NoWatch, NoTV]
[iOS (11,0)]
[BaseType (typeof(NSObject))]
[DisableDefaultCtor]
interface UIContextualAction {
[Static]
[Export ("contextualActionWithStyle:title:handler:")]
UIContextualAction FromContextualActionStyle (UIContextualActionStyle style, [NullAllowed] string title, UIContextualActionHandler handler);
[Export ("style")]
UIContextualActionStyle Style { get; }
[Export ("handler", ArgumentSemantic.Copy)]
UIContextualActionHandler Handler { get; }
[NullAllowed, Export ("title")]
string Title { get; set; }
[NullAllowed, Export ("backgroundColor", ArgumentSemantic.Copy)]
UIColor BackgroundColor { get; set; }
[NullAllowed, Export ("image", ArgumentSemantic.Copy)]
UIImage Image { get; set; }
}
[NoWatch, NoTV]
[iOS (11,0)]
[BaseType (typeof(NSObject))]
[DisableDefaultCtor]
interface UISwipeActionsConfiguration {
[Static]
[Export ("configurationWithActions:")]
UISwipeActionsConfiguration FromActions (UIContextualAction[] actions);
[Export ("actions", ArgumentSemantic.Copy)]
UIContextualAction[] Actions { get; }
[Export ("performsFirstActionWithFullSwipe")]
bool PerformsFirstActionWithFullSwipe { get; set; }
}
interface IUITextPasteConfigurationSupporting {}
[NoWatch, NoTV]
[iOS (11,0)]
[Protocol]
interface UITextPasteConfigurationSupporting : UIPasteConfigurationSupporting {
[Abstract]
[NullAllowed, Export ("pasteDelegate", ArgumentSemantic.Weak)]
IUITextPasteDelegate PasteDelegate { get; set; }
}
interface IUITextPasteDelegate {}
[NoWatch, NoTV]
[iOS (11,0)]
[Protocol, Model]
[BaseType (typeof(NSObject))]
interface UITextPasteDelegate {
[Export ("textPasteConfigurationSupporting:transformPasteItem:")]
void TransformPasteItem (IUITextPasteConfigurationSupporting textPasteConfigurationSupporting, IUITextPasteItem item);
[Export ("textPasteConfigurationSupporting:combineItemAttributedStrings:forRange:")]
NSAttributedString CombineItemAttributedStrings (IUITextPasteConfigurationSupporting textPasteConfigurationSupporting, NSAttributedString[] itemStrings, UITextRange textRange);
[Export ("textPasteConfigurationSupporting:performPasteOfAttributedString:toRange:")]
UITextRange PerformPaste (IUITextPasteConfigurationSupporting textPasteConfigurationSupporting, NSAttributedString attributedString, UITextRange textRange);
[Export ("textPasteConfigurationSupporting:shouldAnimatePasteOfAttributedString:toRange:")]
bool ShouldAnimatePaste (IUITextPasteConfigurationSupporting textPasteConfigurationSupporting, NSAttributedString attributedString, UITextRange textRange);
}
interface IUITextPasteItem {}
[NoWatch, NoTV]
[iOS (11,0)]
[Protocol]
interface UITextPasteItem {
[Abstract]
[Export ("itemProvider")]
NSItemProvider ItemProvider { get; }
[Abstract]
[NullAllowed, Export ("localObject")]
NSObject LocalObject { get; }
[Abstract]
[Export ("defaultAttributes")]
NSDictionary<NSString, NSObject> DefaultAttributes { get; }
[Abstract]
[Export ("setStringResult:")]
void SetStringResult (string @string);
[Abstract]
[Export ("setAttributedStringResult:")]
void SetAttributedStringResult (NSAttributedString @string);
[Abstract]
[Export ("setAttachmentResult:")]
void SetAttachmentResult (NSTextAttachment textAttachment);
[Abstract]
[Export ("setNoResult")]
void SetNoResult ();
[Abstract]
[Export ("setDefaultResult")]
void SetDefaultResult ();
}
[NoWatch, NoTV]
[iOS (11,0)]
[BaseType (typeof(NSObject))]
interface UIPasteConfiguration : NSSecureCoding, NSCopying {
[Export ("acceptableTypeIdentifiers", ArgumentSemantic.Copy)]
string[] AcceptableTypeIdentifiers { get; set; }
[Export ("initWithAcceptableTypeIdentifiers:")]
IntPtr Constructor (string[] acceptableTypeIdentifiers);
[Export ("addAcceptableTypeIdentifiers:")]
void AddAcceptableTypeIdentifiers (string[] acceptableTypeIdentifiers);
[Export ("initWithTypeIdentifiersForAcceptingClass:")]
IntPtr Constructor (Class itemProviderReadingClass);
[Wrap ("this (new Class (itemProviderReadingType))")]
IntPtr Constructor (Type itemProviderReadingType);
[Export ("addTypeIdentifiersForAcceptingClass:")]
void AddTypeIdentifiers (Class itemProviderReadingClass);
[Wrap ("AddTypeIdentifiers (new Class (itemProviderReadingType))")]
void AddTypeIdentifiers (Type itemProviderReadingType);
}
interface IUIPasteConfigurationSupporting {}
[NoWatch, NoTV]
[iOS (11,0)]
[Protocol]
interface UIPasteConfigurationSupporting {
[Abstract]
[NullAllowed, Export ("pasteConfiguration", ArgumentSemantic.Copy)]
UIPasteConfiguration PasteConfiguration { get; set; }
[Export ("pasteItemProviders:")]
void Paste (NSItemProvider[] itemProviders);
[Export ("canPasteItemProviders:")]
bool CanPaste (NSItemProvider[] itemProviders);
}
[NoTV, NoWatch]
[iOS (11,0)]
[BaseType (typeof(UIViewController))]
interface UIDocumentBrowserViewController : NSCoding {
[Export ("initForOpeningFilesWithContentTypes:")]
[DesignatedInitializer]
IntPtr Constructor ([NullAllowed] string[] allowedContentTypes);
[NullAllowed, Export ("delegate", ArgumentSemantic.Weak)]
IUIDocumentBrowserViewControllerDelegate Delegate { get; set; }
[Export ("allowsDocumentCreation")]
bool AllowsDocumentCreation { get; set; }
[Export ("allowsPickingMultipleItems")]
bool AllowsPickingMultipleItems { get; set; }
[Export ("allowedContentTypes", ArgumentSemantic.Copy)]
string[] AllowedContentTypes { get; }
[Export ("additionalLeadingNavigationBarButtonItems", ArgumentSemantic.Strong)]
UIBarButtonItem[] AdditionalLeadingNavigationBarButtonItems { get; set; }
[Export ("additionalTrailingNavigationBarButtonItems", ArgumentSemantic.Strong)]
UIBarButtonItem[] AdditionalTrailingNavigationBarButtonItems { get; set; }
[Async]
[Export ("revealDocumentAtURL:importIfNeeded:completion:")]
void RevealDocument (NSUrl url, bool importIfNeeded, [NullAllowed] Action<NSUrl, NSError> completion);
[Async]
[Export ("importDocumentAtURL:nextToDocumentAtURL:mode:completionHandler:")]
void ImportDocument (NSUrl documentUrl, NSUrl neighbourUrl, UIDocumentBrowserImportMode importMode, Action<NSUrl, NSError> completion);
[Export ("transitionControllerForDocumentURL:")]
UIDocumentBrowserTransitionController GetTransitionController (NSUrl documentUrl);
[Export ("customActions", ArgumentSemantic.Strong)]
UIDocumentBrowserAction[] CustomActions { get; set; }
[Export ("browserUserInterfaceStyle", ArgumentSemantic.Assign)]
UIDocumentBrowserUserInterfaceStyle BrowserUserInterfaceStyle { get; set; }
}
interface IUIDocumentBrowserViewControllerDelegate {}
[NoTV, NoWatch]
[iOS (11,0)]
[Protocol, Model]
[BaseType (typeof(NSObject))]
interface UIDocumentBrowserViewControllerDelegate {
[Export ("documentBrowser:didPickDocumentURLs:")]
void DidPickDocumentUrls (UIDocumentBrowserViewController controller, NSUrl[] documentUrls);
[Export ("documentBrowser:didRequestDocumentCreationWithHandler:")]
void DidRequestDocumentCreation (UIDocumentBrowserViewController controller, Action<NSUrl, UIDocumentBrowserImportMode> importHandler);
[Export ("documentBrowser:didImportDocumentAtURL:toDestinationURL:")]
void DidImportDocument (UIDocumentBrowserViewController controller, NSUrl sourceUrl, NSUrl destinationUrl);
[Export ("documentBrowser:failedToImportDocumentAtURL:error:")]
void FailedToImportDocument (UIDocumentBrowserViewController controller, NSUrl documentUrl, [NullAllowed] NSError error);
[Export ("documentBrowser:applicationActivitiesForDocumentURLs:")]
UIActivity[] GetApplicationActivities (UIDocumentBrowserViewController controller, NSUrl[] documentUrls);
[Export ("documentBrowser:willPresentActivityViewController:")]
void WillPresent (UIDocumentBrowserViewController controller, UIActivityViewController activityViewController);
}
[NoTV, NoWatch]
[iOS (11,0)]
[BaseType (typeof(NSObject))]
[DisableDefaultCtor]
interface UIDocumentBrowserTransitionController : UIViewControllerAnimatedTransitioning {
[NullAllowed, Export ("loadingProgress", ArgumentSemantic.Strong)]
NSProgress LoadingProgress { get; set; }
[NullAllowed, Export ("targetView", ArgumentSemantic.Weak)]
UIView TargetView { get; set; }
}
[NoTV, NoWatch]
[iOS (11,0)]
[BaseType (typeof(NSObject))]
[DisableDefaultCtor]
interface UIDocumentBrowserAction {
[Export ("initWithIdentifier:localizedTitle:availability:handler:")]
[DesignatedInitializer]
IntPtr Constructor (string identifier, string localizedTitle, UIDocumentBrowserActionAvailability availability, Action<NSUrl[]> handler);
[Export ("identifier")]
string Identifier { get; }
[Export ("localizedTitle")]
string LocalizedTitle { get; }
[Export ("availability")]
UIDocumentBrowserActionAvailability Availability { get; }
[NullAllowed, Export ("image", ArgumentSemantic.Strong)]
UIImage Image { get; set; }
[Export ("supportedContentTypes", ArgumentSemantic.Copy)]
string[] SupportedContentTypes { get; set; }
[Export ("supportsMultipleItems")]
bool SupportsMultipleItems { get; set; }
}
#endif // !WATCH
[Watch (4,0), TV (11,0), iOS (11,0)]
[BaseType (typeof(NSObject))]
[DisableDefaultCtor]
interface UIFontMetrics {
[Static]
[Export ("defaultMetrics", ArgumentSemantic.Strong)]
UIFontMetrics DefaultMetrics { get; }
[Static]
[Export ("metricsForTextStyle:")]
UIFontMetrics GetMetrics (string textStyle);
[Export ("initForTextStyle:")]
[DesignatedInitializer]
IntPtr Constructor (string textStyle);
[Export ("scaledFontForFont:")]
UIFont GetScaledFont (UIFont font);
[Export ("scaledFontForFont:maximumPointSize:")]
UIFont GetScaledFont (UIFont font, nfloat maximumPointSize);
[Export ("scaledValueForValue:")]
nfloat GetScaledValue (nfloat value);
#if !WATCH
[NoWatch]
[Export ("scaledFontForFont:compatibleWithTraitCollection:")]
UIFont GetScaledFont (UIFont font, [NullAllowed] UITraitCollection traitCollection);
[NoWatch]
[Export ("scaledFontForFont:maximumPointSize:compatibleWithTraitCollection:")]
UIFont GetScaledFont (UIFont font, nfloat maximumPointSize, [NullAllowed] UITraitCollection traitCollection);
[NoWatch]
[Export ("scaledValueForValue:compatibleWithTraitCollection:")]
nfloat GetScaledValue (nfloat value, [NullAllowed] UITraitCollection traitCollection);
#endif // !WATCH
}
2016-04-21 15:30:02 +03:00
}