Jump to content

[TOPIC: topicViewTemplate]
[GLOBAL: userSmallPhoto]
Photo

New app icons for iOS7
Started by ingemar Sep 11 2013 07:58 AM

29 replies to this topic
[TOPIC CONTROLS]
Page 1 of 2 1 2
This topic has been archived. This means that you cannot reply to this topic.
[/TOPIC CONTROLS]
[modOptionsDropdown]
[/modOptionsDropdown]
[reputationFilter]
[TOPIC: post.html]
#1

ingemar

[GLOBAL: userInfoPane.html]
ingemar
  • Corona Geek

  • 2,733 posts
  • Enterprise

Some new app icons will be needed for iOS7 compatibility.

 

 

Specifically the new ones are:

 

App Icons:

60x60       iPhone Non-Retina

120x120   iPhone Retina

76x76       iPad Non-Retina

152x152   iPad Retina

 

Spotlight:

80x80      iPhone Retina

40x40      iPad Non-Retina

80x80      iPad Retina

 

Settings:

58x58     iPhone Retina

29x29     iPad Non-Retina

58x58     iPad Retina

 

See full list in attachment.

 

The filenames can be whatever you want as long as you list them in CFBundleIconFiles.

I've adopted a standard where the size of the icon is embedded in the filename as seen in the attachment below.

 

[attachment=684:Screen Shot 2013-09-12 at 00.26.10.png]

 

An example build.settings file would look like this:

