Safari打开几秒钟,然后崩溃。
这是调试窗口的输出。
2018-10-10 15:27:18.039905-0700 Safari1020:16719未能在/User//Library/Safari/Favicon/fericons.db- lock获得数据库存储协调锁: 35:资源暂时不可用-10-10 15:27:18.040155-0700 Safari1020:16719未能获得file:///Users//Library/Safari/Favicon%20Cache/favicons.db.数据库的独占访问权2018-10-10 15:27:18.041141-0700 Safari1020:16719未能在/User//Library/Safari/Favicon/fericons.db- lock获得数据库存储协调锁: 35:资源暂时不可用-10-10 15:27:18.041226-0700 Safari1020:16719未能获得file:///Users//Library/Safari/Favicon%20Cache/favicons.db.数据库的独占访问权2018-10 15:27:18.041331-0700 Safari1020:16719回到内存中存储2018年-10-10 15:27:18.042877-0700 Safari1020:16719使用数据库/用户//库/Safari/Safari/Favicon/ferconconsis.db 2018-10 15:27:18.125466-0700 Safari1020:16771未能在/Users//Library/Caches/com.apple.Safari/TabSnapshots/Metadata.db-lock: 35:资源处获得数据库存储协调锁不可用2018-10-10 15:27:18.125660-0700 Safari1020:16771无法获得对file:///Users//Library/Caches/com.apple.Safari/TabSnapshots/Metadata.db.数据库的独占访问2018-10-10 15:27:18.235987-0700 Safari1020:16718 flock未能锁定地图文件: errno = 35 2018-10-10 15:27:18.236343-0700 Safari1020:16718 flock未能锁定地图文件: errno = 35 2018-10-10 15:27:18.293614-0700 Safari1020:16718未能获得AutoFill更正SQLite商店在AutoFillCorrections.db的独家访问权。未能获得对AutoFill更正SQLite存储在AutoFillCorrections.db的独占访问。2018-10-10 15:27:18.299481-0700 Safari1020:16718未能获得AutoFill更正SQLite存储在CloudAutoFillCorrections.db的独家访问权。未能获得对AutoFill更正SQLite存储在CloudAutoFillCorrections.db的独占访问。2018-10-10 15:27:18.300530-0700 Safari1020:16718未能获得AutoFill更正SQLite存储在AutoFillCorrections.db的独家访问权。未能获得对AutoFill更正SQLite存储在AutoFillCorrections.db的独占访问。2018-10-10 15:27:18.304153-0700 Safari1020:16718未能获得AutoFill更正SQLite存储在CloudAutoFillCorrections.db的独家访问权。未能获得对AutoFill更正SQLite存储在CloudAutoFillCorrections.db的独占访问。2018-10-10 15:27:18.620185-0700 Safari1020:16763未能获得AutoFill更正SQLite存储在AutoFillCorrections.db的独家访问权。未能获得对AutoFill更正SQLite存储在AutoFillCorrections.db的独占访问。2018-10 15:27:18.623032-0700 Safari1020:16773无法读取云AutoFill校正集,错误:错误Domain=NSCocoaErrorDomain Code=260“由于文件不存在而无法打开。”2018-10- 15:27:18.629453-0700 Safari1020:16763无法获得对CloudAutoFillCorrections.db的AutoFill更正SQLite存储的独占访问权。未能获得对AutoFill更正SQLite存储在CloudAutoFillCorrections.db的独占访问。2018-10-10 15:27:18.675086-0700 Safari1020:16765获取远程迁移状态: Error Domain=com.apple.SafariBookmarksSync.CloudBookmarksErrorDomain Code=0 (Null)“2018-10-10 15:27:18.771588-0700 Safari1020:16718下载的plist无法加载: Error Domain=NSCocoaErrorDomain Code=260”文件无法打开,因为文件不存在。“2018-10-10 15:27:19.161007-0700 Safari1020:16773无法获得对AutoFillCorrections.db的AutoFill更正SQLite存储的独占访问。”未能获得对AutoFill更正SQLite存储在AutoFillCorrections.db的独占访问。2018-10-10 15:27:19.167933-0700 Safari1020:16773未能获得AutoFill更正SQLite存储在CloudAutoFillCorrections.db的独家访问权。未能获得对AutoFill更正SQLite存储在CloudAutoFillCorrections.db的独占访问。2018-10-10 15:27:19.279743-0700 Safari1020:16763下载的plist无法加载: Error Domain=NSCocoaErrorDomain Code=260“由于文件不存在而无法打开。”2018-10-10 15:27:20.064438-0700 Safari1020:16763无法获得对AutoFillCorrections.db的AutoFill更正SQLite存储的独占访问。未能获得对AutoFill更正SQLite存储在AutoFillCorrections.db的独占访问。2018-10-10 15:27:20.081337-0700 Safari1020:16763未能获得AutoFill更正SQLite存储在CloudAutoFillCorrections.db的独家访问权。未能获得对AutoFill更正SQLite存储在CloudAutoFillCorrections.db的独占访问。2018-10-10 15:27:20.084003-0700 Safari1020:16763本地或云分类校正数据库都不能打开,程序结束时退出代码:0
我试过重新启动我的电脑。
我已经试过清理这个项目了。
我尝试过删除元数据
xatter -cr .我把这三个都试过了。
发布于 2019-06-24 09:18:19
如果Xcode调试器没有接收到内容脚本中的任何事件,它就倾向于终止扩展进程。从我的观察来看,这是完全没有问题的,在生产过程中,你的应用程序不会那么容易死掉(编辑:这不是真的,看看下面的帖子)。
为了避免这种行为,您可能需要将此片段添加到您的script.js中。
setInterval(() => safari.extension.dispatchMessage("ping", {}), 1000);它将使内容脚本每秒钟向扩展发送一条名为"ping“的消息。这应该足以维持您的扩展。同样,这仅仅是调试时真正需要的,您的产品构建将不需要这一行可靠地工作(编辑:这不是真的,看看文章的底部)。
请记住,在默认情况下,仅在*.webkit.org页面上注入内容脚本。这是由扩展名的SFSafariToolbarItem文件中的Info.plist属性值决定的。出于测试目的,您可能希望在以下所有网站上启用您的分机:
<key>SFSafariWebsiteAccess</key>
<dict>
<key>Level</key>
<string>All</string>
</dict>小心,内容脚本不会注入到空选项卡中,所以一定要加载一些远程页面。
更新
显然,Safari实际上扼杀了生产中的扩展,其构建方式与在调试器中的方式相同。因此,在这种情况下,setInterval() hack仍然是相关的。这只适用于没有弹出的扩展。
发布于 2018-11-01 16:39:55
在第一次运行时,您应该选择Cocoa目标,并且只在此之后运行扩展。请尝试构建并运行您的应用程序,并说如果它有帮助。
https://stackoverflow.com/questions/52749680
复制相似问题