我得到了大量的崩溃报告给了Crashlytics.这只发生在iOS 12上,我不知道如何重现这一点.也许用户在WKWebView上并尝试从提示中输入密码31 SafariServices 0x21d216740 __107+[_SFAutomaticPasswordInputViewController inputViewControllerWithAutoFillContext:passwordRules:completion:]_block_invoke.29 + 104
如果有人有类似的崩溃或想法,我们非常感谢.
更新:此问题正在跟踪:https://github.com/firebase/firebase-ios-sdk/issues/2283感谢Igor
Crashed: com.apple.main-thread
0 libsystem_kernel.dylib 0x207743df8 __abort_with_payload + 8
1 libsystem_kernel.dylib 0x20773d838 abort_with_payload_wrapper_internal + 100
2 libsystem_kernel.dylib 0x20773d7d4 abort_with_payload_wrapper_internal + 34
3 libobjc.A.dylib 0x206d7d4b4 _objc_fatalv(unsigned long long, unsigned long long, char const*, char*) + 112
4 libobjc.A.dylib 0x206d7d40c __objc_error + 42
5 libobjc.A.dylib 0x206d94af0 weak_entry_insert(weak_table_t*, weak_entry_t*) + 314
6 libobjc.A.dylib 0x206d95a60 objc_initWeak + 360
7 UIKitCore 0x23457508c -[UIViewController viewDidMoveToWindow:shouldAppearOrDisappear:] + 1628
8 UIKitCore 0x234fcaff8 -[UIView(Internal) …Run Code Online (Sandbox Code Playgroud) 我正在尝试为我的本机应用程序创建 Safari Web 扩展。我想要一个带有按钮的弹出窗口,单击该按钮将与我的本机应用程序进行通信。在开始这部分之前,我在发送本机消息并在beginRequest符合NSExtensionRequestHandling协议的类的函数中处理它时遇到了问题。我没有做太多事情,因为我依赖于 Xcode 生成的代码。
manifest.json我添加了这样nativeMessaging的权限:
"permissions": [ "nativeMessaging" ]
Run Code Online (Sandbox Code Playgroud)
popup.js其中包含事件监听器:
console.log("Hello World!", browser);
document.addEventListener('DOMContentLoaded', function() {
var checkPageButton = document.getElementById('clickIt');
checkPageButton.addEventListener('click', function() {
console.log("click")
browser.runtime.sendNativeMessage({ message: "Hello" });
}, false)
}, false)
Run Code Online (Sandbox Code Playgroud)
当我检查弹出元素时,我可以看到消息Hello World并显示click消息,但正如我之前提到的 -beginRequest没有被调用。有什么遗漏吗?我也观看了WWDC20 的Meet Safari Web Extensions 会议,但没有找到答案。
javascript safari-extension safariservices safari-web-extension
使用 SFSafariViewController 效果很好,但由于某种原因,当我访问此网页 [knowitall.ch] 时,它会通过打开缩放视图来启动?有一个小黑框,我需要按下它才能获得完整的网页。
我的代码再简单不过了。
if let url = URL(string: url2U) {
let vc = SFSafariViewController(url: url, entersReaderIfAvailable: true)
vc.delegate = self
present(vc, animated: true)
}
Run Code Online (Sandbox Code Playgroud)
如果我按下该框,我会得到正确的视图,如何对此进行编码,以便我在此处打开第二个视图?不需要黑匣子:)