<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>The iOS Times</title>
    <description>A weekly-ish publication with news and trending projects in the open source iOS ecosystem. Curated and provided by mokagio from mokacoding.com
</description>
    <link>http://theiostimes.com/</link>
    <atom:link href="http://theiostimes.com/feed.xml" rel="self" type="application/rss+xml"/>
    <pubDate>Mon, 06 Aug 2018 20:16:03 +1000</pubDate>
    <lastBuildDate>Mon, 06 Aug 2018 20:16:03 +1000</lastBuildDate>
    <generator>Jekyll v3.7.3</generator>
    
      <item>
        <title>#49 - Different Cabbages on the Bus</title>
        <description>&lt;h3 id=&quot;differencekit&quot;&gt;&lt;a href=&quot;https://github.com/ra1028/DifferenceKit&quot;&gt;DifferenceKit&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;A “fast and flexible” diffing library with &lt;em&gt;O(n)&lt;/em&gt; complexity for Swift collections shared by &lt;a href=&quot;https://twitter.com/ra1028fe5&quot;&gt;Ryo Aoyama&lt;/a&gt;. Based on &lt;a href=&quot;https://dl.acm.org/citation.cfm?id=359467&quot;&gt;Paul Heckel’s algorithm&lt;/a&gt; which other famous libraries use as well.&lt;/p&gt;

&lt;p&gt;It comes with &lt;code class=&quot;highlighter-rouge&quot;&gt;UITableView&lt;/code&gt; and &lt;code class=&quot;highlighter-rouge&quot;&gt;UIVCollectionView&lt;/code&gt; extensions to implement incremental updates based on the evaluated diff.&lt;/p&gt;

&lt;h3 id=&quot;cabbage&quot;&gt;&lt;a href=&quot;https://github.com/VideoFlint/Cabbage&quot;&gt;Cabbage&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;&lt;a href=&quot;https://twitter.com/NoairZhangwei&quot;&gt;Vito Zhang&lt;/a&gt; shares a video composition framework based on &lt;code class=&quot;highlighter-rouge&quot;&gt;AVFoundation&lt;/code&gt; aiming to provide an easier to use API.&lt;/p&gt;

&lt;h3 id=&quot;passwordrules&quot;&gt;&lt;a href=&quot;https://github.com/NSHipster/PasswordRules&quot;&gt;PasswordRules&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;Library by &lt;a href=&quot;https://twitter.com/mattt&quot;&gt;Mattt&lt;/a&gt; for defining strong password generator rules to combine together, as described in the recent &lt;a href=&quot;https://nshipster.com&quot;&gt;NSHipster&lt;/a&gt; article “&lt;a href=&quot;https://nshipster.com/uitextinputpasswordrules/&quot;&gt;Password Rules / UITextInputPasswordRules&lt;/a&gt;”.&lt;/p&gt;

&lt;h3 id=&quot;topiceventbus&quot;&gt;&lt;a href=&quot;https://github.com/mcmatan/TopicEventBus&quot;&gt;TopicEventBus&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;An implementation by &lt;a href=&quot;http://www.matanabrava.com/&quot;&gt;Matan Abravanel&lt;/a&gt; of the &lt;a href=&quot;https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern&quot;&gt;publish-subscribe pattern&lt;/a&gt; for topic-based systems.&lt;/p&gt;

&lt;p&gt;The author also has a &lt;a href=&quot;https://medium.com/swift2go/why-you-should-stop-using-notificationcenter-and-start-using-topiceventbus-c4c7ab312643&quot;&gt;post on Medium&lt;/a&gt; arguing that this pattern is better than using &lt;code class=&quot;highlighter-rouge&quot;&gt;NSNotificationCenter&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Amazon’s AWS has a number of tools and services &lt;a href=&quot;https://aws.amazon.com/pub-sub-messaging/&quot;&gt;based on pub-sub&lt;/a&gt;, even if you’re keen on &lt;code class=&quot;highlighter-rouge&quot;&gt;NSNotfication&lt;/code&gt;s this is definitely a topic worth exploring.&lt;/p&gt;

&lt;h3 id=&quot;other-interesting-projects&quot;&gt;Other Interesting Projects&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/disposedtrolley/literary-screensaver&quot;&gt;literary-screensaver&lt;/a&gt;, a macOS screensaver showing the time in text form extracted by quotes from books.&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/adamgolczak/GoogleMD-Icons&quot;&gt;GoogleMD-Icons&lt;/a&gt;, a collection of icons from the Google Material Design pack.&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/louisdh/source-editor&quot;&gt;source-editor&lt;/a&gt;, a source editor for macOS and iOS. It’s pretty basic at this point in time, but looks like it’s easy to extend, could be a good project to contribute to.&lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

&lt;p&gt;Thanks for reading The iOS Times.&lt;/p&gt;

&lt;p&gt;I decided to start a monthly email recommending mainly non-fiction books, with take aways and lessons learnt. If you are interested head over to &lt;a href=&quot;http://eepurl.com/dDfszn&quot;&gt;the signup form&lt;/a&gt;, or reply to this email and I’ll signup you up. 📚&lt;/p&gt;
</description>
        <pubDate>Mon, 06 Aug 2018 00:00:00 +1000</pubDate>
        <link>http://theiostimes.com/issue-49.html</link>
        <guid isPermaLink="true">http://theiostimes.com/issue-49.html</guid>
        
        
      </item>
    
      <item>
        <title>#48 - Coordinated Transport Services</title>
        <description>&lt;h3 id=&quot;swift-nio-transport-services&quot;&gt;&lt;a href=&quot;https://github.com/apple/swift-nio-transport-services&quot;&gt;Swift NIO Transport Services&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;Earlier this year Apple released &lt;a href=&quot;https://github.com/apple/swift-nio&quot;&gt;SwiftNIO&lt;/a&gt; an event-driven networking library, “&lt;em&gt;a low-level tool for building high-performance networking applications in Swift&lt;/em&gt;.”.&lt;/p&gt;

&lt;p&gt;This week they open sourced this extension library to support Apple platforms as “first-class citizens”. This is done via the &lt;a href=&quot;https://developer.apple.com/documentation/network&quot;&gt;Network.framework&lt;/a&gt;. Notice that this is only available on macOS 10.14+, iOS 12+, and tvOS 12+.&lt;/p&gt;

&lt;h3 id=&quot;rxcoordinator&quot;&gt;&lt;a href=&quot;https://github.com/quickbirdstudios/RxCoordinator&quot;&gt;RxCoordinator&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;A reactive navigation framework based on the Coordinator pattern by &lt;a href=&quot;https://twitter.com/_disho&quot;&gt;Joan Disho&lt;/a&gt; and Stefan Kofler from &lt;a href=&quot;https://quickbirdstudios.com/index.php&quot;&gt;Quick Bird Studios&lt;/a&gt;. You can use it to implement a fully Rx driven &lt;a href=&quot;https://tech.trivago.com/2016/08/26/mvvm-c-a-simple-way-to-navigate/&quot;&gt;MVVM-C architecture&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://raw.githubusercontent.com/quickbirdstudios/RxCoordinator/master/Images/mvvmc.png&quot; alt=&quot;➡️➡️ diagram showing how the library works&quot; /&gt;&lt;/p&gt;

&lt;h3 id=&quot;nano-blocks&quot;&gt;&lt;a href=&quot;https://github.com/nebyark/nano-blocks&quot;&gt;Nano Blocks&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;Brothers &lt;a href=&quot;http://atlasv.bandcamp.com/&quot;&gt;Benjamin&lt;/a&gt; and &lt;a href=&quot;http://www.timkray.com/&quot;&gt;Tim&lt;/a&gt; share an open source iOS wallet app for the &lt;a href=&quot;https://nano.org/en&quot;&gt;Nano cryptocurrency&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://camo.githubusercontent.com/901bc99f567c3346760d653e7a6a834b41cb9243/68747470733a2f2f692e696d6775722e636f6d2f6c646d395565572e6a7067&quot; alt=&quot;📸 screenshots of the app&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Never heard of Nano… maybe I should start The Cryptocurrencies Times&lt;/em&gt; 🤔.&lt;/p&gt;

&lt;h3 id=&quot;other-interesting-projects&quot;&gt;Other Interesting Projects&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/CassiusPacheco/Swift-CleanArchitecture&quot;&gt;Swift-Clean Architecture&lt;/a&gt;. App implemented following &lt;a href=&quot;https://blog.cleancoder.com/&quot;&gt;Uncle Bob&lt;/a&gt;’s &lt;a href=&quot;https://8thlight.com/blog/uncle-bob/2012/08/13/the-clean-architecture.html&quot;&gt;Clean Architecture&lt;/a&gt;.&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/nathantannar4/TypingIndicator&quot;&gt;TypingIndicator&lt;/a&gt;. A replica of iMessage’s typing indicator bubble with support for a variety of animations.&lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

&lt;p&gt;Thank you for reading &lt;a href=&quot;theiostimes.com&quot;&gt;The iOS Times&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Looking to get more productive at using Xcode? Checkout &lt;a href=&quot;http://xcodetips.com/&quot;&gt;Xcode Tips&lt;/a&gt; and never use the mouse again ⌨️🔝.&lt;/p&gt;

&lt;p&gt;Finally, here’s a question for you:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What is your biggest struggle right now with building software?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I read every single email I receive. Looking forward to hear what you have to say. 😉.&lt;/p&gt;
</description>
        <pubDate>Mon, 23 Jul 2018 00:00:00 +1000</pubDate>
        <link>http://theiostimes.com/issue-48.html</link>
        <guid isPermaLink="true">http://theiostimes.com/issue-48.html</guid>
        
        
      </item>
    
      <item>
        <title>#47 - Preferred Fuzzy Twigs</title>
        <description>&lt;h3 id=&quot;preferences&quot;&gt;&lt;a href=&quot;https://github.com/sindresorhus/Preferences&quot;&gt;Preferences&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;This library by “full-time open-sourcerer” &lt;a href=&quot;https://twitter.com/sindresorhus&quot;&gt;Sinder Sorhus&lt;/a&gt; promises to let yo add a preferences window to your macOS app in minutes.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://raw.githubusercontent.com/sindresorhus/Preferences/master/screenshot.gif&quot; alt=&quot;screenshot of a preferences window built with this library&quot; /&gt;&lt;/p&gt;

&lt;p&gt;“Just pass in some view controllers and this package will take care of the rest.”&lt;/p&gt;

&lt;h3 id=&quot;twig&quot;&gt;&lt;a href=&quot;https://github.com/lukakerr/twig&quot;&gt;Twig&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;&lt;a href=&quot;https://daringfireball.net/projects/markdown/syntax&quot;&gt;Markdown&lt;/a&gt; and it’s &lt;a href=&quot;https://github.github.com/gfm/&quot;&gt;GitHub Flavoured&lt;/a&gt; extension are my favourite way to write text. I’ve been writing this publication in &lt;code class=&quot;highlighter-rouge&quot;&gt;.md&lt;/code&gt; files from &lt;a href=&quot;http://theiostimes.com/year-01-issue-01.html&quot;&gt;the very first issue&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Twig by &lt;a href=&quot;https://lukakerr.github.io/&quot;&gt;Luka Kerr&lt;/a&gt; is a very promising Markdown editor app for macOS, and what’s even better: it’s open source.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://camo.githubusercontent.com/0671f3ed2653902856817593d169c9f7fb5776fd/68747470733a2f2f692e696d6775722e636f6d2f516467397253592e706e67&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;h3 id=&quot;swifterswift&quot;&gt;&lt;a href=&quot;https://github.com/SwifterSwift/SwifterSwift&quot;&gt;SwifterSwift&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;A community driven collection of more than 500 Swift extensions to get more out of the standard library, Foundation, UIKit, AppKit, and other Apple frameworks.&lt;/p&gt;

&lt;p&gt;I wouldn’t necessarily recommend installing the whole package, but I’m sure looking at the source you’ll find something useful and inspiring.&lt;/p&gt;

&lt;h3 id=&quot;fuzzcheck&quot;&gt;&lt;a href=&quot;https://github.com/loiclec/FuzzCheck&quot;&gt;FuzzCheck&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;“&lt;em&gt;A coverage-guided engine for Swift packages that works with typed values instead of raw binary buffers&lt;/em&gt;”.&lt;/p&gt;

&lt;p&gt;In other words, given a test function &lt;code class=&quot;highlighter-rouge&quot;&gt;(Input) -&amp;gt; Bool&lt;/code&gt;, it tries to find values of &lt;code class=&quot;highlighter-rouge&quot;&gt;Input&lt;/code&gt; that will trigger edge cases in your code, and does it in a performant way.&lt;/p&gt;

&lt;p&gt;Author &lt;a href=&quot;https://twitter.com/loiclec&quot;&gt;Loïc Lecrenier&lt;/a&gt; warns that the project is not ready for production yet. It would be great to see where this tool can go to help with automated testing and finding bugs.&lt;/p&gt;

&lt;h3 id=&quot;other-interesting-projects&quot;&gt;Other interesting projects&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/louisdh/icns2png&quot;&gt;icns2png&lt;/a&gt;. Swift script converting &lt;code class=&quot;highlighter-rouge&quot;&gt;.icns&lt;/code&gt; to &lt;code class=&quot;highlighter-rouge&quot;&gt;.png&lt;/code&gt; of various sizes.&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/MaximKotliar/Bartinter&quot;&gt;Bartinter&lt;/a&gt;. Dynamically changes status bar style depending on content behind it.&lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

&lt;p&gt;Thanks for reading &lt;a href=&quot;theiostimes.com&quot;&gt;The iOS Times&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;I love &lt;strong&gt;helping developers getting more done&lt;/strong&gt;, whether by highlighting useful open source libraries, sharing &lt;a href=&quot;http://xcodetips.com/&quot;&gt;Xcode tips and tricks&lt;/a&gt;, or leveraging &lt;a href=&quot;http://www.mokacoding.com/&quot;&gt;testing and automation&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;So here’s a question for you:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What is your biggest struggle right now with building software?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I read every single email that I receive. Looking forward to hear what you have to say. 😉.&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;Gio&lt;/li&gt;
&lt;/ul&gt;
</description>
        <pubDate>Mon, 16 Jul 2018 00:00:00 +1000</pubDate>
        <link>http://theiostimes.com/issue-47.html</link>
        <guid isPermaLink="true">http://theiostimes.com/issue-47.html</guid>
        
        
      </item>
    
      <item>
        <title>#46 - Money, Shortcuts, and external displays</title>
        <description>&lt;h3 id=&quot;money&quot;&gt;&lt;a href=&quot;https://github.com/Flight-School/Money&quot;&gt;Money&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;This library is a companion for the latest Flight School book: &lt;a href=&quot;https://gumroad.com/l/swift-numbers&quot;&gt;Guide to Swift Numbers&lt;/a&gt;. It is by far the neatest currency management library I’ve ever seen.&lt;/p&gt;

&lt;p&gt;It has a &lt;code class=&quot;highlighter-rouge&quot;&gt;Money&lt;/code&gt; type with required associated &lt;code class=&quot;highlighter-rouge&quot;&gt;Currency&lt;/code&gt;. There is a &lt;code class=&quot;highlighter-rouge&quot;&gt;Currency&lt;/code&gt; for each &lt;a href=&quot;https://en.wikipedia.org/wiki/ISO_4217&quot;&gt;ISO 4217&lt;/a&gt; currency code.&lt;/p&gt;

&lt;p&gt;You to do math with the currency safely:&lt;/p&gt;

&lt;div class=&quot;language-swift highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;k&quot;&gt;let&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;prices&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;kt&quot;&gt;Money&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;kt&quot;&gt;USD&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;2.19&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;5.39&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;20.99&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;2.99&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;1.99&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;1.99&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;0.99&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;let&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;subtotal&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;prices&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nf&quot;&gt;reduce&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;0.00&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;c1&quot;&gt;// &quot;$36.53&quot;&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;let&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;tax&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;0.08&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;*&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;subtotal&lt;/span&gt; &lt;span class=&quot;c1&quot;&gt;// &quot;$2.92&quot;&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;let&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;total&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;subtotal&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;+&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;tax&lt;/span&gt; &lt;span class=&quot;c1&quot;&gt;// &quot;$39.45&quot;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;The README goes into details of how to use this library to formatting monetary amounts, support multiple currencies, and adding custom currencies.&lt;/p&gt;

&lt;p&gt;And in case you need to convert between currencies checkout &lt;a href=&quot;https://github.com/Flight-School/CurrencyConverter&quot;&gt;CurrencyConverter&lt;/a&gt; also by &lt;a href=&quot;https://twitter.com/mattt&quot;&gt;Mattt&lt;/a&gt; from &lt;a href=&quot;https://twitter.com/flightdotschool&quot;&gt;Flight School&lt;/a&gt;.&lt;/p&gt;

&lt;h3 id=&quot;userdefaultsstore&quot;&gt;&lt;a href=&quot;https://github.com/omaralbeik/UserDefaultsStore&quot;&gt;UserDefaultsStore&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;This library by &lt;a href=&quot;https://twitter.com/omaralbeik&quot;&gt;Omar Albeik&lt;/a&gt; streamlines the process of storing &lt;code class=&quot;highlighter-rouge&quot;&gt;Codable&lt;/code&gt; object to &lt;code class=&quot;highlighter-rouge&quot;&gt;UserDefaults&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;The only requirement is to make your objects to the &lt;code class=&quot;highlighter-rouge&quot;&gt;Identifiable&lt;/code&gt; protocol, providing a way for them to be retrieved from the store.&lt;/p&gt;

&lt;div class=&quot;language-swift highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;kd&quot;&gt;struct&lt;/span&gt; &lt;span class=&quot;kt&quot;&gt;Laptop&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;kt&quot;&gt;Codable&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;kt&quot;&gt;Identifiable&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;kd&quot;&gt;static&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;let&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;idKey&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;err&quot;&gt;\&lt;/span&gt;&lt;span class=&quot;kt&quot;&gt;Laptop&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;model&lt;/span&gt;
    &lt;span class=&quot;o&quot;&gt;...&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;k&quot;&gt;let&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;laptopsStore&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;kt&quot;&gt;UserDefaultsStore&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;kt&quot;&gt;Laptop&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;uniqueIdentifier&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;laptops&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;!&lt;/span&gt;

&lt;span class=&quot;k&quot;&gt;let&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;macbook&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;kt&quot;&gt;Laptop&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;model&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;A1278&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;MacBook Pro&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;

&lt;span class=&quot;k&quot;&gt;try&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;laptopsStore&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nf&quot;&gt;save&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;mackbook&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;

&lt;span class=&quot;k&quot;&gt;let&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;laptop&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;laptopsStore&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nf&quot;&gt;object&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;withId&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;A1278&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h3 id=&quot;sharecuts&quot;&gt;&lt;a href=&quot;https://github.com/insidegui/Sharecuts&quot;&gt;Sharecuts&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;This is a live example of a website built using &lt;a href=&quot;https://vapor.codes/&quot;&gt;Vapor&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;You might not be interested in server side Swift just yet, but I’m sure you’ll like the growing collection of iOS 12 shortcuts puts &lt;a href=&quot;https://twitter.com/_inside&quot;&gt;Guilherme Rambo&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Check it out at &lt;a href=&quot;https://sharecuts.app/&quot;&gt;sharecuts.app&lt;/a&gt;.&lt;/p&gt;

&lt;h3 id=&quot;lunar&quot;&gt;&lt;a href=&quot;https://github.com/alin23/Lunar&quot;&gt;Lunar&lt;/a&gt;.&lt;/h3&gt;

&lt;p&gt;Lunar by &lt;a href=&quot;https://github.com/alin23&quot;&gt;Alin Panaitiu&lt;/a&gt; is a macOS app providing “intelligent adaptive brightness” for external displays, and with nice animations too.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://github.com/alin23/Lunar/blob/master/lunar.gif?raw=true&quot; alt=&quot;🖥 animation showcasing the Lunar interface&quot; /&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;Thank you for making it this far. Can I ask you a favour? I have put together a &lt;a href=&quot;https://goo.gl/forms/4S18Mr70IN0WeXyJ2&quot;&gt;5 questions survey&lt;/a&gt; to learn more about the readers and how to best serve you. Mind filling it up?&lt;/p&gt;

&lt;p&gt;👉 &lt;a href=&quot;https://goo.gl/forms/4S18Mr70IN0WeXyJ2&quot;&gt;Go to super short survey&lt;/a&gt; 👈&lt;/p&gt;

&lt;p&gt;Thanks 💙&lt;/p&gt;
</description>
        <pubDate>Mon, 09 Jul 2018 00:00:00 +1000</pubDate>
        <link>http://theiostimes.com/issue-46.html</link>
        <guid isPermaLink="true">http://theiostimes.com/issue-46.html</guid>
        
        
      </item>
    
      <item>
        <title>#45 - Validating using RxSwift, CoreML, Jira CLI</title>
        <description>&lt;p&gt;Apple has definitely invested a lot in machine learning in the past years. Both internally to power tech like Siri, and externally with CoreML for developers.&lt;/p&gt;

&lt;p&gt;It’s very exciting to see how the open source community has jumped on it. For the 3rd week we have interesting CoreML projects to share 🤖🎉.&lt;/p&gt;

&lt;h3 id=&quot;mlmodelcamera&quot;&gt;&lt;a href=&quot;https://github.com/shu223/MLModelCamera&quot;&gt;MLModelCamera&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;&lt;img src=&quot;https://raw.githubusercontent.com/shu223/MLModelCamera/master/READMEResources/figure.png&quot; alt=&quot;Graph illustrating how to use a .mlmodel with MLModelCamera: just drag-and-drop it&quot; /&gt;&lt;/p&gt;

&lt;p&gt;MLModelCamera is an open source iOS app built by &lt;a href=&quot;https://twitter.com/shu223&quot;&gt;Shuichi Tsutsumi&lt;/a&gt; to quickly test trained CoreML models. Simply put the &lt;code class=&quot;highlighter-rouge&quot;&gt;.mlmodel&lt;/code&gt; file or files in the &lt;code class=&quot;highlighter-rouge&quot;&gt;/models&lt;/code&gt; folder and build on your device.&lt;/p&gt;

&lt;h3 id=&quot;quantization&quot;&gt;&lt;a href=&quot;https://github.com/kingreza/quantization&quot;&gt;Quantization&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;&lt;a href=&quot;https://twitter.com/kingreza&quot;&gt;Reza Shirazian&lt;/a&gt; with a very deep dive into the new quantization feature introduced in WWDC 2018.&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;Model size is one of the most common reason for skipping using a local model and opting for an online cloud solution. Fully trained models can go into 100s of MBs and can easily deter potential users from downloading our app. However if you followed WWDC’s &lt;a href=&quot;https://developer.apple.com/videos/play/wwdc2018/709/&quot;&gt;What’s new in Core ML session&lt;/a&gt; we got a taste of quantization. An approach that can possibly cut down the size of a fully trained model by two third without losing much in accuracy or performance.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;img src=&quot;https://camo.githubusercontent.com/18efabbd6af0a5e85313873bf2ddc5b8358cbb9c/68747470733a2f2f73332e616d617a6f6e6177732e636f6d2f7069787069742f7175616e74697a65642f70697a7a612e6a7067&quot; alt=&quot;An example of quantization applied to a pizza image 🍕&quot; /&gt;&lt;/p&gt;

&lt;h3 id=&quot;rxvalidator&quot;&gt;&lt;a href=&quot;https://github.com/vbmania/RxValidator&quot;&gt;RxValidator&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;A validation library from &lt;a href=&quot;https://twitter.com/vbmania&quot;&gt;Geum Sang Yoo&lt;/a&gt; built on to for &lt;a href=&quot;https://github.com/ReactiveX/RxSwift&quot;&gt;RxSwift&lt;/a&gt; providing a easy to read API, and aiming to be flexible and extensible.&lt;/p&gt;

&lt;div class=&quot;language-swift highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;kt&quot;&gt;Validate&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nf&quot;&gt;to&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;There's nothing like spaghetti bolognese 🍝&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nf&quot;&gt;validate&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;kt&quot;&gt;StringIsShouldNotEmpty&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;())&lt;/span&gt;
    &lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nf&quot;&gt;validate&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;kt&quot;&gt;StringIsNotOverflowThen&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;maxLength&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;140&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt;
    &lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nf&quot;&gt;check&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h3 id=&quot;cujira&quot;&gt;&lt;a href=&quot;https://github.com/cats-oss/cujira&quot;&gt;cujira&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/marty-suzuki&quot;&gt;Taiki Suzuki&lt;/a&gt; share a CLI client for world famous &lt;a href=&quot;https://www.atlassian.com/&quot;&gt;Atlassian’s&lt;/a&gt; project manager &lt;a href=&quot;https://www.atlassian.com/software/jira&quot;&gt;Jira&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Even if you’re not a Jira user you might find this project interesting as an example of how to build a CLI using Swift and Swift Package Manager.&lt;/p&gt;

&lt;h3 id=&quot;other-interesting-projects&quot;&gt;Other interesting projects&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/steve228uk/YouTube-Music&quot;&gt;YouTube Music for Mac&lt;/a&gt; a wrapper app for &lt;a href=&quot;https://music.youtube.com/&quot;&gt;YouTube Music&lt;/a&gt;.&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/shoheiyokoyama/DebuggingPerformance&quot;&gt;DebugginPerformance&lt;/a&gt; an example of using signposts to measure performance.&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/apasccon/SearchTextField&quot;&gt;SeachTextField&lt;/a&gt; a &lt;code class=&quot;highlighter-rouge&quot;&gt;UITextField&lt;/code&gt; subclass with autocompletion and suggestions list.&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/inamiy/HigherKindSwift&quot;&gt;HigherKindSwift&lt;/a&gt; an experiment to introduce [Higher Kinded Types](https://en.wikipedia.org/wiki/Kind_(type_theory) in Swift.&lt;/li&gt;
&lt;/ul&gt;
</description>
        <pubDate>Mon, 25 Jun 2018 00:00:00 +1000</pubDate>
        <link>http://theiostimes.com/issue-45.html</link>
        <guid isPermaLink="true">http://theiostimes.com/issue-45.html</guid>
        
        
      </item>
    
      <item>
        <title>#44 - Create ML, Blockchain, Fast attributed strings</title>
        <description>&lt;h3 id=&quot;programming-language-classifier&quot;&gt;&lt;a href=&quot;https://github.com/Flight-School/Programming-Language-Classifier&quot;&gt;Programming Language Classifier&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;Legendary developer and author &lt;a href=&quot;https://twitter.com/mattt&quot;&gt;Mattt&lt;/a&gt; has recently come back in the open source scene after working at Apple. His newest project is &lt;a href=&quot;https://flight.school/&quot;&gt;Flight School&lt;/a&gt; a “book series for Swift developers”.&lt;/p&gt;

&lt;p&gt;This project is a companion for the article “&lt;a href=&quot;https://flight.school/articles/classifying-programming-languages-with-createml/&quot;&gt;Training a Text Classifier with Create ML and the Natural Language Framework&lt;/a&gt;” showing how to go “from zero to Core ML model in minutes”.&lt;/p&gt;

&lt;p&gt;If you find Machine Learning daunting but are curious to get your hands dirty be sure to check it out.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Note: &lt;a href=&quot;http://theiostimes&quot;&gt;The iOS Times&lt;/a&gt; is &lt;strong&gt;not&lt;/strong&gt; sponsored by or affiliated to &lt;a href=&quot;https://flight.school/&quot;&gt;Flight School&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;h3 id=&quot;blockchain-swift-playground&quot;&gt;&lt;a href=&quot;https://github.com/frogg/Blockchain-Swift-Playground&quot;&gt;Blockchain Swift Playground&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;Bitcoin, Ethereum, and Cryptocurrencies, have become mainstream buzzwords, with many startups, speculation, and charlatans revolving around them.&lt;/p&gt;

&lt;p&gt;What gets less coverage but is way more interesting and powerful is the &lt;a href=&quot;https://en.wikipedia.org/wiki/Blockchain&quot;&gt;blockchain technology&lt;/a&gt; powering it.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://twitter.com/frederikriedel&quot;&gt;Frederik Riedel&lt;/a&gt; shares the Playground that won him a scolarship at this year’s WWDC, showing how to create a blockchain.&lt;/p&gt;

&lt;h3 id=&quot;sift&quot;&gt;&lt;a href=&quot;https://github.com/agrinman/sift-ios&quot;&gt;Sift&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;I love open source apps, and I love useful apps. Sift is both. This app by &lt;a href=&quot;https://twitter.com/alexgrinman&quot;&gt;Alex Grinman&lt;/a&gt; allows users to Sift track network traffic in real-time for every app, and then create rules to block sites like ads and tracking pages.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://s3.amazonaws.com/theiostimes/Sift.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;h3 id=&quot;styledtextkit&quot;&gt;&lt;a href=&quot;https://github.com/GitHawkApp/StyledTextKit&quot;&gt;StyledTextKit&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;This library by the makers of &lt;a href=&quot;https://twitter.com/githawk&quot;&gt;GitHawk&lt;/a&gt;, the open source GitHub client for iOS, is all about attributed strings.&lt;/p&gt;

&lt;p&gt;The problem StyleTextKit aims to solve is that “apps with lots of text embedded in &lt;code class=&quot;highlighter-rouge&quot;&gt;UITableViewCells&lt;/code&gt; or &lt;code class=&quot;highlighter-rouge&quot;&gt;UICollectionViewCells&lt;/code&gt;, &lt;code class=&quot;highlighter-rouge&quot;&gt;UITextView&lt;/code&gt; bring scrolling to a grinding halt”. The library provides a declarative API and promises for fast rendering, providing background-thread sizing, bitmap caching, and custom attribute interaction handling for things like link taps.&lt;/p&gt;

&lt;h3 id=&quot;other-interesting-projects&quot;&gt;Other interesting projects&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/SvenTiigi/WhatsNewKit&quot;&gt;WhatsNewKit&lt;/a&gt; a super customizable framework for building “What’s new” screens.&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/huri000/SwiftEntryKit&quot;&gt;SwiftEntryKit&lt;/a&gt; a banner presenter library with tonnes of stilysh presets.&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/steve228uk/MessengerKit&quot;&gt;MessengerKit&lt;/a&gt; framework to build Facebook Messenger-like interfaces&lt;/li&gt;
&lt;/ul&gt;
</description>
        <pubDate>Mon, 18 Jun 2018 00:00:00 +1000</pubDate>
        <link>http://theiostimes.com/issue-44.html</link>
        <guid isPermaLink="true">http://theiostimes.com/issue-44.html</guid>
        
        
      </item>
    
      <item>
        <title>#43 - Swift 4.2, Create ML, Siri Shortcuts</title>
        <description>&lt;p&gt;Last week was &lt;em&gt;the week&lt;/em&gt; for Apple developers: WWDC week! Apple revealed a whole range of improvements, new APIs, and tools. The sessions are available &lt;a href=&quot;https://developer.apple.com/videos/wwdc2018/&quot;&gt;here&lt;/a&gt;. There’s something for everyone.&lt;/p&gt;

&lt;p&gt;It took little to no time to the open source community to ship libraries using the new goodies.&lt;/p&gt;

&lt;h3 id=&quot;whats-new-in-swift-42&quot;&gt;&lt;a href=&quot;https://github.com/ole/whats-new-in-swift-4-2/&quot;&gt;What’s new in Swift 4.2&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;&lt;a href=&quot;https://oleb.net/&quot;&gt;Ole Begemann&lt;/a&gt; is back with a Playground showcasing all the new features introduced in Swift 4.2. A must-run to get up to speed with the changes.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://github.com/ole/whats-new-in-swift-4-2/blob/master/playground-screenshot.png?raw=true&quot; alt=&quot;Screenshot of the tables of contents&quot; /&gt;&lt;/p&gt;

&lt;h3 id=&quot;create-ml-playgrounds&quot;&gt;&lt;a href=&quot;https://github.com/krishkumar/createml-playgrounds&quot;&gt;Create ML Playgrounds&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;&lt;a href=&quot;https://developer.apple.com/documentation/create_ml&quot;&gt;Create ML&lt;/a&gt; is one of the news of this year’s WWDC. A framework to train machine learning models using Swift and Playgrounds.&lt;/p&gt;

&lt;p&gt;GitHub user &lt;a href=&quot;http://twitter.com/krishkum4r&quot;&gt;krishkumar&lt;/a&gt; has put together a collection of Playgrounds showing how to train image and movie review sentiment classifiers.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://github.com/krishkumar/createml-playgrounds/blob/master/chest-xray-pneumonia-classifier.png?raw=true&quot; alt=&quot;Screenshot of the X-Ray image classifier playground&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.appcoda.com/&quot;&gt;AppCoda&lt;/a&gt; have also put togheter an &lt;a href=&quot;https://github.com/appcoda/CreateMLQuickDemo&quot;&gt;image classifier demo&lt;/a&gt; with Create ML.&lt;/p&gt;

&lt;h3 id=&quot;shortcutsdemo&quot;&gt;&lt;a href=&quot;https://github.com/darthpelo/ShortcutsDemo&quot;&gt;ShortcutsDemo&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;a href=&quot;https://developer.apple.com/documentation/sirikit/accelerating_app_interactions_with_shortcuts&quot;&gt;Siri Shortcuts&lt;/a&gt; are a powerful new feature in iOS 12 that allow your app to expose its functionality to Siri. This enables Siri to suggest your shortcut at relevant times based on various context&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/darthpelo&quot;&gt;Alessio Roberto&lt;/a&gt; has put together a demo project showing how to set them up.&lt;/p&gt;

