3 ms·
I used to think this sentiment is overblown, but then I tried to develop a Mac and iOS app. Although I live in Canada, it took almost 3 weeks to become an Apple
by steve_adams_86 3y ago
I used to think this sentiment is overblown, but then I tried to develop a Mac and iOS app. Although I live in Canada, it took almost 3 weeks to become an Apple developer, having to supply every piece of ID in my possession and having many declined. They’re British Columbian identification in perfectly fine condition.
The development process could have been much worse, but some aspects of swift development in XCode were frustratingly rough with a range of extremely well document to barely documented APIs.
Can I do X with SwiftUI? Who knows. Does it support Y pattern well? Absolutely, and here are a dozen examples. Such a pain in the ass.
I also have no idea when my app will be approved. It just generates air quality forecasts from multiple sources, provides alerts, shows active wildfire perimeters, and doesn’t allow any access to anything else. Just uses location, optionally. It’s been weeks now.
Overall I’d rather not develop for apple’s devices again, but mostly because so little is in my control. The rest was fine. I strongly dislike having so little agency around being accepted into the platform and then publishing on it. Not having a say over my tool chain is also pretty frustrating when theirs is so buggy, slow, and unintuitive.
- jwells89 3y ago> Can I do X with SwiftUI? Who knows. Does it support Y pattern well? Absolutely, and here are a dozen examples. Such a pain in the ass. SwiftUI is still very green, especially on Mac where it hasn't gotten as much attention as it has on iOS. There are some things I'm starting to use it for over UIKit on iOS, but on macOS I wouldn't bother — AppKit might be a little rough around the edges compared to UIKit, mainly due to its age, but it's a great deal more suitable for production work on macOS than SwiftUI is.
- steve_adams_86 3y agoI guess that was another hang up. What should you use? Why? When is it reasonable to use cutting edge vs seasoned libraries? Thanks for that, though. I’ll likely give that a shot soon, because my current client loves the idea of MacOS apps. I like the idea of common code to rub on multiple platforms, but it seems like it’s too green.
- jwells89 3y agoI think that not just on macOS, but generally in desktop software, the older, more mature, more "boring" option is going to be best in the long run even if getting up and running is faster in newer stuff. Of course platform devs would like you to think otherwise because they want buy-in for their new frameworks, but buy-in is earned. New frameworks might eventually be great, but it's going to be a while before they're able to compete with the likes of frameworks such as AppKit, which have legacies stretching back 3+ decades. That's a lot of time to allow for refinement and better covering of common use cases. It's somewhat true on mobile, too, though to a lesser extent because mobile UI widgets don't need to be as functional, which makes it easier for new things to compete — for instance a table view with sortable, rearrangable columns and column headers is practically unheard of on mobile whereas it's a cornerstone widget on desktop. For user-facing platforms the web is the odd exception where it's somewhat the norm to jump for the latest trendy shiny thing on new projects.
- duped 3y agoIt's not like Windows is any better, and Linux is kind of a free for all.
- therein 3y ago> Can I do X with SwiftUI? Who knows. Does it support Y pattern well? Absolutely, and here are a dozen examples. Such a pain in the ass. Exactly this. Don't even get me started if you are writing a Mac Catalyst app too. Can I use this NSEvent? No? I gotta create a bundle that's built for OSX and then load that dynamically and pass stuff as AnyObject from my AppDelegate. Oh I'm getting .rotation and .magnify events. Is there any API I can call to ask the OS the positions of the fingers on the trackpad? No? I need to go through the GestureRecogizer? But that is returning 0 touches for a .magnify event. All I wanted was to get the current location of the fingers so that I can decide on which axis to zoom more on. Oh there is a plist for Application Supports Indirect Events. Downstream effects not documented, well, that's how it is developing for an Apple platform.
- steve_adams_86 3y agoHa, wow, that's agonizing to read but totally on point. You nailed it. I don't understand why Apple has decided this is okay, or why they don't direct more resources and attention to ensuring this sort of thing doesn't become reality.
- shortcake27 3y agoEvery time I submit my app for review it gets rejected and I need to go through 3-4 rounds before it finally gets approved. In one case, the app was rejected and I was asked to make a change. I made the change, and the app was rejected because of the change I was told to make. I’d be fine with their process if there was an alternative way to get my app into my customers hands. But there isn’t, and they’re vehemently against it. When Apple launched unlisted apps I was really excited. But these apps inexplicably seem to go through the same review process. If it’s unlisted, why do they care about anything other than security? Apple truly makes life painful for developers. Can’t wait for alternative app stores.