What is a JSON feed? Learn more

JSON Feed Viewer

Browse through the showcased feeds, or enter a feed URL below.

Now supporting RSS and Atom feeds thanks to Andrew Chilton's feed2json.org service

CURRENT FEED

Weekly Cocoa

Weekly updated newsletter about iOS, Swift, Objective-C, CocoaTouch, and other Apple connected development technologies.

A feed by PGS Software iOS Team

JSON


25th week of 2018

Permalink - Posted on 2018-06-19 19:00

Development

Exploring @dynamicMemberLookup

Swift 4.2 brought us an ability to call properties available only at runtime. Check out how the influence of this annotation can be dangerous and what are the other options to use this powerful API but in a safer manner.

One-shot object detection

An excellent material about object detection’s why and how. Must read for all of the machine learning enthusiasts out there.

What’s new in iOS 12?

Review of new iOS features with example implementations. If you’re a reader, dive into the article, but if you’re not, there is a video for you as well.




Others

Apple Didn’t Kill AppKit, Millenials Did

A sceptical look at running UIKit on macOS. You and I may not agree in 100%, but several arguments are on point and worthy to note, not only for the future development of this situation but to reflect if it gives us that much of new possibilities in comparison to what’s available now.




As always…

If you have something interesting to add about our technology, don’t hesitate to send it to us via e-mail.


24th week of 2018

Permalink - Posted on 2018-06-12 19:00

WWDC 2018 is over but we’re still in shock. To recover from the overwhelming amount of new features, we have a bunch of nice articles for you.

Development

Swift for Android: Our Experience and Tools

It’s nice to see a team of people that took their time to build an Android app in Swift and don’t regret it. What’s even better is that they share tools they created to improve the experience.

Apple CreateML vs Kaggle

It’s great to see developers taking new APIs in their hands and trying to test the limitations. In this article, we take a closer look at CreateML, and its performance when working with real-life data sets.

iOS 12: Notable UIKit Additions

These type of sum-ups are the best, written by the developer and targeted towards devs. Excellent rundown of new UIKit features that you might have missed on dub dub 2018.

Swift Diagnostics: #warning and #error

Greg Heo chose one, seemingly simple feature that will be delivered in Swift 4.2 and takes us for a deep dive into the implementation.

Enumerating enum cases in Swift

Possibilities are endless with Swift built-in collections for enum cases. We can check out some of them in this article.

Type safe temporary models

A nifty piece of code and an excellent example of an original application of generics and KeyPaths to implement an intermediate, type-safe representation of a model.

Random numbers in Swift

Better late than never. Something we often need is finally here! Let’s walk through the brand new native random number API in Swift 4.2




Code

What’s new in Swift 4.2

I would call it a much appreciated tradition already. Big thanks to Ole Begemann for the work and sharing with the community!




As always…

If you have something interesting to add about our technology, don’t hesitate to send it to us via e-mail.


23rd week of 2018

Permalink - Posted on 2018-06-05 19:00

We are in the middle of the WWDC 2018 🚀. So many changes, so many improvements and so many features from Apple. Find out more in articles below.

News

The All-New Mac App Store

Completely new Mac App Store. Redesigned, with reach experience for end users.

ARKit 2, Core ML 2 and Siri Shortcuts

Those are only a few of many new features available in the latest iOS and macOS. Try to imagine how it would change your experience with iPhones and Macs.




Development

Let’s write Swift code to intercept SSL Pinning HTTPS Requests

SSL Pinning is the pride of Apple and is one of the most recommended security guards you can implement for your network layer. Here the question arises, how impenetrable is it? Check the post mentioned above and judge for yourself.

Let’s Optimize the Work with Terminal for Xcode Developers.

A small but useful tip for every Terminal lover. If you often use command line while developing an application on Xcode, this will help you a lot.

Static linking vs dyld3

Deep dive into launch time optimisation on iOS and dyld3. Does your app reach 400ms as a suggested launch time by Apple? Don’t worry, developers from Allegro share some hints for all of us 😉.

Any[Object]

We very much hope it’s a bug that will get fixed after this article. Until then, check what it is about and how to spare yourself the trouble with unexpected behaviour.

Exploring Text Recognition and Face Detection with Google’s ML Kit for Firebase on iOS

Small yet handful demonstration of features that new ML Kit for Firebase will offer on iOS.

Continuous Integration Services for iPhone Apps in 2018

Comparision of the cloud-based Continuous Integration system. Travis CI, Circle CI, Nevercode, Bitrise or App Center. Which one is the easiest to setup and fastest to build?




Others

A bright future for GitHub && Microsoft + GitHub = Empowering Developers

Microsoft has bought the icon of the Open Source. On Monday, Microsoft announced an agreement to acquire GitHub for $7.5 billion. Only the future will show how it will influence communities around the world.




Video

Swift NIO Live Demo

This engaging demo will guide you all the way from an empty Playground to a working SwiftNIO server. A good starting point for everyone, even if they’ve never tried writing backend applications. Check this out and see if Swift on server engages you.




As always…

If you have something interesting to add about our technology, don’t hesitate to send it to us via e-mail.


22nd week of 2018

Permalink - Posted on 2018-05-29 19:00

While awaiting the WWDC 2018 event we’ve gathered some interesting articles from the community. Stay tuned for tons of materials after June 4th 😁.

Development

Writing self-documenting Swift code

Documentation is a good thing, but there are ways to make it unnecessary. Few tips on making your code self-explanatory and saving your team from hundreds of lines of documentation to maintain.

NIO Hello World

A basic server written in SwiftNIO is not a beginner’s task. But the resource that Chris learned from is very recommendable.




Tools

TOAppSettings

Of course, you can forget keys you use for NSUserDefaults. In Swift, you can go for keys struct or enum and lightweight wrapper. Objective-C though is a different story. This little tool can help you do that for both languages and brings that object-oriented vibe to the user defaults.




Others

What’s new in Swift?

Our verdict - a must-have bookmark. This website is an excellent resource for learning Swift and catching up with new features.

Why Blockchain is Hard

If you haven’t seen it yet - a great article explaining what blockchain is all about and why it’s not suitable for everyone even if it’s a hot topic now.




Design

$300 000 000 button

How can small UX change affect annual revenue? Let us tell you an old but interesting story…




As always…

If you have something interesting to add about our technology, don’t hesitate to send it to us via e-mail.


21st week of 2018

Permalink - Posted on 2018-05-22 19:00

Continuing on daily business topics, we know it’s all in preparation for countless features Apple will present to us on WWDC. Then there will be a time for the community to learn and the articles will focus on new subjects.

News

UIKonf 2018 videos are out!

There are lots and lots of awesome materials to check including vixentael ‘s 🦊 10 Things you Need to Know before Implementing Cryptography talk from last week that we’re so excited about.




Development

Developing UIViews in Xcode Playgrounds

Playgrounds are loved and hated at the same time. Though we cannot deny the vast number of features they offer, their stability may let you down. Still, teams are using this tool in daily work, and we have an excellent example for you.

Launch arguments in Swift

Highly valuable if you want to give options to your script’s users, setup debug environment or UI test environment of your application. Tips on how to use and handle launch arguments in Swift.

Using Dedicated Objects as Delegates & Datasources

Tips and tricks that may inspire you to keep your view controller separate from table view business - delegation and providing data.

Switching Swift Versions inside Xcode using Toolchains

If you want to work on multiple Swift versions inside one Xcode, here is a way to set this up, be it from console or UI.

Using Storyboard References in Xcode

A recap of an important Storyboard feature. How to split your flow into multiple files and add new ones as necessary without losing references between scenes.

Test coverage is not about the quality of your product

An older article with a timely message. Some wise words about test coverage by @martinfowler.

Response: The Laws of Core Data

We’re sure you read Laws of Core Data by @davedelong. @mzarra decided to refer to this article and present his, sometimes very different, point of view.

AppCoda: Introduction to MVVM: Refactoring a MVC app using the MVVM design pattern

You’ve probably heard a lot about MVVM by now, but there’s no such thing as too much knowledge, we can always learn something new.

Medium: NSPredicate + Objective-C

Swift is so popular nowadays, but sometimes we have to deal with code written in Objective-C. Let’s recall how it works through the NSPredicate practice.




Tools

NSAttributedString in Swift using SwiftRichString 2

Handle attributed strings in the Swiftiest way possible with the help of protocols, Interface Builder support and loads of other features.




Design

Mental model to power up your UX

Thinking about UX of your products? Don’t ignore existing mental models by reusing well-known solutions.




Others

These 299 macOS apps are so buggy, Apple had to fix them in AppKit

Fascinating research and mind-blowing statistics that prove Apple cares about third-parties applications to the point they patch them on the system libs side.

Why Warren Buffett thinks Apple is unbelievable company?

Few interesting 💰 facts about Apple and Amazon.




As always…

If you have something interesting to add about our technology, don’t hesitate to send it to us via e-mail.


20th week of 2018

Permalink - Posted on 2018-05-15 19:00

Warm months are full of conferences and taking a break from work. We want to keep you updated whether you planned holidays or you’re taking advantage of extended evenings. This week, a few topics from the day-to-day routine like a silence before WWDC 2018 news explosion.

Development

The Laws of Core Data

This article points out the most popular misuses of Core Data that may be present in your application. It will also point a way for you to guard against them in the future.

Touch ID and Face ID on iOS

Quite an extensive post about implementing biometric authentication. Check it out no matter if it’s your first time or you’re looking for a more elegant way of handling this system framework.

X Things you Need to Know before Implementing Cryptography

UIKonf 2018 had the pleasure of hosting this great talk from vixentael 🦊. It amazed the audience, and now we can’t wait to just go through the slides. These are essential security checks you need to do before going for cryptography in your iOS app.

Care and Feeding of Xcode Configurations

We all want to bury the hatchet with Xcode. This time let’s attempt boosting our Build Settings.




Design

iOS Design Inconsistencies Across Apple’s Apps

