Натан де Фриз выяснил, как это сделать на iOS5, запущенном в симуляторе. Он вращается вокруг вызова частного _enableRemoteInspector
метода.
Прочтите это. Резюме следует:
Чтобы включить это для Mobile Safari, присоедините к нему с помощью gdb и вызовите метод:
MobileSafari_PID=$(ps x | grep "MobileSafari" | grep -v grep | awk '{ print $1 }')
if [ "$MobileSafari_PID" == "" ]; then
echo "Mobile Safari.app must be running in the Simulator to enable the remote inspector."
else
cat <<EOM | gdb -quiet > /dev/null
attach $MobileSafari_PID
p (void *)[WebView _enableRemoteInspector]
detach
EOM
ц
Затем обратитесь к инспектору по http://localhost:9999/
.
Включив UIWebView
, включите его следующим образом:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// ...Snipped...
[NSClassFromString(@"WebView") _enableRemoteInspector];
// ...Snipped...
}
На реальном устройстве это не работает, возможно, потому что порт защищен брандмауэром - если у вас есть взломанное устройство, вы можете обойти это (обновите нас, если у вас есть).