Adding support for Swift Package Manager in existing CocoaPods library

Yesterday, I have updated my AHDownloadButton library to support Swift Package Manager and I wanted to share the steps that I needed to take. Initial setup To setup the initial folder structure and files needed to integrate SwiftPM we need to navigate to the root folder of our library (in my case AHDownloadButton) and run the following command: swift package init After successfully running the...

Creating cURL command from URLRequest in LLDB

I have recently looked into how you can add custom LLDB commands that you can use for debugging in Xcode. The process is quite simple and it’s very useful to have custom commands that are used repeatedly. Creating a custom LLDB command I found that the easiest way to do that is to use command regex LLDB command. You can find more info about it...

Generating a PDF file from UIScrollView content

After taking a short break, I decided to get back to writing by covering an interesting problem that I had to work on in the recent past. I had to generate a one page PDF file that contained content presented in a UIScrollView. PDF file generation process The process of generating a PDF file using UIKit’s built-in functions is quite straightforward. The code for generating...

Finding the custom URL scheme of an iOS app

I was recently hired to find out if an app has a custom URL scheme. Using the URL scheme the developer would be able to implement deep linking and launch that app from his own app. The process of finding the URL scheme was quite simple, so I decided to write a tutorial on how to do it. Downloading the IPA of the app There...

Storing NSAttributedString with UIImage in Core Data

I have recently worked on solving a bug in a simple note-taking app. It allowed the user to save notes that could contain text together with images. The app was built using Core Data and there was a bug where notes that contained images were not saved properly. When the notes were later retrieved, the images were missing and only text was present. Converting NSAttributedString...