iOS 5 Screen size without using default-568#2x.png - objective-c

I am using iOS 6, and have set the deployment target as 5.0. But Appstore does not allow default-568#2x.png with iOS version lower than 6. Is there any way to handle the screen size of 4 inch screen without using default image?

To be able to start with the 4inch size on the iPhone 5 you have to add a Default-568#2x.png splash screen and compile with the iOS 6 SDK.
Of course you can still use you deployment target to 5.0+ while you are building your app with the iOS 6 SDK as base SDK (the deployment target and the base SDK are 2 different things, with the iOS 6 SDK you can target iOS 4.3+)
If you add a iPhone 5 splash screen and you're using the iOS 5 SDK as base SDK, you app will be rejected.
A short tips: try to create a new project with the latest Xcode version and you will find a basic Default-568#2x.png black splash screen which will allow you to start on the iPhone 5 screen size without artwork.

Related

splashscreen issue with iOS 9.3 but ok with 8.1

My current issue is the following I'm using the "Default.png" nomenclature in order to have a splashcreen following the device's language.
In iOS 8.1 there's no issue (at least on simu 4,4s,5, 5s,6..) but with iOS 9.3 (simu AND device from 5 to 6+), the splash screen doesn't appear and the application has the "size" of an iPhone 4 application.
I'm using the last version of Xcode and the project was an old project (iOS6) upgrade to iOS8 following the client requirements.
Any clue ?
my splashscreens for the following formats
320x480 640x960 640x1136 750x1334 1242x2208

Adaptative layout iOS 8 and iOS 7

I've to develop an app that should work on iOS 7 and iOS 8 devices. I'm using Xcode 6 to develop it and I'm having issue to design the UI. I designed the UI by using the adaptive layout, so when I try to run the app on a device in which it's installed iOS 8 it works great on all display dimension (iPhone 4s, iPhone 5, 5c, 5s and iPhone 6, 6 Plus) as you can see on the following screenshot:
When I try to run it on a device in which it's installed iOS 7 I get some trouble as you can see on the following screenshot:
How I can fix that issue? I need to design another Storyboard that the system should use if it detect iOS 7? I hope you can help me

XCode 6.0.1 ios 7 Autolayout

I have found that applications built in XCode 6 for ios 7 have different behavior from same apps built for ios 8. There is something wrong with autolayout constraints. For example some bottom and trailing spaces won't work if I build app in XCode 6 for ios 7 both in sumulator or device, but apps correctly work if i build them in XCode 6 for ios 8 or in XCode 5 for ios 7. So i think there are some troubles for ios 7 when you build with XCode 6. If anyone has the same issue and how can it be resolved?
In iOS 7, cells’ content views sized themselves via autoresizing
masks. In iOS 8, this was changed, cells stopped using the
autoresizing masks and started sizing the content view in
layoutSubviews. If a nib is encoded in iOS 8 and then decode it on iOS
7, you’ll have a content view without an autoresizing mask and no
other means by which to size itself. So if you ever change the frame
of the cell, the content view won’t follow.
Apps being deploying back to iOS 7 will have to work around this by
sizing the content view itself, adding autoresizing masks, or adding
constraints. I guess this means that it's not a bug in XCode 6, but an
incompatibility between the iOS 8 SDK and iOS 7 SDK, which will hit
you if you upgrade to Xcode 6, because it will automatically start
using the iOS 8 SDK.

although ios 6.1 as base sdk xcode 5 build ipa for ios 7

i changed the base sdk for iOS 6.1 in xcode 5 .
When i simulate my project on a iOS 6.1 simulator or on a iOS 6.1 device
all works fine. But when i build a ipa and install it on a iOS 7 device
the device use the iOS 7 sdk and my hole app looks weird. I changed my base
sdk for iOS 6.1, so why use my device the iOS 7 sdk?
I read that iOS 7 use the iOS 6.1 sdk for old published apps.
What do i have to do that iOS 7 also do that for my app?
My only idea is to install xcode 4 again...
I have experienced the same problem - unfortunately only discovered AFTER submitting to the app store and the app being approved and released, causing all sorts of mayhem due to interface glitches.
The issue occurs due to a bug in XCode 5 (including in XCode 5.0.2 it seems) that is triggered when you install older SDKs.
When you have multiple SDKs installed, you will see that when you connect your device to XCode, there are multiple entries for your device, with no way to tell them apart. But it appears that the TOP entry is for the OLDEST SDK you have installed, the BOTTOM one for the NEWEST SDK.
I have found that if I first use "Test" project option to run the app on the device with the SDK I want to use (in my case the top entry, which is for iOS6.1 SDK), then that is the SDK that will subsequently be used when I archive the app.
You can have both xcode 5 and 4.6.3 installed.
Also a lot of post say that in the simulator it look iOS7 but on device it will look iOS6.1 if you set the base sdk to 6.1
see:
Is it possible to install iOS 6 SDK on Xcode 5?
Do apple allow custom iOS 5/6 style UI for iOS7?

iOS 4.2 with XCode 4.2 - Catch 22?

I want to keep Deployment Target to 4.2, to support iPhone 3G/S, as that device cannot upgrade it's iOS to any higher. I kept my XCode in version 4.2 and the Base SDK as iOS 5.0, as the newer versions do not support older iOS's.
My app gets rejected with the message:
iPhone 5 Optimization Requirement - Your binary is not optimized for
iPhone 5. New iPhone apps and app updates submitted targeting iOS 6
and above must support the 4-inch display on iPhone 5 and must include
a launch image with the -568h size modifier [...]
So I add the launch image Default-568h#2x.png. But then I get rejected with the following message instead:
Invalid Launch Image - Your app contains a launch image with a size
modifier that is only supported for apps built with the iOS 6.0 SDK or
later.
It seems like a catch 22. Do I have to change my SDK, and to what? Am I doing something wrong, or can I simply not deliver to iOS 4.2 any longer?