Are your views dumb enough? — A way to run your tests without simulator
iOS
In my previous post I wrote about adopting UIApplicationShortcutItems in your app. Now it’s time to implement Peak&Pop - a feature provided by 3d Touch.
With the beginning of the iPhone 6s, Apple has introduced a 3D Touch mechanism which is very cool thing. The 3D Touch is also available on the newest iPhones...
Last week I’ve made basic comparison between two libraries that will help you layout your interfaces - PureLayout and SnapKit. You can find this comparison h...
At first, let me clear something out. I’m heavy PureLayout user. I’ve been creating my UIs in code for some time now and it’s not looking like I’m going back...
Memory management is a pretty important issue when talking about any kind of system. You can’t pretend that your resources are unlimited, and give them out n...
The first Cocoapod created
Today, we will take a closer look at Rex - ReactiveCocoa extensions. I find Rex pretty helpful when working with ReactiveCocoa, especially creating UI bindin...
CocoaAction is a wrapper around Action type that is available in ReactiveCocoa. (Here you can read more about Action). We use CocoaAction to bind our Action...
Today I’ll tell you about an Action type that is available in ReactiveCocoa 4.
Understanding signal events in ReactiveCocoa is a must. We can’t effectively use signals and signal producers if we don’t know what will happen after certain...
Using open source code in projects is a common thing. I do it. Most of us do. But what is “open source” by default? Well, I’ve heard about this for the first...
Hi! In my first post I want to share with you some cool tip which I watched in ‘Swift in Practice - Apple WWDC 2015’ Alex Migicovsky presentation about using...
Configuring Android device to connect to the web proxy running on development build machine is tedious. You have to make the same steps over and over again o...
I wrote simple helper which allow loading specific certificate to SSLContext. You can use it to support HTTPS connections which rely on a untrusted certifica...
Since iOS 9.0 we have a new nice method of fetching and saving contacts - CNContactStore! Today I will show you how to create a simple UITextField that will ...
Hi! Today I will show you how to create a simple heart button that will simulate a heartbeat upon each tap. You can find an example project on my Github.
Today, let’s take a look at basic aspect of ReactiveCocoa - Signal.
Today we will take a look at SignalProducer class which is provided with ReactiveCocoa 4.
MutableProperty which comes with ReactiveCocoa allows us to track variable’s changes. Let’s take a quick look on how it actually works.
I had a chance to play a little bit with a nice pod that is called StatefulViewController, created by Alexander Schuch. StatefulViewController works with bot...
When I started writing Swift code, I found out that my beloved IDE(AppCode) for Objective-C, was not doing as well as I thought it would. Moreover, I’ve noti...
Lately I’ve come across a nice pod which makes in-app messaging easier and decided to give it a quick look. I’ve created a test project in order to see how t...
For some time, I have been creating iOS apps without using storyboards at all. Because of this fact ,creating screens in the application is connected to some...
Retrofit has been updated to 2.0 version. It’s a major change in the one of the most popular library for Android platform.</br> A lot of things have be...
Have you ever felt that your app needs UI tests? Are you tired of checking behaviours of your application again and again? Consider using Calabash!
Let me share a small trick that I use to quickly navigate to documents directory for an iOS application that runs in the simulator. It requires adding some ...
I was struggling again with desymbolicating of iOS app crash logs and thought that it would be nice to have a handy script that is a bit easier to use than t...
Today’s post will cover basic data transfer between your iPhone app and Apple Watch app. Let’s assume that you have already created an Apple Watch extension ...
Today’s short post will cover queueing audio files using Swift. In order to do this we will be using AVQueuePlayer.
Recently I got a bit tired with Angular's quirks and intricacies. To freshen up, I'm playing with framework-less JavaScript (Vanilla JS). I'm also getting mo...
Recently I needed to show the simple rating control in one of our iOS apps - the typical row of stars, few leftmost highlighted, the more highlighted, the be...
Lately I’ve spent some time wrtiting an app for myself. It is supposed to let you create tasks, mark them as done/undone and then track your progress. I’ve c...
In the previous part I’ve described typical problems we have to face when developing applications on Android. I’ve also highlighted that some of them may be ...
Android application code often suffers from being more verbose than it could be. As libraries such as Android Annotations and ButterKnife have shown that’s o...
In the previous post you can read how to use Session object to maintain current user information through the application lifecycle. Now we’ll explore differe...
Every but trivial android application needs to maintain information about current user - regardless if he has authenticated or not. While this may sound easy...
Here come the slides from a talk I gave at the last Cocoaheads Tricity meeting. It’s titled “Automate your iOS deployment a bit” and shows how we approach bu...
Recently I had an opportunity to dive into an iOS development and while I enjoy it, I miss a lot of things from the web development world. I was looking for ...
Time to finish the iOS layouts for web developers series with the post about events. Both the web and iOS employ similar ideas, but the set of events is dist...
Since version 1.1 of Android Gradle Plugin we can run unit test on a local JVM on our development machine. In this article I'll demonstrate how to make local...
In the fourth post in the iOS layouts for web developers series it's time for something more lightweight. We’ll go through various visual aspects of the cont...
In the web, we've left behind the times when the view specific definitions like fonts or colors were scattered all over through the HTML structure. Now we’re...
On Tuesday 31th March 2015 I gave a presentation about most popular Cocoa libraries and [CocoaPods] (http://cocoapods.org) at the local Cocoaheads Tricity gr...
Continuing the series of posts that looks into the iOS world from the web developer perspective. In the second post we're discussing multiple approaches to s...
How to make iOS Simulator work with Right-To-Left languages when it's started from AppCode?
In the first part of iOS layouts for web developers series I'll have a look at the basic building blocks of the view layer in iOS and compare it to what HTML...
I had to solve a seemingly trivial bug in an angularjs based application that turned out to be more interesting than usual.
VideoView is the most straightforward way to show video content in layout. It took a few lines of code to setup and show for example mp4 file. It's fine wh...
At Bright Inventions we use TeamCity as a continuous integration server. Apart from building, running tests and uploading artifacts we sometimes use it to qu...
On Thursday 18th December 2014 I gave a small presentation about ReactiveCocoa to the local Cocoaheads Tricity group. Cocoaheads is a group of passionate iOS...
Nowadays it’s getting harder and harder to build a meaningful app and not rely on Google Play Services to aid us in some commonly required features such as m...
As I mentioned in my previous post having meaningful log entries comes handy during development. When an app reaches beta testers as well as goes live it’s e...
People around the world are waiting for Google to push Lollipop to theirs smartphones. Material Design completely changed the appearance of Android, and did ...
Meet Injection Helper, a small utility for making InjectionForXcode more friendly to use. Get rid of superfluous messages and a flood of XCode windows opened...
One thing that I found missing in ShareJS library was the possibility to attach live concurrent editing to HTML <select> element. Out of the box it wor...
ListViewWithSectionsAdapter for Android ListView, simple way to implement list view with sections.
Every now and then you have a bug that is hard to reproduce or only happens on certain phones or android versions. The thing that really comes handy in such ...
I’m experimenting with ShareJS library, which is intended to allow live concurrent editing like in Google Docs. The demo on their website seems incredibly ea...