There is something in the air, or rather in the iOS 11 design, that makes the author and us think that Apple looks for a way to make flat and dead simple iOS 7 design more pleasant and friendly.




As always…

If you have something interesting to add about our technology, don’t hesitate to send it to us via e-mail.


19th week of 2018

Permalink - Posted on 2018-05-08 19:00

Weather is hot; topics are hot, it’s a perfect time to chill in your favourite scenery and enjoy best articles from last week!

Development

Codable in practice

Thoughts, challenges and bits of advice when creating or adjusting your codebase to use Codable from a perspective of an application depending on multiple services.

Creating Clean and Reusable Views in Swift with Custom Themes using Factories

Another interesting take on managing reusable UI controls with various themes. Useful for any size application and codebase.

Best iOS hacks from Twitter: March & April Edition

A whole lot of tips & tricks from devs to devs. Compilation of best tweets you may have missed in the never-ending stream of the Twitter feed.

How To: Build A Blockchain App With Swift

Blockchains are a hot topic recently, and this article answers your inner questions, like “what is it?”, “how to start?”, “how to use it in a mobile app?”.

Five Real Device Cloud Testing Services for iOS XCUITest

Are you short on devices or computing power? Creating and maintaining a whole setup running UI tests can be demanding. Here are five device cloud options for running XCUITest.




Business

Keep The Degree Of Difficulty Down

It’s normal to be stressed when investing your time and career to start your first business. Here is straightforward advice that will take some of that burden off your shoulders.




Design

Case Study: Cuteen. UI and UX Design for a Mobile Photo Editor

Thought through application interface is what we like to look at and use. What is the process of creating one though? Here’s an overview of work it took to design one charming application.




Video

iOSDevCampDC - More Than Po: Debugging In lldb - Michelle Titolo

From basics to crazy magical stuff and LLDB Hoodoo, useful in day to day development and heavy-duty tasks.




As always…

If you have something interesting to add about our technology, don’t hesitate to send it to us via e-mail.


18th week of 2018

Permalink - Posted on 2018-05-01 19:00

This week we’re presenting great news from TenserFlow team at Google, amplifying articles in the development section, inspiring code and motivating others section. Enjoy!

News

Introducing Swift For TensorFlow

Again, Chris Lattner brings something beneficial to Swift community. This time with the team at Google they published sources of Swift for TenserFlow at GitHub! 🍾




Development

Reimplementation of Implicitly Unwrapped Optionals

Important article for all Swifters out there. Implicit unwrapping is considered bad practice in Swift repository, but it has its use cases. It’s also now a part of the Optional type itself.

Friday Q&A 2018-04-27: Generating Text With Markov Chains in Swift

Mike Ash wrote a new article on Friday Q&A series, and it’s excellent as always. We miss those fresh topics and in-depth considerations.

A disassembly of machine learning and Core ML (Part 1)

A first article from the series about CoreML. CoreML is the hottest topic in iOS since WWDC 2017, dressed up in catchy words and promises. If you’re not sure what’s the fuss about or you didn’t work on it yet and wanted a recap in machine learning field - this article is here for you.




Code

Strongly typed access to Info.plist file using Swift

Code snippets for reading application configuration emphasising Swift’s static type system.

Infinite Collections

Thinking outside the box exercise for everyone interested in testing Swift’s limits. Soroush presents train of thought from a pick of existing infinite sequence and starts defining a solution for it to generalise it later.




Tools

Behaviour Driven Development Frameworks for Swift

Overview of tools trying to fulfil the role of Cucumber in BDD for Swift. It’s also a great option for teams looking to boost their test’s expressiveness.




Others

You should give that presentation

A short story of conference presentations that will motivate you to give yourself a chance. It proves everyone can start and find a topic for themselves.

10 Signs You Don’t Do Continuous Delivery

Continuous Delivery is one of the catchphrases in today’s software development. More and more teams claim it’s part of their process. Harness challenges that with some symptoms you should be aware of when attempting to make it part of your process too.




As always…

If you have something interesting to add about our technology, don’t hesitate to send it to us via e-mail.


17th week of 2018

Permalink - Posted on 2018-04-24 19:00

May is near, the weather gets better, a and people go on holiday to enjoy Spring. We did our best to find interesting articles you can enjoy while relaxing.

News

MobileNet version 2

For all the machine learning geeks here. Google announced a new version of very performant and mobile suitable MobileNet neural network. Matthijs has some overview of what we can expect.

A blog exploring functional programming and Swift

A supplementary blog for Point-Free where you will find a deeper explanation of the topics covered in their episodes.The first post is about applying the ideas from algebraic data types to a real-world problem.




Development

Forcing Compiler Errors in Swift

Are you tired of placing fatalErrors around and wondering if it can crash for your users? Or maybe you’ve been interrupted once or ten times while debugging by an unexpected crash in code from an exotical configuration. Overview of some interesting ideas how to get this juicy early fails in Swift.

Observers in Swift - Part 2

As promised, more ways to observe state changes in Swift. On one hand closures, very popular since Apple introduced language but also extended NSFoundation with block APIs. On the other hand tokens, widely spread in enterprise software. Check how to take advantage of both!




Code

Playground driven development in Swift

A great guide how to reduce time spent on prototyping UI using Swift Playgrounds. Come out and play!

Tables & Collections with type-safe declarative approach

Every iOS dev struggles from time to time with delegate & data source for UITableView. Or more precisely with growing feed up of implementing required methods with the same logic as in three previous projects. In his article, Daniele shares with us, his refined by community project that addresses this issue.




Design

Stop calling these Dark Design Patterns or Dark UX — these are simply a**hole designs

Dark Design Patterns are a long lasting topic on the web. But what about mobile? Unfortunately, this list is full of designs against users that are widely spread on mobile.




Book

Flight School Guide to Swift Codable

You may wonder what’s so complex about Swift Codable it needs 140 pages book! But Mattt from NSHipster can guarantee every single page is worth reading.




As always…

If you have something interesting to add about our technology, don’t hesitate to send it to us via e-mail.


16th week of 2018

Permalink - Posted on 2018-04-17 19:00

Swift 4.1 just has just come out, but there is already some talk regarding Swift 4.2 🎉. Swift changes are not the only news, Apple has also started 64-bit transition on macOS.

News

What’s new in Swift 4.2?

Swift 4.1 has just been released, but the work on the next version hasn’t stopped. Paul Hudson described upcoming changes to our favourite language.

64-bit Transition on macOS

64-bits transition has started. Starting from macOS 10.13.4, users will see an error, if an application doesn’t support 64-bit architecture. From June 2018 onwards, all application updates have to support 64-bits.

Apple’s investment into Clangd and refactoring tooling

Does it foreshadow a new era for Xcode? Or maybe builds a foundation for LSP for Swift, which would open a whole new world for Linux IDE development? Let’s hope for the best and keep an eye on the topic.




Development

Stubbing XCUITests with Vapor Server Side Swift Framework

Swift is still a young language and it lacks good testing frameworks. For instance, there is no good framework to test networking. But libraries like Vapor can at least help us with mocking a server response.

Swift, Plist and Two Smoking Scripts

Tired of writing and reading scripts in Bash, Ruby or Python? Here’s Swift scripting at your service, with juicy use case that any app can gain from. Feels nice to keep even more of the codebase in our field of expertise.

Observers in Swift - Part 1

We did it a thousand times, observing state changes will always be required somewhere inside our apps. For many of you it’s not only the pattern that is useful, but the elegant and Swifty implementation.

UILayoutGuide - UI creation made responsible

This article contains strong arguments for using UILayoutGuide instead of dummy views to solve some complex layout problems.




Other

Personalized Hey Siri

A short story about how Apple engineers were improving “Hey Siri” recognition using neural networks




Business

Remote Teams

No matter if you worked remotely or cooperated with team members working that way, it’s a good article to take a look at what does this culture of daily business brings to the table. Show it to your distributed team, discuss and build the spirit that can’t be brought down too easily.




As always…

If you have something interesting to add about our technology, don’t hesitate to send it to us via e-mail.


15th week of 2018

Permalink - Posted on 2018-04-10 19:00

Great news for everyone in Brazil! Since last week, iOS users can enable Apple Pay on their favourite mobile phones. That’s not all. CocoaPods projects can now use Swift static libraries and first alpha version of fastlane.ci has been released. 🎉

News

Apple Pay Has Expanded to Brazil

Nothing more to say. Brazil is the next country whose citizens can use Apple Pay.

1.0.0.alpha.1 - First fastlane.ci alpha

Felix Krause has released first alpha version of fastlane.ci - mobile-oriented Continuous Integration system powered by Fastlane.

CocoaPods 1.5.0 — Swift Static Libraries

A new version of one of the major dependency managers for iOS has been released and it finally supports Swift static libraries 🚀.




Development

Do You Refactor without Tests? It’s Time for Safety

A few words about attempts to refactor code that’s not unit tested. They may seem bitter, but the author sincerely wants to make your life easier. Just give him a chance.

Cleaning up doc comments for formatted commits

If you want to grab some old code to rework, you may want to consider using its doc comments. Erica wrote a helper to free you from some technical work of reformatting them to the new standards.

Optionals as Collections

If you tend to forget how useful flatMap is when working with Optional type, this article proposes an interesting comparison.

Understanding protocol associated types and their constraints

Do you want to unleash new Swift 4.1 protocol’s powers? Paul shows what’s so breaking about it and how to use them to express yourself even better.




Other

Funding (my) OpenSource work

How funding can improve passion. Marcin Krzyzanowski shares his experience on ObjectivePGP and CryptoSwift frameworks.

Expanding Swift’s Reach

You want to contribute to Swift community, yet you don’t feel that confident to dive into lang repo itself? Or perhaps you wonder why Swift’s influence is still limited to Apple platforms. Check this very useful and inspiring article that will encourage you to act.




Business

iOS Developers Ship 29% Fewer Apps in 2017 – And More Trends to Watch

Big App Store cleaning lead to the first-ever decline in the number of apps. But nothing to worry about. There are still over 2 million of apps to ❤️. Much more interesting for us is a decline in cross-platform apps in comparison to native.




