Browse through the showcased feeds, or enter a feed URL below.
Weekly updated newsletter about iOS, Swift, Objective-C, CocoaTouch, and other Apple connected development technologies.
A feed by PGS Software iOS Team
JSON
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.
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-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.
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.
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.
A short story about how Apple engineers were improving âHey Siriâ recognition using neural networks
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.
If you have something interesting to add about our technology, donât hesitate to send it to us via e-mail.
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. đ
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 đ.
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.
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.
How funding can improve passion. Marcin Krzyzanowski shares his experience on ObjectivePGP and CryptoSwift frameworks.
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.
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.
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.
If you have something interesting to add about our technology, donât hesitate to send it to us via e-mail.
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.
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.
With new Xcode, a new version of the Swift language has been introduced. Check what new features have been introduced in Swift 4.1.
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.
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.
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.
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.
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.
If you have something interesting to add about our technology, donât hesitate to send it to us via e-mail.
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.
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 is close to finish. The new version will use SwiftNIO under the hood.
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.
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.
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.
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.
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.
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.
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).
If you have something interesting to add about our technology, donât hesitate to send it to us via e-mail.
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.
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.
If you donât follow this guy yet, itâs about time. Friendly souls at Cupertino are nice to see. Congrats!
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.
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.
Some tips, how to initialize Enum variable in a few different ways.
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.
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.
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.
If you have something interesting to add about our technology, donât hesitate to send it to us via e-mail.
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.
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.
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.
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.
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.
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.
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.
If you have something interesting to add about our technology, donât hesitate to send it to us via e-mail.
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.
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.
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.
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 đ.
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.
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.
Event-driven network application framework for high performance protocol servers & clients, non-blocking.
Generates Swift snippets from colors, fonts and layers.
If you have something interesting to add about our technology, donât hesitate to send it to us via e-mail.
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.
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.
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.
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.
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.
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.
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?
Very handy Quick Look plugin for apps and provisioning profile files.
If you have something interesting to add about our technology, donât hesitate to send it to us via e-mail.
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.
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. 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.
If you have something interesting to add about our technology, donât hesitate to send it to us via e-mail.
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.
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.
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.
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.
If you have something interesting to add about our technology, donât hesitate to send it to us via e-mail.
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 đ.
A good summary of what is an ABI, why it is important and why implementation makes so many difficulties.
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.
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.
List of awesome libraries, frameworks, news, resources, tutorials and much more. It is like Google but for Swift only đ.
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.
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.
Easly integrate camera from AVFoundation
with CoreML
and Vision
.
Framework from Google to handle futures and promises. Supports Objective-C and Swift and is faster than competitors.
If you have something interesting to add about our technology, donât hesitate to send it to us via e-mail.
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.
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.
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.
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.
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.
A long list of very interesting Core ML models. You will definitely find something for you.
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.
If you have something interesting to add about our technology, donât hesitate to send it to us via e-mail.
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.
â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.
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.
A simple but powerful solution for namespacing in Swift.
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.
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.
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.
If you have something interesting to add about our technology, donât hesitate to send it to us via e-mail.
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.
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.
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 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!
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!
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?
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. đ
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.
Uber brings back to life UIView
and CALayer
snapshots! đž Did you miss it?
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.
If you have something interesting to add about our technology, donât hesitate to send it to us via e-mail.
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.
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.
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.
This Week in Swift, which was created by Natasha The Robot, is now closed đ.
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 đ.
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.
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? đ
This guy specializes in recruitment of employees, letâs hear what he has to say about getting engaged and devoting yourself.
If you have something interesting to add about our technology, donât hesitate to send it to us via e-mail.
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.
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 đ§.
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. đ.
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.
Thatâs some mighty awesome way to use Swiftâs protocols and extend Codable
abilities to work with RawRepresentable
types.
A short reminder that defer
has legit use cases.
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.
If you have something interesting to add about our technology, donât hesitate to send it to us via e-mail.
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.
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.
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.
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.
If you have something interesting to add about our technology, donât hesitate to send it to us via e-mail.
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.
Great news. Now you donât have to use Ruby to write your lanes in Fastlane đ. One language to rule them all đ.
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 đ.
UICollectionView
killer framework. Built on top of UIScrollView
, fully customizable, with high performance and the most important ⊠backward compatible with iOS 8.0 đ.
If you have something interesting to add about our technology, donât hesitate to send it to us via e-mail.
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.
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.
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.
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.
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.
Amber
is flexible architecture based on Elm & Flux ideas and developed specifically for iOS.
Weavy
is a navigation framework for iOS applications based on a weaving pattern.
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.
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.
If you have something interesting to add about our technology, donât hesitate to send it to us via e-mail.
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 âïž.
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.
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?
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.
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.
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.
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.
Great news: starting with Xcode 9âŠ
Sounds like yay! to me. đ
If you have something interesting to add about our technology, donât hesitate to send it to us via e-mail.
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. đ„âïž
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?
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.
This year Apple will celebrate Computer Science Education Week from December 4 to 10 an initiative by Computer Science Education Week and Code.org.
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.
If you feel Swiftâs String formatting support is lacking, itâs a great library for you.
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?
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.
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.
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.
If you have something interesting to add about our technology, donât hesitate to send it to us via e-mail.
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.
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.
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.
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!
Utilize powers of Swift 4 key paths and observe state changes of objects in your codebase!
Validate your Xcode Project for duplicates, inconsistencies, missing files and more.
A package manager that installs and runs Swift command line tool packages.
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?
If you have something interesting to add about our technology, donât hesitate to send it to us via e-mail.
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. đ€Ł
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. đ
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.
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.
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.
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.
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.
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!
If you have something interesting to add about our technology, donât hesitate to send it to us via e-mail.
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! đ
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.
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?
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.
How to use all the Display P3 and sRGB colours and not to get lost.
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. đ«
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!
If you have something interesting to add about our technology, donât hesitate to send it to us via e-mail.
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. đ€
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.
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 đ.
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.
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.
Now taking advantage of the new Codable
! đđș Check the article to get an update on new features!
This video editing lib looks neat! đ There is this one thing we wish for - support of Carthage.
If you have something interesting to add about our technology, donât hesitate to send it to us via e-mail.
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! đ»
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.
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 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.
A nifty little tool that points out the exact difference between two instances.
An easy-to-use implementation of charming cards from the new App Store.
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.
Comparative Asynchronous Programming
Itâs good to hear Ash Furrow on stage again. Great talk on a very hard and sensitive topic.
If you have something interesting to add about our technology, donât hesitate to send it to us via e-mail.
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!
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.
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.
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.
Kryption - Secure, live messaging app
Nothing to add, check it out yourself. đ
A new architecture for big and complex iOS apps. Looks interesting, but Configurator as a singleton worries me.
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. đą
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.
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!
Awesome Ladies iOS Engineers to Follow on Twitter
If you find someone new on this list, youâre probably missing out a lot.
If you have something interesting to add about our technology, donât hesitate to send it to us via e-mail.
Permalink - Posted on 2017-10-10 19:00
We hope it was a good week for you! It sure was for us - especially in terms of all the excellent materials we found for you. New APIs and enhancements to existing ones, awesome tools, and NSSpain videos⊠yummy. đ
Weâd love to hear your opinion on our evolution! Letâs start with a little survey on our Twitter. Thank you! We wouldnât have been able to grow without you. đ
Are you looking for a well-proven solution to keep track of your in-memory data? Have you ever wondered how Core Data manages objects in context? Or are you curious about identity map pattern implementation in Swift? Youâre in the right place!
User privacy doesnât exist. An application is able to easily retrieve the userâs location (and much more) by using the native image picker on iOS.
A Simple Approach to Thread-Safe Networking in iOS Apps
We know, we know, there are tons of pods to wrap the default network layer for you. But when it comes to maintenance you often have to fork the framework or copy sources into your repository to perform ad-hoc fixes. Believe us, system tooling is not as bad or difficult as you may think. And here is a small guide through thread-safe approaches.
If you had trouble with getting through the security session on WWDC 2017, Jordan Morgan covered the tastiest part for you.
Dictionary and Set Improvements in Swift 4.0
Goodies warning! đ This excellent article leaves you hungry for food and refactoring your present Dictionary and Set code.
The 10 commandments of continuous delivery
Continuous Delivery is one of the hottest software development topics out therethere â and itâs been that way for a while. Many people claim they do it, but in the end - theyâre just faking it. Itâs not for everyone. Check this awesome list of 10 Continuous Delivery Commandments â it might help you to join the exclusive club of those who apply CD correctly.
Everything you should know about slices in Swift 4 - drop
-ing, slicing, and memory management.
Migrating to Codable from NSCoding
For all NSCoding users, check what you can gain from migrating to the new Codable in Swift 4 â and how painless the process is!
Taming SourceKitService for Less Xcode Memory Consumption
Raise your hand if Xcode works flawlessly for you. [
The Flawless App team doesnât rest! 546Mb reduced to 16Mb? Weâre convinced to upvote.
A mesmerizing usage of still pretty basic but available on iPhone drag&drop API. đ
Firing somebody terrified meâââbut the advice I got made a huge difference.
How to say goodbye and not lose your mind.
Understanding code signing: x509 and Apple - Marin Usalj, Why You Shouldnât Write Tests (Yes, Weâre Going There) - Dave Schukin & more
If you havenât noticed, NSSpain published video recordings from this yearâs conference. Iâve handpicked these two from a bunch of great sessions and I urge you to put your seat belt on! What can go wrong with app signing? As most of us know â a lot. The first rule of war says: âGet to know your enemy.â đ€ș If only Appleâs system frameworks werenât the greatest enemy of your testsâŠ
A delightful presentation of goodies from the newest version of Swift by Daniel Steinberg. đ°
The Destructive Switch from Search to Social
So real it hurts. When was the last time you relaxed with a book in your hand?
If you have something interesting to add about our technology, donât hesitate to send it to us via e-mail.
Permalink - Posted on 2017-10-03 19:00
This week, we have a fine mixture of articles with topics such as Swift, Apple APIs, Xcode, and more.
Feel free to let us know what you think and share your picks for next weekâs issue on Twitter and via email. Weâd love to hear from you. âš
Face ID security guide releasedWe all have many unanswered questions about the new iPhone X security mechanism. Is it more reliable than Touch ID? Whatâs the false-positive rate? Will it still work in total darkness?Youâll find the answers to these and many other pressing questions in the new Apple document and on their support page.
How To Implement Cache LRU With Swift
Most of the time, caches are an avoided topic in the mobile development community. We have these powerful devices with growing minimal capacity⊠đ Donât go down that route, respect your userâs resources. Even if they donât notice it, the reward is that they wonât curse you either.
Why we built Magic Sudoku, the ARKit Sudoku Solver
Yet another great use of ARKit â this time weâre charmed by the solver of our beloved Sudoku.
Floating-point Swift, ulp, and epsilon
Deep dive into mysterious ulp
â how itâs connected to floating point numbers and Swift.
Activating Code Diagnostics Tools on the iOS CI Server
The sooner an implementation issue is found, the cheaper it is to fix; we agree with Shashikant on that. As it could be seen on WWDC 2017, Apple encourages developers to take care of code reliability by introducing more and more Xcode modules to help. This week, letâs take a look at Address Sanitizer, Thread Sanitizer, Undefined Behaviour Sanitizer, Main Thread Checker, and how to enable them locally as well as on a CI server.
A pretty neat trick that finally allows you to preview rendered Markdown directly in Xcode; previously, this was reserved for Playgrounds.
Using generic type constraints in Swift 4
Basics, gotchas and use cases of generic constraints in the latest Swift.
Swift Algorithm Club: September 2017 Digest
Swift 4 migration is always highly appreciated and new algorithms are nothing to sneeze at.
How to use storytelling in your startup
No matter how revolutionary and desirable your idea is, if youâre not able to say something about it, peopleâs interest may dwindle. The discussed storytelling seems like a great strategy to appeal to human nature.
Facebook just changed the license on React. Hereâs a 2-minute explanation why.
Short but interesting insight into events that drove Facebook to change the licences of its open source projects.
iPhone X and WWDC: How to quickly become a iOS expert on StackOverflow
I donât feel pressure to build my reputation level on Stack Overflow. đ But even if we donât consider it a life or death issue, this article is pretty accurate.
If you have something interesting to add about our technology, donât hesitate to send it to us via e-mail.
Permalink - Posted on 2017-09-26 19:00
Get yourself a cocoa, tea or any other brew, let the High Sierra installer do its job and, while waiting, take your time to read some of these delightful articles and listen to some enjoyable podcasts or videos. Have a good time! âïžđ”đ·
macOS High Sierra 10.13 (17A365) Now Available
Nothing more, nothing less. macOS High Sierra is now available for everyone.
Friday Q&A Live or: mikeash rambles about stuff
Mike Ash starts his personal podcast. Great news! đ„
Extensive guide through Generics in Swift 4, including changes weâve all been waiting for.
App Localization Tips With Swift
From zero to fully translated application. All necessary information you should know to make a multi-language product.
The power of switch statements in Swift
Weâre sure you all know the power of switches with enumerations. But have you ever considered what you can do if you go beyond enum
?
Why you should stop using Git rebase
Iâm sure the audience is split, the answer is obvious to some but not to all of us. Let the guy speak for himself.
Soroush Khanlou continues his series about Swift on the backend. Again, we have one of the most crucial elements in communication between client and server. Great lecture not only for Vapor users.
Friday Q&A 2017-09-22: Swift 4 Weak References
Mindblowing weak reference implementation from the ground. đ„ And it comes with spoken version, kind of.
iOS CI Olympics-Player Three: TravisCI, Four: Nevercode and Five: CircleCI
Continuation of the iOS CI Olympics: Competition of Cloud iOS Continuous Integration Servers. This time the author takes a closer look at TravisCI, Nevercode and CircleCI. Check how they compare to the competitors.
Snake is Xcode 9 ready from now!
Tomâs Guide: âiPhone 8 Is Worldâs Fastest Phone (Itâs Not Even Close)â
The Father Of Mobile Computing Is Not Impressed
On the one hand, such a powerful device, the best available. On the other hand, itâs so simple and intuitive that it leaves you no pleasure of possessing knowledge. Especially the second article will force a moment of reflection, even though it may take you few minutes to read.
7 minute read to save $100,000 on your app idea.
Have you ever had an idea so novel that you wanted to build an app on it? Or a solution for an unresolved problem that would seal market niche? But then it feels intimidating to give it a shot as something more than weekend coding. Here we have a place to start.
Few tips that introduced to our daily coding routines will earn us a gratitude from our future self.There are more videos from Swift Usergroup Netherlands.
Flexible View Controller Interfaces With Swift 4, A Funny Thing Happened On The Way To This Array
Try! Swift New York presentationsâ recordings are available on (Realm Academy](https://weeklycocoa.news/s/29/Lmgbxs) now!
đđđ via patrick wardle
SpeechlessâŠ
If you have something interesting to add about our technology, donât hesitate to send it to us via e-mail.
Permalink - Posted on 2017-09-19 19:00
Undoubtedly, the community gains its usual speed after the holiday season and this fall announcements. Thatâs right, thereâs something for everyone. Helpful bits on new APIs, Swift 4 development-ready articles, quite a few studies of Continuous Integration. Notchless tool, business and design stuff.
Subtle Face ID security feature
No matter how many supporters or sceptics are out there of Appleâs new product, one thing is certain - all eyes are watching and any slip on Appleâs Conference wonât be missed.
iPhone X: Dealing with Home Indicator
Now, itâs the right moment to run all of your existing apps on iPhone X. We bet youâll appreciate any support with this relic of the beloved Home Button.
iOS CI Olympics : Competition of Cloud iOS Continuous Integration Servers
The Continuous Integration Olympic Games has started. A comparision of the most popular cloud-based CI services: BuddyBuild, Bitrise, Nevercode, TravisCI and CircleCI will be performed in several disciplines. Stay tuned for more! đ§
iOS CI Olympics-Player One: BuddyBuildiOS CI Olympics-Player Two: Bitrise
Creating custom collections in Swift
Array
, Dictionary
and Set
, those are standard Swift collections. But their API is generic to the point that you may struggle because of it. Creating new one is not hard. John Sundell shows how it can be easily done in the Swift 4.
The Best New Features in Swift 4
If you still donât know the most interesting features in the Swift 4, there you go - five selections from Mike Ash.
Designing a Button Bar-Style UISegmentedControl in Swift
An elegant and clean look with so little code! Constrains-only solution was the selling point for me.
Cache Carthage to speed-up iOS Continuous Integration
âThere are only two hard things in Computer Science: cache invalidation and naming thingsâ. Caching is hard and caching Carthage artefacts on CI is not an exception. Check how it can be done on Travis to speed up builds.
We are genuinely curious how would Apple treat an app breaking all the design guides on App Store release review. Nevertheless, rest assured they stirred a tempestđ in social mediađ with this notch thingđ. There are too few words to fit all the tweets! đȘ
How To Ship Your Product With Ship â”
Itâs time to collect your crew and fill the sails of your upcoming product. We all know supporters make a power that keeps us motivated.
Touching up blemishes on Sephoraâs UI
A user experience case study of Sephoraâs iOS app. An excellent example of incrementally enhancing design and intuitiveness of user interface for popular application based on usersâ feedback.
The engineerâs guide to not making your app look awful
You know this one, donât you? A side project, a strike of inspiration and yet after the mood is gone you canât look at the effect. With this couple of tips, youâll be as content with the interface as the codebase.
The Ultimate Guide To iPhone Resolutions updated
Brilliant in its simplicity âThe Ultimate Guide To iPhone Resolutionsâ has been updated for iPhone X. Thatâs right, the true 3x screen has finally arrived! Thank you PixelCut for keeping it fresh.
Design and Development Videos, Fall 2017 Videos
Apple has presented new cool devices. With a new iPhone, a collection of new videos were presented to get more familiar with the new đ design.
My new homepage. đ
If you have something interesting to add about our technology, donât hesitate to send it to us via e-mail.
Permalink - Posted on 2017-09-12 19:00
This week is exclusively development-oriented. The community is getting ready for Appleâs Conference. We decided to spare you intrusive gossip and leaks about upcoming launches. If youâre tired of post-conference news by now, enjoy articles about GCD, networking, Continuous Integration and more!
Grand Central Dispatch or, if you prefer, Dispatch
API is a core tool to handle asynchronous operations every iOS developer is familiar with. I bet youâve used it in your last iOS application. Check out how this universal framework can become useful on the backend side.
An important reminder for all of us - algorithm performance depends as much on machine architecture as on algorithmic complexity.
How to write Networking Layer in Swift (2nd version)
Delightful and inspiring network infrastructure proposal. Iâm glad to see separate success and error handlers, even if one of them canât be formatted as trailing closure. Also, attention paid to types structure results in better readability and makes this kind of communication protocolâs mechanics easy to understand.
Secret variables in Xcode AND your CI for fun and profit đ
You shouldnât store any sensitive information like API keys or passwords in the source code. Continuous Integration systems like Travis, BuddyBuild, Jenkins and others provide a solution for this problem. But bringing this functionality to developers is a challenge. Robin Malhotra solves this problem.
Centralized vs. decentralized CI / CD strategies for multiple teams
Have you ever wondered which CI / CD strategy you should choose for your company? Centralized or decentralized? What are their major benefits and where do all the pitfalls lay? Have a look and decide.
4 Ways To Pass Data Between Operations With Swift
Operations are one of the tools available for tasks management. They can become handy when there is a need for mutually dependent chunks of work. If youâve ever wondered how to pass data between operations, youâre in the right place - choose the most suitable method from those described by Marco Santarossa.
If you have something interesting to add about our technology, donât hesitate to send it to us via e-mail.
Permalink - Posted on 2017-09-05 19:00
September is here and most of us already got back from vacation. This week is full of articles, which will help you get back on track. Async/await for Swift, code quality issues, ARKit â feel free to choose. Next time we meet, Twitter will be trembling from Appleâs launches. đ
New Beta Downloads Now Available
I guess the deadline is approaching â so each team is working as fast as possible. Thatâs why there are a few links to download. Nevertheless, macOS High Sierra 10.13 beta 9, iOS 11 beta 9, and tvOS 11 beta 10 builds are now available.
Concurrency with Chris Lattner & Async/Await for Swift
Chrisâs concurrency manifesto for Swift went viral and the result is this podcast invitation, as well as a full-blown proposal.
Another product of ongoing discussion about the Swift concurrency model. This time, the author uncovers computer concepts that will serve to implement proposed solutions ahead of the curve.
Using the factory pattern to avoid shared state in Swift
A great use case of a classic design pattern.
ARKit and CoreLocation: Part One & ARKit and CoreLocation: Part Two
A real deep dive into navigation in augmented reality. Everything you need to know, including the math that would normally scare you off.
How is ARCore better than ARKit?
This year, Apple introduced ARKit as a revolutionary AR solution on a mobile platform. But theyâre not alone. Google has introduced ARCore, a strong competitor for ARKit. Which oneâs better? Time will tell.
Dealing with Complex Table Views in iOS and Keeping Your Sanity
One of the basic controls in UIKit can become a real pain if used sloppily. Everyone has used it in their career but would rather avoid messing around with this code again. Check out a few simple ways to avoid it.
Single Responsibility Principle: Is It a Fundamental Mistake?
Letâs talk about SRP once more and about how, by passing on its meaning and priority through oral tradition, we might end up getting it wrong.
If you care deeply about the visual quality of your mobile apps, you will find this app indispensable. Its integration with the iOS Simulator makes comparing design mock-ups with actual implementation a breeze.
This site helps you visualize the conflicting constraints in the logs
Auto Layout on iOS and macOS is awesome. But when it goes wrong, the error logs are a pain to decipher.
This site helps you visualize the conflicting constraints in the logs. It was built using Swift, Vapor, and Sparse; and the source code is available on GitHub. If you found it useful, please give it a star.
If you tend to pay attention to code organization, then itâs a great option to speed things up.
How to get started contributing to open source projects
Listen to this guy carefully. If anyone is certified to speak about the pros of open source and to give advice on how to start, itâs him.
Youâve certainly heard about DevOps culture or success stories where IT companies implemented it in relatively short time. In reality however, this can be a bit different and not as easy as it may seem. Check the most common obstacles of attempting to adopt DevOps.
If you have something interesting to add about our technology, donât hesitate to send it to us via e-mail.
Permalink - Posted on 2017-08-29 19:00
Apple spoils us again with fresh betas, open-sourced refactoring engine and Machine Learning insights. John Sundell strikes with two entries - the first article from new Core Animation Gems series and cool lib for all of us Swift-scripters. Intro to Swift compiler development, Swift error handling, (B)VIPER architecture and more!
New Beta Downloads Now Available
Can you smell this fall đ already? Itâs definitely noticeable here in Poland and at Appleâs headquarters.New beta downloads are now available, including macOS High Sierra 10.13 beta 8, iOS 11 beta 8, watchOS 4 beta 8, tvOS 11 beta 8. Download and try it yourself.
At WWDC 2017 they promised new refactoring engine, which would be Open Source so that everyone could create new refactoring actions. The day has come, and the logic behind local refactorings is implemented entirely in the compiler and SourceKit, available in the Swift repository. đŸđ€
Core Animation gems: Using replicator layers in Swift
Thatâs true, Appleâs Core frameworks are gigantic đ» and powerful. Even if sometimes messy and spooky, each one of them is a field worth mastering. Itâs time to learn from a guy that cut his teeth on the Core Animation implementing his Swift game engine.
Getting Started with Swift Compiler Development
Intimidating at first, digging into Swift compiler is achievable for anyone of us. Worry not, Brian has us covered! Your kidneys are safe, after you get back from work, compiling should finish. đ
âŠuse a $20/month Digital Ocean âdropletâ running Ubuntu 16.04. It can compile apple/swift in a few hours.
Friday Q&A 2017-08-25: Swift Error Handling Implementation
Deep look into Swift error handling by Mike Ash. Check what differences were made in Swift 4 and how error errors compare to C++ exceptions.
Improving Neural Network Acoustic Models by Cross-bandwidth and Cross-lingual Initialization,Inverse Text Normalization as a Labeling Problem, Deep Learning for Siriâs Voice: On-device Deep Mixture Density Networks for Hybrid Unit Selection Synthesis
Last week Apple published three new articles related to Machine Learning! Check how Apple engineers solved some of ML problems in their worth billions of dollars software.
Catching Leaky View Controllers
If you remember Arek Holkoâs method of detecting not deallocated controllers, here is another one for you.
A new version of a tool which automatically shows all touches inside your app by LukĂĄĆĄ Petr. Works with app extensions and has support for both Swift 3.2 and 4.0. If you are planning to make app review videos, it would be definitely a nice helper library.
Run shell commands directly from your Swift script.
How feeling left out at work can affect your job
This insightful and inspiring article is not exclusively for those that feel ignored in their workplace. If you ever see one of your teammates sitting alone, you may be the one that makes the day better for them.
Break the Monolith with (B)Viper Modules
Introducing (B)Viper with Module Builder, structured engineering approach for big mobile apps with example repo.
Convolutional Neural Networks with Metal & Swift
Brett Koonce gives us a quick overview of the state of the image recognition neural networks on mobile devices.
So you can write Swift with one hand and Kotlin with another. đ
If you have something interesting to add about our technology, donât hesitate to send it to us via e-mail.
Permalink - Posted on 2017-08-22 19:00
New betas from Apple, Security Enclave firmware decrypted, a box able to hack any iPhone 7 and 7 Plus, we have a decent amount of news for you this week. If you missed it, Chris Lattner has his essay about future of Swiftâs concurrency. Big Nerd Ranch will try to save you from a headache caused by protocols with associated types, so you can use them in refactoring with John Sundell.
New Beta Downloads Now Available
We hope you have peaceful vacations đ, unlike Apple engineers who do their best to provide you fresh beta versions on a weekly basis.New beta downloads are now available, including Xcode 9 beta 6, macOS High Sierra 10.13 beta 7, iOS 11 beta 7, tvOS 11 beta 7. Download and try it yourself.
Apple Secure Enclave (SEP) firmware decrypted
@xerub has published on his Twitter links to keys and tools which can be used to decrypt SEP firmware. This key is only valid for iPhone 5S and allows security researchers and hackers to look at the firmware for bugs. Thankfully, sensitive user data, like a fingerprint, are not at-risk. If you want to read more follow those links:
If you are more interested in the Secure Enclave Processor (SEP), you can read or watch Demystifying the Secure Enclave Processor from Black Hat.
This $500 Box Can Hack Any iPhone 7 & 7+ Passcode!
More bad news for the Apple security team. A small box called âIP-Box 3â for âonlyâ 500$ can break into your iPhone 7 or 7 Plus and bypass your passcode. If you want to read more, check out Reddit or appleinsider.
Concurrency in Swift: One possible approach
Chris Lattner outlines his vision regarding concurrency in Swift. Take a cup of your favourite beverage âïžđ”đș and let this extensive and enlightening crackdown charm you.
Why Associated Type Requirements Become Generic Constraints
Hands up everyone that had (âŻÂ°âĄÂ°ïŒâŻïž” â»ââ» reaction after getting Protocol âSomeProtocolâ can only be used as a generic constraint because it has Self or associated type requirements. compiler error. â Let Jeremy Sherman turn it for you âŹââ⏠ă( ^^,ă).
Artificial Intelligence and Machine Learning will shape our future more powerfully than any other innovation this century. Would you like to learn more about basics of AI/ML? Check those articles written in simple and plain English.
Replacing legacy code using Swift protocols
Exquisite tutorial by John Sundell touching one of the most important parts of everyday work of programmer - refactoring. This not being a âsilver bulletâ should be a clear sign how complex working with legacy codebase is. Itâs still a highly appreciated, good reference for everyone.
Just as Pooh love honey, we love open-source projects. Take your GitHub repo with you on a native application. Available on the App Store. â€ïž
Playing action video games can actually harm your brain
Do you like to grab a pad or mouse and keyboard to take a rest from work? It truly surprised me how clearly gaming influences human brain.
If you have something interesting to add about our technology, donât hesitate to send it to us via e-mail.
Permalink - Posted on 2017-08-15 19:00
This week weâre served with new betas from Apple. Then we take a deeper look at Futures and Promises, improve our efficiency in either working with Swift APIs, preparing open source project release or handling long compilation times.
New Beta Downloads Now Available
You know this part already, this Fall đ is on its way, so developers at Apple admire the sunset on postcards from their families. Appreciate and enjoy, guys. đNew beta downloads are now available, including macOS High Sierra 10.13 beta 6, iOS 11 beta 6, watchOS 4 beta 6, tvOS 11 beta 6. Download and try it yourself.
Under the hood of Futures & Promises in Swift
Itâs true that third party libraries save a lot of boilerplate code. Still, if you ever maintained app throughout language/API changes you know itâs a double-edged sword. Futures
& Promises
look impressive, but itâs crucial to understand the mechanism before using it in production.
MONADIC NETWORKING: I PROMISE!
One more article about Promises. This time Bj Kandel calls them by the Imperative name. Check how to implement monadic structure without a deep knowledge on Monads. Practice, assess challenges you encountered and stay tuned for the next article to learn the theory.
Friday Q&A 2017-08-11: Swift.Unmanaged
Mike Ash wrote an outstanding article about Swift and C API. If you ever wonder when to use passRetained
/ passUnretained
/ takeRetainedValue
/ takeUnretainedValue
method you will find examples for all of them.
My Xcode Project Structure for Open Source Project
Painless setup of a library with an example app in Xcode. Example project should be obligatory for each open source library. Itâs a key to understand the benefits and seems to be preferred way to learn a new tool for most of the developers.
We all know this well. cmd+r
and cmd+tab
to check Twitter⊠10 minutes later you forget you were coding in the first place. Less swifty but more productive, are you in?
Swift World: Whatâs New in iOS 11âââMake Corner Round
iOS 11 comes with many small improvements, not only CoreML and ARKit. As always, itâs nice to have someone to wrap up a piece of new API for us.
Core helps you design applications in a way that the app flow is driven by business layer, instead of UI layer. It also promotes unidirectional data flow between components for consistency, high testability and powerful debugging.
The 3 types of bullshit feedbackâââand what to do about them
Working in a group, leading a team, finishing a challenging project, often we would like to hear an opinion of the rest of the team on this cooperation. On the other hand, the feedback may come to us no matter if we desired it. Frustration, misinformation and much more can make feedback daunting. These bits of advice will help you handle any kind of harsh opinions.
DEF CON 25 - Max Bazaliy - Jailbreaking Apple Watch
In the news from the 31st week of 2017, we mentioned Max Bazaliyâs presentation at DEF CON 25. Now is time for a video material covering how he jailbroke his Apple Watch.
If you have something interesting to add about our technology, donât hesitate to send it to us via e-mail.