SFSafariviewController
全部标签在我的应用中,我有一个SFSafariViewController我正在模仿。解雇后,呈现的视图controller没有dismiss调用方法。我的子类的代码UIViewController:overridefuncpresent(_viewControllerToPresent:UIViewController,animatedflag:Bool,completion:(()->Void)?=nil){print("willpresent")super.present(viewControllerToPresent,animated:flag){completion?()print("did
我正在尝试使用SFSafariViewController来呈现用户需要填写的表单。在表单上,有一个“后退”按钮,它会触发一个打开应用程序的url方案。问题是当网页触发url方案时,application:openURL:options:方法不会被调用。当我使用Safari而不是SFSafariViewController打开表单时,该方案起作用了,并且调用了application:openURL:options:方法。对于为什么该方案不能与SFSafariViewController一起工作以及如何修复它有什么想法吗? 最佳答案
我正在我的应用程序中实现SoundCloud登录流程。该应用程序在SFSafariViewController中打开https://soundcloud.com/connect并使用redirect_uri使用我的应用程序的自定义URL方案来接收响应.它适用于直接SoundCloud登录,但在尝试使用他们的“使用Google登录”按钮时失败。在Safari中,该按钮会打开一个带有Google登录页面的新选项卡(在桌面上弹出),然后该页面通过postMessage与SoundCloud选项卡通信。如果您使用iOSSafari应用程序,此登录流程工作正常,但在SFSafariViewCon
这blogpostRizwanSattar概述了如何使用SFSafariViewController将用户登录到您的应用程序。他解释说这是可能的,因为SFSafariViewController与Safari.app共享cookie。在我看来,开发人员似乎能够确定用户登录了哪些站点,从而泄露了数据。我假设您必须将私钥传递给该站点,以便它知道要重定向到哪个应用程序URL方案。是真的吗? 最佳答案 SFSafariViewController不会泄露用户数据-应用程序无权访问webview、cookie等。如您所料,登录的工作方式是打开
我有一个嵌入在NavigationController中的测试ViewController。在测试ViewController中,我有一个WebView按钮。当我单击该按钮时,它会导航到SafariViewController并加载给定的URL。在该WebView中,当我单击“完成”按钮时,它会调用名为safariViewControllerDidFinish的委托(delegate)方法。但是SafariViewController并没有被忽略。这是我的代码。-(IBAction)bannerWebviewAction:(id)sender{NSURL*urls=[NSURLURLW
我不确定这是否可行。我目前正在开发一个存储密码的应用程序(如密码管理器)。它的功能之一是允许用户自动登录到该设备的网络浏览器。我能够使用UIWebView和WKWebView使其工作,但找不到使用SFSafariViewController使其工作的方法。我阅读了一些关于它的文档和博客,甚至阅读了SFSafariViewController.h,但没有任何线索可以引导我找到我想要的功能。我想知道如何在SFSafariViewController中执行类似“evaluateJavaScript”的功能,或者如果不可能,你们对如何实现此目标有其他建议吗?注意:我使用的是Objective-
我知道下面的代码改变了SFSafariViewController的色调,但是你如何改变导航栏和标签栏的背景颜色?SFSafariViewController*safariViewController=[[SFSafariViewControlleralloc]initWithURL:webpageUrl];[safariViewController.viewsetTintColor:[UIColorblueColor]];澄清一下,我想将半透明的白色更改为深绿色?如有任何帮助,我们将不胜感激。谢谢! 最佳答案 SFSafariVi
从文档和所有示例看来,我发现SFSafariViewController必须使用特定URL作为设置参数以编程方式实例化。是否可以使用SFSafariViewController作为UISplitViewController的细节Controller?我能想到的唯一方法是在Storyboard中设置一个segue,但在这种情况下,SFSafariViewController将没有显示其内容所需的URL。任何关于如何以编程方式实现这一目标的建议,如果可能的话,我们将不胜感激。 最佳答案 这是可能的!我搜索了很长时间,找到了解决方案。我在
我了解到,从iOS9开始,您应该能够使用SFSafariViewController读取cookie。如果我使用以下JS在我的页面上设置cookie:vardd=newDate(Date.now()+1000*60*60*24).toGMTString();varexpires="expires="+dd;document.cookie="mycookie=cookievalue;"+expires+"domain=.mydomain.co.uk;path=/";如果我这样做:-(void)safariViewController:(SFSafariViewController*)co
如果我们使用[[UIApplicationsharedApplication]openUrl:strUrl];,我没有正确理解使用SFSafariViewController的主要优势是什么两者有什么区别? 最佳答案 借助SFSafariViewController,您几乎可以利用在Safari中查看Web内容的所有优势,而无需强制用户离开您的应用。大多数应用只需要提供通用的网络查看体验。这是SafariViewController的完美场景。在SFSafariViewController之前,不同应用程序的浏览体验不一致,这可能会