(You don't need to specify the @2x versions in CFBundleIconFiles as long as you omit the .png from the base name. The system will automatically choose the correct icon)

 

(Note: The file below is intended for Xcode 5, and will give a warning about icons when compiling with Xcode 4.6. We'll have to wait for official support for iOS7 before we start distributing apps for it to the Apple App Store.)

settings = 
{
	orientation = 
	{
		default = "portrait",
		supported = {"portrait", "portraitUpsideDown"}
	},
	
	iphone = 
	{
		plist = 
		{
			CFBundleIdentifier = "com.company.appid",	
			
			UIPrerenderedIcon = true,
			UIApplicationExitsOnSuspend = false,
						
			CFBundleIconFiles = 
			{
				"Icon57",
				"Icon60", 
				"Icon72",
				"Icon76",
				"Icon29",
				"Icon40",
				"Icon50"
			}
		}
	}
}


[TOPIC: post.html]
#2

Naomi

[GLOBAL: userInfoPane.html]
Naomi
  • Corona Geek

  • 2,303 posts
  • Enterprise

Thank you, Ingemar.  Very helpful.

 

Naomi



[TOPIC: post.html]
#3

Naomi

[GLOBAL: userInfoPane.html]
Naomi
  • Corona Geek

  • 2,303 posts
  • Enterprise

Ingemar, it looks like Corona SDK throws out error if we don't include Icon.png.

 

Naomi



[TOPIC: post.html]
#4

ingemar

[GLOBAL: userInfoPane.html]
ingemar
  • Corona Geek

  • 2,733 posts
  • Enterprise

@naomi
Ooops. That's what I I get for not testing with Corona before posting.
I'm currently working on a few Xcode projects, and it works there without it.

I'm away from my computer right now, but I'll test once I get back. 



[TOPIC: post.html]
#5

ingemar

[GLOBAL: userInfoPane.html]
ingemar
  • Corona Geek

  • 2,733 posts
  • Enterprise

I'm at my computer again, and I've tested the above without getting an error in Corona (build 2013.1202).

I was able to successfully run an iOS app in the Corona Simulator, and build for device without problems.

 

(I did see in the build log that there is one place in the Corona build script where it tries to rename icon.png->Icon.png which obviously fails, but it doesn't affect the resulting build. I checked the Info.plist in the app bundle and it's 100% OK.)



[TOPIC: post.html]
#6

Rob Miracle

[GLOBAL: userInfoPane.html]
Rob Miracle
  • Moderator

  • 23,714 posts
  • Corona Staff

I would still include Icon.png at 57x57 as a safety measure.  In fact to keep from having a full renaming attack, here is the scheme I would use:

 

Icon-Small.png    29x29

Icon-Small@2x.png  58x58

Icon-Small-50.png  50x50

Icon-Small-50@2x.png 100x100

Icon.png   57x57

Icon@2x.png 114x114

Icon-72.png   72x72

Icon-144.png  144x144

 

No differences there, just add:

 

Icon-60.png   60x60

Icon-60@2x.png  120x120

Icon-76.png   76x76

Icon-76@2x.png  152x152

 

And it should take care of you.

 

For what it's worth, as Ingemar said, Apple doesn't look at the file name, it looks for an Icon of the right size.  It basically loops through that array and says "Is this my 76x76 icon?" until it finds it or it throws an error.



[TOPIC: post.html]
#7

Naomi

[GLOBAL: userInfoPane.html]
Naomi
  • Corona Geek

  • 2,303 posts
  • Enterprise

Thanks, guys.  I was using daily build 1202 with release distribution certificate when the Corona spat out the error at the end of the build process.  So, immediately after, I duplicated some of the icon files to include standard naming, and it built without the error.

 

I like the naming convention that indicates the size of the icon, so below is what I ended up doing.

 

What I did was rather cumbersome, but at least I know what size is for what, plus the duplicate safety icons to ensure Corona will build the release app for me.  Maybe all I needed was Icon.png for safety measure, but I decided to keep them all.

 

Naomi

 

"Icon-512.png",        -- 512x512
"Icon-57.png",         -- App Icon iPhone Non-Retina (iOS 6.1 and prior)
"Icon-114.png",       -- App Icon iPhone Retina (iOS 6.1 and prior)
"Icon-72.png",        -- App Icon iPad Non-Retina (iOS 6.1 and prior)
"Icon-144.png",      -- App Icon iPad Retina (iOS 6.1 and prior)
"Icon-40.png",        -- Spotlight iPad Retina (iOS 6.1 and prior)
"Icon-50.png",        -- Spotlight iPad Non-Retina (iOS 6.1 and prior)
"Icon-100.png",      -- Spotlight iPad Retina (iOS 6.1 and prior)
 
"Icon-60.png",       -- App Icon iPhone Non-Retina [edited]
"Icon-76.png",       -- App Icon iPad Non-Retina
"Icon-120.png",      -- App Icon iPhone Retina
"Icon-152.png",      -- App Icon iPad Retina
"Icon-80.png",        -- Spotlight iPhone & iPad Retina
"Icon-29.png",       -- Settings iPhone & iPad Non-Retina
"Icon-58.png",       -- Settings iPhone Retina & iPad Retina (iOS 6.1 and prior)
                
"Icon.png",                    -- 57x57
"Icon@2x.png",             -- 114x114
"Icon-iPad.png",            -- 72x72
"Icon-iPad@2x.png",      -- 144x144
"Icon-Small-50.png",      -- 50x50
"Icon-Small-50@2x.png",  -- 100x100
"Icon-Small.png",              -- 29x29
"Icon-Small@2x.png"        -- 58x58


[TOPIC: post.html]
#8

ingemar

[GLOBAL: userInfoPane.html]
ingemar
  • Corona Geek

  • 2,733 posts
  • Enterprise

Weird.

I have no problem at all with a release build and the build.settings file as in my first post.



[TOPIC: post.html]
#9

ingemar

[GLOBAL: userInfoPane.html]
ingemar
  • Corona Geek

  • 2,733 posts
  • Enterprise

OK, now I was able to get the error as well.

 

I have been working with Xcode 5 recently and the Xcode path had been set to point to the Xcode 5 binaries. After setting it back to Xcode 4.6 I got an error during validation, which is understandable since Xcode 4.6 doesn't know anything about the iOS7 guidelines.

 

This means that the build.settings file I posted at the top will only work properly with Xcode 5.



[TOPIC: post.html]
#10

Naomi

[GLOBAL: userInfoPane.html]
Naomi
  • Corona Geek

  • 2,303 posts
  • Enterprise

Ah, great to know.  Thank you so much for tracking this down, Ingemar.  It sounds like I can remove these additional files as soon as I update mine to Xcode 5.

 

Thanks again!

 

Naomi



[TOPIC: post.html]
#11

ingemar

[GLOBAL: userInfoPane.html]
ingemar
  • Corona Geek

  • 2,733 posts
  • Enterprise

Appearently a 60x60 icon is also required by Apple.

See screenshot [attachment=695:Screen Shot 2013-09-13 at 15.08.26.png] from the iOS App Programming Guide. https://developer.apple.com/library/prerelease/ios/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/App-RelatedResources/App-RelatedResources.html



[TOPIC: post.html]
#12

Naomi

[GLOBAL: userInfoPane.html]
Naomi
  • Corona Geek

  • 2,303 posts
  • Enterprise

Ah, you're right, Ingemar.  Dunno why I missed that.  Ugh.

 

Naomi



[TOPIC: post.html]
#13

LairdGames

[GLOBAL: userInfoPane.html]
LairdGames
  • Contributor

  • 969 posts
  • Corona SDK

Hi guys, Pardon the stupid question but can I assume the new icons will be required only if Apple release ios7 to the masses? Or more simply, can I just send an app update with the old icons size? Thanks! Mo Ps: thank you guys for all these great info. It is hard to keep track of all that stuff. Why Apple did not just ask for one graphic 256x256 and then deal with all these icons sizes behind the scene is behond me! I am sure a A4 processor can deal with resizing icons :)

[TOPIC: post.html]
#14

ingemar

[GLOBAL: userInfoPane.html]
ingemar
  • Corona Geek

  • 2,733 posts
  • Enterprise

Considering that the official release is on the 18th, I think that all apps that are released from now on will require the new icons. App approval takes about a week which would put a review on the other side of the 18th...

[TOPIC: post.html]
#15

Rob Miracle

[GLOBAL: userInfoPane.html]
Rob Miracle
  • Moderator

  • 23,714 posts
  • Corona Staff

Existing apps will work just fine.  However building with XCode 5 is probably going to enforce the 60x60 requirement and Apple will likely reject apps that come in at some point without it.  Clearly if you build for the iOS 7 SDK, you are going to have to provide the new Icons.  Hopefully it will be smart enough to look at the build target(6.1, 7.0) and decide what Icon's it needs.  I've not tried to do a device build recently.  I need to get the latest daily so I can build against the 7.0GM and see.

 

We have already updated the build.settings guide to cover what we are officially recommending for a naming scheme.  Apple gives developers some wiggle room and there may be a Corona requirement to actually have the Icon.png at 57x57.  You can see that now at:

 

http://docs.coronalabs.com/guide/distribution/buildSettings/index.html

 

We are contemplating a blog post to cover this and so some other iOS 7ism's. 

 

One of the reasons we are going with the names we have, is  most developers will only need to add icons, not change/rename any existing ones.  It's also very explicit and the less flexibility, the less room for error for many of our less experienced developers.



[TOPIC: post.html]
#16

thedavebaxter

[GLOBAL: userInfoPane.html]
thedavebaxter
  • Contributor

  • 556 posts
  • Corona SDK

I had a app update approved yesterday built with the latest public release and didn't change any icons etc...

 

I haven't installed xCode 5 or messed with iOS7.

 

Dave



[TOPIC: post.html]
#17

ingemar

[GLOBAL: userInfoPane.html]
ingemar
  • Corona Geek

  • 2,733 posts
  • Enterprise

@Dave

That sound good. I have a couple of apps that have been waiting for approval for 5 days and I didn't add any iOS7 stuff.

I assume they'll pop into "In Review" on Monday or Tuesday and hopefully they won't complain about missing iOS7 icons etc.



[TOPIC: post.html]
#18

ingemar

[GLOBAL: userInfoPane.html]
ingemar
  • Corona Geek

  • 2,733 posts
  • Enterprise

@Rob

I can understand that recommendations are in place, but I hope it stops there.

IMO CoronaLabs should not start to "police" icon file names that Apple don't enforce and which they dropped way back in iOS 3.2 when they introduced the CFBundleIconFiles key.



[TOPIC: post.html]
#19

Rob Miracle

[GLOBAL: userInfoPane.html]
Rob Miracle
  • Moderator

  • 23,714 posts
  • Corona Staff

I don't think we have any intention of policing anything beyond the boundaries of whats required for our product to work.



[TOPIC: post.html]
#20

ingemar

[GLOBAL: userInfoPane.html]
ingemar
  • Corona Geek

  • 2,733 posts
  • Enterprise

@Rob

 

OK. Great  :) Sorry for any misunderstandings....

