I just submitted an app using build 2445 and after uploading and submitting, received a binary rejected email with the same error. Gamethrive is the only plugin I use. I removed it, resubmitted and everything is fine. Any ideas? Thanks!
is anyone else getting this… or has anyone successfully submitted an app with Gamethrive recently, ticked “no” for IDFA usage and subsequently been pinged by Apple?
Thanks!!
Hey Derek, that’s odd. We’ve had several customers successfully submit apps with GameThrive without issue recently.
I’m investigating this now and should have some suggestions for you in a little while.
Hi again. Could you try the following steps:
-
In terminal, unzip your app’s ipa file: “unzip yourapp.ipa”
-
Change directory to the “Payload” folder that was created: “cd Payload”
-
Run the following command (replace “yourapp” with the correct filename): “nm -m yourapp.app/yourapp | grep Advertis”
If you see something like the following, then the IDFA is being used by something in your app:
“002f3e48 (__TEXT,__text) weak external [Thumb] __ZNK2pf8DeviceID4Impl24getAdvertisingIdentifierEv”
Otherwise, there should be no result.
We just tested this ourselves on a Corona app with our GameThrive plugin and no advertising identifier usage was detected. If it is detected for you, could you paste your build.settings file or send it to us (support@gamethrive.com)?
That returned nothing. However, running this
grep -r advertisingIdentifier yourapp.app
returned this:
Binary file yourapp.app/yourapp matches.
Rebuilding the app with the gamethrive plugin commented out of build.settings and re-running grep returned nothing. ( I commented out the sections between “–start push notification plugin” and “–end push notification plugin”
Here is my build.settings:
[lua]
settings =
{
orientation =
{
default = “landscapeLeft”,
supported =
{
“landscapeLeft”, “landscapeRight” , “portrait”, “portraitUpsideDown”,
},
},
– start push notification plugin
–[[
plugins=
{
[“plugin.GameThrivePushNotifications”] =
{
– required
publisherId = “com.gamethrive”,
},
– Android requires Google Play Services with Corona v2014.2381 or later
[“plugin.google.play.services”] =
{
publisherId = “com.coronalabs”
},
},
–]]
–end push notification plugin
android =
{
largeHeap=true,
usesPermissions =
{
“android.permission.INTERNET”,
“android.permission.WRITE_EXTERNAL_STORAGE”,
------ INAPP “com.android.vending.BILLING”,
},
intentFilters =
{
{
label = “launch from URL”,
actions = { “android.intent.action.VIEW” },
categories =
{
“android.intent.category.DEFAULT”,
“android.intent.category.BROWSABLE”,
},
data = { scheme = “realview” }
},
– You can add more intent filters here.
},
},
iphone =
{
plist =
{
------ NEWSSTAND UINewsstandApp = true,
CFBundleURLTypes =
{
{
CFBundleURLSchemes =
{
“realview”,
}
}
},
UIAppFonts = { “Oxygen-Regular.ttf” },
------ DIFFERNT CFBundleIdentifier = “BUNDLEID HERE”,
------ DIFFERNT CFBundleDisplayName = “DISPLAY NAME HERE”,
CFBundleIconFile = “Icon.png”,
------ NEWSSTAND CFBundleIcons =
------ NEWSSTAND {
------ NEWSSTAND CFBundlePrimaryIcon =
------ NEWSSTAND {
CFBundleIconFiles =
{
“Icon.png”,
“Icon@2x.png”,
“Icon-Small.png”,
“Icon-Small@2x.png”,
“Icon-60.png”,
“Icon-60@2x.png”,
“Icon-72.png”,
“Icon-72@2x.png”,
“Icon-Small-40.png”,
“Icon-Small-40@2x.png”,
“Icon-Small-50.png”,
“Icon-Small-50@2x.png”,
“Icon-76.png”,
“Icon-76@2x.png”,
------ NEWSSTAND },
------ NEWSSTAND },
------ NEWSSTAND UINewsstandIcon =
------ NEWSSTAND {
------ NEWSSTAND CFBundleIconFiles =
------ NEWSSTAND {
------ NEWSSTAND “NewsStand.png”,
------ NEWSSTAND },
------ NEWSSTAND UINewsstandBindingType=“UINewsstandBindingTypeMagazine”,
------ NEWSSTAND UINewsstandBindingEdge=“UINewsstandBindingEdgeLeft”,
------ NEWSSTAND },
},
},
},
}
[/lua]
Here is a screenshot from a hex editor
Thanks for following up.
Thanks for the very detailed reply derek14!
We released a major update to our plugin last night that may also fix this issue for you. It will be automatically included the next time you create a build of your app, but you will need to follow the instructions here for it to continue working: http://forums.coronalabs.com/topic/51526-important-update-gamethrive-sdk-140/
Please give it a try and let me know if that worked.
thanks george18, will let you know how the submission process goes - we’ll be submitting another app later today. fyi, the grep found an instance of “advertisingIdentifier” in the binary I just built (which includes all the changes for the 1.4 plugin) - not sure whether this is relevant or not though.
Thanks!
Add supportedPlatforms = { android=true }, to plugin.google.play.services section in your build.settings file so it looks like this.
["plugin.google.play.services"] = { publisherId = "com.coronalabs", supportedPlatforms = { android=true }, },
That will keep “AdvertisingIdentifier” from appearing in the binary. “iosAdvertisingIdentifier” is always present in Corona builds without any plugins but the looks to be a in a strings section of the binary so it shouldn’t be flag by Apple.
Hey derek14. We were able to reproduce this issue with the latest version of our plugin. You should follow jkasten’s instructions above and re-submit your app.
Sorry for the inconvenience and thanks for bringing this to our attention! We’ll be updating our documentation so other people don’t run into the same issue.