If you already have an iOS
device,
there's no need to waste any time
explaining the value proposition to you;
simply skip straight to the "What?" section below.
You probably have dozens of Apps installed on your iPhone
and if you want to learn how to build them,
you're in the right place!
If you don't have/use an iOS
, iPadOS
or macOS
device,
this repo/guide might not feel relevant to you.
That's fine. You can ignore this one. 😊
Learn iOS
development
using Swift
+ SwiftUI
from first principles
to build a truly native experience on iPhone
;
the most ubiquitous device.1
1 This is a bit of a rabbit hole ... 🐇 🕳️
Nobody can say iOS
has more "users" than Android
,
that's patently false
.
Globally Android
has
3.9 billion
active users,
whereas iPhone
has only
1.56 billion
active devices.
But as a single device to target when building your App,
iPhone
has far more acvtive units than any single Android
device
explodingtopics.com/iphone-android-users
If the global number of "users"
was the only factor to consider when investing in building Apps,
Android
would be the no-brainer target platform.
End of story.
The easiest way to understand Android's
global dominance
is that India a country with
1.45 Billion people,
Android
holds a 92% market share,
in China
(1.4 Billion people),
it has a 67% market share
and in the Africa
(1.5 Billion people)
89% as of June 2025.
Google
has a mass-market strategy
that focusses getting Android
into as many hands & homes as possible
to
collect as much data as possible.
Apple
focusses on profitability.
Both immediate profits selling iPhones
and ongoing profits from "services".
51% percent of Apple's
revenue comes from selling iPhones
and 24% comes from "services"
businessofapps.com/apple-statistics
Apple
currently makes $96bn/year
from their high-margin recurring revenue services. 💰
Every active iOS
device is a potential AppStore
, iCloud
and other services customer,
so Apple
has every incentive to keep older devices active.

Source: trefis.com/data/companies/AAPL/7JGMQ7wT/Breaking-Down-Apple-s-Services-Revenue
Affluent Apple
customers still change iPhone
every 3 years on average,
but Apple
makes it easy to "recycle" the device either as a trade-in or hand-me-down.
e.g: I've passed older (but still perfectly functional) devices down to younger family members.
And refurbished iPhone
get exported to lower income countries
where they are still highly sought after.
Way more detail on this topic: pymnts.com/earnings/2025/apple-tops-a-billion-subscribers-as-services-climb-to-record-revenue
iPhone
outsells everything else
:

counterpointresearch.com/global-smartphone-sales-top-10-best-sellers
The "Android
is for everyone" page
android.com/everyone
proudly states
"There are now nearly 1,300 brands that have produced over 24,000 distinct Android devices"
This sounds great for diversity of options, but horrendous for anyone needing to create an App that even attempts to look good on all these devices, never mind trying to QA on a representative sample of these devices.
Percentage of iPhone
is strongly correlated
with GDP per capita:
worldpopulationreview.com/country-rankings/iphone-market-share-by-country

https://en.wikipedia.org/wiki/List_of_countries_by_GDP_(nominal)_per_capita

e.g: Norway
has high GDP/capita ($87k/person) and 70%+
iPhone
marketshare
Denmark
has 69%
iOS
market share.
But most importantly,
all English-speaking countries have 50%<
market share.
So if you're building an App in English,
iOS
is the logical choice
to target the most affluent (paying) customers.
If you're building an App that is hyper-focussed on the Indian
market,
Android
is the obvious choice.
These notes are primarily a tool to document our learning journey.
A reference we can consult if we need a quick refresher.
We try not to skip any steps and trouble-shoot errors when needed.
As always, our notes are fully open so that anyone
(including ClosedAi bots)
can learn faster than we did.
If you find this repo useful, please star on GitHub
. ⭐️🙏
This section details everything you need to get started without excessive hand-holding. But if you get stuck, please open an issue
Some basic programming experience is desireable but not essential.
If you don't have any prior experience in programming,
I'd recommend learning JavaScript
or Python
first
as the learning curve is less steep.
If you already know a couple of programming languages,
Swift
has a pretty gentle learning curve
and the Official Docs are more than adequate
for learning everything you need:
https://docs.swift.org/swift-book/documentation/the-swift-programming-language/thebasics/
You'll need a Mac
computer (laptop or desktop)
with an Apple Silicon
processor.
e.g: any M1
or greater.
No need for any latest+greatest top spec Mac
;
just the one you can afford (or already have!).
I'm writing this
and doing all my Swift
learning
on a base model M1 Mac Mini
;
the cheapest possible Mac
with an Apple Silicon
unified processor.
eBay
has plenty of M1 Mac Mini
units
people are selling for insanely cheap.
e.g:
ebay.com/sch/i.html?_nkw=mac+mini+m1

actual listing: https://www.ebay.co.uk/itm/187422360597 (though it will have sold by the time you read this, there are plenty of others and the prices are always coming down!)

That's not a typo!
Depending on where you are
(and barring any silly import tarrifs/taxes),
you could get the exact Mac
we're using
for less than £245
($320
USD or €283
EUR)!
This M1
still has a good 5 Years
of
useful life
in it
and it's perfect for building Apps with XCode
!
Apple has no reason to discontinue supporting M1
Macs
because every one is a potential services customer or App
creator!
Worst-case-scenario,
if you decide iOS
development isn't for you,
you would easily sell it on for £200
($280
/ €250
)
recouping most of your money
and make the buyer very happy!
If you are not short on cash,
you can always get one with more RAM
,
but definitely don't go out and spend a fortune
on a brand new Mac
just to learn iOS
development.
Spend as little money as possible just to get started.
Launch your awesome App
and then once it makes money,
you can always upgrade!