Beginner developer for apple platforms

Hi. I would like to start developing apps for iPhones and iPads but I don’t own any apple products. I have some questions regarding which devices/equipments I would need to purchase in order to develop apps for them.

  1. I notice there is a “Target minimum iOS version” Player setting in Unity. Let’s say the lowest I target is iOS 12, does that mean older iPhones that cannot upgrade to iOS 12 won’t be able to download my app? If that is the case then that means I shouldn’t even bother buying and testing on older devices that can’t even upgrade to that, right?

  2. From what I’ve been able to gather, it seems the biggest factor in developing for the Apple platform is the version of Xcode the Mac can support. I believe the version of Xcode determines which iOS we can target and build for. Am I correct on this?

According to Upcoming Requirements - Apple Developer, the latest apps must be built with at least Xcode 14.1.

This means (according to Xcode - Support - Apple Developer), I would need buy a Mac (thinking about buying a used Mac Mini) that can be upgraded to at least Monterey 12.5.

Looking at the picture below, a Late 2014 model should be sufficient in developing apps for iOS, right? Or should I buy a 2018 model instead? If I buy a Late 2014 model, I’m afraid in the next year or two, the app store will raise the minimum requirements for Xcode and that could mean the Late 2014 model might no longer be sufficient. Or is that something I shouldn’t be too worried about?

(Identify your Mac mini model - Apple Support)

Thanks in advance.

9088801--1258627--upload_2023-6-18_12-21-10.png

Yes.

Yes (but also you used to be able forcibly add newer SDKs to older XCodes and it would work for a while, I haven’t tried that recently though so I don’t know if it’s possible and it was fine as a way to extend staying on the same XCode version for a while, I definitely wouldn’t suggest you start this way, because things will get quickly very out of hand).

You definitely should be worried about that.

There are ways to produce iOS apps from Windows, although I don’t know how reliable they are as I haven’t used them. Some examples here: https://discussions.unity.com/t/879801

Thank you for the quick reply.

Also, I know there is an annual $99 developer fee to publish the app on the app store, but let’s say after I deploy/publish it and I decide not to renew my subscription, does my app stay in the store?

I would have to check as I am not sure, but I believe the answer is no? I could be wrong. Try to find an answer on Apple’s site.

It seems it won’t appear on the app store. Program Renewal - Support - Apple Developer

also note this:
“Developers of apps that have not been updated within the last three years and fail to meet a minimal download threshold … receive an email notifying them that their app has been identified for possible removal from the App Store”

Ugh… the fact that:

  1. they can remove the app if it doesn’t meet a download threshold within a year
  2. there’s an annual membership fee

makes it less enticing to develop and publish on Apple’s app store.

Edit: I know there’s the Small Business Program but still…

According to the above (Xcode - Support - Apple Developer), the deployment target for iOS (with Xcode 14.1) is from 11 - 16.1. That means the minimum target OS is iOS 11, right? If that is the case, then why is it that when I set the Target Minimum to 11 in Unity, it automatically sets it back to 12?

Apple raises the minimum requirement every year. Last year it was Xcode 13 which required Big Sur 11.3. One year from now the requirement will likely be Xcode 15 which requires Ventura 13.3. While Sonoma 14 is not discontinuing the 2018 Mac Mini (it is discontinuing the 2014) I fully expect it to be discontinued soonish.

https://en.wikipedia.org/wiki/MacOS_Sonoma#Supported_hardware

Unity does not support 11. I think it allows them to drop GLES 2.0 support for iOS (don’t quote me), which is fine.

In any case, it doesn’t matter that much. On iOS most people that can update their OS do so, and the people who have old enough devices that are stuck to iOS 11, typically aren’t big app store users, they just use their phones for phone stuff and maybe browser and e-mail.

I am not liking Apple’s business practices. Not only are they charging annual fees on top of taking cuts from purchases but they’re also forcing devs to continuously upgrade their Macs/purchasing new ones due to Xcode requirements.

Because of that, I’m thinking about trying to build the iOS apps from Windows (as suggested by AcidArrow): https://discussions.unity.com/t/879801 . Not only is that Unity asset constantly being supported but it has great reviews and it can work with a really old Mac (solving the frustration with having to keep buying a new Mac).

see the requirements,
https://developer.apple.com/app-store/small-business-program/

still without the membership, its quite limited and test app expires quite fast…
https://developer.apple.com/support/compare-memberships/
https://developer.apple.com/help/account/reference/supported-capabilities-ios#//apple_ref/doc/uid/TP40012582-CH38-SW1

Just be aware that asset requires you to break the developer license agreement as it requires the SDK be copied to Windows to have access to the files necessary for the build process.

https://developer.apple.com/support/downloads/terms/apple-developer-program/Apple-Developer-Program-License-Agreement-20230605-English.pdf