如何修复因不允许的用户代理而导致的功能受损?

2024-02-10

我正在构建一个网络浏览器,最近在尝试使用我的 Google 帐户在网站上登录时遇到错误。

这很奇怪,因为我检查了我的应用程序和 Safari 的用户代理,它们都是相同的。

有什么建议么?

UPDATE

WKWebView 在自定义 UIView 树中嵌套了 3 层。

这是初始化代码:

_webView = [[WKWebView alloc] init];
_webView.allowsBackForwardNavigationGestures = NO;
_webView.allowsLinkPreview = NO;
_webView.navigationDelegate = self;
_webView.UIDelegate = self;
_webView.frame = CGRectMake(0.0, 0.0, self.contentView.frame.size.width, self.contentView.frame.size.height);
[self.contentView addSubview:_webView];

来自谷歌现代化本机应用程序中的 OAuth 交互,以提高可用性和安全性 https://developers.googleblog.com/2016/08/modernizing-oauth-interactions-in-native-apps.html文章:

2017 年 4 月 20 日,我们将开始在存在可行替代方案的平台上开始使用 Web 视图阻止所有 OAuth 客户端的 OAuth 请求。

因此,Google 现在只允许在普通浏览器中使用 Google 帐户登录,出于安全原因限制在网络视图中登录,并推荐使用 Google SDKiOS https://developers.google.com/identity/sign-in/ios/ and Android https://developers.google.com/identity/sign-in/android/以此目的。

但如果你仍然想使用WKWebView你可以做一个小技巧,建议在this https://stackoverflow.com/a/42386804/1948606回答、设置customUserAgent所以它可以通过验证:

