问题标签 [sfsafariviewcontroller]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - 在 SFSafariViewController 上打开 WebView 链接
该应用程序在 UIWebView 中打开文章,我需要在 SFSafariViewController 上打开这些文章的链接(这是强制性的)。到目前为止,它将在 webview 上打开并弄乱我的用户体验。我的 WebView 加载 HTML 字符串并加载内容,如下所示。
有了内容,就会出现链接,如下图所示。 该应用程序的屏幕截图
如何使我的文章的这些链接在 SFSafariViewController 上打开?既然它来自 HTML 字符串并且我不知道文章链接 url,我该怎么办?
ios - 在 iOS 9 上从表视图打开 safari 视图控制器并在 iOS 8 或 7 上在 safari 中打开
嗨,如果用户使用的是 iOS 9 或更高版本,我想从 safari 视图控制器中的表格视图单元格打开我的网站。如果用户使用的是 iOS 7 或 8,则该网站应在标准 Safari 应用程序中打开。
这是我目前使用的打开 safari 的代码。
我相信这段代码应该用我的网站打开 safari 视图控制器。但我不确定如何组合两组代码。
我知道这是用于确定 iOS 版本的代码
我听从了你的建议
然后在我的表格视图单元didSelectRowAtIndexPath下添加了这段代码
我在这行代码中收到错误“使用未声明的标识符 url”
删除 NSStringWithFormat 末尾的 url 会使 Safari 视图控制器工作。然而,在低于 9.0(例如 8.4)的 iOS 上,应用程序崩溃。
ios - ios 9 - xcode 7 - SFSafariViewController - 图片上传 - 相机黑屏
我正在使用 SFSafariViewController,遇到了以下问题: 用户看到一个上传图像按钮,当点击设备正确显示多个选项,其中之一是相机。当用户选择相机时,它会加载相机但屏幕是黑色的,并且操作按钮是灰色的。但是,如果用户选择库,则会正确上传所选图像。
我确实验证了该应用程序已打开相机权限。
还有其他人遇到这个问题吗?
代码:
-----更新 #1 -----
重置隐私设置并尝试直接从相机上传图像后,我没有收到“SafariViewService 想要访问相机,我认为这可能是问题。因为我接受后,屏幕仍然是黑色的,我想知道为什么这并不是说我的应用名称像“FooBar”会想要访问...也许这种错位是相机屏幕变黑的原因。只是不知道如何更改它。
-----更新 #2 -----
这似乎是一个 SFSafariViewController 问题,因为我实现了 WKWebView 并且相机工作正常。
ios - 使用 SFSafariViewController 时自定义 UIActivityViewController 中的文本
我有一个简单的应用程序,它在应用程序中加载网页,在 iOS 8 上,我使用的是自定义UIWebViewController
调用VideoWebViewController
,而对于 iOS 9,我正在使用SFSafariViewController
. 在 中VideoWebViewController
,我有以下在被调用时UIActivityViewController
被调用的方法:
当我打电话给 时VideoWebViewController
,我是这样做的:
当我打电话给 时SFSafariViewController
,我是这样做的:
问题
那么我该如何自定义在UIActivityViewController
中调用时的文本SFSafariViewController
呢?很容易做到这一点,VideoWebViewController
因为我正在设置一个自定义子类,但我不确定是否有办法做到这一点SFSafariViewController
?当用户在 中选择 Share Sheet (UIActivityViewController) 时SFSafariViewController
,我只想添加一些自定义文本。
更新
我已经创建了 SFSafariViewController 的自定义子类,但是我看不到调用用户选择 ShareSheet (UIActivityViewController) 时发生的方法的方法。
对此的任何指导将不胜感激。
更新
看起来这不可能,所以我为此与 Apple 创建了一个错误报告:https ://bugreport.apple.com/problem/viewproblem
ios - 是否可以为 Safari 视图控制器提供自定义标题
是否可以为 Safari 视图控制器提供自定义标头。
我想通过我的请求传递 API 密钥或身份验证令牌,但我无法将其放在查询字符串中。
ios - 如何清除 SFSafariViewController 凭据?
我在 Swift 2 中使用 SFSafariViewController 在带有 ios 9.1 (13B143) 的 iPad Air 2 上显示网页。每个网页都需要用户提供凭据。但是,当用户按下注销按钮时,我需要清除这些凭据。我尝试过使用以下内容:
但它不起作用。事实上,“DELETING CREDENTIAL”和“DELETING COOKIE”永远不会被打印出来。此外,我可以从 iPad 上完全删除该应用程序并重新安装它,当我导航回 Web url 时,凭据仍会被缓存。我发现清除凭据的唯一方法是关闭 iPad 并重新打开电源。
问题:如何以编程方式清除凭据?
ios - iOS 9 - 隐藏通过 SFSafariViewController 加载的网页底部的工具栏
我试图隐藏出现在使用 SFSafariViewController 加载 URL 的页面底部的导航工具栏(返回和前进,在 safari 中打开......)。我尝试在导航控制器上设置以下属性,但它不起作用/ [_safariViewController.navigationController setToolbarHidden:YES]; 当使用使用 UIWebView 类的视图控制器时,我可以隐藏它。有什么建议么?
谢谢
ios - SFSafariViewController 在安装 YouTube 时请求打开 YouTube 应用
我有一个仅限 iOS 9 的应用程序,我正在开发UITableViewController
一个公司的视频列表。一些视频托管在 YouTube 上。在 中,我通过以下方式didSelectRowAtIndexPath
实现了使用:SFSafariViewController
请注意,该链接中的视频不是我用于我的应用程序的视频 - 它只是一个示例。
当我在设备上未安装 YouTube.app 的情况下单击它时,它会在SFSafariViewController
. 如果我安装了 YouTube.app,它会提示我打开其中的链接:
我理解为什么会发生这种情况,因为 iOS 9 中的工作,但我该如何防止呢?我的用户必须去 YouTube 观看视频然后返回应用程序(即使是通过顶部的反向链接),这将是非常烦人的。
我怎样才能防止这种情况发生在应用程序中,比如说在应用程序中使用 SFSafariViewController 而不是 YouTube 应用程序?
更新
Twitter 或 Facebook 原生应用程序不会发生这种行为,所以问题是,这是 YouTube 原生应用程序问题(我无能为力)还是我有办法阻止打开?使用 SFSafariViewController,Apple 的目标是让它变得更容易;必须有办法阻止应用程序在原生应用程序中提示和加载。
对此的任何指导将不胜感激。
ios - 带标签栏的 Safari 视图控制器
我想在我的基于选项卡的 swift 应用程序中添加一个选项卡,该应用程序打开一个 safari 视图控制器并在点击“完成”时展开到上一个选项卡。经过多次尝试在谷歌上搜索这个我还没有找到解决方案。任何人都可以帮忙吗?
ios - 显示 SFSafariViewController 会释放我的 NSFetchedResultsController 数据
我在我的应用程序中显示链接到文章的网页,但并非所有网页都提供 SSL 连接。所以我需要实现一个 SFSafariViewController 来显示网站。
在我的 iPad 界面上,我手动将视图添加到 mainController,但如果我尝试添加 SFSafariViewController 的视图,我什么也得不到。
所以我尝试使用:
然而,虽然这工作得很好,但由于某种原因,我的数据源之后返回“nil”对象。即使我在调用 presentViewController 的视图中保留到对象的强链接。
我的解决方法是关闭我打开的所有视图,在关闭 SFSafariViewController 时重新加载我的数据集,但这对用户体验不利,因为用户必须一路导航回到原来的位置。
我完全不知道为什么我的 NSFetchedResultsControllers 在 SFSafariViewController 启动后都返回“nil”。任何提示将不胜感激。
[编辑:] 这是我的主视图控制器的声明。iPad 控制器在启动 SFSafariViewController 时调用此控制器:
调用 SFSafariViewController(其中 parent 是 DOMainViewController):
DOiPadController 定义如下,其中重新显示的 s=views 存储在 _viewControllers 中。
当不再需要时,我会从那里释放视图控制器,并在需要时添加新的视图控制器。这允许视图被切出视图等。
在 iPhone 应用程序中,我使用导航控制器作为视图,似乎没有问题。