loading...
Cover image for Day 16: Swift macOS password manager for people who hate the cloud

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

swlkr profile image Sean Walker ・2 min read

Making a swift MacOS password manager for people who hate the cloud (32 Part Series)

1) Day 1: Making a swift macOS password manager for people who hate the cloud 2) Day 2: Making a swift macOS password manager for people who hate the cloud 3 ... 30 3) Day 3: Making a swift macOS password manager for people who hate the cloud 4) Day 4: Making a swift macOS password manager for people who hate the cloud 5) Day 5: Making a swift macOS password manager for people who hate the cloud 6) Day 6: Making a swift macOS password manager for people who hate the cloud 7) Day 7: Making a swift macOS password manager for people who hate the cloud 8) Day 8: Making a swift MacOS password manager for people who hate the cloud 9) Day 9: Making a swift macOS password manager for people who hate the cloud 10) Day 10: Making a swift macOS password manager for people who hate the cloud 11) Day 11: Making a swift macOS password manager for people who hate the cloud 12) Day 12: Swift macOS password manager for people who hate the cloud 13) Day 13: Swift macOS password manager for people who hate the cloud 14) Day 14: Swift macOS password manager for people who hate the cloud 15) Day 15: Swift macOS password manager for people who hate the cloud 16) Day 16: Swift macOS password manager for people who hate the cloud 17) Day 17: Swift macOS password manager for people who hate the cloud 18) Day 18: Swift macOS password manager for people who hate the cloud 19) Day 19: Swift macOS password manager for people who hate the cloud 20) Day 20: Swift macOS password manager for people who hate the cloud 21) Day 21: Swift macOS password manager for people who hate the cloud 22) Day 22: Swift macOS password manager for people who hate the cloud 23) Day 23: Swift macOS password manager for people who hate the cloud 24) Day 24: Swift macOS password manager for people who hate the cloud 25) Day 25: Swift macOS password manager for people who hate the cloud 26) Day 26: Swift macOS password manager for people who hate the cloud 27) Day 27: Swift macOS password manager for people who hate the cloud 28) Day 28: Swift macOS password manager for people who hate the cloud 29) Day 29: Swift macOS password manager for people who hate the cloud 30) Day 30: Swift macOS password manager for people who hate the cloud 31) Day 31: Swift macOS password manager for people who hate the cloud 32) How did my password manager do after launch?

<- For Day 15 go here

📅 01/16/2019
🚀 14 days until launch
🔥 15 day streak
💰 $2.99 price (into cup of coffee territory now)
🤑 $0 revenue
📈 0 customers
⌚️ 13.5 hours spent
💻 20 files changed, 1324 insertions(+), 171 deletions(-)
🏁 Today's goal: Copy buttons for username, email and password

6:00 AM
Decided to just be tired and see how much I could get done before work.

7:06 AM
Hey! Xcode crashed finally. Was trying to use gravity areas and a stack view and moving the last gravity area in storyboard caused Xcode to quit really quickly, not even so much as a beach ball 🏖

8:00 AM
Just messed around with stackviews for hours at this point. Still don't understand them. Time to abandon ship and come up with something else for when username or email is nil

8:10 AM
It's a beauty:

    override func viewDidLoad() {
        super.viewDidLoad()
        let loginTable = Login()
        let kc = KeychainSwift()

        nameOrUrlValue.stringValue = login?[loginTable.name] ?? login?[loginTable.url] ?? ""

        let username = login?[loginTable.username] ?? ""
        let email = login?[loginTable.email] ?? ""
        let password = kc.get(login?[loginTable.key] ?? "") ?? ""

        if username.count > 0 {
            label1.stringValue = "Username"
            value1.stringValue = username

            if email.count > 0 {
                label2.stringValue = "Email"
                value2.stringValue = email

                label3.stringValue = "Password"
                value3.stringValue = password
            } else {
                label2.stringValue = "Password"
                value2.stringValue = password
            }

        } else {
            label1.stringValue = "Email"
            value1.stringValue = email

            label2.stringValue = "Password"
            value2.stringValue = password
        }
    }

You know you're doing something wrong when you have nested if/else statements. Shhh, don't tell anyone. It's our little secret. What's that saying? Move fast and break society? That doesn't sound right.

I didn't even manage to get the copy buttons in there, maybe I can squeeze it in after work.

7:00 PM
I'm here, I'm without beer, ready to rock and roll

7:27 PM
Done! 27 minutes and I did quite a few things, I decided to abandon the "view" view and just show the edit view when selecting things from the list, not sure if I like that yet, and behold, copy buttons:

Cool as a cucumber

See you tomorrow 👋

Making a swift MacOS password manager for people who hate the cloud (32 Part Series)

1) Day 1: Making a swift macOS password manager for people who hate the cloud 2) Day 2: Making a swift macOS password manager for people who hate the cloud 3 ... 30 3) Day 3: Making a swift macOS password manager for people who hate the cloud 4) Day 4: Making a swift macOS password manager for people who hate the cloud 5) Day 5: Making a swift macOS password manager for people who hate the cloud 6) Day 6: Making a swift macOS password manager for people who hate the cloud 7) Day 7: Making a swift macOS password manager for people who hate the cloud 8) Day 8: Making a swift MacOS password manager for people who hate the cloud 9) Day 9: Making a swift macOS password manager for people who hate the cloud 10) Day 10: Making a swift macOS password manager for people who hate the cloud 11) Day 11: Making a swift macOS password manager for people who hate the cloud 12) Day 12: Swift macOS password manager for people who hate the cloud 13) Day 13: Swift macOS password manager for people who hate the cloud 14) Day 14: Swift macOS password manager for people who hate the cloud 15) Day 15: Swift macOS password manager for people who hate the cloud 16) Day 16: Swift macOS password manager for people who hate the cloud 17) Day 17: Swift macOS password manager for people who hate the cloud 18) Day 18: Swift macOS password manager for people who hate the cloud 19) Day 19: Swift macOS password manager for people who hate the cloud 20) Day 20: Swift macOS password manager for people who hate the cloud 21) Day 21: Swift macOS password manager for people who hate the cloud 22) Day 22: Swift macOS password manager for people who hate the cloud 23) Day 23: Swift macOS password manager for people who hate the cloud 24) Day 24: Swift macOS password manager for people who hate the cloud 25) Day 25: Swift macOS password manager for people who hate the cloud 26) Day 26: Swift macOS password manager for people who hate the cloud 27) Day 27: Swift macOS password manager for people who hate the cloud 28) Day 28: Swift macOS password manager for people who hate the cloud 29) Day 29: Swift macOS password manager for people who hate the cloud 30) Day 30: Swift macOS password manager for people who hate the cloud 31) Day 31: Swift macOS password manager for people who hate the cloud 32) How did my password manager do after launch?

Posted on by:

swlkr profile

Sean Walker

@swlkr

Takes hikes 🏔 Makes sites 👨‍💻

Discussion

markdown guide