[MOD-2538] iOS 13: Interstitial ads are opened in the new modal style window with Admob Module

GitHub Issuen/a
Resolution Date2019-09-20T21:58:21.000+0000
Affected Version/sRelease 8.2.0
Fix Version/sn/a
LabelsengSchedule, iOS13
ReporterAbir Mukherjee
AssigneeVijay Singh


Having a problem with iOS 13 and the Admob Module. With iOS 13 it opens interstitial ads in the new modal style window so you can see the app behind it. I do not think it should be like this.


  1. Hans Knöchel 2019-09-10 Google needs to fix their Admob SDK, this is not a Titanium issue.
  2. Vijay Singh 2019-09-10 [~amukherjee] Hans is right. We are calling their API to present view controller from [here](https://github.com/appcelerator-modules/ti.admob/blob/5f696a71e1766fe086b254f04edf11e3a06fe13d/ios/Classes/TiAdmobView.m#L225). Probably In latest Admob SDK, it may have been fixed. I'll check.
  3. Donovan Lewis 2019-09-11 I have not tested with Admob SDK 7.49.0 to see if it was fixed. I have not had the time to update a module with it. But I did report the issue to Google, will update if they respond.
  4. Vijay Singh 2019-09-11 I just verified it. It is fixed in 7.49.0. Will create PR.
  5. Donovan Lewis 2019-09-11 Ah awesome, thanks Vijay :D
  6. Vijay Singh 2019-09-11 PR - https://github.com/appcelerator-modules/ti.admob/pull/91
  7. Donovan Lewis 2019-09-20 Any update on if this PR has been merged now that iOS 13 is officially out now?
  8. Vijay Singh 2019-09-20 Yeah. It’s merged. You can get updated module from https://github.com/appcelerator-modules/ti.admob/releases .
  9. Donovan Lewis 2019-09-20 Thank you Vijay. I see the module folder is now 150 MB+ in size is that normal?
  10. Vijay Singh 2019-09-20 Yeah. It's normal. You can see the major size of this folder comes due to frameworks inside platform/ folder.
  11. Lokesh Choudhary 2019-09-20 FR Passed. PR Merged. Closing.
  12. Donovan Lewis 2019-09-21 This module does not seem to work or has some issue. It crashes every time I open the simulator with the module. Even with the example provided. I'm using 8.2.0 GA SDK.
  13. Donovan Lewis 2019-09-21 After running some more tests I finally got the app to not crash on start up but I get the following error. It still does not work.
        [ERROR] :  Script Error {
        [ERROR] :      column = 9;
        [ERROR] :      line = 60;
        [ERROR] :      message = "The Google Mobile Ads SDK was initialized incorrectly. Google AdMob publishers, follow instructions here: https://googlemobileadssdk.page.link/admob-ios-update-plist to include the AppMeasurement framework, set the -ObjC linker flag, and set GADApplicationIdentifier with a valid App ID. Google Ad Manager publishers, follow instructions here: https://googlemobileadssdk.page.link/ad-manager-ios-update-plist";
        [ERROR] :      nativeStack = "3   iPadTest   0x000000010bba7834 GADApplicationVerifyPublisherInitializedAnalyticsCorrectly + 263\n4   iPadTest   0x000000010bb573c8 GADStatusBarOrientation + 3141\n5   iPadTest   0x000000010bb57765 GADStatusBarOrientation + 4066\n6   iPadTest   0x000000010bb5e527 GADDispatchAsyncSafeMainQueue + 45\n7   iPadTest   0x000000010bb5773b GADStatusBarOrientation + 4024\n8   iPadTest   0x000000010bbb3d48 GAD_GADAdSource_x86_64_7_49_0 + 2093\n9   iPadTest   0x000000010bb75fd3 GAD_GADInternalBannerView_x86_64_7_49_0 + 8013\n10  iPadTest   0x000000010bb75449 GAD_GADInternalBannerView_x86_64_7_49_0 + 5059\n11  iPadTest   0x000000010bb5e527 GADDispatchAsyncSafeMainQueue + 45\n12  iPadTest   0x000000010bb751d2 GAD_GADInternalBannerView_x86_64_7_49_0 + 4428\n13  iPadTest   0x000000010bb75618 GAD_GADInternalBannerView_x86_64_7_49_0 + 5522\n14  iPadTest   0x000000010bb21c77 GAD_GADBannerView_x86_64_7_49_0 + 4535\n15  iPadTest   0x000000010bd0b7ab -[TiAdmobView frameSizeChanged:bounds:] + 386\n16  TitaniumKit0x000000010c51a655 -[TiUIView checkBounds] + 506\n17  TitaniumKit0x000000010c51a6bb -[TiUIView setBounds:] + 83\n18  TitaniumKit0x000000010c52e8d2 -[TiViewProxy relayout] + 842\n19  TitaniumKit0x000000010c52ae11 -[TiViewProxy view] + 795\n20  TitaniumKit0x000000010c52acc9 -[TiViewProxy view] + 467\n21  TitaniumKit0x000000010c4fe7d2 -[TiWindowProxy openOnUIThread:] + 72\n22  TitaniumKit0x000000010c4fd87e -[TiWindowProxy open:] + 988";
        [ERROR] :      sourceURL = "file:///Users/Name/Library/Developer/CoreSimulator/Devices/46400291-97B0-4D95-A380-EB5638FCC2BF/data/Containers/Bundle/Application/9091A184-87B8-4E61-A29D-B95731D349A6/iPadTest.app/app.js";
        [ERROR] :      stack = "    at [native code]\n    at (/app.js:60:9)\n    at global code(/app.js:63:70)\n    at require@[native code]\n    at (/ti.main.js:11677:10)\n    at loadAsync(/ti.main.js:11603:13)\n    at global code(/ti.main.js:11674:10)";
        [ERROR] :      toJSON = "<KrollCallback: 0x600002c07240>";
        [ERROR] :  }
        [ERROR] :  Script Error {
        [ERROR] :      column = 10;
        [ERROR] :      line = 11677;
        [ERROR] :      message = "-[__NSCFString count]: unrecognized selector sent to instance 0x7f914a09b000";
        [ERROR] :      sourceURL = "file:///Users/name/Library/Developer/CoreSimulator/Devices/46400291-97B0-4D95-A380-EB5638FCC2BF/data/Containers/Bundle/Application/9091A184-87B8-4E61-A29D-B95731D349A6/iPadTest.app/ti.main.js";
        [ERROR] :      stack = "    at require@[native code]\n    at (/ti.main.js:11677:10)\n    at loadAsync(/ti.main.js:11603:13)\n    at global code(/ti.main.js:11674:10)";
        [ERROR] :      toJSON = "<KrollCallback: 0x600002c7d840>";
        [ERROR] :  }
  14. Vijay Singh 2019-09-21 See the doc. “ If using module 2.5.0+, add following key in tiapp.xml, inside ios plist section. GADIsAdManagerApp Probably it will fix your problem.
  15. Donovan Lewis 2019-09-21 Thanks for letting me know about that. I still get tho with 2.5.0 of the module now.
        [ERROR] ** BUILD FAILED **
        [ERROR] The following build commands failed:
        [ERROR]         Ld /Users/name/Documents/Workspace/iPad\ Test/build/iphone/build/Products/Debug-iphonesimulator/iPadTest.app/iPadTest normal x86_64
        [ERROR] (1 failure)
    But doesn't tell me anything more.

JSON Source