I have several games made with Cocos2d-iphone. All of them are old projects created with Xcode 4 or 5. All games scale fine on the new iPhone 6 and 6 Plus except one that seems to avoid the scaling mode and is running on native iPhone 6/6 Plus resolution. The project does not contain Launch images with the resolutions that seem to disable the scaling mode as explained here
Is there anything else that unlocks the native resolutions? I want the game to run in scaling mode for now until the HD assets are ready for the new resolutions.
I've made a new empty project that does not have any assets and it is working with the native screen sizes.
1. Is there anything else that unlocks the native resolutions?
No for older projects you can only unlock native resolutions by adding launch images
2.I've made a new empty project that does not have any assets and it is working with the native screen sizes.
If you create project from XCode 6 naive resolution will be automatically enabled even if launch images are not added. I just created new sample project from Xcode 5.1.1 and than ran it on Xcode 6 and naive resolution was not enabled and views were scaled in order to fit the screen.
Hope that clears the confusion as your project are old as you mentioned naive resolution will not be enabled unless you add launch images.
Correction
Based on comments i am correcting my answer for projects created in XCode 6 you can delete
Launch Screen File and also not add any iPhone 6/6+ specific launch images. The app will not run in native iPhone 6/6+ resolution.
So For iOS8 you can have either Launch images for iPhone 6 and 6 Plus or a Launch Screen File
Bhumit is partially right, but I believe there is one missing detail.
To disable native resolution (and ensure scaled resolution) I did the following:
Remove LaunchScreen.xib from project as well as any iPhone 6/6+ launch images you may have.
In your app's target, go to General, and under "Launch Screen File" blank out the entry.
Clean and rebuild
Related
I have removed the launch screen file and removed all references from the info.plist file and in the main settings of the project the launch screen text field is empty.
What should I do?
Based on other related questions, the ITMS 90096 error means your app isn't optimized for the iPhone 5.
Since you are supporting iOS 7 you must provide all of the appropriate launch images. You will need ones for 3.5" and 4" devices at a minimum. You should also provide ones for the 4.7" and 5.5" devices as well if you want happy users. And if your app is a universal app then you also need the iPad launch images.
You don't need a launch screen (unless you want native support for the iPad Pro*) but you must provide launch images.
* No longer true as of Xcode 8.
I'm developing a game with a cocos2d. It was using Default.png images to identify resolutions. Now I switched my launch screen's to .xib file. Now my app run's at native resolution on all devices. But on iPhone 6 and 6 Plus I expect some perfomance issues, so I'm looking for ways to lower app resolution but still use .xib launch screen.
How do I accomplish this?
You can't. Once you setup a launch screen, your app will run at full device resolution for all possible devices. You can't provide a launch screen and have your app run at "iPhone 5" size on iPhone 6 devices, for example.
Your only option is to stick with launch images and have no launch screen.
Of course if you need to support full sized iPad Pro support, that requires the use of a launch screen. (Not true any more as of Xcode 8).
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 have currently developed an iOS app. The deployment target is 7.1 and I am targeting iPhone5/5s and iPhone6/6s as main devices.
After I have finished development, my app got rejected stating that it does not support the device screen size of the iPhone6.
I have tested this app using the iPhone6 simulator and my real iPhone 6 and everything looks correct and scaled.
I am using AutoLayout
I have set constraints
I was using a LaunchScreen but after i read many posts i deleted the LaunchScreen and added Launch Images with all the sizes and with the correct default names.
The app review team provided me with screenshots that shows my app running on an iPhone6 however with the layout dimensions of an iPhone5s (the layout is not scaled, there is a large white border)
Could you please guys provide me with any tips?
I was using a LaunchScreen but after i read many posts i deleted the LaunchScreen and added Launch Images
That's the problem. You must use a launch screen, because otherwise your app does not run natively on iPhone 6; instead, it is treated as an iPhone 5 and scaled up, exactly as Apple's screenshots showed you. Apple will no longer accept that; you must run natively, so you must use a launch screen.
You need to add launch images of the below resolutions to support iPhone6. Pl. refer to the below url which clearly specifies the dimension of the launch images to be used.
https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/MobileHIG/IconMatrix.html
I have several games made with Cocos2d-iphone. All of them are old projects created with Xcode 4 or 5. All games scale fine on the new iPhone 6 and 6 Plus except one that seems to avoid the scaling mode and is running on native iPhone 6/6 Plus resolution. The project does not contain Launch images with the resolutions that seem to disable the scaling mode as explained here
Is there anything else that unlocks the native resolutions? I want the game to run in scaling mode for now until the HD assets are ready for the new resolutions.
I've made a new empty project that does not have any assets and it is working with the native screen sizes.
1. Is there anything else that unlocks the native resolutions?
No for older projects you can only unlock native resolutions by adding launch images
2.I've made a new empty project that does not have any assets and it is working with the native screen sizes.
If you create project from XCode 6 naive resolution will be automatically enabled even if launch images are not added. I just created new sample project from Xcode 5.1.1 and than ran it on Xcode 6 and naive resolution was not enabled and views were scaled in order to fit the screen.
Hope that clears the confusion as your project are old as you mentioned naive resolution will not be enabled unless you add launch images.
Correction
Based on comments i am correcting my answer for projects created in XCode 6 you can delete
Launch Screen File and also not add any iPhone 6/6+ specific launch images. The app will not run in native iPhone 6/6+ resolution.
So For iOS8 you can have either Launch images for iPhone 6 and 6 Plus or a Launch Screen File
Bhumit is partially right, but I believe there is one missing detail.
To disable native resolution (and ensure scaled resolution) I did the following:
Remove LaunchScreen.xib from project as well as any iPhone 6/6+ launch images you may have.
In your app's target, go to General, and under "Launch Screen File" blank out the entry.
Clean and rebuild