Video

Swift Runtime Performance - talk

Performance matters. Making application working quickly and smoothly should be the number one priority. Check what could be done to make this happen.




As always…

If you have something interesting to add about our technology, don’t hesitate to send it to us via e-mail.


14th week of 2018

Permalink - Posted on 2018-04-03 19:00

Last week, Xcode 9.3 was introduced along with Swift 4.1. This week, Xcode 9.4 beta and iOS 11.4 beta were introduced. That’s not all. Chris Lattner, who works at Google, announced Swift support for TensorFlow. This, and much more, is covered in this week’s issue of WeeklyCocoa.

News

Allowing Your Users to Manage Data Stored in iCloud

Apple has prepared for the European Union’s upcoming General Data Protection Regulation (GDPR), giving users and developers necessary tools. You should be also prepared for those changes.

Swift 4.1 Released!

With new Xcode, a new version of the Swift language has been introduced. Check what new features have been introduced in Swift 4.1.

Swift Community

At TensorFlow Dev Summit 2018 a new project was announced by Chris Lattner - Swift for TensorFlow. More details will be available later in April, but for sure it will be something interesting.




Development

Swift Four -point- One And All

Conditional conformance, JSONEncoder: Key strategies or recursive constraints on associated types. Those are only a few of the changes which were introduced in the new Swift version.

Conditional conformances in Swift

Detailed explanation and use cases for the newest feature in Swift 4.1 - Conditional conformances.

Modular iOS: Strangling the Monolith & Modular iOS: Splitting A Workspace into Modules

Some basic ideas and examples on how to modularise your code into separate projects. Definitely a must-read for everyone who wants to change a monolith application into something modern.

Protocol Oriented Programming in Swift: An Introduction

An excellent introduction to a Protocol Oriented Programming. POP is very popular across all kinds of Swift applications. If you still need to learn it, start with this article.

UIKit Dynamics in the real world

This article explores recreating the famous but yet overused Tinder UI using UIKit Dynamics.




Other

Functor » Applicative » Monad

If you have ever heard about Functional programming, you probably also heard the terms functors or monads. Bj Kandel has prepared a short summary of the functional programming terminology and its usage in the iOS application.

xccov: Xcode Code Coverage Report for Humans

First look at the new tools bundled into Xcode 9.3 - xccov. This tool from Apple should help us analysing coverage in Continuous Integration systems.

Progressive Web Apps on iOS are here 🚀

Maximiliano Firtman shares his observations on the Progressive Web Apps, a hidden feature of iOS 11.3. Check what the pros and cons of the PWA on iOS are.

Visual Programming Language

This project aims to create a node-based visual programming language that assembles to executable Swift code and can be written almost entirely using an Apple Pencil or touch.




Video

Swift for TensorFlow - TFiwS (TensorFlow Dev Summit 2018)

Chris Lattner presented Swift for TensorFlow. Soon, scientists from around the World will use Swift to create new neural networks.




As always…

If you have something interesting to add about our technology, don’t hesitate to send it to us via e-mail.


13th week of 2018

Permalink - Posted on 2018-03-27 19:00

Big announcements from IBM and Apple. Watson Services for Core ML and ClassKit were introduced. But this didn’t stop the community from doing excellent work and preparing dozens of interesting articles. All links are waiting for you below.

News

Introducing ClassKit for Education Apps

Apple Special Event has just finished. The new framework ClassKit will be available with iOS 11.4 and developer tools will be introduced with Xcode 9.4 beta.

Introducing IBM Watson Services for Core ML

Cooperation between Apple and IBM is very tight. IBM introduced “Watson Services for Core ML” which is available directly from IBM Cloud Developer Console for Apple. This and other IBM CLoud services will be closely integrated with Apple platform.

Developer Insights Series: App Store Product Page

Check out some tips and tricks on how to engage users with your App Store product page from people behind Concepts, Grokker, TypeShift, War Dragons, and codeSpark Academy. Apple gave us a tool which helps monetize applications.

Vapor 3.0 RC 2

Vapor 3 is close to finish. The new version will use SwiftNIO under the hood.




Development

Pass data backward more elegantly without using delegation

Delegation pattern has been a root concept in Cocoa and CocoaTouch for many years. But as time goes by, new concepts are born. Raymond Law presents routing as an alternative. Give it a try.

Do you often forget [weak self]? Here’s a solution

Improved and less error-prone delegate implementation. Combine the best from delegates and closures to make a cleaner solution for delegates without worrying about retain cycles.

How to make a copy of a Core Data SQLite database

Making a safe copy of a Core Data database while an application is running is not so easy. But there is a solution for that presented by Ole Begemann.

A helper for working with temporary files in Swift

Glorious and simple tool for working with temporary files from Swift.

Trunk-Based Development

Are you devoted to Git flow? Or maybe have some doubts and you’re on the lookout for something more suitable? Here’s a good article that makes an attempt at convincing mobile devs to try something different.

Feature flags in Swift

We can see a bit of a theme this week. If you want to try out Trunk-Based Development, you have to introduce feature flags into your codebase, else your integration branch will be constantly blocked. Even if you’re good with your current approach, A/B Tests are something potentially very fruitful and can use those flags as well.

How to Improve Code Comments with Little Refactorings

An important advice on refactoring that you can apply when you’re boy-scouting while implementing something else. Such a small change, but makes a huge difference.

Using Synced Realms

Not only can Realm replace CoreData in an iOS project, but it can also be used in the Cloud and replace CloudKit. Check the necessary setup and try Realm working on multiple devices simultaneously.

Making illegal states unrepresentable

You have to be careful when using Cocoa API. A lot of calls returns multiple values and very often those are optional. Making a wrong assumption can lead to incorrect behaviour.




Other

In which I get hacked, In which I get hacked, Part 2 & In which I get hacked, Part 3

Last week, http://ericasadun.com/ has been hacked. Check the insights from Erica Sadun on what happened.

Review: Continuous Delivery for Mobile with fastlane

Review of the Continuous Delivery for Mobile with fastlane book by Doron Katz.

Five Options for iOS Continuous Delivery without Fastlane

Fastlane saved almost 12 million developer hours and currently is the only complete solution for iOS CI/CD but it isn’t perfect. Check 5 alternatives for Fastlane.

Against third party dependencies

Things to consider when choosing a third party dependency for your project.




Video

Beyond Animations with Core Animation - John Sundell, Swift by Sundell

Learn from the best. John Sundell presents how to create fun and engaging animation with Core Animation.




Tools

Peek - Inspect your iOS application at runtime

Peek is an open source framework that provides runtime inspection of your application while its running on your device (or Simulator).




As always…

If you have something interesting to add about our technology, don’t hesitate to send it to us via e-mail.


12th week of 2018

Permalink - Posted on 2018-03-20 19:00

A few directly from Apple campus. Wait for some new announcements from Apple at March 27. If it’s not enough we have much more for you. Better delegates, custom operator or Realm database introduction are only a few of great articles prepared by the community.

News

Apple to Host March 27 Event in Chicago: ‘Creative New Ideas for Teachers and Students’

March 27, save this date in a calendar and stay tuned for upcoming announcements from Apple.

Last Mattt Thompsons day at Apple

Thanks for your hard work and contribution to Swift. Without you, Swift will never look the same.

Newjoiner in UIKit team

If you don’t follow this guy yet, it’s about time. Friendly souls at Cupertino are nice to see. Congrats!




Development

Delegate Strength Tip: No More Weakness

The ultimate solution for handling weak references in delegates. So brilliant and so simple.

How to Theme an iOS App Using UIAppearance

Simple yet powerful theming engine, which is using UIAppearance, prepared by Peter Witham.

Don’t Fear Custom Operator!

To make custom operator or not to make custom operator, that is the question. Everyone tries to answer this question and probably we don’t have a good answer for it, but Bj Kandel will help us decide when to use them and when to avoid them.

Preventing views from being model aware in Swift

This week John Sundell will learn us how to separate view from model and make them more generic.

Introduction to Realm Database

Beginner guide to Realm database. Check how to start with this popular Core Data alternative used by some big companies.

Swift Tip: Enum Initializers

Some tips, how to initialize Enum variable in a few different ways.




Other

Can Artificial Intelligence Or Machine Learning Test iOS Apps?

Machine learning has entered our lives and work. It was a matter of time when the ML will be introduced in testing. Shashikant Jagtap has prepared an analysis of AI/ML usage in Apple ecosystem.

Apple Watch Adoption

Insights from developer supporting all Apple Watch generations in his apps. Perspectives on longtime support differ if you ask developer or customer.

iPad Pro Workflow – General Productivity

Stay focus and be productive when working on iPad. Check which apps to use and why. Personal list created by Peter Witham.




Video

BeerMenus & Turbolinks

Nice insight into architectural bits from BeerMenus’ hybrid approach. Wondering what did they use JavaScript library for? Our recommendation is to start at a 16th slide and 19min 46s of the video.




As always…

If you have something interesting to add about our technology, don’t hesitate to send it to us via e-mail.


11th week of 2018

Permalink - Posted on 2018-03-13 19:00

Big news directly from Apple. Registration for the WWDC 2018 is open now. Beside this, we have prepared for you tons of new stuff from the community. Improving application design, how to prepare for app review, Swift NIO micro framework tutorial and much, much more.

News

WWDC18 Registration Now Open

March 22 at 10:00 a.m. PDT Apple will start selling tickets for WWDC 2018 🚀. Once again Apple Worldwide Developers Conference will take place at the McEnery Convention Center in San Jose, California, June 4-8.




Development

Throwable Optionals

Force unwrapped values are not safe and we should avoid them. But from time to time we are using them, especially in unit tests. Dejan Agostini found a way to unwrap values which don’t crash your tests.

Five Steps to Migrate iOS Project from CocoaPods to Carthage

Walkthrough for everyone who doesn’t like magic under CocoaPods and wants to migrate to Carthage. This tutorial teaches you how to migrate from one dependency menager to another.

