Articles tagged 'macos'
Page 2 of 3
Last week we discussed how to build XPC Services(the .xpc
bundles) inside your macOS applications. This week we are going to explore how to provide XPC services that can be used from other applications or tools.
To make the XPC service available to...
Read More...
We have access to many Inter-Process-Communication(IPC) mechanisms in macOS. One of the newest is XPC1. Before XPC a common way to use IPC, and provide services between processes, was through Sockets or Mach Messages (Using Mach Ports).
Nowadays,...
Read More...
Many components of macOS trace their roots back to BSD. One key aspect inherited from BSD is the Kernel Event Notification mechanism know as Kernel Queues (kqueue
s for short).
In the past, before kqueue(2)
1/ kevent(2)
2, when we wanted to track events...
Read More...
When we find ourselves listening for events, reacting to those events, and then going back to listening for more events, we have ourselves an Event-Loop. Having an event-loop is a common scenario. So common that Apple decided to provide us with a model...
Read More...
Apple provides many useful network frameworks. Network.framework
(you can check my previous article on Network.framework
if you want to see an example) is the latest. But sometimes we need to go deeper, and the abstractions might get in the way. In...
Read More...
There are many reasons to use more than one programming language in a project. In some cases, a lot of work has gone into building a framework (years maybe). Rewriting the whole framework to have the codebase in the same programming language, might...
Read More...
Apple's network APIs are many, the older APIs are well documented, and you'll find lots of examples. Not so much about the new Network
framework. One factor might be that the name is not that search-friendly. In this post, I'll explain how to use the...
Read More...
With advances in the frameworks and tools we use to develop software, creating a new app seems like magic. We just click a few buttons, and everything is created for us. I enjoy magic, but I think that sometimes we end up being Framework "users" without...
Read More...
An essential step before you deliver your application to your users is to make sure that your app is not overusing your user's resources. In this post, I'll show how to use Xcode's visual debugger and the command-line counterparts to check for common...
Read More...
Sometimes we only want to do the simplest of tasks of build and upload to TestFlight without having to spend much time doing lots of configuration. Maybe we are only testing a minimum viable product (MVP) and want to make it accessible to beta users...
Read More...
Building a command-line interface (CLI) tools is a complicated task. We work on the logic of our application and also have to deal with other details like parsing parameters, handling the correct display directives depending on the TTY, etcetera. Vapor...
Read More...
Swift is a powerful language. It can be used to create command-line tools, iOS apps, watch OS apps, macOS apps and server-side applications. However, sometimes, we only need to complete a small task, maybe do some automation on our local setup or build...
Read More...