<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>SDK &#8211; Xojo Programming Blog</title>
	<atom:link href="https://blog.xojo.com/tag/sdk/feed/" rel="self" type="application/rss+xml" />
	<link>https://blog.xojo.com</link>
	<description>Blog about the Xojo programming language and IDE</description>
	<lastBuildDate>Thu, 01 Jun 2023 19:53:59 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>
	<item>
		<title>Handling iOS Simulators in Xcode and Xojo</title>
		<link>https://blog.xojo.com/2023/06/01/handling-ios-simulators-for-xojo/</link>
		
		<dc:creator><![CDATA[Javier Menendez]]></dc:creator>
		<pubDate>Thu, 01 Jun 2023 12:02:43 +0000</pubDate>
				<category><![CDATA[iOS]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[Multi-Platform Development]]></category>
		<category><![CDATA[SDK]]></category>
		<category><![CDATA[Simulator]]></category>
		<category><![CDATA[Xcode]]></category>
		<category><![CDATA[Xojo Programming Language]]></category>
		<guid isPermaLink="false">https://blog.xojo.com/?p=11570</guid>

					<description><![CDATA[When developing iOS apps with Xojo you may spend a good amount of time debugging, whether in a iPhone, or iPad simulator or on a real device. With this in mind, let's learn a good way to handle the Simulators list in Xojo. ]]></description>
										<content:encoded><![CDATA[
<p>When developing iOS apps with Xojo you may spend a good amount of time debugging, whether in a iPhone, or iPad simulator or on a real device. With this in mind, let&#8217;s learn a good way to handle the Simulators list in Xcode and Xojo. </p>



<span id="more-11570"></span>



<p>Let&#8217;s start at the beginning. If you are developing for iOS in  Xojo, then you already know that development only can be done from a Mac and that the installation of Xcode is required. In fact, Xcode is what provides the toolchain used by Xojo. This toolchain includes the ability to debug your iOS projects from the Xojo IDE on any of the installed iOS / iPadOS Simulators.</p>



<p>By default, when installing Xcode on macOS it includes a set of Simulators. Which Simulators are installed depends on a series of factors including: the version of macOS, the version of Xcode you have and the iOS SDK that is installed by Xcode itself.</p>


<div class="wp-block-image wp-image-11571 size-medium is-style-default">
<figure class="aligncenter is-resized"><img fetchpriority="high" decoding="async" src="https://blog.xojo.com/wp-content/uploads/2023/06/XcodeFirstInstall-286x300.png" alt="" class="wp-image-11571" width="286" height="300" srcset="https://blog.xojo.com/wp-content/uploads/2023/06/XcodeFirstInstall-286x300.png 286w, https://blog.xojo.com/wp-content/uploads/2023/06/XcodeFirstInstall-976x1024.png 976w, https://blog.xojo.com/wp-content/uploads/2023/06/XcodeFirstInstall-768x806.png 768w, https://blog.xojo.com/wp-content/uploads/2023/06/XcodeFirstInstall.png 1224w" sizes="(max-width: 286px) 100vw, 286px" /></figure>
</div>


<p>Let&#8217;s look into this more using an example. If your computer has Ventura 13.0 installed then there is a good chance that you have Xcode 14.3 installed (the macOS version determines the most recent Xcode version you are allowed to install on the computer). And having Xcode 14.3 installed means that the default iOS is 16.4 SDK, and this SDK supports Simulators ranging from iOS 13.7 to 16.4.</p>



<p>In this example, in Xojo under the Project > Run On menu, you see the following Simulators available in xCode: </p>


<div class="wp-block-image size-large wp-image-11572 is-style-default">
<figure class="aligncenter is-resized"><img decoding="async" src="https://blog.xojo.com/wp-content/uploads/2023/06/1_ByDefaultSimulators-792x1024.png" alt="" class="wp-image-11572" width="792" height="1024" srcset="https://blog.xojo.com/wp-content/uploads/2023/06/1_ByDefaultSimulators-792x1024.png 792w, https://blog.xojo.com/wp-content/uploads/2023/06/1_ByDefaultSimulators-232x300.png 232w, https://blog.xojo.com/wp-content/uploads/2023/06/1_ByDefaultSimulators-768x993.png 768w, https://blog.xojo.com/wp-content/uploads/2023/06/1_ByDefaultSimulators-1188x1536.png 1188w, https://blog.xojo.com/wp-content/uploads/2023/06/1_ByDefaultSimulators-1585x2048.png 1585w" sizes="(max-width: 792px) 100vw, 792px" /></figure>
</div>


<p>To offer a broader view of how the macOS version, Xcode version and SDK / Simulators are interrelated, the following table includes some of these combinations (you can refer to a more complete table <a href="https://developer.apple.com/support/xcode/">in this webpage from the Apple Website</a>, under the &#8220;Minimum requirements and supported SDKs&#8221; section):</p>



<figure class="wp-block-table"><table><thead><tr><th>Xcode Version</th><th>Minimum OS Required</th><th>SDK</th><th>Deployment Targets</th><th>Simulator</th></tr></thead><tbody><tr><td>Xcode&nbsp;14.3*</td><td>macOS&nbsp;Ventura&nbsp;13.0</td><td>iOS&nbsp;16.4</td><td>iOS&nbsp;11-16.4<br>iPadOS&nbsp;13-16.4</td><td>iOS&nbsp;13.7-16.4</td></tr><tr><td>Xcode&nbsp;14.2</td><td>macOS&nbsp;Monterey&nbsp;12.5</td><td>iOS&nbsp;16.2</td><td>iOS&nbsp;11-16.2<br>iPadOS&nbsp;13-16.2</td><td>iOS&nbsp;12.4-16.2</td></tr><tr><td>Xcode&nbsp;14.1</td><td>macOS&nbsp;Monterey&nbsp;12.5</td><td>iOS&nbsp;16.1</td><td>iOS&nbsp;11-16.1<br>iPadOS&nbsp;13-16.1</td><td>iOS&nbsp;12.4-16.1</td></tr><tr><td>Xcode&nbsp;14.0.x</td><td>macOS&nbsp;Monterey&nbsp;12.5</td><td>iOS&nbsp;16</td><td>iOS&nbsp;11-16<br>iPadOS&nbsp;13-16</td><td>iOS&nbsp;12.4-16</td></tr><tr><td>Xcode&nbsp;13.4</td><td>macOS&nbsp;Monterey&nbsp;12</td><td>iOS&nbsp;15.5</td><td>iOS&nbsp;9-15.5<br>iPadOS&nbsp;13-15.5</td><td>iOS&nbsp;12.4-15.5</td></tr><tr><td>Xcode&nbsp;13.3</td><td>macOS&nbsp;Monterey&nbsp;12</td><td>iOS&nbsp;15.4</td><td>iOS&nbsp;9-15.4<br>iPadOS&nbsp;13-15.4</td><td>iOS&nbsp;12.4-15.4</td></tr><tr><td>Xcode&nbsp;13.2</td><td>macOS&nbsp;Big Sur 11.3</td><td>iOS&nbsp;15.2</td><td>iOS&nbsp;9-15.2<br>iPadOS&nbsp;13-15.2</td><td>iOS&nbsp;10.3.1-15.2</td></tr></tbody></table></figure>



<h3 class="wp-block-heading">Installing Previous SDKs</h3>



<p>If you need to debug your Xojo iOS project using older versions of the SDK / iOS, you can install older SDKs. You can do this the long way, going to Window > Devices and Simulators menu option in Xcode or, the short way, through Preferences > Platforms. We will take the long way in this example in order to make you familiar with the Simulators and Devices window too.</p>



<p>Once the Devices and Simulators window is displayed, select the Simulators tab and click then the &#8220;+&#8221; button in the lower left corner of the Simulators panel. This action will bring up the following dialog:</p>


<div class="wp-block-image is-style-default">
<figure class="aligncenter"><img decoding="async" width="1024" height="664" src="https://blog.xojo.com/wp-content/uploads/2023/06/2_XcodeByDefaultSimulators-1024x664.png" alt="" class="wp-image-11573" srcset="https://blog.xojo.com/wp-content/uploads/2023/06/2_XcodeByDefaultSimulators-1024x664.png 1024w, https://blog.xojo.com/wp-content/uploads/2023/06/2_XcodeByDefaultSimulators-300x194.png 300w, https://blog.xojo.com/wp-content/uploads/2023/06/2_XcodeByDefaultSimulators-768x498.png 768w, https://blog.xojo.com/wp-content/uploads/2023/06/2_XcodeByDefaultSimulators-1536x995.png 1536w, https://blog.xojo.com/wp-content/uploads/2023/06/2_XcodeByDefaultSimulators-2048x1327.png 2048w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<p>Select the &#8220;Download More Runtimes&#8221; option in the OS Version popup. This will open a new dialog where you will be able to select and install a new SDK version to Xcode. This is the panel you can access directly from Preferences > Platforms (the aforementioned short way):</p>


<div class="wp-block-image is-style-default">
<figure class="aligncenter"><img loading="lazy" decoding="async" width="1024" height="530" src="https://blog.xojo.com/wp-content/uploads/2023/06/3_DownloadMoreRuntimes-1024x530.png" alt="" class="wp-image-11574" srcset="https://blog.xojo.com/wp-content/uploads/2023/06/3_DownloadMoreRuntimes-1024x530.png 1024w, https://blog.xojo.com/wp-content/uploads/2023/06/3_DownloadMoreRuntimes-300x155.png 300w, https://blog.xojo.com/wp-content/uploads/2023/06/3_DownloadMoreRuntimes-768x397.png 768w, https://blog.xojo.com/wp-content/uploads/2023/06/3_DownloadMoreRuntimes.png 1140w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>

<div class="wp-block-image is-style-default">
<figure class="aligncenter"><img loading="lazy" decoding="async" width="1024" height="673" src="https://blog.xojo.com/wp-content/uploads/2023/06/4_AddPlatform-1024x673.png" alt="" class="wp-image-11575" srcset="https://blog.xojo.com/wp-content/uploads/2023/06/4_AddPlatform-1024x673.png 1024w, https://blog.xojo.com/wp-content/uploads/2023/06/4_AddPlatform-300x197.png 300w, https://blog.xojo.com/wp-content/uploads/2023/06/4_AddPlatform-768x504.png 768w, https://blog.xojo.com/wp-content/uploads/2023/06/4_AddPlatform-1536x1009.png 1536w, https://blog.xojo.com/wp-content/uploads/2023/06/4_AddPlatform.png 1684w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<p>Once there, click on the &#8220;+&#8221; button in the lower left corner of the window and select the &#8220;iOS…&#8221; option. This will bring you to a new panel where, finally, you will be able to select and install a different SDK version for the iOS platform. Once selected, click the &#8220;Download &amp; Install&#8221; button.</p>


<div class="wp-block-image is-style-default">
<figure class="aligncenter"><img loading="lazy" decoding="async" width="1024" height="709" src="https://blog.xojo.com/wp-content/uploads/2023/06/5_SelectSDKToInstall-1024x709.png" alt="" class="wp-image-11576" srcset="https://blog.xojo.com/wp-content/uploads/2023/06/5_SelectSDKToInstall-1024x709.png 1024w, https://blog.xojo.com/wp-content/uploads/2023/06/5_SelectSDKToInstall-300x208.png 300w, https://blog.xojo.com/wp-content/uploads/2023/06/5_SelectSDKToInstall-768x532.png 768w, https://blog.xojo.com/wp-content/uploads/2023/06/5_SelectSDKToInstall-1536x1063.png 1536w, https://blog.xojo.com/wp-content/uploads/2023/06/5_SelectSDKToInstall.png 1884w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<p>Once the process has been completed, the different default set of Simulators will be available under the Simulators tab from the Devices and Simulators window and also from the Project > Run On… menu option in Xojo:</p>


<div class="wp-block-image is-style-default">
<figure class="aligncenter"><img loading="lazy" decoding="async" width="790" height="1024" src="https://blog.xojo.com/wp-content/uploads/2023/06/6_NewSDKAdded-790x1024.png" alt="" class="wp-image-11577" srcset="https://blog.xojo.com/wp-content/uploads/2023/06/6_NewSDKAdded-790x1024.png 790w, https://blog.xojo.com/wp-content/uploads/2023/06/6_NewSDKAdded-231x300.png 231w, https://blog.xojo.com/wp-content/uploads/2023/06/6_NewSDKAdded-768x995.png 768w, https://blog.xojo.com/wp-content/uploads/2023/06/6_NewSDKAdded-1185x1536.png 1185w, https://blog.xojo.com/wp-content/uploads/2023/06/6_NewSDKAdded-1580x2048.png 1580w" sizes="auto, (max-width: 790px) 100vw, 790px" /></figure>
</div>


<h3 class="wp-block-heading">Adding a Specific iPhone/iPad model and iOS version combo</h3>



<p>Besides the Simulators installed by default, you can add any additional iPhone or iPad model under any of the already available SDKs. To do that, click the &#8220;+&#8221; button from the Simulators section under the Simulators and Devices window. Select the model from the Device Type popup menu, and the iOS version from the OS version popup menu.</p>


<div class="wp-block-image is-style-default">
<figure class="aligncenter"><img loading="lazy" decoding="async" width="1024" height="557" src="https://blog.xojo.com/wp-content/uploads/2023/06/7_AddingSpecificDevice-1024x557.png" alt="" class="wp-image-11578" srcset="https://blog.xojo.com/wp-content/uploads/2023/06/7_AddingSpecificDevice-1024x557.png 1024w, https://blog.xojo.com/wp-content/uploads/2023/06/7_AddingSpecificDevice-300x163.png 300w, https://blog.xojo.com/wp-content/uploads/2023/06/7_AddingSpecificDevice-768x418.png 768w, https://blog.xojo.com/wp-content/uploads/2023/06/7_AddingSpecificDevice.png 1192w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<p>Once you confirm the selection, you will see it available as a new Simulator device both for Xcode and Xojo. </p>



<p>Too many simulator options now? If you feel that the Simulators list is too long or you want to recover some storage space from your computer hard drive or SSD (each Simulator and SDK takes a good slice out of your computer storage!), you can remove them from the Devices and Simulators window in Xcode. Xojo will reflect that change next time you select the Project > Run on… menu option.</p>



<p><em>Javier Menendez is an engineer at Xojo and has been using Xojo since 1998. He lives in Castellón</em>, <em>Spain and hosts regular Xojo hangouts en español. Ask Javier questions on Twitter at <a href="https://twitter.com/xojoes" target="_blank" rel="noreferrer noopener">@XojoES</a> or on the <a href="https://forum.xojo.com/u/javier_menendez/summary" target="_blank" rel="noreferrer noopener">Xojo Forum</a>.</em></p>



<ul class="wp-block-social-links has-normal-icon-size is-content-justification-center is-layout-flex wp-container-core-social-links-is-layout-16018d1d wp-block-social-links-is-layout-flex"><li class="wp-social-link wp-social-link-facebook  wp-block-social-link"><a rel="noopener nofollow" target="_blank" href="https://www.facebook.com/goxojo" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M12 2C6.5 2 2 6.5 2 12c0 5 3.7 9.1 8.4 9.9v-7H7.9V12h2.5V9.8c0-2.5 1.5-3.9 3.8-3.9 1.1 0 2.2.2 2.2.2v2.5h-1.3c-1.2 0-1.6.8-1.6 1.6V12h2.8l-.4 2.9h-2.3v7C18.3 21.1 22 17 22 12c0-5.5-4.5-10-10-10z"></path></svg><span class="wp-block-social-link-label screen-reader-text">Facebook</span></a></li>

<li class="wp-social-link wp-social-link-x  wp-block-social-link"><a rel="noopener nofollow" target="_blank" href="https://x.com/xojo" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M13.982 10.622 20.54 3h-1.554l-5.693 6.618L8.745 3H3.5l6.876 10.007L3.5 21h1.554l6.012-6.989L15.868 21h5.245l-7.131-10.378Zm-2.128 2.474-.697-.997-5.543-7.93H8l4.474 6.4.697.996 5.815 8.318h-2.387l-4.745-6.787Z" /></svg><span class="wp-block-social-link-label screen-reader-text">X</span></a></li>

<li class="wp-social-link wp-social-link-linkedin  wp-block-social-link"><a rel="noopener nofollow" target="_blank" href="https://www.linkedin.com/company/xojo" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M19.7,3H4.3C3.582,3,3,3.582,3,4.3v15.4C3,20.418,3.582,21,4.3,21h15.4c0.718,0,1.3-0.582,1.3-1.3V4.3 C21,3.582,20.418,3,19.7,3z M8.339,18.338H5.667v-8.59h2.672V18.338z M7.004,8.574c-0.857,0-1.549-0.694-1.549-1.548 c0-0.855,0.691-1.548,1.549-1.548c0.854,0,1.547,0.694,1.547,1.548C8.551,7.881,7.858,8.574,7.004,8.574z M18.339,18.338h-2.669 v-4.177c0-0.996-0.017-2.278-1.387-2.278c-1.389,0-1.601,1.086-1.601,2.206v4.249h-2.667v-8.59h2.559v1.174h0.037 c0.356-0.675,1.227-1.387,2.526-1.387c2.703,0,3.203,1.779,3.203,4.092V18.338z"></path></svg><span class="wp-block-social-link-label screen-reader-text">LinkedIn</span></a></li>

<li class="wp-social-link wp-social-link-github  wp-block-social-link"><a rel="noopener nofollow" target="_blank" href="https://github.com/topics/xojo" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M12,2C6.477,2,2,6.477,2,12c0,4.419,2.865,8.166,6.839,9.489c0.5,0.09,0.682-0.218,0.682-0.484 c0-0.236-0.009-0.866-0.014-1.699c-2.782,0.602-3.369-1.34-3.369-1.34c-0.455-1.157-1.11-1.465-1.11-1.465 c-0.909-0.62,0.069-0.608,0.069-0.608c1.004,0.071,1.532,1.03,1.532,1.03c0.891,1.529,2.341,1.089,2.91,0.833 c0.091-0.647,0.349-1.086,0.635-1.337c-2.22-0.251-4.555-1.111-4.555-4.943c0-1.091,0.39-1.984,1.03-2.682 C6.546,8.54,6.202,7.524,6.746,6.148c0,0,0.84-0.269,2.75,1.025C10.295,6.95,11.15,6.84,12,6.836 c0.85,0.004,1.705,0.114,2.504,0.336c1.909-1.294,2.748-1.025,2.748-1.025c0.546,1.376,0.202,2.394,0.1,2.646 c0.64,0.699,1.026,1.591,1.026,2.682c0,3.841-2.337,4.687-4.565,4.935c0.359,0.307,0.679,0.917,0.679,1.852 c0,1.335-0.012,2.415-0.012,2.741c0,0.269,0.18,0.579,0.688,0.481C19.138,20.161,22,16.416,22,12C22,6.477,17.523,2,12,2z"></path></svg><span class="wp-block-social-link-label screen-reader-text">GitHub</span></a></li>

<li class="wp-social-link wp-social-link-youtube  wp-block-social-link"><a rel="noopener nofollow" target="_blank" href="https://www.youtube.com/c/XojoInc" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M21.8,8.001c0,0-0.195-1.378-0.795-1.985c-0.76-0.797-1.613-0.801-2.004-0.847c-2.799-0.202-6.997-0.202-6.997-0.202 h-0.009c0,0-4.198,0-6.997,0.202C4.608,5.216,3.756,5.22,2.995,6.016C2.395,6.623,2.2,8.001,2.2,8.001S2,9.62,2,11.238v1.517 c0,1.618,0.2,3.237,0.2,3.237s0.195,1.378,0.795,1.985c0.761,0.797,1.76,0.771,2.205,0.855c1.6,0.153,6.8,0.201,6.8,0.201 s4.203-0.006,7.001-0.209c0.391-0.047,1.243-0.051,2.004-0.847c0.6-0.607,0.795-1.985,0.795-1.985s0.2-1.618,0.2-3.237v-1.517 C22,9.62,21.8,8.001,21.8,8.001z M9.935,14.594l-0.001-5.62l5.404,2.82L9.935,14.594z"></path></svg><span class="wp-block-social-link-label screen-reader-text">YouTube</span></a></li></ul>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
