Learning Swift using voiceover?

App Development & Programming

For a few years now, I’ve been interested in trying to learn Swift, using voice over on my Mac.
The problem is, I’m having a hard time trying to find beginner tutorials.
Can anyone point me in the right direction?
I have Xcode on my computer, and was looking at it last night. I find it extremely confusing. If anyone could help with that as well, I would greatly appreciate it.



Submitted by mehgcap on Sunday, November 1, 2020

Member of the AppleVis Editorial Team

Swift is a neat language, and if you're familiar with any programming, it's easy enough. Even if you're new, the basics aren't hard to pick up. However, sadly, the only way to run it in a way that will let you build apps for macOS, iOS, and Apple's other platforms is Xcode. Xcode isn't terrible once you get used to it, but at best, it can be confusing and frustrating.

For tutorials, I like Hacking with Swift. The tutorials walk you through everything and have all the code you'll need, though you may find yourself having to look up certain basic concepts if you're new to programming.

AppleVis has an Xcode tutorial, and while it's old, most of it still applies. The hotkeys, layout, and various areas it discusses are still accurate, even in Xcode 12. The only addition I would add is that to VoiceOver rotor has code errors and other helpful settings you may find useful. In my testing, moving by error would read the error, but not move focus, though your experience may be better.

You can also go in a different direction. Swift is an open-source language, available for multiple platforms. If you are comfortable with command line applications on Linux, you could always get ahold of a Linux machine, install Swift, and play with it that way. No Xcode to worry about, none of VoiceOver's imperfections around coding, just your preferred text editor and a command line compiler. Of course, you'll be limited to command line applications, but I'm suggesting this as a way to learn the fundamentals of both Swift and general coding, without also worrying about learning Xcode at the same time. Of course, if you don't know Linux and some shell commands already, ignore this paragraph and stick to Xcode.

Submitted by Skippy on Monday, November 2, 2020

When I was younger, a friend and I learned the very basics of Swift together, and we actually made a working app. Now, it will just be me, and since it’s been a few years, I’m having to start all over.
I’ve played a little bit with Swift playgrounds, and can only ever seem to manage to get through the first level. After that, I get stuck.
Does anyone else on here have experience with that app, that could guide me?
I don’t know if it matters, but I am running the beta of macOS Big Sur, and the version of Xcode from the App Store.

Submitted by Ty on Friday, January 8, 2021

I second Hacking with Swift. I've been going through their SwiftUI tutorial. Am up to about day 17. For a beginner at programming though, I would recommend their 100 Days of Swift course, as it covers the language in much greater detail. When really interested in GUIs, though, 100 Days of SwiftUI is the *only* course I've ever found that doesn't have you drag elements onto the canvas. In regard to your Xcode problem, I feel for you. It took me a while, too. Allow me to link you to a recording Oriol made, demonstrating it, upon my request. He also demos how to generate App Icons. https://oriolgomez.com/xcode.mp3

Submitted by Skippy on Monday, January 11, 2021

Thanks for all the tips.

If I'm working through a tutorial, & am told to drag something, what do I do?
I'm familiar with how to drag things using voiceover, but it typically fails.
So, is there a consistent way to get it to work more than once?