<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[179184] trunk/Websites/webkit.org</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.webkit.org/projects/webkit/changeset/179184">179184</a></dd>
<dt>Author</dt> <dd>dbates@webkit.org</dd>
<dt>Date</dt> <dd>2015-01-27 09:00:08 -0800 (Tue, 27 Jan 2015)</dd>
</dl>

<h3>Log Message</h3>
<pre>Update Xcode requirement and add instructions to build, run, and debug WebKit for iOS Simulator

Reviewed by David Kilzer.

* building/build.html: Added instructions to build WebKit for iOS Simulator.
* building/debug.html: Added some instructions to debug the UIProcess and WebProcess
in the iOS Simulator using command line tools. We should look to add Xcode instructions
and simplify these steps once we teach debug-safari about the iOS Simulator.
* building/run.html: Added remark to run Safari in the iOS Simulator.
* building/tools.html: Require Xcode 6.1.1 (for the iOS 8.1 SDK) to build for iOS Simulator.
* css/main.css: Define the .ios-instructions class with the same style as other .*-instructions classes.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkWebsiteswebkitorgChangeLog">trunk/Websites/webkit.org/ChangeLog</a></li>
<li><a href="#trunkWebsiteswebkitorgbuildingbuildhtml">trunk/Websites/webkit.org/building/build.html</a></li>
<li><a href="#trunkWebsiteswebkitorgbuildingdebughtml">trunk/Websites/webkit.org/building/debug.html</a></li>
<li><a href="#trunkWebsiteswebkitorgbuildingrunhtml">trunk/Websites/webkit.org/building/run.html</a></li>
<li><a href="#trunkWebsiteswebkitorgbuildingtoolshtml">trunk/Websites/webkit.org/building/tools.html</a></li>
<li><a href="#trunkWebsiteswebkitorgcssmaincss">trunk/Websites/webkit.org/css/main.css</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkWebsiteswebkitorgChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Websites/webkit.org/ChangeLog (179183 => 179184)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Websites/webkit.org/ChangeLog        2015-01-27 16:17:04 UTC (rev 179183)
+++ trunk/Websites/webkit.org/ChangeLog        2015-01-27 17:00:08 UTC (rev 179184)
</span><span class="lines">@@ -1,3 +1,17 @@
</span><ins>+2015-01-27  Daniel Bates  &lt;dabates@apple.com&gt;
+
+        Update Xcode requirement and add instructions to build, run, and debug WebKit for iOS Simulator
+
+        Reviewed by David Kilzer.
+
+        * building/build.html: Added instructions to build WebKit for iOS Simulator.
+        * building/debug.html: Added some instructions to debug the UIProcess and WebProcess
+        in the iOS Simulator using command line tools. We should look to add Xcode instructions
+        and simplify these steps once we teach debug-safari about the iOS Simulator.
+        * building/run.html: Added remark to run Safari in the iOS Simulator.
+        * building/tools.html: Require Xcode 6.1.1 (for the iOS 8.1 SDK) to build for iOS Simulator.
+        * css/main.css: Define the .ios-instructions class with the same style as other .*-instructions classes.
+
</ins><span class="cx"> 2014-09-27  Dan Bernstein  &lt;mitz@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         WebKit top of tree sources won't build in 10.9 w/ Xcode 6.0.1
</span></span></pre></div>
<a id="trunkWebsiteswebkitorgbuildingbuildhtml"></a>
<div class="modfile"><h4>Modified: trunk/Websites/webkit.org/building/build.html (179183 => 179184)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Websites/webkit.org/building/build.html        2015-01-27 16:17:04 UTC (rev 179183)
+++ trunk/Websites/webkit.org/building/build.html        2015-01-27 17:00:08 UTC (rev 179184)
</span><span class="lines">@@ -13,6 +13,14 @@
</span><span class="cx"> &lt;p&gt;Building on Windows requires a few more steps. For details, see &lt;a href=&quot;http://trac.webkit.org/wiki/BuildingOnWindows&quot;&gt;http://trac.webkit.org/wiki/BuildingOnWindows&lt;/a&gt;.&lt;/p&gt;
</span><span class="cx"> &lt;/div&gt;
</span><span class="cx"> 
</span><ins>+&lt;div class=&quot;ios-instructions&quot;&gt;
+&lt;h4&gt;iOS Simulator&lt;/h4&gt;
+&lt;p&gt;The first time after you install a new Xcode, you will need to run &lt;code&gt;sudo Tools/Scripts/configure-xcode-for-ios-development&lt;/code&gt; in the Terminal to enable Xcode to build command line tools for iOS Simulator. Otherwise you will see the error message:&lt;/p&gt;
+&lt;p class=&quot;code&quot;&gt;target specifies product type 'com.apple.product-type.tool', but there's no such product type for the 'iphonesimulator' platform.&lt;/p&gt;
+&lt;p&gt;when building target JSCLLIntOffsetsExtractor of project JavaScriptCore.&lt;/p&gt;
+&lt;p&gt;Then follow the instructions below, passing the &lt;code&gt;--ios-simulator&lt;/code&gt; option, to build WebKit for your first build and all subsequent builds.&lt;/p&gt;
+&lt;/div&gt;
+
</ins><span class="cx"> &lt;ol&gt;
</span><span class="cx"> &lt;li&gt;&lt;p&gt;Run the &lt;code&gt;build-webkit&lt;/code&gt; &lt;a href=&quot;/coding/scripts.html&quot;&gt;script&lt;/a&gt;
</span><span class="cx"> to build WebKit.&lt;/p&gt;
</span></span></pre></div>
<a id="trunkWebsiteswebkitorgbuildingdebughtml"></a>
<div class="modfile"><h4>Modified: trunk/Websites/webkit.org/building/debug.html (179183 => 179184)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Websites/webkit.org/building/debug.html        2015-01-27 16:17:04 UTC (rev 179183)
+++ trunk/Websites/webkit.org/building/debug.html        2015-01-27 17:00:08 UTC (rev 179184)
</span><span class="lines">@@ -4,14 +4,25 @@
</span><span class="cx"> ?&gt;
</span><span class="cx"> 
</span><span class="cx"> &lt;div class=&quot;mac-instructions&quot;&gt;
</span><del>-&lt;h2&gt;Debugging on OS X&lt;/h2&gt;
</del><ins>+&lt;h2&gt;Debugging on OS X and iOS Simulator&lt;/h2&gt;
</ins><span class="cx"> &lt;p&gt;To debug from within Xcode, you can use the WebKit workspace. Ensure that the Products and Intermediates locations for the workspace match those used by &lt;code&gt;build-webkit&lt;/code&gt; by choosing File &gt; Workspace Settings and clicking the Advanced button, selecting Custom, Relative to Workspace, and entering WebKitBuild both for Products and for Intermediates. Note that if you have specified a custom build location in Xcode preferences, then you don&amp;rsquo;t need to do this.&lt;/p&gt;
</span><del>-&lt;h3&gt;Internal Debug Menu&lt;/h3&gt;
</del><ins>+&lt;h3&gt;iOS Simulator&lt;/h3&gt;
+&lt;h4&gt;Debugging UIProcess or WebProcess&lt;/h4&gt;
+&lt;ol&gt;
+    &lt;li&gt;&lt;p&gt;&lt;a href=&quot;run.html&quot;&gt;Run Safari&lt;/a&gt; with the WebKit version you built.&lt;/p&gt;&lt;/li&gt;
+    &lt;li&gt;
+        &lt;p&gt;Execute &lt;code&gt;xcrun --sdk iphonesimulator lldb --attach-name MobileSafari&lt;/code&gt; in the Terminal to debug the UIProcess.&lt;/p&gt;
+        &lt;p&gt;Use &lt;code&gt;com.apple.WebKit.WebContent.Development&lt;/code&gt; for the value of &lt;code&gt;--attach-name&lt;/code&gt; to debug the WebProcess:&lt;/p&gt;
+        &lt;p class=&quot;code&quot;&gt;xcrun --sdk iphonesimulator lldb --attach-name com.apple.WebKit.WebContent.Development&lt;/p&gt;
+    &lt;/li&gt;
+&lt;/ol&gt;
+&lt;h3&gt;OS X&lt;/h3&gt;
+&lt;h4&gt;Internal Debug Menu&lt;/h4&gt;
</ins><span class="cx"> There is a Debug menu that can be enabled in Safari, and it supplies many useful options to help with debugging. To enable it, run the following in your terminal:
</span><span class="cx"> &lt;code&gt;defaults write com.apple.Safari IncludeInternalDebugMenu 1&lt;/code&gt;
</span><del>-&lt;h3&gt;Debugging UIProcess&lt;/h3&gt;
</del><ins>+&lt;h4&gt;Debugging UIProcess&lt;/h4&gt;
</ins><span class="cx"> &lt;p&gt;Follow the instructions on the &lt;a href=&quot;debug-mac-uiprocess.html&quot;&gt;debugging UIProcess&lt;/a&gt; page.&lt;/p&gt;
</span><del>-&lt;h3&gt;Debugging WebProcess&lt;/h3&gt;
</del><ins>+&lt;h4&gt;Debugging WebProcess&lt;/h4&gt;
</ins><span class="cx"> &lt;p&gt;Current versions of Safari use a process for each tab, so it is easy to end up with a new WebProcess and have to reattach. If you enable the Internal Debug Menu as outlined above, you can have Safari display the Process ID of the WebProcess for each tab. Simply go to Debug &amp;gt; Miscellaneous Flags and select Show Web Process IDs In Page Titles. You should now see something like &lt;code&gt;[WP 60737]&lt;/code&gt; in the title of every web page you navigate to, and 60737 is the Process ID of the WebProcess backing that tab.&lt;/p&gt;
</span><span class="cx"> &lt;ul&gt;
</span><span class="cx">     &lt;li&gt;
</span></span></pre></div>
<a id="trunkWebsiteswebkitorgbuildingrunhtml"></a>
<div class="modfile"><h4>Modified: trunk/Websites/webkit.org/building/run.html (179183 => 179184)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Websites/webkit.org/building/run.html        2015-01-27 16:17:04 UTC (rev 179183)
+++ trunk/Websites/webkit.org/building/run.html        2015-01-27 17:00:08 UTC (rev 179184)
</span><span class="lines">@@ -4,6 +4,11 @@
</span><span class="cx"> ?&gt;
</span><span class="cx"> 
</span><span class="cx"> &lt;h2&gt;Running WebKit&lt;/h2&gt;
</span><ins>+&lt;div class=&quot;ios-instructions&quot;&gt;
+&lt;h4&gt;iOS Simulator&lt;/h4&gt;
+&lt;p&gt;Follow the instructions below, passing the &lt;code&gt;--ios-simulator&lt;/code&gt; option.&lt;/p&gt;
+&lt;/div&gt;
+
</ins><span class="cx"> &lt;ol&gt;
</span><span class="cx"> &lt;li&gt;&lt;p&gt;Execute the &lt;code&gt;run-safari&lt;/code&gt; &lt;a href=&quot;/coding/scripts.html&quot;&gt;script&lt;/a&gt;
</span><span class="cx"> to run Safari with the WebKit version you &lt;a href=&quot;build.html&quot;&gt;built&lt;/a&gt;.&lt;/p&gt;
</span></span></pre></div>
<a id="trunkWebsiteswebkitorgbuildingtoolshtml"></a>
<div class="modfile"><h4>Modified: trunk/Websites/webkit.org/building/tools.html (179183 => 179184)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Websites/webkit.org/building/tools.html        2015-01-27 16:17:04 UTC (rev 179183)
+++ trunk/Websites/webkit.org/building/tools.html        2015-01-27 17:00:08 UTC (rev 179184)
</span><span class="lines">@@ -4,10 +4,10 @@
</span><span class="cx"> ?&gt;
</span><span class="cx"> &lt;h2&gt;Installing the Developer Tools&lt;/h2&gt;
</span><span class="cx"> &lt;div class=&quot;mac-instructions&quot;&gt;
</span><del>-&lt;h4&gt;OS X&lt;/h4&gt;
</del><ins>+&lt;h4&gt;OS X or iOS Simulator&lt;/h4&gt;
</ins><span class="cx"> &lt;ol&gt;
</span><span class="cx"> &lt;li&gt;&lt;p&gt;Install Xcode&lt;/p&gt;
</span><del>-&lt;p&gt;Get Xcode from &lt;a target=&quot;installtools&quot; href=&quot;https://developer.apple.com/downloads&quot;&gt;https://developer.apple.com/downloads&lt;/a&gt;. Xcode 5.0 or later is required to build.&lt;/p&gt;
</del><ins>+&lt;p&gt;Get Xcode from &lt;a target=&quot;installtools&quot; href=&quot;https://developer.apple.com/downloads&quot;&gt;https://developer.apple.com/downloads&lt;/a&gt;. To build WebKit for OS X, Xcode 5.1.1 or later is required. To build WebKit for iOS Simulator, Xcode 6.1.1 is required.&lt;/p&gt;
</ins><span class="cx"> &lt;li&gt;&lt;p&gt;Install the Xcode Command Line Tools by running &lt;code&gt;xcode-select --install&lt;/code&gt; in the Terminal.&lt;/p&gt;
</span><span class="cx"> &lt;li&gt;&lt;p&gt;Install Java for Mac OS X Developer Package&lt;/p&gt;
</span><span class="cx"> &lt;p&gt;Download and install the latest OS-appropriate &amp;ldquo;Java for Mac OS X Developer Package&amp;rdquo; from &lt;a target=&quot;installtools&quot; href=&quot;https://developer.apple.com/downloads&quot;&gt;https://developer.apple.com/downloads&lt;/a&gt;.&lt;/p&gt;
</span></span></pre></div>
<a id="trunkWebsiteswebkitorgcssmaincss"></a>
<div class="modfile"><h4>Modified: trunk/Websites/webkit.org/css/main.css (179183 => 179184)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Websites/webkit.org/css/main.css        2015-01-27 16:17:04 UTC (rev 179183)
+++ trunk/Websites/webkit.org/css/main.css        2015-01-27 17:00:08 UTC (rev 179184)
</span><span class="lines">@@ -204,7 +204,7 @@
</span><span class="cx">     line-height: normal;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-.mac-instructions, .unix-instructions, .windows-instructions, .gtk-instructions, .efl-instructions {
</del><ins>+.mac-instructions, .ios-instructions, .unix-instructions, .windows-instructions, .gtk-instructions, .efl-instructions {
</ins><span class="cx">     border: 1px solid black;
</span><span class="cx">     background-color: white;
</span><span class="cx">     -webkit-border-radius: 5px;
</span></span></pre>
</div>
</div>

</body>
</html>