私はとWKWebView
を使用しています。リンクを長く押した後に表示されるWKActionSheet
を傍受しようとしています。宣言されていないタイプのWKActionSheetの使用
は私のルートビューコントローラでは、私はpresent(_ viewControllerToPresent: UIViewController, animated flag: Bool, completion: (() -> Void)? = nil)
を実装:
override func present(_ viewControllerToPresent: UIViewController, animated flag: Bool, completion: (() -> Void)? = nil) {
print("View controller to present: \(viewControllerToPresent)")
super.present(viewControllerToPresent, animated: flag, completion: completion)
}
Iリンク上で長押し、私は私のコンソールに関連するログを見ることができた場合:
View controller to present: <WKActionSheet: 0x13616b200>
しかし、もしを私はviewControllerToPresent
がWKActionSheet
であるかどうかを確認しようとすると、このエラーメッセージが表示されます。
Use of undeclared type WKActionSheet
だからこのWKActionSheet
はプライベートAPIに属していますか?そのクラスにアクセスする方法はありませんか?
viewControllerToPresent
がきれいな方法でWKActionSheet
であるかどうかをどのように判断できますか?今のところ私はviewControllerToPresent.description
を使用していて、それに文字列 "WKActionSheet"が含まれているかどうかを確認します。それは大丈夫だけどかなり汚いです...