Project Log: Night Camera [09/04/2019]

I’m currently working on a pet project I call Night Camera iOS App. It aims at making it possible to shoot photos of appropriate quality in low light conditions. My use case is taking a photo of my sleeping kids. They are so cute when asleep but don’t like it when I use a flashlight on my phone.

Wget with certificate authority in wget on macOS

If you use self-signed certificates on your dev/testing servers you’re more likely to run into a problem with making requests to them. On linux systems it said to be easily fixed by adding the root CA certificate to /etc/ssl/certs. On macOS systems it just doesn’t do the trick.

Debugging Swift Objects in LLDB

Given an address of the object, one can interact with it via LLDB. To do this, you need to import the corresponding module (like UIKit, or your app’s module) and then cast the address to a new variable using Swift’s unsafeBitCast like this: (lldb) expr -l Swift -- import UIKit (lldb) expr -l Swift -- let $view = unsafeBitCast(0x7fb75d8349c0, to: UIView.self) You may also be interested in this SO question. And especially, in the article referenced in one of the answers to the question.

UDP Server and Client in Swift

I recently had a chance to work on a iOS Client written in Swift that would talk to a UDP server. The app basically needed to send a request to the server and receive the response. All over UDP. It turned out to be quite a simple task if done using the CocoaAsyncSocket. I set up a simple Mac OS X test server and a corresponding iOS test client. The sources are here:

Building a Login Page for an iOS App

When it came to building an app with a login screen I got a bunch of questions. And I found some answers to them scattered all over the Internet. It might seem an obvious task, but I really wanted to find a guide with some clarifications. I wasn’t lucky enough to do that so I decided to describe my way of building a [first] login view myself. First of all, you can find the final sources for this post at https://github.