Using tuples as lightweight types in Swift

Tuples, as a built in type in Swift, are not always appreciated by developers. John Sundell reminds us what could be done with tuples.

Size, Stride, Alignment

Are you facing a low-level challenge? Or maybe would like to take a peek under the hood of Swift memory layout? Whatever it is, we have something neat just for you.

Better Strategies Through Types

From differentiating behaviours through strategy pattern up to protocols. That’s what we call top-notch plot! But most importantly, what we recommend to you as a noteworthy article to read.

A µTutorial on Swift NIO

It took only 10 days to create micro web framework on top of Swift NIO. Go through this tutorial or just download ready-to-use framework from GitHub.




Other

Getting Through App Review

Get some experience from an experienced developer. What to do, what not to do and which solution is the best. If you are starting your first app review, be prepared for the most common cases of rejection.

Solving a Mysterious Heap Corruption Crash

Finding bugs in an application can be a challenge, but finding a bug in Swift is another level of difficulty. Agnes Vasarhelyi shares her story with alignment issue in Swift 4.

Smart Debugging - Heavy Weapons for Hard Bugs

A set of tools to handle bug of any calibre. Author has countless hours of experience in fixing bugs hiding in the deepest parts of Apple’s frameworks and we trust he prepares us for the worst.




Design

Designing a better notification experience for iOS

Concepts and ideas for better notifications on iOS. What would you suggest to improve user experience?

Good to great UI animation tips

Want to make you awesome design even more awesome 🚀? Read and implement those basic ideas to make your app even more engaging.




As always…

If you have something interesting to add about our technology, don’t hesitate to send it to us via e-mail.


10th week of 2018

Permalink - Posted on 2018-03-06 19:00

New month, a new set of articles. Swift 4.2 is coming and Apple is awaiting your feedback about the networking APIs on various platforms. Besides some hot news, you can also read about Set class, hidden performance metric and much, much more.

News

Swift 4.2 Release Process

The new version of Swift language is coming. 4.2 will include numerous bug fixes and compile-time performance improvements. As with 4.1, it will be source compatible but not binary compatible with previous version.

Networking Feedback Feb 2018

Everyone should take part and give their feedback. Show your interest and help Apple improve the pain points in the API most of us use frequently.




Development

The power of sets in Swift

Sets are powerful but not widely used data type in Swift. John Sundell will try to change this by presenting some cool examples.

Constructing human-grade parsers

Have you ever experienced SourceKit crashing with a black and white retro TV mode? 😡 That’s what you want to avoid when creating parser meant to face your users, but that’s not all.

Xcode’s Secret Performance Tests

With Xcode 7.2 Apple developers have added performance metrics. We were able to measure wallClockTime while executing unit tests. Nothing was changed since then, but thanks to Daniel Jalkut we can try a few hidden metrics 😈.




Other

Carthage or CocoaPods: That is the question

CocoaPods vs Carthage. Which one to choose, which one to use, which one is better? If you ever wanted to know the difference between those two and select the best one, now you have a chance to do that.

iOS Application Security Part 4 –RunTime Analysis Using Objection Powered by Frida

The fourth part of the “iOS Application Security Testing Series” series. If you want to hack iOS application, you should read this post.

Universal Links: The Web-App Connection

A short introduction to the universal links, site association and shared web credentials. Improve integration between your site and iOS application with a few simple steps.




Design

7 Practical Tips for Cheating at Design

Can it be useful on mobile? We hope it is as helpful for you as it is for us. In the end, it’s all about engaging the user with well-presented content.




Tools

SwiftNIO

Event-driven network application framework for high performance protocol servers & clients, non-blocking.

Zepcode

Generates Swift snippets from colors, fonts and layers.




As always…

If you have something interesting to add about our technology, don’t hesitate to send it to us via e-mail.


9th week of 2018

Permalink - Posted on 2018-02-27 19:00

A small update from Apple this week. But that’s not all. Best practices with initializers, some thoughts on controllers, also some useful information for Core ML fans. So grab a hot ☕️ and check what we’ve prepared for you.

News

Build Your Apps for iOS 11 and iPhone X & Display More Screenshots on Your Product Page

A bit of news from the Apple campus. Starting April 2018, all new iOS apps submitted to the App Store must be built with the iOS 11 SDK and Xcode 9. If you didn’t update your project, it’s time to do that. In the meantime, you can upload up to 10 screenshots to iTunes Connect.




Development

Better initializers and defaulted arguments: Part II

Erica Sadun shares her experience with initializers. How to make them less confusing and better to use? Check her advice.

Just Controllers

Sometimes we’re just crushing into a brick wall when it comes to UIKit internal implementations. 🤕 What to do? Basically, there are two ways: hacking/guarding against edge cases - working with the thing from Apple, or writing something on our own.

Code encapsulation in Swift

Working with a huge code base is not an easy task. Maintaining clean architecture is even harder. Thankfully, John Sundell has some nice tips and tricks which can help us.

How to run sysdiagnose on iOS

Have you ever experienced a crash? 🤔 Jessie has something that may buy you some attention in Cupertino.

Inside Buffer Leveraging Machine Learning in iOS For Improved Accessibility

A very inspiring article proving accessibility is another field to free your creativity and use the latest tech to improve it. There is also a highly technical part handful for anyone wishing to save binary size in Objective-C codebase and use machine learning.

Promises, Promises, Knowing I’d Believe

In the Open Source world, there is always more than one solution to a problem. Promises are no exception. To find differences among various implementations, you should read Alex Curylo’s article.




Other

A History of Ruby inside iOS Development

Swift is a beautiful modern language, but still, a lot of tools in the iOS world are written in Ruby. Shashikant Jagtap will explain why it remains so.

How I sold an old Mac and unknowingly had access to its location for over 3 years

A useful hint before selling your accomplished Mac machine. Now thinking about it, I wonder, is it a security flaw or a feature?




Tools

ProvisionQL

Very handy Quick Look plugin for apps and provisioning profile files.




As always…

If you have something interesting to add about our technology, don’t hesitate to send it to us via e-mail.


8th week of 2018

Permalink - Posted on 2018-02-20 19:00

This week some top links from iOS developers. From custom generics, through interface builder tips to the build system in the new Xcode.

Development

More Interface Builder Tips And Tricks

Do you find working with Interface Builder cumbersome? Keith Harrison has prepared a handful of useful tips and tricks that will help you to ease your pain.

Xcode New Build System for Speedy Swift Builds

Get familiar with the new Xcode Build System which was introduced in Xcode 9. It can speed your incremental builds a few time 🚀

IOS Swift 4 Generics: How to Apply Them in Your Code and iOS Apps

Swift is a simple yet powerful language. Protocols and generic types support us with resolving issues. Andrew Jaffee helps us understand how generics work and how can we use them.

Navigation in Swift

Navigation. Simple thing but can be very complicated in big and complex apps. By using Coordinators or Navigator patterns it can be easily handled.

A better NSManagedObjectContext​.performAndWait

A lifesaver for who uses Core Data in a project. NSManagedObjectContext and DispatchQueue.sync can have similar API from now.




As always…

If you have something interesting to add about our technology, don’t hesitate to send it to us via e-mail.


7th week of 2018

Permalink - Posted on 2018-02-13 19:00

Great news for all developers who use CI/CD in their projects. Felix Krause, who is responsible for Fastlane, is making self-hosted Continuous Integration platform. But that’s not all for this week. We have selected for you a bunch of articles prepared by developers from all over the world.

News

Kicking off fastlane․ci

Creator of the most important automation tools for iOS platform is making a self-hosted, mobile-optimized Continuous Integration platform for everyone.

Code Size Optimization Mode in Swift 4.1

Swift is fast, it’s a well known fact, highlighted whenever possible. But it can also be smaller! This is great news for all of us that struggle to make our apps downloadable through any network connection.

Sandboxed macOS apps can record your screen

Your privacy is once again put to the test. Old but barely known issue addressed by @krausefx is broadly commented by journalists and former Apple engineers.




Development

Stealing

This time, Soroush Khanlou improved existing code made by Erica Sadun. It is not stealing, it is sharing with the community.

Unit testing asynchronous Swift code

Since Apple introduced expectations, testing asynchronous code is fairly easy, but this is not the only solution. John Sundell shows that there are other methods.

Techniques to Connect Websites to iOS Apps

I never really used pairing website with an application. Now I know it’s worth it with a handful of usability features. We all know it well if you can make users’ life easier they more likely stick to you.

Writing declarative code using Result Extensions

Swift’s support for several programming paradigms makes me sometimes feel limitless. Just take a look at this beauty. When one article inspires other authors, the magic happens.

iOS Code Signing: 1. Getting Started,
iOS Code Signing: 2. Certificate Signing Requests,
iOS Code Signing: 3. Certificates,
iOS Code Signing: 4. Provisioning Profiles &
iOS Code Signing: 5. Signing iOS App

Code signing is the most frustrating thing which has to be done by iOS developer, but with “iOS Code Signing” series life can be easier. Five posts which describe all aspects of code signing from the beginning to the end.




Business

Nobody’s buying anything in your app? Here’s what to do next.

You’ve always dreamt about making a fortune with a game-changing application idea. First of all, try every marketing campaign you can imagine, from Facebook to ProductHunt. Don’t give up if they didn’t succeed! We have some nifty tips that will help users fall in love with your awesome product.




As always…

If you have something interesting to add about our technology, don’t hesitate to send it to us via e-mail.


6th week of 2018

Permalink - Posted on 2018-02-06 19:00

Each week we are closer to Swift 4.1 but the community is not only waiting for the new version but is have working on new stuff. This week you can read about server-side Swift, design in Sketch, Swift internals, operators and much more. Everyone will find something interesting 😎.

Development

Binary Frameworks in Swift

A good summary of what is an ABI, why it is important and why implementation makes so many difficulties.

Custom operators in Swift

Should we use custom operators? Which one? For which type of operations? Almost every developer is asking those questions. John Sundell made a summary explaining pros and cons of different approaches.

Getting Started with the Swift Frontend: Lexing & Parsing

Beginner guide for everyone who wants to play with Swift compiler internals. If you want to get Swift even better you should know how it works.

Pattern match style filtering

Tired of multiline condition closure with if case? Erica is here to help and remind us about pattern matching with Swift’s enumerations.

The 3 Laws of TDD: Focus on One Thing at a Time

How to start with TDD and avoid a headache when working on two code pieces at the same time while preserving that tight feedback loop? Check the article and don’t skip the video. 🤓

Digging into the Swift compiler: Nerdcamp is the Shovel

A great bedtime story about adventures of a man who wanted to learn what’s under the hood of the Swift compiler. A little bit less from the technical perspective, but still inspiring to try for yourself.




Other

Awesome Swift

List of awesome libraries, frameworks, news, resources, tutorials and much more. It is like Google but for Swift only 😍.




Design

Why Your App Looks Better in Sketch

Let’s compare few examples of designs prepared in Sketch and their equivalents, rendered on iOS. Spot the differences, solve them and draw conclusions.




Video

Server-Side Swift from Scratch

Making your own, perfect server-side framework by the creator of the Point-Free. Replace your runtime errors with compile-time errors and fix them before goes to production.




Tools

Lumina

Easly integrate camera from AVFoundation with CoreML and Vision.

Promises

Framework from Google to handle futures and promises. Supports Objective-C and Swift and is faster than competitors.




As always…

If you have something interesting to add about our technology, don’t hesitate to send it to us via e-mail.


5th week of 2018

Permalink - Posted on 2018-01-30 19:00

A lot of news this week from Apple, ARKit 1.5, Swift Playgrounds 2.0 and 64-bit requirements. But that’s not everything. Developers around the world were working hard to create interesting articles which are now waiting for you.

News

ARKit 1.5 Now Available

With iOS 11.3 beta the new version of ARKit is ready for developers. You can now place virtual objects on vertical surfaces and more. See you in augmented reality 😎.

Swift Playgrounds 2.0 Now Available

More news from Apple. With a new version, we can subscribe to our favourite creators and download new content directly from the app.

Reminder: 64-bit Requirement for Mac Apps & New Tools for 64-bit Support in Xcode 9.3 Beta

Just a reminder. After January 31, all new applications submitted to the Mac App Store must support 64-bit. Updates and existing apps have to be adjusted before June 2018. The newest Xcode release (9.3 beta) can help you with migration.




Development

API 4 IAP PIA: SwiftyStoreKit Seriously Simplifies Subscriptions

StoreKit and In-App Purchases are not easy but very important for every iOS developer. With SwiftyStoreKit you can very easily implement in-app purchases, auto and non-renewing subscriptions, or receipt verification.

Turning Swift compile-time safety into safety for your users

Statically typed systems are claimed to be less prone to bugs, but what are these threats we’re guarded against? And more importantly, what are the bugs that we can protect our users from? Check out this simple, yet handy example.

Model-View-Controller without the Controller

iOS application without the Controllers? Imagine post-apocalyptic desert, people fighting for food with coyotes… and table view setup fitting into one snippet. That’s right, you can get the last part without the Sci-fi landscape, from the upcoming CwlLayout. This time, Matt Gallagher shows us how the tools we use can influence the architecture of our application.

Creating a Custom Core ML Model Using Python and Turi Create

Last month Apple published their new machine learning framework called Turi Create which can be used to create and train Core ML. Now you can check how to integrate Turi with an iOS project to recognise images.

Getting Swift to run on NVIDIA Jetson TX2

Swift is not only a language which can be used on iOS, macOS or Linux. YND proofs that it can be used on an embedded system like NVIDIA Jetson TX2 to handle video processing and artificial intelligence for real-time object/face detection.

Composing types in Swift

Does phrase “Composition over inheritance” resonates in your mind? Whether the answer is yes or no, John Sundell has a great article about the idea of composing functionality from multiple individual pieces.




Other

The Perfect Bag

For any kind of journey, you will need a bag to carry all your staff. Finding a perfect bag can challenging, time-consuming or even not possible. Soroush Khanlou already made the research and shared his knowledge with us.




Tools

Awesome-CoreML-Models

A long list of very interesting Core ML models. You will definitely find something for you.




Video

Point-Free

A new Swift video series exploring functional programming and more, launched by Brandon Williams and Stephen Celis from Kickstarter.

Swift’s Reflective Underpinnings

Joe Groff from the Swift Core team talks about reflection. He explains the current state of reflection in Swift, shows tips and tricks and looks into the future.




As always…

If you have something interesting to add about our technology, don’t hesitate to send it to us via e-mail.


4th week of 2018

Permalink - Posted on 2018-01-23 19:00

Another week with a fresh list of interesting news from Swift world. Swift community finally switches to a forum, the old mailing list was archived and closed. This, and much more, is waiting for you.

News

Swift Forums Now Open!

“The King is dead, long live the King!”. Swift mailing list has been shut down and archived. From now on, new discussions and communication will be placed on the Swift Forums.

CI + CD: Looking For A New Buddy?

After Apple’s acquisition of buddybuild, some of us are trying to find an alternative available on the market. Should we use cloud-based or self-hosted solution? The choice may be hard. Alex Curylo has already chosen.




Development

Advanced Dependency Injection

When we want to test code which uses Apple built-in class, we don’t have a lot of possibilities. But with some dependency injection magic from Raymond Law, we can do it.

Namespacing with Swift

A simple but powerful solution for namespacing in Swift.

MVVM — MVC done right.

Adequate architecture is always an important decision, it has to fit the project. Since Apple MVC is not real MVC, a lot of iOS projects decide to use MVVM. But how is it different from a clean MVC? Łukasz Mróz tries to answer this question.

It Looks Like You Are Trying to Use a Framework

You’ve been using them in every app, but do you know how they look like under the hood?

Transforming collections in Swift

List of very useful and practical Swift methods for handling collections. Every beginner should know how they work and use them.

Introduction to Functions in Swift

Some says Swift is POP (Protocol Oriented Programming). However, functions in Swift are doing well! Let’s see what we can do with them.




Business

WHAT HAPPENS TO THE TRAFFIC YOU SEND TO THE APP STORE?

Developers from iA Writer share their experience with social activity, like blogging and tweeting, and talk about impact it has on App Store ratings and sales. It’s not always as straightforward as it looks like.




Tools

Alerts-Pickers

Perfect combination of UIAlertController with TextField, DatePicker, PickerView, TableView and CollectionView in a simple but beautifull library.

New Fastlane Plugin to Upload iOS binary with altool

Shashikant Jagtap prepared new Fastlane plugin for handling most important thing in Continuous Delivery and Continuous Deployment flow. Wrapper around altool can easily upload your IPA file to iTunes Connect.




As always…

If you have something interesting to add about our technology, don’t hesitate to send it to us via e-mail.


3rd week of 2018

Permalink - Posted on 2018-01-16 19:00

This week, we have tons of new and interesting links from a variety of sources. If OWASP is not telling you anything, it’s worth reading and checking if your application meets security requirements. Or if you want to play with other languages, you can check Pascal interpreter written in Swift.

News

Announcing Realm Cloud: Realm Platform as a Service Beta

Realm goes into the cloud. From now on, you can build native and offline mobile applications without worrying about server infrastructure.

Why You Need to Keep Your Mobile DevOps In-House in 2018

Which CI/CD infrastructure should we use? In-house or in a cloud? There is no simple answer, but Shashikant Jagtap has prepared a comparison of those two variants.

Q&A: Automation Guild Conference XCUITest Session

Summary of the Automation Guild 2018 conference on which Shashikant Jagtap was a speaker and had a chance to answer a few questions.

Pascal interpreter written in Swift

You may not be the first in line to write in Pascal just because of this interpreter. We totally get your point. It’s just that the great amount of work put into this project and learning material that it has created is too good not to share.




Development

A Brief Overview of Swift Compiler

Under the hood of Swift compiler. From source code to compiled binary ready to execute. It is not an easy process which requires a lot of different steps and tools to use.

Mocking in Swift

Mocking is one of the available methods to test the behaviour of our code. This time, John Sundell describes different approaches of mocking and when we don’t need to use them.

OWASP Mobile AppSec Verification Standard v1.0

Have you ever wondered how to check the security of a mobile application? Follow this guide and create safe apps!

Useful Optional Extensions

Cool stuff alert! 🚨 Benedikt got us set of not only useful but also elegant extensions for Optionals. You’ll regret you didn’t use them before, just like us!

Algebraic Data Type in Swift

Such a fine subject, I wish I could see the talk. 😍 Really innovative and broadening horizons. Anyone knows if a video will be available on the Internet?




Design

Your dialogs are too long

A hundred percent agreement here. Protect your users’ focus and patience - they’ll be thankful. One more thing, I would consider an option to undo deletion rather than alert… because YES, I’M SURE. 😜




Tools

5 Tools for Uploading iOS apps to iTunes Connect

Five ways to upload your application to iTunes. Choose your favourite graphical and command line application.

iOSSnapshotTestCase

Uber brings back to life UIView and CALayer snapshots! 📸 Did you miss it?

Bridgecraft

Are there any Sourcery fans on board? I’d expect quite a few. They’ll be happy to hear that mixed code bases will now be able to benefit from its goodness, as yet another obstacle is being removed for us.




As always…

If you have something interesting to add about our technology, don’t hesitate to send it to us via e-mail.


2nd week of 2018

Permalink - Posted on 2018-01-09 19:00

Probably a lot of us were following news about Meltdown and Spectre attacks. Thankfully, it doesn’t stop you from creating some outstanding articles, projects and updates.

News

About speculative execution vulnerabilities in ARM-based and Intel CPUs

Apple responds to Meltdown and Spectre. It’s time to finally update to macOS High Sierra and iOS 11.2.2.

Swift Playground Online

Brought to you by Marcin Krzyżanowski. Impressive!

