IronSource SDK native extension

Termination Description: DYLD, Library not loaded: /System/Library/Frameworks/AVFAudio.framework/AVFAudio

The error is there, it says the file AVFAudio couldn’t be loaded.

Googling AVFAudio, it says it only exists since iOS 14.5.
https://developer.apple.com/documentation/avfaudio?language=objc

Hmm thanks for the pointer.
I guess that library is required from ironSource SDK. which is weird because they say they support iOS 9+
Will investigate.

Is that the only dependency that you’re using?

Which build server are you using?

the only other extension I’m using is https://github.com/britzl/gooey/archive/8.0.0.zip

Im using build server https://build-stage.defold.com/

1 Like

We have updated the stage (beta) server to use iOS 14.5, so maybe something changed there. I think it should still work on older OS’es though, so I need to double check this some more.

Hi!
I have some problems with using admob adapter and sdk , can you help me please?

Solved my problem, in fork last version of sdk, now tested android only

1 Like

Any update on this?

When using ironsource SDK with iOS, it doesn’t crash on device with iOS 14.6,
but it crashes on iOS 11.4.1, 12 and 14.

The app can’t open and I get the follow log:

Aug 24 12:37:31 iPhone-user SpringBoard(FrontBoard)[55] <Error>: Bootstrapping failed for <FBApplicationProcess: 0x1611e6570; com.mytest.mytest; pid: -1> with error: Error Domain=BKSProcessErrorDomain Code=1 "Unable to bootstrap process with bundleID com.mytest.mytest" UserInfo={NSLocalizedDescription=Unable to bootstrap process with bundleID com.mytest.mytest, BKSProcessExitReason=0, NSLocalizedFailureReason=Failed to start job, NSUnderlyingError=0x1c0455b10 {Error Domain=NSPOSIXErrorDomain Code=3 "No such process" UserInfo={NSLocalizedFailureReason=The process failed to exec, NSLocalizedRecoverySuggestion=Consult /var/log/com.apple.xpc.launchd/launchd.log for more information, NSLocalizedDescription=Unable to get valid task name port right for pid 477}}, BSErrorCodeDescription=bootstrap-failed}

Could it come from the iOS 14.5 on the build server? Is there a build server with a version < 14.5?

I’ve been trying lots of things… I can’t run the IronSource SDK on iOS 11.4.1, 12 and 14.

I’m pretty sure the error comes from what @Mathias_Westerdahl pointed out, but I’m not sure what to do at this point. :woozy_face:

@marat.giliazov Did you notice any issue with your library since the build server got updated with iOS 14.5?

We can probably assist in your investigations soon, but we are both tied up with other tasks at this moment.

1 Like

Any possibility this could be looked up this week? Let me know so I can estimate with my team. (Of course I understand you have higher priorities).

Yes, tomorrow or Wednesday. But with no guarantee of a solution!

1 Like

Great!! :grinning:
No such thing as guaranteed solution in developer’s world :joy:

Hi @Lex !
I can offer you a workaround (as I’ve done in my project). You can make prebuilt dynamic framework in XCode with all necessary ad network inside. If you target prebuilt framework to iOS <14.5 you don’t have dependency to AVFAudio and you can run game on older devices.
Drop these dynamic framework inside ironsource extension to lib/ios and to res/ios/Frameworks.
Add in ext.manifest linkFlags: [’-Wl,-rpath,@executable_path/Frameworks’].

3 Likes

Thanks for the help!
Can you a bit more specific on how you make this prebuilt dynamic framework with Xcode? I’m not too familiar with Xcode. I added IronSource to the project and build correctly, but I’m not sure where to find the good files to put into lib/ios
Also, what’s the value of the “@executable_path” parameter that you put in the manifest?

edit: it does confirm the diagnostic made by @Mathias_Westerdahl stating the issue arises from the iOS 14.5 update on server side

I’ve looked into the issue but not found a solution yet. I started by updating to the latest version, and it worked well on Android, but same behaviour on iOS - an instant shutdown off the app.

Next step is to try and attach to a debugger and see what happens.

1 Like

@executable_path points to location where application is installed. Framewroks folder is packed inside application bundle and contains our dynamic framework. During startup application wants to load dynamic framework and need to know where is it located. So -rpath linker option add necessary path.

In XCode I created new project, choose ‘Framework’. After add all libraries I need inside (Ironsource and other ads network sdks), turn off ‘Bitcode option’ in project settings (because I got error about bitcode support from iTunes when first time upload application). Also change build configuration for Run stage (‘Edit Scheme’), hit Product->Build. When build is done find folder Products in Project tree, right click on result framework → Show in Finder. Copy it and drop inside lib/ios.

3 Likes

@ekharkunov thanks for your answer. However when I try to build the framework project in Xcode I get this error
image

Did you encounter it?

Choose ‘Any iOS Devices (arm64, armv7)’ as target here

2 Likes