3D Touch 不适用于 swift 设备

问题描述 投票:0回答:1

我想在我的应用程序中添加一项需要 3D 触摸的功能,但它说forceTouchCapability 不可用。 我在三个虚拟设备(iPhone 14 - iPhone 14 Pro - iPhone 11)上进行了尝试,所有设备都是相同的,并且都是最新的。 这是我的代码:

class ViewController: UIViewController {
    override func viewDidLoad() {
        
    }
    
    override func traitCollectionDidChange(_ previousTraitCollection: UITraitCollection?) {
        switch traitCollection.forceTouchCapability {
        case .available:
            print("Available")
        case .unavailable:
            print("Unavailable")
        case .unknown:
            print("Unknown")
        @unknown default:
            print("dd")
        }
    }
}

我还从github下载了很多项目,使用了3D touch的功能。 他们也显示与我的项目相同的错误。 请问有什么问题吗?

ios swift iphone uikit
1个回答
0
投票

3D Touch 在 iPhone 11 系列中被删除,所有较新的 iPhone 都没有它,所以您所看到的是正确的 - 您正在不支持 Force Touch 的设备上测试

forceTouchCapability

如果您想查看哪些 iPhone 型号支持 3D Touch,请参阅调整 iPhone 对触摸的响应方式,滚动到调整触摸并按住手势的设置部分,然后选择

iPhone with 3D Touch
。如您所见,在支持 iOS 17 的 iPhone 中,只有 iPhone XS 和 XS Max 支持 3D Touch。

另请参阅this文章,解释 3D Touch 在 2018 年之后推出的 iPhone 中不可用。

© www.soinside.com 2019 - 2024. All rights reserved.