Ads - Crash on iOS release only

Hello there!

Im getting a crash when the PlayerConfig has the AdvertisingConfig data, but this only happens on release versions.

Last Exception Backtrace:
0 CoreFoundation 0x1d784a248 __exceptionPreprocess + 164 (NSException.m:202)
1 libobjc.A.dylib 0x1d0c17a68 objc_exception_throw + 60 (objc-exception.mm:356)
2 Foundation 0x1d21d681c -[NSAssertionHandler handleFailureInMethod:object:file:lineNumber:description:] + 188 (NSException.m:242)
3 BitmovinPlayer 0x10191d1c4 -[BMPDefaultAdvertisingService ensureSupportedImaVersion] + 204

Any ideas how to debug that?

To add the ads support to my app, I added the pod:

pod ‘GoogleAds-IMA-iOS-SDK’, ‘3.14.5’

Is there other steps to do that I missed from the samples?

Thanks.

Hi @rafael.f.iga , thanks for reporting this. Can you please share the version of Bitmovin iOS player SDK that you are using? This backtrace seems to refer to code in an older version of SDK.

Hello @lucky.goyal , its 3.9.2.

thanks @rafael.f.iga , can you please try with latest player version Bitmovin Docs - Player iOS / tvOS Release 3.28.0 and check the behaviour. The issue seems to come from a check in older player version which was removed subsequently.

@lucky.goyal I did some more tests and it seems related to the new Xcode 14.

When I build and upload the app using Xcode 14, I get these warnings when the upload is finished:

App Store Connect Operation Error
The app references non-public selectors in Payload/Runner.app/Frameworks/GoogleInteractiveMediaAds.framework/GoogleInteractiveMediaAds: playbackBufferFull, playbackLikelyToKeepUp

App Store Connect Operation Error
The app references non-public selectors in Payload/Runner.app/Frameworks/BitmovinPlayer.framework/BitmovinPlayer: adData, creativeID, currentMediaTime, skip

App Store Connect Operation Error
The app references non-public selectors in Payload/Runner.app/Runner: netServiceBrowser:didRemoveService:

When I build and upload using Xcode 13, everything works well, no crashes.

So my guess is something that Apple is forcing us to use or update…

Other difference is with Xcode 14 I had to change on my Podfile the iOS version from 12 to 14.

@rafael.f.iga , thanks for additional insights. The App store warnings seem to be indeed introduced with Xcode 14 as per Apple forums thread 'The app references non-public sel… | Apple Developer Forums

But not sure if these warnings are related to app crash when compiled and submitted from Xcode 14.

Other difference is with Xcode 14 I had to change on my Podfile the iOS version from 12 to 14.

This should not be the case. Do you have to do this even when building BasicAds Bitmovin sample application with Xcode 14?

Also, from your investigation it seems the issue may not be related to Bitmovin SDK version but I will suggest to try with latest SDK(if not already tried) to rule out this possibility.

Thanks for the Apple Forum thread link, I didnt find any information on this when researching yesterday!

About 12 to 14, you are right, I forgot to mention that: I had to increase the ios min version because of other library that Im using, not related to Bitmovin.

Right now we are doing some tests to see if the ADs with Xcode 13 build is working well, then Im going to go back to Xcode 14 to do some more tests because sooner or later Im gonna need to upgrade.

Im using latest Bitmovin SDK now: 3.28.0.

Thanks for information. Please let us know when you have any more insights. Meanwhile, I will also check if we have similar reports from other customers.

Hi I got crash in iOS 16 when user tap on play/pause button.
BitmovinPlayer/DefaultSeekingService.swift:236: Fatal error: Current source cannot be nil

Hi @abichal.jha,

This crash sounds unrelated to what this thread originally is about.

Could you please create a new question? What would also be helpful is information on how you configure the Player. In this case, which UI you are using.