This fixes a startup crash in the simulator with Xcode 12:
Library not loaded: /usr/lib/libnfshared.dylib
Referenced from: /Applications/Xcode_12.0.0-GMb.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/Frameworks/CoreNFC.framework/CoreNFC
Reason: no suitable image found. Did find:
/usr/lib/libnfshared.dylib: mach-o, but not built for platform iOS-sim
Ref: https://stackoverflow.com/q/63915728/183422
This way we know at runtime what's available and what's not, which means that
the runtime won't try to register assemblies when the dynamic registrar has
been linked away.
Fixes this startup crash in monotouch-test when all optimizations have been enabled:
Unhandled Exception:
ObjCRuntime.RuntimeException: The runtime function register_assembly has been linked away.
* [src] Build the .NET version of our product assemblies using a .NET 5 BCL.
We're not shipping the .NET product assemblies in any stable release, so we
can use a preview version of the .NET 5 BCL.
Also:
* Add all the nuget feeds we need to the top-level NuGet.config, even for .NET
5/6, there shouldn't be any conflicts with stable feeds since we use exact
version numbers.
* Generate a top-level global5.json which is copied to every directory that
needs a .NET 5 global.json (overriding the .NET 3.1 global.json in the root
directory).
* Use the expected dotnet binary during our local build.
* [tests] Fix the bgen tests to use .NET 5.
* [xharness] Set the current directory to the project directory when running .NET tests.
This way we end up using the dotnet version that's configured in global.json for the tests.
This test variation ends up being too big (1.5 GB), so it doesn't install
properly and the app crashes at startup.
So just skip it.
Fixes https://github.com/xamarin/maccore/issues/2282.
1. Assert that we got permission to CoreBluetooth before doing anything. This
makes it so that if permission has been denied, or if we're running on the
bots and permission has not been granted, these tests won't run. It does
not affect local test runs where permissions haven't been granted nor
denied.
2. Rework the code to wait for CoreBluetooth to power on in the SetUp method.
Mark the test as inconclusive if CoreBluetooth never powers on (this
happens if nobody answers the bluetooth permission dialog, quite typical
when running tests locally).
Fixes these tests when running locally on a tvOS device:
MonoTouchFixtures.CoreBluetooth.CBCentralManagerTest
[FAIL] Constructors
[FAIL] ScanForPeripherals
* Use the existing information we have in the Frameworks class to determine
whether a particular framework works in the simulator or not.
* Show a warning (MX5223) when we run into such a framework, but only if
the linker is enabled (otherwise we'll often get warnings for API the developer
doesn't use).
New APIs:
CGPoint:
public void Deconstruct(
out nfloat x,
out nfloat y)
CGSize:
public void Deconstruct(
out nfloat width,
out nfloat height)
CGRect:
public void Deconstruct(
out nfloat x,
out nfloat y,
out nfloat width,
out nfloat height)
public void Deconstruct(
out CGPoint location,
out CGSize size)
Usage:
var (location, size) = View.Frame;
var (x, y, width, height) = View.Frame;
var (x, y) = View.Frame.Location;
var (width, height) = View.Frame.Size;
* [xcode12] Initial bump for Xcode 12 GM
* [tests][intro] We cannot load CoreNFC framework on iOS simulator anymore
* [tests][xtro] New Metal API are not abstract (before XAMCORE_4_0)
* [tests][intro] Fix crash when CSLocalizedString 'description' selector is called
* [tests][xtro] Add support for excluding platforms
Based on `Make.config` variables `INCLUDE_[IOS|TVOS|WATCH|MAC]`
This required moving some entries (common -> macOS) to keep the
sanitizer happy.
* [xtro] Ignore Intents watchOS differences since they will likely match iOS in the future
* Update to use Xcode 12 GMb instead of the old GM
* [tests][xtro] Remove OSLog for iOS and tvOS (changed in GM)
* [tests][msbuild] Disable FrameworkListTest based on the active/disabled platforms
* [tests][msbuild] Track new directory/file inside CoreML projects
* [mlaunch] Bump maccore and disable mlaunch if mac build is disabled
New commits in xamarin/maccore:
* xamarin/maccore@ba332d4d07 Disable mlaunch if Mac is not built (#2314)
Diff: 87a96d21c9..ba332d4d07
Co-authored-by: Sebastien Pouliot <sebastien.pouliot@microsoft.com>
Fix version logic with macOS 11.0 so that we don't compute all versions by
doing a range computation on the minor version only.
This makes it so that we run on older macOS bots again.
There are also a few other fixes for macOS 11.0.