Appodeal and 3704

Hi, all!

I’ve just tried to build my project for ios using latest 3704 build. I use Appodeal plugin.
As a result:

If I include plugin.appodeal.Bidmachine my app crashes in 3 sec after start.
If I include plugin.appodeal.Yandex I got the error:

ERROR: Builder failed: ld: warning: ignoring file /Users/user/myApp/.build/plugin.appodeal.Yandex/YandexMobileAds.framework/YandexMobileAds, building for iOS-arm64 but attempting to link with file built for unknown-unsupported file format ( 0x76 0x65 0x72 0x73 0x69 0x6F 0x6E 0x20 0x68 0x74 0x74 0x70 0x73 0x3A 0x2F 0x2F )

...

 BUILD ERROR: There was a problem linking the app.

If I exclude both Bidmachine and Yandex, it seems everything is ok, but I was unable to upload my app in appstore, I got error from Transporter:

Asset validation failed (90482)
Invalid Executable. The executable 'myApp.app /Frameworks/OMSDK_Appodeal.framework/OMSDK_Appodeal' contains bitcode. (ID: e84baa1e-dab8-4287-a6c5-5dc8e529babc)

Here is my build.settings

settings =
{
    
  splashScreen = 
  {
    enable = false,
	},
 
  plugins =
  {
 		
		-- Base
		['plugin.appodeal.base'] = { publisherId = 'com.coronalabs' },

		-- All types
		--['plugin.appodeal.Bidmachine'] = { publisherId = 'com.coronalabs' },
		['plugin.appodeal.GoogleAdMob'] = { publisherId = 'com.coronalabs' },
		['plugin.appodeal.A4G'] = { publisherId = 'com.coronalabs' },
		['plugin.appodeal.AppLovin'] = { publisherId = 'com.coronalabs' },
		['plugin.appodeal.FacebookAudience'] = { publisherId = 'com.coronalabs' },
		['plugin.appodeal.MyTarget'] = { publisherId = 'com.coronalabs' },
		['plugin.appodeal.Smaato'] = { publisherId = 'com.coronalabs' },
		['plugin.appodeal.StartApp'] = { publisherId = 'com.coronalabs' },
		['plugin.appodeal.Unity'] = { publisherId = 'com.coronalabs' },
	--['plugin.appodeal.Yandex'] = { publisherId = 'com.coronalabs' },

		-- Banner
		['plugin.appodeal.AmazonAds'] = { publisherId = 'com.coronalabs' },

		-- Interstitial
		['plugin.appodeal.AdColony'] = { publisherId = 'com.coronalabs' },
		['plugin.appodeal.AmazonAds'] = { publisherId = 'com.coronalabs' },
		['plugin.appodeal.IronSource'] = { publisherId = 'com.coronalabs' },
		['plugin.appodeal.Ogury'] = { publisherId = 'com.coronalabs' },
		['plugin.appodeal.Vungle'] = { publisherId = 'com.coronalabs' },

		-- Rewarded Video
		['plugin.appodeal.AdColony'] = { publisherId = 'com.coronalabs' },
		['plugin.appodeal.IronSource'] = { publisherId = 'com.coronalabs' },
		['plugin.appodeal.Ogury'] = { publisherId = 'com.coronalabs' },
		['plugin.appodeal.Vungle'] = { publisherId = 'com.coronalabs' },

		["plugin.google.iap.billing.v2"] =
		{
			publisherId = "com.solar2d",
			supportedPlatforms = { android=true, },		
		},

		["plugin.reviewPopUp"] =
		{
			publisherId = "tech.scotth",
			supportedPlatforms = { iphone=true, },
		},

		--["plugin.tenjin"] =
    --{
    --  publisherId = "com.coronalabs"
  	--},

  },     

	orientation = 
	{
		-- Supported values for orientation:
		-- portrait, portraitUpsideDown, landscapeLeft, landscapeRight

		default = "portrait",
		supported = { "portrait", },
	},
	
	excludeFiles =
	{
		-- Include only the necessary icon files on each platform
		iphone = { "AndroidResources", },
		android = { "Images.xcassets", "LaunchScreen.storyboardc", },
	},

	--
	-- iOS Section
	--
	iphone =
	{
		xcassets = "Images.xcassets",
		plist =
		{
			UIStatusBarHidden = true,
			UIPrerenderedIcon = true, -- set to false for "shine" overlay
			--UIApplicationExitsOnSuspend = true, -- uncomment to quit app on suspend
			UILaunchStoryboardName = "LaunchScreen",

			GADApplicationIdentifier = " myAppID ", -- replace with your app id. See: https://googlemobileadssdk.page.link/admob-ios-update-plist
			NSAppTransportSecurity = { NSAllowsArbitraryLoads=true },
			MinimumOSVersion = "13", -- Needed to avoid build errors
			NSLocationWhenInUseUsageDescription = "The app needs your location for analytics and advertising purposes.",
			NSCalendarsUsageDescription = "The app needs your calendar to provide personalised advertising experience tailored to you",
			NSUserTrackingUsageDescription = "This identifier will be used to deliver personalized ads to you.",
			NSBluetoothAlwaysUsageDescription = "This app would like to access bluetooth for advertising purposes.",
			SKAdNetworkItems = {
				{ SKAdNetworkIdentifier = "4pfyvq9l8r.skadnetwork" },
				{ SKAdNetworkIdentifier = "6g9af3uyq4.skadnetwork" },
				{ SKAdNetworkIdentifier = "4fzdc2evr5.skadnetwork" },
				{ SKAdNetworkIdentifier = "2fnua5tdw4.skadnetwork" },
				{ SKAdNetworkIdentifier = "ydx93a7ass.skadnetwork" },
				{ SKAdNetworkIdentifier = "cg4yq2srnc.skadnetwork" },
				{ SKAdNetworkIdentifier = "v72qych5uu.skadnetwork" },
				{ SKAdNetworkIdentifier = "mlmmfzh3r3.skadnetwork" },
				{ SKAdNetworkIdentifier = "pwdxu55a5a.skadnetwork" },
				{ SKAdNetworkIdentifier = "c6k4g5qg8m.skadnetwork" },
				{ SKAdNetworkIdentifier = "wg4vff78zm.skadnetwork" },
				{ SKAdNetworkIdentifier = "g28c52eehv.skadnetwork" },
				{ SKAdNetworkIdentifier = "523jb4fst2.skadnetwork" },
				{ SKAdNetworkIdentifier = "294l99pt4k.skadnetwork" },
				{ SKAdNetworkIdentifier = "hs6bdukanm.skadnetwork" },
				{ SKAdNetworkIdentifier = "prcb7njmu6.skadnetwork" },
				{ SKAdNetworkIdentifier = "m8dbw4sv7c.skadnetwork" },
				{ SKAdNetworkIdentifier = "9nlqeag3gk.skadnetwork" },
				{ SKAdNetworkIdentifier = "cj5566h2ga.skadnetwork" },
				{ SKAdNetworkIdentifier = "u679fj5vs4.skadnetwork" },
				{ SKAdNetworkIdentifier = "a7xqa6mtl2.skadnetwork" },
				{ SKAdNetworkIdentifier = "g2y4y55b64.skadnetwork" },
				{ SKAdNetworkIdentifier = "wzmmz9fp6w.skadnetwork" },
				{ SKAdNetworkIdentifier = "yclnxrl5pm.skadnetwork" },
				{ SKAdNetworkIdentifier = "4468km3ulz.skadnetwork" },
				{ SKAdNetworkIdentifier = "t38b2kh725.skadnetwork" },
				{ SKAdNetworkIdentifier = "7ug5zh24hu.skadnetwork" },
				{ SKAdNetworkIdentifier = "rx5hdcabgc.skadnetwork" },
				{ SKAdNetworkIdentifier = "5lm9lj6jb7.skadnetwork" },
				{ SKAdNetworkIdentifier = "9rd848q2bz.skadnetwork" },
				{ SKAdNetworkIdentifier = "n6fk4nfna4.skadnetwork" },
				{ SKAdNetworkIdentifier = "7rz58n8ntl.skadnetwork" },
				{ SKAdNetworkIdentifier = "ejvt5qm6ak.skadnetwork" },
				{ SKAdNetworkIdentifier = "275upjj5gd.skadnetwork" },
				{ SKAdNetworkIdentifier = "kbd757ywx3.skadnetwork" },
				{ SKAdNetworkIdentifier = "9t245vhmpl.skadnetwork" },
				{ SKAdNetworkIdentifier = "n9x2a789qt.skadnetwork" },
				{ SKAdNetworkIdentifier = "44jx6755aq.skadnetwork" },
				{ SKAdNetworkIdentifier = "tl55sbb4fm.skadnetwork" },
				{ SKAdNetworkIdentifier = "2u9pt9hc89.skadnetwork" },
				{ SKAdNetworkIdentifier = "8s468mfl3y.skadnetwork" },
				{ SKAdNetworkIdentifier = "klf5c3l5u5.skadnetwork" },
				{ SKAdNetworkIdentifier = "ppxm28t8ap.skadnetwork" },
				{ SKAdNetworkIdentifier = "74b6s63p6l.skadnetwork" },
				{ SKAdNetworkIdentifier = "kbmxgpxpgc.skadnetwork" },
				{ SKAdNetworkIdentifier = "44n7hlldy6.skadnetwork" },
				{ SKAdNetworkIdentifier = "5l3tpt7t6e.skadnetwork" },
				{ SKAdNetworkIdentifier = "uw77j35x4d.skadnetwork" },
				{ SKAdNetworkIdentifier = "6964rsfnh4.skadnetwork" },
				{ SKAdNetworkIdentifier = "84993kbrcf.skadnetwork" },
				{ SKAdNetworkIdentifier = "pwa73g5rt2.skadnetwork" },
				{ SKAdNetworkIdentifier = "mtkv5xtk9e.skadnetwork" },
				{ SKAdNetworkIdentifier = "e5fvkxwrpn.skadnetwork" },
				{ SKAdNetworkIdentifier = "gta9lk7p23.skadnetwork" },
				{ SKAdNetworkIdentifier = "r45fhb6rf7.skadnetwork" },
				{ SKAdNetworkIdentifier = "3rd42ekr43.skadnetwork" },
				{ SKAdNetworkIdentifier = "ludvb6z3bs.skadnetwork" },
				{ SKAdNetworkIdentifier = "737z793b9f.skadnetwork" },
				{ SKAdNetworkIdentifier = "mls7yz5dvl.skadnetwork" },
				{ SKAdNetworkIdentifier = "w9q455wk68.skadnetwork" },
				{ SKAdNetworkIdentifier = "p78axxw29g.skadnetwork" },
				{ SKAdNetworkIdentifier = "6xzpu9s2p8.skadnetwork" },
				{ SKAdNetworkIdentifier = "ggvn48r87g.skadnetwork" },
				{ SKAdNetworkIdentifier = "3sh42y64q3.skadnetwork" },
				{ SKAdNetworkIdentifier = "f38h382jlk.skadnetwork" },
				{ SKAdNetworkIdentifier = "24t9a8vw3c.skadnetwork" },
				{ SKAdNetworkIdentifier = "cstr6suwn9.skadnetwork" },
				{ SKAdNetworkIdentifier = "zmvfpc5aq8.skadnetwork" },
				{ SKAdNetworkIdentifier = "feyaarzu9v.skadnetwork" },
				{ SKAdNetworkIdentifier = "5a6flpkh64.skadnetwork" },
				{ SKAdNetworkIdentifier = "glqzh8vgby.skadnetwork" },
				{ SKAdNetworkIdentifier = "424m5254lk.skadnetwork" },
				{ SKAdNetworkIdentifier = "av6w8kgt66.skadnetwork" },
				{ SKAdNetworkIdentifier = "s39g8k73mm.skadnetwork" },
				{ SKAdNetworkIdentifier = "lr83yxwka7.skadnetwork" },
				{ SKAdNetworkIdentifier = "22mmun2rn5.skadnetwork" },
				{ SKAdNetworkIdentifier = "su67r6k2v3.skadnetwork" },
				{ SKAdNetworkIdentifier = "4w7y6s5ca2.skadnetwork" },
				{ SKAdNetworkIdentifier = "dzg6xy7pwj.skadnetwork" },
				{ SKAdNetworkIdentifier = "y45688jllp.skadnetwork" },
				{ SKAdNetworkIdentifier = "hdw39hrw9y.skadnetwork" },
				{ SKAdNetworkIdentifier = "4dzt52r2t5.skadnetwork" },
				{ SKAdNetworkIdentifier = "5tjdwbrq8w.skadnetwork" },
				{ SKAdNetworkIdentifier = "32z4fx6l9h.skadnetwork" },
				{ SKAdNetworkIdentifier = "xy9t38ct57.skadnetwork" },
				{ SKAdNetworkIdentifier = "54nzkqm89y.skadnetwork" },
				{ SKAdNetworkIdentifier = "9b89h5y424.skadnetwork" },
				{ SKAdNetworkIdentifier = "79pbpufp6p.skadnetwork" },
				{ SKAdNetworkIdentifier = "s69wq72ugq.skadnetwork" },
				{ SKAdNetworkIdentifier = "k674qkevps.skadnetwork" },
				{ SKAdNetworkIdentifier = "578prtvx9j.skadnetwork" },
				{ SKAdNetworkIdentifier = "f73kdq92p3.skadnetwork" },
				{ SKAdNetworkIdentifier = "x44k69ngh6.skadnetwork" },
				{ SKAdNetworkIdentifier = "mp6xlyr22a.skadnetwork" },
				{ SKAdNetworkIdentifier = "qqp299437r.skadnetwork" },
				{ SKAdNetworkIdentifier = "3qcr597p9d.skadnetwork" },
				{ SKAdNetworkIdentifier = "97r2b46745.skadnetwork" },
				{ SKAdNetworkIdentifier = "6p4ks3rnbw.skadnetwork" },
				{ SKAdNetworkIdentifier = "rvh3l7un93.skadnetwork" },
				{ SKAdNetworkIdentifier = "zq492l623r.skadnetwork" },
				{ SKAdNetworkIdentifier = "x8uqf25wch.skadnetwork" },
				{ SKAdNetworkIdentifier = "b9bk5wbcq9.skadnetwork" },
				{ SKAdNetworkIdentifier = "bxvub5ada5.skadnetwork" },
				{ SKAdNetworkIdentifier = "krvm3zuq6h.skadnetwork" },
				{ SKAdNetworkIdentifier = "c3frkrj4fj.skadnetwork" },
				{ SKAdNetworkIdentifier = "v9wttpbfk9.skadnetwork" },
				{ SKAdNetworkIdentifier = "n38lu8286q.skadnetwork" },
				{ SKAdNetworkIdentifier = "3qy4746246.skadnetwork" },
				{ SKAdNetworkIdentifier = "v4nxqhlyqp.skadnetwork" },
				{ SKAdNetworkIdentifier = "8c4e2ghe7u.skadnetwork" },
				{ SKAdNetworkIdentifier = "r26jy69rpl.skadnetwork" },
				{ SKAdNetworkIdentifier = "8m87ys6875.skadnetwork" },
				{ SKAdNetworkIdentifier = "488r3q3dtq.skadnetwork" },
				{ SKAdNetworkIdentifier = "52fl2v3hgk.skadnetwork" },
				{ SKAdNetworkIdentifier = "m5mvw97r93.skadnetwork" },
				{ SKAdNetworkIdentifier = "89z7zv988g.skadnetwork" },
				{ SKAdNetworkIdentifier = "hb56zgv37p.skadnetwork" },
				{ SKAdNetworkIdentifier = "6v7lgmsu45.skadnetwork" },
				{ SKAdNetworkIdentifier = "m297p6643m.skadnetwork" },
				{ SKAdNetworkIdentifier = "3l6bd9hu43.skadnetwork" },
				{ SKAdNetworkIdentifier = "vcra2ehyfk.skadnetwork" },
				{ SKAdNetworkIdentifier = "a2p9lx4jpn.skadnetwork" },
				{ SKAdNetworkIdentifier = "238da6jt44.skadnetwork" },
				{ SKAdNetworkIdentifier = "v79kvwwj4g.skadnetwork" },
				{ SKAdNetworkIdentifier = "f7s53z58qe.skadnetwork" },
				{ SKAdNetworkIdentifier = "gta8lk7p23.skadnetwork" },
			},			
		},
	},
	
	--
	-- Android Section
	--
	android =
	{
		minSdkVersion = "16",
		applicationChildElements =
		{
				[[
						<meta-data android:name="com.google.android.gms.ads.APPLICATION_ID"
								android:value=" myAppID "/>  -- replace with your app id. See: https://goo.gl/fQ2neu
				]],
		},

		usesPermissions =
		{
		  "android.permission.INTERNET",
      "android.permission.ACCESS_NETWORK_STATE",
      "android.permission.WRITE_EXTERNAL_STORAGE",
		},
	},
}

