Saltearse al contenido

Unity iOS Podfile Issues

Esta página aún no está disponible en tu idioma.

Problem

Sometimes, the Unity External Dependency Manager makes Podfile changes that result in errors on iOS. This can lead to a number of different error messages. Here are some examples:

2021-03-11 11:08:47.571790+0100 demo[61453:2259760] Uncaught exception: NSInvalidArgumentException: Passed an object of type other than ALAd: ALAdServerAd.
(
0 CoreFoundation 0x0000000184755880 727F2644-EB4E-3D57-BC2E-E6803BA92366 + 1202304
1 libobjc.A.dylib 0x0000000199770c50 objc_exception_throw + 60
2 CoreFoundation 0x000000018464e4a4 727F2644-EB4E-3D57-BC2E-E6803BA92366 + 124068
3 demo 0x0000000104a92768 +[ALUtils assertValidAd:] + 408
4 demo 0x0000000104a09274 -[ALAdView render:] + 72
5 demo 0x0000000104a68268 __64-[ALAppLovinMediationAdapterAdViewDelegate adService:didLoadAd:]_block_invoke + 588
6 Foundation 0x0000000185aa4850 7698BF3E-0CF6-31C0-85E9-562714F01276 + 1259600
7 Foundation 0x0000000185991740 7698BF3E-0CF6-31C0-85E9-562714F01276 + 132928
8 Foundation 0x0000000185aa6ca4 7698BF3E-0CF6-31C0-85E9-562714F01276 + 1268900
9 Foundation 0x00000001859913c8 7698BF3E-0CF6-31C0-85E9-562714F01276 + 132040
10 Foundation 0x0000000185aa774c 7698BF3E-0CF6-31C0-85E9-562714F01276 + 1271628
11 Foundation 0x0000000185aa71d4 7698BF3E-0CF6-31C0-85E9-562714F01276 + 1270228
12 libdispatch.dylib 0x0000000184357fb8 B92757B1-0434-3E9B-A3AC-B6DA6B81945C + 73656
13 libdispatch.dylib 0x0000000184349db0 B92757B1-0434-3E9B-A3AC-B6DA6B81945C + 15792
14 libdispatch.dylib 0x00000001843577ac _dispatch_main_queue_callback_4CF + 836
15 CoreFoundation 0x00000001846d111c 727F2644-EB4E-3D57-BC2E-E6803BA92366 + 659740
16 CoreFoundation 0x00000001846cb120 727F2644-EB4E-3D57-BC2E-E6803BA92366 + 635168
17 CoreFoundation 0x00000001846ca21c CFRunLoopRunSpecific + 600
18 GraphicsServices 0x000000019c296784 GSEventRunModal + 164
19 UIKitCore 0x000000018710aee8 8518EAE3-832B-3FF0-9FA5-9DBE3041F26C + 12357352
20 UIKitCore 0x000000018711075c UIApplicationMain + 168
21 UnityFramework 0x000000010bed9704 -[UnityFramework runUIApplicationMainWithArgc:argv:] + 108
22 demo 0x0000000104898e5c main + 68
23 libdyld.dylib 0x000000018438a6b0 21B19919-1334-38BC-B233-896E929945E0 + 5808
)
2021-03-11 11:08:47.572392+0100 demo[61453:2259760] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Passed an object of type other than ALAd: ALAdServerAd.'
*** First throw call stack:
(0x18475586c 0x199770c50 0x18464e4a4 0x104a92768 0x104a09274 0x104a68268 0x185aa4850 0x185991740 0x185aa6ca4 0x1859913c8 0x185aa774c 0x185aa71d4 0x184357fb8 0x184349db0 0x1843577ac 0x1846d111c 0x1846cb120 0x1846ca21c 0x19c296784 0x18710aee8 0x18711075c 0x10bed9704 0x104898e5c 0x18438a6b0)
libc++abi.dylib: terminating with uncaught exception of type NSException
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Passed an object of type other than ALAd: ALAdServerAd.'
terminating with uncaught exception of type NSException

Or:

18:57:54.955924+0300 demo [AppLovinSdk] ERROR [ALIncentivizedInterstitialAd] Attempted to display a non-incentivized ad using ALIncentivizedInterstitialAd: [ALAd #9224781 source=4, zoneIdentifier=(null), size=[ALAdSize: INTER], type=[ALAdType: VIDEOA]]

Or:

2021-04-12 16:14:11.491511+0300 demo [956:240795] [AppLovinSdk] ERROR [ALSdk] Developer passed nil instead of ALAd instance - please check object types!
2021-04-12 16:14:11.497797+0300 demo [956:240795] [AppLovinSdk] ERROR [ALSdk] Called with an invalid object type from: (
0 carrace 0x00000001025d07fc +[ALUtils assertValidAd:] + 280
1 carrace 0x0000000102545278 -[ALAdView render:] + 72
2 carrace 0x00000001025a590c __64-[ALAppLovinMediationAdapterAdViewDelegate adService:didLoadAd:]_block_invoke + 588
3 Foundation 0x000000019c9063f0

Solution

  1. Update the Unity External Dependency Manager to at least version 1.2.164.
  2. In the Unity External Dependency Manager OS Resolver Settings (Assets > External Dependency Manager > iOS Resolver > Settings), uncheck the Add use_frameworks! to Podfile and Always add the main target to Podfile boxes.

iOS Resolver Settings

Alternative Solution

Remove the following lines from the Podfile:

target 'Unity-iPhone' do
end
use_frameworks!

Then run the following command, which applies your Podfile changes to the project.

Terminal window
pod install --repo-update