diff --git a/flutter/ios/Classes/SentryFlutterPluginApple.swift b/flutter/ios/Classes/SentryFlutterPluginApple.swift index 5aaa8a1ba..0bce8ba3b 100644 --- a/flutter/ios/Classes/SentryFlutterPluginApple.swift +++ b/flutter/ios/Classes/SentryFlutterPluginApple.swift @@ -278,28 +278,31 @@ public class SentryFlutterPluginApple: NSObject, FlutterPlugin { } private func loadImageList(_ call: FlutterMethodCall, result: @escaping FlutterResult) { - var debugImages: [DebugMeta] = [] - - if let arguments = call.arguments as? Array , !arguments.isEmpty{ - var imagesAddresses: Set = [] - - for argument in arguments { - let hexDigits = argument.replacingOccurrences(of: "0x", with: "") - if let instructionAddress = UInt64(hexDigits, radix: 16) { - let image = SentryDependencyContainer.sharedInstance().binaryImageCache.image(byAddress: instructionAddress) - if let image = image { - let imageAddress = sentry_formatHexAddressUInt64(image.address)! - imagesAddresses.insert(imageAddress) - } - } - } - debugImages = SentryDependencyContainer.sharedInstance().debugImageProvider.getDebugImages(forAddresses: imagesAddresses, isCrash: false) as [DebugMeta] - } - if (debugImages.isEmpty) { - debugImages = PrivateSentrySDKOnly.getDebugImages() as [DebugMeta] - } - - result(debugImages.map { $0.serialize() }) + var debugImages: [DebugMeta] = [] + + if let arguments = call.arguments as? [String], !arguments.isEmpty { + var imagesAddresses: Set = [] + + for argument in arguments { + let hexDigits = argument.replacingOccurrences(of: "0x", with: "") + if let instructionAddress = UInt64(hexDigits, radix: 16) { + let image = SentryDependencyContainer.sharedInstance().binaryImageCache.image( + byAddress: instructionAddress) + if let image = image { + let imageAddress = sentry_formatHexAddressUInt64(image.address)! + imagesAddresses.insert(imageAddress) + } + } + } + debugImages = + SentryDependencyContainer.sharedInstance().debugImageProvider.getDebugImages( + forAddresses: imagesAddresses, isCrash: false) as [DebugMeta] + } + if debugImages.isEmpty { + debugImages = PrivateSentrySDKOnly.getDebugImages() as [DebugMeta] + } + + result(debugImages.map { $0.serialize() }) } private func initNativeSdk(_ call: FlutterMethodCall, result: @escaping FlutterResult) {