Any help will be appreciated.

Same problem. I was in a hurry and updated using beta.

Do you have any problems using appodeal beta in production?

beta works fine. Apple updated successfully.

Hi, do you use Xcode 14+? See bitcode Deprecation.
And I recommand using Xcode 15, see upcoming-requirements.

I use Xcode 15.2, I suppose something wrong with appodeal plugin, it was updated recently, previous version worked fine.

I also faced such a problem. I understand that there are no solutions yet. Only use the beta version of Appodeal?

I managed to solve part of the problem.

I use
Solar 2D 2024.3705
xCode 15.3
Sonoma 14.4

In the “build.setting” file

MinimumOSVersion = “12.4”

I commented out the plugin
– [‘plugin.appodeal.Yandex’] = { publisherId = ‘com.coronalabs’ },

Now all my apps are being built successfully and sent to the AppStore, with errors.

Asset validation failed (90482)
Invalid Executable. The executable ‘Pop1.app/Frameworks/OMSDK_Appodeal.framework/OMSDK_Appodeal’ contains bitcode. (ID: da00368e-f28c-49c2-ba62-6e10d2e03e1a)

I also had to add “NSBluetoothAlwaysUsageDescription” to build.settings

Has anyone solved the problem with yandex?

ERROR: Builder failed: ld: warning: ignoring file /Users/alex/Desktop/Pop1.app/.build/plugin.appodeal.Yandex/YandexMobileAds.framework/YandexMobileAds, building for iOS-arm64 but attempting to link with file built for unknown-unsupported file format ( 0x76 0x65 0x72 0x73 0x69 0x6F 0x6E 0x20 0x68 0x74 0x74 0x70 0x73 0x3A 0x2F 0x2F )

