Why is app icon white? - iphone

Some recent version of iOS caused my app icon to turn white. I've gone through everything in regards to images and can't find the issue. I'm running Xcode 3.2.5 with sdk 4.2. I do have an entry for "Icon files" in Info.plist with 5 keys:
Item 0 myapp.png
Item 1 myapp#2x.png
Item 2 myapp-72.png
Item 3 myapp-Small-50.png
Item 4 myapp-Small.png
Item 5 myapp-Small#2x.png
All the above have proper dimensions.
I see the image in 'Copy Bundle Resources' and also in the .app file for the simulator version. It is properly reference by name in 'Icon files', Item 0. It is not named Default.png since it is referenced by name in Item 0.
Any suggestions?

You just need those 3 Files:
Icon.png
Icon#2x.png
Icon-iPad.png
Put the names into the Info.plist under Icon Files.
EDIT: Clean your target if it still won't work!

That is what helped me (project summary - app icons are ok, iOS simulator - app icons are ok, iPhone device - blank icon).
Just reconnect your icons to project by dragging them from project navigator to App icon section in project summary.

When does it turn white? If you upgrade an app when it's running, sometimes it appears with a white icon in the "task" bar. This applies to apps you're developing and those download from iTunes. The fix is usually just to kill the app and restart.
That's the simplest answer, but I suspect might not be the solution.
Does the case of the file names in your Info.plist match the actual file names? The Simulator is not case sensitive but the iOS is.
You might also like to make a completely clean build. Don't just do a "Clean" in Xcode, instead manually clear out your build folder.
Finally, when the iPhone 4 first came out I had some issues with the order of the icons referenced in the Info.plist. I never saw white icons (usually just the non-Retina version) but this may be something worth playing with if nothing else works.

The icon file name may be too long if it is a custom file name. This is just a guess, and I hate guessing, but this appears to have been the problem I just had.
I have four targets using the same code but with different icons. I named the icons differently based on the app name, so I could store them in the same directory.
For example:
Icon.png
Icon_second.png
Icon_alternate.png
Icon_second_alternate.png (or Icon_secondalternate.png in case underscores were an issue)
This nomenclature was used for all of the icon names (there's 8 icon files to support iPhone, iPad, retina, etc).
The last one was giving me a problem. Despite a hundred clean/rebuilds, deleting the schema entirely and creating a new one, fruitless efforts, it suddenly occurred to me to try renaming it.
You should be able to name the icons differently, as I still use the first three versions. They are listed in the plist file and render in the project summary, and on the simulator, just fine. The last one rendered in the summary as well. However, I think the length of the file name was too long for the simulator. There must be a length limit. I renamed the fourth one to use the standard Icon.png naming but added it to the fourth target only (images are stored in a separate folder).
CONCLUSION: If you have more than one target for your app, use the standard naming system for all of your icons but add them to separate folders, and then when adding to Xcode just set the build target appropriately.

If you still have the default icon entry (even blank), this can happen, remove that entry in info.plist.
Also, Default.png would be your splash screen.

Load the icons into the Preview application, and make sure they are really png format (and not just named such) by doing a "Save As..." specifying PNG format in the save dialog. Do a Get Info to check the sizes. Make sure the case of all letters in the name match your plist entries.

I had the same problem recently - the Icons I was using were created in GIMP. When I opened them in Photoshop on the development Mac it complained about an ICC color profile. After re-saving the PNGs in Photoshop the Icons worked like a treat.
P.s. I just repeated my steps in creating the images in GIMP, but when saving unticked every extra option that GIMP - by default - was trying to add into the image when saving it. The icons worked perfectly this time around.

If you believe your icon configuration is correct, then you may simply be seeing a bug in Xcode.
As a workaround…
"Clean" your project. Choose Xcode > Product > Clean.
Delete the app from your simulator, or even reset the Simulator by choosing iOS Simulator > Reset Content and Settings.
Quit both the iOS Simulator and XCode apps, then restart them.

Related

Storyboard file 'MainStoryboard_iPad~ipad.storyboardc' was not found

I am attempting to validate my iOS project before uploading it to the App Store. It's an iPhone app that runs fine in the simulator and on my iPhone test device. It works fine in iOS 6.1 and iOS 7.
When I run the Validate check in Xcode Organizer, I repeatedly get 1 error and 1 warning.
Error is:
Storyboard file 'MainStoryboard_iPad~ipad.storyboardc' was not found. Please ensure the specified file is included in the bundle with any required device modifiers appended to the filename.
Warning is:
Missing recommended icon file. The bundle does not contain an app icon for iPhone/iPod Touch of exactly '120x120' pixels, in .png format.
I have spent days (weeks?) searching for an answer to similar questions that might resolve the error message. Nothing works ... and I've tried a lot of things that seemed to have worked for others.
Perhaps there really is something wrong in my code / bundle creation ... help! I can't find it. Since I get the same 2 messages every time I try and validate the project, no matter what I change, I'm starting to wonder if, somehow, the changes I'm making are not making it through to the bundle that is getting validated each time?
Goto your Project view, click Targets, goto General tab and look at Deployment Info settings.
In the Devices selection box, you will see iPhone in your case.
Perform the next steps:
select iPad
Delete the text Storyboard-iPad in the 'Main Interface' Choice box so it is empty
Press cmd-s to save (If not saves automatically)
select iPhone again in the Devices selection box
Build your project again and archive it again 5.
Problem should be solved now.
To fix the error, just open the project's info.plist file and remove the value for the key Main storyboard file base name (iPad) (or UIMainStoryboardFile~ipad).
Also, you should be able to fix the warning by adding an app icon of the size/type specified in the warning message.
Don't forget to re-archive after making these changes.
This happens, when you change the default storyboard name for iPhone App (even you not targeting to iPad).
In Project > Targets (App)> General > Deployment Info
Just change Device to iPad and then select the default storyboard of iPhone.
Change back Device to iPhone
I have exact the same problem. I'm working on a universal app that has 2 storyboard (both iPhone and ipad) and I accidentally deleted the iPad storyboard while I was making the localisation, then I re-added the iPad storyboard(maybe I did it incorrectly), the next time I submit the binary, the Error-itms-90029 occurs(gone through the validation but failed at the submission, strange case aye~).
I solved this problem by once again deleting the the iPad storyboard, and again re-insert it. and now it is fine. careful when you re-insert it, you also need to check it in the "Build Phases >> Copy Bundle Resources", if you see the storyboard icon showing properly then it is fine.
I stopped trying to resolve the error messages I was getting in the Validate step and began following my hunch that the bundle changes I was making were not getting through to the bundle that was being validated. I read posts about how to create an Archive "ipa" file. Following those instructions, I was able to create a new and up to date ipa file that did validate and I was able to upload to the App Store for review.

Xcode puts Default.png in my plist as an Icon file when I assign a Launch Image

When I set a Launch Image, Xcode creates a copy as Default.png and creates an entry in my plist in Icon Files (iOS 5) / Primary Icon / Icon Items --> Item 1 : Default.png
Item 0 : MyIcon.png is the app icon which I have already placed through the Target.
The reason this is a problem is that the launch image then takes precedence over the actual icon and as a result, it shows as the primary icon instead of my actual icon image.
Why is Xcode doing this?
Can I safely delete the Default.png entry from my .plist? (this seems to fix the problem)
Do I need to copy Default.png somewhere else?
Thanks!
There is also an alternate way. Follow this simple step:
Just delete the Default.png file. Select it again in the summary section project's target settings. you can also drag drop it the on the icon of launch image in the summary section.
The answer is that if you are developing and app for iOS 5, there are two different sections for declaring your icons. The Info editor in the Project editor doesn't show the iOS 5 section. You have to load the file in the Property List editor.
Basically for pre-iOS 5 there is 'CFBundleIconFiles', for iOS 5+ it's 'CFBundleIcons'
Make sure that these have the same icon files names in them.

CFBundleIconFiles Key is not Showing Up in XCode

I'm having trouble adding multiple icon files to my application's info.plist file. I've read the docs on Apple's site, and I've read many of the articles here on StackOverflow, but something isn't quite right.
When I open my info.plist file and click the "+" button next to the entry for "Icon File", I make an attempt to add an entry for "Icon files" (notice the added "s"). This entry does not come up in the dropdown list, however. And when I switch the view to "Show Raw Keys/Values", only the CFBundleIconFile shows up. The necessary CFBundleIconFiles (again, notice the "s") does not show up in my dropdown list.
Is there a setting in XCode I need to set to get these new values to show up? I'm running 3.2.6 with SDK 4.3.
Thanks!
If I follow correctly, you're having issues with enabling multiple icon files and their respective resolutions? Apart from setting the main one inside your .plist (as you're using XC3, whereas XC4's interface allows for retina and non-retina selections built in) the others simply need to be in the same place as your main Icon.png file.
This might further help you:
iPhone icon size

Icons in distribution application bundle for iPhone are blank

I've set all the icons to use in MonoDevelop (including the correct resolutions). The icon for my app shows up in the simulator correctly as it does show up correctly on my iPhone device.
However after I build the app for distribution I've noticed when I browse the .app package has blank png files titled 'icon', so there's a blacnk Icon-small.png, Icon-Small#2x.png, Icon#2x.png and Icon.png.
I'm guessing these icons sould actually be the icon images?
Since it works on the device, I believe the contents of the app package are encrypted so that if you view it on your mac you won't see anything. The encryption would have to be stripped for you to see the contents.
Edit: I don't know if this actually true though - I looked at an ad-hoc build I have here and I see the same blank icons, however I do see dimension information (60x60) when I get-info in Finder. Presumably if it couldn't read the file at all, it wouldn't be able to see the dimension information? Also I can read the plists in the app just fine.
The answer is in another SO post: "Show Package Contents" of iPhone build release reveals blank PNGs?

Why is my icon not being distributed to the device?

During the work on my iPhone application the icon changed from time to time. Colleagues or management came with fancy new ideas and .pngS and all I did was changing the Icon.png in the file system. Most times the new icon was distributed to simulator or device with the very next build, sometimes I had to delete and add th icon.png in Xcode (images), but it worked.
Then, the other day I added the UIPrerenderedIcon element to the info.plist to eliminate the icon's shine (it worked) and since I did, I've problems with bringing new icons to the device:
Simulator shows new icon when in debugging mode
Simulator doesn't present new icon in release mode (only when debugging was used before)
Never new icons on any iPhone or iPod
Whenever icon distribution fails, a white square or (even stranger to me) an old icon (corresponding .png is completly eliminated from the file system) is shown
Any ideas?
Try cleaning all targets, that is most likely the case of the old icon showing up.
Also, this happened to me a few times (with in app images)...
The simulator is case insensitive to file names, but the device IS case sensitive.
So, if in the info.plist you say your icon file is: ICON.png
But the actual file is named: icon.png
Then, the simulator will display the icon, However, the device will not.
When ever you change the icon image Try deleting the old application from the simulator/iPhone and thenm reinstall it.. Some times such problem occur with me too.. and also
FOR icon on iTunes
Make the icon image 512 x 512 JPEG or PNG file named iTunesArtwork. Then go to get info and remove the extension. Note that the file must not have an extension.
After generating the file of your application’s icon, follow these steps to add it to your application:
Open your project in Xcode.
In the Groups & Files list, select the Resources group.
Choose Project > Add to Project, navigate to your iTunesArtwork file, and click Add.
In the dialog that appears, select the ”Copy items” option and click Add.
Note that the PNG or JPEG file is just 'iTunesArtwork', with no suffix.
If you try to copy the file into the application bundle after you have built it, it will break the app signing, and you will get a verification error when trying to sync it to your device. Ensure that the artwork file is included in the "Copy Bundle Resources" folder, within your project's target in XCode (step 4, above).
Then drag and drop your app file to the iTunes for cross checkin whether you have done all things correct or not.
Hope this helps..
Start Application in xcode
1 Change the name of the icon.png to icon1.png
2 Remove the app from the simulator or the device
3 Clean all targets
4 Change icon1.png back to icon.png
5 Run app again