The reason I got a little concerned was when I read:

 

It's also very explicit and the less flexibility, the less room for error for many of our less experienced developers.


[TOPIC: post.html]
#21

Rob Miracle

[GLOBAL: userInfoPane.html]
Rob Miracle
  • Moderator

  • 23,714 posts
  • Corona Staff

We are just trying to provide a cookie-cutter method to success that minimizes work and trauma for as many people who need it.  For those who want to learn how Icons work from the vendor and play within their rules, more power to you.



[TOPIC: post.html]
#22

ingemar

[GLOBAL: userInfoPane.html]
ingemar
  • Corona Geek

  • 2,733 posts
  • Enterprise

@Rob

One thing I've thought about before, and that has re-surfaced with this topic is this:

 

It would simplify things a lot for developers to just specify one icon image (like a 512x512 icon) and have Corona create the necessary icon files and plist entries in the bundle behind the scenes...



[TOPIC: post.html]
#23

LairdGames

[GLOBAL: userInfoPane.html]
LairdGames
  • Contributor

  • 969 posts
  • Corona SDK

@Rob

One thing I've though about before, and that has re-surfaced with this topic is this:

 

It would simplify things a lot for developers to just specify one icon image (like a 512x512 icon) and have Corona create the necessary icon files and plist entries in the bundle behind the scenes...

+1

 

That will be simply fantastic if at all possible!

 

Mo



[TOPIC: post.html]
#24

ingemar

[GLOBAL: userInfoPane.html]
ingemar
  • Corona Geek

  • 2,733 posts
  • Enterprise

@everyone

 

If you'd like to see Corona SDK auto-generate all app icon sizes and (for iOS) create all plist entries for you, then head on over to: http://feedback.coronalabs.com/forums/188732-corona-sdk-feature-requests-feedback/suggestions/4434185-auto-generate-app-icons-for-android-ios check out the description, and give it a vote.

 

 

 

 



[TOPIC: post.html]
#25

ksan

[GLOBAL: userInfoPane.html]
ksan
  • Corona Geek

  • 2,795 posts
  • Corona SDK

Voted for a a great idea. Thanks.


[topic_controls]
Page 1 of 2 1 2
 
[/topic_controls]