Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

PugMaster

macrumors regular
Original poster
Nov 5, 2019
220
195
Hi folks,

I just started with SwiftUI and iOS development. I'm actually a photographer turned web developer (front end), so I have programming experience but not in application development.

My first app - DawnTracker - is very simple, it calculates sunrise, sunset, astro dawn, nautical dawn, civil dawn, blue hour, golden hour and such, for the current day on your current location. I use it for finding the best time to fly my drone to get beautiful sunset shots.

I'm currently working on the watch extension but that will still take time.

In the mean time, I am hoping some people could help my poor soul (all my friends use Android -.-) and help me beta test my app.
The beta link is here: https://testflight.apple.com/join/5ZcLe8Oh

It's only around 600KB and it uses gps/location only when the app is open. No ads, no notifications, no nothing.

If you have a minute to spare to test it, I'd be really grateful. Also, I'm open to any feedback regarding the app. I know it is very basic and I know there are much more advanced Golden Hour calculators and such, but for my own personal needs, they are much oversized.

I tested in on my XS Max but I don't own any smaller devices. I would specifically like to know how it looks on a SE OR how the time looks on american date formatting. Of course I tested with the simulator but in reality, it always differs in text size, formatting etc.

Thank you in advance and kind regard!
 
Thanks so much! I just finished the Watch Extension and submitted to Apple for approving.

So far, I'm really impressed by Xcode and SwiftUI. So easy to make complex interfaces with just a few lines of code. The biggest trouble so far I have is "how to get started best" with MVC. Already planning my next app ;-)
 
So far, I'm really impressed by Xcode and SwiftUI. So easy to make complex interfaces with just a few lines of code. The biggest trouble so far I have is "how to get started best" with MVC. Already planning my next app ;-)

SwiftUI is pretty great, yeah. A lot nicer to work with than the old way.
Regarding MVC; The best way of getting started is understanding that you'll make a lot of architecturally bad moves along the way and that's OK. Fix as you learn more, or use throw-away sample projects to get the architecture down.

But the gist of it isn't too difficult to wrap your head around. Separate model (structure of data and the like), views and the controllers of the views and make sure communication flows the right way (see attached image).
Mind you, with SwiftUI, I don't think it's really a negative if your view and its controller is effectively the same thing with the way that framework works, but still thinking in the abstraction sense.

IMG_0004_2.jpg
 
  • Like
Reactions: 09872738
Thank you so much for your feedback regarding the app! That helps a lot! I am trying to figure out the data formatting regarding locales, currently have an if statement differing between german and english but there must be a more elegant solution :)

Edit: I fixed all your suggestions, thank you :)
Now the date localization has been changed (hopefully) and the app only fetches your location once, then stops, because I don't think users will change continents while having the app open ;-)
 
Last edited:
Hi, I was gonna try it out but I only have an iPhone 6 and it can't run iOS 13 so can't run it.
I may be getting an SE soon so if I do I will check back an try it out.
Sounds like a good app! Good Luck with it.
 
Thank you! SwiftUI (which I am using) is unfortunately only compatible on iOS 13 and above so I can't do anything about it :(
 
Thank you so much for your feedback regarding the app! That helps a lot! I am trying to figure out the data formatting regarding locales, currently have an if statement differing between german and english but there must be a more elegant solution :)

You're welcome. There's an obj-c class called NSDateFormatter that I believe you can use for this, tapping into the system's settings and using what's default in the region automatically. I haven't really used it myself yet however. And there may be a native swift substitute, but if not you can use obj-c code in Swift easily enough.

Edit: I fixed all your suggestions, thank you :)
Now the date localization has been changed (hopefully) and the app only fetches your location once, then stops, because I don't think users will change continents while having the app open ;-)

Cool. Update hasn't arrived for me yet, but I'll check it out when TestFlight gets going ;). But aside from the few points I mentioned in my report, I don't have much to say. It's a simple app that does exactly what it needs to, which is good. There's little to complain about.
 
You're welcome. There's an obj-c class called NSDateFormatter that I believe you can use for this, tapping into the system's settings and using what's default in the region automatically. I haven't really used it myself yet however. And there may be a native swift substitute, but if not you can use obj-c code in Swift easily enough.

Yes, the magic key was:

Code:
var dateFormatter: DateFormatter {
        let formatter = DateFormatter()
        formatter.timeZone = TimeZone.current
        
        formatter.setLocalizedDateFormatFromTemplate("EEEEMMddYYYY")
        
        return formatter
    }

