我只想使用“webinpectord”(爱好项目)与 Mobile Safari 通信。我的目标是在 Mobile Safari 上显示一个警报“嗨”。我知道我可以使用 Safari 的调试控制台来做到这一点。目前我所知道的是 Mobile Safari ('webinpectord') 使用 IPV6 协议侦听 localhost 上的端口 27753。从这个页面我了解了与 Mobile Safari 通信的顺序。我仔细阅读了已经在运行的程序,例如remote-debug、node-iosdriver和iOS-webkitproxy。然后我尝试用 C 语言编写一个连接到 localhost:27753 的程序,然后发送和接收命令。我的问题是我可以连接并发送命令到端口 27753,但没有从该端口得到任何响应。
我试图发送
{ __argument: { WIRConnectionIdentifierKey: '17858421-36EF-4752-89F7-7A13ED5782C5' },
__selector: '_rpc_reportIdentifier:' }
根据这篇文章,Mobile Safari 必须发回响应,例如
{ __selector: '_rpc_reportSetup:',
__argument:
{ WIRSimulatorNameKey: 'iPhone Simulator',
WIRSimulatorBuildKey: '10A403' } }
{ __selector: '_rpc_reportConnectedApplicationList:',
__argument:
{ WIRApplicationDictionaryKey:
{ 'com.apple.mobilesafari':
{ WIRApplicationIdentifierKey: 'com.apple.mobilesafari',
WIRApplicationNameKey: 'Safari',
WIRIsApplicationProxyKey: false } } } }
但我没有得到 Mobile Safari 的任何回应。我只能向那里发送命令。
让我们假设我的程序有问题!
所以我试着用'telnet'做实验。在这里,我也可以连接到 localhost:27753 并且可以发送命令但没有得到任何响应。我附上屏幕截图。
你可以看到我尝试了很多组合,比如
{ "__argument": { "WIRConnectionIdentifierKey": "17858421-36EF-4752-89F7-7A13ED5782C5" }, "__selector": "_rpc_reportIdentifier: " }
{\"__argument\": { \"WIRConnectionIdentifierKey\": \"17858421-36EF-4752-89F7-7A13ED5782C5\" }, \"__selector\": \"_rpc_reportIdentifier: \"}
"{ "__argument": { "WIRConnectionIdentifierKey": "17858421-36EF-4752-89F7-7A13ED5782C5" }, "__selector": "_rpc_reportIdentifier: " }"
但没有任何效果。
最后我尝试 curl 发送数据。那也失败了!
谁能告诉我我该怎么做才能得到回应
{ __selector: '_rpc_reportSetup:',
__argument:
{ WIRSimulatorNameKey: 'iPhone Simulator',
WIRSimulatorBuildKey: '10A403' } }
{ __selector: '_rpc_reportConnectedApplicationList:',
__argument:
{ WIRApplicationDictionaryKey:
{ 'com.apple.mobilesafari':
{ WIRApplicationIdentifierKey: 'com.apple.mobilesafari',
WIRApplicationNameKey: 'Safari',
WIRIsApplicationProxyKey: false } } } }
发送请求时
{ __argument: { WIRConnectionIdentifierKey: '17858421-36EF-4752-89F7-7A13ED5782C5' },
__selector: '_rpc_reportIdentifier:' }
使用 'telnet' 或 'curl' 到 localhost:27753。
我以不同的方式尝试了两天(写了 C 程序、python 程序,最后尝试了 telnet 和 curl),但没有成功。所以请帮忙!