Multiplayer AR — why it’s quite hard

This situation feels familiar, you’re asked for some feature that you know is possible to implement, but then you sometimes realize it belongs to a proof of concept rather than a customer-ready product. Notably eye-opening article about obstacles existing between one of the most desired functionalities for AR applications and an actual app implementing it.

Ending This Week in Swift

This Week in Swift, which was created by Natasha The Robot, is now closed 🙁.

Ending the Swift Weekly Brief

Another big newsletter Swift Weekly Brief operated by Jesse Squires was closed “at least for a while”. Here’s hoping that they will be back 🙂.




Development

Conditional Conformance in the Standard Library

Seemingly trivial yet long-awaited feature, conditional conformance is finally here! 🎉

Design Patterns in Swift: Observer

“Observer”, one of many design pattern used by Apple and which every iOS Developer should know. Dejan Agostini has presented two variants of the Observer pattern.

First class functions in Swift

Some languages can use functions like any other objects. Swift is one of these languages. John Sundell, once again, shows us what amazing things could be done with functions.

What Are Annotations?

PDF format documentation is tremendously long, we should be aware of that since the WWDC 2017 worked so hard to convince us. (If you have missed it, I highly recommend it - Session 241.) Why not get to know a little piece of it thanks to PSPDFKit team? 😉




Business

On loyalty to your employer

This guy specializes in recruitment of employees, let’s hear what he has to say about getting engaged and devoting yourself.




As always…

If you have something interesting to add about our technology, don’t hesitate to send it to us via e-mail.


1st week of 2018

Permalink - Posted on 2018-01-02 19:00

The year 2017 is over. Welcome in 2018 🎉. Last year was very successful for iOS / Swift developers. The community created hundreds of interesting materials, blog posts and presentations. 2018 is in front of us, so stay tuned for amazing materials which we’ll put here for you.

News

The buddybuild team is now part of Apple!

Looks like buddybuild has been bought by Apple. Will we have working and stable continuous integration and continuous deployment service finally? As usual for Apple, no free plans and no Android support 🧐.

iPhone X home button

Very impressive reverse engineering of the iPhone X home button by Sash Zats. He shows step by step how he dives into Apple private frameworks to make snippets ready to paste into your project 😳. Extraordinary 😎.

Install Xcode from App Store or Developer Portal?

Peter Witham explains the difference between Xcode from the App Store and from the Developer Portal, and which one to use.

Top Security & Crypto Fails of 2017

End of year is a time for sum-ups. Tech geeks chose a few most interesting security failures of 2017. And by “a few” I mean “numerous”, it’s a pretty big hall of shame. 😳 Which one is your favourite?

Wrapping up 2017 on Swift by Sundell

John Sundell started his adventure with blog posting almost a year ago. He summarized his experience and made plans for 2018 🎊

10 Things I Rocked in 2017: A Year End Review of XCBlog

Shashikant Jagtap, an expert in iOS Infrastructure, Build Automation, Continuous Integration Services, and many more. He has also summarized his achievements in past year. We hope that 2018 will be as good as 2017, if not better. 🎉.




Development

A hack for fixed-size arrays in Swift

When performance matters, we have to dive deeper into low-level API. Swift doesn’t support fixed-size arrays like vectors, but Ole Begemann found a way to create them.

Swift imports fixed-size C arrays as tuples

The second article from Ole Begemann about fixed-size arrays. This time, he presents how to use such data types from C in Swift code.

SingleValueCodable

That’s some mighty awesome way to use Swift’s protocols and extend Codable abilities to work with RawRepresentable types.

Killing “tmp” with Defer

A short reminder that defer has legit use cases.




Video

Zero Knowledge Architectures for Mobile Applications

Let us hear your little applause for @vixentael for sharing this great talk with us. If you didn’t have the opportunity to hear it live, we highly recommend this video, slides and couple words.




As always…

If you have something interesting to add about our technology, don’t hesitate to send it to us via e-mail.


52nd week of 2017

Permalink - Posted on 2017-12-26 19:00

It is just after holidays. Most developers took days off, but there are a few persons who find some time to write some interesting stuff.

News

Mike Ash + Apple = Swift

Mike Ash is joining Apple in January. Wish him good luck and have fun. It’s great to know that Swift will be in good hands.

Apple Updates App Store Guidelines to Relax Restrictive Rules on Template Apps

Apple has relaxed its App Store Review guidelines rules on “Template Apps” and changed a few other points.




Development

First Impressions of Fastlane Swift for iOS

In the previous post, we wrote about writing Fastfile using Swift. Now is the time for a first impression. It is still too early to say whether we should switch to Swift version, but there is a light at the end of the tunnel.

A view construction syntax

Mind blowing article by Matt Gallagher. Alternate view syntax initialization for reactive programming. Stay tuned for CwlViews framework, which should be available soon.

Separation of concerns using protocols in Swift

Walk-through of removing dependencies and creating better separations between modules. Nice example by John Sundell.

Building a Simple ARKit Demo with SceneKit in Swift 4 and Xcode 9

If you want to play with ARKit but you don’t know how to start, now you can try it with this simple step by step tutorial.




As always…

If you have something interesting to add about our technology, don’t hesitate to send it to us via e-mail.


51st week of 2017

Permalink - Posted on 2017-12-19 19:00

We’re closer to the year 2018, but before 2017 ends and we start celebrating 🎉, we still have some delightful links to share with you.

News

Write Fastfile using Swift

Great news. Now you don’t have to use Ruby to write your lanes in Fastlane 🚀. One language to rule them all 💍.




Development

Xcode Server: Enabling Code Diagnostic Tools

Spotting issues with our code is not trivial and using good tools could help us a lot. But automatic issues lookup with Xcode Server’s sanitizers is even better.

Friday Q&A 2017-12-08: Type Erasure in Swift

Next Friday and next Q&A by Mike Ash. This time Mike takes type erasure on the board and gives a very nice explanation with even better examples.

Xcode Server + Ansible: Scalable and Programmable iOS CI/CD Infrastructure

This time, Shashikant Jagtap achieved the impossible, or at least something really difficult. Manage Xcode Servers at scale by using Ansible 🎉.

Different flavors of dependency injection in Swift

Overview of different types of dependency injection. Pros and cons, case studies, and examples of initializer-based, property-based, or parameter-based.

NSMeasurement - Foundation’s Powerful API to Measure #AllTheThings

Some of the strongest APIs available on the Apple platforms are formatters and their support of localizations. With iOS 10, Measurements API was introduced, which solves problems with unit conversions. No more manual conversions of miles to kilometres.

Rich iOS notifications with custom input interface

Jimmy and his adventure with rich iOS notifications. A beautiful story about implementing engaging and interactive notifications, with custom input and media player actions.

How to import a C library in Swift using the Swift Package Manager

Swift + C = ❤️. Swift has a great compatibility with C code and libraries. Ole Begemann presented a part of the Advanced Swift book. With only a few steps you can integrate existing C library into your Swift project 😎.




Tools

CollectionKit

UICollectionView killer framework. Built on top of UIScrollView, fully customizable, with high performance and the most important … backward compatible with iOS 8.0 🚀.




As always…

If you have something interesting to add about our technology, don’t hesitate to send it to us via e-mail.


50th week of 2017

Permalink - Posted on 2017-12-12 19:00

This week, Apple surprised us with lots of news like application pre-orders or best applications and games of 2017. But developers didn’t sit idly. UI testing, Xcode Server with Slack, useful patterns with associated types and much, much more articles are waiting for you. So get hot ☕️ before you get on with reading.

News

Learning with Privacy at Scale

Apple takes care of user privacy. In the newest versions of their operating systems, they go one step further by collecting insights without sacrificing user privacy. Read how they managed to do it.

CVDisplayLink Doesn’t Link To Your Display

Rendering frame in time is crucial to have smooth, 60 frames per seconds, experience. Some findings regarding CVDisplayLink on macOS.

Apple secretly slows down iPhones with older batteries

If you noticed that your iPhone is working slower than when you bought it, then you can be right.

Best of 2017

The best apps and games on the App Store selected by editors.

Apple confirms Shazam acquisition

Everyone knows Shazam. And Apple just bought it. Wonder what will happen with the Android version of the app. Will it be integrated into Apple Music app only? Quite possible. Is it only about music? What do you think?

Offer Introductory Pricing for Your Subscriptions & Offering Your Apps for Pre-Order

More news directly from the Apple. Discounted price or a free trial for a limited time at the beginning of a subscription and applications pre-order.




Development

Xcode Server + Slack = Rockstar Combo for iOS CI/CD

Xcode Server doesn’t provide any third party integrations but, it doesn’t mean it cannot be integrated with any service like Slack. Read and do it by yourself.

UI testing analytics code in Swift

In the previous blog post John Sundell shows how to build analytics system in Swift. This time, he presents how to test it using UI testing.

Patterns for Working With Associated Types

Associated types, a powerful yet hard to master feature of Swift’s generic system. This extensive article makes good attempt to sort things out and cover typical day to day use cases.

How to Mock Standalone Functions …Without Changing the Call Sites

Some mighty test strategies out here! These allow you to mock even standalone functions from the standard library. 😎 One reason less not to test legacy codebase or any other codebase.

Enums And Protocols & Misusing Subclassing

Did you ever wonder when to use enums, protocols or when to use subclassing? Soroush Khanlou prepared excellent examples when one is better than the other.

Custom Layers in Core ML

Machine learning and artificial intelligence is a substantial technology for Apple. Every version of the iOS brings new features to Core ML. This time, Apple engineers added custom layers to the framework.




Tools

Amber

Amber is flexible architecture based on Elm & Flux ideas and developed specifically for iOS.

Weavy

Weavy is a navigation framework for iOS applications based on a weaving pattern.




Video

Playgrounds

Less about professional software developers, more about teaching. Why do we need it, how hard it is and where Apple Playgrounds are in all of this. Coding can be fun! But it requires a lot more knowledge of reality surrounding us than of syntax

