Deploying Mac Apps Outside App Store: How to Remember User Intent for Folders
When a macOS user specifically grants a sandboxed app access to a file/folder outside of that app’s container, that special access only survives until the app is closed. If the user reopens the app and wants to again read...
Using LinkPresentation Framework to Present Rich Links in iOS Apps
While I’ve introduced you quite a number of new features announced in WWDC 2020. Let’s step back a bit and check out a useful framework introduced in WWDC 2019. At first glance, it does not look as significant or...
macOS Tutorial: Developing a Document based App
Welcome to another macOS tutorial! In this post we are about to learn how to create a macOS application that belongs to a unique category of apps; a category that is quite common but also quite important, and contains a large...
SwiftUI Tip: How to Remove Line Separators in List View
The List view in SwiftUI is very similar to the table view in UIKit. It is also designed for developers to present a list of items row by row. By default, each row of data is separated by a line separator. In UIKit, you can...
Using App Groups for communication between macOS/iOS apps from the Same Vendor
Apple’s “app group” technology allows a collection of macOS (or iOS) apps from the same development team, developer, vendor, etc., to all communicate with each other, coordinate functionality, share resources,...
Unable to Set Layout Constraint to Zero in Xcode 11.3
If you’ve upgraded to Xcode 11.3 and you use Interface Builder to create the app UI, you may find it impossible to set the value of spacing constraints to zero. Just open Interface Builder and click “Add new...
Working with JSON and Codable in Swift 5
First, what’s JSON? JSON (short for JavaScript Object Notation) is a text-based, lightweight, and easy way for storing and exchanging data. It’s commonly used for representing structural data and data interchange in...
A Practical Approach on Using Swift Package Manager in Xcode
Welcome to a new tutorial where I’m going to show you a practical approach on how to create your own Swift packages. If you’re not familiar with that term, a Swift package wraps up code that can be reused in projects,...
How to Create Perspective Text Using SwiftUI
If you’ve worked with UIKit before, the Text control in SwiftUI is very similar to UILabel in UIKit. It’s a view for you to display one or multiple lines of text. This Text control is...
macOS Programming: Using Menus and the Toolbar
Another macOS programming tutorial is here, and today we’re going to talk about a really interesting topic: Menus. Every macOS developer has to know about how to deal with menus, as they consist of a fundamental part on...