Vungle plugin failed during ios build

Can not install Vungle plugin today, no problem with the build last week.

<result>Undefined symbols for architecture armv7:

  “_OBJC_CLASS_$_WKWebView”, referenced from:

      l_OBJC_$_CATEGORY_WKWebView_$_VungleWKWebView in libads-vungle.a(WKWebView+VungleWKWebView.o)

ld: symbol(s) not found for architecture armv7

clang: error: linker command failed with exit code 1 (use -v to see invocation)</result>

ERROR: Builder failed: Undefined symbols for architecture armv7:

  “_OBJC_CLASS_$_WKWebView”, referenced from:

      l_OBJC_$_CATEGORY_WKWebView_$_VungleWKWebView in libads-vungle.a(WKWebView+VungleWKWebView.o)

ld: symbol(s) not found for architecture armv7

clang: error: linker command failed with exit code 1 (use -v to see invocation)

2015-09-26 20:25:03.407 Corona Simulator[1312:20637] BUILD ERROR: There was a problem linking the app.

 

Check the console for more information.

2015-09-26 20:25:03.418 Corona Simulator[1312:20637] iOS build failed (12)

Same problem here, can´t build if the Vungle Plugin is in.

Currently i’m using the Corona SDK version 2015.2722

Getting this same error. Daily build 2722.

It was working fine yesterday.

+1

Build 2722.

build.settings:

plugins = { ["CoronaProvider.ads.iads"] = { publisherId = "com.coronalabs", }, ["CoronaProvider.ads.vungle"] = { publisherId = "com.vungle", }, ["CoronaProvider.native.popup.social"] = { publisherId = "com.coronalabs", }, ["plugin.google.play.services"] = { publisherId = "com.coronalabs" }, ["plugin.adbuddiz"] = { publisherId = "com.adbuddiz" }, ["plugin.chartboost"] = { publisherId = "com.swipeware" }, }, 

Xcode 7.0

Log attached. CoronaSDK.png

I have contacted Vungle and await their response.

The checked in a new version of the plugin yesterday. The will have to fix it. Given its Sunday this may not get resolved immediately and they will have to fix it.

This error ““Undefined symbols” and “linker command failed” error” has been identified. The plug-in configuration was missing reference to WebKit framework, which has now been adjusted, submitted, and verified, 6am PST. Chris//Vungle

Vungle pushed out a fix. Give it a try and see if it worked for you.

Actually vungle plugin build correctly but do not works on iOS (no video appears) any idea??? i use corona build 2722

Android works fine and the videos appear!

You will need to show us your code including build.settings and config.lua.

Rob

config.lua

application = &nbsp;{ &nbsp; content = &nbsp; &nbsp;{ width &nbsp;= 320, height = 480,&nbsp; scale &nbsp;= "zoomStretch", fps &nbsp; &nbsp;= 60, &nbsp; &nbsp; -- imageSuffix = { ["@2x"] = 2, } &nbsp; &nbsp;}, &nbsp; -- Push notifications &nbsp; -- notification = { iphone = { types = &nbsp;{ "badge", "sound", "alert", "newsstand" } } } &nbsp;}

and build.settings

settings = { -- General parameters orientation = { default = "portrait", supported = { "portrait" } }, -- iOS parameters iphone = { plist = { UIStatusBarHidden = false, UIPrerenderedIcon = true, -- Set to false for "shine" overlay --UIApplicationExitsOnSuspend = true, -- Uncomment to quit app on suspend CFBundleShortVersionString = "1.0.7", UIAppFonts = { "data/fonts/fonts.ttf" }, --[[-- iOS app URL schemes: CFBundleURLTypes = { { CFBundleURLSchemes = { "fbXXXXXXXXXXXXXX", -- Example scheme for facebook "coronasdkapp", -- Example second scheme } } } --]] } }, -- Android parameters android = { googlePlayGamesAppId = "xxxxxxx", -- Google Play Game Services AppID usesPermissions = { "android.permission.INTERNET", "android.permission.WRITE\_EXTERNAL\_STORAGE", -- For vungle "android.permission.ACCESS\_NETWORK\_STATE", -- For vungle "com.android.vending.BILLING", -- For Google In App Purchase --"com.samsung.android.providers.context.permission.WRITE\_USE\_APP\_FEATURE\_SURVEY", -- Used for Samsung app store }, }, -- Exclude some files for different targets excludeFiles = { iphone = { "Icon-xxhdpi.png", "Icon-xhdpi.png", "Icon-hdpi.png", "Icon-mdpi.png", "Icon-ldpi.png", "data/sounds/fx/\*.ogg", "data/sounds/music/\*.ogg" }, android = { "Icon.png", "Icon@2x.png", "Icon-Small-40.png", "Icon-Small-40@2x.png", "Icon-60.png", "Icon-60@2x.png", "Icon-72.png", "Icon-72@2x.png", "Icon-76.png", "Icon-76@2x.png", "Icon-Small-50.png", "Icon-Small-50@2x.png", "Icon-Small.png", "Icon-Small@2x.png", "Default-568h@2x.png", "data/sounds/fx/\*.aac", "data/sounds/music/\*.aac" } }, plugins = { -- Enable Vungle plugin ["CoronaProvider.ads.vungle"] = { publisherId = "com.vungle" }, -- Enable Admob plugin ["plugin.google.play.services"] = { publisherId = "com.coronalabs" }, -- Enable Google game network plugin ["CoronaProvider.gameNetwork.google"] = { publisherId = "com.coronalabs", supportedPlatforms = { android = true }, }, -- Enable Apple game network plugin ["CoronaProvider.gameNetwork.apple"] = { publisherId = "com.coronalabs", supportedPlatforms = { iphone = true, ["iphone-sim"] = true }, }, -- Enable Google In App Purchase ["plugin.google.iap.v3"] = { publisherId = "com.coronalabs", supportedPlatforms = { android = true } }, -- Enable Social plugin (iOS and Android) ["CoronaProvider.native.popup.social"] = { publisherId = "com.coronalabs" }, }, }