Combining Swift/Kotlin with C/C++

Writing multiplatform application is hard, if not downright impossible. Michał Kowalczyk from TomTom presented how he’s using C++ to share logic across Java/Kotlin and Swift projects. Write once, use everywhere.




Others

Xcode + the iOS simulator together in full screen mode

Try by yourself and increase your focus on tasks.

An experimental feature that may improve Swift build times

New in the Xcode 9.2, an experimental feature which could improve build time of Swift projects: BuildSystemScheduleInherentlyParallelCommandsExclusively. Remember, set it to NO to try it.




As always…

If you have something interesting to add about our technology, don’t hesitate to send it to us via e-mail.


49th week of 2017

Permalink - Posted on 2017-12-05 19:00

The winter has come ☃️, at least in some places. To warm you up, we have prepared some hot news while you drink some ☕️.

News

Apple releases iOS 11.2 with date crashing fix, Apple Pay Cash included, other changes

Apple has published the new version of the iOS system - 11.2. It includes a fix to December 2 issue, which could lead to random reboots.

iOS 11 Horror Story: The Rise and Fall of iOS Security

Another security issue with Apple products. Oleg Afonin describes what could be done when someone will find your passcode.

Month 13 Is Out Of Bounds

It is not a good time for Apple engineers. Every week we can read about new issues and problems. A long time ago Google has removed December from Android. This year Apple has added a new month. What would you name it?




Development

Building an enum-based analytics system in Swift

Every application needs analytics to get a better understanding of how users interact with it. John Sundell shows how to make testable abstraction layer to any analytics library.

Xcode Server: Top 10 Limitations of XCS for iOS Continuous Delivery

Apple is working on their Continuous Integration / Continuous Delivery system since a few years. It’s time to summarize the Xcode Server’s advantages and limitations.

Xcode Server: iOS Over The Air (OTA) Installation Tips

Useful tips and tricks for Xcode Server.

Apple’s new Utility library will power up command-line apps

A new library from Apple delivers some useful data structures and helpers for CLI apps. It’s described as unstable API, so use it at your own risk.;)

Secure Coding With Concurrency in Swift 4

Swift was designed for safety, but it definitely has room to grow if we’re considering concurrency. Check how to guard your Swift code against runtime vulnerabilities, such as race conditions.

StoreKit is Broken

If you’ve ever created an application with in-app purchase, you probably struggled with Apple’s API design. If you haven’t use StoreKit yet, be prepared, designing user experience against it will be a pain.




Design

30 Auto Layout Best Practices

After all these years, Auto Layout can still be finicky. In this article, Paul Solt provides 30 practices that will help you avoid most common quirks and will allow you to work faster and more efficiently.




Tools

Flawless App 2.0

A great tool from the Flawless team has its first major update with loads of new features. Its unique integration with the iOS Simulator makes comparing design mock-ups with actual implementation a breeze. As before, we are convinced to upvote.




Others

Great news: starting with Xcode 9…

Sounds like yay! to me. 🎉




As always…

If you have something interesting to add about our technology, don’t hesitate to send it to us via e-mail.


48th week of 2017

Permalink - Posted on 2017-11-28 19:00

Enjoy a variety of topics for long December’s evenings. We’ve picked a load of articles and videos for you, CoreML, ARKit, bits of business and design.

A lot is going on this week, temperatures drop while the atmosphere at Apple gets hot. 🔥❄️

News

iTunes Connect Holiday Schedule

Important: Prepare your app for holidays. “New apps and app updates will not be accepted December 23 to 27 (Pacific Time)”. Winter Is Coming. ⛄️🏂

HUGE security issue at MacOS High Sierra

Apple, why?

New Downloads

Apple has just released new beta versions of their software: macOS 10.13.2 beta 5, iOS 11.2 beta 5, tvOS 11.2 beta 5.

Hour of Code

This year Apple will celebrate Computer Science Education Week from December 4 to 10 an initiative by Computer Science Education Week and Code.org.

Development

Training on the device

Developers’ dream or the real thing? How much can we do already and where barriers are for now?

Building automatic OptionSet entries

Swift is definitely lacking in option sets department.

Getting a room plan with ARKit (The case where size matters)

How much of accuracy we’ve gained with ARKit when compared old school built-in sensors? Join this fun, scientific journey.




Tools

Sprinter

If you feel Swift’s String formatting support is lacking, it’s a great library for you.




Design

Good design doesn’t make people happy.

This article will make you answer one question: are you designing to match client’s expectations or users’ expectations?




Business

Coders Should Fear What Happened To Writers

This controversial article warns all of us that IT is not a land of milk and honey. At least, it’s not guaranteed to be. Automation, rapidly developing technology means constant learning. For all the geeks here it sounds fun, but there is another side of this medal, check it out for yourself.




Video

Building iOS Apps at Scale

Most of us work with a team on daily bases. Whatever your codebase is growing o large already, Yusei Nishiyama shows us how to perform, deliver and don’t go crazy.

Exploring Swift’s numeric protocols &Compiler Sanitizers for Fun and Profit

Two outstanding presentations from a whole lot of worthy presentations from iOS Conf SG 2017. Go and grab anything of your interest.




Others

Three to four cups of coffee a day linked to longer life

Cheers! ☕️

Battery Life Hacks: All You Need To Know

Are you one of those irritated with your iPhone battery life? Or are you starting to feel like a dog on a lightning leash? No worries, Niklas has detailed recipe for how you can help yourself.




As always…

If you have something interesting to add about our technology, don’t hesitate to send it to us via e-mail.


47th week of 2017

Permalink - Posted on 2017-11-21 19:00

Bits of code, helpful tools, business insights, but more importantly, a bunch of top-tier development articles. Be it continuing architecture discussion, making use of child controllers or handling multiple configurations.

Development

Device-only code: A polite request for help

All hands on board! If you ever had to code something device dependent, you’ll definitely appreciate this proposal.

The Presentation Model

MVC, MVVM, MVP, MVMVC 😵 Stop by and check where all of them came from with Ben Sandofsky, whose voice of reason should pull us to the understanding of these terms.

iOS Background Transfer

A painful but enlightening story to remind us that, for the system, our apps are secondary in comparison to user’s needs.

Which commands do I use in my terminal all day?

If you’re missing out on any of these commands, Durul Dalkanat got you covered. Maybe except rbenv local.

Using child view controllers as plugins in Swift

Modularize view controllers and how to avoid BaseViewController in your application.

Managing different environments and configurations for iOS Projects

Feeling dizzy from a number of environments of your app’s backend? High-five! ✋ Fortunately, there is a native solution to help us keep codebase independent.

An On-device Deep Neural Network for Face Detection

History of the face detection on the iOS, from Core Image framework to Vision Framework.

Stop Xcode from constantly rebuilding your project because of @IBDesignable

Believe it or not, you’re two clicks away from stopping the constant project rebuild!




Tools

Changeable

Utilize powers of Swift 4 key paths and observe state changes of objects in your codebase!

xclint

Validate your Xcode Project for duplicates, inconsistencies, missing files and more.

Mint

A package manager that installs and runs Swift command line tool packages.




Business

Millennials Will Work Hard, Just Not for Your Crappy Job

For anyone who is tired of appreciating the work they were graciously given. Most probably, you’re not the one who needs to adjust.

5 Signs You Are Not a True Leader After All

Are you a leader or manager?




As always…

If you have something interesting to add about our technology, don’t hesitate to send it to us via e-mail.


46th week of 2017

Permalink - Posted on 2017-11-14 19:00

This week our Others and Code sections are especially rich and interesting. But they still cannot compare to Development, full of the best articles for all of Swift and iOS devs out there!

In case you’ve missed this occasion to smile, we also can’t wait for the top-notch iPhone. 🤣

Development

View-state driven applications

View-state driven approach won over many hearts of iOS developers, including ours. This time Matt Gallagher dives into more details with a full-blown article!

Avoiding force unwrapping in Swift unit tests

We definitely should care about unit testing, a part of it is taking care of the test’s code quality. guard, force unwrapping, optionals and custom solutions. Check which one is the best for John Sundell and the reason why.

URL parser in functional style. Part 1. & Part 2.

Quite an extensive article showing implementation process of full-blown functional URL parser in Swift.

Friday Q&A 2017-11-10: Observing the A11’s Heterogenous Cores

iPhone X has new mobile A11 CPU with two high-performance cores and four high-efficiency cores. iOS can use all six cores simultaneously. Some thoughts and performance measurements by Mike Ash.

Faster Swift Builds with the New Xcode Build System

Totally didn’t forget about it… Let’s stop pretending and give a big thumbs up to Dan for the reminder. 🌟




Code

RIBs Cross-platform mobile architecture

RIBs is a cross-platform architecture framework used for many mobile apps at Uber. The name RIBs is short of Router, Interactor and Builder, which are core components of this architecture. This framework is designed for mobile apps with a large number of engineers and nested states.

AnimojiStudio

What do we want? Animoji! How much? More! When? Now! 🦊

Use conditional conformances to implement Equatable for Optional, Array and Dictionary

🎉 There is nothing more to add.




Design

Knock Design Into Shape. Psychology of Shapes.

My favourite is the notch shape. 🤫 But others may prefer square. Find out what does it mean in user interface terms.




Video

Spontaneous Swift Sudoku Solving

Sudoku solver in Swift without complex algorithms, live, in Xcode. 😱 Perfect presentation of Soroush’s train of thought for optimistic cases all the way to brute forcing more troublesome ones.

Error Handling Made Easy

Eleni & Kostas provide us with a painless way to deal with errors that we may not believe will happen but in reality, hurt our users’ trust.




Others

Productivity

The long-awaited article that unveils some secrets behind John’s unbelievable productivity.

How Bkav tricked iPhone X’s Face ID with a mask

It happened, iPhone X was unlocked using a face mask. 🤭

Did you notice the lock doesn’t animate while unlocking using the mask? 🧐

Fixing Mail Plugins for High Sierra

Good news for users of macOS’s Mail app!




