Faced the problem with Launch images in Xcode 6.1.1
When I set all of the images - iPhone 4s, iPhone 5/5s and iPhone 6 doesn't show up (black screen), however the resolutions for the particular device is set right, as all of the images are on their places.
https://dl.dropboxusercontent.com/u/71223199/temp/01.png
I use Landscape right/left.
Funny stuff is when I'm adding them one by one, they first work.
https://dl.dropboxusercontent.com/u/71223199/temp/02.png
But once I add images for iPhone 6/6+ they don't work again.
iPad works fine.
Have anyone seen any step-by-step tutorial on how to set up images?
I have my another project (portrait orientation) and it works fine when images for all devices are set up.
Sounds like Apple didn't fix this landscape-only launch images bug with their latest update to Xcode. You'll likely have to manually edit your project's info.plist file to include the UILaunchImages array. The selected answer here worked for me for the previous version of Xcode:
How do I create launch images for iPhone 6 / 6 Plus Landscape Only Apps?
More detail on why this particular bug exists (at least it did in Xcode 6.1) in the last post of this thread:
Supporting iPhone 6 and iPhone 6+ with different launch/splash screen image for iPad Portrait and Landscape orientations
Related
I have an issue with the iPhone app. I have implemented one iPhone app (not universal). When I am creating the new project I have deleted the Launch Screen,Story board from the project and implemented the MainWindow.xib like in the old format. I have designed the xibs for iPhone 5. So in iPhone 5,6 and 6 plus everything is working fine. But When I run the iPhone app in the iPad the bottom part got cut off. If I design the xibs for iPhone 4, eventhough I added the Default-568h#2x.png it is not supporting for iPhone 5 but working well in iPad.For reference I have attached the screenshot . The screenshot for iPhone 5 screen. It is not scaling to iPhone 5 after adding the Default-568h#2x.png. Black color part width is 568-480=88 pixels.
So please guide me to handle the iPhone 4,5,6,6 plus and iPad.Thank you for spending the valuable time. Please let me know if I am not clear.
I am using xcode 8.0 and iOS 10.0
EDIT To clarify question
I have a large app that has been out for a few years. It runs perfect on all iPhone sizes (4 up to the 6 plus). It supports both iOS 7 & iOS8, and is Optimized for iPhone 5.
My issue is with iOS9. The app no longer uses the built in scaling that iOS provided to fit the app onto the 6 or 6P screens.
Not only that, but it is rendered as if it were on a 3.5" screen. It is not recognizing the Default-568h#2x.png static image. Causing it to letterbox on an iPhone 5.
Is this a bug in iOS9 that does not recognize the static splash screen image?
Thank you so much!
This was caused by my Default-568h#2x.png file being localized (Which is required by iTunes Connect).
When I removed the localization from the file, it started rendering perfect in iOS9.
This does not help anyone whose app is currently in the store with a localized Default-568h#2x splash screen file.
As far as I can tell the only way around it is to have a 'Splash Screen' .xib file defined in your project settings (you then lose the auto scaling for iPhone 6 and 6+, which was perfect for our application).
I have a case open with Apple regarding this. They told me that they could not look deeper into it until iOS9 was out of Beta (tomorrow morning), and if it was still happening, than it is indeed a bug on their side and (hopefully) would be fixed soon.
I use Images.xcassets to manage assets of app. I had to create a LaunchImage in there and just add images for iphone Portrait ios 7-9 and not have any for retina 4.7 and retina 5.5 and things worked again.
If you use a Launch Storyboard then you need to remove that and add xcassets as mentioned in previous paragraph
This is in xcode 7
I am making a test sprite kit game, and when I run it on the device, the splash screen doesn't show up although it does work on the simulator.
Here are some screenshots:
Normally I set the target to iOS 7.1 and later, so I use a .xib file and LaunchImage file in xcassets.
I have put 2 correctly sized splash screens in the iPhone portrait iOS 7&8 section, and have selected "Portrait" under iOS 7 and later. The link from the settings file is definitely going to the correct file.
When I run it on the simulator (presumably all devices are iOS 8), the .xib file is used and it displays that splash screen.
When I run it on my iPhone 4, it displays a black screen. In my other apps, it would choose the image from xcassets and display it, but this is not the case.
Does anyone know how I could solve this problem?
Edit
Basically, I have put 4 images into xcassets for a splash screen. I have selected iPhone portrait for iOS 7 and iOS 8.
In the settings pane I deleted the launch screen file reference, so the only reference is to the xcassets launch image (It points to the correct place). I have also deleted the LaunchScreen.xib file.
But when I run the app on the device and the simulator, no splash screen shows up.
I faced similar issue and fixed by Restarting the Mac and iPhone
Uninstalling the app from Simulator/ iPhone helped to fix this issue.
I was having the same problem, and I finally figured out a solution. I want my launch screen to show up on ALL devices capable of running iOS 7 or later, when running my landscape-only Sprite Kit game. Most devices that run iOS 7 can be upgraded to iOS 8 or greater, except for the iPhone 4 (which is stuck with iOS 7.1), and the launch screen wasn't appearing on my iPhone 4 test device. Then I stumbled across Apple Tech Note TN2244. As described in the Tech Note, once you edit the info.plist to enable landscape orientation for iOS 7.0+ iPhone launch images, the correct launch image will appear. As a side note, if you disable the launch image asset catalogs as suggested, the XCode Swift compiler gives you warning messages -- but you don't really need to disable launch image asset catalogs, and if you configure them properly the warnings will disappear and landscape launch images will now work just fine on all devices, including iPhone 4.
Your app's launch image is displayed as soon as your launch your app. Hence the name. It is removed when the appDelegate appDidFinishLaunching: method runs. If you are app has very little to load, your image might get displayed and removed before you have time to see it.
If you want to manually set a longer display time for your launch image, you can add this code to the appDidFinishLaunching: in the appDelegate.m file:
sleep(4);
4 being the number of seconds.
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 have got an app developed for iPhone family only, and I used to run it on iPad to test how it will look on iPhone 4s (since it launched with iPhone 4s resolution, size, and else '2x' round button for fullscreen support). However, now when I run it on my iPad with iOS 8, Xcode ignores all build settings and runs it as for iPad. My storyboard constraints were not projected for iPad screen.
I have:
Devices option set to iPhone on General tab in project settings
Main storyboard file name and Main storyboard file name are removed from Info-plist
All App Icons and Launch Images for iPad are deleted
In Launch Screen File the option Use Size Classes set to NO, and the assets are generated for iPhone only
Is that a normal behavior? I want to use my iPad as before to test iPhone 4s resolution. I am sure that my app won't become universal because of that, but nevertheless I think this is a problem.
The use of Launch Screen File in iOS 8.0, 8.0.1 and 8.0.2 will make you universal.
This is a know bug and fixed in iOS 8.1, for you only option is to use assets catalog with a launch images.
Or you can add the device modifier in the Launch file name, like <launchNib>~iphone.nib