<?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>iOS Archives - Creatronix</title>
	<atom:link href="https://creatronix.de/tag/ios/feed/" rel="self" type="application/rss+xml" />
	<link>https://creatronix.de/tag/ios/</link>
	<description>My adventures in code &#38; business</description>
	<lastBuildDate>Fri, 01 Nov 2024 17:53:11 +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>Developing for iOS 14 with Xcode 12.4</title>
		<link>https://creatronix.de/developing-for-ios-14-with-xcode-12-4/</link>
		
		<dc:creator><![CDATA[Jörn]]></dc:creator>
		<pubDate>Fri, 14 May 2021 07:47:39 +0000</pubDate>
				<category><![CDATA[Android & iOS development]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[DeviceSupport]]></category>
		<category><![CDATA[iOS]]></category>
		<category><![CDATA[macos]]></category>
		<category><![CDATA[Xcode]]></category>
		<guid isPermaLink="false">https://creatronix.de/?p=3610</guid>

					<description><![CDATA[<p>Oh boy, Apple&#8230;. I&#8217;m still running macOS 10.15.7 Catalina on my Mac due to different reasons. My iPhone is already up to date on iOS 14.5. That means my Mac can only run Xcode 12.4 which makes it incompatible with my iPhone for development. But there is a way. DeviceSupport files You need an additional&#8230;</p>
<p>The post <a href="https://creatronix.de/developing-for-ios-14-with-xcode-12-4/">Developing for iOS 14 with Xcode 12.4</a> appeared first on <a href="https://creatronix.de">Creatronix</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Oh boy, Apple&#8230;.</p>
<p>I&#8217;m still running macOS 10.15.7 Catalina on my Mac due to different reasons. My iPhone is already up to date on iOS 14.5.</p>
<p>That means my Mac can only run Xcode 12.4 which makes it incompatible with my iPhone for development. But there is a way.</p>
<h2>DeviceSupport files</h2>
<p>You need an additional DeviceSupport file. Do the following:</p>
<ul>
<li>Close Xcode</li>
<li>Go to https://github.com/filsv/iPhoneOSDeviceSupport</li>
<li>Download the matching zip in my case 14.5</li>
<li>Unzip the archive</li>
<li>Copy the folder to
<ul>
<li>/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/</li>
</ul>
</li>
<li>Start Xcode</li>
</ul>
<p>&nbsp;</p>
<p>The post <a href="https://creatronix.de/developing-for-ios-14-with-xcode-12-4/">Developing for iOS 14 with Xcode 12.4</a> appeared first on <a href="https://creatronix.de">Creatronix</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Debunking 3 iOS Development Myths</title>
		<link>https://creatronix.de/debunking-3-ios-development-myths/</link>
		
		<dc:creator><![CDATA[Jörn]]></dc:creator>
		<pubDate>Mon, 20 Mar 2017 20:55:52 +0000</pubDate>
				<category><![CDATA[Android & iOS development]]></category>
		<category><![CDATA[app]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[iOS]]></category>
		<category><![CDATA[myth]]></category>
		<guid isPermaLink="false">http://creatronix.de/?p=609</guid>

					<description><![CDATA[<p>Let&#8217;s debunk some myths about iOS development: Myth #1 &#8211; You need to code Objective-C False &#8211; since 2014 you have an alternative: Swift. This language is open source under the Apache License 2.0 (since Swift 2.2) and even runs on Linux Myth #2 &#8211; You need to be enrolled in the Apple Developer Program&#8230;</p>
<p>The post <a href="https://creatronix.de/debunking-3-ios-development-myths/">Debunking 3 iOS Development Myths</a> appeared first on <a href="https://creatronix.de">Creatronix</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Let&#8217;s debunk some myths about iOS development:</p>
<h2>Myth #1 &#8211; You need to code Objective-C</h2>
<p>False &#8211; since 2014 you have an alternative: <a href="https://swift.org/">Swift</a>. This language is open source under the Apache License 2.0 (since Swift 2.2) and even runs on Linux</p>
<h2>Myth #2 &#8211; You need to be enrolled in the Apple Developer Program</h2>
<p>False &#8211; To develop your app and test it on your own device you just need to have an Apple ID which You likely already have if you&#8217;ve ever purchased something in the iTunes or app store.</p>
<p>Side note: If you are looking forward to integrate Siri or Wallet or iCloud into your own app you&#8217;ll have to pay. Bummer 🙁</p>
<h2>Myth #3 &#8211; You need to own a Mac (iMac, Mac Book, Mac Pro)</h2>
<p>In theory yes, because you have to run XCode which is only available on Mac OS X. But wait: What if I run Mac OS X elsewhere? You can use a VMWare or Virtual Box as well or even build your own hackintosh.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>The post <a href="https://creatronix.de/debunking-3-ios-development-myths/">Debunking 3 iOS Development Myths</a> appeared first on <a href="https://creatronix.de">Creatronix</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>My first iPhone App</title>
		<link>https://creatronix.de/my-first-iphone-app/</link>
		
		<dc:creator><![CDATA[Jörn]]></dc:creator>
		<pubDate>Sat, 04 Mar 2017 20:29:49 +0000</pubDate>
				<category><![CDATA[Android & iOS development]]></category>
		<category><![CDATA[iOS]]></category>
		<category><![CDATA[MediaPlayer]]></category>
		<category><![CDATA[Xcode]]></category>
		<guid isPermaLink="false">http://creatronix.de/?p=521</guid>

					<description><![CDATA[<p>After carrying around my iPhone 6 for two and a half years I finally wanted to know how to build an iOS app. Getting started I used this tutorial from apple and rolled with the punches: Installing XCode takes ages!  Download 4,6 GB 🙁 First issue: when accidentally making the wrong connection between a UI-Element&#8230;</p>
<p>The post <a href="https://creatronix.de/my-first-iphone-app/">My first iPhone App</a> appeared first on <a href="https://creatronix.de">Creatronix</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>After carrying around my iPhone 6 for two and a half years I finally wanted to know how to build an iOS app.</p>
<h2>Getting started</h2>
<p>I used <a href="https://developer.apple.com/library/content/referencelibrary/GettingStarted/DevelopiOSAppsSwift/">this tutorial from apple</a> and rolled with the punches:</p>
<h3>Installing XCode</h3>
<p>takes ages!  Download 4,6 GB 🙁</p>
<p>First issue: when accidentally making the wrong connection between a UI-Element and the ViewController (@IBOutlet instead of @IBAction) You have to remove the connection in the code _and_ in the storyboard via context menu.</p>
<h2>First own app</h2>
<p>After I was done with the tutorial I wrote an app I always wanted to write:</p>
<p>A music player app to make learning songs easy. Use case: You want to learn a solo from e.g. Metallica&#8217;s &#8220;Nothing else matters&#8221; and You want to play along the music.</p>
<p>Requirements so far:</p>
<p><span id="more-521"></span></p>
<ul>
<li>Browse and play songs from music library</li>
<li>Set marker at the beginning of a section you want to practice</li>
<li>Possibility to rename the button to a meaningful name e.g. Solo, Chorus</li>
<li>Select play time via a scrub slider</li>
</ul>
<h3>Access media library on device</h3>
<p>To access the music library the user has to acknowledge the access.  An app that uses the music library has to add <code>NSAppleMusicUsageDescription</code> to the plist file. To get all the items from your music library is pretty straight forward then:</p>
<pre>import MediaPlayer

let mediaItems = MPMediaQuery.songs().items</pre>
<p>Here You can see the first view, a table list of all songs:<br />
<a href="https://creatronix.de/wp-content/uploads/2017/03/img_4005.jpg"><img fetchpriority="high" decoding="async" class="alignnone size-full wp-image-597" src="https://creatronix.de/wp-content/uploads/2017/03/img_4005.jpg" alt="" width="640" height="1136" srcset="https://creatronix.de/wp-content/uploads/2017/03/img_4005.jpg 640w, https://creatronix.de/wp-content/uploads/2017/03/img_4005-169x300.jpg 169w, https://creatronix.de/wp-content/uploads/2017/03/img_4005-577x1024.jpg 577w" sizes="(max-width: 640px) 100vw, 640px" /></a></p>
<h3>Add an audioplayer</h3>
<p>is pretty straight forward:</p>
<pre>do {
    myAudioPlayer = try AVAudioPlayer(contentsOf: url!)
    myAudioPlayer.prepareToPlay()
    myAudioPlayer.volume = 1.0
} catch  {
    print(error)
}</pre>
<p>Add play and pause button</p>
<p>[x] add slider for selecting track time</p>
<p>[x] round the corners of a button</p>
<pre class="default prettyprint prettyprinted"><code><span class="pln">button</span><span class="pun">.</span><span class="pln">layer</span><span class="pun">.</span><span class="pln">cornerRadius </span><span class="pun">=</span> <span class="lit">5</span></code></pre>
<p>[x] add a popup view to show when marker is set</p>
<p>[x] Convert TimeInterval to hours, mins seconds</p>
<pre>func stringFromTimeInterval(interval: TimeInterval) -&gt; String {
    let ti = NSInteger(interval)
    
    let tenth = Int((interval.truncatingRemainder(dividingBy: 1.0)) * 1000) / 100
    let seconds = ti % 60
    let minutes = (ti / 60) % 60
    let hours = (ti / 3600)
    
    return String(format: "%0.1d:%0.2d:%0.2d.%0.1d", hours, minutes, seconds, tenth)
}</pre>
<p><a href="https://creatronix.de/wp-content/uploads/2017/03/img_4006.jpg"><img decoding="async" class="alignnone size-full wp-image-598" src="https://creatronix.de/wp-content/uploads/2017/03/img_4006.jpg" alt="" width="640" height="1136" srcset="https://creatronix.de/wp-content/uploads/2017/03/img_4006.jpg 640w, https://creatronix.de/wp-content/uploads/2017/03/img_4006-169x300.jpg 169w, https://creatronix.de/wp-content/uploads/2017/03/img_4006-577x1024.jpg 577w" sizes="(max-width: 640px) 100vw, 640px" /></a></p>
<h3>Deploying the app to your own device</h3>
<p>Although the xcode simulator is nice you cannot access music from within the simulator so getting the app to work on a real device is mandatory early on.</p>
<p><strong>There is the myth that you have to be a paying member of the apple developer program to test your app on your own phone. That&#8217;s wrong!</strong></p>
<p>Anyway you need an account if You want to publish the app in the app store.</p>
<ol>
<li>Open Xode preferences (Xcode &gt; Preferences…)</li>
<li>Click the ‘Accounts’ tab</li>
<li>Login with your Apple ID (+ &gt; Add Apple ID…)</li>
<li>Project Editor -&gt; Signing -&gt; Team -&gt; &lt;User&gt;</li>
<li>On iPhone: Settings -&gt; General -&gt; Device Management -&gt; Trust Developer</li>
</ol>
<p>After that You can deploy and test the app on your phone or tablet.</p>
<h2>Beta-Test of the App</h2>
<p>After I&#8217;ve implemented the basic use cases I showed the app to some colleagues. And got a bunch of new requirements and tips for improvements.</p>
<ul>
<li>Instead to the slider show a waveform to make identifying the section easier</li>
<li>Set marker for start and end to replay the loop</li>
<li>Persist already set markers</li>
<li>Mark tracks which already have markers</li>
<li>Start and stop playing via Siri</li>
</ul>
<p>My colleagues found a couple of bugs as well:</p>
<ul>
<li>when selecting a track which is not on your device at the moment, the app crashes</li>
<li>the layout is not suitable for landscape orientation</li>
</ul>
<p>Stay tuned for the second part!</p>
<p>The post <a href="https://creatronix.de/my-first-iphone-app/">My first iPhone App</a> appeared first on <a href="https://creatronix.de">Creatronix</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Review Microsoft Lens</title>
		<link>https://creatronix.de/microsoft-lens/</link>
		
		<dc:creator><![CDATA[Jörn]]></dc:creator>
		<pubDate>Thu, 29 Dec 2016 00:13:51 +0000</pubDate>
				<category><![CDATA[Business & Management]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[iOS]]></category>
		<category><![CDATA[lens]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[microsoft lens]]></category>
		<guid isPermaLink="false">http://creatronix.de/?p=255</guid>

					<description><![CDATA[<p>From time to time You need to take photos of documents, whiteboards or business cards. Microsoft Office Lens speeds up the process by enhancing the image in an automatic fashion. Recommended by my colleague Jens Dittmar this little helper improved my workday a lot. Let&#8217;s see it in action first: Documents Let&#8217;s say You have&#8230;</p>
<p>The post <a href="https://creatronix.de/microsoft-lens/">Review Microsoft Lens</a> appeared first on <a href="https://creatronix.de">Creatronix</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>From time to time You need to take photos of documents, whiteboards or business cards. Microsoft <del>Office</del> Lens speeds up the process by enhancing the image in an automatic fashion.</p>
<p>Recommended by my colleague <a href="https://jendit.blogspot.de/">Jens Dittmar</a> this little helper improved my workday a lot. Let&#8217;s see it in action first:</p>
<h2>Documents</h2>
<p>Let&#8217;s say You have a book cover like this:</p>
<p><a href="https://creatronix.de/wp-content/uploads/2016/12/img_3834.jpg"><img decoding="async" class="size-full wp-image-259 aligncenter" src="https://creatronix.de/wp-content/uploads/2016/12/img_3834.jpg" alt="" width="2448" height="3264" srcset="https://creatronix.de/wp-content/uploads/2016/12/img_3834.jpg 2448w, https://creatronix.de/wp-content/uploads/2016/12/img_3834-225x300.jpg 225w, https://creatronix.de/wp-content/uploads/2016/12/img_3834-768x1024.jpg 768w" sizes="(max-width: 2448px) 100vw, 2448px" /></a></p>
<p>Now we take a photo of it with MS Office Lens. What the app does is detecting the edges of a document and highlights them like that:</p>
<p><a href="https://creatronix.de/wp-content/uploads/2016/12/img_3833.jpg"><img decoding="async" class="size-full wp-image-257 aligncenter" src="https://creatronix.de/wp-content/uploads/2016/12/img_3833.jpg" alt="" width="640" height="1136" srcset="https://creatronix.de/wp-content/uploads/2016/12/img_3833.jpg 640w, https://creatronix.de/wp-content/uploads/2016/12/img_3833-169x300.jpg 169w, https://creatronix.de/wp-content/uploads/2016/12/img_3833-577x1024.jpg 577w" sizes="(max-width: 640px) 100vw, 640px" /></a></p>
<p>If you now take the photo it automagically crops the image, rectifies the edges and improves the contrast. This is what you get without further adjustments:</p>
<p><a href="https://creatronix.de/wp-content/uploads/2016/12/img_3835.jpg"><img decoding="async" class="size-full wp-image-258 aligncenter" src="https://creatronix.de/wp-content/uploads/2016/12/img_3835.jpg" alt="" width="1980" height="3198" srcset="https://creatronix.de/wp-content/uploads/2016/12/img_3835.jpg 1980w, https://creatronix.de/wp-content/uploads/2016/12/img_3835-186x300.jpg 186w, https://creatronix.de/wp-content/uploads/2016/12/img_3835-768x1240.jpg 768w, https://creatronix.de/wp-content/uploads/2016/12/img_3835-634x1024.jpg 634w" sizes="(max-width: 1980px) 100vw, 1980px" /></a></p>
<p>I&#8217;m not an expert in image processing but it seems like the app does some gamma correction, too.</p>
<p>I think the result is amazing when you consider that you don&#8217;t have to fumble with any settings so far!</p>
<h2>Whiteboard</h2>
<p>OK, another use case. You did some brainstorming on a whiteboard and want to send a picture to your colleagues. As You can see a conventional photo is a bit poor.</p>
<p><a href="https://creatronix.de/wp-content/uploads/2016/12/img_3742.jpg"><img decoding="async" class="size-full wp-image-268 aligncenter" src="https://creatronix.de/wp-content/uploads/2016/12/img_3742.jpg" alt="" width="3264" height="2448" srcset="https://creatronix.de/wp-content/uploads/2016/12/img_3742.jpg 3264w, https://creatronix.de/wp-content/uploads/2016/12/img_3742-300x225.jpg 300w, https://creatronix.de/wp-content/uploads/2016/12/img_3742-768x576.jpg 768w, https://creatronix.de/wp-content/uploads/2016/12/img_3742-1024x768.jpg 1024w" sizes="(max-width: 3264px) 100vw, 3264px" /></a></p>
<p>This is the part where Office Lens comes in handy:</p>
<p><a href="https://creatronix.de/wp-content/uploads/2016/12/img_3743.jpg"><br />
<img decoding="async" class="size-full wp-image-267 aligncenter" src="https://creatronix.de/wp-content/uploads/2016/12/img_3743.jpg" alt="" width="2659" height="1992" srcset="https://creatronix.de/wp-content/uploads/2016/12/img_3743.jpg 2659w, https://creatronix.de/wp-content/uploads/2016/12/img_3743-300x225.jpg 300w, https://creatronix.de/wp-content/uploads/2016/12/img_3743-768x575.jpg 768w, https://creatronix.de/wp-content/uploads/2016/12/img_3743-1024x767.jpg 1024w" sizes="(max-width: 2659px) 100vw, 2659px" /></a><span id="selectionBoundary_1482993778202_3174940485729353" class="rangySelectionBoundary" style="line-height: 0; display: none;"></span></p>
<p>The only drawback: it does not improve your handwriting 😉</p>
<h2>Business Cards</h2>
<p>I don&#8217;t get business cards very often but when I do I want to have a nice little photo of &#8217;em. (No meme intended 🙂 ) Does it work? Does it even work with black business cards?</p>
<p><a href="https://creatronix.de/wp-content/uploads/2016/12/img_3836.jpg"><img decoding="async" class="size-full wp-image-270 aligncenter" src="https://creatronix.de/wp-content/uploads/2016/12/img_3836.jpg" alt="" width="1136" height="640" srcset="https://creatronix.de/wp-content/uploads/2016/12/img_3836.jpg 1136w, https://creatronix.de/wp-content/uploads/2016/12/img_3836-300x169.jpg 300w, https://creatronix.de/wp-content/uploads/2016/12/img_3836-768x433.jpg 768w, https://creatronix.de/wp-content/uploads/2016/12/img_3836-1024x577.jpg 1024w" sizes="(max-width: 1136px) 100vw, 1136px" /></a></p>
<p>Well, yes it does work. Again, the edges are detected and rectified, contrast and gamma improved. (The font does look like this intentionally 🙂 )</p>
<p><a href="https://creatronix.de/wp-content/uploads/2016/12/img_3837.jpg"><img decoding="async" class="alignnone size-full wp-image-271" src="https://creatronix.de/wp-content/uploads/2016/12/img_3837.jpg" alt="" width="1536" height="995" srcset="https://creatronix.de/wp-content/uploads/2016/12/img_3837.jpg 1536w, https://creatronix.de/wp-content/uploads/2016/12/img_3837-300x194.jpg 300w, https://creatronix.de/wp-content/uploads/2016/12/img_3837-768x498.jpg 768w, https://creatronix.de/wp-content/uploads/2016/12/img_3837-1024x663.jpg 1024w" sizes="(max-width: 1536px) 100vw, 1536px" /></a></p>
<h2>Bottom Line</h2>
<p>I really like this app because it does one thing and this one thing great! With this app there is definitely no need anymore to keep a scanner around.</p>
<p>You can get the app for free for <a href="https://itunes.apple.com/de/app/office-lens/id975925059?mt=8">iOS</a>, and <a href="https://play.google.com/store/apps/details?id=com.microsoft.office.officelens&amp;hl=de">Android</a></p>
<p>&nbsp;</p>
<p>The post <a href="https://creatronix.de/microsoft-lens/">Review Microsoft Lens</a> appeared first on <a href="https://creatronix.de">Creatronix</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
