<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Tips on miqu.me</title><link>https://miqu.me/blog/categories/tips/</link><description>Recent content in Tips on miqu.me</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Fri, 16 Jun 2017 23:55:27 +0100</lastBuildDate><atom:link href="https://miqu.me/blog/categories/tips/index.xml" rel="self" type="application/rss+xml"/><item><title>Fixing autocompletion on mixed Objective-C and Swift projects</title><link>https://miqu.me/blog/2017/06/16/fixing-autocompletion-on-mixed-objective-c-and-swift-projects/</link><pubDate>Fri, 16 Jun 2017 23:55:27 +0100</pubDate><guid>https://miqu.me/blog/2017/06/16/fixing-autocompletion-on-mixed-objective-c-and-swift-projects/</guid><description>&lt;p&gt;This year I had the privilege of attending WWDC for the first time. I knew the labs were very important, and I want to share a resolution to fix a problem for our big project at &lt;a href="https://peak.net"&gt;Peak&lt;/a&gt;: Autocompletion on Swift code was not working most of the time in the IDE, and with the help of an Apple engineer in the labs we got it sorted.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Update on 30/10/2017:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;The issues described here seem to be fixed with latest release version of Xcode 9.0.1 (9A1004). Also the &amp;lsquo;internal&amp;rsquo; menu doesn&amp;rsquo;t seem to be accessible anymore. If you know how to access it I&amp;rsquo;d love to hear from you!&lt;/em&gt;&lt;/p&gt;</description></item><item><title>Build settings depending on Xcode version</title><link>https://miqu.me/blog/2017/01/29/temporary-build-settings/</link><pubDate>Sun, 29 Jan 2017 23:26:54 +0000</pubDate><guid>https://miqu.me/blog/2017/01/29/temporary-build-settings/</guid><description>&lt;p&gt;This weekend I wanted to setup &lt;a href="https://swift.org/blog/bridging-pch/"&gt;Precompiled Bridging Headers&lt;/a&gt; for my project. This setting is available in the new Xcode 8.3 beta. Then building for latest official XCode (8.2.1) the code will not compile because the Swift compiler doesn&amp;rsquo;t recognize it. How do we use different build settings for different Xcode versions? &lt;strong&gt;Only possible with xcconfig files&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;There&amp;rsquo;s an undocumented build setting called &lt;code&gt;XCODE_VERSION_MINOR&lt;/code&gt; that we can use here. And after some variable substitution we&amp;rsquo;ll make it work. Here&amp;rsquo;s the gist:&lt;/p&gt;</description></item><item><title>Reducing the pain of git bisect with Xcode</title><link>https://miqu.me/blog/2017/01/22/reducing-the-pain-of-git-bisect-with-xcode/</link><pubDate>Sun, 22 Jan 2017 11:49:01 +0000</pubDate><guid>https://miqu.me/blog/2017/01/22/reducing-the-pain-of-git-bisect-with-xcode/</guid><description>&lt;p&gt;There&amp;rsquo;s times when you need to investigate regressions in your project, and you don&amp;rsquo;t know have any clue as why something is happening. &lt;a href="https://git-scm.com/docs/git-bisect"&gt;Git bisect&lt;/a&gt; is the best tool for this cases, but it can be painful to use in non small projects using CocoaPods and Xcode. I want to share what I&amp;rsquo;ve been doing to ease the pain.&lt;/p&gt;</description></item><item><title>App extensions, Xcode and Cocoapods, OMG!</title><link>https://miqu.me/blog/2016/11/28/app-extensions-xcode-and-cocoapods-omg/</link><pubDate>Mon, 28 Nov 2016 09:44:54 +0000</pubDate><guid>https://miqu.me/blog/2016/11/28/app-extensions-xcode-and-cocoapods-omg/</guid><description>&lt;p&gt;Have you encountered this error when upgrading to the latest CocoaPods (1.1.0), or sharing a library between your iOS App and your extension?&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt;&amp;#39;sharedApplication&amp;#39;&lt;/span&gt; is unavailable: not available on iOS &lt;span style="color:#f92672"&gt;(&lt;/span&gt;App Extension&lt;span style="color:#f92672"&gt;)&lt;/span&gt; - Use view controller based solutions where appropriate instead.
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;If yes, continue reading, as you might have encountered same issue as myself. I&amp;rsquo;ve recently had to upgrade a project to using Cocoapods 1.1.0. Things stopped compiling, and I had to investigate the root cause of the problem. It has to do with iOS App extensions, unavailable APIs and how fragile our tooling is ;).&lt;/p&gt;</description></item><item><title>Easy localization management with Google spreadsheets</title><link>https://miqu.me/blog/2016/11/19/easy-localizations-management-with-spreadsheets/</link><pubDate>Sat, 19 Nov 2016 16:50:18 +0000</pubDate><guid>https://miqu.me/blog/2016/11/19/easy-localizations-management-with-spreadsheets/</guid><description>&lt;p&gt;Last thursday I gave a talk at &lt;a href="https://www.meetup.com/NSLondon/"&gt;NSLondon meetup&lt;/a&gt; called &amp;lsquo;Minimum Viable Tooling&amp;rsquo;. The topic was examples of approaching tooling and automation for small teams. I showed real examples of what we do at &lt;a href="https://www.peak.net"&gt;Peak&lt;/a&gt;, where I currently work. One of the things people showed interest in after the talk was how we deal with localizations.&lt;/p&gt;
&lt;p&gt;In this post I will replicate the simple solution from scratch, so you can follow along and get started with your own projects. And we will be using Swift for the scripting, just because we can!&lt;/p&gt;</description></item><item><title>Controlling time in the app</title><link>https://miqu.me/blog/2016/10/26/controlling-time-in-the-app/</link><pubDate>Wed, 26 Oct 2016 19:38:37 +0100</pubDate><guid>https://miqu.me/blog/2016/10/26/controlling-time-in-the-app/</guid><description>&lt;p&gt;Today I want to share a small utility we&amp;rsquo;ve been using for a while at &lt;a href="https://www.peak.net"&gt;Peak&lt;/a&gt;, my current workplace, to control the system time inside the application and save time while testing or debugging.&lt;/p&gt;</description></item><item><title>Knowing when to delete code</title><link>https://miqu.me/blog/2016/08/16/knowing-when-to-delete-code/</link><pubDate>Tue, 16 Aug 2016 21:04:04 +0100</pubDate><guid>https://miqu.me/blog/2016/08/16/knowing-when-to-delete-code/</guid><description>&lt;p&gt;Much of the literature and writing related to sofware development focuses on the creation, new ideas, fresh ideas and things to improve in your next project. But when is it a good moment to delete the old stuff in an long term project? Here&amp;rsquo;s my short rant about this; I recently deleted a chunk of code in my current project and just felt I wanted to write my thoughts.&lt;/p&gt;</description></item><item><title>Transitioning iOS versions</title><link>https://miqu.me/blog/2015/12/14/transitioning-ios-versions/</link><pubDate>Mon, 14 Dec 2015 20:00:25 +0000</pubDate><guid>https://miqu.me/blog/2015/12/14/transitioning-ios-versions/</guid><description>&lt;p&gt;Having worked in companies developing their own products, I&amp;rsquo;ve faced many times the problem developers encounter when building iOS applications: Your biggest 3rd party dependency - the OS SDK - is changing under you every year. How does your team deal with this in a maintainable way?&lt;/p&gt;</description></item><item><title>exFat with Raspberry Pi (continued)</title><link>https://miqu.me/blog/2015/04/14/exfat-with-raspberry-pi-continued/</link><pubDate>Tue, 14 Apr 2015 22:35:50 +0100</pubDate><guid>https://miqu.me/blog/2015/04/14/exfat-with-raspberry-pi-continued/</guid><description>&lt;p&gt;I &lt;a href="https://miqu.me/blog/2015/01/14/tip-exfat-hdd-with-raspberry-pi/"&gt;wrote&lt;/a&gt; a while ago a tip, mostly for my future reference, how to set up a HDD with Raspberry Pi formatted using &lt;a href="https://en.wikipedia.org/wiki/ExFAT"&gt;exFat&lt;/a&gt;. After more intensive testing on my Samba setup, I&amp;rsquo;ve decided to go back to NTFS as my format of choice.&lt;/p&gt;</description></item><item><title>Tip: ExFat HDD with Raspberry Pi</title><link>https://miqu.me/blog/2015/01/14/tip-exfat-hdd-with-raspberry-pi/</link><pubDate>Wed, 14 Jan 2015 10:11:11 +0000</pubDate><guid>https://miqu.me/blog/2015/01/14/tip-exfat-hdd-with-raspberry-pi/</guid><description>&lt;p&gt;A few days ago I switched my HDD on my Raspberry Pi to a SSD drive. I use the Pi as a NAS serving files at home and I wanted to use a HDD for music with less storage but more reliability. This drive runs 24/7. I also chose exFat for the filesystem. I write this as a future self-reference, but may be useful for somebody else, so here it goes.&lt;/p&gt;</description></item><item><title>Travis + octopress = Yay!</title><link>https://miqu.me/blog/2014/11/27/travis-plus-octopress-equals-yay/</link><pubDate>Thu, 27 Nov 2014 22:45:25 +0000</pubDate><guid>https://miqu.me/blog/2014/11/27/travis-plus-octopress-equals-yay/</guid><description>&lt;p&gt;I just finished setting up &lt;a href="https://www.travis-ci.com"&gt;Travis CI&lt;/a&gt; integration with this blog. So now I don&amp;rsquo;t even need to do rake generate_deploy.
Just git push to source and deploy after 3 mins. Happiness.&lt;/p&gt;
&lt;p&gt;I based my config on &lt;a href="https://www.harimenon.com/blog/2013/01/27/auto-deploying-to-my-octopress-blog/"&gt;Hari Menon&amp;rsquo;s post&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;My small contribution to whoever happens to read this post is:
&lt;strong&gt;Don&amp;rsquo;t forget to set up your user.name and user.email&lt;/strong&gt; in Travis CI. Check my final &lt;a href="https://github.com/DarthMike/darthmike.github.io/blob/source/.travis.yml"&gt;travis.yml&lt;/a&gt; if you are curious.&lt;/p&gt;
&lt;p&gt;Happy coding!&lt;/p&gt;</description></item></channel></rss>