<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
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/">
	<channel>
		<title>Author at Infinum</title>
		<atom:link href="https://infinum.com/blog/author/hana-sokolovic/feed/" rel="self" type="application/rss+xml" />
		<link></link>
		<description>Building digital products</description>
		<lastBuildDate>Wed, 08 Apr 2026 14:17:14 +0000</lastBuildDate>
		<sy:updatePeriod>hourly</sy:updatePeriod>
		<sy:updateFrequency>1</sy:updateFrequency>

					<item>
				<image>
					<url>24458https://infinum.com/uploads/2019/07/swiftui-is-here-to-knock-uikit-out-of-its-shoes-0.webp</url>
				</image>
				<title>Documentation Is the Key to Happy Coding</title>
				<link>https://infinum.com/blog/documentation-is-the-key-to-happy-coding/</link>
				<pubDate>Wed, 11 May 2022 13:01:57 +0000</pubDate>
				<dc:creator>Hana Sokolović</dc:creator>
				<guid isPermaLink="false">https://infinum.com/?p=24458</guid>
				<description>
					<![CDATA[<p>DocC is a fully integrated documentation environment for documenting public APIs for Swift frameworks and packages. Customize it to suit your project needs.</p>
<p>The post <a href="https://infinum.com/blog/documentation-is-the-key-to-happy-coding/">Documentation Is the Key to Happy Coding</a> appeared first on <a href="https://infinum.com">Infinum</a>.</p>
]]>
				</description>
				<content:encoded>
					<![CDATA[<div
	class="wrapper"
	data-id="es-111"
	 data-animation-target='inner-items'>
		
			<div class="wrapper__inner">
			<div class="block-blog-content js-block-blog-content">
	
<div class="block-blog-content-sidebar" data-id="es-92">
	</div>

<div class="block-blog-content-main">
	
<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-95"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-93">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-94'
	>
	Suppose you are working with the latest technologies as we do at Infinum. In that case, I bet you&#8217;ve found yourself in a situation where you are spending more time than needed on a particular problem because the framework you are using is poorly documented or not documented at all.&nbsp;</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-97"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-highlighted-text">
	<p	class='typography typography--size-24-text js-typography block-highlighted-text__typography'
	data-id='es-96'
	>
	Documenting code is helpful for both you and your colleagues and can answer any questions and save development time. </p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-100"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-98">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-99'
	>
	Apple took it to a whole new level during last year&#8217;s WWDC by introducing DocC in Xcode 13. As of Xcode 13.3 Beta, Xcode will be able to build the documentation from Swift code in executable targets such as apps and command-line tools. You can read more about it in the <a href="https://developer.apple.com/documentation/Xcode-Release-Notes/xcode-13_3-release-notes">release notes</a>.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-103"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-101">
	<h2	class='typography typography--size-52-default js-typography block-heading__heading'
	data-id='es-102'
	>
	About DocC</h2></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-106"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-104">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-105'
	>
	DocC is a fully integrated documentation environment used to document public APIs for Swift frameworks and packages. </p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-109"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-107">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-108'
	>
	It&#8217;s basically a compiler that creates reference documentation from your in-source comments, and you can view it from Xcode&#8217;s documentation window or even host it online. The best thing about it is that you can customize your documentation to suit your project&#8217;s needs.</p></div>	</div>
</div>
</div>		</div>
	</div><div
	class="wrapper"
	data-id="es-240"
	 data-animation-target='inner-items'>
		
			<div class="wrapper__inner">
			<div class="block-blog-content js-block-blog-content">
	
<div class="block-blog-content-sidebar" data-id="es-112">
	</div>

<div class="block-blog-content-main">
	
<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-115"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-113">
	<h2	class='typography typography--size-52-default js-typography block-heading__heading'
	data-id='es-114'
	>
	How it works</h2></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-118"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-116">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-117'
	>
	For this blog post, I created a simple Swift framework for logging called Analytics. When you create your framework, you can select the &#8220;Include documentation&#8221; checkbox, but I left it unchecked for now. The framework has two classes, and I documented methods from each class. To see what it looks like, I built my documentation by going to Product -&gt; Build Documentation. I opened my build in Report Navigator in Xcode to look at my documentation build. As you can see, Xcode built the framework first and then the documentation.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-121"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-media">
	<div	class="media block-media__media media__border--none media__align--center-center"
	data-id="es-119"
	 data-media-type='image'>

	<figure class="image block-media__image-figure image--size-stretch" data-id="es-120">
	<picture class="image__picture block-media__image-picture">
								
			<source
				srcset=https://infinum.com/uploads/2022/05/1-1400x706.webp				media='(max-width: 699px)'
				type=image/webp								height="706"
												width="1400"
				 />
												<img
					src="https://infinum.com/uploads/2022/05/1.webp"
					class="image__img block-media__image-img"
					alt=""
										height="844"
															width="1674"
										loading="lazy"
					 />
					</picture>

	</figure></div></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-124"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-122">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-123'
	>
	When you build documentation for your Swift framework, Xcode actually builds your framework first to save additional information about your API together with compiled artifacts. DocC uses that information during documentation compilation and creates a DocC archive. If your framework uses other Swift frameworks, Xcode will repeat the process for each one of them.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-127"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-125">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-126'
	>
	You can automate documentation builds if you set a Swift setting to build your documentation every time you build your project. You can also use a new xcodebuild command docbuild.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-130"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-128">
	<h2	class='typography typography--size-52-default js-typography block-heading__heading'
	data-id='es-129'
	>
	Rich documentation</h2></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-133"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-131">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-132'
	>
	The documentation created after the first build is an overview of the framework API, and it&#8217;s called Reference documentation. You can customize it by adding code snippets, images, or just Markdown, for which you need to use the DocC catalog. Xcode creates it for you if you select the &#8220;Include Documentation&#8221; checkbox when creating a framework. DocC compiler uses the catalog&#8217;s contents to generate a rich DocC Archive.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-136"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-media">
	<div	class="media block-media__media media__border--none media__align--center-center"
	data-id="es-134"
	 data-media-type='image'>

	<figure class="image block-media__image-figure image--size-stretch" data-id="es-135">
	<picture class="image__picture block-media__image-picture">
												<img
					src="https://infinum.com/uploads/2022/05/2.webp"
					class="image__img block-media__image-img"
					alt=""
										height="236"
															width="1064"
										loading="lazy"
					 />
					</picture>

	</figure></div></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-139"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-137">
	<h2	class='typography typography--size-52-default js-typography block-heading__heading'
	data-id='es-138'
	>
	Documentation types</h2></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-142"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-140">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-141'
	>
	DocC catalog contains documentation files and resources (media), as well as three new documentation types: References, Articles, and Tutorials. You use them to write documentation in different ways, depending on your project&#8217;s needs.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-145"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="lists" data-id="es-143">
	<ul	class='typography typography--size-16-text-roman js-typography lists__typography'
	data-id='es-144'
	>
	<li>References – Overview of the APIs, the default version you get when you build your documentation framework without any customization</li><li>Article – Shows the purpose of the framework (a top-level article included in DocC catalog as an empty landing page) or examples of usage (task article)</li><li>Tutorial – A step by step form that teaches you how to implement the framework in your project</li></ul></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-148"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-146">
	<h2	class='typography typography--size-52-default js-typography block-heading__heading'
	data-id='es-147'
	>
	Syntax</h2></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-151"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-149">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-150'
	>
	When documenting your API, you use single-line comments /// or block style comments /**. You can also customize your in-source documentation by providing additional context, such as a summary or discussion, which you can view in Xcode&#8217;s Quick Help or in the documentation viewer for the documented symbol.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-154"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-152">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-153'
	>
	Markdown is used for writing documentation files. To create a section header, put 1, 2, or 3 hashes (#) before the header title. Level 1 header should be used for the page title.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-157"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-media">
	<div	class="media block-media__media media__border--none media__align--center-center"
	data-id="es-155"
	 data-media-type='image'>

	<figure class="image block-media__image-figure image--size-stretch" data-id="es-156">
	<picture class="image__picture block-media__image-picture">
								
			<source
				srcset=https://infinum.com/uploads/2022/05/3-1400x542.webp				media='(max-width: 699px)'
				type=image/webp								height="542"
												width="1400"
				 />
												<img
					src="https://infinum.com/uploads/2022/05/3.webp"
					class="image__img block-media__image-img"
					alt=""
										height="602"
															width="1556"
										loading="lazy"
					 />
					</picture>

	</figure></div></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-160"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-158">
	<h2	class='typography typography--size-52-default js-typography block-heading__heading'
	data-id='es-159'
	>
	Symbol linking</h2></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-163"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-161">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-162'
	>
	Symbol linking is a feature that enables navigation between documentation pages. You can link symbols, articles, tutorials, and URLs. To create a symbol link, wrap its name in a set of double backticks &#8220;. The first example of symbol linking is the landing page. To create it, you need to link your framework&#8217;s name in your title so Xcode doesn&#8217;t treat it as an ordinary article.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-166"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-media">
	<div	class="media block-media__media media__border--none media__align--center-center"
	data-id="es-164"
	 data-media-type='image'>

	<figure class="image block-media__image-figure image--size-stretch" data-id="es-165">
	<picture class="image__picture block-media__image-picture">
												<img
					src="https://infinum.com/uploads/2022/05/4.webp"
					class="image__img block-media__image-img"
					alt=""
										height="464"
															width="1369"
										loading="lazy"
					 />
					</picture>

	</figure></div></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-169"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-167">
	<h2	class='typography typography--size-52-default js-typography block-heading__heading'
	data-id='es-168'
	>
	Organizing your doc</h2></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-172"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-170">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-171'
	>
	When you first build your documentation, you get a list of your top-level public symbols under the Topics section, and they are grouped by their type. Instead of grouping symbols by types, it&#8217;s possible to create custom groups by adding level 3 section headers for each new group and by listing the symbol links prefixed with a dash.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-175"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-173">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-174'
	>
	You can create an extension file for each symbol with nested symbols and rearrange them further. The title of the page must be an absolute path to the symbol. Extensions can also be used to append to or override source documentation comments. To do that, use <a href="https://developer.apple.com/documentation/DocC/Metadata">metadata directives</a>.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-178"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-media">
	<div	class="media block-media__media media__border--none media__align--center-center"
	data-id="es-176"
	 data-media-type='image'>

	<figure class="image block-media__image-figure image--size-stretch" data-id="es-177">
	<picture class="image__picture block-media__image-picture">
												<img
					src="https://infinum.com/uploads/2022/05/5.webp"
					class="image__img block-media__image-img"
					alt=""
										height="464"
															width="1369"
										loading="lazy"
					 />
					</picture>

	</figure></div></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-181"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-179">
	<h2	class='typography typography--size-52-default js-typography block-heading__heading'
	data-id='es-180'
	>
	Adding images to your documentation</h2></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-184"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-182">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-183'
	>
	All the images from the documentation are stored in the documentation catalog. Their names must be unique, and the name format is defined as follows:</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-187"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-media">
	<div	class="media block-media__media media__border--none media__align--center-center"
	data-id="es-185"
	 data-media-type='image'>

	<figure class="image block-media__image-figure image--size-stretch" data-id="es-186">
	<picture class="image__picture block-media__image-picture">
												<img
					src="https://infinum.com/uploads/2022/05/6.webp"
					class="image__img block-media__image-img"
					alt=""
										height="352"
															width="1182"
										loading="lazy"
					 />
					</picture>

	</figure></div></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-190"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-188">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-189'
	>
	The image name and file extension are required. Syntax for adding images to documentation is ![description](image_name_without_extension).</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-193"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-191">
	<h2	class='typography typography--size-52-default js-typography block-heading__heading'
	data-id='es-192'
	>
	Adding code listings</h2></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-196"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-194">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-195'
	>
	Code examples are a must when writing an article or a tutorial for your framework. You use a set of triple backticks <code>```</code> to create a code listing and spaces instead of tabs for line indentations. </p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-199"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-197">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-198'
	>
	What&#8217;s fantastic is that DocC applies syntax color formatting to your piece of code based on the programming language you listed after the first triplet of backticks.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-202"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-media">
	<div	class="media block-media__media media__border--none media__align--center-center"
	data-id="es-200"
	 data-media-type='image'>

	<figure class="image block-media__image-figure image--size-stretch" data-id="es-201">
	<picture class="image__picture block-media__image-picture">
												<img
					src="https://infinum.com/uploads/2022/05/7.webp"
					class="image__img block-media__image-img"
					alt=""
										height="246"
															width="882"
										loading="lazy"
					 />
					</picture>

	</figure></div></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-205"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-media">
	<div	class="media block-media__media media__border--none media__align--center-center"
	data-id="es-203"
	 data-media-type='image'>

	<figure class="image block-media__image-figure image--size-stretch" data-id="es-204">
	<picture class="image__picture block-media__image-picture">
												<img
					src="https://infinum.com/uploads/2022/05/8.webp"
					class="image__img block-media__image-img"
					alt=""
										height="306"
															width="1060"
										loading="lazy"
					 />
					</picture>

	</figure></div></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-208"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-206">
	<h2	class='typography typography--size-52-default js-typography block-heading__heading'
	data-id='es-207'
	>
	Other features</h2></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-211"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-209">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-210'
	>
	DocC also supports lists (numbered, bulleted, or term), tables of data, asides (notes, important, warnings, tips, and experiment), special characters, and text formatting. See more <a href="https://developer.apple.com/documentation/xcode/formatting-your-documentation-content#Add-Code-Listings">examples</a>.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-214"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-212">
	<h2	class='typography typography--size-52-default js-typography block-heading__heading'
	data-id='es-213'
	>
	Doc sharing</h2></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-217"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-215">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-216'
	>
	Suppose you want to share your documentation with someone else, or you want to read someone&#8217;s documentation in Xcode. In that case, you need a documentation archive, a container that holds the data for viewing documentation in Xcode and hosting it online.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-220"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-218">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-219'
	>
	It can be exported from the Xcode documentation viewer or by using the xcodebuild command docbuild.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-223"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-221">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-222'
	>
	xcodebuild docbuild -scheme -derivedDataPath ~/Desktop/documentation</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-226"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-224">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-225'
	>
	When you build your documentation, Xcode saves the .doccarchive to the derived data directory.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-229"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-227">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-228'
	>
	Command-line building comes in handy when hosting documentation online since xcodebuild supports CI integration, so the documentation doesn&#8217;t need to be uploaded manually. Also, when hosting documentation online, you have to handle incoming requests for pages (/documentation and /tutorial point to index.html) and for resources.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-232"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-230">
	<h2	class='typography typography--size-52-default js-typography block-heading__heading'
	data-id='es-231'
	>
	Doc, build, and share</h2></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-235"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-233">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-234'
	>
	Hopefully, this has been a fun introduction to the DocC. Have you already added documentation to your framework? We&#8217;re looking forward to reading the documentation for Swift frameworks we already use and for the new ones that are yet to come.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-238"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-236">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-237'
	>
	I&#8217;ve documented my part – now it&#8217;s up to you to share it.</p></div>	</div>
</div>
</div>		</div>
	</div><p>The post <a href="https://infinum.com/blog/documentation-is-the-key-to-happy-coding/">Documentation Is the Key to Happy Coding</a> appeared first on <a href="https://infinum.com">Infinum</a>.</p>
]]>
				</content:encoded>
			</item>
		
	</channel>
</rss>