Iphone App submission: Status bar and screenshots - iphone

I have read somewhere that the screenshots you send to Apple should NOT contain the status bar; however my app shows the status bar during runtime. After having a look around the App store I have noticed quite a few app screenshots contain the status bar.
So my question is... Is including the status bar in application screenshots a "rejectable" offence? NB The Google App screenshots contains the status bar so I am guessing no...
Many thanks!

According to the iTunes Connect Developer Guide (PDF available once you're logged into your dev account):
iPhone and iPod touch:
Portrait: 320x460px min, 320x480px max
Landscape: 480x300px min, 480x320px max
"Please do not include the iPhone status bar."
iPad:
Portrait: 748x1024px min, 768x1024px max
Landscape: 1004x768px min, 1024x768px max
"Please do not include the iPad status bar."
Although as Noah has pointed out this is routinely ignored by developers and by Apple reviewers.
I've not had any apps rejected for showing the status bar in screenshots.

As near as I can tell, the only effect of not cropping out the status bar in the default image is that Xcode presents a small yellow warning label over the image thumbnail in the target's summary pane.
If this annoys you and you decide that you want to crop out the status bar, it's surprisingly hard to do this without distorting the colours. That's a disaster, since it introduces a visual discontinuity in the transition from the default image to your running code.
I'm not 100% sure, but I believe this is because the on-device screenshot produces an unusual PNG without any embedded color profile, while almost any tool you use to crop (like Preview) will insist on adding some color profile. Then your cropped PNG gets further modified by Xcode's optimisation when it builds the IPA bundle, so it's tricky.
The only solution I found was to do the crop using ImageMagick's utility "convert". For instance, to crop the 20px status bar from an iPad-1 landscape screenshot of 1024x768 to get a default image of 1024x748, you do:
convert infile.png -crop 1024x748+0+20 outfile.png
You can use "identify -verbose" on a file and see all the other changes most other image editing tools are making by default.

If you've seen it in multiple different apps, you're probably okay with including it. I leave it out of my own because it looks cleaner, but you're not likely to get rejected for failing to crop your screenshots.

it doesnt seem clear. their docs say Do Not Include Status Bars, so that's probably the best answer. However, it seems alot of apps don't follow that rule and are listed in App Store. some claim they are removing that "No Status Bar" restriction. Until then, best bet is to follow the docs.
here's a handy tool, just drag all your full size (with status bar) screenshots and it'll crop em for u.
https://itunes.apple.com/us/app/status-barred/id413853485?mt=12

Related

Non-4-inch apps top-aligned when new splash included

Apple is now requiring a retina and 4-inch display Splash page (i.e. the "Default-568h#2x.png") for all apps to be submitted, which is fine. However, when I include that and then do another build, once I get into the app, instead of it being centered with dark on the top and bottom (as it was before), is now top-aligned on the screen with 2x the blank space on the bottom.. which looks really unprofessional.
Is there any way via our configuration to tell the OS to go back to centering the app, despite that it has the now-required 4" Splash page included? Ideally I'd like to be able to do this without updating every single IB view in the app to center it manually, as I feel the OS should still be able to do this somehow via configuration.
FYI, answers that say "update your entire app for 4"!" are unacceptable. There are clients who don't yet have a creative budget for this but still want to keep their existing app looking decent in the store. If it's not possible, then it's not possible, but that is why I'm asking the question.
Thanks in advance for any assistance on this, and my apologies if this has already been asked.
As of May 1 if your submitting this app to the app store you will be required to support both retina display's, and the new 4" screen size.
https://developer.apple.com/news/index.php?id=3212013b
You misunderstand. As of now, you must fully support the full 4" screen of the iPhone 5 and 5th gen iPod touch, in addition to retina and non-retina devices.
By adding the "Default-568h#2x.png" launch image (it is not a splash screen) you are telling the OS that your app supports the 4" screen.
You must update your app to fill the screen. There are countless existing posts about how to do that. There is no way around this. It is 100% required - no exception from Apple.
BTW - Apple announced this requirement on March 21st. Every registered iOS developer was notified of the requirement.
It isn't possible to do what you're asking with a single setting. Your best options are a bit of code that runs when you load a view to change the origin.y position, or, go through the XIB files and update the autoresizing rules so that the views expand to fill the space. You might not have budget to update the graphics resources in the app but you should be able to spend the small amount of time required on autoresizing.
The caveat to 'small amount of time' may apply to you - if you explicitly set the size of all of your views in code you've made life painful for yourself.

On iOS, how come iPhone's Launch Image should include status bar, but iPad's Launch Image should not?

The Apple Human Interface Guide (HIG) explicitly states that for iPhone Launch images, include the status bar, but for iPad, don't include it. (please see the image at the end of question). (The document revision is as of 2012/3/07).
So I supposed any status bar info (carrier, time, battery) will be automatically cropped by either Xcode or iPhone itself, so that it is not shown to the user.
But why the inconsistency for iPad? For one, Xcode actually could take in an image, and if it sees that it is the full size 1024 x 768, then crop out the status bar region. And are there other reasons? Such as when iPhone or iPad launches an app, the status bar is always shown on one device while the other device won't always show it, and causing the difference in the rule?
Quoted: (displayed as an image)
On iPhone/iPod, applications can overlap the status bar. iPad is assumed to have big enough screen for applications not to need to overlap the status bar.

Easy ways to crop out the status bar when taking iOS Screenshots?

Apple recommends cropping out the status bar from screenshots submitted to the app store. Doing this manually in Preview is a very tedious and error-prone process.
Do any developers have any best-practices recommendations or automated techniques for speeding up this process? The goal would be to take as input iPad and/or iPhone screenshots, and output them with the toolbar cropped off. We need to support both portrait and landscape orientation, and Retina-resolution iPhone screens.
I've found a few utilities online that purport to help with this, but the ones I have found seem to fail on Retina-display resolution screens. And another that works via the iOS Simulator requires a 1920x1080 resolution monitor to process iPad screenshots - making it useless for non-17" laptop-based developers.
Any other recommendations for taking good screenshots for the AppStore? I know (based on my searching) that there are a lot of other developers who would be interested in a quicker workflow to handle this.
Bonus points for being able to bulk-process an entire directory.
I developed a free App, Status Barred which is on the Mac App Store. It crops your iOS screenshots from iPhone, iPad, portrait, landscape, normal & retina display.
I used the ImageMagick command line tools to batch crop all the Screenshot png files, but haven't figured out how to not use auto assigned output filenames.
convert Screenshot*.png -crop 640x920+0+40 920Screenshot.png
Here are two ways, assuming you mean status bar and not toolbar (which you probably shouldn't crop out of the screenshots).
If you have photoshop, just change the canvas size by subtracting 20 (low-res) or 40 (retina) and anchoring the bottom of the image. This works perfectly.
It's also easy in iPhoto using the Edit/Crop feature. Set the dimensions to the correct size (Portrait: 320x460 or 640x920 and Landscape: 480x300 or 960x600) and move the crop screen to the bottom of the image. This does it perfectly as well.
After much searching, the easiest tool I have found is the iOS Simulator Cropper. It does a great job of handling different resolutions and orientations, and it is painless to use. No need to muck around with Photoshop or other slow / cumbersome tools.
Link: http://www.curioustimes.de/iphonesimulatorcropper/index.html
The developer reports that they have enhanced the iOS Simulator Cropper to bulk process screenshots taken on device as well as via the Simulator. I haven't tried this yet since the update, but if it works well this will be the perfect solution.
I have also found a very useful tool in the Mac App store called "Status Barred" that also very simply crops the status bar out of any images handed to it.
How about just using Preview? Command+A to select all, drag the selection down to 920px then Tools => Crop.

Correct colour display of Default.png on iPhone

I'm using the Default.png method to create a splashscreen. I'm using the same file for my background and the Default.png (except default.png has the 20 pixel status bar at the top).
However, the iphone isn't displaying them in them the same. The Default.png is being displayed darker than the background, so it's painfully obvious when the app is loaded.
As a visual example of what I mean, please see below:
The image on left is the Default.png whereas the image on the right is when the app has loaded. The difference looks subtle here but when the whole image changes, it looks quite drastic.
Is this an issue with the colour-formatting of the pngs? Or is this an iOS feature whereby the Default.png appears slightly darker anyway?
It's probably not worth mentioning but I'm using Monotouch to develop my app, I doubt that would have anything to do with this.
I had a problem like this after editing a screenshot with OSX's Preview to cut out the status bar (as needed for iPad splashes). Preview sticked a color profile, and splash screen appears darker than the real thing in device.
If you open the image with GIMP, it shows a dialog offering to convert the color profile to SRGB. Take it (press "Convert") and save the image. This fixes the color difference.
Solved the problem. The designer sent me new versions of the backgrounds and the Default.png is now displaying the correct colour.
I have a feeling I had saved the previous version with a different colour profile to the background, hence why it was being displayed differently.

Best way to create Default.png image for iPhone app

Originally I though I'll just take a screenshot of my app on the iPhone then tweak it in Photoshop.
The images should be 480 x 320 according to Apple doc, and the dimensions of my screenshot are 480 x 320. But, the screenshot contains notification area (where reception bars, battery life, etc. are displayed)
So, if I chop that part off my image will be a bit shorter and not 480px high.
What do I do? Submit a shorter image? Stretch it up so it's 480px but without the notification bar? Submit it with the notification bar in the image?
How did you create your Default.png?
There is support in Xcode for creating the default image. With the device connected, open the Organizer (Window > Organizer). Click the Screenshot tab, take a screenshot and click "Save as default image..." Choose your project and bingo jingo, you're done.
You can leave the notification area in the screenshot. The iPhone will draw the real notification bar over it.
iOS 7 update: the iOS 7 Transition Guide explicitly requires this:
Update the launch image to include the status bar area if it doesn’t already do so.
I think the best way to do it is to use the Xcode screenshotter & edit some of the GUI elements out, like the artwork or text on your buttons so people don't get frustrated when pushing 'buttons' on the Default.png doesn't make your app respond.
If you have a status bar, then you should design 320x460 (less 20 pixels).
Though it is correct that you can leave it at 320x480 and have the real status bar paint over the default.png, it will look weird when the phone is in Internet tethering mode or has a call on hold (another 20 pixels).
By cropping to 320x460, it looks better when in tethering mode.
Just edit out the notification area to match the background of the rest of the image. As long as your image is 480x320 you should be fine.
However, if your app takes more than a few seconds to load, you may want to rethink using a screenshot of your app as the startup screen. People might get confused and think the app is finished loading, when in fact it is not. I've seen some apps produce a "stylized" version of their UI in Photoshop, making it clear that it's just an image and not the actual UI.
you should remember that you maybe need also some space for an In-Call status bar or the Tethering status bar. this bar has a height of 20 pixels. Even apple does not make it right. Put a call on hold and start "Photos" or the "Weather" app, then you can see what I mean. To test that you can use the menu "Toggle In-Call Status Bar" in the iPhone Simulator app.
you can use a real 480x320 image if you add the boolean key UIStatusBarHidden to your Info.plist file and set it as true.
Take a screen shot as many of the answers already mention. However, if your screen shot includes the status bar, you should remove it/replace it with a transparent strip instead. It is true that the iPhone will cover this part of Default.png with the current status bar however, if you run the iPhone app on the iPad, you will still be able to see this part of Default.png.
I built a slightly modified version of the initial view in IB, ran the app with that and took a screen shot. That way, everything looks very iPhoney, no Photoshop needed. Don't worry too much about clipping the top, it will mirror how the view actually looks when loaded if more stuff covers it.
Apple recommends something similar to what the user will see when the app loads. E.g. for my Sudoku app, instead of the grid, the default.png shows a "please wait" message. When the app is loaded, that disappears and you see the grid you can interact with. It looks fluid, and it's obvious when it's loading and when you can interact.
Finally, the interface uses some toolbar buttons. In the default.png they are in the disabled state (grey text). When the app is loaded, they are enabled and change color.