&lt;h3 id=&quot;other-interesting-projects&quot;&gt;Other interesting projects&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/simformsolutions/SSSpinnerButton&quot;&gt;SSSpinnerButton&lt;/a&gt; a collection of buttons with spinner animations to delight your users while waiting for your app to do its thing.&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/neilalexander/seaglass&quot;&gt;Seaglass&lt;/a&gt; open source macOS client for &lt;a href=&quot;http://www.matrix.org/&quot;&gt;Matrix&lt;/a&gt; an open standard for interoperable Instant Messaging and VoIP.&lt;/li&gt;
&lt;/ul&gt;
</description>
        <pubDate>Mon, 11 Jun 2018 00:00:00 +1000</pubDate>
        <link>http://theiostimes.com/issue-43.html</link>
        <guid isPermaLink="true">http://theiostimes.com/issue-43.html</guid>
        
        
      </item>
    
      <item>
        <title>Year 2 Issue 12</title>
        <description>&lt;h2 id=&quot;bolts-swift&quot;&gt;&lt;a href=&quot;https://github.com/BoltsFramework/Bolts-Swift&quot;&gt;Bolts-Swift&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;The &lt;a href=&quot;https://github.com/BoltsFramework&quot;&gt;Bolts Framework&lt;/a&gt; team has started porting Bolts for iOS to Swift. At the moment only the &lt;code class=&quot;highlighter-rouge&quot;&gt;Task&lt;/code&gt; component is available, but I’d suggest to keep an eye on the repo for future developments.&lt;/p&gt;

&lt;h2 id=&quot;peekpop&quot;&gt;&lt;a href=&quot;https://github.com/marmelroy/PeekPop&quot;&gt;PeekPop&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;A library to make the “Peek and Pop” functionality available only to devices with 3D touch to older ones, and work with it using a transparent API.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://camo.githubusercontent.com/4a3f8f136def3a4fa4fe0c00cb02118e72d838dc/687474703a2f2f692e67697068792e636f6d2f336f3761626c7530616449436651334f58432e676966&quot; alt=&quot;demo&quot; /&gt;&lt;/p&gt;

&lt;h2 id=&quot;sptpersistentcache&quot;&gt;&lt;a href=&quot;https://github.com/spotify/SPTPersistentCache&quot;&gt;SPTPersistentCache&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;The &lt;a href=&quot;https://twitter.com/spotifyeng&quot;&gt;Spotify team&lt;/a&gt; shared their take to the caching problem. &lt;code class=&quot;highlighter-rouge&quot;&gt;SPTPersistenCache&lt;/code&gt; is a &lt;a href=&quot;https://en.wikipedia.org/wiki/Cache_algorithms#LRU&quot;&gt;LRU&lt;/a&gt; cache to store &lt;code class=&quot;highlighter-rouge&quot;&gt;NSData&lt;/code&gt; with time to live values and semantics for disk management.&lt;/p&gt;

&lt;p&gt;It also comes with a super handy companion Mac app GUI tool to inspect the contents of any &lt;code class=&quot;highlighter-rouge&quot;&gt;SPTPersistentCache&lt;/code&gt;.&lt;/p&gt;

&lt;h2 id=&quot;numbermorphview&quot;&gt;&lt;a href=&quot;https://github.com/me-abhinav/NumberMorphView&quot;&gt;NumberMorphView&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;This nice view library displays numbers and animates their transitions using &lt;a href=&quot;https://en.wikipedia.org/wiki/Inbetweening&quot;&gt;tweening&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://raw.githubusercontent.com/me-abhinav/NumberMorphView/dev/sample.gif&quot; alt=&quot;demo&quot; /&gt;&lt;/p&gt;

&lt;h2 id=&quot;sweetcorn&quot;&gt;&lt;a href=&quot;https://github.com/FlexMonkey/sweetcorn&quot;&gt;Sweetcorn&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;Sweetcorn is an OS X app which implements a node based user interface to create Core Image Shader Language code. The resulting code can be used as the basis for custom Core Image filters for either OS X or iOS.&lt;/p&gt;

&lt;p&gt;This app has been developed by &lt;a href=&quot;https://twitter.com/FlexMonkey&quot;&gt;Simon Gladman aka @FlexMonkey&lt;/a&gt;, that in the past months has been sharing a ton of great resources in the field of image manipulation, and even &lt;a href=&quot;https://itunes.apple.com/us/book/core-image-for-swift/id1073029980?mt=11&quot;&gt;published a book&lt;/a&gt; on the topic. Thanks Simon!&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://raw.githubusercontent.com/FlexMonkey/sweetcorn/master/Sweetcorn/sweetcorn.png&quot; alt=&quot;demo&quot; /&gt;&lt;/p&gt;

&lt;h2 id=&quot;swiftimageprocessing&quot;&gt;&lt;a href=&quot;https://github.com/skyfe79/SwiftImageProcessing&quot;&gt;SwiftImageProcessing&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;An speaking of image processing, this project by &lt;a href=&quot;http://blog.burt.pe.kr/&quot;&gt;Sungcheol Kim&lt;/a&gt;, contains a collection of Playgrounds demoing simple and not so simple image processing features in Swift&lt;/p&gt;

&lt;h2 id=&quot;react-native-ios-charts&quot;&gt;&lt;a href=&quot;https://github.com/Jpadilla1/react-native-ios-charts&quot;&gt;react-native-ios-charts&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;This library is a port of &lt;a href=&quot;https://github.com/danielgindi/ios-charts&quot;&gt;iOS-Charts&lt;/a&gt;, which is a port of &lt;a href=&quot;https://github.com/PhilJay/MPAndroidChart&quot;&gt;MPAndroidCharts&lt;/a&gt;, to React Native. The port is not 100% complete, but there are already a good number of charts available.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://raw.githubusercontent.com/Jpadilla1/react-native-ios-charts/master/screenshots/all.png&quot; alt=&quot;demo&quot; /&gt;&lt;/p&gt;

&lt;h2 id=&quot;smarkdown&quot;&gt;&lt;a href=&quot;https://github.com/SwiftStudies/SmarkDown&quot;&gt;SmarkDown&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;A “pure” Swift &lt;a href=&quot;http://daringfireball.net/projects/markdown/&quot;&gt;markdown&lt;/a&gt; implementation. Interesting the choice of the author to only publish the library via SPM.&lt;/p&gt;

&lt;h2 id=&quot;leagueoflegends&quot;&gt;&lt;a href=&quot;https://github.com/HarrisHan/LeagueofLegends&quot;&gt;LeagueofLegends&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;An iOS App for &lt;a href=&quot;http://oce.leagueoflegends.com/&quot;&gt;League of Legends&lt;/a&gt;  ¯_(ツ)_/¯&lt;/p&gt;

&lt;hr /&gt;

</description>
        <pubDate>Mon, 21 Mar 2016 00:00:00 +1100</pubDate>
        <link>http://theiostimes.com/year-02-issue-12.html</link>
        <guid isPermaLink="true">http://theiostimes.com/year-02-issue-12.html</guid>
        
        
      </item>
    
      <item>
        <title>Year 2 Issue 11</title>
        <description>&lt;h2 id=&quot;express&quot;&gt;&lt;a href=&quot;https://github.com/crossroadlabs/Express&quot;&gt;Express&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;This new web framework developed by &lt;a href=&quot;http://www.crossroadlabs.xyz/&quot;&gt;Crossroad Labs&lt;/a&gt; in inspired by Node.js &lt;a href=&quot;http://expressjs.com/&quot;&gt;Express&lt;/a&gt; and provide the same simplicity. You can easily define a new endpoint like this:&lt;/p&gt;

