{"id":69551,"date":"2019-12-30T16:41:32","date_gmt":"2019-12-30T11:11:32","guid":{"rendered":"https:\/\/www.vskills.in\/certification\/tutorial\/?p=69551"},"modified":"2024-04-12T14:21:52","modified_gmt":"2024-04-12T08:51:52","slug":"ios-webkit-debug-proxy","status":"publish","type":"page","link":"https:\/\/www.vskills.in\/certification\/tutorial\/ios-webkit-debug-proxy\/","title":{"rendered":"iOS WebKit Debug Proxy"},"content":{"rendered":"\n<p><a href=\"https:\/\/www.vskills.in\/certification\/tutorial\/mobile-testing-appium-tutorials\/\" target=\"_blank\" rel=\"noreferrer noopener\">Go back to tutorial<\/a><\/p>\n\n\n<h1><strong>iOS WebKit Debug Proxy<\/strong><\/h1>\n<p>ios_webkit_debug_proxy (aka iwdp) proxies are used to request from usbmuxd daemon over a websocket connection. Further, it allows developer to send commands to MobileSafari and UIWebViews on real and simulated iOS devices. iOS device appium uses ios_webkit_debug_proxy for accessing web views.<\/p>\n<h3><strong>Design Features<\/strong><\/h3>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-139784\" src=\"https:\/\/www.vskills.in\/lms\/wp-content\/uploads\/2019\/07\/image049-2.png\" alt=\"\" width=\"394\" height=\"457\"><\/p>\n<h3><strong>Installation Process<\/strong><\/h3>\n<p>In which case, iOS WebKit Debug Proxy works on Linux, MacOS and Windows.<\/p>\n<p><em><strong>On a MacOS<\/strong><\/em><\/p>\n<p>it&#8217;s easiest to install with homebrew:<\/p>\n<p>brew install ios-webkit-debug-proxy<\/p>\n<p><em><strong>On Windows<\/strong><\/em><\/p>\n<p>it&#8217;s easiest to install with scoop:<\/p>\n<p>scoop bucket add extras<\/p>\n<p>scoop install ios-webkit-debug-proxy<\/p>\n<p><strong><em>On Linux<\/em><\/strong><\/p>\n<p>sudo apt-get install autoconf automake libusb-dev libusb-1.0-0-dev libplist-dev libplist++-dev usbmuxd libtool libimobiledevice-dev<\/p>\n<p>git clone https:\/\/github.com\/google\/ios-webkit-debug-proxy.git<\/p>\n<p>cd ios-webkit-debug-proxy<\/p>\n<p>.\/autogen.sh<\/p>\n<p>make<\/p>\n<p>sudo make install<\/p>\n<h3><strong>Building ios-webkit-debug-proxy from source<\/strong><\/h3>\n<p>At first, open the command terminal on your mac. Further, you can find instructions on how to open the terminal via your favorite search engine. Once that is open, verify you have Homebew installed:<\/p>\n<p>$ brew -v<\/p>\n<p>After having Homebrew, it is important to perform the following commands (the $ indicates the command line prompt, do not enter it):<\/p>\n<p>$ cd&nbsp; ~<\/p>\n<p>$ sudo apt-get install autoconf automake libusb-dev libusb-1.0-0-dev libplist-dev libplist++-dev usbmuxd libtool libimobiledevice-dev<\/p>\n<p>$ git clone https:\/\/github.com\/google\/ios-webkit-debug-proxy.git<\/p>\n<p>$ cd ios-webkit-debug-proxy<\/p>\n<p>$ .\/autogen.sh<\/p>\n<p>$ make<\/p>\n<p>$ sudo make install<\/p>\n<h3><strong>Using <\/strong><strong>ios-webkit<\/strong><\/h3>\n<p>On Linux, you must run the usbmuxd daemon. The above install adds a \/lib\/udev rule to start the daemon whenever a device is attached.<\/p>\n<p>To verify that usbmuxd can list your attached device(s), ensure that libimobiledevice-utils is installed, or install it with:<\/p>\n<p>sudo apt-get install libimobiledevice-utils<\/p>\n<p>and then run idevice_id -l<\/p>\n<h3><strong>How to Start the simulator or device?<\/strong><\/h3>\n<p>The iOS Simulator is supported, but it must be started before the proxy. The simulator can be started in XCode, standalone, or via the command line:<\/p>\n<p># Xcode changes these paths frequently, so doublecheck them<\/p>\n<p>SDK_DIR=&#8221;\/Applications\/Xcode.app\/Contents\/Developer\/Platforms\/iPhoneSimulator.platform\/Developer\/SDKs&#8221;<\/p>\n<p>SIM_APP=&#8221;\/Applications\/Xcode.app\/Contents\/Developer\/Applications\/Simulator.app\/Contents\/MacOS\/Simulator&#8221;<\/p>\n<p>$SIM_APP -SimulateApplication $SDK_DIR\/iPhoneSimulator8.4.sdk\/Applications\/MobileSafari.app\/MobileSafari<\/p>\n<p>Enable the inspector &#8211; Your attached iOS devices must have \u22651 open browser tabs and the inspector enabled via: Settings &gt; Safari &gt; Advanced &gt; Web Inspector = ON<\/p>\n<h3><strong>Running ios-webkit-debug-proxy<\/strong><\/h3>\n<p>Once it has been installed, then you can start the proxy with the below command &#8211;<\/p>\n<p># Change the udid to be the udid of the attached device and make sure to set the port to 27753<\/p>\n<p># as that is the port the remote-debugger uses. You can learn how to retrieve the UDID from<\/p>\n<p># Apple&#8217;s developer resources.<\/p>\n<p>&gt; ios_webkit_debug_proxy -c 0e4b2f612b65e98c1d07d22ee08678130d345429:27753 -d<\/p>\n<p>Also, you can also set the desired capability called startIWDP to true. This will run the above command as a subprocess from within Appium and will set the udid, so you don&#8217;t have to run ios_webkit_debug_proxy yourself anymore. It monitors the proxy for crashes and relaunches when needed.<\/p>\n<p>Further, you may also use ios-webkit-debug-proxy-launcher, a small script included with the Appium codebase, to launch the proxy. It monitors the proxy log for errors, and relaunch the proxy where needed. This is also optional and may help with recent devices:<\/p>\n<p># change the udid<\/p>\n<p># note, this is run from an Appium repository<\/p>\n<p>&gt; .\/bin\/ios-webkit-debug-proxy-launcher.js -c 0e4b2f612b65e98c1d07d22ee08678130d345429:27753 -d<\/p>\n<p>The proxy requires the &#8220;web inspector&#8221; to be turned on to allow a connection to be established. Turn it on by going to settings &gt; safari &gt; advanced.<\/p>\n<ul>\n<li>Specifying non-default port &#8211; Appium expects ios-webkit-debug-proxy to be running on port 27753. If, for whatever reason, this needs to be changed, the webkitDebugProxyPort desired capability can be set with the port on which it the proxy is running.<\/li>\n<\/ul>\n<h4><strong>Enrich your profile and become Job Ready. Practice and Prepare for&nbsp;<a href=\"https:\/\/www.vskills.in\/certification\/testing\/mobile-testing-appium-professional\">Mobile Testing (Appium) Exam<\/a>&nbsp;Now!<\/strong><\/h4>\n<h4><strong>Get expert advice and hundreds of Free Test \u2013 Try&nbsp;<a href=\"https:\/\/www.vskills.in\/practice\/index.php?route=test\/search&amp;search=appium\">Mobile Testing (Appium) Practice Questions<\/a>&nbsp;Now!<\/strong><\/h4>\n\n\n<p><a href=\"https:\/\/www.vskills.in\/certification\/tutorial\/mobile-testing-appium-tutorials\/\" target=\"_blank\" rel=\"noreferrer noopener\">Go back to tutorial<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Go back to tutorial iOS WebKit Debug Proxy ios_webkit_debug_proxy (aka iwdp) proxies are used to request from usbmuxd daemon over a websocket connection. Further, it allows developer to send commands to MobileSafari and UIWebViews on real and simulated iOS devices. iOS device appium uses ios_webkit_debug_proxy for accessing web views. Design Features Installation Process In which&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"categories":[7891],"tags":[7978],"class_list":["post-69551","page","type-page","status-publish","hentry","category-mobile-testing-appium","tag-ios-webkit-debug-proxy"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>iOS WebKit Debug Proxy - Mobile Testing (Appium) - VskillsTutorial<\/title>\n<meta name=\"description\" content=\"Qualify as a Certified Mobile Testing Professional with hundreds of real time practice exam. Learn all about iOS WebKit Debug Proxy Now!\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.vskills.in\/certification\/tutorial\/ios-webkit-debug-proxy\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"iOS WebKit Debug Proxy - Mobile Testing (Appium) - VskillsTutorial\" \/>\n<meta property=\"og:description\" content=\"Qualify as a Certified Mobile Testing Professional with hundreds of real time practice exam. Learn all about iOS WebKit Debug Proxy Now!\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.vskills.in\/certification\/tutorial\/ios-webkit-debug-proxy\/\" \/>\n<meta property=\"og:site_name\" content=\"Tutorial\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/vskills.in\/\" \/>\n<meta property=\"article:modified_time\" content=\"2024-04-12T08:51:52+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.vskills.in\/lms\/wp-content\/uploads\/2019\/07\/image049-2.png\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.vskills.in\/certification\/tutorial\/ios-webkit-debug-proxy\/\",\"url\":\"https:\/\/www.vskills.in\/certification\/tutorial\/ios-webkit-debug-proxy\/\",\"name\":\"iOS WebKit Debug Proxy - Mobile Testing (Appium) - VskillsTutorial\",\"isPartOf\":{\"@id\":\"https:\/\/www.vskills.in\/certification\/tutorial\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.vskills.in\/certification\/tutorial\/ios-webkit-debug-proxy\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.vskills.in\/certification\/tutorial\/ios-webkit-debug-proxy\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.vskills.in\/lms\/wp-content\/uploads\/2019\/07\/image049-2.png\",\"datePublished\":\"2019-12-30T11:11:32+00:00\",\"dateModified\":\"2024-04-12T08:51:52+00:00\",\"description\":\"Qualify as a Certified Mobile Testing Professional with hundreds of real time practice exam. Learn all about iOS WebKit Debug Proxy Now!\",\"breadcrumb\":{\"@id\":\"https:\/\/www.vskills.in\/certification\/tutorial\/ios-webkit-debug-proxy\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.vskills.in\/certification\/tutorial\/ios-webkit-debug-proxy\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.vskills.in\/certification\/tutorial\/ios-webkit-debug-proxy\/#primaryimage\",\"url\":\"https:\/\/www.vskills.in\/lms\/wp-content\/uploads\/2019\/07\/image049-2.png\",\"contentUrl\":\"https:\/\/www.vskills.in\/lms\/wp-content\/uploads\/2019\/07\/image049-2.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.vskills.in\/certification\/tutorial\/ios-webkit-debug-proxy\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.vskills.in\/certification\/tutorial\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"iOS WebKit Debug Proxy\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.vskills.in\/certification\/tutorial\/#website\",\"url\":\"https:\/\/www.vskills.in\/certification\/tutorial\/\",\"name\":\"Tutorial\",\"description\":\"Vskills - A initiative in elearning and certification\",\"publisher\":{\"@id\":\"https:\/\/www.vskills.in\/certification\/tutorial\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.vskills.in\/certification\/tutorial\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.vskills.in\/certification\/tutorial\/#organization\",\"name\":\"Vskills\",\"url\":\"https:\/\/www.vskills.in\/certification\/tutorial\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.vskills.in\/certification\/tutorial\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.vskills.in\/certification\/tutorial\/wp-content\/uploads\/2017\/07\/vskills-min-logo.jpg\",\"contentUrl\":\"https:\/\/www.vskills.in\/certification\/tutorial\/wp-content\/uploads\/2017\/07\/vskills-min-logo.jpg\",\"width\":73,\"height\":55,\"caption\":\"Vskills\"},\"image\":{\"@id\":\"https:\/\/www.vskills.in\/certification\/tutorial\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/vskills.in\/\",\"https:\/\/x.com\/vskills_in\",\"https:\/\/www.linkedin.com\/company-beta\/1371554\/\",\"https:\/\/www.youtube.com\/channel\/UCMWnscxPwRF_PqXo9B7q_Tw\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"iOS WebKit Debug Proxy - Mobile Testing (Appium) - VskillsTutorial","description":"Qualify as a Certified Mobile Testing Professional with hundreds of real time practice exam. Learn all about iOS WebKit Debug Proxy Now!","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.vskills.in\/certification\/tutorial\/ios-webkit-debug-proxy\/","og_locale":"en_US","og_type":"article","og_title":"iOS WebKit Debug Proxy - Mobile Testing (Appium) - VskillsTutorial","og_description":"Qualify as a Certified Mobile Testing Professional with hundreds of real time practice exam. Learn all about iOS WebKit Debug Proxy Now!","og_url":"https:\/\/www.vskills.in\/certification\/tutorial\/ios-webkit-debug-proxy\/","og_site_name":"Tutorial","article_publisher":"https:\/\/www.facebook.com\/vskills.in\/","article_modified_time":"2024-04-12T08:51:52+00:00","og_image":[{"url":"https:\/\/www.vskills.in\/lms\/wp-content\/uploads\/2019\/07\/image049-2.png","type":"","width":"","height":""}],"twitter_misc":{"Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.vskills.in\/certification\/tutorial\/ios-webkit-debug-proxy\/","url":"https:\/\/www.vskills.in\/certification\/tutorial\/ios-webkit-debug-proxy\/","name":"iOS WebKit Debug Proxy - Mobile Testing (Appium) - VskillsTutorial","isPartOf":{"@id":"https:\/\/www.vskills.in\/certification\/tutorial\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.vskills.in\/certification\/tutorial\/ios-webkit-debug-proxy\/#primaryimage"},"image":{"@id":"https:\/\/www.vskills.in\/certification\/tutorial\/ios-webkit-debug-proxy\/#primaryimage"},"thumbnailUrl":"https:\/\/www.vskills.in\/lms\/wp-content\/uploads\/2019\/07\/image049-2.png","datePublished":"2019-12-30T11:11:32+00:00","dateModified":"2024-04-12T08:51:52+00:00","description":"Qualify as a Certified Mobile Testing Professional with hundreds of real time practice exam. Learn all about iOS WebKit Debug Proxy Now!","breadcrumb":{"@id":"https:\/\/www.vskills.in\/certification\/tutorial\/ios-webkit-debug-proxy\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.vskills.in\/certification\/tutorial\/ios-webkit-debug-proxy\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.vskills.in\/certification\/tutorial\/ios-webkit-debug-proxy\/#primaryimage","url":"https:\/\/www.vskills.in\/lms\/wp-content\/uploads\/2019\/07\/image049-2.png","contentUrl":"https:\/\/www.vskills.in\/lms\/wp-content\/uploads\/2019\/07\/image049-2.png"},{"@type":"BreadcrumbList","@id":"https:\/\/www.vskills.in\/certification\/tutorial\/ios-webkit-debug-proxy\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.vskills.in\/certification\/tutorial\/"},{"@type":"ListItem","position":2,"name":"iOS WebKit Debug Proxy"}]},{"@type":"WebSite","@id":"https:\/\/www.vskills.in\/certification\/tutorial\/#website","url":"https:\/\/www.vskills.in\/certification\/tutorial\/","name":"Tutorial","description":"Vskills - A initiative in elearning and certification","publisher":{"@id":"https:\/\/www.vskills.in\/certification\/tutorial\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.vskills.in\/certification\/tutorial\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.vskills.in\/certification\/tutorial\/#organization","name":"Vskills","url":"https:\/\/www.vskills.in\/certification\/tutorial\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.vskills.in\/certification\/tutorial\/#\/schema\/logo\/image\/","url":"https:\/\/www.vskills.in\/certification\/tutorial\/wp-content\/uploads\/2017\/07\/vskills-min-logo.jpg","contentUrl":"https:\/\/www.vskills.in\/certification\/tutorial\/wp-content\/uploads\/2017\/07\/vskills-min-logo.jpg","width":73,"height":55,"caption":"Vskills"},"image":{"@id":"https:\/\/www.vskills.in\/certification\/tutorial\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/vskills.in\/","https:\/\/x.com\/vskills_in","https:\/\/www.linkedin.com\/company-beta\/1371554\/","https:\/\/www.youtube.com\/channel\/UCMWnscxPwRF_PqXo9B7q_Tw"]}]}},"_links":{"self":[{"href":"https:\/\/www.vskills.in\/certification\/tutorial\/wp-json\/wp\/v2\/pages\/69551","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.vskills.in\/certification\/tutorial\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.vskills.in\/certification\/tutorial\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.vskills.in\/certification\/tutorial\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.vskills.in\/certification\/tutorial\/wp-json\/wp\/v2\/comments?post=69551"}],"version-history":[{"count":7,"href":"https:\/\/www.vskills.in\/certification\/tutorial\/wp-json\/wp\/v2\/pages\/69551\/revisions"}],"predecessor-version":[{"id":84606,"href":"https:\/\/www.vskills.in\/certification\/tutorial\/wp-json\/wp\/v2\/pages\/69551\/revisions\/84606"}],"wp:attachment":[{"href":"https:\/\/www.vskills.in\/certification\/tutorial\/wp-json\/wp\/v2\/media?parent=69551"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.vskills.in\/certification\/tutorial\/wp-json\/wp\/v2\/categories?post=69551"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.vskills.in\/certification\/tutorial\/wp-json\/wp\/v2\/tags?post=69551"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}