@sean
πŸ”₯ 1 day streak
413 words

AYP In App Updates Complete!

πŸ‘¨β€πŸ’»Project All Your Passwords

πŸ€– Version 1.1.10

πŸ“ˆ Sales 8

πŸ€‘Revenue $22.02

πŸ’°Price $5.00 ($2.50 if you use the code ph-50 at checkout πŸ˜‰)

πŸ’»Files Changed Today 509 files changed, 2219 insertions(+), 8973 deletions(-) (Mostly just 3rd party updating stuff)

⌚️Total Elapsed Time 63 hours spent

🏁Today's goal Test auto updating with sparkle using the 2.0 branch

7:00 AM I finally got the in app updating working today. That's three days of testing out a very slow process where I had to re-archive and export two different versions and keep re-checking. Several good things came out of this process though.

Day 1

I figured out there was an underlying library that devmate was wrapping called Sparkle. I also figured out that I didn't need devmate at all for the in app updates, seeing as it used an older version of sparkle that doesn't work with the hardened runtime stuff. That's why I switched over to using sparkle directly in the first place.

Day 2

I didn't realize that the master branch of sparkle was the one not working with the hardened runtime. So I read about 3 issues surrounding the errors I was getting when I tried to check for updates... then I stumbled on this one. That had all of the info I needed, but I was too stubborn and I wanted to move faster since it was already day 2. I should have read the whole thing, or at least the last few. I spent all day compiling and trying to put the Sparkle.framework and the new .xpc services in the frameworks folder. No luck, I must have tried ~20 times. Painful.

Day 3

I finally read through the issue enough to know that I needed to add a separate build phase to xcode to copy the .xpc files to Contents/XPCServices, not Contents/Frameworks or Contents/Resources. That was the thing that finally got it all working. I almost literally jumped for joy, but it is just a side project after all, so I just did a subdued fist pump and that was that.

7:30 AM Uploaded to apple's notary service, because I guess I'm supposed to do this? And it was notarized. Only took a few minutes too. Sweet. Now it's time to email everyone with links to the new version and really test it out with actual customers 😬

Feels good to be done today though. Now I can work on actual app features again πŸŽ‰