* [src] Remove the Xamarin.iOS.dll reference assembly for Mac Catalyst.
Xamarin.iOS.dll won't be compatible with Mac Catalyst in .NET 6 (because there
won't be any backwards compatibility), so we don't need the assembly that has
type forwarders to Xamarin.MacCatalyst.dll.
* Bump MonoTouch.Dialog
New commits in migueldeicaza/MonoTouch.Dialog:
* migueldeicaza/MonoTouch.Dialog@4d0e0a9 Remove usages of UIWebView when compiling for Mac Catalyst.
Diff: 5a05c6912e..4d0e0a9a5f
* [tests] There's no NSFileProviderPage in Mac Catalyst.
* [tests] Fix CBUUID link sdk test to work correctly on Mac Catalyst.
* [dotnet] Show an error if an app developer tries to publish a simulator architecture.
* We can't publish a simulator build, so show an error in that case.
* We can't change the default runtime identifier when publishing (to a
publishable runtime identifier), because by the time we know we're
publishing, it's too late to change the runtime identifier. This means that
it'll be required for app developers to specify a runtime identifier when
publishing to a mobile platform, since the current default runtime
identifier is for a simulator build.
Partial fix for https://github.com/xamarin/xamarin-macios/issues/12997.
* Fix typo and improve naming.
* [dotnet] Don't use '_UsingDefaultRuntimeIdentifier', it's already used elsewhere in .NET
* [src] Add missing availability attributes in a few places.
* [src] Don't add availability attributes to error enums.
* [introspection] Change version check for Mac Catalyst to be 'greater than'.
We have a tests that verifies that the availability attributes for an API
doesn't state that the API was deprecated before or when it was introduced.
This sounds reasonable, except that Apple has introduced and deprecated entire
frameworks in the same Mac Catalyst version (probably because Apple decided to
port an already deprecated framework to Mac Catalyst).
Our test for this scenario was a bit too eager; this change will make it so
that (for Mac Catalyst only), we accept APIs that are introduced and
deprecated in the same Mac Catalyst version (not not APIs that were deprecated
before they were introduced).
It's not needed, and may in some cases do the wrong thing: for instance, this
logic will automatically reference any *.dll files in the project directory,
which breaks the build if those *.dll files aren't actually assemblies.
> error BI1106: bgen: The parameter shadable in the method SceneKit.SCNBufferBindingHandler.Invoke exposes a model (SceneKit.SCNShadable). Please expose the corresponding protocol type instead (SceneKit.ISCNShadable)
* [AppKit] Change NSTextViewDelegate.DraggedCell to use the recommended signature for .NET
The 'textView:draggedCell:inRect:event:' selector has been deprecated since
macOS 10.6, so just replace this with the recommended alternative.
* [generator] Make sure code compiles for parameter names that match C# keywords.
* There should be no public (IntPtr) constructor, at most there should be a
protected one for NSObject subclasses. There should be no such constructors
for classes that just implement INativeObject.
* There should be no public (IntPtr, bool) constructor at all, they should all
be internal.
* If changing the visibility or removing the ctor is a breaking change, then
make it happen for .NET only.
* We don't want availability attributes for enums that represent errors,
because the code would end up unnecessarily complex to avoid warnings.
* We even have other tests to verify as much (cecil tests).
* Remove the watchOS project, we don't support watchOS for .NET at the moment.
* Rename shared.targets to shared.csproj to match all the other test projects.
* Move a bit more code into the shared project file (shared.csproj).
* Add a Makefile for each platform.
The former has been removed from the headers, so it's thoroughly deprecated,
and the latter is no longer needed anymore since it was only used by the
former.
Delete the 'osx.pending' file, it's not used. It looks like it should have
been removed in fffaba2414 (where the *.pending
files for the other platforms were removed).
We decided some time ago that Mac Catalyst will only be supported in .NET,
so building it for legacy Xamarin is wasteful.
This should speed up the src/ build somewhat.
* There's no need to initialize the contextHandle field to IntPtr.Zero, since
that's the default value anyway. This avoid adding useless code to all the
constructors.
* Fix removing the contextHandle entry from the messagePortContexts
dictionary, by not trying to remove it from the wrong dictionary.
Otherwise we'll create a CGImage with a zero Handle, which is usually not the
right thing to do. Still, keep the old behavior for legacy Xamarin for the
sake of backwards compat.
* Add support for running xtro for .NET assemblies.
* This also means adding a separate set of .todo and .ignore files for the
.NET assemblies.
* Run both mode in xharness.
Fixes https://github.com/xamarin/xamarin-macios/issues/13236.
* Use proper dependency tracking, so that we'll only rebuild what needs to be rebuilt
when rebuilding. This required using a few stamp files. It also improves parallel
builds.
* Remove *.raw files before running xtro-sharpie, and only for the current platform.
This makes sure rebuilds of just some of the platforms work correctly (because
the *.raw files for other platforms are still around when needed).
* Build the u2todo project file instead of manually calling csc.
* LAContext.MaxBiometryFailures is available in macOS, just deprecated, so mark
it as such.
* Remove deprecated code from .NET.
* Update xtro definitions.
The kSecUseNoAuthenticationUI field is available on macOS, just deprecated,
and I don't see how having the field bound would be a breaking change like the
comment says (git history seems to indicate it's referring to the
Classic/Unified switchover - i.e. quite outdated), so add the field to macOS.
Fixes:
MonoTouchFixtures.UIKit.FontTest
CoreText note: Client requested name ".SFNS-Regular", it will get Times-Roman rather than the intended font. All system UI font access should be through proper APIs such as CTFontCreateUIFontForLanguage() or +[NSFont systemFontOfSize:].
CoreText note: Set a breakpoint on CTFontLogSystemFontNameRequest to debug.
[FAIL] NullFonts : WithSize
Expected: not null
But was: null
at MonoTouchFixtures.UIKit.FontTest.NullFonts() in /Users/builder/azdo/_work/1/s/xamarin-macios/tests/monotouch-test/UIKit/FontTest.cs:line 165
From what I can see for current Apple API these XAMCORE_4_0 exclusions are
incorrect.
Fixes (when building with XAMCORE_4_0):
> storekit.cs(834,79): error CS0246: The type or namespace name 'SKProductStorePromotionVisibility' could not be found (are you missing a using directive or an assembly reference?)
> storekit.cs(838,16): error CS0246: The type or namespace name 'SKProductStorePromotionVisibility' could not be found (are you missing a using directive or an assembly reference?)