As always…

If you have something interesting to add about our technology, don’t hesitate to send it to us via e-mail.


45th week of 2017

Permalink - Posted on 2017-11-07 19:00

After weeks of absorbing news, fresh APIs and features, the time came to sum up and consolidate. We’re always glad to improve, there’s always a better way to use our knowledge. You’re welcome to join us! 😉

News

New App Store Marketing Guidelines and Resources

With iPhone X, Apple updates App Store Marketing Guidelines, adds new badges and images for your favourite 🍎 device.




Development

Dependency injection using factories in Swift

Step by step introduction to factories as a strategy of cleaning up endless dependencies passed through incidental controllers. This train of thought clearly brings us to containers. All of which are presented in an iOS environment.

Much ado about iOS app architecture

I appreciate this lecture as one of very few looking critically at growing pantheon of architectures offered by the iOS community. Don’t feel ashamed if you’re overwhelmed by this ridiculous number of options, iOS has its patterns to let you write clean code with pure MVC.

Mutating And Nonmutating Functions

Some thoughts on mutating and nonmutating functions in Swift from Soroush Khanlou. What is missing and what Apple can do better?

Codable: Tips and Tricks

We all know the Codable basics by now. It’s time to create a set of good practices around them.

Challenges of Supporting iPhone X

Early support of iPhone X unusual interface can buy you a lot of love from your present users, as well as bring new ones along. The team of PSPDFKit comforts us that we’re not the only ones to be challenged by UI adjustments.

Best iOS hacks from Twitter: October Edition

Bits of code, reminders of easy-to-forget yet painful gotchas - in general, awesome things you may have missed in the waterfall of tweets.




Design

Colour management and gamut

How to use all the Display P3 and sRGB colours and not to get lost.




Video

Building a Framework with VIPER

Keep up the good work, girl! The best 20-minute presentation of VIPER architecture concept.

Exploring Natural Language Processing

An intriguing talk that demonstrates anyone can start using natural language processing in his/her next app. 💫




Others

Core ML: Machine Learning for iOS

Meghan Kane has proven her machine learning knowledge to us multiple times. Thanks a lot for more materials to learn from!




As always…

If you have something interesting to add about our technology, don’t hesitate to send it to us via e-mail.


44th week of 2017

Permalink - Posted on 2017-10-31 19:00

The world is waiting for iPhone X. Even if it counts-in developers’ community, no one rests! Enjoy the best articles, tools and news from the last week. 🤓

News

The First First Impression of the iPhone X

Smooth and pleasant article with some of the first insights into the long-awaited iPhone X.

Submit Your Updated Apps for iPhone X

The future is now. iPhone X will be available on November 3, but right now you can prepare and upload your application to iTunes Connect.

iOS 11.2 beta & 11.1

For very short time Apple had new iOS beta version 11.2 available to download while previous beta version (11.1) was not released. It is no longer valid. Stable iOS 11.1 is ready to download 🚀.




Development

Injecting forEach into chained method calls

It would be nice to put forEach in the middle of a method chain. With his Swift’s sequences knowledge Ole Begemann found a very nice way to do that. 🙌

How to Use iOS Data Protection

Data protection levels - everyone heard about it, some know how it works, yet not everyone has used it. Douglas Hill from PSPDFKit wrote a magnificent article about the data protection, how to set it up and how to use it. 🔐

A Beautifully Elegant way to Set-Match

Welcome back, Erica! We’ve missed you! And that’s a slick and elegant way to use the power of Swift’s switch statement. We’re grateful you couldn’t stay silent about it.

iOS Privacy: watch.user - Access both iPhone cameras any time your app is running

Let’s get real, this vulnerability creates a billion-dollar business because there is nothing more valuable than information. It seems to be there forever and even gets a role in movies from time to time.

Using tokens to handle async Swift code

There are different asynchronous APIs available on iOS using built-in or third-party solutions like GCD, Operations, Futures & Promises, or RxSwift. There are at least one more: tokens.

agvtool: Automating iOS Build and Version Numbers

Apple has created agvtool tool a long time ago, but very few people know about it or use it directly. Check what can be done with it.

Friday Q&A 2017-10-27: Locks, Thread Safety, and Swift: 2017 Edition

Mike Ash updates his article about lock and thread safety. Much appreciated, as the previous version was a little outdated.




Code

A composable pattern for pure state machines with effects

It’s hard to implement a state machine, especially readable one, which state-change requirements are easy to grasp and test. Andy presents composable solution inspired by bests from functional- and imperative- paradigms and written in Swift.




Tools

Kitura 2.0

Now taking advantage of the new Codable! 💃🕺 Check the article to get an update on new features!

PryntTrimmerView

This video editing lib looks neat! 😎 There is this one thing we wish for - support of Carthage.




As always…

If you have something interesting to add about our technology, don’t hesitate to send it to us via e-mail.


43rd week of 2017

Permalink - Posted on 2017-10-24 19:00

We have plenty of engineers’ favorite topics in the spotlight this week: configuration with xcconfig and plist, application architecture, project structuring, and background work. Cheers! 🍻

News

Apple Pay Has Expanded to Sweden, Denmark, Finland and the United Arab Emirates

Apple Pay is now available in Sweden, Denmark, Finland, and the United Arab Emirates. Congrats!

Selling your MacBook Pro with Touch Bar? Apple recommends this step

Tip from Cupertino on selling MBP with Touch Bar without your fingerprint.




Development

The worst possible application

What does the worst mean to you? Maybe you don’t completely agree with this interpretation of the worst, but it’s definitely up there. Can you point out all the flaws without looking at the final implementation?

Leveraging frameworks to speed up our development on iOS - Part 1

Reasons for as well as pros and cons of project modularization. An approach definitely worth considering, especially for large teams and comparable codebases.

iOS Architecture: A State Container based approach

The goal of this blog post is to show the architecture that the iOS team at Jobandtalent has been developing over the last few months. It’s an architecture that leverages Swift, value types, generics, sum types, and some React Native experiences. It works for them and it might work for you as well.

Throttling calls in Swift

Throttling is basically a mechanism that restricts the amount of scheduled work and may become spare. No matter what scenario you think of, this idea should pass the test.

Hey Siri: An On-device DNN-powered Voice Trigger for Apple’s Personal Assistant

Apple once again shares some details related to artificial intelligence. This time their engineers describe how the “Hey Siri” detection works across multiple platforms.

How To Manage Plist Files With PlistBuddy

An introduction to Apple’s PlistBuddy tool, which lets you manage the content of the plist files from the command line.

Using Xcode Configuration (.xcconfig) to Manage Different Build Settings

Managing multiple versions of an application is hard. Questions appear: should we use conditional building? Or rather create additional targets? There is a third way: Xcode configuration files.




Tools

Difference

A nifty little tool that points out the exact difference between two instances.

Cards

An easy-to-use implementation of charming cards from the new App Store.




Business

Why we are not cross-platform developers

Cross-platform development is tempting, especially because of cost reduction. But is it always the answer? The point of view presented here is close to our hearts.




Video

Comparative Asynchronous Programming

It’s good to hear Ash Furrow on stage again. Great talk on a very hard and sensitive topic.




As always…

If you have something interesting to add about our technology, don’t hesitate to send it to us via e-mail.


42nd week of 2017

Permalink - Posted on 2017-10-17 19:00

This week is filled to the brim with things to read, some to peek at, each and one of them highly worth checking out. Enjoy bits about architecture, security and open source, latest conferences releases, iOS UI/UX stuff, and more!

Development

Open sourcing Swift code

Guide for everyone who wants to start with open source and create his first project, for free, with code available publicly for everyone to look at. Great tips by John Sundell who already has several open source projects on GitHub.

iOS Privacy: steal.password - Easily get the user’s Apple ID password, just by asking

Next article in the series of iOS Privacy from Felix Krause. This time he found a way for phishing user’s Apple ID password.

How to write a simple real-world app based on the MVVM

In-depth tutorial about implementing MVVM architecture in an actual iOS application. The author faced same problems you would face and yet comes away unscathed. It should clear some of your doubts about this recently glorified architecture.

Modular Xcode projects

Xcode’s project structure from the ground. Cocoapods and Carthage can be a block box to some. If you want to know how those tools resolve dependencies, then read it. Pedro Piñera made a great work.

Deep links with no brainer

They’re everywhere, if any app you’re using happens not to support them, most probably you’ll be disappointed. Take a second to ask yourself how do you handle them? If the answer is nothing to be proud of, it’s time to change it with Ilya.




Code

Kryption - Secure, live messaging app

Nothing to add, check it out yourself. 🚀

Clean Swift Architecture

A new architecture for big and complex iOS apps. Looks interesting, but Configurator as a singleton worries me.




Design

iOS 11: Suggesting A better Control Center

It’s nice to know I’m not the only one struggling with a WiFi network connection. If we become loud enough, they should hear us in Cupertino. 📢




Business

Why Isn’t Agile Working?

A lot of companies are “doing Agile” instead of “being Agile”. The difference is not that easy to see, but John Cutler explains it nicely (with images 😎).

We fired our top talent. Best decision we ever made.

A great story teaching us how important is teamwork and communication. If there is one thing you should take from it, note that even masterpiece-like code will loose against maintainability if not documented and tested extensively.




Video

Functional Swift Conference Fall 2017

Functional Swift presentations are here. 💃 Check out another perspective of looking at Swift. ☣️ Warning! Highly addictive and inspiring materials.

MVVM at Scale: Not so Simple…

I think we all know this well, new architecture supported by a ton of tweets and rapidly growing amount of blog posts. And yet you seem to miss the opportunities it proposes, because it’s not easy to see its purpose in an iOS application. You’re not alone, someone finally said it out loud!

NYC try! Swift presentations come out one after another, don’t miss out on any, here!




Others

Awesome Ladies iOS Engineers to Follow on Twitter

If you find someone new on this list, you’re probably missing out a lot.




As always…

If you have something interesting to add about our technology, don’t hesitate to send it to us via e-mail.