
iOS App Store Rejecting builds (made with 3443)
Started by
techdojo
Dec 04 2018 03:30 AM
I just uploaded an app to Apple using Xcode 10.1, Corona 2018.3426 and it processed as expected. I'm not using any plugins in this app.
I don't think you need Mohave as that shouldn't matter. But I am on Mohave.
Rob
It was suggested on the slack channel that it might be down to one of the plugins I use.
I use three that are not standard Corona ones and I've emailed a couple of the authors to ask them if they've been updated (the two in question are ScottH's Volume Control and IAP Badger - I haven't contacted OneSignal).
I'm assuming all the Corona ones are all updated?
Here's my build.settings file in case anyone can see anything.
-- --------------------------------------------------- -- For more information on build.settings see the Corona SDK Build Guide at: -- http://docs.coronalabs.com/guide/distribution/buildSettings/index.html -- --------------------------------------------------- settings = { orientation = { -- Supported values for orientation: -- PHONE : portrait, portraitUpsideDown -- TABLET : landscapeLeft, landscapeRight -- default = "landscapeRight", supported = { "landscapeRight","landscapeLeft" } -- default = "portrait", supported = { "portrait","portraitUpsideDown" } default = "portrait", supported = { "portrait","portraitUpsideDown" } }, excludeFiles = { -- Include only the necessary icon files on each platform iphone = { "Icon-*dpi.png", "_build.settings.*", "assets/api_key.txt", "readme.md", ".gitignore", ".git" }, android = { "Icon.png", "Icon-Small-*.png", "Icon*@2x.png", "_build.settings.*", "assets/api_key.txt", "readme.md", ".gitignore", ".git" }, }, -- --------------------------------------------------- -- iOS Section -- --------------------------------------------------- iphone = { xcassets = "Images.xcassets", plist = { UILaunchStoryboardName = "LaunchScreen", UIBackgroundModes = {"remote-notification"}, NSLocationAlwaysUsageDescription = { "" }, NSLocationWhenInUseUsageDescription = { "" }, NSCalendarsUsageDescription = "Testing", NSPhotoLibraryUsageDescription = "Testing", NSCameraUsageDescription = "Testing", MinimumOSVersion = "6.1.6", UIStatusBarHidden = true, UIPrerenderedIcon = true, UIApplicationExitsOnSuspend = false, NSAppTransportSecurity = { NSAllowsArbitraryLoads=true, NSExceptionDomains = { ["coronalabs.com"] = { NSIncludesSubdomains = true, NSThirdPartyExceptionAllowsInsecureHTTPLoads = true }, ["youtube.com"] = { NSIncludesSubdomains = true, NSThirdPartyExceptionAllowsInsecureHTTPLoads = true }, ["google.com"] = { NSIncludesSubdomains = true, NSThirdPartyExceptionAllowsInsecureHTTPLoads = true }, ["theukuleleapp.com"] = { NSIncludesSubdomains = true, NSThirdPartyExceptionAllowsInsecureHTTPLoads = true }, ["www.theukuleleapp.com"] = { NSIncludesSubdomains = true, NSThirdPartyExceptionAllowsInsecureHTTPLoads = true }, }, }, } }, -- --------------------------------------------------- -- Android Section -- --------------------------------------------------- android = { usesPermissions = { "android.permission.INTERNET", "android.permission.ACCESS_NETWORK_STATE", "com.android.vending.CHECK_LICENSE", "com.android.vending.BILLING", "android.permission.ACCESS_FINE_LOCATION", }, usesFeatures = { -- If you set permissions "ACCESS_FINE_LOCATION" and "ACCESS_COARSE_LOCATION" above, -- then you may want to set up your app to not require location services as follows. -- Otherwise, devices that do not have location sevices (such as a GPS) will be unable -- to purchase this app in the app store. { name = "android.hardware.location", required = false }, { name = "android.hardware.location.gps", required = false }, { name = "android.hardware.location.network", required = false }, }, }, -- --------------------------------------------------- -- Plugins -- --------------------------------------------------- plugins = { ["plugin.volumeControl"] = { publisherId = "tech.scotth", supportedPlatforms = { iphone=true, android=true } }, ["plugin.OneSignal"] = { publisherId = "com.onesignal" }, ["plugin.iap_badger"] = { publisherId = "uk.co.happymongoose" }, ["plugin.google.iap.v3"] = { publisherId = "com.coronalabs", supportedPlatforms = { android = true }, }, ["plugin.googleAnalytics"] = { publisherId = "com.coronalabs", }, ["plugin.admob"] = { publisherId = "com.coronalabs", }, ["shared.android.support.v4"] = { publisherId = "com.coronalabs", supportedPlatforms = { android=true } }, } }
I would suggest commenting out the plugins one at a time, build and upload and wait until you get the automatic processing email and see if one of them is triggering the response from Apple.
Rob
Ok - so I've sorted the issue, it had nothing to with the plugin's but due to fact that I'd not set the MinimumOSVersion In the plist.
D'oh!
I answered this over on the CDN Slack. The test I uploaded did not include the MinimumOSVersion key and it passed its initial automated review.
Apple generally only supports two versions back. While we are still supporting 8.0, that doesn't mean Apple isn't looking for a higher version. You could perhaps specific 10.1.
But again, I didn't include this key and it passed. Maybe its some combination of a plugin and needing a higher minimum SDK.
Rob
Just to confirm, the plugins were all fine. The rejection was due to my mistake including an old value in the MinimumOSVersion key (as can be seen in the first post).
I've currently set the value to "8.0" but I might just remove it all together.
Unless you have a specific need to set a minimum iOS SDK, I would remove it and let it default to what we support.
Rob