I didn't know about the .setLocalizedDateFormatFromTemplate function and had an if-statement instead that seperated between english and german. But of course, it would be quite a task to add a statement for each available localization :D

Cool. Update hasn't arrived for me yet, but I'll check it out when TestFlight gets going ;). But aside from the few points I mentioned in my report, I don't have much to say. It's a simple app that does exactly what it needs to, which is good. There's little to complain about.

Thanks! Update is still being verified...
My bff now wants the ability to change dates and add custom locations. I'm on the fence about this because there are already dozens of apps doing exactly this and I find them a bit overblown. But let's see. I'll maybe add this for the phone but not for the watch app, to keep it as simple as possible.
 
So Apple declined the App because they state functionality is too limited. A bit sad about it because the functionality is exactly like I had it in mind as I just don't have any need to bloat it up any further. Not sure if I should reply to the message or if I should just add some stuff even though I don't think it benefits the app....
 
So Apple declined the App because they state functionality is too limited. A bit sad about it because the functionality is exactly like I had it in mind as I just don't have any need to bloat it up any further. Not sure if I should reply to the message or if I should just add some stuff even though I don't think it benefits the app....

that's so disappointing of a decision by apple.
yr app sounds great and i would have bought it.
there is a similar app that sounds very similar to yr app that has been in the app store since the very beginning (and before that on macOS as well).
called VealClock. its a wonderful app that i use almost daily. extremely precise and can use Location data.
if VelaClock is in the app store certainly yr app should also be approved without question - especially if you are able to develop a companion WatchOS app for it as well.
hang in there and persevere.
 
So Apple declined the App because they state functionality is too limited. A bit sad about it because the functionality is exactly like I had it in mind as I just don't have any need to bloat it up any further. Not sure if I should reply to the message or if I should just add some stuff even though I don't think it benefits the app....

I would write a follow-up, stating that you're expecting the compass app to be removed from iOS soon, due to similar reasoning. It only shows a compass and some information, lacks features.

A minimalistic app that does what it sets out to do is better than one with a million bells and whistles without identity. Seeing as they're replacing iTunes with smaller apps, they'd know that.
 
It's been a while but I just wanted to report back that my app is FINALLY in the App Store ;-)


It was rejected again after I added a lot more featured, and this time I appealed. A few hours later it was accepted, so the decision was overturned!
I don't know why exactly they turned it down the second time, because I added the option to add new cities, change the date, even added some educational content, but I suspect the first reviewer didn't turn on location access and just saw that it doesn't do anything. I added the need for location access in the review notes and got probably a different reviewer :)

Now I'm pretty happy, got my first two apps in the store :cool:
 
It's been a while but I just wanted to report back that my app is FINALLY in the App Store ;-)


It was rejected again after I added a lot more featured, and this time I appealed. A few hours later it was accepted, so the decision was overturned!
I don't know why exactly they turned it down the second time, because I added the option to add new cities, change the date, even added some educational content, but I suspect the first reviewer didn't turn on location access and just saw that it doesn't do anything. I added the need for location access in the review notes and got probably a different reviewer :)

Now I'm pretty happy, got my first two apps in the store :cool:

Good work, mate. I've been following along with the developments on TestFlight and you've really kept up a high pace of updates. It's good to see you've done so well and progressed so fast with it. Congratulations and best of luck
 
Ha, sorry I slammed you with updates :)
I wasn't aware you still had it installed, I thought everybody left the group/deinstalled TestFlight.

Thanks so much for your kind words, I think I got the hang out of SwiftUI so far, but I'm really still a super noob when it comes to application design and such. Still have so much to learn. But I'm already planning my third application, which is probably a bigger chunk than I can chew right now, let's see :D
 
Ha, sorry I slammed you with updates :)
I wasn't aware you still had it installed, I thought everybody left the group/deinstalled TestFlight.

Thanks so much for your kind words, I think I got the hang out of SwiftUI so far, but I'm really still a super noob when it comes to application design and such. Still have so much to learn. But I'm already planning my third application, which is probably a bigger chunk than I can chew right now, let's see :D

Hehe, no, I thought it was fun to see you progress with the updates.

Taking on big challenges can be a good way of developing skills. Just don't beat yourself over the head when you get stuck and it takes a while to cross the hurdle. You will get there eventually. Good luck!
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.