-
Notifications
You must be signed in to change notification settings - Fork 8
rpc_applicationSentListing missing WIRListingKey - iOS 8.1.2, 8.3 #1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
applicationSentListing would often error out with Unknown app [app_id] since connectedApplications would be sent an empty list of connected apps. Thus, all apps were removed from the hash table, even though automated testing was going on. This isn't particularly pretty work around for automated testers, but outside of long stress tests of multiple apps, this should be no issue
Add more information: Connection iPad to Mac, and testing Safari browser on iPad by Appium and ios-webkit-debug-proxy. I added more log in the ios_webkit_debug_proxy.c file and try to figure out the different rpc message purpose, e.g. applicationupdate etc. @jchuong may you share with me more information about the RPC message specification? I don't know how to debug it on Windows, and Mac OS is killing me these days. |
I'm not sure if you can debug it with Windows (Cygwin or something) so I don't recommend it. The rpc messages are kind of straight forward if you look at what is being sent. From the design document, applicationSent* is basically the messages from the webinspector being received in iwdp. sentListing would be list of tabs, connectedApps would be applications currently connected, applicationUpdated seems to be updating application PID or names. Most of the functions have the an example plist received. Upon some thought, it might be an issue with libimobiledevice/libplist being a little out of date. By 1.2.0 of libimobiledevice, their website states that it supports up to 8.2 currently. If the plist has changed then iwdp reading it will need to be updated. |
Thanks for the information. I have tested it many times on iOS 8.3 (iPad 3). Every time when I add a new tab or switch tabs, this event is emitted. So I remove the content of function if (*apps == NULL) {
return RPC_SUCCESS;
} As result, the test case still fails, and I can't get any error log from console. |
I am going to show some interesting log below, I have formatted the log for your reference, while the log is still too log, I have to split it into two comments. A little more background:
library info:
conclusions:
I hope what we did could help someone suffering this on iOS 8.3, which took me almost a week |
|
|
Thanks for the information @ChuanyuWang. I do suggest perhaps using a gist for logs but it was very insightful. Just to confirm, there are no new rpc messages being fired (_rpc_applicationUpdated is already being handled), but the contents are different in iOS 8. For the most part, this will just mean that the current rpc_recv_application* functions will only need to handle the new keys. The functionality should stay pretty much the same. |
@jchuong I saw the rpc message _rpc_applicationUpdated is already being handled in your Feb fix, while as I tested, this message is fired when active tab change, there is no PID change. I think you may need to update the way you handle it. |
Sample XML dump from a user:
Note that WIRListingKey has no value set. Seems to be an issue in recent iOS updates.
Reported by @LimeDang and @ChuanyuWang. Can you guys tell me what application you're testing? With Mobile Safari, if I recall correctly this would normally return the active tab id so having this break would be an issue with tests on Safari. I also don't have a device on the affected versions of iOS so it may be a while to get a fix for it.
The text was updated successfully, but these errors were encountered: