问题标签 [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 投票
6 回答
35951 浏览

ios - iTunes Connect 中的无限制 Web 访问是什么意思

当您将您的应用程序提交到 Apple 应用商店时,有一个名为“评级”的部分,您应该根据图表对您的内容进行评级,并确定内容出现的频率。

有一个选项称为“不受限制的网络访问”,在 Internet 和iTunes Connect 开发人员指南上都没有关于此的更多详细信息。你到处都能找到的是:

如果您的应用程序允许用户导航和查看网页,例如使用嵌入式浏览器,请选择是。

这是什么意思?这是否意味着您的应用可以在嵌入式或 Safari 浏览器中打开链接?或者这是否意味着您的应用程序具有浏览器,用户可以在其中输入 URL 并不受限制地浏览网络?因为对这个问题说“是”将使您的应用程序 17+!

在此处输入图像描述 在此处输入图像描述

如果这意味着从您的应用程序(Safari 或嵌入式)打开链接,那么其他具有嵌入式浏览器功能的应用程序如何获得 4+ 评级(如 Twitter 和 Facebook)?从截图中可以看出,没有办法选择这个而不被评为 17+

在此处输入图像描述 在此处输入图像描述

更新:我的应用程序获得了嵌入式 WebView (TOWebViewController) 的批准,答案为“否”(4+)。正如答案所提到的,您让用户通过互联网导航的任何方式,例如动态地址栏,这意味着它应该是“是”(17+),因为不可能在您的 WebView 上进行家长控制。

更新 2:自 iOS 9 发布以来,Apple 引入了SFSafariViewController,这是一种在 Internet 上打开任何 URL 的方式。此功能还有一个地址栏,但只读。所以用户不能在没有家长控制的情况下上网。它还继承了 Safari 的内容拦截(广告、显式内容等)。我非常肯定通过在 iOS 9 或更高版本中使用 SFSafariViewController 您仍然可以选择 4+,因为具有家长控制的设备无论如何都无法打开任何 URL。(如果我错了,请告诉我)

更新 3:Twitter 现在是 17+,基于以下几点:

您必须年满 17 岁才能下载此应用程序。

不经常/轻度亵渎或粗俗幽默

频繁/强烈的成熟/暗示性主题

不频繁/轻度的色情内容和裸露

更新 4:可以在您的应用程序中使用 Twitter 内容而无需继承其评级 (17+)。我的应用程序正在显示推文,但由于用户是经过验证和信任的公众人物,我可以降到 12 岁以上:

不频繁/轻度的色情内容和裸露

不经常/轻度亵渎或粗俗幽默

不常见/轻度成熟/暗示性主题

0 投票
1 回答
1856 浏览

ios - WebView 上是否提供扫描信用卡选项?

新的 iOS8 扫描信用卡选项在 Safari 上非常棒。

有人设法使它在 Web 应用程序的 WebView 中工作吗?

我正在使用有效的 SSL 证书,并且我正在使用正确的 ID 作为输入字段,如下所述:https ://stackoverflow.com/a/25925195/3949713

谢谢。

0 投票
5 回答
16266 浏览

ios - SFSafariViewController 崩溃:指定的 URL 具有不受支持的方案

我的代码:

这仅在初始化时崩溃,但有例外:

指定的 URL 具有不受支持的方案。仅支持 HTTP 和 HTTPS URL

当我使用url = NSURL(string: "http://www.google.com")时,一切都很好。我实际上是从 API 加载 URL,因此,我不能确定它们是否会以http(s)://.

如何解决这个问题?我应该http://始终检查和前缀,还是有解决方法?

0 投票
2 回答
2123 浏览

ios - 如何更改 SFSafariViewController 的背景颜色?

我知道下面的代码改变了 SFSafariViewController 的色调颜色,但是你如何改变导航栏和 tabBar 的背景颜色呢?

为了澄清我想将半透明的白色更改为深绿色?

在此处输入图像描述

对此问题的任何帮助将不胜感激。

谢谢!

0 投票
0 回答
140 浏览

ios - 作为应用程序一部分包含的扩展程序何时显示在 SFSafariViewController UIActivityViewController 中?

我的应用程序包中包含两个扩展 - 一个操作扩展和一个共享扩展。这两个都查找 URL 或网页作为激活密钥。

在我的应用程序内部,当出现一个SFSafariViewController并且用户按下共享按钮时,无论用户是否在应用程序之外“安装”了它们,我的两个扩展程序都会显示在共享表中。

我的问题:是什么决定了应用程序包中包含的扩展何时/是否显示在主应用程序内SFSafariViewController显示的共享表中?


一点背景

我的想法是子类UIActivity化并将我的扩展的实现包含在子类中。然后,我会使用 的委托方法将它们传递给 SafariVC,SFSafariViewController这样它们就会出现在共享表中,而用户甚至都不知道它们的存在。

但是,正如我的问题所述,我的真正扩展似乎无论如何都会出现。

0 投票
1 回答
1321 浏览

ios - SFSafariViewController OAuth 实现

在苹果 WWDC 2015-504 中,SFSafariViewController 已经公布。Ricky Mondello 声称新的安全、稳定和快速的嵌入式 Safari 浏览器能够创建身份验证流程,只需两个简单的步骤,通过 AppDelegate。

我想试一试,所以我使用 SFSafariViewController 对 OAuth2 的实现进行了一些搜索……我几乎什么也没找到。有很多文章解释了为什么 SF(...) 比 UIWebView 等更好,但我找不到有效的实现,甚至在 GitHub 中也找不到。

我尝试打开一个简单的网址,例如http://www.google.com,一切正常。

我想更进一步:我尝试使用 OAuth 实现登录以接收身份验证令牌(流程的第一步)。所以将我的 SF(...) 发送到https://website.com/auth?ID=...&access= ...”并设置为重定向 URI testApp://(我的应用程序的名称)。

我期待看到请求 -application:openURL:sourceApplication:annotation: 但什么也没发生。我还在“LSApplicationQueriesSchemes”中添加了“testApp ,但我没有运气。

在这个问题上挣扎了一天,我真的很想知道我做错了什么。

谢谢。

0 投票
2 回答
3124 浏览

ios - 在 SFSafariViewController 上设置完成按钮颜色

我正在使用SFSafariViewController访问从UITableViewController. 因为我的应用程序有一种非常轻盈的感觉,所以我在 中添加了以下代码行AppDelegate

运行时SFSafariViewController,我得到以下信息:

在此处输入图像描述

无论如何我可以将Done按钮的颜色更改为蓝色(默认情况下)?

我在调用时尝试了以下SFSafariViewController但没有效果:

这些都不起作用。

我当然可以将应用程序保留为默认设置并从 中取出白色设置AppDelegate,但我希望在应用程序中使用这种方法,因为蓝色在自定义主题中显得过于突出。

对此的任何指导将不胜感激。

0 投票
2 回答
484 浏览

facebook - FBSDK FBSDKLoginManager 和 SFSafariViewController 不会关闭

我正在使用最新的 FBSDK,使用 FBSDKLoginManager 登录。我已经全部工作了,但我无法弄清楚的一件事是为什么 SFSafariViewController 在登录重定向后完全没有响应?

这是代码:

这就是发生的事情:

  1. SFSafariViewController 打开
  2. Facebook 提示登录
  3. 回调发生在 AppDelegate.openURL:options: (我通过调用 FBSDKApplicationDelegate.application:openURL:sourceApplication:annotation 返回)。
  4. Safari 网络视图控制器什么都不做。

所以 SFSafariViewController 是白色/空白的。完成按钮什么都不做。而且我无法关闭它。

我也没有从 loginManager.loginWithReadPermissions 方法获得回调。

空 SFSafariViewController

有没有人经历过这个?

0 投票
0 回答
251 浏览

ios - iOS - SFSafariViewController 冻结/挂起

我编写了最简单的代码来在我的视图控制器的“viewDidAppear”方法中启动 SFSafariViewController。

它在 iOS 模拟器上运行良好,但在我的 iPhone 中它显示 SFSafarViewController,但不加载页面。我有一部 iPhone 6 (iOS 9.1):

在此处输入图像描述

0 投票
4 回答
27408 浏览

ios - SFSafariViewController:隐藏导航栏

根据这篇文章,我能够让我的应用程序通过 SFSafariViewController 自动加载 url ,而且效果很好,唯一的缺点是导航栏。

SFSafariViewController 导航栏在以这种方式使用时有点无用,因为 url 是只读的,并且“完成”链接除了重新加载页面之外什么都不做。因此,我想完全隐藏导航栏。

根据附加到已接受答案的评论,建议将我的根视图控制器设置为我无法工作的 SFSafariViewController。设置很简单,因为只有一个视图控制器,其中包含上述帖子中的代码。

如何隐藏导航栏但仍保持 SFSafariViewController 的优点?或者如果我不能隐藏导航栏,至少隐藏“完成”链接?

代码片段:

----- 工作。导航栏是“隐藏的” -----