Pinned Tweet
The latest version of ComingUp just hit the App Store!
New features:
•Add attachments to events (tickets, photos, notes)
•Share events privately via iCloud (CloudKit sharing)
•Improved design + performance throughout
#indiedev #buildinpublic
apps.apple.com/gb/app/comingu…
New features:
•Add attachments to events (tickets, photos, notes)
•Share events privately via iCloud (CloudKit sharing)
•Improved design + performance throughout
#indiedev #buildinpublic
apps.apple.com/gb/app/comingu…
1
0
13
958
I use AI to build ComingUp every day, and I still have to check its work.
It'll happily write code that runs. Knowing if it'll scale, stay secure, or fall over in six months takes experience.
That's the bit I enjoy helping newer devs with.
It'll happily write code that runs. Knowing if it'll scale, stay secure, or fall over in six months takes experience.
That's the bit I enjoy helping newer devs with.
1
0
7
63
It's Sunday, and I don't really do lazy Sundays. I'd rather be building something.
A lot of you followed yesterday, so I want to see what you're building. Drop your app or project below, iOS or not, and I'll go and have a look 👀
A lot of you followed yesterday, so I want to see what you're building. Drop your app or project below, iOS or not, and I'll go and have a look 👀
9
0
6
108
Lots of new faces since yesterday 👋
I'm Rob, building ComingUp, a countdown app that helps you build excitement, on your Home Screen, Lock Screen or with Live Activities.
Christmas is 47 days away 🎄
apps.apple.com/app/apple-stor…
I'm Rob, building ComingUp, a countdown app that helps you build excitement, on your Home Screen, Lock Screen or with Live Activities.
Christmas is 47 days away 🎄
apps.apple.com/app/apple-stor…
2
0
5
165
A few events on one day? ComingUp's Journey widget stacks them as tickets. Tap the stack to step through them on the Home Screen, without opening the app.
How: Button(intent:) runs an AppIntent that bumps that day's counter in the App Group and reloads only the Journey widget.
How: Button(intent:) runs an AppIntent that bumps that day's counter in the App Group and reloads only the Journey widget.
1
0
3
173
My own scheduler had a bad day yesterday. The X posts went out on time, but two Bluesky posts meant for 4pm and 6pm only went out at 9am this morning.
That's the deal with building your own tools: you're also the one on call. Next job is finding out why.
That's the deal with building your own tools: you're also the one on call. Next job is finding out why.
3
0
10
121
Robert retweeted
Convert a project to the new JSON format from Terminal:
xcodebuild -convert-project "Xcode Project" -project MyApp.xcodeproj
And to go back to the old format:
xcodebuild -convert-project pbxproj -project MyApp.xcodeproj
Try it on a branch first.
xcodebuild -convert-project "Xcode Project" -project MyApp.xcodeproj
And to go back to the old format:
xcodebuild -convert-project pbxproj -project MyApp.xcodeproj
Try it on a branch first.
0
1
1
79
Just hit 100 followers 🎉
Not a massive number, but every one of them is a real person who cares about iOS dev, building in public or ComingUp. Two months ago I was mostly posting into the void.
Thanks for following along. More SwiftUI lessons and ComingUp updates coming.
Not a massive number, but every one of them is a real person who cares about iOS dev, building in public or ComingUp. Two months ago I was mostly posting into the void.
Thanks for following along. More SwiftUI lessons and ComingUp updates coming.
82
1
104
3,935
ComingUp's TikTok has 6 followers, and Wednesday's three story videos each passed 700 views: 735, 727 and 725.
A puppy, Santa, and a son home from uni for Christmas. They sell the moment you're counting down to, not the features.
Small account, but people are watching.
A puppy, Santa, and a son home from uni for Christmas. They sell the moment you're counting down to, not the features.
Small account, but people are watching.
1
0
4
84
A Live Activity countdown doesn't need you pushing an update every second.
Text(timerInterval: start...end, countsDown: true)
The system ticks it for you. ComingUp's Live Activity covers the last hour before an event, and this one Text does all the counting.
Text(timerInterval: start...end, countsDown: true)
The system ticks it for you. ComingUp's Live Activity covers the last hour before an event, and this one Text does all the counting.
0
0
0
53
Small numbers, but I'll take them.
ComingUp first-time downloads:
Last week: 6
This week, Mon to Wed: 9
X followers: 54 on 31 Oct, 77 now.
I might not be great at marketing, but just posting here does seem to help. Seeing the graphs go up keeps me going.
ComingUp first-time downloads:
Last week: 6
This week, Mon to Wed: 9
X followers: 54 on 31 Oct, 77 now.
I might not be great at marketing, but just posting here does seem to help. Seeing the graphs go up keeps me going.
0
0
4
57
Convert a project to the new JSON format from Terminal:
xcodebuild -convert-project "Xcode Project" -project MyApp.xcodeproj
And to go back to the old format:
xcodebuild -convert-project pbxproj -project MyApp.xcodeproj
Try it on a branch first.
xcodebuild -convert-project "Xcode Project" -project MyApp.xcodeproj
And to go back to the old format:
xcodebuild -convert-project pbxproj -project MyApp.xcodeproj
Try it on a branch first.
0
1
1
79
Why generics are worth it:
func decode<T: Decodable>(_ type: T.Type, from data: Data) throws -> T
One function for any Decodable type, and the compiler knows exactly what comes back. No Any, no casting, no surprises at runtime.
Do you use them a lot, or only when you have to?
func decode<T: Decodable>(_ type: T.Type, from data: Data) throws -> T
One function for any Decodable type, and the compiler knows exactly what comes back. No Any, no casting, no surprises at runtime.
Do you use them a lot, or only when you have to?
1
0
1
86
Definitely need to implement this right away.
Apps Can Now Try to Stop You From Canceling Subscriptions macrumors.com/2026/11/04/app…
0
0
1
32
Remember when people used to code on coding sheets? And when they talked about it, we were like "awwww".
That's how a Claude Code user just looked at me for opening Xcode.
That's how a Claude Code user just looked at me for opening Xcode.
1
0
1
114
Next up for ComingUp: Siri AI support.
Apple opened the Developer Preview to everyone this week, with the 27.3 betas. It's all built on App Intents, and App Store submissions open in the spring, so I've got time to get it right.
Anyone else started on theirs?
Apple opened the Developer Preview to everyone this week, with the 27.3 betas. It's all built on App Intents, and App Store submissions open in the spring, so I've got time to get it right.
Anyone else started on theirs?
3
0
5
83
Xcode 27.2's Device Hub finally does multi-touch. Through Sidecar or a MacBook with Touch, touches now reach the device, so pinch and rotate work. Not having it to begin with was a pain.
Also new: simulator Slow Motion Animation and a JSON project format (.xcproj).
Also new: simulator Slow Motion Animation and a JSON project format (.xcproj).
2
0
1
166
Trying out T3 Code at the moment, and it's good having all my agents in one place.
Made me curious what everyone else is doing. Which agents do you use for your development, and what does your workflow look like?
Made me curious what everyone else is doing. Which agents do you use for your development, and what does your workflow look like?
4
0
2
100
A widget process outlives a single refresh, so a Core Data query generation pinned once can keep serving an old snapshot.
ComingUp's widgets now unpin before every read:
try? context.setQueryGenerationFrom(nil)
context.reset()
Just don't hold managed objects across reads.
ComingUp's widgets now unpin before every read:
try? context.setQueryGenerationFrom(nil)
context.reset()
Just don't hold managed objects across reads.
0
0
1
133






