Hi! I have an old mid-2011 iMac, such that I cannot install the new version of software on it (OS X & XCode).
The newest OS X (Mojave) only support iMac 2012 or after, such that I can only use OS High Sierra now, with XCode 10.x. When I created an iOS project with XCode, the displayed "Deployment Target" is only up to 12.1. Does this mean the app I created only work for iOS 12, but not iOS 13?
In this situation, if I want to develop iOS 13 app, is it necessary for me to get another Mac machine?
Thank you!
Does this mean the app I created only work for iOS 12, but not iOS 13?
Just because an app isn't built against the iOS 13 SDK doesn't mean it won't run on a device using iOS 13. In general, it might be able to run, but it won't support anything specific to iOS 13.x - it would be important to test it to find out exactly.
About what you can put into the store vs. tools, see: Supported Xcode and Application Loader Versions
In this situation, if I want to develop iOS 13 app, is it necessary for me to get another Mac machine?
If you mean with native iOS 13 features support, correct.
> the displayed "Deployment Target" is only up to 12.1.
About that...there is a range of SDK/OS support biased as maximum and minimum. The Xcode version in use always dictates the max (aka base SDK), and, offers various minimums (see the Xcode wiki), meaning you won't have a choice on max, but you will on min.
'Deployment Target/OS' is min, and can't be higher than max that that version Xcode supports.
Examples are if you want to make an app that only supports the current iOS, set deployment to the max that your Xcode claims to support, but if you want to support a range of iOS versions to include lower, set deployment to the lowest your app supports and is compatible with. This doesn't mean you can just pick a lower deployment iOS and your app will magically support it. Be sure to always test it on the versions you want to cover so that your users don't do that work for you.