FWIW a 2020s answer ...
If you just want to "make something that runs on an iPhone",
just make a web app or use some cross-platform crap like Unity, Flutter, electron or whatever.
If, for whatever reason, you want to tinker with Swift/SwiftUI/UIKit as such, then ...
note that even if you have a Mac! or a large number of Macs, it's all-but impossible to make native iOS apps unless you have an absolute minimum of 1x iPhone, and it has to be a recent one, and 1x iPad, ditto. The simulators are getting better all the time but other than for the most trivial "hello" apps, you need the devices
note that Xcode and the "Xcode environment/universe" is extremely and annoyingly connected, Xcode is constantly hooked in to Apple's servers with your apple developer account. Among other issues you constantly get security pings on your macs, watches, etc etc about certificates, permissions, "capabilities" etc. "iOS development" other than the most trivial "here's a green square" apps is all about the universe of notifications, permissions, capabilities, etc etc. (Thus: it's a real pain to use Xcode when you are merely on an old-fashioned flight which doesn't have wifi, far less trying to use VirtualBox or some such.) Further, when working with Xcode/iPhones, the version of MacOS is inherently tied in to things - you are forever constantly updating your mac, because a Mac update is needed so as to update Xcode, and so on.
Indeed, it's becoming more and more difficult to really use Xcode even if you don't have the we-make-our-own-chips latest Macs. The subtleties of the simulators for anything beyond drawing a square (video, metal, gpu, fifty minor issues like GPS simulation etc etc) are nightmarish even when on a Mac, it's a total nonstarter if you're running some sort of virtual mac. I personally just won't bother doing development if the only mac laying around is Intel era, it's too painful.
The simple answer has three parts:
You can't do Swift/SwiftUI/UIKit unless you have a (fairly recent!) Mac
Every hackintosh -like approach such as VirtualBox is: complete crap. It's great fun if, as such, you're in to stuff like "I made Splatoon3 run on a Blackberry" but it's completely unusable
If you just want to "make something that runs on an iPhone", ie, your aim is NOT specifically to fool with Swift/SwiftUI/UIKit, then just make a web app or use some cross-platform crap like Unity, Flutter, electron or whatever.
Note, as everyone has said, the least powerful (recent!) Mac is 100.0% OK for Xcode. Xcode is actually remarkably efficient and fast these days. So just buy a used one of the cheapest Mac, or use any of the numerous online rental services.