I have only update my app with the same vungle code of older version but in the update (on iOS) no videos appear

First, I would suggest updating to the latest Corona SDK (2731). I don’t expect it to fix it, but it is the most stable version.

Next we will need to see your code where you init vungle and where you try to show the ads.

Rob

The code is the same of old app version and in the old version work fine, i try last corona build but do not work (no video appear)

Can be a possible bug in vungle plugin???

init ads

ads = require("ads") ads.init("vungle","my\_vungle\_id", function(event) adVideoListener(event) end)

callback function

function adVideoListener(event) &nbsp;if(event.type == "adEnd") then &nbsp; addCoins(5) &nbsp; OkDialog(this:t("COINS\_ADDED"),this:t("ADDED") .. " 5 " .. this:t("COINS"),this:t("OK")) &nbsp;end &nbsp;if(event.isError) then print("Failed to receive an ad!") else print("Ad received correctly!") end end

show video

ads:setCurrentProvider("vungle") if(ads.isAdAvailable()) then &nbsp;ads.show("interstitial", { &nbsp;isAnimated = false, isBackButtonEnabled = false }) else &nbsp;print("No video available") end

@arrafaelle

Are you testing on ios 9 device? If you are, then there may be an ATS problem. I encountered the same problem and solved by adding the following lines in build.settings file under iphone -> plist

NSAppTransportSecurity = 

{

           NSAllowsArbitraryLoads = true,

},

I know this is not an ultimate solution because apple review board may reject just because of turning off the secure loading but until vungle publishes their ads through a secure network this can be tried.

Check here for detailed ATS explanation : https://coronalabs.com/blog/2015/09/17/about-app-transport-security-ats/

i test my app in ipad with ios 9.0.2.

ok now works. :slight_smile:

I was having same issue.  This fixed it.

Thank you!!

Hi,

I have the same problem: 

  • I have an old iPhone 4 stuck with iOS 7.1.2, and Vungle works without any problem.

  • On the latest iPod touch up-to-date with iOS 9.1, Vungle doesn’t work at all (I use the lastest daily build).

  • On android, no problem.

The trick “NSAllowsArbitraryLoads = true” works on iOS 9.1, but is it a “valid solution”? If no, do we have to wait for a valid fix? If yes, you should add it in the documentation then.

I am afraid to encounter some issues during Apple certification with this flag enabled.

Thanks

Yannick

NSAppTransportSecurity = 

{

           NSAllowsArbitraryLoads = true,

},

Fixed it for me. Or so I thought…

I tested my app many times. Now I receive no callback following:

ads.init(“vungle”, vungleID, AdListener) 

The listener does not fire. And when that happens I get an empty cache: ads.showCacheFiles()

and no ads showing. Previously when the listener fired ads.init was all good and the ads showed.

I appreciate you folks have it working - but does it work “always”?

NSAllowsArbitraryLoads = true worked for me for a while and now it does not. Vungle code unchanged for over a year (it’s not worth posting - there’s little to it as per the docs and reads much like arraffaele’s code).

Tested using Xcode 7.0 and Corona SDK 2731 iOS 9.1 iPad Mini 4.

https://vungle.com/blog/2015/08/28/how-to-prepare-for-ios-9/