iPhone application developed in Xcode 5, not showing icon and launch image while running on iPad - ios

I have developed an iPhone app, it is not universal. Now when i run it on any iPhone it's launching with splash screen and icon image is getting showed on device but-
when I run same app on iPad neither it is showing the launch images/Splash screen nor it's icon image is visible on device.
I am using Xcode 5, Deployment target is 6.0, and app is not universal.
Please have a look of images what i did yet.
what is the correct process in Xcode 5 to set icon images and launch images of any iPhone app, should i set it for iPad somewhere?
Is it because of resolution of images (Icon/Launch) for Retina and Non-Retina Display?

In X-Code 5 image assets is the folder to manage the images including icon images and launch images but in my case to manage it i just check the resolution of every icon image and launch image, some of the images having correct suitable size for retina display but not having proper resolution so i corrected it.
Resolution Non-Retina: 72
Resolution Retina display: 376
In image assets > icon folder > it worked for me when i put images with correct resolution and size i.e.-
Xcode 5 is smart enough to check the resolution so be sure about the resolution of images, I Think.
When i tried to add correct images in image assets > launch image, it didn't work yet so For launch image i used the old pattern to handle Launching image like-
It worked in my case, Hope It will help others as well.

I think you need tick the required device and need to add App Icons and Splash Screens using image assets like.
Here are the sizes required for according to devices.
Please review:
Remove app from simulator (Reset simulator), clean project.
then check app icons and images in assets according to iOS targets and check if warning coming. then build and run the app And if stay remains please review

Related

Launch Image/Screen for iOS with Navigation Controller

The final step of my first iphone app (Xcode 6) is to add a launch (splash) screen. I copied a 640x960 (iphone 5 ios8) into my images.xcassets file, into the LauchImage space. I copied into the 2x location (for iPhone Portrait iOS 7,8). I am only running this development app on a single phone so won't need to support all the various screens/sizes.
Apparently, just dragging the image into the .xcassets file/LaunchImage isn't sufficient. I still have only a one sec black screen flash while my app is loading, and no launch screen. Is there another step or two needed here?
thx.
In your app settings General page try setting the Launch Image Source to "Use Asset Catalog".

not using fullscreen iOS App Xcode 6.0 iphone5s

