gpt4 book ai didi

swift - 将信息从 Angular4 (WKWebView) 传递到 Swift

转载 作者:行者123 更新时间:2023-11-30 12:12:19 27 4
gpt4 key购买 nike

您好,我有一个网络应用程序,我将其包装到 WKWebView 中以通过 Google Play 和 App Store 分发。

为了让它按照我想要的方式工作,我需要能够在 Angular 和 Swift 之间传递一些文本字符串。

这是从 Angular -> Swift 传递信息,这是我现在要解决的最重要的一步,我花了几天时间在谷歌上搜索可能的解决方案,但关于 Angular 的文章并不多。

我发现一些文章在代码语法方面似乎有些过时,但大多数文章都涉及将信息从 JavaScript 传递到 Swift,而不是 TypeScript/Angular4 到 Swift。

我对此的最佳用例是,当用户在 WKWebView 的登录表单中输入他的电子邮件地址时,我需要在 Swift 中检索该电子邮件,以便获取用户正在记录的内容并将该电子邮件地址映射到登录设备的 Firebase 注册 token (以便提供推送消息)。

有人有办法解决这个问题吗?例如,我将如何检索在网络应用程序中以以下表单输入的文本;

<input class="form-control ng-dirty ng-valid ng-touched" formcontrolname="email" id="email" type="email">

编辑:我不认为这个问题是重复的,因为“window.webkit.messageHandler”函数在尝试在 Angular/TypeScript 中实现它时在编译时提供了错误。一旦我的开发人员将其邮寄给我,我将提供示例代码和编译错误输出。

最佳答案

我最终通过注入(inject)一个脚本来设置和读取 WKWebView 本地存储中的数据来解决这个问题。

这允许我获取网络应用程序设置的 token 和字符串,并允许我通过本地存储将信息传递到网络应用程序。

以下行将使用 tokenFirebase 变量的内容设置一个名为“device”的键,它还将读取由 Angular Web 应用程序设置的本地存储的“token”和“userId”内容:

let addCookieScript="localStorage.setItem('device', '\(self.tokenFirebase)');\nconsole.log(localStorage.getItem('token'));\nconsole.log(localStorage.getItem('userId'));\n"

关于swift - 将信息从 Angular4 (WKWebView) 传递到 Swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45897147/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com