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


30th week of 2017

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

Every week, the community provides us with new materials about upcoming API’s. Also, Machine Learning seems to have become a regular guest. Don’t think we forgot about ARKit - in fact, we think it’s really fun and would like to encourage you to try it out. That’s why we prepared the ARKit Snake game! 🐍 It’s open source so everyone can dig right into it.

News

New Beta Downloads Now Available

🆕 New beta versions now available. Xcode 9 beta 4, macOS High Sierra 10.13 beta 4, iOS 11 beta 4, watchOS 4 beta 4, tvOS 11 beta 4. Download now and give them a try.

Xcode’s Subversion integration will be deprecated in a future release.

Don’t lose hope!

Apple Machine Learning Journal

🔥👨‍🚒 Apple has launched its own blog about Machine Learning at Apple. The first entry is about Improving the Realism of Synthetic Images but there will surely be more posts to read and more material to learn from. What do you think, why is Apple making a neural network to detect the human iris?




Development

Working with CoreNFC in iOS 11

A step-by-step tutorial of the NFC handling in iOS 11. There are plenty of reasons why you need your next app to support NFC. You definitely want to start with NFC tags in this article.

3DSnakeAR

We have given ARKit a try this time. A well-known game, Snake, was brought to life and released into the wild 3D world of Augmented Reality.ARKit is truly a game-changing, easy-to-use framework. After only a few days, our snake charmer [Michał] (https://twitter.com/@_mkowalski) surprised us with a snappy specimen in our office. If you’d like to have your own, check this GitHub project!

Building a declarative animation framework in Swift - Part 1

If you remember Creating great animations on iOS from the previous week, John Sundell has a long-awaited extensive article on this topic. Create your own declarative animation framework. And be sure to stay tuned for the second part.

iOS Simulator on steroids: Tips & Tricks

You will definitely love this article. All tips and tricks of the iOS Simulator in one place - the internal menu item, screen recording, sharing extension, and much more. Great job Ahmed 👍.

- Did someone say multiple Simulators? Can they deliver it with an iMac Pro? 😁

Robust Adversarial Examples

Is it a cat or a monitor? …or cat monitoring?

Pros and cons of iOS machine learning APIs

One blog post to rule all the machine learning APIs available on the iOS. A comparison of all ML frameworks like CoreML, Metal Performance Shaders, TensorFlow and Caffe, made by Matthijs Hollemans. If you don’t know which one to choose, read this to find out.

Customizing the file header comment and other text macros in Xcode 9

We have been doing it wrong. A great candidate to include in the Initial commit next to .gitignore:<ProjectName>.xcodeproj/xcshareddata/IDETemplateMacros.plist

All about Concurrency in Swift - Part 2: The Future, CoreData: CRUD With Concurrency In Swift – Part 4

Marco and Umberto team up to serve us fully fledged materials on Swift concurrency from different perspectives.




Business

Apple’s Long History of Rejecting ‘Objectionable Content’ From the App Store

Are there any App Store release fans on board? That’s what we thought. We all agree it’s a serious pain of Objectionable Content. 🕵️🕵️




Video

5 Secrets of Reactive Programming

Listen to tic-tac-toe, it’ll tell you secrets that will make Reactive Programming closer to your Swifty heart.




As always…

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


29th week of 2017

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

A lot of various topics are covered, from Swift 4 to API changes. Also, ADDC 2017, App Design & Development Conference, provided us with few interesting videos, although we could include only tiny part of them. Quite a lot of them touches communication subject, no matter if it’s Designer - Developer, Developer - Management, or Developers to one another, we can all learn from that.

News

What’s new in Swift 4

Swift 4 Playground by Ole Begemann now covers @objc inference, new integer protocols and even more examples!

Why We Love 1Password Memberships

Recently we could hear a lot around 1Password and its plan to remove local vaults from the application like: Who moved my cheese, 1Password?, Why Security Experts Are Pissed That ‘1Password’ Is Pushing Users to the Cloud or 1Password has confused everyone with shift to cloud-based subscriptions. But thankfully AgileBits responded with the blog post which should calm us down. You can track Twitter account to get the newest information.




Development

iOS 11, Privacy and Single Sign On

Have you ever struggle with a third-party library? Or maybe you had to extend release scope to rewrite functionality that uses abandoned open source project? Unless I would have to invent the wheel from scratch, I try to avoid third parties. And I’m not alone with such concerns, e.g. Arek Holko. It feels nice to have Apple to support you with a native solution. We hope simplification of API and dev’s flow will become tradition side-by-side with user experience improvements.

Cracking the code behind Apple’s App Store promo card design

It’s not really a surprise that Apple came up with an unconventional way of handling gift cards. Esthetic and readable but also customised to trigger device’s scanner. As always, this feature will be private for a while but it doesn’t mean you cannot hack it, right?

Changes to location tracking in iOS 11

WWDC 2017 introduced a lot of changes, bigger, like ARKit, and smaller, ones that are easy to miss. But iOS community is truly amazing and have us covered. This extensive article about upcoming Location API changes is a great example.

Hyperproductive development

Everyone that has never had this kind of relationship with their application - raise your hand. So we’re all guilty of going with the flow. Or maybe we should be proud of our performance then? Start to be proud that you child has grown, in size or importance, and it deserves more people to take care of it. Remember that you have the power to teach others to take good care of it.

Reducers - Dealing With Asynchrony

How to deal with state changes and asynchronous code? One will love reducers pattern as shown in the article, the other may be sceptical, for example, my colleague Łukasz. The important part is that it’s testable.

User Breakpoints in Xcode

Overview of all breakpoints type available in the Xcode by Michael Ochs. You can even make a joke for your coworkers by playing custom sounds during debugging. 😂




Tools

MessagesView

Probably, the best open sourced control for messages on GitHub. Configurable from Interface Builder, a collection based and fully customizable. Check out the article to learn more - The Messages View – Online Communicators Made Easy.

Branch Metrics - Deep Linking, Attribution and Mobile Marketing

Battlefield tested by integrating with one of our older projects. Downloads count risen significantly in one month! Consider giving it a try.




Business

Why you should argue with your employees

As an employee, I totally agree. It’s a sign of trust from both sides.




Video

Creating great animations on iOS

I can repeat it once again - it’s really hard to unite designers and developers. Even though we share the same goal of creating delightful, impressive application. Going through animations improvements take time and may cause frustration. Check John Sundell sharing his experience with us.

Lost in translation

How does the team that has eyes of the whole world on itself solve communication issues? What are they struggle with?




Others

Simulator in full screen

Marcin Krzyzanowski‏ showing simulator debug menu and iOS in fullscreen.




As always…

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


28th week of 2017

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

News

New Beta Downloads Now Available

Hot stuff alert! 🔥 New beta versions are now available. Xcode 9 beta 3, macOS High Sierra 10.13 beta 3, iOS 11 beta 3, and tvOS 11 beta 3. Just watch out for this kind of surprises.

Introducing Vapor Cloud — A Fast and Reliable Cloud Service

Nice to meet you! 👋 A friend of Swift’s is a friend of ours. This serious contender should ease all your doubts about server options for Swift on the web.

I Got Hacked and All I Got Was This New SIM Card

The short and interesting story of Justin Williams, who was hacked with 2-factor authentication enabled. These days, even security codes sent via mobile phone aren’t secure.




Development

Writing end-to-end JSON mapping tests in Swift

A great example showing how to improve unit and end-to-end tests containing JSON by making a single source of truth, without involving web service connection.

Errors On The Server

It’s really pleasing to welcome the second article about Swift on a server. And, we aren’t done yet! 👓📖 In this great article, Khanlou dives into error handling in Vapor.

How do I use result types? When using a Result enum for callbacks, how to access the Error?

With the arrival of Swift, the Result enum appeared and joined a canon of best language practices. Most of the frameworks probably already use this to handle failable and asynchronous operations. Here you will find best practices concerning the handling of Result in your application. For an advanced trick catch up with Daniel Steinberg in the Video section.

Lessons Learned Using Server-Side Swift in Production

We wrap up on the server-side Swift topic with this extensive article. It’s a summary of the experiences gained through building a production-ready backend. A few points will surely surprise you – and some may even save you lots of trouble.




Business

How Often Should You Update Your App?

I leave the office to get a little walk home – a quick glance at my iPhone and what do I see? App Store’s red badge with ten pending updates. 😰 Last week, we learned how to decrease their size. This week, we’ve got insight into how frequently we should release a new version.




Video

Swift Talk #57 Certificate Pinning

An application providing sensitive data requires an appropriate security mechanism. Certificate pinning is an example of one such mechanism. The objc.io team, in collaboration with Rob Napier, can’t wait to help you with that in your existing app!

Why the Func

My personal favourite this week. It’s like exercise for your brain! 🤔 Every second of it will make you wonder about all those goodies to introduce to your codebase. 🍰🍩🍍 Thank you for opening our eyes to the multiparadigm abilities of Swift, Daniel!

How to Clang Your Dragon 🐉

When Swift 4, iOS 11, ARKit, or CoreML just aren’t enough for you anymore. If you’re looking for something more challenging, perhaps it’s time to build you own language. Harlan Haskins shows us how to build your own compiler with Swift and LLVM. 🐲




Others

What Happens When Two Artificial Intelligences Try To Prank Each Other?

- Knock, knock.

- Who’s there?

- 🤖




As always…

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


27th week of 2017

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

News

AutoMate 1.4.0 & AutoMate-AppBuddy 1.2.0

New versions of the UI test automation frameworks are now available. They are compatible with the macOS and tvOS platforms and are characterised by improved testing in the landscape orientation.

coremltools 0.4.0

Apple has released a new version of the coremltools, which introduces the Keras 2 models support 🤖.




Development

Cocoa AI

A well full of resources regarding CoreML. Check models, demo apps, and helpers to start with Machine Learning on iOS today.

An aside about flatMap and monads

A monad is a topic that concernes Swift developers since the very beginning. There are plenty of articles about it but IMHO this is the best one right now. The theory it puts forward is placed in the context of Swift’s standard library. At the same time, it gives an insight into the Haskell use-case. Now it’s become clear to me why the flatMap topic may be so emotional for developers with a functional programming base.

Advanced Sequences On The Server

Soroush Khanlou strikes again – this time with Swift Sequences and a great article about how he used them in the Beacon project. Definitely check it out – even if you are not writing a server application in Swift. Battlefield tested. 💪

10 Myths About Docker That Stop Developers Cold

Are you afraid of Docker? I was, even though I wanted to give Swift a try on Linux. So check this out, and let it make you a believer. What then? You can grab a Swift image and play with Swift from any system you’re using.

One Weird Trick to Lose Size

Currently, social networking applications occupy more than a hundred megabytes. Facebook has more than two hundred. You can do better! Earn the sympathy of users as well as their LTE package and iPhone storage. Read about how Halide developers managed to avoid oversizing an application.

Asset Catalog Changes in Xcode 9

Cory Bohon discusses how to work with the new Assets Catalog in Xcode 9. It will let you unleash the power of vector graphics and colour assets. 💥

How HBO’s Silicon Valley built “Not Hotdog” with mobile TensorFlow, Keras & React Native

A behind the scenes look at Silicon Valley. An entire history of how to make an app that identifies hot dogs (and not hot dogs) using neural networks. Everything was done by a single developer. 😱

Hands-on XCUITest Features with Xcode 9

We’re glad that someone paid attention to upcoming XCUITest and XCTest features at WWDC 2017 - and is as excited as we are about the new possibilities and the generosity of probably the biggest update since introduction of the Xcode UI automation. If you have never tried to automate UI testing with Xcode check this list of new possibilities and start now. We think we can help you with it through AutoMate. I can’t wait to migrate it to Swift 4 and fresh XCUITest.




Design

How to enhance mobile interactions with sound design

We know how to create an engaging UI experience in our iOS applications. But not many of us dive deeper into the sound experience. At Facebook, they pay attention to every detail. Check out what it looks like when it’s done right.




Others

Developers Who Use Spaces Make More Money Than Those Who Use Tabs

The tabs vs. space soap opera continues. This time we have a good argument against tabs. 🔫




As always…

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


26th week of 2017

Permalink - Posted on 2017-06-27 19:00

News

ARKit Weekly

That’s how you recognise the beginning of an upcoming trend. 🤓 Check out the best ARKit showcases, articles, and links.

Development

Using SpriteKit to create animations in Swift

Woo-hoo! 🚀 Did you know that we can animate the content of an application using SpriteKit? Apple developers already use it in the memory debugger in Xcode. Now read the article and go try it out in your own application.

Statements, messages and reducers

An excellent ✨ and timeless article about code structuring. Check out a way to manage state that’s rather unconventional for our platform. Try to introduce the Reducers pattern to isolate stateful code units.

Swift 4 Decodable: Beyond The Basics 📦

Let’s be honest, how long did it take you to implement the basic Decodable and/or Encodable struct? Right, okay, but is it enough for your amazing yet complex application? If you want to challenge yourself and play with a Codable API a little more, this would be a good starting point.

Server-side Commands

Swift + servers = ❤️. Since Swift runs on Linux, the Swift Package manager is getting better and there are a plenty web frameworks for Swift to choose from. It’s time to start paying attention to best practices and patterns, like the Command pattern by Soroush Khanlou.

YOLO: Core ML versus MPSNNGraph

Do you remember the Real-time object detection with YOLO article from the 22nd week of 2017? Matthijs Hollemans now compares YOLO using the newest CoreML framework as well as the MPSNNGraph – simplicity vs. greater control. Which one to choose for your next iOS 11 application?

iOS: How to open Deep Links, Notifications and Shortcuts

It’s a great tutorial about deep links, notifications, and shortcuts. You should definitely check it out and integrate those methods into your own application.




Tools

Introducing fastlane precheck: Submit your app to the app store with confidence

A new Fastlane tool from Felix Krause and Fabric - say, “No more rejected metadata!” 🚀. precheck can automatically download your application’s metadata and see if it complies with App Store’s guidelines – within mere seconds 🤖.




Business

Why we’re betting against real-time team messaging

Yet another communicator for teams, but with a Twist. Are you tired of checking your conversations every minute? This article not only introduces a new, thread-focused communicator, it also makes a case against addicting, real-time messaging solutions.

Why Tim Cook is Steve Ballmer and Why He Still Has His Job at Apple

An interesting, but controversial, article about what happens to companies when they lose a visionary CEO. Apple is a prominent example of this. How does Tim Cook compare to Steve Jobs? Distance yourself from this matter for second and check out this unusual point of view.




Video

Made With ARKit

ARKit was one of the biggest announcements made at WWDC 2017. Developers from around the globe started playing with the framework right away – have a look at the outstanding things they created.




As always…

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


25th week of 2017

Permalink - Posted on 2017-06-20 19:00

Development

Fixing Autocompletion on Mixed Objective-C and Swift Projects

Is your autocompletion not working in Xcode? You’re not alone! Actually, everyone has this issue. The only thing we were able to do until now was to restart the Xcode, reindex the project, or clear the DerivedData folder. But thanks to Miguel and Apple engineers at WWDC 2017, we can finally fix this issue! 🤓

What Not to Log When Remotely Debugging Mobile Apps

An application shouldn’t log sensitive data on a console or save it in plain text - everyone knows that. But do you know what those sensitive data are? Passwords, tokens, API secrets, and perhaps even others? You should definitely check it to ensure your application is in line with your local region’s regulations.​

Asset Catalog Improvements 🎨

If you were working (or sleeping) while the WWDC turned our development 360°, high five! 👔 Now is the best time to catch up and prepare yourself to use new abilities in 200%. The improved Asset Catalog aspires to be new centralized style source for our applications.

Do MVC like it’s 1979

It starts out innocently with little bits of MVC architecture’s history. This may seem as if it’s not a very popular topic because who writes MVC apps in 2017? (Oops, I do… 😇) But don’t judge a book by its cover. This article attempts to convince you that MVC can be a guideline for modern application architecture. Give it a try.

MemoryLayout

Long time no hear from Russ Bishop. But this gotcha can definitely come in handy whenever we happen to work with pointers. And it’s nice to have someone who’s been there.

DeviceCheck

🆕 Please welcome the long awaited API for identifying devices without the possibility to track users. Persist a tiny amount of data between restarts. No Uber-like hacks necessary.

Swift World: What’s new in iOS 11 — Vision

As you already know, computer vision and machine learning have huge potential. Things like image classification, face detection, text detection, and many others. Check the possibilities presented by the new Apple Vision framework and have fun with it.

What’s New in iOS 11 Notifications?

That’s what we call a great community! There’s always someone who has your back with these small but crucial new features.




Design

Functionality vs Emotions in Mobile Interface Animation

A case study of delightful design and seamless usability. It’s worth checking out, if only for the provided animation examples.

Using Apple as a Case Study to Predict the Future of UI

You should always aspire to be ahead of the curve. Check if you can prepare for upcoming trends by getting familiar with Apple’s changes.




Videos

Why We Climb

A short but surprising comparison – ideal for a coffee break. ☕️




Others

Speaks for itself

A cat’s life.. 😹




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 2017

Permalink - Posted on 2017-06-13 19:00

First, a comment from the WeeklyCocoa editorial team – iOS 11 took over this week! One system to rule them all! Long live the king! 👑

News

Crypto and SSL Improvements in High Sierra and iOS 11

There’s no doubt, Apple cares deeply about user privacy and always enforces high security and cryptography standards. In iOS 9, they introduced App Transport Security (ATS), which enforced TLS 1.2 and a strong certificate. With macOS High Sierra and iOS 11, they are going a step further; TLS 1.3, LibreSSL instead of OpenSSL, and more.​

Apple’s new iMac Pro costs $5000, but is it overpriced?

The newest Apple desktop personal computer for professionals was announced at WWDC2017 last week – pricing starts from $4999 or as people noticed a kidney 😅. But maybe Apple has finally made a comparable device with a competitive price? You should check for yourself and tweet us your opinion!

xdebug, xtree, xobject and xnoid

If you write UI tests for iOS, you’ll love this – four new commands for Chisel which will improve your development. Give them a try!

Since it was only added to the master branch, there is no release yet. You have to clone the repository and modify the ~/.lldbinit file according to the instruction.

Thanks, Bartosz! 🍾

Development

iOS 11: Machine Learning for everyone

A deeper look into the CoreML, Metal Performance Shaders and Vision frameworks on iOS 11 – possibilities, limitations, and crashes.

Of course, our life would be much easier without Apple framework crashes but, you know us, being able to classify a picture of a kitty melts our hearts a bit. 🐈 If you want to know how CoreML competes with other machine learning tools, you should start here.

New rules following WWDC 2017

Shorter application names, App Store customer reviews, only up-to-date features and framework usage, and many other changes in the App Store Review Guidelines. Save yourself some time and catch up with the actual conventions before your application is rejected.

Exploring the new String API in Swift 4

Let John awaken your desire to migrate to Swift 4 and take advantage of all the long awaited features.

iOS 11: Notable UIKit Additions

If you don’t know it yet, you should check it out. Three subjectively picked, but worth appreciating, changes in the UIKit: UIStackView, UITableView and… we won’t spoil it for you.

Encoding and Decoding Custom Types

Check this tidy description of a new encoding and decoding API by Apple! 🍎 IMHO there is no better article about Codable than this official documentation, seriously. I hope it foreshadows a new era of official documentation quality. If you have anything interesting regarding this topic, let us know via e-mail. We’re waiting for your posts to shine. ✨




Design

iOS 11, Complexion Reduction & Apple’s New User Interface

Although Machine Learning and ARKit stole the show, design changes caused a stir from the very first moment they were announced. And just when it seemed that iOS 7’s UI revolution will stick around for some time, slowly but surely, Apple Music-like design began spreading across system applications. What is this Complexion Reduction really about? We highly recommend checking out the mentioned primer by Michael Horton.




Business

How to Make $80,000 Per Month on the Apple App Store

Do you have an application listed in the App Store? That offers in-app purchases? No matter the answer, you’re probably wondering – where does all of this money go?. 💸 Check out this article and share it with your loved ones to help save them some cash.




Video

‘Crack Marketing Team’ — Live From WWDC 2017 With Phil Schiller and Craig Federighi

A pretty good show with faces we hope to see every year. But what’s more important – a few answers you might seek and would have a hard time getting elsewhere.




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 2017

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

News

What’s New: Things that caught my eye

A short summary of the​​ ​WWDC 2017 Keynote and some of the new frameworks available on the iOS 11.

Xcode 9 beta Release Notes

Too long to read? These are our favorites: ⚡️💫

  • Swift code refactoring
  • Increase and decrease the source editor font with ⌘+ / ⌘-.
  • Dragging files between groups in the Project Navigator now moves the files in the filesystem and updates any associated SCM working copies.
  • You can run multiple instances of Simulator to speed up tests by running them in parallel.
  • Rewritten source editor.




Development

Xcode: Advanced Breakpoint Usages

A great overview of almost all breakpoint types in Xcode 8. Everyone can find something new – check them out to improve your debugging skills.

Introducing ARKit

Just a few hours were enough to prepare a ​​sneak peek of the new ARKit framework available on iOS 11.

Secure iOS application development

Knowing where the trap is—that’s the first step in evading it. ~Frank Herbert, Dune

Read it, accept it, make it a calling card of your quality. Don’t be ashamed if you see some of these issues in your existing application. We’re sure, your users will appreciate every security update.

Kick Your Manual Iteration Habit

Pavol makes attempt to convince us to think about our code in a wider perspective. To understand its purpose and boost it with a good use of built-in abstraction. With Swift, you can stop thinking about steps computer needs to perform to do what you told it to. Swap your loops with higher-order functions!

A deep dive into Grand Central Dispatch in Swift

Don’t feel ashamed, just dig into this extensive description of the Grand Central Dispatch framework. Look further than Dispatch.async with John. This should save you a lot of lower level coding with NSOperation.

Installing and using Kotlin from Xcode, Kotlin functions & Kotlin collections

From zero to Kotlin by Erica Sadun. Compare the Kotlin language syntax to Swift and give it a try in your Xcode. Yes, you read that right – Kotlin on Xcode.




Tools

Doctor Pretty

A pretty Swift printer aware of column size. You may wonder – why do I need this? I get it, I’ve been there, but then it captured my imagination. Even if the opportunities don’t, the implementation should inspire you.




Business

8 Bad Mistakes That Make Good Employees Leave

This one’s for your managers and leaders. Did you ever wonder why a particular excellent developer is leaving such a great company? Maybe your company is making mistakes you’re not aware of? “People don’t leave jobs; they leave managers” – read about eight really bad mistakes that make good employees leave.




Other

Oh no

Apple remembers your pets. 😹




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 2017

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

Development

Man in the Middle iOS Attacks: The Danger of Relying on a Single Layer of Security

A great opportunity to remind ourselves that we should be grateful for Certificate Pinning and use it anytime we’re exchanging data with a server. There are also a few other possible ways to protect sent or received data.

Mixing Constant and Literal Strings

In every codebase, there is always room for improvement – especially with the endless possibilities Swift offers. No matter what you’re using for the network layer, you won’t avoid app specific constants. These hints will help you sleep better at night.

UIDebuggingInformationOverlay

We know this looks like some new tool but, believe me, this is another sweet piece of private API. I can clearly recall how many times we’ve debugged all this stuff with LLDB and Facebook’s Chisel. Save yourself that pain with a simple, two-step setup.

Real-time object detection with YOLO

Machine learning is the hottest topic right now. Google has recently said that artificial intelligence is already better than the human mind in the field of image recognition. This week, we take a look at the neural network which will point your kitten on a picture after just one look.

Should I use Viper architecture for my next iOS application, or it is still very new to use?

A few interesting answers from developers, who have had varying experiences. Whom do you agree with?




Design

Design for Fingers, Touch, and People, Part 1 & Design for Fingers, Touch, and People, Part 2

Did you know that “fewer than 50% of users hold their phone with one hand”? Go back to the past and explore the history of touch screens – how they used to work and what they are now. At the end, you will find out how users use their mobile phones and how to design an application for them.




Business

How much I’ve earned on the App Store

Do you identify with Stephen as much as I do? Developing a shameless application and releasing it to the App Store is our bread and butter. What then? This article answers the question about the money you can earn without the hype or market interest built by the App Store’s featured status, etc.




Other

MAKE XCODE GREAT AGAIN!

Who wouldn’t want one of these bad boy t-shirts? 😎

5 tips for better whiteboard awesomeness &5 MORE tips for better whiteboard awesomeness

Many times, I thought to myself – I’ll sketch it so everybody will see what’s on my mind. Let’s be honest though, most of the time, this doesn’t work very well. Sure, there may be digital tools for this but engaging in a good old analog brainstorm from time to time improves teamwork.




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 2017

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

News

What’s new in Swift 4.0

What new features will be available in Swift 4? If you are as curious as we are, you can check it out now and try it with Xcode 8.3 (instructions included). Why wait for Apple to introduce a new Xcode version during WWDC?




Development

Swift one-line type-checking lasting 27s

What’s next?

Getting started with Xcode UI testing in Swift

This post is especially close to our hearts, mainly because we chose XCTest as our framework of choice to automate UI testing. Don’t be ashamed if you don’t have UI tests in your project. Start here, then dig into this topic with Joe Masilotti’s excellent blog and AutoMate to save yourself a lot of boilerplate code. 😎

Swift Tricks: Searching for Objects by Type

Have you ever tried to find a specific object in a collection by type? Tim Ekl found a nice way to do so and it just couldn’t be more Swifty. What’s more, remember that chaining higher order functions is incredibly readable but may hurt code performance. #weeklycocoa recommends taking a closer look at lazy.

Stored Properties In Swift Extensions

Magic 🎩 for anyone who seeks stored properties in an extension. Would you introduce it to your App Store application? Let us know on Twitter.




Design

Best Practices for Horizontal Lists in Mobile

You’ve probably seen a horizontal list in mobile applications with a varying usability quality. To avoid landing on the user experience blacklist, check these do’s and don’ts.




Video

UIKonf 2017

Thanks a lot UIKonf! We’re really pleased to see this new trend in uploading conference videos in the blink of an eye. ⚡️ Have a nice week watching all of these awesome presentations.

3D Touch: Bring Your Apps to a New Dimension by Meghan Kane

The why and how of integrating 3D Touch with your application. Searching for an effective way to popularise your app? I’ve heard 3D Touch is addictive – implement all the latest features, you won’t be disappointed.




Other

37 Simple Daily Behaviors That Will Immediately Free up Hours in Your Weekly Schedule

They’ll boost your productivity, step by step.




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 2017

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

Development

Experimental Swift

So we’re talking about a toy for big boys and girls here – Raspberry Pi. Yes, you heard me: iOS + Swift Server + Raspberry Pi. It seems trivial when reading Piotr’s post but the first thing I thought about was how to set up an environment?! 😱 Fortunately, Piotr has got us covered with a step by step guide through.

Back Buttons and Coordinators

A little bit late but we just couldn’t miss this one! As always, Khanlou did a great job with another article about the Coordinators pattern. It may seem like an edge case, nevertheless, it can happen to anyone and it consumes way too much time.

Protocols and MVVM in Swift to avoid repetition

Do you want to avoid repetitive code or move some of your code from a View Controller? You can do so in just a few simple steps. Grab your weapon to fight against MassiveVC – MVVM and protocols to the rescue!

Using lazy properties in Swift

John keeps a good pace on his new website. This week, he takes a look at a few ways to define lazy properties in Swift, and how different techniques are useful in different situations.

PSPDFGenerics

This is for all the dinosaurs: improving Objective-C codebases, in times of the Swift hype, is as challenging as mastering protocols.




Design

Basic Patterns of Mobile Navigation

Hamburger Menu, Tab Bar, Priority+ Pattern, Floating Action Button, Full-Screen Navigation, or Gesture-Based Navigation. Which navigation pattern to use and when? The strengths and weaknesses of each are described in this article.




Video

The Two Sides of Writing Testable Code by Brandon Williams

It may seem like just another reminder of the advantages of writing testable code – nothing further from the truth. With just the right amount of theory, Brandon will show you the complexity that may be hiding in your codebase. The refactoring of a seemingly simple method, which can be found in a whole lot of OOP projects, shows us how to rid the code of all hidden dependencies and how to make it stateless and functional-oriented.

A Neatly Typed Message: Improving Code Readability by Krzysztof Siejkowski

Finally, someone has pointed out that stacking abstraction becomes a readability cost after a rather brief period of time. And readability cost means maintenance pain for most of large codebases. A great lesson about how to estimate if that sweet enum or typealias is just a one-time use cost generator.




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 2017

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

Development

TDD in Xcode Playgrounds

As you can read, there’s a pretty delightful way to test prototypes created in the Xcode Playground. But, there’s more for anyone who wants to get into TDD – it can be a fast and less painful way to start.

Symbolicating iOS crash reports

Much appreciated, an extensive guide through symbolication of iOS app’s crash report. This is the next step for everyone who wants to boost their debugging skills. Also, you who mastered symbolication Obj-C app, check out Swift gotchas.

All about Concurrency in Swift - Part 1: The Present

Even though mobile devices, in general, are improving their performance, to provide best user experience developers are forced to perform some heavy lifting in the background, maybe using many threads. Read how to do it in pure Swift and wait for more just like me. Beginners will benefit from it as well, thanks to quite detailed theoretical catch-up.

Swift Arrays Holding Elements With Weak References

An advanced approach to Swift memory management in the context of Array. I saw a few about closures, reference/value types, and weak/strong attributes themselves but this one seems to bring up the less common case.




Design

Mobile First, Desktop Worst

An article about misusing the Mobile First rule. All of us, everyday desktop and laptop users, should understand the described pain. For me, personally, this rule is the materialization of something exhausting that has recently happened on the web. Share this with your UX and UI designer friends.




Tools

How to Start Debugging http(s) Traffic in 2 Minutes

Why this section? Well, because the author has hidden information about Cloud Middleman under this tempting title. I feel as though this is almost like a dream come true. So, take some time to check if it can save you a whole lot more.




Video

Good iOS Application Architecture: MVVM, MVC, VIPER Which Architecture is the Best? by Krzysztof Zabłocki

Let’s be honest… This is a well-known topic and the author knows it. Don’t be intimidated and don’t let this guy charm you with the knowledge he’s acquired over the many years of working on various projects and helping different teams. This video is not just another boring lecture about architectures – it’s a practical guide illustrating the advantages and disadvantages of each one in the process of creating an iOS application.




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 2017

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

News

Multi-Line String Literals

From Swift 4 we can enjoy multiline String literals. I imagine it’ll be especially comfy for Swift backends and all that HTML stuff.




Development

How to run Swift UI tests with a mock API server

A mock server can be alternative for hard-coded responses and hacks to automate UI testing of more complex cases. Here is how you can set it up yourself with WireMock.

Migrating To Coordinators

Long-awaited continuation on the coordinators-pattern topic. First from the series of advanced considerations. This time it’s about where to begin migration in existing applications.

Picking the right way of failing in Swift

An extensive look at Swift failing abilities as a way to write cleaner and safer code.




Tools

Test Drive

Setting up a Playground can be annoying in a long term. But integrating library without a test drive can be more regretful.

John Sundell takes over this week’s scene. Check his talk on App Builders below.




Video

App Builders Switzerland Conference 2017 by Swiss Mobile Developers Association

A whole lot of goodies on a board. Have a great week with all these awesome presentations.

Building a Swift Web API by Kyle Fuller

How many of you are eager to reveal the power of Swift on a server with his own hands? Check these tips and tools before you take over the world.




Apps

Vanilla by Matthew Palmer

Clean up your menu baaaaaaaar… I saw people who should appreciate it.




As always…

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


17th week of 2017

Permalink - Posted on 2017-04-25 19:00

News

Swift Source Compatibility Test Suite Now Available

Woo-hoo! 👯 Who does not want to forget about codebase migrations? How many commercial products’ teams are blocked in migrating codebase to Swift by incompatibility between versions? Is it time for Swift On Rails? (I promise, it is safe there.) Are you an open source project author? The community needs you.




Development

Swift World: Type Erasure

error: protocol '*' can only be used as a generic constraint because it has Self or associated type requirements 😨Be afraid no more! Type erasure is here to help you with generic protocols, for example, enables an Array to store object conforming to such protocol.

Using protocol compositon for dependency injection

So cool, so swifty, so clean… Just take a look and fall in love.

Time traveling in Swift unit tests

A really neat solution for a testing time-dependent state. Refactor-free, this argument will convince your teammate, QA, and client.

Boost Smooth Scrolling with iOS 10 Pre-Fetching API

Great reminder about goodies the UIKit team gave us at the WWDC 2016. An argument to make use of it should be iOS 10’s 79% market share.

The Algebra of Predicates and Sorting Functions

Boost your level of Swift with an algebra. It got me thinking how many more of those gems are hidden in an algebra. Decades of knowledge at our service. Reading such code is a pure pleasure.




Video

Everything a Swift Dev Ever Wanted to Know About Machine Learning by Alexis Gallagher

A foretaste of machine learning and how it applies to iOS development. Machine learning is already much more than university research field. Anyone can become an expert. Open source community started to grow around this topic. But there are also native tools you might have forgot about.

Non-technical ways to becoming a better developer by Marin Todorov

At least remember that the family comes first!




As always…

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


16th week of 2017

Permalink - Posted on 2017-04-18 19:00

News

Swift Weekly Brief - Issue #65

A site for anyone who seeks Swift’s everyday life news. But in particular - some mighty improvements are on their way. A Custom Target Layouts in Swift Package Manager? private available in type extensions within the same file? Pretty sweet. 🍩

Analysis of the Facebook.app for iOS [v. 87.0]

Searching through the Facebook iOS application on your own responsibility. Same as using some of its source code… ☠ But I bet you know this one from the Twitter, right?

What’s New in TestFlight

I saw a few smiling faces in our office.




Development

SOLID Principles Applied To Swift

They come back over and over again but it’s never too often. This time their read better and emphasize a power of writing clean code in Swift.

Waiting in XCTest

A new toy on the board! 💃 XCTestWaiter is the newest improvement in XCTest framework. It will help a lot in UI testing automation. We need to use it in Automate.

100% Coverage of Edge Cases: How to Safely Parse JSON

I just have to check it on my own… An extensive review of a JSON parsing unit tests. Bulletproof method checked on the battlefield. Separate solutions for Swift and Objective-C present differences in both languages specifics.

What is the value of iOS code signing?

One of the scariest things in iOS development - release. Including a code signing. 😵 Fastlane founder expresses his thoughts on a necessity of a code signing.




Video

Making Mock Objects More Useful by Jon Reid

You may possess all this knowledge about mocking objects for testing purposes. You may have used mocking all this time and never organize the knowledge. This talk is worth time it takes.

Clarity, cohesion, coupling, complexity by Greg Heo

The four C’s are the next way to improve code quality. Life is all about learning, right? Let’s dig into the Swift repository to take this lesson.




As always…

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


15th week of 2017

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

News

Algoriddim ports djay Pro for iOS to Windows 10 using Microsoft’s Bridge

Microsoft’s Bridge shows its usefulness. Demo looks impressive.

Apple Stops Signing iOS 10.2.1 and iOS 10.3

Maybe looks prematurely and irritates many users and devs but made in good cause:

Fixes a wifi flaw allowing malicious people to send a code to your phone and execute it, you don’t want to be running 10.3. ~ Ries’ comment at 01:38 pm




New releases

AutoMate received new version and small usability patch. What’s new? Enabled Bitcode problem solved launch options safety improvement and a bunch of handy methods for navigating through scroll views with lazily loaded content.




Development

Stop weak-strong dance

Sounds like I should be ashamed of myself. Useful (swifty!) stuff, especially if you miss 'self' = self, which is just compiler bug.

Reflectable enums in Swift 3

Okay, I would use a bunch of protocols. 😁 This solution is a good showcase of Swift’s reflection.

Optimizing your Swift Codebase with Attributes

Must know Swift attributes. Most of us know about their existence but do we use them to serve our codebase?




Tools

FluidValidator

It serves improvement of SRP in our codebases. Easy to use, extensible and adjustable for most of our needs. Hopefully, it gets popular to stay maintained, so we can focus on killer features for our apps.

And it has introduction post!Honey! Oh, boy, honey! That’s what Tiggers like best.




Video

Swift on Android: The Future of Cross-Platform Programming or White Whale? by Eric Wing

Eric bought me, he knows what he’s talking about. Because console apps and ones that require multiple steps to run don’t work for us. That’s not what suits mobile app development.

Warning! mind-blowing material.




As always…

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


14th week of 2017

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

Tips and tricks

Debug pause doesn’t work in Xcode

Who would have thought? 😱




New releases

AutoMate and his buddies

…all received necessary update to flawlessly work with Swift 3.1 and Xcode 8.3. 👯




Development

How to test a Swift package on Linux using Docker

It sounds so accessible! Maybe it’s time to try yourself in Swift project with Linux support?

Swift Package Manager Basics

If you decided to write something for Linux or simply add support to existing project this post on Swift Package Manager basics has your back.

Detecting the first launch of the iOS application — the wrong and the right way

Extensible article about improving testability of codebase. Yet another fan of dependency injection but still interesting presents more than the only correct path.

Swift: Alternative to Default Implementations in Protocols

Maybe you are one of the protocol’s default implementation’s fans. Don’t let it stop You from reading this excellent Natasha’s article. Great way to presist default values with all the compiler checks for protocol conformation.

Grand Central Dispatch- Swift 3

I’ve missed a short article about Swift Dispatch API.

You Probably Don’t Want enumerated

Not obvious flaws of Sequence’s enumerated() function. But read once may save a lot of painful debugging.




Local backyard

custom container for parallaxable subviews by Stefano Mondino

First PR to ParallaxView. Thank You for support! 🍾 We will do our best to check it ASAP.




Tools

Dispatch

Don’t mistake it with system library. Flux worked out for Facebook’s client-side web applications. This Flux-like Swift framework may actually work for a large application. Worth trying, maybe it will hold water and won’t end as another hype-driven development framework.

explainshell.com

If you find yourself command line expert as much as I do, these comfy manpages may suite as well.




Video

Swift’s Pointy Bits: Unsafe Swift & Pointer Types

Yes, Nate makes all those Unsafe*Pointer monsters a little bit less scary. Must watch for anyone who needs to face C API, i.e. Security Framework. 👻




As always…

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


13th week of 2017

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

New releases

Swift 3.1 Released!

Release with more bugfixes and improvements than cool features. 👯 New Sequence members seem really handy, tons of love put into Linux implementation and Package Manager, and all of it compatible with 3.0 version. 🍾

❗️Spoiler alert: it’s not necessarily compatibile with v.3.0, but if you made through that part painlessly - we wish you luck with warning fixes.

New Downloads Now Available

More toys from Apple, including Xcode 8.3.




Local backyard

[Polish only]AutoMate features for QA by Mateusz Nicpoń

Good job, Mateusz, thank You for spread our work into the QA world!




Development

Creating Thread-Safe Arrays in Swift

Sooner or later every one of us will be forced to optimize. This solution for thread-safe arrays with proofs will, hopefully, save you a whole bunch of troubles and a painful debugging.

Testing Swift code that uses system singletons in 3 easy steps

Tested on a battlefield, extensible way to not only improve testability but also cut system frameworks dependency.

An iOS Dev’s Experience with React Native

Thoughts on ReactNative as write once, ship twice enabler, from an experienced dev who tried to ship a universal app with it.

Non-Obvious Swift: Defer

Be swifty or not to be?




Tools

FengNiao

Seems interesting for any legacy codebase. And it’s free, open source and maintained.

GodEye

iOS world fell in love with this god-like performance, system resources usage, etc. monitor for your app. Take a look, let it overwhelm you.




Design

The Details That Matter

Tips for improving a user experience of your app. If only client’s designer could understand it.

Screenshot? Ugh, you’re doing it wrong!

For all those sharing and Twitter addicts, and anyone that wants buy their love with an own app - share something more that screenshot!




As always…

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


12th week of 2017

Permalink - Posted on 2017-03-22 19:00

News

CocoaDocs documentation sun-setting

Really sad news - CocoaDocs will leave us by the end of May. 😢




Development

As a Designer I want better Release Notes

Tips that will improve our Release Notes from artistic, non-technical mind. They should convince more users to read them. But you don’t need to stop there, check the rest of this site.

The Trouble with Manager Objects

We all know flaws of singletons. Don’t find anything wrong in a *Manager? You may want to rethink that.

Safely Migrating Millions of Database Records Across Thousands of Device

Title on its own sounds impressive… But what about performing migration offline? Check ideas that met the challenge.




Others

50 iOS Interview Questions And Answers Part 3

I found few things interesting or forgotten.




Tools

DBDebugToolkit

Debug app while using it. Performance, User Interface, Network and more? No problem. 😎

The best hardware to build with Swift is not what you might think

Unbelievable results of Xcode builds’ performance benchmarks on multiple hardware configurations.

iOS Continous integration: Xcode Server, Jenkins, Travis and fastlane

A little bit of pros and cons on iOS CI. Helpful for any team that considers CI in their project - it means all of us, right?




Video

Launch arguments - the mysteries

Missing documentation for app launch arguments, helpful for debugging, unit testing and UITesting.

Everything You Ever Wanted To Know About Sequence and Collection by Soroush Khanlou

I knew it couldn’t go wrong - Khanlou at his best, reveals the power of protocols in sequences and collections, step by step.




As always…

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


11th week of 2017

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

New releases

AutoMate and his buddies

  • AutoMate A library full of helpers to test UI with XCTest - painless.

  • AutoMate-AppBuddy A library for your test target will give whole new level app customization before tests start.

  • Templates Xcode file templates to keep codebase Swifty.

  • ModelGenieSet of scripts able to find iOS specific raw strings.




Development

Swift sequences: The art of being lazy

Use the power of Swift protocols to improve a performance of loading data.

Service-oriented AppDelegate

How about cleaning up your AppDelegate?

Swift Type Aliases: Use Early and Often

Extending type aliases with Ash Furrow.

Dear Erica: Playground Support Folder by Erica Sadun

Persist data between Playground runs and multiple Playgrounds.




Business

Surviving the App Store

Sugar-free article about a journey to make a living by developing AppStore apps.




Video

Testing an Untested App by Michael May

Pretty sweet live demo presenting few ways to improve codebase quality and test coverage of our apps.




As always…

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