&lt;div class=&quot;language-swift highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;n&quot;&gt;app&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nf&quot;&gt;get&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;/hello&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;request&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;in&lt;/span&gt;
    &lt;span class=&quot;c1&quot;&gt;// ...&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;In the body of the closure you can do all sorts of computation, and return the result as a JSON content or as an instruction to render HTML, with support out of the box for the &lt;a href=&quot;https://github.com/kylef/Stencil&quot;&gt;Stencil&lt;/a&gt; template language.&lt;/p&gt;

&lt;p&gt;Have a look at the project’s &lt;a href=&quot;https://github.com/crossroadlabs/Express#roadmap&quot;&gt;roadmap&lt;/a&gt; and see if you can contribute&lt;/p&gt;

&lt;h2 id=&quot;networkkit&quot;&gt;&lt;a href=&quot;https://github.com/imex94/NetworkKit&quot;&gt;NetworkKit&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;A simple “all-in-one” networking and parsing framework:&lt;/p&gt;

&lt;div class=&quot;language-swift highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;kt&quot;&gt;NKHTTPRequest&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;kt&quot;&gt;GET&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;
  &lt;span class=&quot;s&quot;&gt;&quot;https://hacker-news.firebaseio.com/v0/item/11245652.json&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
  &lt;span class=&quot;nv&quot;&gt;auth&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;kt&quot;&gt;NKOauth&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;consumerKey&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;consumerKey&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;consumerSecret&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;consumerSecret&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;),&lt;/span&gt;
  &lt;span class=&quot;nv&quot;&gt;params&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;print&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;pretty&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;],&lt;/span&gt;
  &lt;span class=&quot;nv&quot;&gt;success&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;data&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;in&lt;/span&gt;
      &lt;span class=&quot;k&quot;&gt;var&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;item&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;kt&quot;&gt;NKEItem&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;?&lt;/span&gt;
      &lt;span class=&quot;n&quot;&gt;item&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;lt;--&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;data&lt;/span&gt;
  &lt;span class=&quot;p&quot;&gt;},&lt;/span&gt;
  &lt;span class=&quot;nv&quot;&gt;failure&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;error&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;in&lt;/span&gt;
      &lt;span class=&quot;nf&quot;&gt;print&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;error&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;message&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
  &lt;span class=&quot;p&quot;&gt;})&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;I am personally not a fan of tools that do too much for me, but one thing is for sure, once you buy into their way of doing things you can achieve great results with very little code and setup.&lt;/p&gt;

&lt;h2 id=&quot;navigation-stack&quot;&gt;&lt;a href=&quot;https://github.com/Ramotion/navigation-stack&quot;&gt;navigation-stack&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;This &lt;code class=&quot;highlighter-rouge&quot;&gt;UINavigationController&lt;/code&gt; subclass features a visualisation of its navigation stack as a stack of the individual screens, very similar to the iOS app switcher.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://d13yacurqjgara.cloudfront.net/users/25514/screenshots/2583175/navigation-stack-swift-open-source-ramotion.gif&quot; alt=&quot;demo&quot; /&gt;&lt;/p&gt;

&lt;h2 id=&quot;log&quot;&gt;&lt;a href=&quot;https://github.com/delba/Log&quot;&gt;Log&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;A Swift “logging” framework with customizable themes and formatters, and different logging levels.&lt;/p&gt;

&lt;div class=&quot;language-swift highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;kt&quot;&gt;Log&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nf&quot;&gt;trace&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;Called!!!&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;kt&quot;&gt;Log&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nf&quot;&gt;debug&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;Who is self:&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;kt&quot;&gt;Log&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nf&quot;&gt;info&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;some&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;objects&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;here&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;kt&quot;&gt;Log&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nf&quot;&gt;warning&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;one&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;two&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;three&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;separator&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot; - &quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;kt&quot;&gt;Log&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nf&quot;&gt;error&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;error&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;terminator&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;😱😱😱&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\n&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;&lt;img src=&quot;https://raw.githubusercontent.com/delba/Log/assets/b.png&quot; alt=&quot;demo&quot; /&gt;&lt;/p&gt;

&lt;h2 id=&quot;subtlevolume&quot;&gt;&lt;a href=&quot;https://github.com/andreamazz/SubtleVolume&quot;&gt;SubtleVolume&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;This little library allows you replace the built-in volume popup with a more subtle way to display the volume when the user changes it with the volume rocker.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://raw.githubusercontent.com/andreamazz/SubtleVolume/master/assets/screenshot.png&quot; alt=&quot;demo&quot; /&gt;&lt;/p&gt;

&lt;h2 id=&quot;fuzzer&quot;&gt;&lt;a href=&quot;https://github.com/AlexDenisov/Fuzzer&quot;&gt;Fuzzer&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;The project’s README is not very clear about the purpose of this tool, but once you read the &lt;a href=&quot;https://tech.blacklane.com/2016/03/11/crash-free-code-with-fuzzer/&quot;&gt;companion blogpost&lt;/a&gt; everything makes sense.&lt;/p&gt;

&lt;p&gt;This tool is meant to help building applications that are robust against unstable web APIs. We’ve all been in a project where the API payload changed on us, without anyone being notified about it, and with the app crashing or misbehaving. Fuzzer provides a way to &lt;em&gt;mutate&lt;/em&gt; the dictionaries received from the network and fed to your parsing logic, so that you can write unit tests to validate how robust your app is when the API responses are not what’s expected.&lt;/p&gt;

&lt;p&gt;This library is an example of “&lt;a href=&quot;https://en.wikipedia.org/wiki/Mutation_testing&quot;&gt;mutation testing&lt;/a&gt;” something I consider very interesting, and wish more team setup in their CIs as nightly jobs.&lt;/p&gt;

&lt;h2 id=&quot;gooutside&quot;&gt;&lt;a href=&quot;https://github.com/dbgrandi/GoOutside&quot;&gt;GoOutside&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;An Xcode plugin to track how much time you have spent waiting for Xcode to build 😁.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://raw.githubusercontent.com/dbgrandi/GoOutside/master/images/stats.png&quot; alt=&quot;demo&quot; /&gt;&lt;/p&gt;

&lt;h2 id=&quot;cichlid&quot;&gt;&lt;a href=&quot;https://github.com/dealforest/Cichlid&quot;&gt;Cichlid&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;Another Xcode plugin, this one will automatically delete the derived data folder when cleaning, as opposed to manually do it with the “Clean Build Folder” command &lt;code class=&quot;highlighter-rouge&quot;&gt;Shift Alt Cmd K&lt;/code&gt;.&lt;/p&gt;

