Backing up Core Data Stores
May 26, 2020
Today we’re going to travel back in time a little with Core Data. Or at least find out how your app can do so. What if you want to make a backup copy of your app’s data? What if you want to restore from that backup later on? This won’t be mainly about data safety, because your app’s data will be getting backed up to the user’s iCloud account and, maybe, their Mac.
Adding thumbnails with PDFKit
Apr 15, 2020
Today I’m continuing with some ideas from my recent post about using PDFKit. In that post I was using a custom PDF view for an app that would work something like a basic slide presentation app.
Part of that was adding a thumbnail view with PDFThumbnailView, which ended up looking like this.
PDFThumbnailView works with a PDFView and generates thumbnails for pages in the current document. You can tell it how big the thumbnails should be and whether to arrange the thumbnails horiontally or vertically, but that’s about it as far as layout goes.
JSON vs Property Lists, Revisited
Mar 3, 2020
In a previous post I wrote about How JSON compares to Apple property lists and the obstacles to converting data between them. That was a while ago but the post is still accurate, as far as it goes. But Swift changes the situation in some ways, so an update is in order.
Recap: JSON vs. Property Lists The previous post was motivated by the problems some people encountered trying to download JSON from a server and then save it as a property list.
Getting started with PDFKit
Feb 26, 2020
In my post about my custom presentation slide app I mentioned that because of time constraints, I decided against doing my own slide layout. Instead I’d do that in DeckSet, export my slides to PDF, and show the PDFs in my app.
So, how do you do that then?
Getting a PDF on the screen The basics of PDFKit are actually pretty basic. If you have a PDF, you create a PDFDocument to hold it and a PDFView to display it.
Interactive Presentation Slides at 360iDev
Jan 28, 2020
This is a story of how a trip to a karaoke bar led to me writing my own app to display presentation slides. Of how a user interface that allows live smartass comments led to me being completely nerd sniped until I was able to do something I’ve never seen in a conference session– however silly the result was.
In the end audience members could send Emoji and other images directly to the slides during the session, which ended up looking like this.
Better logging with Emoji
Jan 17, 2020
Apple’s developer tools provide a rich variety of debugging aids. Sometimes though, it’s useful to do things the old fashioned way. With debugging, this often means just printing out data while your code runs, and then looking through the results to see what’s going on.
Some scenarios where printing debug data helps include:
When you need to check on something that happens a lot. When the mental context switching between using your app and using the debugger gets to be too much.
Return to Independence
Jan 14, 2020
Aaaaand, I’m back. It’s been a long time since I posted anything here.
Mainly this was because I worked full time for a while. I found it hard to work all day on someone else’s project, then come home and do even more blog-worthy code-related stuff. At the end of the work day I was done with code. So, this blog faded away. Back before that, in my glorious years of independence, I could find time to explore whatever technical areas caught my eye.
BombBomb in the Gazette
Nov 4, 2017
The Colorado Springs Gazette just did a nice feature article about BombBomb, the place where I write apps these days.
Data Detection in Swift
Oct 25, 2017
I have a love/hate relationship with regular expressions. I love them because they’re great for examining text to find useful information and, often, to change the text in some way. I hate them because once you get beyond basic matching, they descend into bizarre write-only code that gives me flashbacks to my days writing Perl. In extreme cases they may well endanger the universe. And so we come to one of my recent coding issues: How can I find out if a string contains a valid email address?
Migrating from Dropbox
Nov 10, 2016
Over the past year or so I’ve been trying out Resilio Sync (formerly BitTorrent Sync) as a possible alternative to Dropbox. It’s gradually improved to where I think I can rely on it. With my Dropbox subscription up for renewal in a couple of weeks, now’s the time. In this post I’ll describe how to set up Resilio to get a Dropbox-like experience.
What I want from file syncing I’ve used Dropbox for several years now.