Try rebuilding, should be fixed

Building works fine, but the app crashes after closing 20% of the ads: „[AppLovinSdk] DEBUG [ALErrorReporter] crash reported with code 200“

Also, I get the same Bitcode warning when trying to upload it: “Asset validation failed (90482)
Invalid Executable. The executable ‘xyz.app/Frameworks/ OMSDK_Appodeal.framework/OMSDK_Appodeal’ contains bitcode.”

I confirm that the application is going great, but when you try to send it to the AppStore, an error appears

Asset validation failed (90482)
Invalid Executable. The executable '123.app/Frameworks/OMSDK_Appodeal.framework/OMSDK_Appodeal' contains bitcode. (ID: 1de95369-1b69-4bc8-ac90-cf925cef1dfe)

Have you tested enough ads to see if it’s stable after closing them? For me, it crashed after every fifth

I wanted to send the build to TestFlight, but I can’t do it. That’s why I can’t test it on a real device.

Can you only install apps on your phone with Testflight? Not make a build with a development provisioning profile and install it with Xcode?

I installed the app on my iPhone, the app crashes at the time when the banner is flashing or a full-screen advertisement appears.

Me too, the app I installed from TestFlight crashes.
There is something wrong with the plugin.

Build 2024.3706
Xcode 15.2
Sonoma 14.4

