DEV Community

Cover image for Day 17: Swift macOS password manager for people who hate the cloud
Sean Walker
Sean Walker

Posted on

Day 17: Swift macOS password manager for people who hate the cloud

<- For Day 16 go here

πŸ“… 01/17/2019
πŸš€ 13 days until launch
πŸ”₯ 16 day streak
πŸ’° $2.99 price (into cup of coffee territory now)
πŸ€‘ $0 revenue
πŸ“ˆ 0 customers
⌚️ 18.5 hours spent
πŸ’» ----
🏁 Today's goal: Encrypt sqlite database

7:10 AM
I realized that although it seemed like a good idea to put the passwords as keychain values with UUIDs, it's not a good idea. The keychain can get uploaded to iCloud independently of the app, which kind of defeats the purpose. I'm going to try to instead just store the master password in the keychain and store the passwords in SQLite, which means I need to hook up the master password to SQLite, which I did not do before 😬

8:05 AM
I'm kind of overwhelming myself here, but I learned a crap ton about the limitations of NSToolbar and how to work around them. I also learned about SplitViews today and I kind of didn't realize how terrible my implementation of a fixed-width TableView was combined with a fixed-width ContainerView. So combine that with the keychain, sqlite encryption and… the list goes on.

Oh! Also today I was tired and lost all of my work on the copy buttons from yesterday via git β€”reset hard head while it was uncommitted. Checked the reflog, no such luck πŸ˜…

Sigh. I'll pick this up after work. Not a good idea with 13 days left to launch to start from scratch, but GOING TO ANYWAY πŸ’ͺ

6:18 PM
Started a little later, had to pick up some new floor for my house because carpet and vinyl ain't good enough bruh πŸ™…β€β™€οΈ Alright, let's see where I'm at in like 2 hours

9:19 PM
Three hours later. I've started over completely from scratch and have been coding furiously. I actually did a good thing this time. The SQLite db is encrypted with the master password you set πŸŽ‰. It's almost like this thing is worth paying money for now! Except… you can't store passwords or copy them anymore πŸ˜… Here's what it looks like now. Barren 🏜

And no I don't know why it jumped out of the frame of my recording like that. One other weird thing I'll have to deal with.

Alright so let me just break down today one more time for my own sanity:

  • Started a brand spankin' new xcode project after 16 days
  • Actually encrypted the SQLite database with the master password you set
  • Switched from Carthage to Cocoapods
  • Read up on state of the art AppKit UI stuff (nstoolbar/faux toolbars and split views)
  • Store just the master password in the keychain, and everything else in the encrypted SQLite file

Come back tomorrow for more sadness and despair as the launch deadline looms over me like a dark cloud! See you then! πŸ‘‹

Top comments (0)