在我们的应用程序中,我们在textview / webview中嵌入了SAFETY链接,如图所示。 iOS 10之前收到点击时
- openURL:
方法将被触发,我们处理重定向,如下所示。
- (BOOL)openURL:(NSURL *)url
{
if ([url shouldHandleLocally])
{
return [self openURLApp:url isFromOtherApp:NO];
}
return [super openURL:url];
}
现在在iOS 10中,此方法都没有触发-canOpenURL: -openURL:
,而且在文档中提到了
- (BOOL)openURL:(NSURL *)url NS_DEPRECATED_IOS(2_0,10_0,"请使用openURL:options:completionHandler:而不是") NS_EXTENSION_UNAVAILABLE_IOS("&#34);
即使是以下方法也不会被解雇。
- (void)openURL:(NSURL*)url options:(NSDictionary<NSString *, id> *)options completionHandler:(void (^ __nullable)(BOOL success))completion {
}
如何处理此案件?任何帮助将不胜感激。
答案 0 :(得分:0)
如果您的链接位于UITextView中,那么您应该使用UITextViewDelegate的optional()
功能。您的委托将能够捕获与UITextView中的链接的交互,然后您可以调用您的逻辑来在内部处理URL。从委托方法返回textView(_:shouldInteractWith:in:interaction:)
以防止iOS在适当的时候在其浏览器中打开URL。