-
Dates
Just have two options, Retro and Now. And have them separate from the actual date. No - Current and Past (or Current and Retro). or "Now" and "Historical", or something In a Picker that has .pickerStyle(.segmented). In the "Date" sub-section of the…
-
Hyperlinks in SwiftUI Text
I want to have text in my app that looks something like this: Zoom in to the map, or use your location. ... so one sentence, with three words linking to a pop-up window requesting access to use the user's location. If I wanted two separate lines, I could…
-
Yesterday, Today, and Tomorrow
To display a date as "Today", or "Tomorrow", or "Yesterday" when one of those is appropriate, and just display the actual date otherwise, take a look at this Stack Overflow post.
-
UserDefaults permission
I’m going to want to read this post on what to do.
-
DatePickers on tap
So I've been trying to work out how to show a SwiftUI DatePicker when a user taps on a button. Nothing I've tried has worked. But maybe this will.
-
Words
Zoom into a point of interest, or click here to use your location. Zoom in, or click here to use your location To have a button on just a few words in a (localisable) string, maybe try this.
-
DatePicker display
Show the DatePicker without showing the DatePicker, with .opacity … outlined here.
-
SwiftUI Throbber
When I need a "waiting / downloading" indicator in SwiftUI, I probably want a ProgressView.
-
Runway
There's a service called Runway that helps with app releases. I don't think I'm at the stage where that's right for me just yet, but in the meantime, they have a really cool App Review Time tracker, that tells you (roughly) how long reviews are taking…
-
Git commit hash in SwiftUI
One day I'd like to add the Git commit hash to an "about" page in an app. When that day comes, this post might be hepful. tl;dr: Add this to a new Run Script build phase: GIT=`xcrun -find git` GIT_REV=`${GIT} rev-parse --short…
-
Debugging with logs
Rather than print statements everywhere during building / debugging, maybe I should use the system log instead. ... but perhaps not till I've got separate environments worked out. Quinn has a bunch of details here, but it's probably easier to…
-
Isolation in Swift
Once I get my head around basic swift concurrency, I might want to read this https://www.massicotte.org/intro-to-isolation
-
Being a grownup
So it turns out that being a grownup is not nearly as much fun as being a kid. I mean, it's better than the alternative, I guess... ... still. I think the best plan is to behave like a grownup when I need to, and remain toally childlike whenever I can.
-
Done > Perfect
Time to stop fiddling around with the grid lines, and work on the actual hashpoints.
-
App Versioning
Marketing Version (CFBundleShortVersionString) is a user-visible string which should be three integers separated by periods, eg 1.4.16. Current Project Version (CFBundleVersion aka Build Number) is machine-readable string. Can be three integers separated…
-
Ternary W?T:F
To remember where to put the question mark and colon in a Swift ternary expression, try the mnemonic What? True : False. From Scott Michaud, via Paul 5/10
-
@ViewBuilder = TupleView builder
Swift puts @ViewBuilder on the View's body. Which means you can return multiple Views from the body, and it silently wraps them in a TupleView. Same thing for MapContentBuilder, presumably. Paul 4/10
-
Submitting an App
So this post looks useful for how to submit an app to the App Store. tl;dr: in XCode: Product->Archive Distribute (TestFlight & App Store) Then use the App Store Connect website (or AppDab on the Mac or the App Store Connect iPhone app) from there.
-
AppDab
I'm looking forward to when I have an app or two on the real live App Store. :-) When that happens, I will probs want to use something like the AppDab app to keep an eye on my App Store Connect stuff on the Mac.
-
Fastlane
When I want to submit an app to the App Store for real (not just for beta testing), I will need a ton of screen captures. This tutorial page (and possibly this doco page) might come in handy. And they need to be a bunch of different sizes, and for a…