&lt;h2 id=&quot;grandcentralboard&quot;&gt;&lt;a href=&quot;https://github.com/macoscope/GrandCentralBoard&quot;&gt;GrandCentralBoard&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;A configurable dashboard app for your Apple TV.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://raw.githubusercontent.com/macoscope/GrandCentralBoard/develop/README/screenshot.png&quot; alt=&quot;demo&quot; /&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/tryswift/RxPagination&quot;&gt;RxPagination&lt;/a&gt; A demo project showing a FRP and protocol oriented implementation of networking and pagination&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/LitleCarl/FaceProGame&quot;&gt;FaceProGame&lt;/a&gt; An open source iOS SpriteKit game to “build faces”&lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

</description>
        <pubDate>Mon, 14 Mar 2016 00:00:00 +1100</pubDate>
        <link>http://theiostimes.com/year-02-issue-11.html</link>
        <guid isPermaLink="true">http://theiostimes.com/year-02-issue-11.html</guid>
        
        
      </item>
    
      <item>
        <title>Year 2 Issue 10</title>
        <description>&lt;h2 id=&quot;advance&quot;&gt;&lt;a href=&quot;https://github.com/storehouse/Advance&quot;&gt;Advance&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;This framework, originally developed for the &lt;a href=&quot;https://www.storehouse.co/&quot;&gt;Storehouse&lt;/a&gt; app, aims to help writing advanced animations and physics-based interaction using a simple API, using &lt;code class=&quot;highlighter-rouge&quot;&gt;CADisplayLink&lt;/code&gt; under the hood. The project README clearly states that you should look into Advance only if the animations you are trying to implement are not basic ones.&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;Advance shines when:&lt;/p&gt;

  &lt;p&gt;-You are building gesture-based interactions that use physics to reflect the behavior of the real world.
-You need to animate custom types with per-frame callbacks.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;img src=&quot;https://raw.githubusercontent.com/storehouse/Advance/master/Assets/nav.gif&quot; alt=&quot;Advance demo&quot; /&gt;&lt;/p&gt;

&lt;h2 id=&quot;btree&quot;&gt;&lt;a href=&quot;https://github.com/lorentey/BTree&quot;&gt;BTree&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;Fast ordered collections, implemented using in-memory B-Trees. The project includes implementations of &lt;code class=&quot;highlighter-rouge&quot;&gt;Map&amp;lt;Key, Value&amp;gt;&lt;/code&gt;, &lt;code class=&quot;highlighter-rouge&quot;&gt;List&amp;lt;Element&amp;gt;&lt;/code&gt;, &lt;code class=&quot;highlighter-rouge&quot;&gt;OrderedSet&amp;lt;Element&amp;gt;&lt;/code&gt;, and of course &lt;code class=&quot;highlighter-rouge&quot;&gt;BTree&amp;lt;Key, Payload&amp;gt;&lt;/code&gt;. Your application might not require a B-Tree, but I would still recommend you have a look at the project’s README as its well written and goes into the details of B-Trees and their performances.&lt;/p&gt;

&lt;h2 id=&quot;tentacle&quot;&gt;&lt;a href=&quot;https://github.com/mdiep/Tentacle&quot;&gt;Tentacle&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;Tentacle is a GitHub API built using &lt;a href=&quot;https://github.com/ReactiveCocoa/ReactiveCocoa&quot;&gt;ReactiveCocoa&lt;/a&gt;. I suggest you take a look at it as an example of how to wrap a server API using RAC, you’ll be surprised of how simple it is, and how portable the result is.&lt;/p&gt;

&lt;div class=&quot;language-swift highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;k&quot;&gt;let&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;client&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;kt&quot;&gt;Client&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;kt&quot;&gt;DotCom&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;token&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;…&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;client&lt;/span&gt;
    &lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nf&quot;&gt;releaseForTag&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;tag-name&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;inRepository&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;kt&quot;&gt;Repository&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;owner&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;ReactiveCocoa&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;ReactiveCocoa&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt;
    &lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;startWithNext&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;release&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;in&lt;/span&gt;
        &lt;span class=&quot;nf&quot;&gt;print&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;Downloaded release: &lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;release&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h2 id=&quot;markoff&quot;&gt;&lt;a href=&quot;https://github.com/thoughtbot/Markoff&quot;&gt;Markoff&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;This open source app will render markdown files and automatically reloads it when the file changes. I really like the idea of having an always up to date preview of the markdown I’m writing without having to leave my text editor of choice.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://camo.githubusercontent.com/d24b9736bb0b5e0dcc765ead5d77bf50fe1331fb/68747470733a2f2f696d616765732e74686f75676874626f742e636f6d2f6d61726b6f66662f4d61726b6f666653637265656e73686f742e6a7067&quot; alt=&quot;Markoff demo&quot; /&gt;&lt;/p&gt;

&lt;h2 id=&quot;greedo-layout-for-ios&quot;&gt;&lt;a href=&quot;https://github.com/500px/greedo-layout-for-ios&quot;&gt;Greedo Layout for iOS&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;A library for &lt;code class=&quot;highlighter-rouge&quot;&gt;UICollectionView&lt;/code&gt; layout that computes what size the cells should be to display images in a variable height fixed aspect ratio grid.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://raw.githubusercontent.com/500px/greedo-layout-for-ios/master/screenshot.png&quot; alt=&quot;greedo demo&quot; /&gt;&lt;/p&gt;

&lt;h2 id=&quot;eztextspace&quot;&gt;&lt;a href=&quot;https://github.com/goktugyil/EZTextSpace&quot;&gt;EZTextSpace&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;I’ll let the project’s testimonials describe it for you:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://raw.githubusercontent.com/goktugyil/EZTextSpace/master/e1.gif&quot; alt=&quot;demo&quot; /&gt;&lt;/p&gt;

&lt;h2 id=&quot;watchdoginspector&quot;&gt;&lt;a href=&quot;https://github.com/tapwork/WatchdogInspector&quot;&gt;WatchdogInspector&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;This handy debugging library shows your app frame rate in the status bar, and color codes it making it red when it goes below 60fps.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://raw.githubusercontent.com/tapwork/WatchdogInspector/master/screencast.gif&quot; alt=&quot;demo&quot; /&gt;&lt;/p&gt;

&lt;h2 id=&quot;other-interesting-projects&quot;&gt;Other Interesting Projects&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/b3ll/SwiftyGestureRecognition&quot;&gt;SwiftyGestureRecognition&lt;/a&gt; A gesture recognizer wrapper to help prototyping in Playground.&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/hilen/TSWeChat&quot;&gt;TSWeChat&lt;/a&gt; A WeChat clone in Swift.&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/inamiy/TryParsec&quot;&gt;TryParsec&lt;/a&gt; Monadic Parser Combinator implementation inspired by the main Haskell parsing libraries.&lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

</description>
        <pubDate>Mon, 07 Mar 2016 00:00:00 +1100</pubDate>
        <link>http://theiostimes.com/year-02-issue-10.html</link>
        <guid isPermaLink="true">http://theiostimes.com/year-02-issue-10.html</guid>
        
        
      </item>
    
  </channel>
</rss>
