代码之家  ›  专栏  ›  技术社区  ›  DevHome98

3D触摸不适用于设备swift

  •  0
  • DevHome98  · 技术社区  · 2 年前

    我想在我的应用程序中添加一个需要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触摸的功能。 它们还显示了与我的项目相同的错误。 请问怎么了?

    1 回复  |  直到 2 年前
        1
  •  1
  •   Dávid Pásztor    2 年前

    3D Touch在iPhone 11系列中被删除,所有更新的iPhone都没有,所以你看到的是正确的——你正在测试 forceTouchCapability 在不支持Force Touch的设备上。

    如果您想了解哪些iPhone型号支持3D Touch,请参阅 Adjust how iPhone responds to your touch ,滚动到 调整触摸和保持手势的设置 部分,然后选择 iPhone with 3D Touch 。如您所见,在支持iOS 17的iPhone中,只有iPhone XS和XS Max支持3D Touch。

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