如果 iOS 且设备低于 iOS11 和 iphone 8,则提示用户使用 UIAlertController?

prompt the user using a UIAlertController if iOS and device lower than iOS11 and iphone 8?

如果用户在低于 iPhone 8 且 iOS 低于 iOS 11 的设备上安装应用程序,一个 UI Alert pop" 最小使用该应用程序的要求是 iOS 11 和 iPhone 8 或以上”,并且有一个确定按钮。我想告诉用户他们的设备不受支持。这是我在代码中的内容。

注意:我确实将部署目标设置为 iOS11,但如何为设备设置它 iPhone8

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()       
    }

    override func viewDidAppear(_ animated: Bool) {
        super.viewDidAppear(animated)

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

        alertController.addAction(UIAlertAction(title: "OK", style: .cancel, handler: nil))
        // check
        if #available(iOS 11.0,*)
        {

        }
        else
        {
            present(alertController, animated: true, completion: nil)
        }       
    }
}

您可以在 info.plist 中要求设备支持 nfc

每个苹果: https://developer.apple.com/library/archive/documentation/DeviceInformation/Reference/iOSDeviceCompatibility/DeviceCompatibilityMatrix/DeviceCompatibilityMatrix.html

  • nfc 需要 iPhone 7 或更高版本并且不受所有 iPad 支持

如果您真的、真的、真的(确定)想要在 运行 时间内将您的应用程序的使用限制在 iPhone 8,您可以读出带有这个小扩展名的设备型号UIDevice 来自这个 SO Answer

请注意,Apple 可能不会(或很可能不会)让您将应用发布到 AppStore。高度避免通过代码杀死应用程序!只需显示警告,即您的应用不适合 运行 在 iPhone 8 以外的任何设备上使用。