Haha yes, if indeed one were to copy the contents of the folder. However, since I already had my necessary icon assets from my existing project, I didn’t copy anything, I just followed the guidelines detailed in the documentation. Since it appears the two json files are necessary for successful submission, they really should be mentioned in the documentation alongside the list of png sizes. I only discovered the existence of those json files when, as a final troubleshooting step, I decided to try submitting to Apple with the generic Corona icons from a sample project (after resaving mine 5 different ways). Since they weren’t mentioned in the documentation, I assumed copying them into my project wouldn’t help, but I decided to try it anyway.
Hopefully, the docs will little be more clear now.
Rob
I’ve got the same problem, please help.
ERROR ITMS-90022: "Missing required icon file. The bundle does not contain an app icon for iPhone / iPod Touch of exactly '120x120' pixels, in .png format for iOS versions \>= 7.0."ERROR ITMS-90023: "Missing required icon file. The bundle does not contain an app icon for iPad of exactly '76x76' pixels, in .png format for iOS versions \>= 7.0." ERROR ITMS-90023: "Missing required icon file. The bundle does not contain an app icon for iPad of exactly '167x167' pixels, in .png format for iOS versions supporting iPad Pro." ERROR ITMS-90023: "Missing required icon file. The bundle does not contain an app icon for iPad of exactly '152x152' pixels, in .png format for iOS versions \>= 7.0."
I took the Images.xcassets right from the Resource Library dir, as is. I prepared the exact set of the icons manually - all by the samples in the dir. No transparency, no embed color profiles, etc - just a list of exact png images done by the doc.
Corona v. 2017.3163, the latest for now.
Any idea?
What happens if you submit with the default icon files that’s copied with the xcassets folder?
Rob
this issue is annoying…
I tried default icons from Resource folder, I tried to create each icon with required size and without transparency, I even tried stupid thing to save icon in jpg and then jpg to png to be sure there is no transparency… and nothing
I use Corona Version 2017.3174 (2017.11.14) and xcode Version 9.1 (9B55).
ITMS-90022: “Missing required icon file. The bundle does not contain an app icon for iPhone / iPod Touch of exactly ‘120x120’ pixels, in .png format for iOS versions >= 7.0.”, ERROR ITMS-90023: “Missing required icon file. The bundle does not contain an app icon for iPad of exactly ‘76x76’ pixels, in .png format for iOS versions >= 7.0.”, ERROR ITMS-90023: “Missing required icon file. The bundle does not contain an app icon for iPad of exactly ‘167x167’ pixels, in .png format for iOS versions supporting iPad Pro.”, ERROR ITMS-90023: “Missing required icon file. The bundle does not contain an app icon for iPad of exactly ‘152x152’ pixels, in .png format for iOS versions >= 7.0.”]
Most people miss an important step. There are other files that need included. The entire Images.xcassets folder needs copied to make sure to get all the .json files.
Try copying the entire folder, then dropping your icons into the folder, overwriting the default ones.
Rob
thanks for reply, Rob Miracle.
I’ve removed Images.xcassets and copy-paste from Recourse Library again and nothing.
I have these icon related options in the build.settings
CFBundleIconFiles = {}, – Required!
UIPrerenderedIcon = true,
CFBundleIconFile = “Icon.png”,
I tried with and without CFBundleIconFile
here is my build.settings if needed
[spoiler][lua]
settings = {
splashScreen =
{
enable = false
},
orientation =
{
default = ‘portrait’,
supported =
{
‘portraitUpsideDown’
},
},
android = {
supportsScreens =
{
smallScreens = true,
normalScreens = true,
largeScreens = true,
xlargeScreens = true,
},
usesPermissions = {
‘android.permission.INTERNET’,
‘android.permission.ACCESS_NETWORK_STATE’,
“android.permission.RECEIVE_BOOT_COMPLETED”,
“com.android.vending.BILLING”,
“android.permission.ACCESS_COARSE_LOCATION”,
“android.permission.WRITE_EXTERNAL_STORAGE”
},
facebookAppId = “381887575532140”, – Replace XXXXXXXXXX with your Facebook App ID
},
plugins =
{
[“CoronaProvider.native.popup.social”] =
{
publisherId = “com.coronalabs”
},
[“plugin.appodeal”] =
{
publisherId = “com.coronalabs”,
supportedPlatforms = { iphone=true, android=true }
},
[“plugin.google.play.services”] =
{
publisherId = “com.coronalabs”,
supportedPlatforms = { android=true }
},
[“plugin.notifications”] =
{
publisherId = “com.coronalabs”
},
–[“plugin.openssl”] = { publisherId = “com.coronalabs”, },
[“plugin.google.iap.v3”] =
{
publisherId = “com.coronalabs”,
supportedPlatforms = { android=true }
},
[“plugin.utf8”] =
{
publisherId = “com.coronalabs”
},
[“plugin.facebook.v4”] =
{
publisherId = “com.coronalabs”
},
},
iphone = {
plist = {
UILaunchStoryboardName = “LaunchScreen”,
UIAppFonts = {
–“Raleway.ttf”, “RalewayBold.ttf”, “Lora.ttf”
},
NSAppTransportSecurity={
NSAllowsArbitraryLoads=true,
},
CFBundleLocalizations = {
“en”, “ru”
},
UIApplicationExitsOnSuspend = false,
CFBundleShortVersionString=“1.5.6”,
CFBundleIconFiles = {}, – Required!
UIPrerenderedIcon = true,
CFBundleIconFile = “Icon.png”,
NSAppTransportSecurity =
{
NSAllowsArbitraryLoads=true,
NSExceptionDomains =
{
[“fbcdn.net”] =
{
NSIncludesSubdomains = true,
NSExceptionRequiresForwardSecrecy = false,
},
[“facebook.com”] =
{
NSIncludesSubdomains = true,
NSExceptionRequiresForwardSecrecy = false,
},
[“akamaihd.net”] =
{
NSIncludesSubdomains = true,
NSExceptionRequiresForwardSecrecy = false,
},
},
},
– Whitelist Facebook Apps
LSApplicationQueriesSchemes =
{
“fb”,
“fbapi20130214”,
“fbapi20130410”,
“fbapi20140410”,
“fbapi20140116”,
“fbapi20150313”,
“fbapi20150629”,
“fbauth”,
“fbauth2”,
“fb-messenger-api20140430”,
},
UIApplicationExitsOnSuspend = false,
FacebookAppID = “381887575532140”, --replace XXXXXXXXXX with your Facebook App ID
CFBundleURLTypes =
{
{ CFBundleURLSchemes = { “fb381887575532140”, } } --replace XXXXXXXXXX with your Facebook App ID
},
}
}
}
[/lua][/spoiler]
It’s really hard to follow the build.settings above since there are no indentions. I don’t know if they got lost when you pasted the code in or not. Here’s my build.settings iphone block:
iphone = { xcassets = "Images.xcassets", plist = { UIApplicationExitsOnSuspend = false, UIPrerenderedIcon=true, UIStatusBarHidden=true, NSCalendarsUsageDescription = "", NSAppTransportSecurity = { NSAllowsArbitraryLoads=true }, NSPhotoLibraryUsageDescription = "This app does not access the photo library.", NSCameraUsageDescription = "This app does not use the camera.", UILaunchStoryboardName = "LaunchScreen", } },
You can clean up the Icon entries inside the plist but you also have to list the Images.xcasset file inside iphone but outside of plist.
Rob
Thank you Rob, I missed xcassets = “Images.xcassets”, in my build.settings :(
now it works, app submitted to Apple