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

3160 Коммитов

Автор SHA1 Сообщение Дата
Rolf Bjarne Kvinge 979eb13ab2 [tests] Remove workaround for xamarin/maccore#1996.
Fixes https://github.com/xamarin/maccore/issues/1996.
2019-09-30 15:14:23 +02:00
Difegue 36d9417f92 Fix the NSFileTypeForHFSTypeCode enum (#6676)
* Rework NSFileTypeForHFSTypeCode

* Start writing 4cc test

* Update NSWorkspace.cs

* Fix formatting issues

* Fix tests

* Update src/AppKit/Enums.cs

Co-Authored-By: Rolf Bjarne Kvinge <rolf@xamarin.com>

* Update src/AppKit/NSWorkspace.cs

Co-Authored-By: Rolf Bjarne Kvinge <rolf@xamarin.com>

* Reintroduce old NSFileTypeForHFSTypeCode

+ Fix tests style

* Invert XAMCORE_4_0 check

* Fix xtro (new API added)
2019-09-27 14:14:15 -04:00
Manuel de la Pena b360408197
[Tests] Make the CoreBluetooth tests more reliable. (#7115)
Tests were failing because the manager was getting dispose and the
delegate was not. We ran into the failure because there was a device
close to the lab with the UUID that was being used.

The change uses a even more common UUID (heart monitor), which should
increase the chances to pick up a device and re-orgs the disposal of the
manager and the delegate.

This was confirmed with a BLE device, watchOS does not like us to try
and access it as a bluetooth device and is 'hacky'.

Fixes: https://github.com/xamarin/xamarin-macios/issues/7108
2019-09-26 17:07:57 -04:00
Manuel de la Pena 2cea3568b9
[AppKit] Add missing Accessibility protocols. (#7105) 2019-09-26 09:46:38 -04:00
Alex Soto cd5917650e
[mono] Bump mono to match android (#7104)
* [mono] Bump mono to match android

4546440471...c99adb97ed

* [tests] Add workaround for xamarin/maccore#1996.
2019-09-26 08:39:49 -04:00
Vincent Dondain 253900cf00
Bump for Xcode 11.1 GM (#7090)
- Fixes https://github.com/xamarin/xamarin-macios/issues/7045
- Fixes Xcode path and point API diff to HEAD of d16-3
- Ignore ScanForPeripherals & RetrievePeripherals tests for now (https://github.com/xamarin/xamarin-macios/issues/7108)
2019-09-25 23:13:13 -04:00
Rolf Bjarne Kvinge 1e92a732ef
[mtouch] Tweak watchOS architecture test to build for bitcode when building with llvm. Fixes xamarin/maccore#1994. (#7097)
Tweak the watchOS architecture test to build for bitcode when building with
llvm, since that's what's usually done.

Also tweak the MT0145 error message a bit.

Fixes https://github.com/xamarin/maccore/issues/1994.
2019-09-25 17:06:27 +02:00
monojenkins abfa32c09f [master] [generator] Do not generate PlatformNotSupportedException in chaining .ctor (#7092)
Types that are new in 64bits only OS are generated differently on 32bits
bindings. They mainly throw a `PlatformNotSupportedException` so it's
easier to diagnose (than a crash) what's happening at runtime.

This works well in all cases except one. When a new type, let's say
`UIMenuElement` is added **and** serves as a new base type for existing
types.

`UIKeyCommand` (iOS 7) -> `UICommand` (iOS 13)-> `UIMenuElement` (iOS 13)

This is _correct_ as new base types can be added (in ObjC and C#).
However the generated code for the constructors of `UICommand` and
`UIMenuElement` would be throwing a `PlatformNotSupportedException`
which breaks the `UIKeyCommand` on 32 bits devices.

We fixed this in a few places by tweaking the availability attribute
but that requires spotting the new base type while doing bindings and
that is error prone [1][2].

This PR simply does let the `protected` constructor, using when chaining,
be generated normally. It's simpler and will cover all the cases (without
requiring hacks in the availability of those types)

[1] https://github.com/xamarin/xamarin-macios/issues/7083
[2] https://github.com/xamarin/xamarin-macios/issues/7084
2019-09-24 21:12:59 -04:00
Sebastien Pouliot 6bdce2dac8
[generator] Do not generate PlatformNotSupportedException in chaining .ctor (#7085)
Types that are new in 64bits only OS are generated differently on 32bits
bindings. They mainly throw a `PlatformNotSupportedException` so it's
easier to diagnose (than a crash) what's happening at runtime.

This works well in all cases except one. When a new type, let's say
`UIMenuElement` is added **and** serves as a new base type for existing
types.

`UIKeyCommand` (iOS 7) -> `UICommand` (iOS 13)-> `UIMenuElement` (iOS 13)

This is _correct_ as new base types can be added (in ObjC and C#).
However the generated code for the constructors of `UICommand` and
`UIMenuElement` would be throwing a `PlatformNotSupportedException`
which breaks the `UIKeyCommand` on 32 bits devices.

We fixed this in a few places by tweaking the availability attribute
but that requires spotting the new base type while doing bindings and
that is error prone [1][2].

This PR simply does let the `protected` constructor, using when chaining,
be generated normally. It's simpler and will cover all the cases (without
requiring hacks in the availability of those types)

[1] https://github.com/xamarin/xamarin-macios/issues/7083
[2] https://github.com/xamarin/xamarin-macios/issues/7084
2019-09-24 16:24:08 -04:00
Rolf Bjarne Kvinge 2adecee3d9
Drop the Xcode 9.4 dependency. (#7044)
* Drop the Xcode 9.4 dependency.

Also bump mono to get the removal of the mac32 binaries.

New commits in mono/mono:

* mono/mono@70d6903053 [2019-08] [merp] Use a separate program as the hang supervisor. (#16900)
* mono/mono@4bff2b6370 [offsets-tool] Install clang into the user-specific python directory.
* mono/mono@81894ec8ca Implement WriteCore and ReadCore in DeflateStream
* mono/mono@bfbf823ca1 [ci] Remove more XCODE32_DIR usages (#16964)
* mono/mono@ce01b20a4d Add net_4.8.xml to EXTRA_DIST and bump binary-reference-assemblies again
* mono/mono@7a587d7fa6 Add .NET 4.8 reference assemblies (#16912)
* mono/mono@35e454a8f6 [sdks] Remove the mac32 build. (#16936)
* mono/mono@75eb342f53 [2019-08] [System] Make FileSystemWatcher backend non-static (#16926)
* mono/mono@5881981f79 [2019-08] [mini] Add missing membars when initializing rgctx entries (#16909)
* mono/mono@6290b6cd6e Temporarily disable embedded ppdb data decompression (#16911)
* mono/mono@a0e7f9eaf2 [2019-08] [arm64_32] make "Debug Mode" work on Watch series 4 with --interpreter (#16886)
* mono/mono@6275840a7f Rename bundle identifier for the various Mono.frameworks we create for Xamarin.iOS. Fixes xamarin/xamarin-macios#7005. (#16901)
* mono/mono@25f6093283 [corlib] Fix building nunit-lite twice (#16895)
* mono/mono@7ec17ba1be [2019-08] [android sdk] Add aprofutil tool (#16884)
* mono/mono@f755f3b539 [metadata] Fix leaks when handling a few attributes (#16850)
* mono/mono@5f9a2db39b [2019-08] Fix infrequent hangs in test-runner. (#16854)
* mono/mono@f31f5ea1f1 [2019-08] [threads] do not convert NULL thread name (#16828)
* mono/mono@20308e6f87 [aot] Do not wrap tool_prefix path when calling strip (#16820)
* mono/mono@cecda47c48 [aprofutil] Add -p and -f options
* mono/mono@824cc12ac3 Bump to mono/corefx@e79cf5b
* mono/mono@b77dc06a7e [aprofutil] Install the tool correctly (#16112)
* mono/mono@1848d78d60 [aotprof-tool] Initial import of AOT profiler tool (#15384)
* mono/mono@da0086e304 [2019-08] Add RenamedEvent* to FSW sources from CoreFX (#16756)
* mono/mono@0297b21b03 [msbuild][roslyn] Bump msbuild and roslyn to pull in new versions (#16768)
* mono/mono@40631e3b9e [2019-08] [aot] move method_addresses to data.rel.so section to avoid text relocations (#16751)
* mono/mono@68b77674e2 Vtable [i] can be null so this should be check before use it. Fixes #16712
* mono/mono@4a0b4f41ed [mini] publish global patches after JitInfo has been added
* mono/mono@7a1f63fde6 [debugger][android] It was not initialising seq_points on MonoCompile on Android, so when was compiling dynamic methods, seq_points wasn't created and we got the assert when try to single step.

Diff: 29b1ac19c9..70d6903053

* [tests] Add a fat macOS dylib for testing purposes.

Add a binary version of a fat macOS dylib (because we can't create one when we
need it since we can't create 32-bit slice anymore).

It was created like this (in tests/test-libraries):

	$ cat test.m
	int theUltimateAnswer ()
	{
		return 42;
	}

	$ /Applications/Xcode94.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang test.m -olibtest.i386.dylib -shared -isysroot /Applications/Xcode94.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk -framework Foundation -framework CoreLocation -lz  -arch i386
	$ lipo -create libtest.i386.dylib .libs/macos/libtest.dylib -output libtest-fat.dylib

* [tests] Adjust XM tests to XM not having fat dylibs anymore.

* [tests] Adjust product tests to some libraries not being fat anymore.

* One more test fix.
2019-09-24 13:40:18 +02:00
Bernhard Urban 62466d4c46 [monotouch-tests] reduce amount of test objects to avoid out of memory (#7075)
I get this otherwise on the watch4 in debug mode (with interp):

```
Process 1255 stopped
* thread #1, name = 'tid_303', queue = 'com.apple.main-thread', stop reason = EXC_RESOURCE RESOURCE_TYPE_MEMORY (limit=80 MB, unused=0x0)
    frame #0: 0x1e185ae8 CoreGraphics`x_malloc + 44
CoreGraphics`x_malloc:
->  0x1e185ae8 <+44>: str    w19, [x0], #0x10
    0x1e185aec <+48>: ldp    x29, x30, [sp, #0x10]
    0x1e185af0 <+52>: ldp    x20, x19, [sp], #0x20
    0x1e185af4 <+56>: ret
Target 0: (monotouchtest) stopped.
```
2019-09-24 13:29:56 +02:00
Manuel de la Pena 5703082581
[Metal] Add support up to GM1 of metal. (#7007) 2019-09-23 11:14:15 -04:00
Vincent Dondain a7e50fd89d
[xharness] Bring more joy to the developer when all tests pass 🎉 (#6962) (#7037)
- When everything just works, skip the "test results" header and output that all tests pass with a 🎉 (:
2019-09-20 14:11:03 -04:00
Waleed Chaudhry 1dc3beabfa
[Generator] Provide clear error message on type mismatch with BindAs error (#7016)
* [Generator] Provide clear error message on type mismatch with BindAs attribute that results in  generator crashing. Fixes 6863.
2019-09-19 21:05:22 -04:00
monojenkins 982346cbb3 [xharness] Fix incorrect merge. (#7034)
Add new device tasks to the right list so that they're processed and marked as
ignored correctly later.
2019-09-19 18:53:26 +02:00
Rolf Bjarne Kvinge 7fc8db2fca
[xharness] Fix incorrect merge. (#7032)
Add new device tasks to the right list so that they're processed and marked as
ignored correctly later.
2019-09-19 14:40:32 +02:00
Rolf Bjarne Kvinge e7a5d56dd2 Merge remote-tracking branch 'origin/xcode11' into master-xcode11 2019-09-17 19:44:13 +02:00
Rolf Bjarne Kvinge 80bcb021b3 Merge remote-tracking branch 'origin/xcode11' into d16-3-xcode11-v2 2019-09-17 08:40:53 +02:00
Waleed Chaudhry 706581c1ab Fix broken introspection tests on macOS 10.15. Fixes #6998. (#6999)
* Fix broken introspec tests on macOS 10.15

* Add aliases

* Add fields to .ignore

* Remove new line

* Add comment to .ignore
2019-09-16 23:40:34 -07:00
Rolf Bjarne Kvinge df523c8b18 Merge remote-tracking branch 'origin/xcode11' into d16-3. 2019-09-17 08:30:12 +02:00
Rolf Bjarne Kvinge 5b7ea53e2e [monotouch-test] Fix ProxyTest according to changed behavior in iOS 13.
In iOS 13 it's no longer possible to get PACs from file:// urls (this is
explained in the release notes, so it's expected). So launch a local
httpserver and serve the PAC that way.
2019-09-16 15:21:29 +02:00
Rolf Bjarne Kvinge c7522b3a71 Fix broken merge. 2019-09-16 15:21:24 +02:00
Rolf Bjarne Kvinge ac7d423af4 [mmptest] Test the release configuration of link-framework-1.
link-framework-1 ensures that we link away as many frameworks as possible.
Unfortunately there are things we can't link away when using the dynamic
registrar, so switch to testing the Release configuration instead, since that
automatically uses the static registrar (and the release configuration is the
better option to test anyway, since it's closer to what customers use to
release).
2019-09-16 15:21:12 +02:00
Rolf Bjarne Kvinge 2c66d68277 Fix a few merge breakages. 2019-09-16 15:20:59 +02:00
Rolf Bjarne Kvinge 664bb077e2 Fix downloading mono archive when running device tests. 2019-09-16 15:11:49 +02:00
Rolf Bjarne Kvinge bd39bb4928 Fix downloading mono archive when running device tests. 2019-09-16 14:49:22 +02:00
Waleed Chaudhry 1287b324e2
[Newsstandkit] Update for Xcode 11 beta 1 (#6992)
* [Newsstandkit] Update for Xcode 11 beta 1
2019-09-13 15:23:21 -04:00
Rolf Bjarne Kvinge 303aa0a649 Merge remote-tracking branch 'origin/xcode11' into master-xcode11 2019-09-13 18:35:18 +02:00
Waleed Chaudhry 7e94998a50
[ModelIO] Fix xtro broken by #6991. (#6996)
* [ModelIO] Fix tests broken by #6991
2019-09-13 12:14:56 -04:00
Rolf Bjarne Kvinge 1dd0a9573c [monotouch-test] Fix ProxyTest according to changed behavior in iOS 13.
In iOS 13 it's no longer possible to get PACs from file:// urls (this is
explained in the release notes, so it's expected). So launch a local
httpserver and serve the PAC that way.
2019-09-13 16:16:22 +02:00
Rolf Bjarne Kvinge 77d5377ddc Fix broken merge. 2019-09-13 16:16:22 +02:00
Rolf Bjarne Kvinge 75ecaf4dc6 [mmptest] Adjust Unified_HelloWorld_ShouldHaveNoWarnings to expect MM5220 sometimes. 2019-09-13 08:43:17 +02:00
Rolf Bjarne Kvinge 9ee4f8ffc5 [mmptest] Test the release configuration of link-framework-1.
link-framework-1 ensures that we link away as many frameworks as possible.
Unfortunately there are things we can't link away when using the dynamic
registrar, so switch to testing the Release configuration instead, since that
automatically uses the static registrar (and the release configuration is the
better option to test anyway, since it's closer to what customers use to
release).
2019-09-13 08:18:37 +02:00
Alex Soto b02da292bf
[corebluetooth] Update for Xcode 11 GM (#6990)
This should let us provide a nicer API for the GM change about
`CBManager authorization` moving from an instance to a static
property (in all but iOS 13.0 / watchOS 6.0)
2019-09-12 13:40:46 -04:00
Alex Soto a1fba90ecb
[ModelIO] Fix MDLAnimatedQuaternion bindings (#6991)
Quaternion does need our special marshalling.
2019-09-12 10:53:42 -04:00
Rolf Bjarne Kvinge 02b9830004 Fix a few merge breakages. 2019-09-12 11:27:23 +02:00
Rolf Bjarne Kvinge e59adc2cec Fix unresolved merge conflict. 2019-09-12 08:41:16 +02:00
Rolf Bjarne Kvinge f6e0531197 Merge xcode11 into d16-3. 2019-09-12 08:29:02 +02:00
Manuel de la Pena 5511bb7ec6 [CoreHaptics] Expose protocol method that was ignored due to inheritance. (#6986)
* [CoreHaptics] Expose protocol method that was ignored due to inheritance.

After PR https://github.com/xamarin/xamarin-macios/pull/6961 we can now
do the right thing.

* Fix inheritance.
2019-09-11 20:44:36 -04:00
Manuel de la Pena 2a6d62dca3 [AVFoundation] Add support up to Xcode 11 GM. (#6984) 2019-09-11 18:49:02 -04:00
Manuel de la Pena 036f23331c
[MetricKit] Add new framework up to Xcode11 GM. (#6969) 2019-09-11 15:46:38 -04:00
Waleed Chaudhry d4a775d8a3
[Network] Add currentPath property to NWPathMonitor. Fixes #5603. (#6931)
* Add currentPath property to NWPathMonitor. Fixes #5603.
2019-09-11 13:00:55 -04:00
Waleed Chaudhry 240e2716ae
[Foundation] Fix validate for insert for NSMutableArray<T>. Fixes #6876. (#6967)
* Fix validate for insert for NSMutableArray<T>. Fixes #6876.
2019-09-11 12:59:45 -04:00
Whitney Schmidt 53cf1fbf0b [MapKit] Update for new API Xcode11 b1 - b7 (#6934) 2019-09-11 09:56:10 -04:00
Vincent Dondain 483285adc6
[xharness] Bring more joy to the developer when all tests pass 🎉 (#6962)
- When everything just works, skip the "test results" header and output that all tests pass with a 🎉 (:
2019-09-11 08:15:06 -04:00
Rolf Bjarne Kvinge 3ee1329e0e
[generator] Handle inheriting the same member from multiple protocols. Fixes #6366. (#6961)
* [generator] Handle inheriting the same member from multiple protocols. Fixes #6366.

Fixes https://github.com/xamarin/xamarin-macios/issues/6366.

* Update xtro.
2019-09-11 05:12:43 -07:00
Sebastien Pouliot 40a12f46a7 [storekit] Update for Xcode 11 GM (#6978)
The `SKArcade.h` header file has not been part of the `StoreKit.h`
umbrella header since it was added (in early Xcode 11 betas).

That was reported in https://feedbackassistant.apple.com/feedback/7017660
and it's shadow https://github.com/xamarin/maccore/issues/1913

In Xcode 11 GM is was added, but only for macOS ?!? so it is only,
for now, enabled on macOS
2019-09-11 06:35:52 -04:00
Sebastien Pouliot 188c5ee493 [homekit] Update for Xcode 11 GM (#6979)
In Xcode 11 GM the HomeKit headers were updated to mark an API deprecated
on iOS, but only on tvOS headers, where the type is not available

This API is commented until we hear back from https://feedbackassistant.apple.com/feedback/7246945
shadowed in https://github.com/xamarin/maccore/issues/1959
2019-09-11 06:34:05 -04:00
Sebastien Pouliot 7dd96d1a04 [medialibrary] Update for Xcode 11 GM (#6977) 2019-09-11 01:56:47 -07:00
Sebastien Pouliot c23cf5d834 [fileprovider][macos] Update (remove some) API for Xcode 11 GM (#6974)
For some reason (likely to be added back later ?) Xcode 11 GM removed
most of new macOS 10.15 API for FileProvider.

So instead of deleting stuff this uses a lot of `[NoMac]` even if some
API are actually not part of any platform anymore, e.g. you can see the
following line in the GM headers

```
API_UNAVAILABLE(watchos, tvos) API_UNAVAILABLE(ios, macos)
```
2019-09-10 23:34:35 -07:00
Rolf Bjarne Kvinge 773a8562bd
[tests][mtouch] Don't sleep a second for timestamp rollover unless we're on a non-APFS file system. (#6958) 2019-09-10 22:54:19 -07:00
Vincent Dondain d9d6c9d800 [clockkit] Update for Xcode 11 GM (#6972) 2019-09-11 01:47:23 -04:00
Vincent Dondain e02c1a9281 [corelocation] Update for Xcode 11 GM (#6973) 2019-09-10 23:51:56 -04:00
Vincent Dondain 4bb4e09a02 Bump for Xcode 11 GM Seed (#6968) 2019-09-10 21:03:25 -04:00
Manuel de la Pena b5a85a115b
[CoreHaptics] Add support for the new framework up to beta 7. (#6943) 2019-09-10 13:03:26 -04:00
Sebastien Pouliot 62018fdab4
[tests][intro] Add test for simlauncher [weak] frameworks. Fixes #6951 (#6957)
We ship a default, pre-built, simlauncher for iOS simulator applications.
This speeds up compilation for the default (non linked) simulator builds
quite a lot (no call to `clang` is needed). However it force us to keep
track of frameworks manually - `mtouch` can track them but requires
calling clang/ld to finish things up (killing the optimization).

It's easy to forget some (new) frameworks since they can be loaded
dynamically (on demand) _most_ of the time. Sadly there are a few cases
where doing so cause (hard to diagnose) problems - so we can't depend
on them being loaded, correctly for us.

The new test case loads the `otool -L` output (make when we build
simlauncher[32|64]-sgen) and compares it with mtouch's GetFramework
logic *and* with our namespaces (which is pretty close, with a few
exceptions, to the framework names). This will make it harder to
forget [weak] frameworks when adding new bindings :)

Fixes https://github.com/xamarin/xamarin-macios/issues/6951
2019-09-10 09:02:27 -04:00
Sebastien Pouliot 6488fcb8f9
[metalkit] Update for Xcode 11 up to beta 7 (#6956) 2019-09-10 09:00:53 -04:00
Rolf Bjarne Kvinge 15f0af7a1a
[registrar] Report a warning when the registrar export an abstract INativeObject type to Objective-C. (#6659)
* [registrar] Report a warning when the registrar export an abstract INativeObject type to Objective-C.

Exporting abstract types to Objective-C can lead to problems when at runtime
we're asked to create an instance of such a type (which we can't), so warn
when this happens.

This would have caught #6655, and the problems explained in #4969 as well.

Since this may trigger for code that's currently working fine, I'm making it a
warning instead of an error (which means adding some extra code to be able to
easily report warnings from the generator code).

* Don't assume a TypeReference can be successfully resolved every time.
2019-09-10 04:35:59 -07:00
Rolf Bjarne Kvinge f5cbe60ae9
[MediaPlayer] Enable API that depend on AVFoundation types for watchOS. Fixes #6597. (#6942)
Fixes https://github.com/xamarin/xamarin-macios/issues/6597.
2019-09-09 14:04:51 -07:00
Rolf Bjarne Kvinge 366f46ba21
[ModelIO] Implement new API introduced with Xcode 11 b1-7. (#6930) 2019-09-09 13:15:07 -07:00
Sebastien Pouliot 6135f47fb6
[soundanalysis][watchos] Update to include last, missing API on watchOS now that AVFoundation is merged (#6939) 2019-09-09 14:16:04 -04:00
Rolf Bjarne Kvinge 2060faa812
[introspection] Add a few more typo whitelist entries. (#6941)
Fixes introspection on macOS 10.15.
2019-09-09 10:39:23 -07:00
Jo Shields 926372c940 Bump to mono:2019-08 (#6723)
Included changes are:

* New Cecil API in 2019-08
* Permit new symbols from networkable AOT profiler in symbols test
* Bump Mono to include fix for zlib linking, and new Cecil API
* We need to link against zlib now, if using libmono.a
* [Tests] Ignore memory hungry tests in old devices. (#6913)
* Ignore certain tests that use too many resources in old devices.
* Add missing tests that use too much memory on 32b devices.
2019-09-09 09:44:03 -04:00
Rolf Bjarne Kvinge 0008c20abf
Implement notarization. (#6928)
* Add a dummy x86_64 slice to all our native libraries that don't have one. (#6848)

Apple's notarization tool has a bug where they incorrectly flag Mach-O
binaries without an x86_64 slice, so make sure all our libraries have one.

* Jenkinsfile notarization (#6869)

* Add in notarization script for xamarin.mac/xamarin.iOS

* Flatten the list to get rid of the braces

* Add in keychain password

* Add login.keychain back in to access codesigning certificates

* Always sign pkgs, upload notarized copies

* Enable ios notarization and make notarized pkgs public

* Make notarization non-fatal

* Publish GH statuses for notarized PKGs

* Don't forget to declare URI variables for notarized pkgs

* report proper package links

* [jenkins] Improve package reporting.

* Use dummy function name which our tests won't complain about.
2019-09-09 00:34:11 -07:00
Rolf Bjarne Kvinge 0b4fc12f32 [tests] Fix several issues that show up in the mtouch and introspection tests on macOS 10.15. (#6929)
* [introspection] Fix several issues that show up on macOS 10.15.

* [tests][mtouch] Fix a few tests according to recent changes.
2019-09-06 20:57:40 -04:00
Sebastien Pouliot f79f1c794c
[tests][monotouch-tests] Fix UITabBar.TintColor on tvOS (#6933)
Only check that setting `tintColor` to `nil` gives us back some
default color - IOW we only care it's not-null, the exact color
has no value being tested.
2019-09-06 20:56:07 -04:00
Sebastien Pouliot afa31e56c9
[coreaudio] Update for Xcode 11 (up to beta 7) (#6919)
CoreAudioTypes is _new_ but it's just some stuff that moved around,
however it now shows up separately in our API diff (and was quite
large because of the removal/addition caused by moving headers)
2019-09-06 08:51:44 -04:00
Rolf Bjarne Kvinge 08809f5bf7
[d16-3] Implement notarization. (#6927)
* Add a dummy x86_64 slice to all our native libraries that don't have one. (#6848)

Apple's notarization tool has a bug where they incorrectly flag Mach-O
binaries without an x86_64 slice, so make sure all our libraries have one.

* Jenkinsfile notarization (#6869)

* Add in notarization script for xamarin.mac/xamarin.iOS

* Flatten the list to get rid of the braces

* Add in keychain password

* Add login.keychain back in to access codesigning certificates

* Always sign pkgs, upload notarized copies

* Enable ios notarization and make notarized pkgs public

* Make notarization non-fatal

* Publish GH statuses for notarized PKGs

* Don't forget to declare URI variables for notarized pkgs

* report proper package links

* [jenkins] Improve package reporting.

* Use dummy function name which our tests won't complain about.
2019-09-06 05:35:12 -07:00
Manuel de la Pena 93d874b351
[AVFoundation] Add support up to Xcode 11 beta 7. (#6852) 2019-09-05 20:24:13 -04:00
Manuel de la Pena ea1ca3dd5f
[Foundation] Expose the usage of cellular data in the NSUrlSessionHandler. (#6921)
* [foundation] Expose AllowsCellularAccess on NSUrlSessionHandler (#6059)

This property was always set to `true` but it can be useful to turn it
off (and that was not easy with the existing implementation)

* [Foundation] Ensure that we allow celullar data by default until the user says otherwise. #6762

The default value in the NSUrlSession is to allow cellular data. This
small change closes the issue, since users will not have an unexpected
result.

Later we need to provide a proper fix to allow the property to be
exposed AND used the value of the session.

Fixes: https://github.com/xamarin/xamarin-macios/issues/6762
2019-09-05 19:11:30 -04:00
Manuel de la Pena 4a08c6c7b2
[Foundation] Ensure that we allow celullar data by default until the user says otherwise. #6762 (#6916)
* [Foundation] Ensure that we allow celullar data by default until the user says otherwise. #6762

The default value in the NSUrlSession is to allow cellular data. This
small change closes the issue, since users will not have an unexpected
result.

Later we need to provide a proper fix to allow the property to be
exposed AND used the value of the session.

Fixes: https://github.com/xamarin/xamarin-macios/issues/6762
2019-09-05 16:03:10 -04:00
Manuel de la Pena 733d88e161
[CoreMidi] Update framework to the latests Xcode11 beta 7. (#6908) 2019-09-05 09:39:56 -04:00
Rolf Bjarne Kvinge 650768c059
[monotouch-test] Apple has fixed a crash in the ImageCaptioningTest, so update the test accordingly. (#6905)
* [monotouch-test] Apple has fixed a crash in the ImageCaptioningTest, so update the test accordingly.

Apple has fixed a crash we ran into with the ImageCaptioningTest, so now we
can re-enable the code that caused the crash.

* Fix test in the simulator.

* Fix test build failure for Xamarin.Mac.
2019-09-05 03:01:37 -07:00
Manuel de la Pena 342560faeb [Tests] Ignore memory hungry tests in old devices. 2019-09-05 02:34:17 +00:00
Manuel de la Pena 8a4c85863a
[Tests] Ignore memory hungry tests in old devices. (#6913) 2019-09-04 22:33:37 -04:00
Sebastien Pouliot 533cf01569
[imageio] Update for Xcode11 beta 7 (#6897) 2019-09-04 16:21:58 -04:00
Rolf Bjarne Kvinge 678a422604
[registrar] Ignore method encodings when processing copyback arguments in the dynamic registrar. Fixes #6883. (#6904)
Method encodings do not change anything for us, so skip them when processing
copyback arguments so that they don't confuse the rest of the code.

Fixes https://github.com/xamarin/xamarin-macios/issues/6883.
2019-09-04 07:02:33 -07:00
Manuel de la Pena 1d9452a502
[CoreData] Add support up to Xcode11 beta 7. (#6896) 2019-09-04 09:32:29 -04:00
Rolf Bjarne Kvinge a04708190f
[src] Fix generic Contacts API. Fixes #6561. (#6895)
Make CNFetchResult generic (which it is in Objective-C), and add a generic
version of NSEnumerator (which Objective-C also has), so that we can bind two
API in CNContactStore that uses generic versions of those types.

Fixes https://github.com/xamarin/xamarin-macios/issues/6561.
2019-09-03 22:47:51 -07:00
Rolf Bjarne Kvinge 007f1e6882
[tests] Skip font manager test in OS versions where it crashes due to bugs in the OS. (#6894)
Calls to CTFontManagerRegisterFontDescriptors with a null callback will crash
unless on iOS 13.1, so don't run this test on earlier OS versions.

Also update AssertXcodeVersion to cope with Xcode 11.1, which is unfortunately
just guesswork until an actual Xcode 11.1 is released (currently we can't
distinguish between iOS 13.0 and iOS 13.1 using the Xcode version, because
Xcode 11b7 supports them both, so for now we assume there will be an Xcode
11.1 which will support iOS 13.1).
2019-09-03 05:43:01 -07:00
monojenkins 4b046c57db [tests] Change URL for UrlSessionTest.CreateDataTaskAsync (#6891)
The current https://www.xamarin.com is being redirected to https://dotnet.microsoft.com/apps/xamarin but it takes a long time to completely load (not sure why) and that could be why we fail since we have a 30 seconds timeout - and it took more than that to (stop) load into safari.

Switching to https://www.microsoft.com/ is a lot faster and seems to fix the issue.

Reference:
https://github.com/xamarin/maccore/issues/1939
2019-09-03 05:06:01 -07:00
Sebastien Pouliot 9e193eaca3
[foundation] Add support for NSValue/CGAffineTransform and StoreValueAtAddress overload (#6887)
Support for `NSValue`/`CGAffineTransform` exists in iOS/tvOS/watchOS,
from UIKit, but not for macOS. However this will be required for the
new protocols inside CoreImage.

Also add an overload for `StoreValueAtAddress` since the original
one was deprecated but we did not provide the new alternative to
update the code.
2019-08-30 18:00:04 -04:00
Sebastien Pouliot 7c5ad429c2
[tests] Change URL for UrlSessionTest.CreateDataTaskAsync (#6890)
The current https://www.xamarin.com is being redirected to https://dotnet.microsoft.com/apps/xamarin but it takes a long time to completely load (not sure why) and that could be why we fail since we have a 30 seconds timeout - and it took more than that to (stop) load into safari.

Switching to https://www.microsoft.com/ is a lot faster and seems to fix the issue.

Reference:
https://github.com/xamarin/maccore/issues/1939
2019-08-30 17:58:07 -04:00
Sebastien Pouliot bc988580d9
[watchkit] Update for Xcode 11 up to beta 7 (#6882) 2019-08-30 14:29:24 -04:00
Alex Soto f933589401
Merge pull request #6844 from dalexsoto/alex-visionkit-xcode11
[VisionKit] Add Xcode 11 Beta 1 - 6 bindings
2019-08-30 11:19:18 -04:00
Whitney Schmidt 075fa2b477
[Xcode11] [carplay] Updates for beta 5 (#6678)
* carplay updates for b5

* Revert "delete iOS-CarPlay.todo"

This reverts commit 851a424557001c865b8dfe62c920f132cf84db06.

* actually remove iOS-CarPlay.todo

* delete .todo
2019-08-30 11:08:42 -04:00
Rolf Bjarne Kvinge 344dadb212
Bump the minimum iOS version to 7.0. Fixes #6213. (#6878)
Xcode 11 doesn't support anything below iOS 7.0 (the linker will automatically
change the deployment target to 7.0), so we need to drop support as well
(since our native bits will be targetting iOS 7.0, and we can't change that).

https://github.com/xamarin/xamarin-macios/issues/6213
2019-08-30 01:07:30 -07:00
monojenkins b27cdc7d47 [xcode11] [monotouch-test] Attempt to fix AudioQueueTest.ChannelAssignments (#6873)
Attempt to fix the usage of AudioQueue.ChannelAssignments so that it follows
Apple's (incomplete) documentation.

- Fixes https://github.com/xamarin/maccore/issues/1623.
2019-08-29 14:15:12 -04:00
Rolf Bjarne Kvinge ec09193daf
Build native code with -std=c++14. (#6864)
* Build native code with -std=c++14.

Apple's headers now require -std=c++14 to compile their headers in C++ mode.

This fixes a compile error that would occur with the PhotosUI framework when
compiling code for C++.

* [mmp] Use -std=c++14 when compiling.

* Fix command line output.

* [mmp] Add all source files at the end, so they all get the -x clang argument applied.

* Limit when using c++14 in mtouch according to language.
2019-08-29 08:49:06 -07:00
Manuel de la Pena d3c4c41aea
[CoreMedia] Add support up to Xcode beta 7. (#6858) 2019-08-29 09:12:18 -04:00
Sebastien Pouliot 1b8bb4b5c8
[security] Partial updates for Xcode 11 (up to beta 7) (#6867)
This includes some (3) older, unbound API from Xcode 10 and earlier.
It also move some (one) new API to the ignore list.
2019-08-29 08:17:06 -04:00
Sebastien Pouliot c5d75e18be
[network][watchos] Enable Network.framework for watchOS (new in 6.0) (#6874)
Note that there is no new Xcode 11 API in this PR - just existing
API (from Xcode 10) now available on watchOS 6.
2019-08-28 21:22:10 -04:00
Jonathan CONTE dab13aa9b8 [AVKit] Update for Xcode 11 up to beta 7 (#6748) 2019-08-28 10:24:02 -04:00
Rolf Bjarne Kvinge b8e9c83ce0
[mtouch] Detect when we run into the 32-bit arm size limitation, and report a better error. Fixes #6526. (#6855)
Also limit the output from the native compiler, so that we don't overload the
IDEs with output if the native compiler produces tens of thousands of errors.

Fixes https://github.com/xamarin/xamarin-macios/issues/6526.
2019-08-28 04:54:26 -07:00
Alex Soto 7d7550cb26
[VisionKit] Add Xcode 11 Beta 1 - 6 bindings 2019-08-27 17:54:48 -04:00
Rolf Bjarne Kvinge 73ce0f8882
[registrar] Fix verification of generic parameters to accept unrelated generic types. Fixes #6687. (#6850)
* [registrar] Fix verification of generic parameters to accept unrelated generic types. Fixes #6687.

When we export generic classes to Objective-C, we verify that any generic
parameters are constrained so that we know how to handle them.

Example:

    class MyObj<T> : NSObject where T: NSObject
    {
        [Export ("foo:")]
        public void Foo (T obj);
    }

in this case we verify that the parameter T is constrained to NSObject, so
that we can treat the argument like an NSObject.

The problem was when the function contained a generic type which was not
related to T:

    class MyObj<T> : NSObject where T: NSObject
    {
        [Export ("foo:")]
        public void Foo (Action<int> obj);
    }

in which case the same logic would kick in and reject the Action<int> type
since it's not related to NSObject (no generic arguments could be found, and
the default response was 'not valid').

So I've changed the default response for generic types that are unrelated to
the generic parameter we're verifying to accept such types.

Fixes https://github.com/xamarin/xamarin-macios/issues/6687.

* No need to use a UIViewController as the super class, NSObject works just fine for this test.

Fixes the test build on macOS.
2019-08-27 06:41:17 -07:00
Sebastien Pouliot fac23dc599
[xcode11] Update with Xcode 10.3 changes and fix intro on iOS 12.4 (#6851)
Xcode 10.3 was released over the summer with a very small subset
of the (already out) Xcode 11 betas API.

This PR fix some availability attributes and also ensure we can
run introspection tests successfully on an iOS 12.4 device.
2019-08-27 08:38:12 -04:00
Rolf Bjarne Kvinge f3fbbd7047
Add a dummy x86_64 slice to all our native libraries that don't have one. (#6848)
Apple's notarization tool has a bug where they incorrectly flag Mach-O
binaries without an x86_64 slice, so make sure all our libraries have one.
2019-08-26 09:51:50 -07:00
Rolf Bjarne Kvinge cce789d481
[generator] Handle subclasses of NSObject as ref/out parameters in third-party libraries. Fixes #6828. (#6829) (#6847)
For third-party libraries we need to look up the base type using the BaseType attribute.

Fixes https://github.com/xamarin/xamarin-macios/issues/6828.
2019-08-26 07:14:26 -07:00
Rolf Bjarne Kvinge 4e70034b96
[generator] Handle subclasses of NSObject as ref/out parameters in third-party libraries. Fixes #6828. (#6829)
For third-party libraries we need to look up the base type using the BaseType attribute.

Fixes https://github.com/xamarin/xamarin-macios/issues/6828.
2019-08-26 01:06:13 -07:00
Alex Soto 515f6640cc
[Vision] Update bindings to Xcode 11 Beta 1 - 6 (#6837)
Fixes #6830

* [Vision] Update bindings to Xcode 11 Beta 1 - 6

* Fix feedback

* More feedback
2019-08-23 20:08:49 -04:00
Manuel de la Pena eb262cb2f6
[Tests] Pass a parameter to avoid a NRE. (#6832) 2019-08-23 19:53:14 +02:00
Vincent Dondain 66698b49f3
[monotouch-test] Ignore FontManagerTest's RegisterFontDescriptors_WithCallback (#6833)
This test started failing on iOS 13 beta 5. It is still failing on beta 7.
This test is designed to fail at every new iOS version until it's fixed by Apple.
Let's ignore it for good, mention it in https://github.com/xamarin/xamarin-macios/issues/6212 and check it one last time at GM.
2019-08-23 10:38:49 -04:00
Manuel de la Pena 85f7b010a4
[CoreVideo] Update framework for Xcode 11 beta 6. (#6822) 2019-08-22 14:57:08 +02:00
Vincent Dondain b02605834c [monotouch-test] Fix PinAnnotationViewTest's InitWithFrame (#6823)
FYI iOS 13 changed the tint color for the red pin, it's now (255, 69, 58, 255) instead of (255, 59, 48, 255).
Let's not test iOS colors for Apple (:
A simple NotNull check should be enough.
2019-08-22 12:15:56 +02:00
Vincent Dondain 8fb102fbe9 [tests] Fix MTouch's LinkerWarnings test for Xcode 11 beta 6 (#6821)
We were getting:

```
Xamarin.MTouch.LinkerWarnings: The warning 'MT5203: Native linking warning: warning: ignoring file /Users/builder/jenkins/workspace/xamarin-macios/xamarin-macios/tests/test-libraries/.libs/ios/libtest.x86_64.a, building for iOS Simulator-i386 but attempting to link with file built for unknown-archive' was not found in the output:
    Message #1 did not match:
        actual: 'Native linking warning: warning: ignoring file /Users/builder/jenkins/workspace/xamarin-macios/xamarin-macios/tests/test-libraries/.libs/ios/libtest.x86_64.a, building for iOS Simulator-i386 but attempting to link with file built for iOS Simulator-x86_64'
        expected: 'Native linking warning: warning: ignoring file /Users/builder/jenkins/workspace/xamarin-macios/xamarin-macios/tests/test-libraries/.libs/ios/libtest.x86_64.a, building for iOS Simulator-i386 but attempting to link with file built for unknown-archive'
```
2019-08-22 12:13:43 +02:00
Rolf Bjarne Kvinge e4a926e8f2
[tests] Adjust expected result of looking for 'mono_native_initialize'. Fixes xamarin/maccore#1809. (#6806)
Fixes https://github.com/xamarin/maccore/issues/1809.
2019-08-21 13:30:33 +02:00
Vincent Dondain 37e7023a0a
[tests] Add check for bluetooth permission (#6796) 2019-08-21 06:40:56 -04:00
Manuel de la Pena 55a95cff87
[Tests] Allow to ignore tests that fail on the interpreter. (#6802)
There are some failures that only happen in the interpreter. We add a
TestRuntime method that allow to check if the interpreter is used.
2019-08-21 10:54:19 +02:00
Manuel de la Pena 9b6705bbe3
Bump mono to match android to cc0632 (#6811) 2019-08-21 10:52:40 +02:00
Manuel de la Pena 0bd656d33a
Bump mono to match android to cc0632 (#6812) 2019-08-21 10:51:41 +02:00
Vincent Dondain dd394471a5 [fileprovider] Update for Xcode 11 beta 6 (#6801) 2019-08-20 22:41:08 -04:00
Alex Soto a0b73b6663
[UIKit] Update bindings to Xcode 11 Beta 6 (#6807)
* [UIKit] Update bindings to Xcode 11 Beta 6

* Update src/uikit.cs

* Apply suggestions from code review

* Update src/uikit.cs

* Update src/uikit.cs

* Update src/uikit.cs
2019-08-20 21:55:08 -04:00
Sebastien Pouliot 09cc2dc83a
[linker] Fix NRE when System.Linq.Queryable is used. Fix #6346 (#6805)
reference: https://github.com/xamarin/xamarin-macios/issues/6346
2019-08-20 20:17:57 -04:00
Alex Soto 778348e26f [master] Bump mono to head of 2019-06 (#6795)
Mono issues have been reported for each of the new ignores:

https://github.com/mono/mono#15983
https://github.com/mono/mono#14761
https://github.com/mono/mono#16360
2019-08-20 15:37:13 -04:00
Alex Soto 189981e2dc [d16-3] Bump mono to head of 2019-06 (#6794)
Mono issues have been reported for each of the new ignores:

https://github.com/mono/mono/issues/15983
https://github.com/mono/mono/issues/14761
https://github.com/mono/mono/issues/16360
2019-08-20 15:35:48 -04:00
Sebastien Pouliot 4b61850243
[xcode11] Bump for beta 6 (#6798)
AVFoundation crash added to https://github.com/xamarin/xamarin-macios/issues/6212
2019-08-20 10:06:18 -04:00
Sebastien Pouliot d5f5eebb75
[quicklookthumbnailing] Update for Xcode11 beta 1 to 5 (#6789)
New framework - but it includes some of iOS API that were previously in
QuickLook.framework. Types were moved but remains in the old namespace
until `XAMCORE_4_0` is defined.
2019-08-19 09:01:52 -04:00
Sebastien Pouliot 310d694a9c
[networkextension] Update for Xcode 11 beta 1 to 5 (#6788) 2019-08-16 14:18:40 -04:00
Alex Soto a509166b35
[CoreML] Update bindings to Xcode 11 Beta 1 - 5 (#6784)
* [CoreML] Update bindings to Xcode 11 Beta 1 - 5

* Apply feedback
2019-08-15 21:06:00 -04:00
Sebastien Pouliot 6b1b7971f8
[iad] Update for Xcode beta 1 to 5 (#6780) 2019-08-15 14:04:47 -04:00
Sebastien Pouliot 30c6b01daf
[corewlan][macos] Update for Xcode 11 beta 1 (#6779)
No other change in beta 2 to beta 5
2019-08-15 11:51:14 -04:00
Sebastien Pouliot 9b45b3c1ba
[tests][xtro] Fix reported failure for SFSafariServicesVersion on macOS (#6776)
The `enum` is decorated with `[Obsolete]` since it's unused by any API.
However recent logic skips obsolete members it so it looks missing...
even if it won't be removed until `XAMCORE_4_0` is enabled.

Not quite clear why the original PR [1] did not report it... but all
subsequent ones are
https://github.com/xamarin/xamarin-macios/pull/6767
2019-08-15 08:22:51 -04:00
Sebastien Pouliot b9201c7afc
[executionpolicy] Update for Xcode 11 beta 1 (#6774)
New framework for macOS-only
No changes in beta 2 to 5
2019-08-14 22:07:55 -04:00
Sebastien Pouliot cafbec1a0f
[gamekit] Update for Xcode 11 beta 1 to 5 (#6773)
`gamePlayerID` and `teamPlayerID` are decorated as `[iOS (12,4)]...` since
the headers mention so in both Xcode 11 betas and the recent 10.3 (stable)
https://github.com/xamarin/xamarin-macios/wiki/GameKit-iOS-xcode103-final

The `enum GKError` has been unified (at some point) so it was simplified.
2019-08-14 22:07:15 -04:00
Alex Soto 98f7b7e40c
[master] Bump mono to head of 2019-06 (4365dce) (#6755)
* Bump mono to head of 2019-06

* Fix mtouch SdkTest

* Fix test for reals.

* Update SdkTest.cs
2019-08-14 17:12:59 -04:00
Alex Soto 161d2bc194
[d16-3] Bump mono to head of 2019-06 (4365dce) (#6756)
* Bump mono to head of 2019-06

* Fix mtouch SdkTest

* Fix test for reals.

* Update SdkTest.cs
2019-08-14 16:30:01 -04:00
Sebastien Pouliot 3893981ac0
[eventkit] Obsolete `EKReminder` default constructor (#6768)
`[EKReminder init]` is not usable and now return `nil`.

Before Xcode 11 it was never really usable but an instance was returned.

references:
* https://feedbackassistant.apple.com/feedback/6453725
* https://github.com/xamarin/maccore/issues/1832
2019-08-14 13:10:20 -04:00
Rolf Bjarne Kvinge d4192a59f0
[xcode11] Remove the WatchKit framework from iOS while keeping API stability. Fixes #6492. (#6503)
* [WatchKit] Remove this framework for iOS while keeping backwards compatibility. Fixes #6492.

* Copy all generated sources and modify them to throw PlatformNotSupported exceptions.
* Adjust some existing source code to also throw PlatformNotSupported exceptions.
* Sprinkle Obsolete attributes generously.
* Stop generating code for the WatchKit framework for iOS.

Fixes https://github.com/xamarin/xamarin-macios/issues/6492.

* [introspection] Adjust test.

* [mtouch] Don't link with WatchKit, and show a warning if we detect code that want to use WatchKit.

* [xtro] Remove WatchKit for iOS.

* [introspection] Don't check obsoleted NSString fields for null.

There's probably a reason the field was obsoleted.

* [introspection] Add exception for the WatchKit framework.

* [xtro] Ignore obsolete enums.

There's probably a reason they're obsoleted.

In particular it solves a confusion between WKWebKit.WKErrorCode and
WatchKit.WKErrorCode: for iOS, the latter is obsoleted, and this way we always
process the former instead.

* [mtouch] Adjust wording for MT4178 to be more accurate.

* [WatchKit] Make more API obsolete/hidden.

Two classes managed to slip past the first time.

* [tests] Adjust test after WatchKit removal.
2019-08-14 17:46:55 +02:00
Sebastien Pouliot 6daac2c687
[safariservices] Update for Xcode 11 beta 1 to 5 (#6767)
Also introduce `PlatformName.MacCatalyst` while keeping the old
`UIKitForMac`, with the same value, until we can clean up existing
bindings globally (and without too much conflicts).
2019-08-14 10:41:44 -04:00
Jonathan CONTE 535dad01cb [xcode11] [EventKit] bindings for all platforms (#6751) 2019-08-14 08:18:43 -04:00
Sebastien Pouliot 5464ead926
[storekit] Update Xcode 11 beta 1 to 5 (#6760) 2019-08-14 08:13:46 -04:00
Sebastien Pouliot ca81952852
[fileprovider[ui]] Update for Xcode 11 beta 1 to 5 (#6759)
Moved some code from uikit.cs since the type moved a while ago. That
ease code sharing with macOS (XM) but it stays into the UIKit namespace
(for XI) until `XAMCORE_4_0` to ensure binary compatibility.
2019-08-14 08:12:07 -04:00
Alex Soto 7bf95d97b0
[generator] Add support for [Native] enums inside [StrongDictionaries] (#6763) 2019-08-13 18:36:36 -04:00
Sebastien Pouliot 4d6a9f505e
[foundation] Update for Xcode 11 beta 5 (#6754) 2019-08-12 18:14:03 -04:00
monojenkins 87b35e0e68 [d16-3] [linker] Always preserve INativeObject (interface) on types. Fixes #6711 (#6742)
* [linker] Always preserve INativeObject (interface) on types. Fixes #6711

Recent versions of the linker can remove _unused_ interfaces from types.

This optimization is only done when the type is not instantiated. However
our tools and runtime requires knowing if a type represent a native
object, using `INativeObject` even if the code that creates such instance
is not marked.

In details... the issue happens because the static registrar must be able
to detect that `MTAudioProcessingTap` is a native object, so it checks
if it implements `INativeObject`. Since it does not it fails with a 4104
error.

Why does it not ? because it's handled specially by the generator and
uses `FromHandle` to lookup (not create) instance. So the linker is able
to remove the creation code (totally fine) and then remove the
`INativeObject` (not fine since we need this).

The solution is to tell (a small like to) the linker that any marked type
that implements `INativeObject` is instantiated. That way we ensure that
the tooling (run against the linked app) and the runtime can determine
those types as native.

reference: https://github.com/xamarin/xamarin-macios/issues/6711

* Move code (to a better location) to avoid collection/exception changes. Also add an unit test

* Exclude new test case from watchOS since it does not ship with MediaToolbox
2019-08-12 13:53:14 -04:00
Sebastien Pouliot de97837da9
[quartzcomposer] Update for Xcode 11 beta 1 (#6752)
No other change in b2 to b5
2019-08-12 11:54:29 -04:00
Vincent Dondain 00f0ab4ffe
[tests] Ignore ResourcesTest.Embedded which randomly fails on tvOS (#6729)
See https://github.com/xamarin/maccore/issues/1909
2019-08-12 11:29:06 -04:00
Sebastien Pouliot 61c8af15d1
[naturallanguage] Update for Xcode 11 beta 1 (#6741)
No change in beta 2 to 5

* Run EmbeddingTest.Vector test on iOS and macOS only

reference: rdar 44948030

> Engineering has the following feedback for you: The tagging
> depends on the NLP assets being present on the device. The
> assets get downloaded through OTA. OTA download for NLP assets
> does not exist on watchOS and tvOS currently…only on iOS and
> macOS. It is conceivable that the assets got downloaded when you
> were on WiFi at a later point. So, the tagging should work.
2019-08-12 11:07:15 -04:00
Jonathan CONTE 59d785f745 [xtro] typo in readme (#6749)
* braking -> breaking
2019-08-11 21:11:38 -04:00
Sebastien Pouliot 38e1d05d68
[externalaccessory] Update for Xcode 11 beta 5 (#6746) 2019-08-11 21:10:26 -04:00
Vincent Dondain cce8ad4826
[xcode11] Disable bcl tests (#6744)
See https://github.com/xamarin/maccore/issues/1808.
On `xcode11` we do not support mono binaries.
VSTS expects to be able to download mono when we need to build it from source for `xcode11`.
Reverting the tests to the old way would be too complicated to simply disable the bcl tests.
Those tests are still executed for simulator and will be re-enabled when we merge `xcode11`.
This was added as a reminder here: https://github.com/xamarin/xamarin-macios/issues/6212
2019-08-09 15:27:57 -04:00
Sebastien Pouliot 76d4fa7812
[pdfkit] Update for Xcode 11 beta 1 (#6743)
no change between b2 and b5
2019-08-09 12:00:20 -04:00
Jonathan CONTE 5b9fba99c8 [homekit] Update for xcode11 beta1 to beta5 - all platforms (#6710) 2019-08-09 11:17:10 -04:00
Sebastien Pouliot ab84f246c6
[linker] Always preserve INativeObject (interface) on types. Fixes #6711 (#6737)
Recent versions of the linker can remove _unused_ interfaces from types.

This optimization is only done when the type is not instantiated. However
our tools and runtime requires knowing if a type represent a native
object, using `INativeObject` even if the code that creates such instance
is not marked.

In details... the issue happens because the static registrar must be able
to detect that `MTAudioProcessingTap` is a native object, so it checks
if it implements `INativeObject`. Since it does not it fails with a 4104
error.

Why does it not ? because it's handled specially by the generator and
uses `FromHandle` to lookup (not create) instance. So the linker is able
to remove the creation code (totally fine) and then remove the
`INativeObject` (not fine since we need this).

The solution is to tell (a small like to) the linker that any marked type
that implements `INativeObject` is instantiated. That way we ensure that
the tooling (run against the linked app) and the runtime can determine
those types as native.

reference: https://github.com/xamarin/xamarin-macios/issues/6711
2019-08-08 17:19:06 -04:00
Sebastien Pouliot 193ae8bfdf
[mediaaccessibility] Update for Xcode 11 beta 5 (#6733) 2019-08-07 19:40:32 -04:00
monojenkins eb77564659 [xcode11] Fix NLLanguageRecognizer crash (#6732)
The dispose of `nslang` was happening outside of the check if `nslang` is null. This was causing a crash when trying to recognise a string that contains just one number.
2019-08-07 13:08:27 -04:00
Sebastien Pouliot a45fd083b5
[coretext] Update for Xcode 11 beta 5 (#6731)
Beta 4 added some new API and constants
Beta 5 removed `CTFontManagerCopyRegisteredFontDescriptors` from all OS but iOS
2019-08-07 13:07:42 -04:00
Juxhin (Eugene) Bakalli 42311ca7ec Fix NLLanguageRecognizer crash (#6689)
The dispose of `nslang` was happening outside of the check if `nslang` is null. This was causing a crash when trying to recognise a string that contains just one number.

Fixes: https://github.com/xamarin/xamarin-macios/issues/6688
2019-08-07 16:44:41 +02:00
Alex Soto d883febff0
[UIKit] Update bindings to Xcode 11 Beta 5 (#6717) 2019-08-06 07:53:08 -04:00