// Check for selector availability, as it is available only on iOS 9+
if ([_webView respondsToSelector:@selector(setCustomUserAgent:)]) {
    _webView.customUserAgent = @"MyCustomUserAgent";
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何修复因不允许的用户代理而导致的功能受损? 的相关文章

  • 如何在代码中编辑约束

    我有一个以 100 开始宽度限制的网页 当用户单击按钮时 我想将约束更改为 200 我试过这个 NSLayoutConstraint constrain NSLayoutConstraint constraintWithItem self
  • Objective-C 中发送给对象的消息可以被监听或者打印出来吗? [复制]

    这个问题在这里已经有答案了 可能的重复 Objective C 中拦截方法调用 https stackoverflow com questions 1618474 intercept method call in objective c 如
  • 叠加 SKScene 未显示

    我正在尝试将 SKScene 覆盖在 SCNScene 上 当我在模拟器和 iPhone6 上运行我的应用程序时 overlayScene SKScene 按预期显示 但是当我尝试在 iPhone5 上运行它 尝试了 2 个不同的设备 时
  • 更改 NSMutableAttributedString 中链接的颜色

    我有以下代码 但我的链接始终是蓝色的 我如何改变它们的颜色 string addAttribute NSLinkAttributeName value tag range NSMakeRange position length string
  • React Native - NSNumber 无法转换为 NSString

    下面是我的反应组件的一部分 我有一个名为 daysUntil 的道具进入此组件 其中包含一个数字 在此示例中 传递数字 0 导致 fontWeight 函数返回 700 render function return
  • React Native facebook iOS sdk 构建失败

    我已遵循 Facebook 开发人员指南中列出的 iOS React Native sdk 的所有准则 但我仍然无法构建该应用程序 附上我的配置和构建日志的屏幕截图 Ld Users alaaattya Library Developer
  • SwiftUI DisclosureGroup 单独展开每个部分

    我正在使用 Foreach 和 DisclosureGroup 来显示数据 每个部分都可以展开 折叠 然而 它们都在同时扩展 折叠 如何单独展开 折叠每个部分 struct TasksTabView View State private v
  • React Native Detox:无法接受系统警报弹出的位置权限

    使用以下命令从命令行启动应用程序detox test configuration ios sim debug 通过代码启动应用程序await device launchApp permissions location always noti
  • 寻找可靠的方法来选择iPhone 13微距相机设备

    我正在使用 objc 开发一个应用程序 我必须选择 iPhone 13 Pro 和 13 Pro Max 中配备的新微距摄像头 目前 我在所有其他设备上选择我的相机 并剪掉此代码 AVCaptureDeviceDiscoverySessio
  • iOS8 自签名证书已安装但仍不受信任

    由于我无法控制的原因 我需要使用自签名证书针对平台进行 iOS 开发 它是一个在 SAN 中具有特定 IP 地址的根证书 当证书安装在 OSX 系统帐户下时 所有浏览器现在将正常信任对给定 IP 地址的任何访问 通过电子邮件将同一证书发送到
  • 如何在 iOS 中创建多行表格单元格?

    如何让第二个单元格扩展以适合文本而不是缩放文本 iOS 中有内置的方法可以做到这一点 还是我必须想出一些自制的解决方案 如果您查看 iOS 联系人应用程序 会发现有一个类似地址的框 但我找不到如何实现这一点 对于任何希望将来实现这一目标的人
  • 如何在javascript中计算日出和日落?

    我正在使用appcelerator titan开发一个IOS应用程序 我想让我的应用程序在日出和日落时向用户发送本地通知 解决这个问题的一个好工具是使用 YQL 的雅虎天气 但是 雅虎天气仅供非商业用途 我正在尝试找到一个javascrip
  • Objective c RSA 与 OAEP 填充 sha256 之前的 ios 10

    我正在研究一种在iPhone中使用RSA加密方法的加密方法 到目前为止我可以用这种方法实现获取加密字符串 该字符串被服务器成功解密 SecKeyRef keyRef self addPublicKey pubKey SecKeyAlgori
  • 以编程方式更改自动布局约束后视图未更新

    事先我必须说 我实际上得到了我想要的可见效果 但不是以令人满意的方式 因为现在需要 打破 约束而不是正确更新 我有一个 ViewController 其中包含一个 UITableView 那个的高度tableView可以从 0 不可见 到它
  • 尽早检测有问题的 XIB 视图

    我的笔尖名称有一个拼写错误 当我推向导航控制器时 它在代码中被破坏了 弄清楚它并没有花太长时间 但我认为最好尽早断言格式良好 以便更容易弄清楚 问题是它不是零 它只是无法从笔尖正确地形成自己 在 initWithNib 之后是否有更好的断言
  • 如何获得 UICollectionView 的矩形

    我想在 UICollectionView 中找到节标题的框架 我对 UITableView 也有类似的情况 为此 我能够通过执行以下操作来获得其正确性 CGRect rect self tableView rectForHeaderInSe
  • AST 文件格式错误或损坏

    我有一个问题 我不知道为什么会发生这种情况 但很可能是因为我错误地按了 移动到垃圾箱 到某些系统框架 我收到一条错误消息 AST 文件格式错误或损坏 找不到 AST 文件引用的文件 Users username myProject Quar
  • 如何动态添加XCTestCase

    我正在为一个白标签项目编写 UI 测试 其中每个应用程序都有一组不同的菜单项 测试点击每个菜单项并截取屏幕截图 使用快车道快照 https docs fastlane tools actions snapshot 目前这一切都发生在一个内部
  • 出现错误:FT_Open_Face 失败:错误 2

    当我使用时出现以下错误CGContextDrawPDFPage context PDFPage 对于某些文件 有解决办法来解决这个问题吗 FT Open Face failed error 2 错误2看起来像errno2 这是 找不到文件
  • 初始化Object中的空字符串?

    有人使用以下方法来初始化 NSstring NSString astring NSString alloc init 我想知道为什么不直接使用 NSString atring nil or NSString astring 没有semant

随机推荐

  • GWT 中共享包的重要性

    我意识到 GWt 不会编译不在客户端包中的类 但共享包的重要性是什么 我需要在这个包中放入哪些类 我需要上哪些课程 放入这个包中 客户端和服务器都使用的任何逻辑或数据类型 这将使您免于复制双方的代码 并可能保留逻辑和数据类型持续的
  • HttpRequestMessage 内容中的文件名

    我实现了 POST Rest 服务来将文件上传到我的服务器 我现在遇到的问题是我想按类型限制上传的文件 举例来说 我只想允许上传 pdf 文件 我试图做的是 Task
  • 从 Eclipse 菜单 Window -> Show View 中删除视图名称

    我需要删除从 窗口 gt 显示视图 菜单创建的视图的名称 快捷方式 并将它们添加为单独的菜单 有什么方法可以从 窗口 gt 显示视图 菜单中隐藏 删除其条目 您可以从 自定义透视 菜单可见性 选项卡的 显示视图 菜单中添加 删除任何视图 以
  • docker在aws ecs中运行程序参数

    我在 Amazon 的 ECS 中有一个工作容器 它将程序作为任务运行 我想传递一些程序参数 就像我在本地运行时所做的那样docker run 我已经成功地在 ECS 的容器配置中传递了一个新的入口点 就像我在docker run命令行 不
  • 由于定义顺序,常量初始化“令人惊讶”

    阅读时关于 constexpr 的幻灯片 http accu org content conf2007 Maurer C 0x Generating Constant Expression pdf简介是关于 使用 const 进行令人惊讶的
  • 在C语言中连接字符串,哪种方法更有效?

    我遇到了这两种连接字符串的方法 共同部分 char first First char second Second char both malloc strlen first strlen second 2 方法一 strcpy both f
  • Apple Watch:状态栏高度

    有人知道 Apple Watch 状态栏的大小吗 无论是在 Apple Watch 人机界面指南还是 Apple Watch 编程指南中 我都无法在文档中找到这样的价值 所以 我已经测量过它们了 38mm 19pt 38px 42mm 21
  • char* - 为什么指针中没有地址?

    我有一个基本问题char 我不明白 char aString Hello Stackoverflow 指针指向字符链的第一个字符 cout lt lt aString H 但为什么整个字符串都保存在指针中呢 cout lt lt aStri
  • 写入内存映射文件后,什么会更新 mtime?

    我在 Linux 上使用 XFS 并且有一个内存映射文件 每秒写入一次 我注意到文件 mtime 由watch ls full time 周期性但不规则地变化 mtimes之间的差距似乎在2到20秒之间 但并不一致 系统上几乎没有其他东西在
  • 如何在php中显示特定mysql数据库中的所有表名

    我正在尝试显示数据库中的所有表名 这是我的代码 所显示的一切1对于每个条目 我不知道为什
  • Dictionary.ContainsKey 返回 False,但想要 True

    namespace Dic public class Key string name public Key string n name n class Program static string Test Key a new Key A K
  • 如何使用Java程序连接MS Access数据库?

    我想编写一个程序来从 MS Access 数据库检索数据 我写的程序如下 package db import java sql public class MSaccess archive public static void main St
  • 从流中获取父对象

    我有这门课 public class StructUserType extends UserType MembersList membersList new MembersList public List
  • Java 中的 Swagger 规范验证

    我正在尝试验证一些可能包含 swagger 规范的字符串 我正在尝试使用 swagger 解析器 下面的代码不起作用 我只收到消息 属性不是类型object swagger 规范是从 xml 文件中读取的 swaggerXml nodeLi
  • Webpack - 加载块 0 失败

    我的一些用户收到此错误 未处理的拒绝消息 加载块 0 失败 堆栈 正在加载 块 0 在 HTMLScriptElement n 处失败 问题是 我没有成功复制它 我已经有一段时间出现这个错误了 对于相同的用户来说 every他们进入网站的时
  • 如何在 Laravel 5 迁移中向表(而不是列)添加注释?

    如何在 Laravel 5 迁移中向表 或列 添加注释 我目前知道如何向列添加评论 例如 table gt tinyInteger status gt comment 0 requested 1 rejected 1 confirmed 但
  • 我打开的文档(选项卡)在 VS2010 SP1 中不断消失

    在 VS 2010 中 当我关闭解决方案并在第二天重新打开它后 我打开的所有文档仍然会打开 正是我想要的 安装 SP1 后 每次打开解决方案时 所有文档都会关闭 无论我将它们保留在什么状态 这是预期的行为 错误还是存在我不知道的设置 我怎样
  • Google App Script - 合并多个文档,删除所有换行符并通过电子邮件以 pdf 形式发送

    我正在使用 Google App Script 并已成功将一个文件夹中的多个文档合并到一个文档中 并删除所有换行符 同时保持所有样式不变 我需要一些帮助的是 在removeMultipleLineBreaks element 函数完成后如何
  • 如何使用 Angular 或 Node JS 在现有 Excel 文件中写入

    我实际上陷入困境 我正在一个平均堆栈中工作 并且我的项目要求在现有的微控制器中写入数据 以启用经过验证的 Excel 工作表 我做了很多谷歌 但我没有找到任何节点或角度模块满足我的要求 每个人都给我创建新文件的选项 没有人给我更新现有 Ex
  • 如何修复因不允许的用户代理而导致的功能受损?

    我正在构建一个网络浏览器 最近在尝试使用我的 Google 帐户在网站上登录时遇到错误 这很奇怪 因为我检查了我的应用程序和 Safari 的用户代理 它们都是相同的 有什么建议么 UPDATE WKWebView 在自定义 UIView