iOS 9 IMA SDK 3.11.1 & 3.10.1 openURL crash

87 views
Skip to first unread message

Barry Bryant

unread,
Jan 24, 2020, 10:50:00 AM1/24/20
to Interactive Media Ads SDK
https://developer.apple.com/documentation/uikit/uiapplication/1648685-openurl

When tapping learn more, the iOS SDK is calling openURL:options:completionHandler: on versions of iOS below 10—which results in:

2020-01-24 10:40:11.070    [68865:2428787] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UIApplication openURL:options:completionHandler:]: unrecognized selector sent to instance 0x7fec3cc18c00'

*** First throw call stack:

(

    0   CoreFoundation                      0x00000001108fed85 __exceptionPreprocess + 165

    1   libobjc.A.dylib                     0x0000000115289deb objc_exception_throw + 48

    2   CoreFoundation                      0x0000000110907d3d -[NSObject(NSObject) doesNotRecognizeSelector:] + 205

    3   CoreFoundation                      0x000000011084dcfa ___forwarding___ + 970

    4   CoreFoundation                      0x000000011084d8a8 _CF_forwarding_prep_0 + 120

    5   GoogleInteractiveMediaAds           0x00000001122f3ce9 +[IMASceneAdapter openURL:window:completionHandler:] + 140

    6   GoogleInteractiveMediaAds           0x0000000112302d4d -[IMAURLOpener openURLInSafari:] + 420

    7   GoogleInteractiveMediaAds           0x0000000112302b92 -[IMAURLOpener openWebURL:] + 335

    8   GoogleInteractiveMediaAds           0x00000001123023e9 -[IMAURLOpener openURL:] + 84

    9   GoogleInteractiveMediaAds           0x00000001122f1ecc -[IMABaseManager handleMessageNavigationRequested:] + 223

    10  CoreFoundation                      0x00000001108c8c8c __CFNOTIFICATIONCENTER_IS_CALLING_OUT_TO_AN_OBSERVER__ + 12

    11  CoreFoundation                      0x00000001108c89cb _CFXRegistrationPost + 427

    12  CoreFoundation                      0x00000001108c8732 ___CFXNotificationPost_block_invoke + 50

    13  CoreFoundation                      0x00000001109111e2 -[_CFXNotificationRegistrar find:object:observer:enumerator:] + 1986

    14  CoreFoundation                      0x00000001107c0679 _CFXNotificationPost + 633

    15  Foundation                          0x0000000111dc0cd9 -[NSNotificationCenter postNotificationName:object:userInfo:] + 66

    16  GoogleInteractiveMediaAds           0x000000011230b5a5 -[IMAJavaScriptSession didReceiveMessage:] + 322

    17  GoogleInteractiveMediaAds           0x000000011230a852 -[IMABaseDispatcher processNewMessage:] + 319

    18  GoogleInteractiveMediaAds           0x000000011230a6fd -[IMABaseDispatcher processNewMessageWithChannelName:data:] + 102

    19  GoogleInteractiveMediaAds           0x0000000112309ffd -[IMAWebViewDispatcher processNewMessageWithChannelName:data:] + 95

    20  GoogleInteractiveMediaAds           0x00000001122e7e03 -[IMAJavaScriptIosBridge webView:didReceiveMessage:] + 161

    21  GoogleInteractiveMediaAds           0x0000000112309789 -[IMAWKWebView userContentController:didReceiveScriptMessage:] + 164

    22  WebKit                              0x0000000114d3f631 _ZN28ScriptMessageHandlerDelegate14didPostMessageERN6WebKit12WebPageProxyERNS0_13WebFrameProxyERKNS0_18SecurityOriginDataERN7WebCore21SerializedScriptValueE + 217

    23  WebKit                              0x0000000114ce9bd3 _ZN6WebKit29WebUserContentControllerProxy14didPostMessageERN3IPC10ConnectionEyyRKNS_18SecurityOriginDataEyRKNS1_13DataReferenceE + 221

    24  WebKit                              0x0000000114ceb8c8 _ZN3IPC13handleMessageIN8Messages29WebUserContentControllerProxy14DidPostMessageEN6WebKit29WebUserContentControllerProxyEMS5_FvRNS_10ConnectionEyyRKNS4_18SecurityOriginDataEyRKNS_13DataReferenceEEEEvS7_RNS_14MessageDecoderEPT0_T1_ + 142

    25  WebKit                              0x0000000114b4acd7 _ZN3IPC18MessageReceiverMap15dispatchMessageERNS_10ConnectionERNS_14MessageDecoderE + 113

    26  WebKit                              0x0000000114ccd270 _ZN6WebKit15WebProcessProxy17didReceiveMessageERN3IPC10ConnectionERNS1_14MessageDecoderE + 24

    27  WebKit                              0x0000000114b08d76 _ZN3IPC10Connection15dispatchMessageENSt3__110unique_ptrINS_14MessageDecoderENS1_14default_deleteIS3_EEEE + 102

    28  WebKit                              0x0000000114b0b03e _ZN3IPC10Connection18dispatchOneMessageEv + 114

    29  JavaScriptCore                      0x000000011b52d802 _ZN3WTF7RunLoop11performWorkEv + 898

    30  JavaScriptCore                      0x000000011b52dd12 _ZN3WTF7RunLoop11performWorkEPv + 34

    31  CoreFoundation                      0x0000000110824301 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17

    32  CoreFoundation                      0x000000011081a22c __CFRunLoopDoSources0 + 556

    33  CoreFoundation                      0x00000001108196e3 __CFRunLoopRun + 867

    34  CoreFoundation                      0x00000001108190f8 CFRunLoopRunSpecific + 488

    35  GraphicsServices                    0x00000001179f8ad2 GSEventRunModal + 161

    36  UIKit                               0x0000000113334f09 UIApplicationMain + 171

    37                                      0x000000010cc3b98b main + 75

    38  libdyld.dylib                       0x000000011665092d start + 1

IMA SDK

unread,
Jan 24, 2020, 4:45:03 PM1/24/20
to ima...@googlegroups.com
Hi,

Thank you for reporting this to us. The IMA iOS SDK offers downloadable interface libraries which allow native application developers to request and track VAST ads in the iOS (9.0+) environment. Can you be more specific on the iOS version you were using when the error occurred?

Regards,
Arnaud Casame
IMA SDK Team


ref:_00D1U1174p._5001USwxoD:ref

Barry Bryant

unread,
Jan 27, 2020, 9:53:50 AM1/27/20
to Interactive Media Ads SDK
Hi,

Thanks for the response. This crash occurred on iOS 9.3. It was a result of the IMA SDK calling a method that is not available on iOS versions below iOS 10. This was not present on version 3.9.* of the IMA SDK.

Barry Bryant

unread,
Jan 27, 2020, 10:00:20 AM1/27/20
to Interactive Media Ads SDK
When I look at the stack trace and see


Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UIApplication openURL:options:completionHandler:]: unrecognized selector sent to instance 0x7fec3cc18c00'

in conjunction with:

   5   GoogleInteractiveMediaAds           0x00000001122f3ce9 +[IMASceneAdapter openURL:window:completionHandler:] + 140

    6   GoogleInteractiveMediaAds           0x0000000112302d4d -[IMAURLOpener openURLInSafari:] + 420

    7   GoogleInteractiveMediaAds           0x0000000112302b92 -[IMAURLOpener openWebURL:] + 335

    8   GoogleInteractiveMediaAds           0x00000001123023e9 -[IMAURLOpener openURL:] + 84

it makes me think the SDK is not checking OS level when calling the new openURL method.

IMA SDK

unread,
Jan 27, 2020, 2:41:36 PM1/27/20
to ima...@googlegroups.com
Hi Barry,

Allow me to share the openURL crash with the rest of the team, they are going to review it and I'll get back to you once we have more information.


Regards,
Arnaud Casame
IMA SDK Team


ref:_00D1U1174p._5001USwxoD:ref

Barry Bryant

unread,
Jan 29, 2020, 9:50:35 AM1/29/20
to Interactive Media Ads SDK
Awesome, thanks!
Reply all
Reply to author
Forward
0 new messages