xamarin / xamarin-macios

.NET for iOS, Mac Catalyst, macOS, and tvOS provide open-source bindings of the Apple SDKs for use with .NET managed languages such as C#
Other
2.43k stars 507 forks source link

App startup crashes on iOS 17.0 / NewsstandKit issues #18964

Closed dalexsoto closed 9 months ago

dalexsoto commented 10 months ago

If you have a Xamarin.Forms / MAUI app that targets iOS and has been built with Xcode 14.3.1 there is a high chance that this app will crash at startup on iOS 17. This is because Apple removed NewsstandKit from iOS 17.0 and there is a chance that your App is referencing this Framework depending on your linker settings.

In order to avoid this problem you will need to recompile your application:

.NET / MAUI

Xamarin.iOS / Xamarin.Forms

Detect if an app is affected

It's possible to detect whether an app is affected by using otool from the command line to check if the app is linking (not weakly) with the NewsstandKit framework.

This app is affected, because cmd=LC_LOAD_DYLIB:

$ otool -l path/to/Debug/testapp.app/testapp | grep NewsstandKit -C 3
Load command 19
          cmd LC_LOAD_DYLIB
      cmdsize 88
         name /System/Library/Frameworks/NewsstandKit.framework/NewsstandKit (offset 24)
   time stamp 2 Thu Jan  1 01:00:02 1970
      current version 1.0.0
compatibility version 1.0.0

This app is not affected, because cmd=LC_LOAD_WEAK_DYLIB means it's linking weakly with NewsstandKit:

$ otool -l path/to/Debug/testapp.app/testapp | grep NewsstandKit -C 3
Load command 19
          cmd LC_LOAD_WEAK_DYLIB
      cmdsize 88
         name /System/Library/Frameworks/NewsstandKit.framework/NewsstandKit (offset 24)
   time stamp 2 Thu Jan  1 01:00:02 1970
      current version 1.0.0
compatibility version 1.0.0

This app is also not affected, because it doesn't link with NewsstandKit at all:

$ otool -l path/to/Debug/testapp.app/testapp | grep NewsstandKit -C 3
[no output]

Alternatively install an iOS 17 beta on a device and try to run the app. If it launches successfully, it's not affected.

stoff99 commented 10 months ago

Good to hear that a reboot worked. WOW! If XCode 15 'works' with Xamarin.iOS that would be very good news indeed. There was another issue raised here with a lot op people complaining that XCode 15 is not supported - and never will, unless the source code is ported to MAUI. Even if this is not officially supported, it would give everyone some slack.

Can Verify. I've installed 16.4.0.18 on my Mac, XCode 15 (not the beta, the release) and just ran a debug build and debugger connected all fine to my iPhone.

I don't have the NewsstandKit API issue as were Xamarin native with linker turned on so it is/was being stripped anyway.

But I have Xamarin IOS, on a mac, building with Xcode 15 and debugging straight to my iOS 17 device 👍 (Note with iOS17 I do have to tap to launch the app)

(No idea if an IPA would go through app store submittion mind)

EDIT - Also this VS Mac only, Rider doesn't appear to recognise the iOS 17 device when its plugged in like VS Mac does. But I managed to build to an iOS 16 device with XCode 15 in Rider fine.

@IainS1986 please can you vote for the Rider ticket regarding they do not display iOS 17 real devices please. Ticket: https://youtrack.jetbrains.com/issue/RIDER-99240/Deploy-Debug-to-iOS-17-devices-via-XCode-15-using-Xamarin-16.4.0.18

barantutal commented 10 months ago

Hi everybody, I'm also having this error compiling against XCode 15 and 17 iOS sdk

clang : error : linker command failed with exit code 1 (use -v to see invocation) error MT5209 : Native linking error : warning: ignoring duplicate libraries: '-lz' error MT5209 : Native linking error : framework 'NewsstandKit' not found MTOUCH : error MT5202: Native linking failed. Please review the build log.

visual studio for mac 17.6.4 (build 472)

Xamarin.iOS 16.4.0.18 (xcode14.3: 9d26602) using framework: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator17.0.sdk

xcode Version 15.0 (15A240d)

.NET SDK: Version: 7.0.401 Commit: eb26aacfec

Ambiente di runtime: OS Name: Mac OS X OS Version: 13.5 OS Platform: Darwin RID: osx.13-x64 Base Path: /usr/local/share/dotnet/sdk/7.0.401/

Host: Version: 7.0.11 Architecture: x64 Commit: ecb34f85ec

I'm unable to link besides the fact I've hadded

--weak-framework=NewsstandKit.framework/NewsstandKit

to mtouch options. Any ideas? Thanks in advance

I had a different mtouch error and managed to build with the "do not link" option, which increased the size of my application to over 300MB, but I uploaded it to the store anyway, so it's fine for now.

The following configuration worked for me: mtouch 16.4.0.18 (xcode14.3: 9d266025e) VisualStudio/17.0/MsBuild/9530_3 XCode 15 And I used Rider

SamiAlan commented 10 months ago

@rolfbjarne

@SamiAlan

Sure. I cloned the project and removed the bits that are confidential. Here is the link: https://drive.google.com/file/d/1NtRXeG5uedXp9vYwTCtRjRndPp7VOQr5/view?usp=sharing

As far as I can tell that's a successful build?

Yes, The project is building successfully. It is also deploying the app to the IOS device but once I start debugging and open the app, it suddenly shuts down while at the splash screen. Just for clarity, I had a MAX_PATH issue earlier where I Installed a nuget package called Plugin.Firebase.CloudMessaging. I couldn't build the project and the error was that It could not find part of the path to a file related to the package (even though I am sure it exists). I was able to resolve it by deleted the _CopyLocalBindingResources target in the "C:\Program Files\dotnet\packs\Microsoft.iOS.Sdk\16.4.7098\targets\Xamarin.Shared.Sdk.targets" file. I'm not sure if that breaks the app now after the update

You can tell if it's something else or not by following the "Detect if an app is affected" instructions in the description of this issue.

You could also try disabling Hot Restart to see if that makes a difference.

otool only works on MacOS. Is there an alternative to check if there is a hard linking with NewsstandKit on Windows ?

jonasmayor commented 10 months ago

Hello all with I managed to compile and run the application with the following configuration ( on Iphone and Ipad) Visual studio for mac 17.6.4 (build 472) Xamarin.iOS 16.4.0.18 Xcode Version 15.0 (15A240d)

But there is a problem that neither CollectionView not ListView work , the app crashes with an Object C error like error UIGraphicsBeginImageContext deprecated when using UIGraphicsContext , use UIGraphicsImageRenderer instead

Any idea where that could happend in the implementation of the CollectionView or the ListView? I'm using Datatemplates to render my Items Collections Thanks

PS: I guess this should be a new thread but almost one one is paying attention to the new bugs that are surging with Xamarin Forms and IOS 17 @dalexsoto @rolfbjarne any idea on some thread or board I could post this so see if anyone have experienced this or similar issues?

velocitysystems commented 10 months ago

@dalexsoto Thanks for this helpful post. We can confirm building with Xcode 15 and Xamarin.iOS 16.4.0.18 works. Just wondering though if this is a supported scenario from Microsoft or is it a "use at your own risk" approach? Thanks!

exendahal commented 10 months ago

My app is working well with iPadOS 17.0.1 but crashing with iOS 17. using --weak-framework=NewsstandKit.framework/NewsstandKit doesn't seem to have any improvement.

RagibNoor commented 10 months ago

I am having a strange issue
My app is working on the 17.0 simulator(Release / Debug) but it's not working on the actual device iPad 6th Gen ios 17.0 In My app, I am using Xamarin Forms web view Build Env : Xcode 15 and Xamarin.iOS 16.4.0.18 VS for mac 17.6.4(build 472) otool is not showing any output

here is the build configuration

<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|iPhone' ">
    <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
    <DebugSymbols>true</DebugSymbols>
    <DebugType>full</DebugType>
    <Optimize>false</Optimize>
    <OutputPath>bin\iPhone\Debug</OutputPath>
    <DefineConstants>DEBUG</DefineConstants>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
    <ConsolePause>false</ConsolePause>
    <MtouchArch>ARM64</MtouchArch>
    <CodesignKey> *********</CodesignKey>
    <MtouchDebug>true</MtouchDebug>
    <CodesignEntitlements>Entitlements.plist</CodesignEntitlements>
    <CodesignExtraArgs />
    <CodesignResourceRules />
    <MtouchLink>None</MtouchLink>
    <MtouchExtraArgs>-v -v -v -v --dlsym:Microsoft.Win32.Registry.dll</MtouchExtraArgs>
    <DeviceSpecificBuild>false</DeviceSpecificBuild>
    <MtouchHttpClientHandler>NSUrlSessionHandler</MtouchHttpClientHandler>
    <OptimizePNGs>false</OptimizePNGs>
    <Nullable>
    </Nullable>
    <CodesignProvision>********</CodesignProvision>
    <BuildIpa>true</BuildIpa>
    <IpaMetadata>Info.plist</IpaMetadata>
    <IpaPackageName>xamarin-dev-usv</IpaPackageName>
  </PropertyGroup>
<PropertyGroup Condition=” ‘$(Configuration)|$(Platform)’ == ‘Debug|iPhoneSimulator’ “>
    <DebugSymbols>true</DebugSymbols>
    <DebugType>full</DebugType>
    <Optimize>false</Optimize>
    <OutputPath>bin\iPhoneSimulator\Debug</OutputPath>
    <DefineConstants>DEBUG</DefineConstants>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
    <ConsolePause>false</ConsolePause>
    <MtouchArch>x86_64</MtouchArch>
    <MtouchLink>None</MtouchLink>
    <MtouchDebug>true</MtouchDebug>
    <CodesignKey>*********</CodesignKey>
    <MtouchHttpClientHandler>HttpClientHandler</MtouchHttpClientHandler>
    <DeviceSpecificBuild>false</DeviceSpecificBuild>
    <MtouchExtraArgs>-v -v -v -v --dlsym:Microsoft.Win32.Registry.dll</MtouchExtraArgs>
    <CodesignEntitlements>Info.plist</CodesignEntitlements>
    <OptimizePNGs>false</OptimizePNGs>
    <ExternalConsole>false</ExternalConsole>
    <MtouchUseLlvm>
    </MtouchUseLlvm>
    <CodesignProvision>*********</CodesignProvision>
  </PropertyGroup>
exendahal commented 10 months ago

I was able to fix the issue with --weak-framework=NewsstandKit.framework/NewsstandKit and send an update to the app store.

svaldetero commented 10 months ago

For macOS you can just install the package "xamarin.ios-16.4.0.18.pkg" (link in the description)

How do I get this to work for a Maui / Microsoft.iOS project on macOS? I have 7.0.401 & 8.0.100-rc.1 installed and I still get the error. I tried adding <MtouchExtraArgs>--weak-framework=NewsstandKit.framework/NewsstandKit</MtouchExtraArgs> and still get the error.

What's the output of dotnet workload list and dotnet --info?

@rolfbjarne

.NET SDK:
 Version:   8.0.100-rc.1.23455.8
 Commit:    e14caf947f

Runtime Environment:
 OS Name:     Mac OS X
 OS Version:  14.0
 OS Platform: Darwin
 RID:         osx-arm64
 Base Path:   /usr/local/share/dotnet/sdk/8.0.100-rc.1.23455.8/

.NET workloads installed:
 [maui-ios]
   Installation Source: SDK 8.0.100-rc.1
   Manifest Version:    8.0.0-rc.1.9171/8.0.100-rc.1
   Manifest Path:       /usr/local/share/dotnet/sdk-manifests/8.0.100-rc.1/microsoft.net.sdk.maui/WorkloadManifest.json
   Install Type:        FileBased

 [ios]
   Installation Source: SDK 8.0.100-rc.1
   Manifest Version:    16.4.8825-net8-rc1/8.0.100-rc.1
   Manifest Path:       /usr/local/share/dotnet/sdk-manifests/8.0.100-rc.1/microsoft.net.sdk.ios/WorkloadManifest.json
   Install Type:        FileBased

 [maui]
   Installation Source: SDK 8.0.100-rc.1
   Manifest Version:    8.0.0-rc.1.9171/8.0.100-rc.1
   Manifest Path:       /usr/local/share/dotnet/sdk-manifests/8.0.100-rc.1/microsoft.net.sdk.maui/WorkloadManifest.json
   Install Type:        FileBased

Host:
  Version:      8.0.0-rc.1.23419.4
  Architecture: arm64
  Commit:       92959931a3
  RID:          osx-arm64

.NET SDKs installed:
  6.0.300 [/usr/local/share/dotnet/sdk]
  6.0.301 [/usr/local/share/dotnet/sdk]
  6.0.400 [/usr/local/share/dotnet/sdk]
  6.0.401 [/usr/local/share/dotnet/sdk]
  6.0.402 [/usr/local/share/dotnet/sdk]
  6.0.403 [/usr/local/share/dotnet/sdk]
  6.0.404 [/usr/local/share/dotnet/sdk]
  6.0.406 [/usr/local/share/dotnet/sdk]
  6.0.407 [/usr/local/share/dotnet/sdk]
  6.0.408 [/usr/local/share/dotnet/sdk]
  6.0.410 [/usr/local/share/dotnet/sdk]
  6.0.412 [/usr/local/share/dotnet/sdk]
  6.0.413 [/usr/local/share/dotnet/sdk]
  6.0.414 [/usr/local/share/dotnet/sdk]
  7.0.100-rc.2.22477.23 [/usr/local/share/dotnet/sdk]
  7.0.100 [/usr/local/share/dotnet/sdk]
  7.0.101 [/usr/local/share/dotnet/sdk]
  7.0.103 [/usr/local/share/dotnet/sdk]
  7.0.200 [/usr/local/share/dotnet/sdk]
  7.0.201 [/usr/local/share/dotnet/sdk]
  7.0.202 [/usr/local/share/dotnet/sdk]
  7.0.302 [/usr/local/share/dotnet/sdk]
  7.0.304 [/usr/local/share/dotnet/sdk]
  7.0.306 [/usr/local/share/dotnet/sdk]
  7.0.307 [/usr/local/share/dotnet/sdk]
  7.0.308 [/usr/local/share/dotnet/sdk]
  7.0.401 [/usr/local/share/dotnet/sdk]
  8.0.100-rc.1.23455.8 [/usr/local/share/dotnet/sdk]

.NET runtimes installed:
  Microsoft.AspNetCore.App 6.0.0 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 6.0.5 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 6.0.6 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 6.0.8 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 6.0.9 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 6.0.10 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 6.0.11 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 6.0.12 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 6.0.14 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 6.0.15 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 6.0.16 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 6.0.18 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 6.0.20 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 6.0.21 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 6.0.22 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 7.0.0-rc.2.22476.2 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 7.0.0 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 7.0.1 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 7.0.3 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 7.0.4 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 7.0.5 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 7.0.7 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 7.0.9 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 7.0.10 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 7.0.11 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 8.0.0-preview.6.23329.11 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 8.0.0-rc.1.23421.29 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 6.0.0 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 6.0.5 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 6.0.6 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 6.0.8 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 6.0.9 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 6.0.10 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 6.0.11 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 6.0.12 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 6.0.14 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 6.0.15 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 6.0.16 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 6.0.18 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 6.0.20 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 6.0.21 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 6.0.22 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 7.0.1 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 7.0.3 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 7.0.4 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 7.0.5 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 7.0.7 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 7.0.9 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 7.0.10 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 7.0.11 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 8.0.0-preview.6.23329.7 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 8.0.0-rc.1.23419.4 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]

Other architectures found:
  x64   [/usr/local/share/dotnet/x64]
Installed Workload Id      Manifest Version                     Installation Source
-----------------------------------------------------------------------------------
maui-ios                   8.0.0-rc.1.9171/8.0.100-rc.1         SDK 8.0.100-rc.1   
ios                        16.4.8825-net8-rc1/8.0.100-rc.1      SDK 8.0.100-rc.1   
maui                       8.0.0-rc.1.9171/8.0.100-rc.1         SDK 8.0.100-rc.1  
jonathan-snd commented 10 months ago

@dalexsoto Thank you, I confirm that building with Xcode 15 and Xamarin.iOS 16.4.0.18 works

Eagle104 commented 10 months ago

Are you still able to debug your app as well with Xcode 15 and Xamarin.iOS 16.4.0.18. I am building through Pair to Mac. Everything works but the app does not launch at the end to allow for debugging.

@dalexsoto Thank you, I confirm that building with Xcode 15 and Xamarin.iOS 16.4.0.18 works

jonathan-snd commented 10 months ago

Are you still able to debug your app as well with Xcode 15 and Xamarin.iOS 16.4.0.18. I am building through Pair to Mac. Everything works but the app does not launch at the end to allow for debugging.

@dalexsoto Thank you, I confirm that building with Xcode 15 and Xamarin.iOS 16.4.0.18 works

@Eagle104 After installing the application bundle, visual studio remains in the "waiting for the debugger to connect to ..." state. to solve I launch the application manually in the device, that way I can debbugging with visual studio

robertmaxted commented 10 months ago

I can confirm that it all works as expected using the following:

Xcode: 15 (15A240d). Xamarin.iOS version: xamarin.ios-16.4.0.18.pkg - (https://download.visualstudio.microsoft.com/download/pr/de7f727f-243c-4429-8773-eebd735eb1bb/da4a65f27ace7f805914ef63661e0efd/xamarin.ios-16.4.0.18.pkg). Visual studio Mac 2022: 17.6.4 (build 472). iOS (iPhone) version: 17.0.1.

SamiAlan commented 10 months ago

Using Windows here and I can also confirm that the project is built and deployed successfully on my physical IPhone device.

Visual Studio: 17.7.4 Xamarin.iOS: 16.4.7098 IPhone: 17.0.1

dev2442422 commented 10 months ago

@dalexsoto @rolfbjarne are you able to comment on if building Xamarin apps against Xcode 15 and Xamarin.iOS 16.4.0.18 will work to meet the April 2024 Xcode 15 / iOS 17 build requirement? I am having challenges migrating to .NET Maui, and hoping to buy some time before the deadline. Thanks!

npagare commented 10 months ago

Using Windows here and I can also confirm that the project is built and deployed successfully on my physical IPhone device.

Visual Studio: 17.7.4 Xamarin.iOS: 16.4.7098 IPhone: 17.0.1

Hi @SamiAlan,

VS 17.7.4 is throwing following error when connecting to my MAC - "The Xamarin.iOS SDK version '16.4.0.6' that is installed on the Mac is not compatible with this version of Visual Studio. Would you like us to install Xamarin.iOS '16.4.0.15' for you? This will overwrite any other existing Xamarin.iOS installation on your Mac."

Can you please confirm the version of Xamarin.iOS on your Mac? I just got the 16.4.0.6 as I upgraded the VS on Mac.

I can compile and deploy my Xamarin Forms app on iPhone simulator having XCode 15, Xamarin.iOS 16.4.0.18 on my mac.

Thank you

bobwhitten commented 10 months ago

Using Windows here and I can also confirm that the project is built and deployed successfully on my physical IPhone device. Visual Studio: 17.7.4 Xamarin.iOS: 16.4.7098 IPhone: 17.0.1

Hi @SamiAlan,

VS 17.7.4 is throwing following error when connecting to my MAC - "The Xamarin.iOS SDK version '16.4.0.6' that is installed on the Mac is not compatible with this version of Visual Studio. Would you like us to install Xamarin.iOS '16.4.0.15' for you? This will overwrite any other existing Xamarin.iOS installation on your Mac."

Can you please confirm the version of Xamarin.iOS on your Mac? I just got the 16.4.0.6 as I upgraded the VS on Mac.

Thank you

Did you see this further back -- it worked for me in getting rid of that error, and I'm able to build. In order to skip the version check you have to add/edit a registry key:

Create key named DisableXamariniOSValidation (DWORD) with the value 1 under: Computer\HKEY_CURRENT_USER\Software\Xamarin\VisualStudio\MacAgent

Remember to delete this key once the updated version has been released to Visual Studio as well.

shawyunz commented 10 months ago

Hello all with I managed to compile and run the application with the following configuration ( on Iphone and Ipad) Visual studio for mac 17.6.4 (build 472) Xamarin.iOS 16.4.0.18 Xcode Version 15.0 (15A240d)

But there is a problem that neither CollectionView not ListView work , the app crashes with an Object C error like error UIGraphicsBeginImageContext deprecated when using UIGraphicsContext , use UIGraphicsImageRenderer instead

Any idea where that could happend in the implementation of the CollectionView or the ListView? I'm using Datatemplates to render my Items Collections Thanks

PS: I guess this should be a new thread but almost one one is paying attention to the new bugs that are surging with Xamarin Forms and IOS 17

@jonasmayor Have you solved your error yet?

quintonv commented 10 months ago

@Eagle104

I can build and the project works through Pair to Mac etc, But I am not able to debug my application anymore on iOS 17

Hi How did you get your windows paired machine to build? I am trying but getting so many issues with ios 17 connecting to my mac with xcode 15. Any advice would be greatly appreciated

jonasmayor commented 9 months ago

Hello all with I managed to compile and run the application with the following configuration ( on Iphone and Ipad) Visual studio for mac 17.6.4 (build 472) Xamarin.iOS 16.4.0.18 Xcode Version 15.0 (15A240d) But there is a problem that neither CollectionView not ListView work , the app crashes with an Object C error like error UIGraphicsBeginImageContext deprecated when using UIGraphicsContext , use UIGraphicsImageRenderer instead Any idea where that could happend in the implementation of the CollectionView or the ListView? I'm using Datatemplates to render my Items Collections Thanks PS: I guess this should be a new thread but almost one one is paying attention to the new bugs that are surging with Xamarin Forms and IOS 17

@jonasmayor Have you solved your error yet?

@shawyunz no, I've been finishing another project, and so far I've had no time to look into it, still though it looks like the implementation of CollectionView / ListView in Xamarin forms is relying on an obsolete call th the UIGraphicsBeginImageContext instead of using the UIGraphicsImageRenderer. Don't know if a newer version of the Xamarin.IOS package will get done fixing this :(, it would be good as with the latest xamarin.ios-16.4.0.18.pkg it seems possible to keep using Xamarin Forms under IOS 15. If you found a solution or know any other thread where this is being discussed please let me know

MariusPCK commented 9 months ago

I solved this by upgrading to mac os 14 and latest xcode alongside latest preview version of microsoft visual studio (pc). Then I had to manipulate the manifest to not include background services and setting execution mode to default on project props -> iOS Run Options. You also need to make sure that any references to fetch is removed in your source. This disables your app to run tasks in the background when the app is in the background / shutdown. Not that it worked particularly well anyway.

This fix might not work if you are using other background stuff, as it probably references the newsstandkit.

brandonDevMobile commented 9 months ago

Im using visual studio 17.6.4 on a mac with a xamarin forms project (not maui) and when I update to xcode 15 cant see any simulators for ios 17 or any other version. Any Help please?

xamarin ios version: 16.4.0.6 xamarin mac version: 9.3.0.6

shawyunz commented 9 months ago

Im using visual studio 17.6.4 on a mac with a xamarin forms project (not maui) and when I update to xcode 15 cant see any simulators for ios 17 or any other version. Any Help please?

xamarin ios version: 16.4.0.6 xamarin mac version: 9.3.0.6

@brandonDevMobile It's in the top thread, xamarin.ios-16.4.0.18.pkg

krassx commented 9 months ago

Adding my two cents here too. I've tried the proposed workaround with installing Xamarin.iOS 16.4.0.18.pkg. While I can see the list of devices and simulators, I still can't deploy and debug application. The build/deploy/run process fails with the following:

error HE0004: Could not load the framework 'IDEProducts' (path: /Applications/Xcode.app/Contents/SharedFrameworks/IDEProducts.framework/IDEProducts): 
dlopen(/Applications/Xcode.app/Contents/SharedFrameworks/IDEProducts.framework/IDEProducts, 0x0001): Library not loaded: @rpath/IDEDistribution.framework/Versions/A/IDEDistribution
  Referenced from: <1C42486B-CF36-3FFB-A22C-F084A9B30A6B> /Applications/Xcode.app/Contents/SharedFrameworks/IDEProducts.framework/Versions/A/IDEProducts
  Reason: tried: '/usr/local/share/dotnet/packs/Microsoft.iOS.Sdk/16.4.60/tools/lib/mlaunch/mlaunch.app/Contents/Frameworks/IDEDistribution.framework/Versions/A/IDEDistribution' (no such file), '/Applications/Xcode.app/Contents/SharedFrameworks/IDEProducts.framework/Versions/A/Frameworks/IDEDistribution.framework/Versions/A/IDEDistribution' (no such file), '/usr/local/share/dotnet/packs/Microsoft.iOS.Sdk/16.4.60/tools/lib/mlaunch/mlaunch.app/Contents/Frameworks/IDEDistribution.framework/Versions/A/IDEDistribution' (no such file), '/Applications/Xcode.app/Contents/SharedFrameworks/IDEProducts.framework/Versions/A/Frameworks/IDEDistribution.framework/Versions/A/IDEDistribution' (no such file)

My environment:

Darwin 23.0.0 Darwin Kernel Version 23.0.0: Fri Sep 15 14:41:34 PDT 2023; root:xnu-10002.1.13~1/RELEASE_ARM64_T8103 arm64
Visual Studio Community 2022 for Mac
Version 17.6.4 (build 472)
Installation UUID: 12504c59-951e-4fbf-b686-f8d1e7c0cef1

Runtime
.NET 7.0.3 (64-bit)
Architecture: Arm64
Microsoft.macOS.Sdk 13.1.1007; git-rev-head:8afca776a0a96613dfb7200e0917bb57f9ed5583; git-branch:release/7.0.1xx-xcode14.2

Roslyn (Language Service)
4.6.0-3.23180.6+99e956e42697a6dd886d1e12478ea2b27cceacfa

NuGet
Version: 6.4.0.117

.NET SDK (Arm64)
SDK: /usr/local/share/dotnet/sdk/7.0.308/Sdks
SDK Versions:
    7.0.308
    7.0.307
    7.0.306
    7.0.304
    7.0.302
    7.0.203
    7.0.202
    7.0.201
    7.0.103
    7.0.101
    7.0.100
    6.0.414
    6.0.413
    6.0.412
    6.0.410
    6.0.408
    6.0.407
    6.0.406
    6.0.404
    6.0.403
    6.0.402
    6.0.400
    6.0.302
    6.0.301
    6.0.300
    6.0.202
    6.0.200
    6.0.101
    6.0.100
MSBuild SDKs: /Applications/Visual Studio.app/Contents/MonoBundle/MSBuild/Current/bin/Sdks

.NET SDK (x64)
SDK Versions:
    6.0.414
    6.0.413
    6.0.412
    6.0.410
    6.0.408
    6.0.407
    6.0.406
    6.0.404
    6.0.403
    6.0.402
    6.0.400
    6.0.302
    6.0.301
    6.0.300
    6.0.202
    6.0.103
    6.0.102
    6.0.101
    5.0.408
    5.0.407
    5.0.406
    5.0.405
    5.0.404
    3.1.426
    3.1.425
    3.1.424
    3.1.422
    3.1.421
    3.1.420
    3.1.419
    3.1.418
    3.1.417
    3.1.416

.NET Runtime (Arm64)
Runtime: /usr/local/share/dotnet/dotnet
Runtime Versions:
    7.0.11
    7.0.10
    7.0.9
    7.0.7
    7.0.5
    7.0.4
    7.0.3
    7.0.1
    7.0.0
    6.0.22
    6.0.21
    6.0.20
    6.0.18
    6.0.16
    6.0.15
    6.0.14
    6.0.12
    6.0.11
    6.0.10
    6.0.8
    6.0.7
    6.0.6
    6.0.5
    6.0.4
    6.0.2
    6.0.1
    6.0.0

.NET Runtime (x64)
Runtime: /usr/local/share/dotnet/x64/dotnet
Runtime Versions:
    6.0.22
    6.0.21
    6.0.20
    6.0.18
    6.0.16
    6.0.15
    6.0.14
    6.0.12
    6.0.11
    6.0.10
    6.0.8
    6.0.7
    6.0.6
    6.0.5
    6.0.4
    6.0.3
    6.0.2
    6.0.1
    5.0.17
    5.0.16
    5.0.15
    5.0.14
    5.0.13
    3.1.32
    3.1.31
    3.1.30
    3.1.28
    3.1.27
    3.1.26
    3.1.25
    3.1.24
    3.1.23
    3.1.22

Xamarin.Profiler
Version: 1.8.0.49
Location: /Applications/Xamarin Profiler.app/Contents/MacOS/Xamarin Profiler

Updater
Version: 11

Apple Developer Tools
Xcode: 15.0 22265
Build: 15A240d

Xamarin.Mac
Version: 9.3.0.18 Visual Studio Community
Hash: 9d266025e
Branch: xcode14.3
Build date: 2023-09-06 19:52:26-0400

Xamarin.iOS
Version: 16.4.0.18 Visual Studio Community
Hash: 9d266025e
Branch: xcode14.3
Build date: 2023-09-06 19:52:27-0400

Xamarin.Android
Version: 13.2.1.2 (Visual Studio Community)
Commit: xamarin-android/d17-5/a8a26c7
Android SDK: /Users/akarimov/Library/Android/sdk
    Supported Android versions:
        12.1 (API level 32)
        12.0 (API level 31)
        8.1  (API level 27)
        11.0 (API level 30)
        10.0 (API level 29)
        7.1  (API level 25)
        9.0  (API level 28)
        13.0 (API level 33)

SDK Command-line Tools Version: 7.0
SDK Platform Tools Version: 34.0.4
SDK Build Tools Version: 33.0.2

Build Information: 
Mono: d9a6e87
Java.Interop: xamarin/java.interop/d17-5@149d70fe
SQLite: xamarin/sqlite/3.40.1@68c69d8
Xamarin.Android Tools: xamarin/xamarin-android-tools/d17-5@ca1552d

Microsoft Build of OpenJDK
Java SDK: /Library/Java/JavaVirtualMachines/microsoft-11.jdk
11.0.16.1
Android Designer EPL code available here:
https://github.com/xamarin/AndroidDesigner.EPL

Eclipse Temurin JDK
Java SDK: /Library/Java/JavaVirtualMachines/temurin-8.jdk
1.8.0.302
Android Designer EPL code available here:
https://github.com/xamarin/AndroidDesigner.EPL

Android SDK Manager
Version: 17.6.0.50
Hash: a715dca
Branch: HEAD
Build date: 2023-09-07 02:05:26 UTC

Android Device Manager
Version: 0.0.0.1309
Hash: 06e3e77
Branch: HEAD
Build date: 2023-09-07 02:05:26 UTC

Xamarin Designer
Version: 17.6.3.9
Hash: 2648399ae8
Branch: remotes/origin/d17-6
Build date: 2023-09-07 02:05:20 UTC

Build Information
Release ID: 1706040472
Git revision: 0b8c2cb9f01ef14a2b07ff4ea047268c8756fee6
Build date: 2023-09-07 02:03:50+00
Build branch: release-17.6
Build lane: release-17.6

Operating System
Mac OS X 14.0.0
Darwin 23.0.0 Darwin Kernel Version 23.0.0
    Fri Sep 15 14:41:34 PDT 2023
    root:xnu-10002.1.13~1/RELEASE_ARM64_T8103 arm64
keozx commented 9 months ago

same as above, but I have .NET 8 RC

pvma commented 9 months ago

I can confirm that it all works as expected using the following:

Xcode: 15 (15A240d). Xamarin.iOS version: xamarin.ios-16.4.0.18.pkg - (https://download.visualstudio.microsoft.com/download/pr/de7f727f-243c-4429-8773-eebd735eb1bb/da4a65f27ace7f805914ef63661e0efd/xamarin.ios-16.4.0.18.pkg). Visual studio Mac 2022: 17.6.4 (build 472). iOS (iPhone) version: 17.0.1.

This also worked for me. Plus, tried the same setup with Visual Studio for Mac, and also worked

phillippschmedt commented 9 months ago

It works fine for me too with this version and XCode 15. Only issue is I need to manually start the app when debugging.

My main question that remains is, are we safe for iOS 17.x in general now? So does this mean we have until iOS 18/Xcode 16 before we can run into issues again?

MariusPCK commented 9 months ago

It works fine for me too with this version and XCode 15. Only issue is I need to manually start the app when debugging.

My main question that remains is, are we safe for iOS 17.x in general now? So does this mean we have until iOS 18/Xcode 16 before we can run into issues again?

You are never safe my friend, this is Microsoft. On a serious note.. You are bretty much fucked for the future unless you move to MAUI :o

krassx commented 9 months ago

@pvma @phillippschmedt Are you on a macOS Sonoma or some other version? For me, the proposed workaround only fixes the absence of devices/simulators in the list of deployement targets. Application itself is not deployed to the selected device.

pvma commented 9 months ago

@pvma @phillippschmedt Are you on a macOS Sonoma or some other version? For me, the proposed workaround only fixes the absence of devices/simulators in the list of deployement targets. Application itself is not deployed to the selected device.

Yes, I am on macOS Sonoma

phillippschmedt commented 9 months ago

It works fine for me too with this version and XCode 15. Only issue is I need to manually start the app when debugging. My main question that remains is, are we safe for iOS 17.x in general now? So does this mean we have until iOS 18/Xcode 16 before we can run into issues again?

You are never safe my friend, this is Microsoft. On a serious note.. You are bretty much fucked for the future unless you move to MAUI :o

Yes we already started migrating our app. But MAUI and its ecosystem is so unstable for us, that every month more we have before we are forced to move is a big relief. So the actual question is for people familiar with the issues arising from iOS Updates. My understand is that with 17.1 we will get a new XCode Version and then again we are in the risk of xamarin breaking. At the same time Apple is usually giving us around 6 months before rejecting apps build with the old xcode versions in the app stores. To me that means, after 17.1 release, we will have around another 6 months before we risk of running into issues again. Can anyone support or deny this claim?

phillippschmedt commented 9 months ago

@pvma @phillippschmedt Are you on a macOS Sonoma or some other version? For me, the proposed workaround only fixes the absence of devices/simulators in the list of deployement targets. Application itself is not deployed to the selected device.

I am on latest Ventura 13.5.2, XCode 15, latest VS for Mac, and the xamarin version from this github issue. I usually work with Rider, Rider lists my iOS 17 device as incompatible. Deployment with VS for Mac works fine. App doesn't auto start after deployment, I need to manually start it on the device.

krassx commented 9 months ago

@pvma @phillippschmedt Are you on a macOS Sonoma or some other version? For me, the proposed workaround only fixes the absence of devices/simulators in the list of deployement targets. Application itself is not deployed to the selected device.

I am on latest Ventura 13.5.2, XCode 15, latest VS for Mac, and the xamarin version from this github issue. I usually work with Rider, Rider lists my iOS 17 device as incompatible. Deployment with VS for Mac works fine. App doesn't auto start after deployment, I need to manually start it on the device.

Thank you for the prompt and detailed answer. Will try to reset my env and start over with a clean setup. Maybe this will help.

phillippschmedt commented 9 months ago

https://devblogs.microsoft.com/dotnet/announcing-dotnet-maui-in-dotnet-8-rc-2/

Bonus 2: Xcode 15 and Android API 34 Xamarin developers can now use Xcode 15 to target the latest versions (e.g iOS 17, iPad 17), and build for Android API 34 in order to be compliant with store policies. To do this, install Visual Studio 17.8 Preview 3 or the latest stable version of Visual Studio for Mac and configure your environment as usual. This does not provide newer platform APIs, but does enable existing projects to continue building while you complete your upgrades to .NET 8 and .NET MAUI regardless of the Xamarin end-of-support date next year.

mnottbohm commented 9 months ago

I updated today to the newest VS Version 17.7.5, but still getting the error on XCODE 15 and ISO 17.0.3

The application get pushed to the device, but debugger crashing with:

Rebooted everything already many time!

error MT1007: Failed to launch the application '/Users/markus/Library/Caches/Xamarin/mtbs/builds/CycleProCut/fddf4f2e7c374baf78f3512d57eb3202069ef7c9fd586893e5d728a34a19d339/bin/Debug/net7.0-ios/ios-arm64/device-builds/iphone12.5-17.0.3/CycleProCut.app' on the device 'iPhone 11 von Markus': Failed to launch the application 'com.companyname.cycleprocut' on the device 'iPhone 11 von Markus': Invalid Service Error (error: 0xe8000022)

Thanks,

Markus

rolfbjarne commented 9 months ago

We've released the fix for this:

App doesn't auto start after deployment, I need to manually start it on the device.

This is a known issue, Apple completely rewrote how the communication between the device and the Mac happens, so we have to figure out how to support launching on device using their new code. Hopefully we'll have this fixed relatively soon.

svaldetero commented 9 months ago

This is a known issue, Apple completely rewrote how the communication between the device and the Mac happens, so we have to figure out how to support launching on device using their new code.

Is there a Github item we can follow that tracks that issue?

rolfbjarne commented 9 months ago

This is a known issue, Apple completely rewrote how the communication between the device and the Mac happens, so we have to figure out how to support launching on device using their new code.

Is there a Github item we can follow that tracks that issue?

I've implemented a fix, and we'll try to get this released asap.

thedee commented 9 months ago

This is a known issue, Apple completely rewrote how the communication between the device and the Mac happens, so we have to figure out how to support launching on device using their new code.

Is there a Github item we can follow that tracks that issue?

I've implemented a fix, and we'll try to get this released asap.

Anymore updates on this? We have customers bombing and need a fix asap. Our Xamarin.Form apps crashes right aways as explained in this post.

IainS1986 commented 9 months ago

It's explained in the first post how to fix it.

Needing to launch the app manually to debug is a separate thing - and does not stop you doing a build the will work for your customers.

thedee commented 9 months ago

It's explained in the first post how to fix it.

Needing to launch the app manually to debug is a separate thing - and does not stop you doing a build the will work for your customers.

We make our build with a DevOps Azure pipleline so we are kindof stuck.

noahcolvin commented 9 months ago

We make our build with a DevOps Azure pipleline so we are kindof stuck.

We use VS App Center, which is very slow to update, but the weak-framework fix has worked and has been deployed for weeks already without issue.

IainS1986 commented 9 months ago

Well you're in for bad news, this fix is unlikely to make it onto azure DevOps. I posted asking and basically got a 'no' response.

This issue is, it needs osx13 in order to install the later Xcode, and the mac13 image does not have Xamarin support. Only the lower mac12 image does, but it can't have Xcode 15 so can't have this fix installed.

Your options are to do manual builds and upload those.

Or you can target mac13 image but you'll have to have build steps to install the Xamarin packages you need first.

Either way you'll likely have to look into sorting this yourself I think.

thedee commented 9 months ago

We make our build with a DevOps Azure pipleline so we are kindof stuck.

We use VS App Center, which is very slow to update, but the weak-framework fix has worked and has been deployed for weeks already without issue.

With the "--weak-framework=NewsstandKit.framework/NewsstandKit" args are you able to debug or just make a build and it works? I tried the args and debugging doesn't work but have yet to try making an ipa and testing that out.

noahcolvin commented 9 months ago

We make our build with a DevOps Azure pipleline so we are kindof stuck.

We use VS App Center, which is very slow to update, but the weak-framework fix has worked and has been deployed for weeks already without issue.

With the "--weak-framework=NewsstandKit.framework/NewsstandKit" args are you able to debug or just make a build and it works? I tried the args and debugging doesn't work but have yet to try making an ipa and testing that out.

Yes, I haven't updated Xcode or installed the latest VS and Xamarin packages (so that I match App Center) and can still debug locally. I added that argument to all the build configs and it's working fine in iOS 17. App Center had no issue building and uploading to the store. Had it released a week before iOS 17 dropped.

beeradmoore commented 9 months ago

People keep mentioning AppCenter so I'll put this bit of info here.

Use boots to install later version Xamarin iOS and Android packages and don't wait for them to update it.

https://github.com/jonathanpeppers/boots

Additionally I went back and forwards with AppCenter support about Xcode 14.3 support. It (and 15) are available in some of their other iOS build systems (native and react from memory) but not the Xamarin ones.

I asked if we they can just add the build step to install Xamarin with booths on the later macOS images which should then have all the other required parts.

That has gone back to their engineering team to determine if it's possible/viable 🤞

thedee commented 9 months ago

As it turns out I didn't have to do the --weak args. All I did was to add this to the App.xaml:

<Application ...
             xmlns:ios="clr-namespace:Xamarin.Forms.PlatformConfiguration.iOSSpecific;assembly=Xamarin.Forms.Core"
             ios:Application.HandleControlUpdatesOnMainThread="true">
    ...
</Application>

One of the crashes we were only gettiing on ios17 was:

Message=Objective-C exception thrown.  Name: NSInternalInconsistencyException Reason: Modifications to the layout engine must not be performed from a background thread after it has been accessed from the main thread.
StackTrace:
  at ObjCRuntime.Runtime.ThrowNSException (System.IntPtr ns_exception) [0x00000] in /Library/Frameworks/Xamarin.iOS.framework/Versions/16.4.0.18/src/Xamarin.iOS/ObjCRuntime/Runtime.cs:459 
  at ObjCRuntime.Runtime.throw_ns_exception (System.IntPtr exc) [0x00000] in /Users/builder/azdo/_work/1/s/xamarin-macios/runtime/Delegates.generated.cs:277 
  at (wrapper native-to-managed) ObjCRuntime.Runtime.throw_ns_exception(intptr)
  at (wrapper managed-to-native) ObjCRuntime.Messaging.void_objc_msgSend(intptr,intptr)
  at CoreAnimation.CATransaction.Commit () [0x00000] in /Library/Frameworks/Xamarin.iOS.framework/Versions/16.4.0.18/src/Xamarin.iOS/CoreAnimation/CATransaction.g.cs:90 
  at Xamarin.Forms.Platform.iOS.CADisplayLinkTicker.StartThread () [0x0003a] in D:\a\1\s\Xamarin.Forms.Platform.iOS\CADisplayLinkTicker.cs:61 
  at (wrapper delegate-invoke) <Module>.invoke_void()
  at System.Threading.ThreadHelper.ThreadStart_Context (System.Object state) [0x00014] in /Library/Frameworks/Xamarin.iOS.framework/Versions/Current/src/Xamarin.iOS/mcs/class/referencesource/mscorlib/system/threading/thread.cs:74 
  at (wrapper delegate-invoke) <Module>.invoke_void_object(object)
  at System.Threading.ExecutionContext.RunInternal (System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state, System.Boolean preserveSyncCtx) [0x00071] in /Library/Frameworks/Xamarin.iOS.framework/Versions/Current/src/Xamarin.iOS/mcs/class/referencesource/mscorlib/system/threading/executioncontext.cs:968 
  at System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state, System.Boolean preserveSyncCtx) [0x00000] in /Library/Frameworks/Xamarin.iOS.framework/Versions/Current/src/Xamarin.iOS/mcs/class/referencesource/mscorlib/system/threading/executioncontext.cs:910 
  at System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state) [0x0002b] in /Library/Frameworks/Xamarin.iOS.framework/Versions/Current/src/Xamarin.iOS/mcs/class/referencesource/mscorlib/system/threading/executioncontext.cs:899 
  at System.Threading.ThreadHelper.ThreadStart () [0x00008] in /Library/Frameworks/Xamarin.iOS.framework/Versions/Current/src/Xamarin.iOS/mcs/class/referencesource/mscorlib/system/threading/thread.cs:111 
  at (wrapper delegate-invoke) <Module>.invoke_void()

After doing that my application currently is working fine. We are still doing more test but ios17 so far starts up with no problems. Hopefully customers will have same good results.