I've begun developing the iOS version of my app. While I have a working android, I don't have a working iPhone and I will not spend the $1000 for the new one. I found some older posts, which said yes to this question, but I wanted to make sure it was still valid before I buy an iPod touch. I was wondering, that so long as my app doesn't use iPhone specific hardware (like GPS) if I can just use an iPod touch for development. And if it works on the iPod touch, does that imply it will work on iPhone (again, given the hardware constraints).
Thanks for the help.
An iPod touch is an iOS device. All iOS apps not specific to just iPads will run on any iOS device, including iPod touches. This is true as long as the app doesn't list a required device capability not found on the given device.
So yes, in general, using an iPod touch to test an iOS app is perfectly fine. Use it along with all of the different simulators to make sure your app works properly on all of the different screen sizes. But you should always test an app on a real iOS device since the simulator has limitations such as no camera, inability to send email, no ability to launch other 3rd party apps, a case-sensitive file system (normally the simulators are case-insensitive), etc.
Just be sure you get the latest iPod touch that supports iOS 11 (the 6th gen). Keep in mind that even the latest iPod touch may not be useful for more than a year, maybe two, with regard to being able to install the latest version of iOS.
You could also look into a refurbished iPhone 6s or even a new iPhone SE. Both are much cheaper than $1000. As I write this, you can get a refurbished iPhone 6s for $369 USD. Though a refurbished 6th gen iPod touch is $149 USD. But buy the newest device you can afford. A cheaper device that won't run iOS 12 or 13 isn't much of a bargain.
I find the https://en.wikipedia.org/wiki/List_of_iOS_devices page useful to know what devices run which versions of iOS.