same environment, appodeal.beta works fine.

Please tell me do you use beta for all appodeal plugins?
Like this, for example?

        ['plugin.appodeal.beta.base'] = { publisherId = 'com.coronalabs' },
        ['plugin.appodeal.beta.Bidmachine'] = { publisherId = 'com.coronalabs' },
        ['plugin.appodeal.beta.GoogleAdMob'] = { publisherId = 'com.coronalabs' },
        ['plugin.appodeal.beta.AppLovin'] = { publisherId = 'com.coronalabs' },
        ['plugin.appodeal.beta.FacebookAudience'] = { publisherId = 'com.coronalabs' },
        ['plugin.appodeal.beta.MyTarget'] = { publisherId = 'com.coronalabs' },
        ['plugin.appodeal.beta.Smaato'] = { publisherId = 'com.coronalabs' },
        ['plugin.appodeal.beta.StartApp'] = { publisherId = 'com.coronalabs' },
        ['plugin.appodeal.beta.Unity'] = { publisherId = 'com.coronalabs' },
        ['plugin.appodeal.beta.Yandex'] = { publisherId = 'com.coronalabs' },
        ['plugin.appodeal.beta.AmazonAds'] = { publisherId = 'com.coronalabs' },
        ['plugin.appodeal.beta.AdColony'] = { publisherId = 'com.coronalabs' },
        ['plugin.appodeal.beta.IronSource'] = { publisherId = 'com.coronalabs' },
        ['plugin.appodeal.beta.Ogury'] = { publisherId = 'com.coronalabs' },
        ['plugin.appodeal.beta.Vungle'] = { publisherId = 'com.coronalabs' },
        ["plugin.appodeal.beta.Tapjoy"] = { publisherId = "com.coronalabs" },
        ["plugin.appodeal.beta.Chartboost"] = { publisherId = "com.coronalabs" },
        ["plugin.appodeal.beta.InMobi"] = { publisherId = "com.coronalabs" },

Unfortunately, not all plugins. I just reverted it like below.
Now I have to try Bidmachine and Yandex.

I just pushed out a new non beta build for iOS which in my experience is more stable and not experienced a crash in my testing.