I am supporting iOS8 and greater in my App. However, I cannot get passed this Image Asset warning. What file am I missing? See the below screenshot:
an iphone retina (4-inch) launch image for ios 7.0 and later is required
You've suppled images for 4.7 and 5.5-inch devices but you need to have one for 4-inch devices as well (pre-iPhone 6).
You will need to select the checkboxes under "iOS 7 and later" (iPad ones if you're making an iPad app, iPhone one if iPhone app, all if Universal) at the right pane. These are used in both iOS 7 and 8.
Related
Xcode's interface for assigning launch images into an assets catalog is rather confusing. Only 2 image slots are made available given the settings we've chosen (Portrait only, for iOS 8.0 and later) and yet the Apple docs list a variety of resolutions required for their various devices (6s, 6s Plus, 7, 7 Plus, etc.), 12 of them to be exact. I'm using Xcode 8.3 btw.
We are designing portrait images for commonly available devices, but how to assign them here? Notice pics below showing a confusing mismatch between the expected resolutions of images (straight from Apple docs) and the Xcode UI for assigning those images. There are only 6 slots available, and even if the Apple docs described only 6 images, it is impossible to tell which goes where.
EDIT: Deployment target is 8.3.
Depending on your deployment target, there's either 3 or 4 total resolutions you need to care about: 5.5" devices, 4.7" devices, 4" devices (e.g. iPhone SE), and if your deployment target is iOS 9 or below then 3.5" devices (e.g. iPhone 4S).
The "iOS 8.0 and Later" iPhone Portrait gives you the 5.5" and 4.7" devices. If you check the "iOS 7.0 and Later" iPhone Portrait option that will give you "2x" (which I believe is 3.5" devices) and "Retina 4" (which is 4" devices).
Using those 4 options you'll be able to cover all supported iPhones.
If you need iPad support, you can check the relevant iPad checkbox. However, it looks like the asset catalog doesn't offer a slot for either iPad Pro, I don't know why not. This answer suggests that for the iPad Pro you should ditch the asset catalog entirely and switch to free images and Info.plist keys.
You also don't need 12 images for 12 devices. A bunch of the devices share the same resolution. Here are the images you need:
2048x2732 - 12.9" iPad Pro
1668x2224 - 10.5" iPad Pro
1536x2048 - 9.7" iPad, 7.9" iPad mini 4
1242x2208 - iPhone 6s Plus, iPhone 7 Plus, iPhone 8 Plus
750x1334 - iPhone 6, iPhone 6s, iPhone 7, iPhone 8
640x1136 - iPhone 5, iPhone 5s, iPhone 5c, iPhone SE
640x960 - iPhone 4s
If you upgrade to Xcode 9 you'll also need an 1125x2436 image for the iPhone X.
If you would just use a launch storyboard like everyone else, you wouldn't be having any problem. You would just supply one launch storyboard: end of story.
EDIT As of iOS 13 and Xcode 11, this will soon be required. Launch images are dead. Your app must have a launch storyboard.
Is it still possible to test an #1x view app in simulator, since most iOS devices doesn't support it. Also, I believe that no device will be supported with iOS 10.
The iPad 2 simulators are still available (at least for iOS 9.3).
They have a non retina resolution, so you can use them to run your app in a #1x environment. Even if your app is an iPhone app you can still use them to simulate an #1x iPhone (if your app is iPhone only).
iOS 10 will support the iPad 2 and iPad mini, the two remaining devices which support #1x images (see the Icon and Image Sizes section of the HIG).
With a fresh install of Xcode 8 Beta and iOS 10 beta for these devices I was able to test #1x images.
I made my entire app in Xcode 5.1.1. Saturday I downloaded Xcode 6.1 to make my app on iPhone 6 and 6+. I already placed the proper launch images and app icons for iPhone 6 and 6+. (For this app i'm not using size classes because Auto Layout doesn't work for me in this app.) I changed some of my code to fit iPhone 6 and 6+ but the simulator clearly isn't playing iPhone 6 and 6+ because none of the UIImageViews moved according to where I placed them with the code. It's still playing the zoomed in version of iPhone 5. How do I load the iPhone 6 and 6+ simulators according to my code and not the zoomed in version of iPhone 5?
I was told to place launch images for iPhone 6 and 6+ and it'd work, but it didn't.
here's what worked for me:
From the xcode pull down menus, Xcode > Open Developer Tool > iOS Simulator (if you get a pop up error just dismiss it)
Once in the Simulator go to Hardware > Device > Manage Devices.
Delete everything listed under simulator.
Reboot your machine.
After that navigate back to Manage Devices in the simulator and click the plus to add back your simulators. Then the iOS 8 simulators will show up. Hope that also helps you.
The old launch image asset doesn't provide the necessary support for iphone 6/6+. Remove your old LaunchImage item in your images.xcassets and create a new one. There will be additional options for adding the proper launch images for iphone 6/6+.
I need to submit the build to Apple App store with Xcode 5.1.
1.) Do I need to include Launch Images for Iphone6 and IPhone6 Plus so that users can run on Iphone6 and Iphone6 Plus?
2.) Do I need to include any new App Icons?
3.) Is there anything i need to add which is specific for Iphone6 and Iphone6 plus?
i think that i is not related neither with the devices nor with the Xcode version that you use but with the iOS versions that your app will be running on.
Furthermore if your app will run on iOS 8 ,then you have to add launch images for iPhone 6 and iPhone 6 plus.
As concerning the App icons,here it is a link for the App icons that you have to include.
App Icons
I've been trying for the past hour to create an iPhone only app on Xcode which runs with the 2x and 1x option. However when I run it on my iPad Mini with Retina Display its displaying as a full screen app instead. I've tried to set the deployment target devices to just iPhone, and unchecked the "Use Size Classes" as well but it's not working. Is this a Xcode bug or am I missing something?