App submission regulation for target devices and hardware?

I have a question about App submission regulation to app store. my client has 2 system requirements in design documents first they want to target device iPhone 8 above seconds they want to target iOS 11 above. for OS I found a way to target iOS 11 above using the deployment target to iOS 11. my problem now comes from hardware side I have a couple of ideas

  1. use device compatibility matrix the mean using the iPhone NFC(iPhone 7 and above has it ipad devices don’t have NFC ).
  2. use an open source library like DeviceKit GitHub - devicekit/DeviceKit: DeviceKit is a value-type replacement of UIDevice. see the code

code from viewDidAppear
override public func viewDidAppear(_ animated: Bool)

    let alertController = UIAlertController(title: "Foo", message: "Bar", preferredStyle: .alert)

    let groupOfAllowedDevices: [Device] = [.simulator(.iPhone8),.simulator(.iPhone8Plus),.simulator(.iPhoneX),.simulator(.iPhoneXs),.simulator(.iPhoneXsMax),.simulator(.iPhoneXr)]
    alertController.addAction(UIAlertAction(title: "OK", style: .cancel, handler: nil))
    let device = Device()

    if device.isOneOf(groupOfAllowedDevices) {
        print("allowed devices")
        present(alertController, animated: true, completion: nil)


I want to ask to do apple will reject the app submission if we prevent users how have the hardware not match the system requirements iPhone 8 and above?

@a-elnajjar. Thanks very much for your question!

This really isn’t a difficult issue. If your client is trying to deploy the app only on iPhone 8 devices and later, then honestly this seems to be purely a UI issue. This means that you should ensure you’ve used Auto Layout correctly in designing the UI of your app, and test on the various devices to ensure the app appears, and runs correctly. Many companies have two versions of their app, one for iPad, and one for iPhone, or simply have one app for either iPhone/iPad exclusively, or have one universal app which runs on both. If there is no intent on running on the iPad, as I said, all you need is to ensure that you’re using Auto Layout correctly to ensure that the app is running properly on your intended device. :slight_smile:

I hope this helps!

All the best!

thanks, @Syedfa and sorry for my late reply. from UX perspective what is the best way to prompt the user that the device is not support

  • should I have a segue to view and told them the message device is not supported

  • can I do something (see the pic) like this when the user lunch the App


This topic was automatically closed after 166 days. New replies are no longer allowed.