解决微信分享出现的:PBItemCollectionServicer connection disconnected

本文介绍了一种在iOS应用中修复特定蓝牙连接错误和剪贴板问题的方法,通过调整URL处理函数来实现。这有助于改善用户体验,并确保第三方服务如微信和友盟的正确集成。

PB 

我猜是

Peripherals bluetooth

蓝牙连接错误

也有说

Paste Board 

剪贴板出错


 

解决:

func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any] = [:]) -> Bool {
            
        if url.absoluteString.contains("wechat"){
            return WXApi.handleOpen(url, delegate: self)
        }
        else{
            return UMSocialManager.default()?.handleOpen(url, options: options) ?? true
        }
    }

替换原来的

 func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any] = [:]) -> Bool {
        if url.absoluteString.contains("wx_oauth_authorization_state"){
            return WXApi.handleOpen(url, delegate: self)
        }
        else{
            return UMSocialManager.default()?.handleOpen(url, options: options) ?? true
        }
    }

 

### ### WebSocket 连接错误分析与解决方法 在使用 VNC Server 时,若出现 `WebSocket connection error ::1 target connection error version undefined client disconnected 1005` 类似错误,通常表示 WebSocket 连接未能成功建立,可能由协议版本不匹配、目标地址错误、权限配置不当或网络中断引起。 WebSocket 连接建立失败可能与 VNC Server 的身份验证机制有关。在某些 VNC 实现中,需要通过 `set_password` 命令单独设置密码,以确保客户端连接时能够通过身份验证。若未正确设置密码或使用了不兼容的身份验证方式,可能导致连接被拒绝或协议版本不匹配[^1]。 若出现 `version undefined` 错误,可能是由于客户端与服务器端使用的 WebSocket 协议版本不一致。WebSocket 协议定义了多个版本(如 RFC 6455),若客户端使用旧版本而服务器仅支持新版本,则无法建立连接。可通过更新 VNC 客户端或服务器版本,确保双方使用相同的 WebSocket 协议版本。 `target connection error` 通常表示目标地址或端口不可达。VNC WebSocket 服务通常运行在特定端口(如 6080),若该端口未开放或被防火墙拦截,客户端将无法建立连接。需检查服务器防火墙规则,确保相关端口已开放,并确认客户端连接地址是否正确(如 `ws://localhost:6080/websockify`)。 `client disconnected 1005` 是 WebSocket 协议中的异常关闭代码,表示连接在未完成握手前被中断。此问题可能由服务器端未正确初始化 WebSocket 服务、SSL/TLS 配置错误或客户端主动断开引起。可通过检查 VNC Server 的启动日志,确认 WebSocket 服务是否正常运行,并确保客户端使用正确的连接方式(如是否启用 SSL)。 --- ### ### 配置 WebSocket 与 VNC 服务的示例 为确保 WebSocket 正常工作,可在启动 VNC 服务时指定 WebSocket 端口,例如使用 `websockify` 工具进行代理: ```bash websockify --web /usr/share/novnc/ 6080 localhost:5901 ``` 上述命令将 WebSocket 端口 6080 映射到 VNC 端口 5901,并启用 Web 界面支持。客户端可通过浏览器访问 `http://localhost:6080/vnc.html` 并输入正确的密码进行连接。 此外,确保 `xstartup` 文件中正确配置了桌面环境,以避免因图形界面启动失败导致连接中断: ```bash #!/bin/sh unset SESSION_MANAGER exec /etc/X11/xinit/xinitrc ``` 赋予执行权限后重启 VNC 服务: ```bash chmod +x ~/.vnc/xstartup vncserver -kill :1 vncserver :1 ``` --- ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值