What are the design rules in iOS 11 - ios

What are the design rules I should take into account when designing an iOS app using xCode 9 , that will be compatible with iOS 11 and iPhone X? I know that I should consider the safe area while designing , is there is anything else ?

Related

Migrate to xcode 9 for swift 2.3 apps

I have an app launched in appstore built on Swift 2.3 using Xcode 8, now apple made Xcode 9 mandatory for new and app updates to store
Is it must to migrate to Xcode 9? have any one submitted swift 2.3 apps to appstore in July?
I think you need to migrate to XCode 9. All iOS app updates submitted to the App Store must be built with the iOS 11 SDK.
iOS 11 delivers innovative features and the redesigned App Store to hundreds of
millions of customers around the world. Your apps can deliver more intelligent,
unified, and immersive experiences with Core ML, ARKit, new camera APIs, new
SiriKit domains, Apple Music integration, drag and drop for iPad, and more.
Starting July 2018, all iOS app updates submitted to the App Store must be
built with the iOS 11 SDK and must support the Super Retina display of
iPhone X.
Reference Upcoming iOS 11 App Update Requirements
If your app is in swift 2.x syntax and now you need to upload you must need to convert first to swift syntax 3 (using xcode 8.x) and then you can open it in xcode 9.x to upload your app
if your app is already live it may be give error or warning like below screenshot

How to develop iPhone app for iPhone 5 and newer?

We are developing an application, targeting iPhones, starting from 5 and all the newer models.
Recently, I discovered there is no way to say, that app does not support iPhone 4s.
My ideas are:
Just don't think about 4s. Whatever it looks there...
Give a message in application, that it does not work on 4s.
Questions are:
Are there any other options I have?
Is it a risk of not getting into App Store?
iOS 10 will not support the 4s. If you target your app for iOS 10 and later you can skip the 4s.
Aside from that you'll need some hardware feature that the 4s lacks that all subsequent models have, and make your app require that feature.
(I don't think Apple allows you to pick and choose the models you support.)
Build only for iPhone 5+ architecture armv7s & arm64
Might be one solution.
iPhone_architecture image
Thanks
You can do it by using xCode 8, and iOS 10 that not support iPhone 4s.

What iOS devices have SQLite? Will all new devices in the coming years support SQLite?

I have looked into SQLite with iOS development, and I found that the iPhone 6, and iPhone 7 will support SQLite version 3.7.13. I find it hard to believe that these are the ONLY ones that support it. Are there any iPads that also support it, and other iPhones like iPhone 6 Plus?
SQLite has been supplied with iOS since iOS 2.0. It is available for any iOS device. There is no reason to think that will stop.
But even if Apple stopped supplying it, you could still use it. It's just a third party library you can include in your app.
Its support is based on being part of your app, not any specific device or version of iOS.
Yes IPhone and iPad support sqlite It is part of Core Services in ios architecture layers

iOS versions: if I have an app with specific "minor" device required, how can I use benefits of newer devices in the same app?

I have requirements for the iOS app.
Devices that must be supported and iOS versions are listed by the customer.
It is written that the app must support:
- devices: from iPhone 4 and above;
- iOS versions: 7, 8.
I feel myself misled.
As far as I know iPhone 4 is not in the iOS 8 supported devices list.
That's why I have to target to the iOS 7.1.2 - the one that currently supported on all required devices.
How can use benefits of the iOS 8 in this app?
Could you help me with good references that will help me to understand the intricacies of this question?
In short:
Yes, you can but not on the device running with the older version of a system (so you will need conditions for such cases).
Detailed explanation:
If your app has to be compatible with iOS 7 then you can not use iOS 8 features on the system which is older. This is quite obvious, system can not understand commands that haven't been implemented yet. Although you can use in your app API that was revealed in iOS 8 but you have to create, at least, conditions checking agains which system version you run if you want to avoid troubles like app crashes. Quite a good reading for better understanding an issue can be this article. Here you have quite a nice graphic presenting which device supports which version of a system (according to your question about iPhone 4).

ios versions compatibility

Just saw wiki article "ios version history", which says that ios 5 is compatible with iPhone 3GS and greater devices. Does iPhone 3GS, iPad 1 and 2 really support storyboards and new components of iOS 5? or do they require a software update for being compatible with iOS 5?
ios 5 is compatible with iPhone 3GS and greater devices
Means that users can update these devices to run iOS 5. They have to do the update for you to be able to use story board and other new features. But if they are still running iOS 4 or older versions, you can't.
Don't mix operating system with hardware. iPhone 3GS supports storyboard ONLY if it's running iOS5, otherwise not.
There can be some hardware related differences even if all devices use same iOS version, for example iPad without SIM card cannot make phone calls. Storyboard is not such a thing.

Resources