It's been a bit quiet here.
I actually wanted to use my vacation three weeks ago to just work on the app.
It turns out that relaxing is also important. And I tried CrossFit, which I'm very interested in right now!
The app will be continued, but is currently not a top priority.

#CouponBox

It's really difficult with the notifications. Especially if you use CloudKit syncing.

I would like to send local notifications before the voucher expires. Easy.

But I want notifications to be created/updated/deleted in the background when they are managed on a second device.
But SwiftData has no solution for this.
Then you are back to CKQuerySubscription with CK objects and it is again difficult to find a unique identifier for the local notification.

#BuildInPublic #CouponBox

I am currently experimenting with saving a single AppSettings instance in SwiftData & synchronizing it to all devices.
However, SwiftData mainly works with queries for many objects. This would result in a query in each view and a problem with optionals due to “settings?.first”.

My approach right now is to handle it centrally and pass it on as an environmentObject.
Do you have any experience or ideas on this approach?

#BuildInPublic #CouponBox #SwiftData #EnvironmentObject

Last night I started working on the reminder for the expiry of a voucher. However, this will still be complicated, as you can change the reminder settings on a device synchronized via CloudKit.

Btw. not focusing on UI works quite well, so far everything is just raw views with debug information. However, there's not really anything to see here either 😬🤷‍♂️

#BuildInPublic #CouponBox

That's why I'm thinking about adding some kind of template function.
These are automatically created/updated and suggested when you enter a voucher for which there is a template.
This will pre-fill known information.

Additionally there should be an option to edit/delete/(create?) these templates as well as an option to disable them completely if you don't want to.

Perhaps this feature will only be available for the “Pro” feature set.

#CouponBox #BuildInPublic #iosdev

I've been thinking about possible problems and “annoying” user experiences over the past few days.
Vouchers from different companies often have different fields (a code, sometimes a number and pin, a QR code, ...). I can't provide all of these. So the user has to enter which fields his voucher has. But having to do this again and again is annoying.

#CouponBox #BuildInPublic #iosdev