问题标签 [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.

0 投票
4 回答
6045 浏览

objective-c - 当 alpha 设置为 0 时,iOS10 SFSafariViewController 不起作用

我正在使用 SFSafariViewController 在我的应用程序中获取用户的 cookie。这是我的代码:

这在 iOS 9 上运行良好。但在 iOS 10 上,SF 控制器似乎不起作用(它也阻止了我当前的上下文 - 这恰好是另一个 UIWebView)。

任何人都可以建议隐藏 SFSafariViewController 的替代方法吗?

0 投票
0 回答
662 浏览

ios - 从非 rootController swift 呈现 SFSafariViewController

我有 UINavigationController、firstViewController(navigationController 的 rootController)、secondViewController 和 SFSafariViewController。

如果我从 firstViewController 中呈现 SFSafariViewController,它会正确显示并成功加载页面。但是,如果我移动到 secondViewController,并尝试呈现 SafariViewController,我只会看到白色窗口。

我试图从以下位置呈现 SFSafariViewController:

我尝试通过触摸按钮来呈现 SFSafariViewController 并得到相同的结果。显示 SFSafariViewController 的代码:

0 投票
1 回答
433 浏览

ios - FBSDK 登录 - SFSafariViewController 已禁用?

我一夜之间在我的应用程序上遇到了一个问题,我认为这是一个编码错误。问题是 SFSafariViewController 登录窗口(基于 Safari) - 不再显示。相反,它正在启动一个新的 Safari 应用程序,一旦我登录,我现在得到原生 iOS 对话框“在“XXXXXApp”中打开他的页面?我没有更改任何设置,根本没有玩任何东西。之后下载 FSBDK iOS 的源代码并进行调试,结果发现“SFSafariViewController”已被 facebook 明确禁用。

我进行了一次图形调用,与应用程序用于启动此端点的调用相同:

https://graph.facebook.com/v2.7/<app-id>?fields=app_events_feature_bitmask%2Cname%2Cdefault_share_mode%2Cios_dialog_configs%2Cios_sdk_dialog_flows.os_version%289.3.0%29%2Cios_sdk_error_categories%2Csupports_implicit_sdk_logging%2Cgdpv4_nux_enabled%2Cgdpv4_nux_content%2Cios_supports_native_proxy_auth_flow%2Cios_supports_system_auth%2Capp_events_session_timeout&format=json&include_headers=false&sdk=ios

并且响应似乎禁用了控制器 SFSafariViewController。这部分有效载荷中的证据:

"ios_sdk_dialog_flows": { "default": { "use_native_flow": true, "use_safari_vc": false } }

以前,use_safari_vc 值设置为 true。在任何人的回答中,请记住我想使用 Safari 视图控制器 - 但不要启动 safari,因为它会退回到现在。最新的行为要求打开我的应用程序,我认为 Safari 视图控制器是为了解决这个问题!还要记住,直到今天早上,一切都运行良好。我已尝试多次重新创建我的应用程序,但相同的行为仍然存在。

帮助,我现在使用 Facebook 的用户体验很糟糕(请注意,我不关心使用本机行为 - 我只想再次使用 Safari 视图控制器!)

我正在使用 Facebook SDK v4.15.0

干杯

0 投票
0 回答
172 浏览

ios - 在 SFSafariViewController 中使用浏览器位置

我有一个网页,它使用我想在 ios 应用程序中打开的浏览器中的位置数据。

如果我在 UIWebview 中打开此页面,我将看到页面要求位置,并且在我响应页面完成加载后。

但是,当我尝试在 SFSafariViewController 内打开此页面时,我没有收到阻止页面加载的位置提示。我肯定想使用 SFSafariViewController 但我首先需要解决这个问题。

我一直无法找到任何有关使用 SFSafariViewController 的位置信息。有谁知道如何让这个工作?

0 投票
1 回答
717 浏览

ios - Safari 视图控制器 URL/导航框(文本字段)颜色

前言:

  • SFSafariViewController用来登录Steam。
  • 我正在尝试自定义SFSafariViewController.

到目前为止我得到了什么:

  • 我正在为 iOS 10 开发应用程序,它允许preferredControlTintColorpreferredBarTintColor.

在此处输入图像描述

如您所见,URL/导航框(文本字段)几乎是白色的。我想将此颜色更改为与BarTintColor.

可选的

  • 出现时SFSafariViewController,在加载 URL 之前有几毫秒,在此期间背景颜色为白色。我也想把它改成更深的颜色。
0 投票
1 回答
1170 浏览

ios - 处理 SFSafariViewController 中的弹出窗口/选项卡

我正在我的应用程序中实现 SoundCloud 登录流程。该应用程序以https://soundcloud.com/connect使用SFSafariViewControllerredirect_uri的应用程序的自定义 URL 方案来接收响应的方式打开。它适用于直接 SoundCloud 登录,但在尝试使用他们的“使用 Google 登录”按钮时失败。

在 Safari 中,该按钮会打开一个带有 Google 登录页面的新标签(桌面上的弹出窗口),然后通过postMessage. 如果您使用 iOS Safari 应用程序,此登录流程可以正常工作,但会失败SFSafariViewController(单击按钮会转到带有 Google url: 的白页https://accounts.google.com/o/oauth2/auth?...)。

现在我的解决方法是建议使用谷歌的用户点击 Safari 图标SFSafariViewController以完成 Safari 应用程序中的登录流程,但我想知道是否有办法在不离开我的应用程序的情况下处理这个问题。

0 投票
0 回答
273 浏览

javascript - 有没有办法从 Javascript 中检测网页是否在 SFSafariViewController 或 mobile-safari 中打开?

通常更容易检测 UIWebViews,因为它们的用户代理通常与 safari 不同,但 SFSafariViewController 使用完全相同的用户代理。在新发布的 iOS 10 上,我遇到了某些 HTML5 视频问题,该问题仅在 SFSafariViewController 中打开页面时发生。如果浏览器实际上是 SFSafariViewController,有没有办法从纯 JavaScript 中检测?

0 投票
3 回答
6580 浏览

ios - SFSafariViewController 加载空白页

我正在使用 SFSafariViewController 在我的 iOS 应用程序中打开一个 URL。它在 iOS 9 上运行良好,但在将我的设备更新到 iOS 10 后,它只加载一个空白的白页,地址栏中没有 URL。甚至safariViewController(controller: SFSafariViewController, didCompleteInitialLoad didLoadSuccessfully: Bool)在控制器出现后也没有被调用。

我已经在视图控制器中导入了这个:

代码:

是其他人面临的完全相同问题的链接

0 投票
1 回答
775 浏览

ios - 在 UIWebview 之类的 ViewController 中使用 SafariViewController

我想使用 Safari cookie 来验证我的应用程序的用户。我可以用 SFSafariViewController 做到这一点。但问题是我的应用程序中有 UIWebView 来显示一些信息。即使用户使用 safari 登录,他们也会被要求通过 UIWebView 再次登录。我想同步这个。意味着如果用户通过 safari 登录,他不应该在应用程序中再次登录。我知道 safari 和 uiwebview 不共享 cookie,所以我想将所有内容移至 safari。是否可以在视图控制器中显示 safari?

谢谢, 里查

0 投票
1 回答
292 浏览

ios - 带有主页按钮的sfsafariviewcontroller覆盖不起作用

SFSafariViewController用来显示网页,因为我需要 cookie 才能工作。我不想要 safari 搜索栏,所以我有一个覆盖来隐藏它和一些按钮来执行某些任务。我确实想要完成按钮的功能。由于我们有覆盖,完成按钮被隐藏并且不起作用,所以我在下面的代码中尝试了这个。但这也不起作用-

我的 plist 看起来像这样 -

但是点击主页按钮,什么也没有发生。它没有给出任何错误或警告信息。我也知道单击主页按钮时,我当前的代码会发出警报以再次打开应用程序,但我也不希望那样。我想要与 sfsafariviewcontroller 的“完成”按钮完全相同的功能。我们能做到这一点并且也有我的覆盖吗?

提前致谢!欢迎提出任何建议。