I have a simple out of box app that doesn't use the entire screen when I deploy it on a iphone5s. By default it creates a LaunchScreen.xib. I have not edited this file on purpose.
Black Bars top and bottom
Other answers suggest to add a Default-568h#2x.png launch image, but I am not using a launch image, and I am not sure where to add these. I see a place for this in the Images.xcassets by clicking the + icon and selecting New Launch Image.
Do I need to add a New Launch Image to Images.xcassets? If so what is the point of having a LaunchScreen.xib?
Thanks!
To get the app to display full screen:
As suggested here (https://stackoverflow.com/a/15328339/4347877), you must include a Default-568h#2x.png launch image (for iOS 7 or earlier). Or if your deployment target is iOS 8 or higher, you have the option of using LaunchScreen.xib.
Why Use LaunchScreen.xib?
For iOS 7 and earlier, app developers had to provide separate launch images for all screen sizes, resolutions and orientations their app supported. For universal apps, up to seven images were required: retina and non-retina versions for 3.5-inch iPhones in portrait and for iPads in portrait and landscape; and another retina image for 4-inch iPhones (the iPhone requires no landscape version because apps are always launched from the portrait-only Home screen).
Creating these images is a nuisance. Xcode 6 comes to the rescue by allowing you to specify a storyboard whose initial view controller will then be used as the app’s launch screen.
If you want to add a launch image instead of using LaunchScreen.xib:
Click on your Images.xcassets folder, right-click in the left pane, and select "New Launch Image." Once you have the correct launch image sizes for all devices you would like to support, drag each image to its respective slot (e.g. "Retina HD 5.5" or "iPhone Portrait 2x"). Before Xcode 6 introduced LaunchScreen.xib I used to create my launch image size here: http://www.appiconsizes.com.
Okay the solution I found came from this question. The answer from James Nick Sears actually fixes my problem. This is after adding the Launch Images. It should be noted that launch images using the images.xcasset is the prefered way to do this pre iOS 8.0 and the only way to make your app compatible with devices running iOS 7 and earlier.
I suggest using TiCons to create the icons, the mapping took me longer then it should have to figure out. In xcode you can see the expected image size for each device by selecting the empty image box and looking in the attribute inspector window on right.
But the real kicker is clicking the 'use asset catalog' button on the "App Icons and Launch Images" of your apps settings under the General tab. Once you click Migrate you can select your LaunchImages from the selection menu that resides where the button used to be, after "Launch Images Source". Without doing this your app won't work correctly on pre iOS 8 devices.

#3x images incorrectly used on iPhone 6 or 5S or 5 in XIB's with the "Use as Launch Image" option set

With-in a clean brand new iOS project I've:
added 2 images to the project "background#2x.png" and "background#3x.png"
added a XIB named "LaunchScreen.xib"
checked the XIB's "Use as Launch Screen" option
added a UIView sub-view to LaunchScreen.xib and set its image name to "background.png"
with-in the project settings, under the targets 'General' settings I've set the 'Launch Screen file' to "LaunchScreen"
Now when I launch the app on any of the devices list below the #3x image is displayed in the resulting launch screen when surely the #2x image should be used.
Problem devices (that all use the #3x resource):
iPhone 5 (iOS 8.0.0)
iPhone 6 (iOS 8.0.0)
iPhone 6 (iOS 8.0.2)
iPhone 5 Simulator (iOS 8.0.0)
iPhone 6 Simulator (iOS 8.0.0)
NOTE that the #2x image is distinctive from the #3x image so I can easily identify which one is being used.
At first I assumed this was a bug with the simulator and was staggered when it occurred on a real device also.
I assume this is yet another iOS8 bug however I guess there's also the possibility that its expected behaviour as the result of the launch screen being cached as a static image of some kind.
Any ideas or potential solutions?
EDIT:
For the benefit of others, I have subsequently found that if the images are instead added to an Images.xcassets image set then the correct behaviour is in-fact observed. HOWEVER this is not an ideal solution for us since we have a very specific image export process which means we are not using an Images.xcassets in out project (there are thousands of images in the app).
I have now also raised a Radar with Apple #18513968
http://openradar.appspot.com/18513968
I've just tried this myself, and get the same behaviour you have mentioned.
By setting the Launch Images Source to "Use Asset Catalog", and adding the Launch Image you can get each device to show its specific background. Some screenshots can be seen here:
Supporting iPhone 6 and iPhone 6+ with different launch/splash screen image for iPad Portrait and Landscape orientations
Looking into it a bit more, I found a website that mention:
http://oleb.net/blog/2014/08/replacing-launch-images-with-storyboards/
"You can use the new adaptive UI features in Interface Builder to fit your layout to different screen sizes. If your scene requires screen-size-specific images, use asset catalogs to define different images per size class."
Maybe that is the only way to do it.

Xcode 6 Migrating to Images assets issues -- Black launch screen

I updated my application to use Image Asset for App Icon and Launch Images i set both with
appropriate image size according to Apple Doc. The issue that I have that for Iphone
and the simulator for (4S/5/5S) the launch image/screen is always black except for
Iphone 6+ but it works fine on iPad. I looked at couple of post here and nothing have
worked as follow
1) deleting the asset catalog and creating a new one
2) adding #2x and 3#x to each file before adding to the catalog
3) removing and redeploying the application
Anyone had that issue when porting image catalog ? Im using Xcode 6
Targeting ios 7 and 8
Thanks
Mike
Update 1
When disabling landscape launch screen appears normally
something i noticed before doing, so on either the device and the simulator
the application starts in landscape even if the device is held in portrait
and then it rotate to portrait. Still trying to solve that issue now
The following steps are worked for me:
Add the images to the project (root directory or Resources folder) with the following nomination (I will describe them into the Portrait launchimages): Degault.png (3.5 inch), Default-567h#2x (4 inch), Default-667h#2x (iPhone 6), Default-736#2x (iPhone 6plus).
Go to the target settings, App Icons And Launch Images on the General tab -> Set the Launch Image Source to not use asset catalog ('Do not use asset catalogs').
Remove the LaunchImage asset from your main image asset
Go to the target settings, App Icons And Launch Images on the General tab -> Set the Launch Image Source to use asset catalog
The XCode 6 is going to ask you about image asset migration from the existing images. Just click to 'Migrate'.
And it worked for me for each kind of devices on iOS7, iOS8.
Note:
If you check the new LaunchImage asset, than you can see it is really strange. It seems to contain only a few image without the images with iPhone6 or iPhone 6plus resolution.
I found that if I go to the app target general tab and remove all device orientations, the launch image will show again (i.e. the black screen goes away). After running the app, I then went back to the app target general tab and restored the desired device orientation and the launch images continue to work as desired.
(My answer should be in the comment section but I can't post it there due to my reputation)
May be these are very basic steps but:
Have you tried doing a full clean and deleting the derived data?
Have you checked the General tab of your target, under App Icons and Launch Images?

Simulator running in scaling mode for iPhone 6 Plus?

My app starts and runs on the new iPhone 6 Plus (or iPhone 6) in the simulator, but elements that I know are supposed to be small on the big screen (i.e. hard coded CGRects) are large, as if the whole app had just been scaled up for the larger screen.
How can I get out of scaling mode in the simulator?
It looks like setting a launch screen file in the "App Icons and Launch Images" section of your project settings, or adding iOS 8 images to your launch image catalog, will enable "native" resolution.
Adding a correctly sized LaunchImage seems to be enough (setting an incorrectly sized image won't).
Also adding the new "Launch Screen File" should work:
You must set correctly sized LaunchImages
For more information about LaunchImages and icons see this documentation
https://developer.apple.com/library/IOs/documentation/UserExperience/Conceptual/MobileHIG/IconMatrix.html
use Asset Catalog Creator from mac app store.
https://itunes.apple.com/gb/app/asset-catalog-creator-app/id809625456?mt=12
give it any image and it will generate all the correct launch images and icons in a xassets file.
This should stop the scaling of the whole app on iphone 6+

Resources