Skip to content

[GameController] Implement up to Xcode 16.3 RC. #22504

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 135 commits into from

Conversation

rolfbjarne
Copy link
Member

This includes some older APIs as well.

Fixes #15725.

rolfbjarne and others added 5 commits March 28, 2025 14:36
…sts. (#22221)

This is an attempt to fix a random connection issue:

>  Integrity check failed between source and target content. Source path: D:\AzDO\_work\16\s\xamarin-macios\tests\dotnet\Windows\bin\dotnet\packs\Microsoft.iOS.Windows.Sdk.net9.0_18.2\18.2.9451-ci.dev-rolf-xml-docs-1\tools\msbuild\iOS\Broker.zip, Target path: /Users/builder/Library/Caches/Xamarin/XMA/Agents/Broker/3.0.0.13

Ref: https://teams.microsoft.com/l/message/19:5b7decdb4a714a13bad3ff714961f6fe@thread.skype/1740052447890?tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47&groupId=0056f60b-301f-43ac-bbcf-f356d3c42c92&parentMessageId=1740052447890&teamName=VS%20Client%20Experiences&channelName=MaciOS%20%F0%9F%8D%8E&createdTime=1740052447890
* Add/adjust availability attributes.
* Remove version checks that will always return the same value.

This is a step towards fixing #21185.
This pull request updates the following dependencies

## From https://github.com/dotnet/xharness

- **Subscription**: 02e03784-16b3-4ced-b02a-3715797fc7da
- **Build**: [20250326.1](https://dev.azure.com/dnceng/internal/_build/results?buildId=2672309)
- **Date Produced**: March 26, 2025 12:19:14 PM UTC
- **Commit**: [ef94f7f3fbc9425fa33badca9e18221ab137fbe3](dotnet/xharness@ef94f7f)
- **Branch**: refs/heads/main

- **Updates**:
  - **Microsoft.DotNet.XHarness.iOS.Shared**: [from 10.0.0-prerelease.25175.1 to 10.0.0-prerelease.25176.1][1]

[1]: dotnet/xharness@6a680e9...ef94f7f
* Remove a few unused parameters.
* Try to define parameters in a single location unless otherwise needed.
…#22499)

Example comment where we got it wrong: #22498 (comment)

The comment is not for a PR, but for a CI build:
c90957b,
but since the PR contains the actual commit, it got reported there.
Copy link
Contributor

⚠️ Your code has been reformatted. ⚠️

If this is not desired, add the actions-disable-autoformat label, and revert the reformatting commit.

If files unrelated to your change were modified, try reverting the reformatting commit + merging with the target branch (and push those changes).

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

rolfbjarne and others added 3 commits March 31, 2025 08:35
* Add/adjust availability attributes.
* Ignore availability warnings in a couple of places.
* Remove !.NET availability attributes / code.

This is a step towards fixing #21185.
…paces. Fixes #22481. (#22500)

Original PR #22482 contributed by @NatElkins.

Fixes #22481.

Co-authored-by: Nat Elkins <nathaniel.elkins@gmail.com>
@vs-mobiletools-engineering-service2

This comment has been minimized.

rolfbjarne and others added 27 commits April 23, 2025 15:43
This has to be done in parts, because the Roslyn importer runs out of memory otherwise.

Which also means I have no idea how many parts there will end up being.

Partial fix for #17399.
…tallation. (#22654)

Hopefully fixes this random build error:

    gmake[1]: Entering directory '[...]/macios/dotnet'
    GEN      Microsoft.iOS.Sdk.Versions.props
    GEN      Microsoft.tvOS.Sdk.Versions.props
    GEN      Microsoft.macOS.Sdk.Versions.props
    GEN      Microsoft.MacCatalyst.Sdk.Versions.props
    GEN      Microsoft.iOS.Sdk.DefaultItems.props
    GEN      Microsoft.iOS.Sdk.ImplicitNamespaceImports.props
    GEN      AutoImport.props
    GEN      Microsoft.tvOS.Sdk.ImplicitNamespaceImports.props
    GEN      Microsoft.tvOS.Sdk.DefaultItems.props
    GEN      AutoImport.props
    GEN      Microsoft.MacCatalyst.Sdk.DefaultItems.props
    GEN      Microsoft.MacCatalyst.Sdk.ImplicitNamespaceImports.props
    GEN      AutoImport.props
    GEN      AutoImport.props
    GEN      Microsoft.macOS.Sdk.ImplicitNamespaceImports.props
    GEN      Microsoft.macOS.Sdk.DefaultItems.props
    Removing existing workload shipped with .NET 9.0.106-servicing.25217.33: [...]/macios/builds/downloads/dotnet-sdk-9.0.106-servicing.25217.33/sdk-manifests/9.0.100/microsoft.net.sdk.ios
    Removing existing workload shipped with .NET 9.0.106-servicing.25217.33: [...]/macios/builds/downloads/dotnet-sdk-9.0.106-servicing.25217.33/sdk-manifests/9.0.100/microsoft.net.sdk.tvos
    Removing existing workload shipped with .NET 9.0.106-servicing.25217.33: [...]/macios/builds/downloads/dotnet-sdk-9.0.106-servicing.25217.33/sdk-manifests/9.0.100/microsoft.net.sdk.maccatalyst
    [...]/macios/builds/downloads/dotnet-sdk-9.0.106-servicing.25217.33/sdk/9.0.106/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.props(14,38): error MSB4242:
      SDK Resolver Failure: "The SDK resolver "Microsoft.DotNet.MSBuildWorkloadSdkResolver" failed while attempting to resolve the SDK "Microsoft.NET.SDK.WorkloadAutoImportPropsLocator". Exception: "System.IO
      .DirectoryNotFoundException: Could not find a part of the path '[...]/macios/builds/downloads/dotnet-sdk-9.0.106-servicing.25217.33/sdk-manifests/9.0.100/microsoft.net.sdk.
      ios'.
         at System.IO.Enumeration.FileSystemEnumerator`1.CreateDirectoryHandle(String path, Boolean ignoreNotFound)
         at System.IO.Enumeration.FileSystemEnumerator`1.Init()
         at System.IO.Enumeration.FileSystemEnumerable`1..ctor(String directory, FindTransform transform, EnumerationOptions options, Boolean isNormalized)
         at System.IO.Enumeration.FileSystemEnu[...]/macios/builds/downloads/dotnet-sdk-9.0.106-servicing.25217.33/sdk/9.0.106/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.props(14,38): error MSB4242:
      SDK Resolver Failure: "The SDK resolver "Microsoft.DotNet.MSBuildWorkloadSdkResolver" failed while attempting to resolve the SDK "Microsoft.NET.SDK.WorkloadAutoImportPropsLocator". Exception: "System.IO
      .DirectoryNotFoundException: Could not find a part of the path '[...]/macios/builds/downloads/dotnet-sdk-9.0.106-servicing.25217.33/sdk-manifests/9.0.100/microsoft.net.sdk.
      ios'.
         at System.IO.Enumeration.FileSystemEnumerator`1.CreateDirectoryHandle(String path, Boolean ignoreNotFound)
         at System.IO.Enumeration.FileSystemEnumerator`1.Init()
         at System.IO.Enumeration.FileSystemEnumerable`1..ctor(String directory, FindTransform transform, EnumerationOptions options, Boolean isNormalized)
         at System.IO.Enumeration.FileSystemEnumerableFactory.UserDirectories(String directory, String expression, EnumerationOptions options)
         at System.IO.Directory.InternalEnumeratePaths(String path, String searchPattern, SearchTarget searchTarget, EnumerationOptions options)
         at System.IO.Directory.GetDirectories(String path, String searchPattern, EnumerationOptions enumerationOptions)
         at Microsoft.NET.Sdk.WorkloadManifestReader.SdkDirectoryWorkloadManifestProvider.ResolveManifestDirectory(String manifestDirectory)
         at Microsoft.NET.Sdk.WorkloadManifestReader.SdkDirectoryWorkloadManifestProvider.<>c__DisplayClass22_0.<GetManifests>g__ProbeDirectory|1(String manifestDirectory, String featureBand)
         at Microsoft.NET.Sdk.WorkloadManifestReader.SdkDirectoryWorkloadManifestProvider.GetManifests()
         at Microsoft.NET.Sdk.WorkloadManifestReader.WorkloadResolver.LoadManifestsFromProvider(IWorkloadManifestProvider manifestProvider)
         at Microsoft.NET.Sdk.WorkloadManifestReader.WorkloadResolver.InitializeManifests()
         at Micr[...]/macios/builds/downloads/dotnet-sdk-9.0.106-servicing.25217.33/sdk/9.0.106/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.props(14,38): error MSB4242:
      SDK Resolver Failure: "The SDK resolver "Microsoft.DotNet.MSBuildWorkloadSdkResolver" failed while attempting to resolve the SDK "Microsoft.NET.SDK.WorkloadAutoImportPropsLocator". Exception: "System.IO
      .DirectoryNotFoundException: Could not find a part of the path '[...]/macios/builds/downloads/dotnet-sdk-9.0.106-servicing.25217.33/sdk-manifests/9.0.100/microsoft.net.sdk.
      ios'.
         at System.IO.Enumeration.FileSystemEnumerator`1.CreateDirectoryHandle(String path, Boolean ignoreNotFound)
         at System.IO.Enumeration.FileSystemEnumerator`1.Init()
         at System.IO.Enumeration.FileSystemEnumerable`1..ctor(String directory, FindTransform transform, EnumerationOptions options, Boolean isNormalized)
         at System.IO.Enumeration.FileSystemEnumerableFactory.UserDirectories(String directory, String expression, EnumerationOptions options)
         at System.IO.Directory.InternalEnumeratePaths(String path, String searchPattern, SearchTarget searchTarget, EnumerationOptions options)
         at System.IO.merableFactory.UserDirectories(String directory, String expression, EnumerationOptions options)
         at System.IO.Directory.InternalEnumeratePaths(String path, String searchPattern, SearchTarget searchTarget, EnumerationOptions options)
         at System.IO.Directory.GetDirectories(String path, String searchPattern, EnumerationOptions enumerationOptions)
         at Microsoft.NET.Sdk.WorkloadManifestReader.SdkDirectoryWorkloadManifestProvider.ResolveManifestDirectory(String manifestDirectory)
         at Microsoft.NET.Sdk.WorkloadManifestReader.SdkDirectoryWorkloadManifestProvider.<>c__DisplayClass22_0.<GetManifests>g__ProbeDirectory|1(String manifestDirectory, String featureBand)
         at Microsoft.NET.Sdk.WorkloadManifestReader.SdkDirectoryWorkloadManifestProvider.GetManifests()
         at Microsoft.NET.Sdk.WorkloadManifestReader.WorkloadResolver.LoadManifestsFromProvider(IWorkloadManifestProvider manifestProvider)
         at Microsoft.NET.Sdk.WorkloadManifestReader.WorkloadResolver.InitializeManifests()
         at Microsoft.NET.Sdk.WorkloadManifestReader.WorkloadResolver.GetInstalledWorkloadPacksOfKind(WorkloadPackKind kind)+MoveNext()
         at Microsoft.NET.Sdk.WorkloadMSBuildSdkResolver.CachingWorkloadResolver.Resolve(String sdkReferenceName, IWorkloadManifestProvider manifestProvider, IWorkloadResolver workloadResolver)
         at Microsoft.NET.Sdk.WorkloadMSBuildSdkResolver.CachingWorkloadResolver.Resolve(String sdkReferenceName, String dotnetRootPath, String sdkVersion, String userProfileDir, String globalJsonPath)
         at Microsoft.NET.Sdk.WorkloadMSBuildSdkResolver.WorkloadSdkResolver.Resolve(SdkReference sdkReference, SdkResolverContext resolverContext, SdkResultFactory factory)
         at Microsoft.Build.BackEnd.SdkResolution.SdkResolverService.TryResolveSdkUsingSpecifiedResolvers(IReadOnlyList`1 resolvers, Int32 submissionId, SdkReference sdk, LoggingContext loggingContext, Elemen
      tLocation sdkReferenceLocation, String solutionPath, String projectPath, Boolean interactive, Boolean isRunningInVisualStudio, SdkResult& sdkResult, IEnumerable`1& errors, IEnumerable`1& warnings)""
    osoft.NET.Sdk.WorkloadManifestReader.WorkloadResolver.GetInstalledWorkloadPacksOfKind(WorkloadPackKind kind)+MoveNext()
         at Microsoft.NET.Sdk.WorkloadMSBuildSdkResolver.CachingWorkloadResolver.Resolve(String sdkReferenceName, IWorkloadManifestProvider manifestProvider, IWorkloadResolver workloadResolver)
         at Microsoft.NET.Sdk.WorkloadMSBuildSdkResolver.CachingWorkloadResolver.Resolve(String sdkReferenceName, String dotnetRootPath, String sdkVersion, String userProfileDir, String globalJsonPath)
         at Microsoft.NET.Sdk.WorkloadMSBuildSdkResolver.WorkloadSdkResolver.Resolve(SdkReference sdkReference, SdkResolverContext resolverContext, SdkResultFactory factory)
         at Microsoft.Build.BackEnd.SdkResolution.SdkResolverService.TryResolveSdkUsingSpecifiedResolvers(IReadOnlyList`1 resolvers, Int32 submissionId, SdkReference sdk, LoggingContext loggingContext, Elemen
      tLocation sdkReferenceLocation, String solutionPath, String projectPath, Boolean interactive, Boolean isRunningInVisualStudio, SdkResult& sdkResult, IEnumerable`1& errors, IEnumerable`1& warnings)""
    Directory.GetDirectories(String path, String searchPattern, EnumerationOptions enumerationOptions)
         at Microsoft.NET.Sdk.WorkloadManifestReader.SdkDirectoryWorkloadManifestProvider.ResolveManifestDirectory(String manifestDirectory)
         at Microsoft.NET.Sdk.WorkloadManifestReader.SdkDirectoryWorkloadManifestProvider.<>c__DisplayClass22_0.<GetManifests>g__ProbeDirectory|1(String manifestDirectory, String featureBand)
         at Microsoft.NET.Sdk.WorkloadManifestReader.SdkDirectoryWorkloadManifestProvider.GetManifests()
         at Microsoft.NET.Sdk.WorkloadManifestReader.WorkloadResolver.LoadManifestsFromProvider(IWorkloadManifestProvider manifestProvider)
         at Microsoft.NET.Sdk.WorkloadManifestReader.WorkloadResolver.InitializeManifests()
         at Microsoft.NET.Sdk.WorkloadManifestReader.WorkloadResolver.GetInstalledWorkloadPacksOfKind(WorkloadPackKind kind)+MoveNext()
         at Microsoft.NET.Sdk.WorkloadMSBuildSdkResolver.CachingWorkloadResolver.Resolve(String sdkReferenceName, IWorkloadManifestProvider manifestProvider, IWorkloadResolver workloadResolver)
         at Microsoft.NET.Sdk.WorkloadMSBuildSdkResolver.CachingWorkloadResolver.Resolve(String sdkReferenceName, String dotnetRootPath, String sdkVersion, String userProfileDir, String globalJsonPath)
         at Microsoft.NET.Sdk.WorkloadMSBuildSdkResolver.WorkloadSdkResolver.Resolve(SdkReference sdkReference, SdkResolverContext resolverContext, SdkResultFactory factory)
         at Microsoft.Build.BackEnd.SdkResolution.SdkResolverService.TryResolveSdkUsingSpecifiedResolvers(IReadOnlyList`1 resolvers, Int32 submissionId, SdkReference sdk, LoggingContext loggingContext, Elemen
      tLocation sdkReferenceLocation, String solutionPath, String projectPath, Boolean interactive, Boolean isRunningInVisualStudio, SdkResult& sdkResult, IEnumerable`1& errors, IEnumerable`1& warnings)""
    [...]/macios/builds/downloads/dotnet-sdk-9.0.106-servicing.25217.33/sdk/9.0.106/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.props(14,38): error MSB4242:
      SDK Resolver Failure: "The SDK resolver "Microsoft.DotNet.MSBuildWorkloadSdkResolver" failed while attempting to resolve the SDK "Microsoft.NET.SDK.WorkloadAutoImportPropsLocator". Exception: "System.IO
      .DirectoryNotFoundException: Could not find a part of the path '[...]/macios/builds/downloads/dotnet-sdk-9.0.106-servicing.25217.33/sdk-manifests/9.0.100/microsoft.net.sdk.
      ios'.
         at System.IO.Enumeration.FileSystemEnumerator`1.CreateDirectoryHandle(String path, Boolean ignoreNotFound)
         at System.IO.Enumeration.FileSystemEnumerator`1.Init()
         at System.IO.Enumeration.FileSystemEnumerable`1..ctor(String directory, FindTransform transform, EnumerationOptions options, Boolean isNormalized)
         at System.IO.Enumeration.FileSystemEnumerableFactory.UserDirectories(String directory, String expression, EnumerationOptions options)
         at System.IO.Directory.InternalEnumeratePaths(String path, String searchPattern, SearchTarget searchTarget, EnumerationOptions options)
         at System.IO.Directory.GetDirectories(String path, String searchPattern, EnumerationOptions enumerationOptions)
         at Microsoft.NET.Sdk.WorkloadManifestReader.SdkDirectoryWorkloadManifestProvider.ResolveManifestDirectory(String manifestDirectory)
         at Microsoft.NET.Sdk.WorkloadManifestReader.SdkDirectoryWorkloadManifestProvider.<>c__DisplayClass22_0.<GetManifests>g__ProbeDirectory|1(String manifestDirectory, String featureBand)
         at Microsoft.NET.Sdk.WorkloadManifestReader.SdkDirectoryWorkloadManifestProvider.GetManifests()
         at Microsoft.NET.Sdk.WorkloadManifestReader.WorkloadResolver.LoadManifestsFromProvider(IWorkloadManifestProvider manifestProvider)
         at Microsoft.NET.Sdk.WorkloadManifestReader.WorkloadResolver.InitializeManifests()
         at Microsoft.NET.Sdk.WorkloadManifestReader.WorkloadResolver.GetInstalledWorkloadPacksOfKind(WorkloadPackKind kind)+MoveNext()
         at Microsoft.NET.Sdk.WorkloadMSBuildSdkResolver.CachingWorkloadResolver.Resolve(String sdkReferenceName, IWorkloadManifestProvider manifestProvider, IWorkloadResolver workloadResolver)
         at Microsoft.NET.Sdk.WorkloadMSBuildSdkResolver.CachingWorkloadResolver.Resolve(String sdkReferenceName, String dotnetRootPath, String sdkVersion, String userProfileDir, String globalJsonPath)
         at Microsoft.NET.Sdk.WorkloadMSBuildSdkResolver.WorkloadSdkResolver.Resolve(SdkReference sdkReference, SdkResolverContext resolverContext, SdkResultFactory factory)
         at Microsoft.Build.BackEnd.SdkResolution.SdkResolverService.TryResolveSdkUsingSpecifiedResolvers(IReadOnlyList`1 resolvers, Int32 submissionId, SdkReference sdk, LoggingContext loggingContext, Elemen
      tLocation sdkReferenceLocation, String solutionPath, String projectPath, Boolean interactive, Boolean isRunningInVisualStudio, SdkResult& sdkResult, IEnumerable`1& errors, IEnumerable`1& warnings)""
    Removing existing workload shipped with .NET 9.0.106-servicing.25217.33: [...]/macios/builds/downloads/dotnet-sdk-9.0.106-servicing.25217.33/sdk-manifests/9.0.100/microsoft.net.sdk.macos
    gmake[1]: *** [../scripts/generate-workloaddependencies-json/fragment.mk:2: ../scripts/generate-workloaddependencies-json/bin/Debug/generate-workloaddependencies-json.dll] Error 1
    gmake[1]: *** Waiting for unfinished jobs....
    gmake[1]: *** [../scripts/generate-target-platforms/fragment.mk:2: ../scripts/generate-target-platforms/bin/Debug/generate-target-platforms.dll] Error 1
    gmake[1]: *** [../scripts/generate-workloadmanifest-targets/fragment.mk:2: ../scripts/generate-workloadmanifest-targets/bin/Debug/generate-workloadmanifest-targets.dll] Error 1
    gmake[1]: *** [../scripts/generate-workloadmanifest-json/fragment.mk:2: ../scripts/generate-workloadmanifest-json/bin/Debug/generate-workloadmanifest-json.dll] Error 1
    gmake[1]: Leaving directory '[...]/macios/dotnet'
    gmake: *** [mk/subdirs.mk:18: all-recurse] Error 1
…extContainer slightly. (#22655)

Improve and simplify the manually bound constructors for NSTextContainer by
using the same pattern we use elsewhere for manually bound constructors.
This has to be done in parts, because the Roslyn importer runs out of memory otherwise.

Which also means I have no idea how many parts there will end up being.

Partial fix for #17399.
This has to be done in parts, because the Roslyn importer runs out of memory otherwise.

Which also means I have no idea how many parts there will end up being.

Partial fix for #17399.
… NSString slightly. (#22659)

Improve and simplify the manually bound constructors for NSString by
using the same pattern we use elsewhere for manually bound constructors.
…22657)

Improve and simplify the manually bound constructors for
CKSyncEngineFetchChangesScope, CKSyncEngineSendChangesScope and
CKUserIdentityLookupInfo by using the same pattern we use elsewhere for
manually bound constructors.
* Add/adjust availability attributes.
* Remove !.NET availability attributes / code.

This is a step towards fixing #21185.
… NSThread slightly. (#22662)

Improve and simplify the manually bound constructors for NSThread by
using the same pattern we use elsewhere for manually bound constructors.
This has to be done in parts, because the Roslyn importer runs out of memory otherwise.

Which also means I have no idea how many parts there will end up being.

Partial fix for #17399.
We don't support any 32-bit platforms anymore.
All pointers we support are now 64-bits.
This had to be done in parts, because the Roslyn importer I wrote ran out of memory otherwise.

Which also means I had no idea how many parts there would end up being.

Until now - this is the last PR importing xml docs.

There's still some curating left of the imported docs before this can be considered completed however.

Partial fix for #17399.
…rs for NEHotspotConfiguration slightly. (#22665)

Improve and simplify the manually bound constructors for NEHotspotConfiguration by
using the same pattern we use elsewhere for manually bound constructors.
This pull request updates the following dependencies

## From https://github.com/dotnet/xharness

- **Subscription**: [02e03784-16b3-4ced-b02a-3715797fc7da](https://maestro.dot.net/subscriptions?search=02e03784-16b3-4ced-b02a-3715797fc7da)
- **Build**: [20250425.1](https://dev.azure.com/dnceng/internal/_build/results?buildId=2695385)
- **Date Produced**: April 25, 2025 9:46:50 AM UTC
- **Commit**: [6702e80281066daa33390d759263823298486439](dotnet/xharness@6702e80)
- **Branch**: refs/heads/main

- **Updates**:
  - **Microsoft.DotNet.XHarness.iOS.Shared**: [from 10.0.0-prerelease.25221.2 to 10.0.0-prerelease.25225.1][1]

[1]: dotnet/xharness@026a0d0...6702e80
* Add/adjust availability attributes.
* Remove !.NET availability attributes / code.

This is a step towards fixing #21185.
… to Windows (#22677)

With the new ICorDebug engine for MAUI, we need the debugger to always load the assemblies from Windows. Given that some dll and pdb files changes as part of the remote build, we need a mechanism to copy those modified files back to the Windows OutputPath, so the debugger can always load the right files. Otherwise, the debugger will try to load files that are not the same that are in the running app, so no symbols will be loaded. This also improves the debugger performance by ensuring the files are not loaded remotely but locally

---------

Co-authored-by: Mauro Agnoletti <mauro.agnoletti@gmail.com>
…itmapImageRep slightly. (#22676)

Improve and simplify the manually bound constructors for NSBitmapImageRep by
using the same pattern we use elsewhere for manually bound constructors.

Also fix a few nullability issues.
Relax certain generic constraints:

* Make `NSEnumerator<TKey>` able to iterate over any `INativeObject`, it doesn't have to be a class. This is required so that we can declare APIs that iterate over protocols:

    ```cs
    public NSEnumerator<ISomeProtocol> GetEnumerator ();
    ```

* Make `Runtime.GetINativeObject<T>` able to return any `INativeObject`, it doesn't have to be a class. This is required so that we can declare generic APIs over protocols:

    ```cs
	[BaseType (typeof (NSObject))]
	interface GenericCollection<Key, Element>
		where Key : NSString
		where Element : ISomeProtocol {

		[Export ("getElement:"), NullAllowed]
		Element GetElement (Key key);
    }

    [Protocol]
	interface ProtocolWithGenericCollection {
		[Export ("first", ArgumentSemantic.Retain)]
		VeryGenericCollection<NSString, ISomeOtherProtocol> Collection { get; }
	}
    ```

    the problem is the `Collection` property, ideally we'd like to use a combined generic constraint to constrain it to classes, something like this:

    ```cs
    VeryGenericCollection<NSString, {class, ISomeOtherProtocol}> Collection { get; }
    ```

    but this isn't possible in C#, thus we have to relax the generic constraints elsewhere.
This includes some older APIs as well.

Fixes #15725.
@rolfbjarne rolfbjarne force-pushed the dev/rolf/xcode16.3-rc-gamecontroller branch from 8de718b to 52b6652 Compare April 30, 2025 10:15
@rolfbjarne
Copy link
Member Author

Closing in favor of #22699.

@rolfbjarne rolfbjarne closed this Apr 30, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants