Skip to content

Intermittent Application Crash in SocketMobile.Capture 1.7.68.40 on MAUI iOS after upgrading from Xcode 16.4 to Xcode 26 #10

@vkrishnaext

Description

@vkrishnaext

Your Socket Mobile Developer ID

vkrishna

Environment

OS Version : 26.3

Description

Hello SocketMobile Team,

I have been using SocketMobile.Capture version 1.7.68.40 in my .NET MAUI iOS application for a long time, and the Socket scanner functionality has been working reliably without any issues.

Recently, I upgraded my build environment from Xcode 16.4 to Xcode 26 (currently testing on iOS 26.3.1). After this upgrade, I started encountering an intermittent crash related to the Socket scanner package.

Issue Details:
Package Version: SocketMobile.Capture 1.7.68.40
Platform: .NET MAUI iOS
Previous Xcode Version: 16.4 (No issues)
Current Xcode Version: 26
Device OS: iOS 26.3.1
Crash Behavior:
The scanner works normally for several hours (approximately 3–4 hours).
The crash occurs only once intermittently during scanner usage.
This issue started only after upgrading Xcode.
Exception:

System.ArgumentNullException: ArgumentNull_Generic Arg_ParamName_Name, key
   at System.Collections.Generic.Dictionary`2.TryInsert(...)
   at System.Collections.Generic.Dictionary`2.Add(SKTCapture key, CaptureCore value)
   at SocketMobile.Capture.CaptureCore.AddCaptureDevice(SKTCapture captureDevice, CaptureCore captureCore)
   at SocketMobile.Capture.CaptureCore.<>c__DisplayClass17_0.<OpenAsync>b__1(Int32 result, SKTCapture captureDevice)
   at ObjCRuntime.Trampolines.SDActionArity2V1.Invoke(...)

Full Log:

System.ArgumentNullException: ArgumentNull_Generic Arg_ParamName_Name, key
   at System.Collections.Generic.Dictionary`2[[SocketMobile.Capture.SKTCapture, SocketMobile.Capture.Maui.iOS, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null],[SocketMobile.Capture.CaptureCore, SocketMobile.Capture.Maui.iOS, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]].TryInsert(SKTCapture , CaptureCore , InsertionBehavior )
   at System.Collections.Generic.Dictionary`2[[SocketMobile.Capture.SKTCapture, SocketMobile.Capture.Maui.iOS, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null],[SocketMobile.Capture.CaptureCore, SocketMobile.Capture.Maui.iOS, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]].Add(SKTCapture key, CaptureCore value)
   at SocketMobile.Capture.CaptureCore.AddCaptureDevice(SKTCapture captureDevice, CaptureCore captureCore)
   at SocketMobile.Capture.CaptureCore.<>c__DisplayClass17_0.<OpenAsync>b__1(Int32 result, SKTCapture captureDevice)
   at ObjCRuntime.Trampolines.SDActionArity2V1.Invoke(IntPtr block, Int32 arg1, NativeHandle arg2)
414|2026-04-30T10:24:54.3190690+00:00|ERROR|230|MetroLogger|Device: Phone, OS: iOS 26.3.1, App: 6.0.5 (Build 6.0.5.10), UserName: QTUS7856 --> System.ArgumentNullException: ArgumentNull_Generic Arg_ParamName_Name, key
   at System.Collections.Generic.Dictionary`2[[SocketMobile.Capture.SKTCapture, SocketMobile.Capture.Maui.iOS, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null],[SocketMobile.Capture.CaptureCore, SocketMobile.Capture.Maui.iOS, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]].TryInsert(SKTCapture , CaptureCore , InsertionBehavior )
   at System.Collections.Generic.Dictionary`2[[SocketMobile.Capture.SKTCapture, SocketMobile.Capture.Maui.iOS, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null],[SocketMobile.Capture.CaptureCore, SocketMobile.Capture.Maui.iOS, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]].Add(SKTCapture key, CaptureCore value)
   at SocketMobile.Capture.CaptureCore.AddCaptureDevice(SKTCapture captureDevice, CaptureCore captureCore)
   at SocketMobile.Capture.CaptureCore.<>c__DisplayClass17_0.<OpenAsync>b__1(Int32 result, SKTCapture captureDevice)
   at ObjCRuntime.Trampolines.SDActionArity2V1.Invoke(IntPtr block, Int32 arg1, NativeHandle arg2)

My Question:

Could this be related to:

Xcode 26 / iOS 26 compatibility,
changes in Bluetooth or device callback behavior,
or a null SKTCapture object being returned during OpenAsync?

Please let me know:

Whether this is a known compatibility issue with newer Xcode/iOS versions
If there is an updated package version recommended for Xcode 26
Any workaround or fix for preventing this null key crash

Thank you for your support.

Steps to Reproduce

  1. Connect socket scanner with Companion app in iPhone.
  2. Opening my application and use socket scanner in application
  3. After 2 to 3 hrs getting mentioned crash

Expected Behavior

Application shouldn't crash while using the socket scanner with my application

Actual Behavior

The application crashes while using the Socket scanner continuously for an extended period (approximately 2 to 3 hours).

Additional Context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions