I have a problem with a custom splash screen. This is an iphone-only app (meaning it's targeting only iphone in the tiapp.xml), running in the iPad simulator sdk 3.3.0, ios7.1 and Alloy.
The app should run in compatibility mode, the problem is that even though I have all resources inside my assets/ folder, the standard Appcelerator's splash screen briefly appears before the simulator switches to my custom one.
here's the folder structure:
And here's the sequence of images when the app is loaded:
From the last pic, We can still see the appcelerator's icon, so I'm guessing Titanium is loading my custom image on top of the standard one?
Could this be a bug? I figured if Titanium CAN find my img, then it isn't a problem on my end?
The weirdest thing is that I've looked in all folders for this default Appcelerator picture and couldn't find it. I've also tried a clean build & manually deleting the build and Resources generated folders.
Thanks for all the help, this is driving me nuts!
I got this to work after manually deleting the app from the Simulator's system before running the project.
I'm not sure why, but it seems that the simulator somehow 'caches' the last img, and maybe it had this old img of my splash.
Related
I have an iPhone only app but it works in compatibility mode in the iPad too(no surprises).
but after I updated the app for the ios11, app icon on the iPad is missing.
here is what I've tried;
- launch on the iPhone simulator, icon appears
- launch on the iPad simulator, icon is missing
change the device options from "iphone" to "universal", run the iPad simulator, icon appears but app needs a new iPad ui.
change back to "iPhone" and the app icon is missing again in iPad. really confusing.
I tried to create a new project and make the same changes but never able to make the icon missing again.
I'm using cocoa pods if that makes any sense.
I think I'm missing a settings or something else, I'm really trying to find it, any advice would be greatly appreciated.
I've found the problem.
In info.plist, there was an extra or problematic entry.
- CFBundleIcons~ipad
Remove this line and iPad icons appear normally.
This problem has been reported by many users over the past 6 months (including desperate pleas to Apple to fix this bug), yet no one's reported the following solution.
I'm using Xcode 9.2, and I noticed today that my iPad/iPhone's application will run fine on my iPad (iOS v11.2.1) but the icon is missing.
This is a legacy app, about 2-3 years old, and the cause seems to be my Appicon file. When I view this file, I see this:
Previously, this resource was sufficient to provide the app icon for both the iPad and iPhone, but apparently, not anymore.
I went into my Images.xcassets file, right-clicked, and selected "App Icons & Launch Images\New IOS App Icon" and now have a look at the extra icon possibilities:
Notice the extra icons for iPads.
Sure enough, I created yet more .png files, with resolutions matching the desired iPad resolutions settings, and now, when I build my app and run it on the iPad, it does show the correct icon.
Oh, and I also needed to go into my project's build settings, select the "General" tab, and change the "App Icons Source" to the name of my new image set, "AppIconNew".
Et voila. No messing around with Cocoapods, no need to change the .plist file (mine didn't have that "CFBundleIcons~ipad" entry anyway), I just needed to create a new image set.
Okay, time to go back to my modern, cosy world of using Visual Studio again now.
(Happy sigh..)
I've had a few legacy apps that did have the CFBundleIcons~ipad in the Info.plist, so I check that first. However, I've also had instances where it was just missing the asset as #Mike Gledhill mentioned. If this is the case, you don't have to go through adding a new AppIcon set. Just check the iPad box in the Attributes Inspector for the current AppIcon assets and the iPad sizes will show in the current set. Then just add the correct assets for each size requirement.
I didn't have CFBundleIcons~ipad entry in my Info.plist file as per "karpat"s answer. So I moved to "Mike Gledhill"s answer, then after observing my all the icons from Image assests, I found that for particular icon which was invisible only on iPad, the device type set was iPhone.
I just changed device type by right cling on image set to Universal :
This did work for me.
I have a 120x120 icon image that's working fine on emulators - however when I try it on my device, the icon doesn't show up. Any thoughts?
I figured it out. This was actually really annoying. So the UI designer had simply renamed his .psd files with .png and xcode thought this was fine. However, renaming the .pngs isn't going to automatically make them real .pngs. The way I solved this was going to mac preview and exporting the files to the PNG format.
Sometimes some of the images get cached by the OS.
Delete your app completely from your mobile device (press and hold, then delete the app)
Turn off your device and turn it on again.(This ensures that the cache gets cleared)
In xCode, clean the project and rebuild.
Load the software again you your device.
You should be able to see your icon as long as its properly added to your project.
Drag your app over another app to group both into a folder. Then drag the app out of the folder.
Check your info.plist file. Make sure the icon entry looks something like this (use your own image file names of course):
If you see another "Icon already includes gloss effects" row outside, remove it.
It is not uncommon not to see your app icon on the device. However, when your app is being uploaded to the App Store, everything will be fine.
Is your iOS device running iOS7? If not, you will need to include 57x57 and 114x114 icons as well. See https://stackoverflow.com/a/18737063/1646862 for icon sizes apple requires. It is always good to include all icon sizes you may need in your iOS bundle.
I found a bug in Xcode 4.6 during the App Store submission process.
The problem is from May 1, 2013, Apple reject applications that doesn't support retina display and iPhone 5.
To understand if an application is optimized for iPhone 5 the process looks into the launch image section in the settings:
The problem born when you try to localize the splash screen: to localize splash screen you must drag the image NOT in the launch images section, but in the supporting file folder in project navigator. Then localize the image and call it Default.png (and with other appropriate name for iPhone 5 and iPad). This procedure cause the launch images sections are blank even if all works fine: in the device you can see the correct splash based on device language.
But, because Apple looks into this section to understand if an app is optimized for iPhone 5 you can't able to publish the app and the process returns you this error: iPhone 5 optimization required.
This is a bug in Xcode because the process I mentioned works fine...
Has anyone have encountered this problem and found a solution to it?
please check this:
"....you can also localize your application icons and launch images by placing files with the same name in your language-specific project directories. Even if you provide localized versions, however, you should always include a default version of these files at the top-level of your application bundle. The default version is used in situations where a specific localization is not available..." from Apple
I had the same problem, and I have solved it using UILaunchImageFile key in the app Info.plist and renaming the splash images, check the documentation for a more complete explanation
Initially I developed my app as Universal. Then I designed splash screens separately for iPad. Recently I decided to deploy my app in iPhone device mode only. My app has no fancy graphics and it just looks well and works perfect on iPad either in 1x or 2x mode.
To do so I set Devices to iPhone at TARGET/Summary/IOS Application Target pane. I dragged new splash images I created for iPhone into Launch images placeholders, one for non-Retina and one for Retina displays.
However when I launch my iPhone app on the iPad, either through debugger or stand alone, the old iPad splash screens I no longer use come up. They look bad because the image centre appears to be moved down-right as they were originally created for iPad.
I went back to XCode and momentarily changed the Device type to Universal or iPad. I deleted the images both from Launch images placeholders and physically from the file system.
Unfortunately the iPad splash images I created earlier still come back when I build my app in iPhone device mode and deploy it on my iPad. How can I get rid of them once and for all and get the app use the iPhone launch images I created and setup recently?
If you deleted the images from the disk, Clean all targets (in Xcode Product->Clean) and rebuild. There should be no way after doing this that the old image will appear (if it does it means it was not deleted properly from your project).
Clean your project (Command+Shift+Option+K)
Close Xcode, go to ~/yourCurrentUser/.Library/Developer/Xcode/DerivedData
Find the folder for your project, and delete it.
Delete the app in your simulator or test device.
Now build and run the app, and that must work; if not, delete the final images once more, and repeat the above steps.
Don't forget to check your info.plist file for Icon Files key. Sometiems splash screen images get added to the Icon Files key for no clear reason! You must remove them from there.
I will add localization to the splash image from my app.
I created the images and put them in the correct folder, but when I launch the application "updating" my app in the simulator it still shows the old image.
I tried to cleand and build with no results.
If I delete my app and istall it again, it works fine!
I did a test in 2 iphones from my company and in both I got the same behavior, I have to delete and install the app to update the images.
My question is: This will happen when I update the app on the apple store? The users will continue to see the old splash image?
Your users shouldn't see the old image when updating from the app store. From what I have seen and heard from others, the install process in the simulator from Xcode is more of a copy/paste action than and update/install action. As long as a clean run works fine, it should be safe to assume that your app store version will work fine as well.
One Suggestion.. if you just want to show SPLASH PNG image then just use default.png name of the splash image in you Resource folder... Don't code anything for splash png image...
iPhone will automatically detect this default.png as a splash image..